diff options
author | hboehm <hboehm> | 2006-05-03 00:37:20 +0000 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2011-07-26 21:06:37 +0400 |
commit | 062b02eb5e9d94b3a754dd47b9bb0aa263ce64bc (patch) | |
tree | 6948eaad4dfd5b4098fc0fc24954926ab4beedbb /thread_local_alloc.c | |
parent | a12588933e413d3f196c77e869b182797b47bacc (diff) | |
download | bdwgc-062b02eb5e9d94b3a754dd47b9bb0aa263ce64bc.tar.gz |
2006-05-02 Hans Boehm <Hans.Boehm@hp.com>
* include/private/gc_locks.h: Add I_DONT_HOLD_LOCK.
* dbg_mlc.c: Use I_DONT_HOLD_LOCK instead of !I_HOLD_LOCK.
* thread_local_alloc: Reference ERROR_FL only when defined.
* os_dep.c: comment out unused and incorrect syscall wrapper code.
Diffstat (limited to 'thread_local_alloc.c')
-rw-r--r-- | thread_local_alloc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/thread_local_alloc.c b/thread_local_alloc.c index e44cf71f..40491cb1 100644 --- a/thread_local_alloc.c +++ b/thread_local_alloc.c @@ -35,7 +35,6 @@ static void return_single_freelist(void *fl, void **gfl) { void *q, **qptr; - if (fl == ERROR_FL) return; if (*gfl == 0) { *gfl = fl; } else { @@ -65,7 +64,10 @@ static void return_freelists(void **fl, void **gfl) fl[i] = (ptr_t)HBLKSIZE; } /* The 0 granule freelist really contains 1 granule objects. */ - if ((word)(fl[0]) >= HBLKSIZE && fl[0] != ERROR_FL) { +# ifdef GC_GCJ_SUPPORT + if (fl[0] == ERROR_FL) return; +# endif + if ((word)(fl[0]) >= HBLKSIZE) { return_single_freelist(fl[0], gfl+1); } } |