harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gshiman...@apache.org
Subject svn commit: r606707 - /harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp
Date Mon, 24 Dec 2007 15:58:53 GMT
Author: gshimansky
Date: Mon Dec 24 07:58:51 2007
New Revision: 606707

URL: http://svn.apache.org/viewvc?rev=606707&view=rev
Log:
Created a workaround for bug HARMONY-5322. There appears to be no bug, but absence of lazy
resolution confuses eclipse, so this workaround should disable JVMTI events in methods
called from within JIT compiler.


Modified:
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp?rev=606707&r1=606706&r2=606707&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp Mon Dec 24 07:58:51 2007
@@ -788,8 +788,21 @@
         compile_raise_exception("java/lang/AbstractMethodError", "", method); 
         tmn_suspend_disable(); 
         return NULL; 
-    } 
+    }
+
+    DebugUtilsTI *ti = VM_Global_State::loader_env->TI;
+#ifdef _EM64T_
+    // Workaround for bug HARMONY-5322, on x86_64 lazy resoluton is not
+    // implemented, so no Java execution should be seen from compilation
+    if (ti->isEnabled())
+        ti->doNotReportLocally();
+#endif
     JIT_Result res = compile_do_compilation(method);
+#ifdef _EM64T_
+    if (ti->isEnabled())
+        ti->reportLocally();
+#endif
+
     if (res != JIT_SUCCESS) {
         INFO2("compile", "Cannot compile " << method);
         if (!exn_raised()) {
@@ -806,7 +819,6 @@
 
     if (method->get_pending_breakpoints() != 0)
         jvmti_set_pending_breakpoints(method);
-    DebugUtilsTI *ti = VM_Global_State::loader_env->TI;
     if(ti->isEnabled() && ti->is_single_step_enabled()
         && !method->is_native())
     {



Mime
View raw message