You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by gs...@apache.org on 2007/10/17 19:06:55 UTC
svn commit: r585577 - in /harmony/enhanced/drlvm/trunk/vm:
port/src/lil/em64t/pim/stack_iterator_em64t.cpp
vmcore/src/exception/exceptions_jit.cpp
Author: gshimansky
Date: Wed Oct 17 10:06:47 2007
New Revision: 585577
URL: http://svn.apache.org/viewvc?rev=585577&view=rev
Log:
Add support for ExceptionCatch event on x86_64
Modified:
harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp
harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp
Modified: harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp?rev=585577&r1=585576&r2=585577&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp Wed Oct 17 10:06:47 2007
@@ -446,6 +446,11 @@
return si->m2n_frame;
}
+void** si_get_return_pointer(StackIterator* si)
+{
+ return (void**)si->jit_frame_context.p_rax;
+}
+
void si_set_return_pointer(StackIterator * si, void ** return_value) {
// TODO: check if it is needed to dereference return_value
si->jit_frame_context.p_rax = (uint64 *)return_value;
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp?rev=585577&r1=585576&r2=585577&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp Wed Oct 17 10:06:47 2007
@@ -672,16 +672,9 @@
Method* catch_method = catch_cci->get_method();
NativeCodePtr catch_method_location = si_get_ip(si);
JIT* catch_method_jit = catch_cci->get_jit();
-#ifndef _EM64T_
- //
- // FIXME: implement si_get_return_pointer() for EM64T
- //
ManagedObject** exn_obj = (ManagedObject**) si_get_return_pointer(si);
*exn_obj = jvmti_jit_exception_catch_event_callback_call( *exn_obj,
catch_method_jit, catch_method, catch_method_location);
-#else
- assert(0);
-#endif
}
si_transfer_control(si);
}