internal->apartment_state=ThreadApartmentState_Unknown;
internal->thread_pinning_ref = internal;
internal->managed_id = get_next_managed_thread_id ();
- MONO_GC_REGISTER_ROOT (internal->thread_pinning_ref);
+ MONO_GC_REGISTER_ROOT_PINNING (internal->thread_pinning_ref);
internal->synch_cs = g_new0 (CRITICAL_SECTION, 1);
InitializeCriticalSection (internal->synch_cs);
thread->apartment_state=ThreadApartmentState_Unknown;
thread->thread_pinning_ref = thread;
thread->managed_id = get_next_managed_thread_id ();
- MONO_GC_REGISTER_ROOT (thread->thread_pinning_ref);
+ MONO_GC_REGISTER_ROOT_PINNING (thread->thread_pinning_ref);
thread->stack_ptr = &tid;
internal->handle=thread;
internal->tid=tid;
internal->thread_pinning_ref = internal;
- MONO_GC_REGISTER_ROOT (internal->thread_pinning_ref);
+ MONO_GC_REGISTER_ROOT_PINNING (internal->thread_pinning_ref);
/* Don't call handle_store() here, delay it to Start.
offset &= 0xffffff;
offset /= sizeof (gpointer);
/* offset is now the bitmap offset */
- for (i = 0; i < max_set; ++i) {
+ for (i = 0; i <= max_set; ++i) {
if (bitmap [i / sizeof (uintptr_t)] & (1L << (i & (sizeof (uintptr_t) * 8 -1))))
rb [(offset + i) / (sizeof (uintptr_t) * 8)] |= (1L << ((offset + i) & (sizeof (uintptr_t) * 8 -1)));
}