summaryrefslogtreecommitdiff
path: root/thread_local_alloc.c
diff options
context:
space:
mode:
authorhboehm <hboehm>2006-05-03 00:37:20 +0000
committerIvan Maidanski <ivmai@mail.ru>2011-07-26 21:06:37 +0400
commit062b02eb5e9d94b3a754dd47b9bb0aa263ce64bc (patch)
tree6948eaad4dfd5b4098fc0fc24954926ab4beedbb /thread_local_alloc.c
parenta12588933e413d3f196c77e869b182797b47bacc (diff)
downloadbdwgc-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.c6
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);
}
}