This commit was generated by cvs2svn to compensate for changes in r33746,

which included commits to RCS files with non-trunk default branches.

From-SVN: r33747
This commit is contained in:
Bryce McKinlay 2000-05-07 00:59:01 +01:00
parent 5a3c491c8e
commit 179977c13a
4 changed files with 21 additions and 8 deletions

View File

@ -282,4 +282,8 @@ DCL_LOCK_STATE;
return((GC_PTR) op);
}
#else
char GC_no_gcj_support;
#endif /* GC_GCJ_SUPPORT */

View File

@ -255,12 +255,12 @@ inline gc_cleanup::gc_cleanup() {
GC_finalization_proc oldProc;
void* oldData;
void* base = GC_base( (void *) this );
if (0 == base) return;
GC_REGISTER_FINALIZER_IGNORE_SELF(
base, cleanup, (void*) ((char*) this - (char*) base),
if (0 != base) {
GC_REGISTER_FINALIZER_IGNORE_SELF(
base, (GC_finalization_proc)cleanup, (void*) ((char*) this - (char*) base),
&oldProc, &oldData );
if (0 != oldProc) {
GC_REGISTER_FINALIZER_IGNORE_SELF( base, oldProc, oldData, 0, 0 );}}
if (0 != oldProc) {
GC_REGISTER_FINALIZER_IGNORE_SELF( base, oldProc, oldData, 0, 0 );}}}
inline void* operator new(
size_t size,

View File

@ -1405,7 +1405,7 @@ extern GC_bool GC_objects_are_marked; /* There are marked objects in */
extern GC_bool GC_incremental;
/* Using incremental/generational collection. */
#else
# define GC_incremental TRUE
# define GC_incremental FALSE
/* Hopefully allow optimizer to remove some code. */
#endif

View File

@ -386,6 +386,11 @@
* to the nearest plausible page boundary, and use that instead
* of STACKBOTTOM.
*
* Gustavo Rodriguez-Rivera points out that on most (all?) Unix machines,
* the value of environ is a pointer that can serve as STACKBOTTOM.
* I expect that HEURISTIC2 can be replaced by this approach, which
* interferes far less with debugging.
*
* If no expression for STACKBOTTOM can be found, and neither of the above
* heuristics are usable, the collector can still be used with all of the above
* undefined, provided one of the following is done:
@ -553,6 +558,7 @@
/* This was 2, but that didn't sound right. */
# define OS_TYPE "LINUX"
# define HEURISTIC1
# define DYNAMIC_LOADING
# undef STACK_GRAN
# define STACK_GRAN 0x10000000
/* Stack usually starts at 0x80000000 */
@ -990,7 +996,11 @@
/* this.) */
# define STACKBOTTOM ((ptr_t) 0x7b033000) /* from /etc/conf/h/param.h */
# else
# define HEURISTIC2
/* Gustavo Rodriguez-Rivera suggested changing HEURISTIC2 */
/* to this. We'll probably do this on other platforms, too. */
/* For now I'll use it where I can test it. */
extern char ** environ;
# define STACKBOTTOM ((ptr_t)environ)
# endif
# define STACK_GROWS_UP
# define DYNAMIC_LOADING
@ -1076,7 +1086,6 @@
/* Requires Linux 2.3.47 or later. */
extern int _end;
# define DATAEND (&_end)
/* PREFETCH appears to have a large performance impact. */
# define PREFETCH(x) \
__asm__ (" lfetch [%0]": : "r"((void *)(x)))
# define PREFETCH_FOR_WRITE(x) \