+2010-03-05 Ivan Maidanski <ivmai@mail.ru> (really Burkhard Linke)
+
+ * os_dep.c (GC_get_stack_base): Add LOCK/UNLOCK() (since
+ GC_find_limit_with_bound() should be called with the lock held).
+ * backgraph.c (FOR_EACH_PRED): Fix a typo.
+
2010-03-05 Ivan Maidanski <ivmai@mail.ru>
* alloc.c (GC_set_stop_func, GC_get_stop_func): Add
ptr_t q = GET_OH_BG_PTR(p); \
if (!((word)q & FLAG_MANY)) { \
if (q && !((word)q & 1)) s \
- /* !((word)q & 1) checks for a misnterpreted freelist link */ \
+ /* !((word)q & 1) checks for a misinterpreted freelist link */ \
} else { \
back_edges *orig_be_ = (back_edges *)((word)q & ~FLAG_MANY); \
back_edges *be_ = orig_be_; \
# ifdef NEED_FIND_LIMIT
int dummy;
IF_CANCEL(int cancel_state;)
+ DCL_LOCK_STATE;
+
+ LOCK();
DISABLE_CANCEL(cancel_state); /* May be unnecessary? */
# ifdef STACK_GROWS_DOWN
b -> mem_base = GC_find_limit((ptr_t)(&dummy), TRUE);
b -> mem_base = GC_find_limit(&dummy, FALSE);
# endif
RESTORE_CANCEL(cancel_state);
+ UNLOCK();
return GC_SUCCESS;
# else
return GC_UNIMPLEMENTED;
& ~((word)max_page_size - 1));
word page_offset = (text_end & ((word)max_page_size - 1));
volatile char * result = (char *)(next_page + page_offset);
- /* Note that this isnt equivalent to just adding */
+ /* Note that this isn't equivalent to just adding */
/* max_page_size to &etext if &etext is at a page boundary */
GC_setup_temporary_fault_handler();