mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* eval.c (stack_length): use __builtin_frame_address() only if
GCC and i386 CPU. * gc.c (rb_gc, Init_stack): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
08f8ab9c37
commit
c5254c68ad
4 changed files with 50 additions and 5 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
Sun Feb 11 16:00:30 2001 WATANABE Hirofumi <eban@ruby-lang.org>
|
||||||
|
|
||||||
|
* eval.c (stack_length): use __builtin_frame_address() only if
|
||||||
|
GCC and i386 CPU.
|
||||||
|
|
||||||
|
* gc.c (rb_gc, Init_stack): ditto.
|
||||||
|
|
||||||
Fri Feb 10 00:00:30 2001 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
|
Fri Feb 10 00:00:30 2001 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
|
||||||
|
|
||||||
* win32/win32.c (win32_stat): replace stat for enable when pathname
|
* win32/win32.c (win32_stat): replace stat for enable when pathname
|
||||||
|
|
21
eval.c
21
eval.c
|
@ -22,6 +22,25 @@
|
||||||
#include "st.h"
|
#include "st.h"
|
||||||
#include "dln.h"
|
#include "dln.h"
|
||||||
|
|
||||||
|
/* Make alloca work the best possible way. */
|
||||||
|
#ifdef __GNUC__
|
||||||
|
# ifndef atarist
|
||||||
|
# ifndef alloca
|
||||||
|
# define alloca __builtin_alloca
|
||||||
|
# endif
|
||||||
|
# endif /* atarist */
|
||||||
|
#else
|
||||||
|
# if defined(HAVE_ALLOCA_H)
|
||||||
|
# include <alloca.h>
|
||||||
|
# elif !defined(alloca)
|
||||||
|
char *alloca();
|
||||||
|
# endif
|
||||||
|
#endif /* __GNUC__ */
|
||||||
|
|
||||||
|
#ifdef _AIX
|
||||||
|
#pragma alloca
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_STDARG_PROTOTYPES
|
#ifdef HAVE_STDARG_PROTOTYPES
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#define va_init_list(a,b) va_start(a,b)
|
#define va_init_list(a,b) va_start(a,b)
|
||||||
|
@ -4128,7 +4147,7 @@ stack_length(p)
|
||||||
alloca(0);
|
alloca(0);
|
||||||
# define STACK_END (&stack_end)
|
# define STACK_END (&stack_end)
|
||||||
#else
|
#else
|
||||||
# if defined(__GNUC__) && !defined(__alpha__) && !defined(__APPLE__)
|
# if defined(__GNUC__) && defined(__i386__)
|
||||||
VALUE *stack_end = __builtin_frame_address(0);
|
VALUE *stack_end = __builtin_frame_address(0);
|
||||||
# else
|
# else
|
||||||
VALUE *stack_end = alloca(1);
|
VALUE *stack_end = alloca(1);
|
||||||
|
|
23
gc.c
23
gc.c
|
@ -31,6 +31,25 @@ void rb_io_fptr_finalize _((struct OpenFile*));
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Make alloca work the best possible way. */
|
||||||
|
#ifdef __GNUC__
|
||||||
|
# ifndef atarist
|
||||||
|
# ifndef alloca
|
||||||
|
# define alloca __builtin_alloca
|
||||||
|
# endif
|
||||||
|
# endif /* atarist */
|
||||||
|
#else
|
||||||
|
# if defined(HAVE_ALLOCA_H)
|
||||||
|
# include <alloca.h>
|
||||||
|
# elif !defined(alloca)
|
||||||
|
char *alloca();
|
||||||
|
# endif
|
||||||
|
#endif /* __GNUC__ */
|
||||||
|
|
||||||
|
#ifdef _AIX
|
||||||
|
#pragma alloca
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef C_ALLOCA
|
#ifdef C_ALLOCA
|
||||||
#ifndef alloca
|
#ifndef alloca
|
||||||
void *alloca();
|
void *alloca();
|
||||||
|
@ -930,7 +949,7 @@ rb_gc()
|
||||||
alloca(0);
|
alloca(0);
|
||||||
# define STACK_END (&stack_end)
|
# define STACK_END (&stack_end)
|
||||||
#else
|
#else
|
||||||
# if defined(__GNUC__) && !defined(__alpha__) && !defined(__APPLE__)
|
# if defined(__GNUC__) && defined(__i386__)
|
||||||
VALUE *stack_end = __builtin_frame_address(0);
|
VALUE *stack_end = __builtin_frame_address(0);
|
||||||
# else
|
# else
|
||||||
VALUE *stack_end = alloca(1);
|
VALUE *stack_end = alloca(1);
|
||||||
|
@ -1010,7 +1029,7 @@ Init_stack(addr)
|
||||||
#if defined(__human68k__)
|
#if defined(__human68k__)
|
||||||
extern void *_SEND;
|
extern void *_SEND;
|
||||||
rb_gc_stack_start = _SEND;
|
rb_gc_stack_start = _SEND;
|
||||||
#elif defined(__GNUC__) && !defined(__alpha__) && !defined(__APPLE__)
|
#elif defined(__GNUC__) && defined(__i386__)
|
||||||
rb_gc_stack_start = __builtin_frame_address(2);
|
rb_gc_stack_start = __builtin_frame_address(2);
|
||||||
#else
|
#else
|
||||||
VALUE start;
|
VALUE start;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#define RUBY_VERSION "1.7.0"
|
#define RUBY_VERSION "1.7.0"
|
||||||
#define RUBY_RELEASE_DATE "2001-02-09"
|
#define RUBY_RELEASE_DATE "2001-02-11"
|
||||||
#define RUBY_VERSION_CODE 170
|
#define RUBY_VERSION_CODE 170
|
||||||
#define RUBY_RELEASE_CODE 20010209
|
#define RUBY_RELEASE_CODE 20010211
|
||||||
|
|
Loading…
Add table
Reference in a new issue