ctx->__ss = *arch_state;
}
+void
+mono_mach_arch_mcontext_to_thread_state (mcontext_t context, thread_state_t state)
+{
+ x86_thread_state64_t *arch_state = (x86_thread_state64_t *) state;
+ struct __darwin_mcontex64 *ctx = (struct __darwin_mcontex64 *) context;
+
+ *arch_state = ctx->__ss;
+}
+
int
mono_mach_arch_get_thread_state_size ()
{
return ret;
}
+kern_return_t
+mono_mach_arch_set_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t count)
+{
+ return thread_set_state (thread, x86_THREAD_STATE64, state, count);
+}
+
void *
mono_mach_arch_get_tls_value_from_thread (pthread_t thread, guint32 key)
{
ctx->__ss = *arch_state;
}
+void
+mono_mach_arch_mcontext_to_thread_state (mcontext_t context, thread_state_t state)
+{
+ arm_thread_state_t *arch_state = (arm_thread_state_t *) state;
+ struct __darwin_mcontext *ctx = (struct __darwin_mcontext *) context;
+
+ *arch_state = ctx->__ss;
+}
+
int
mono_mach_arch_get_thread_state_size ()
{
return ret;
}
+kern_return_t
+mono_mach_arch_set_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t count)
+{
+ return thread_set_state (thread, ARM_THREAD_STATE_COUNT, state, count);
+}
+
void *
mono_mach_arch_get_tls_value_from_thread (pthread_t thread, guint32 key)
{
ctx->__ss = *arch_state;
}
+void
+mono_mach_arch_mcontext_to_thread_state (mcontext_t context, thread_state_t state)
+{
+ x86_thread_state32_t *arch_state = (x86_thread_state32_t *) state;
+ struct __darwin_mcontext32 *ctx = (struct __darwin_mcontext32 *) context;
+
+ *arch_state = ctx->__ss;
+}
+
int
mono_mach_arch_get_thread_state_size ()
{
return ret;
}
+kern_return_t
+mono_mach_arch_set_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t count)
+{
+ return thread_set_state (thread, x86_THREAD_STATE32, state, count);
+}
+
void *
mono_mach_arch_get_tls_value_from_thread (pthread_t thread, guint32 key)
{
int mono_mach_arch_get_mcontext_size (void) MONO_INTERNAL;
void mono_mach_arch_thread_state_to_mcontext (thread_state_t state, mcontext_t context) MONO_INTERNAL;
+void mono_mach_arch_mcontext_to_thread_state (mcontext_t context, thread_state_t state) MONO_INTERNAL;
int mono_mach_arch_get_thread_state_size (void) MONO_INTERNAL;
kern_return_t mono_mach_get_threads (thread_act_array_t *threads, guint32 *count) MONO_INTERNAL;
kern_return_t mono_mach_free_threads (thread_act_array_t threads, guint32 count) MONO_INTERNAL;
kern_return_t mono_mach_arch_get_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t *count) MONO_INTERNAL;
+kern_return_t mono_mach_arch_set_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t count) MONO_INTERNAL;
void *mono_mach_arch_get_tls_value_from_thread (pthread_t thread, guint32 key) MONO_INTERNAL;
#endif