function.
* src/vm/jit/powerpc/darwin/md-asm.h (asm_handle_nullptr_exception):
Removed.
(asm_abstractmethoderror): Added.
(exceptions_asm_new_abstractmethoderror): Likewise.
* src/vm/jit/powerpc/asmpart.S
(L_exceptions_asm_new_abstractmethoderror$stub): Added.
Changes: Christian Thalinger
Edwin Steiner
- $Id: asmpart.S 5060 2006-06-28 21:52:26Z twisti $
+ $Id: asmpart.S 5074 2006-07-04 16:05:35Z twisti $
*/
.long dyld_stub_binding_helper
+.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
+ .align 2
+L_exceptions_asm_new_abstractmethoderror$stub:
+ .indirect_symbol _exceptions_asm_new_abstractmethoderror
+ mflr r0
+ bcl 20,31,L00$_exceptions_asm_new_abstractmethoderror
+L00$_exceptions_asm_new_abstractmethoderror:
+ mflr r11
+ addis r11,r11,ha16(L_exceptions_asm_new_abstractmethoderror$lazy_ptr - L00$_exceptions_asm_new_abstractmethoderror)
+ mtlr r0
+ lwzu r12,lo16(L_exceptions_asm_new_abstractmethoderror$lazy_ptr - L00$_exceptions_asm_new_abstractmethoderror)(r11)
+ mtctr r12
+ bctr
+.data
+.lazy_symbol_pointer
+L_exceptions_asm_new_abstractmethoderror$lazy_ptr:
+ .indirect_symbol _exceptions_asm_new_abstractmethoderror
+ .long dyld_stub_binding_helper
+
+
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L_replace_me$stub:
Changes:
- $Id: md-asm.h 4921 2006-05-15 14:24:36Z twisti $
+ $Id: md-asm.h 5074 2006-07-04 16:05:35Z twisti $
*/
#define asm_handle_nat_exception _asm_handle_nat_exception
#define asm_handle_exception _asm_handle_exception
-#define asm_handle_nullptr_exception _asm_handle_nullptr_exception
+
+#define asm_abstractmethoderror _asm_abstractmethoderror
+
#define asm_wrapper_patcher _asm_wrapper_patcher
+
#define asm_replacement_out _asm_replacement_out
#define asm_replacement_in _asm_replacement_in
#define builtin_throw_exception L_builtin_throw_exception$stub
#define exceptions_handle_exception L_exceptions_handle_exception$stub
#define jit_asm_compile L_jit_asm_compile$stub
+
+#define exceptions_asm_new_abstractmethoderror \
+ L_exceptions_asm_new_abstractmethoderror$stub
+
#define replace_me L_replace_me$stub
#define stacktrace_create_extern_stackframeinfo \
Changes:
- $Id: md-os.c 4966 2006-05-26 12:58:40Z twisti $
+ $Id: md-os.c 5074 2006-07-04 16:05:35Z twisti $
*/
}
+/* md_signal_handler_sigusr2 ***************************************************
+
+ Signal handler for profiling sampling.
+
+*******************************************************************************/
+
+void md_signal_handler_sigusr2(int sig, siginfo_t *siginfo, void *_p)
+{
+ threadobject *t;
+ ucontext_t *_uc;
+ mcontext_t _mc;
+ ppc_thread_state_t *_ss;
+ u1 *pc;
+
+ t = THREADOBJECT;
+
+ _uc = (ucontext_t *) _p;
+ _mc = _uc->uc_mcontext;
+ _ss = &_mc->ss;
+
+ pc = (u1 *) _ss->srr0;
+
+ t->pc = pc;
+}
+
+
#if defined(ENABLE_THREADS)
void thread_restartcriticalsection(ucontext_t *_uc)
{