+2008-09-24 Hans Boehm <Hans.Boehm@hp.com> (Really Ivan Maidanski)
+ * win32_threads.c (GC_pthread_join, GC_pthread_start_inner):
+ Remove unused variables.
+ * darwin_stop_world.c: Always declare GC_thr_init().
+ * dbg_mlc.c (GC_debug_free_inner): Dont touch oh_sz if
+ SHORT_DBG_HDRS is defined.
+ * include/private/gc_pmark.h (OR_WORD_EXIT_IF_SET, parallel
+ mark, USE_MARK_BITS version): Refer to correct parameter name.
+
2008-09-24 Hans Boehm <Hans.Boehm@hp.com> (Really Ivan Maidanski)
* finalize.c (GC_general_register_disappearing_link): Remove
redundant code.
return (unsigned long)frame;
}
-#ifdef DARWIN_DONT_PARSE_STACK
void GC_thr_init(void);
+#ifdef DARWIN_DONT_PARSE_STACK
+
void GC_push_all_stacks(void)
{
int i;
{
ptr_t base = GC_base(p);
GC_ASSERT((ptr_t)p - (ptr_t)base == sizeof(oh));
+# ifndef SHORT_DBG_HDRS
/* Invalidate size */
((oh *)base) -> oh_sz = GC_size(base);
+# endif
GC_free_inner(base);
}
#endif
/* For our uses, that's benign: */
# define OR_WORD_EXIT_IF_SET(addr, bits, exit_label) \
{ \
- if (!(*(addr) & (mask))) { \
- AO_or((AO_t *)(addr), (mask); \
+ if (!(*(addr) & (bits))) { \
+ AO_or((AO_t *)(addr), (bits)); \
} else { \
- goto label; \
+ goto exit_label; \
} \
}
# else
int GC_pthread_join(pthread_t pthread_id, void **retval) {
int result;
- int i;
GC_thread joinee;
# if DEBUG_CYGWIN_THREADS
DWORD thread_id = GetCurrentThreadId();
pthread_t pthread_id = pthread_self();
GC_thread me;
- GC_bool detached;
- int i;
# if DEBUG_CYGWIN_THREADS
GC_printf("thread 0x%x(0x%x) starting...\n",(int)pthread_id,