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);
 }