projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[corlib] Use temp directory for assemblies in SaveTest.Save() (#5727)
[mono.git]
/
libgc
/
pthread_stop_world.c
diff --git
a/libgc/pthread_stop_world.c
b/libgc/pthread_stop_world.c
index 334ff1de219a3dc0c9af66d4271706fd52f806fd..afa77dadfab52b020debb373f370f7b42c32fe21 100644
(file)
--- a/
libgc/pthread_stop_world.c
+++ b/
libgc/pthread_stop_world.c
@@
-19,10
+19,6
@@
#undef PACKAGE_VERSION
#include "mono/utils/mono-compiler.h"
#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;
#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;
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)
{
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
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);
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);
{
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, */
/* 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;
/* 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();
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
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);
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()
{
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 ();
}
pthread_start_world ();
}
@@
-773,27
+760,7
@@
static void pthread_stop_init() {
/* We hold the allocation lock. */
void GC_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 ();
}
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
#endif