Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / libgc / pthread_stop_world.c
index 334ff1de219a3dc0c9af66d4271706fd52f806fd..afa77dadfab52b020debb373f370f7b42c32fe21 100644 (file)
 #undef PACKAGE_VERSION
 #include "mono/utils/mono-compiler.h"
 
-#ifdef MONO_DEBUGGER_SUPPORTED
-#include "include/libgc-mono-debugger.h"
-#endif
-
 #ifdef NACL
 volatile int __nacl_thread_suspension_needed = 0;
 pthread_t nacl_thread_parker = -1;
@@ -341,7 +337,7 @@ void GC_push_all_stacks()
 pthread_t GC_stopping_thread;
 int GC_stopping_pid;
 
-#ifdef PLATFORM_ANDROID
+#ifdef HOST_ANDROID
 static
 int android_thread_kill(pid_t tid, int sig)
 {
@@ -383,7 +379,7 @@ int GC_suspend_all()
              GC_printf1("Sending suspend signal to 0x%lx\n", p -> id);
            #endif
 
-#ifndef PLATFORM_ANDROID
+#ifndef HOST_ANDROID
         result = pthread_kill(p -> id, SIG_SUSPEND);
 #else
         result = android_thread_kill(p -> kernel_id, SIG_SUSPEND);
@@ -615,6 +611,7 @@ void GC_stop_world()
 {
     if (GC_notify_event)
         GC_notify_event (GC_EVENT_PRE_STOP_WORLD);
+       GC_process_togglerefs ();
     /* Make sure all free list construction has stopped before we start. */
     /* No new construction can start, since free list construction is  */
     /* required to acquire and release the GC lock before it starts,   */
@@ -625,11 +622,6 @@ void GC_stop_world()
       /* We should have previously waited for it to become zero. */
 #   endif /* PARALLEL_MARK */
     ++GC_stop_count;
-#ifdef MONO_DEBUGGER_SUPPORTED
-    if (gc_thread_vtable && gc_thread_vtable->stop_world)
-       gc_thread_vtable->stop_world ();
-    else
-#endif
        pthread_stop_world ();
 #   ifdef PARALLEL_MARK
       GC_release_mark_lock();
@@ -666,7 +658,7 @@ static void pthread_start_world()
              GC_printf1("Sending restart signal to 0x%lx\n", p -> id);
            #endif
 
-#ifndef PLATFORM_ANDROID
+#ifndef HOST_ANDROID
         result = pthread_kill(p -> id, SIG_THR_RESTART);
 #else
         result = android_thread_kill(p -> kernel_id, SIG_THR_RESTART);
@@ -717,11 +709,6 @@ static void pthread_start_world()
 
 void GC_start_world()
 {
-#ifdef MONO_DEBUGGER_SUPPORTED
-    if (gc_thread_vtable && gc_thread_vtable->start_world)
-       gc_thread_vtable->start_world();
-    else
-#endif
        pthread_start_world ();
 }
 
@@ -773,27 +760,7 @@ static void pthread_stop_init() {
 /* We hold the allocation lock.        */
 void GC_stop_init()
 {
-#ifdef MONO_DEBUGGER_SUPPORTED
-    if (gc_thread_vtable && gc_thread_vtable->initialize)
-       gc_thread_vtable->initialize ();
-    else
-#endif
        pthread_stop_init ();
 }
 
-#ifdef MONO_DEBUGGER_SUPPORTED
-
-GCThreadFunctions *gc_thread_vtable = NULL;
-
-void *
-GC_mono_debugger_get_stack_ptr (void)
-{
-       GC_thread me;
-
-       me = GC_lookup_thread (pthread_self ());
-       return &me->stop_info.stack_ptr;
-}
-
-#endif
-
 #endif