harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ge...@apache.org
Subject svn commit: r446714 - /incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp
Date Fri, 15 Sep 2006 20:06:15 GMT
Author: geirm
Date: Fri Sep 15 13:06:15 2006
New Revision: 446714

URL: http://svn.apache.org/viewvc?view=rev&rev=446714
Log:
HARMONY-1416 

Method Compiler::gen_call_vm_restore() did not generate code to restore scratch registers.
The problem led to crash under some JVMTI scenarios.


Modified:
    incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp?view=diff&rev=446714&r1=446713&r2=446714
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg.cpp Fri Sep 15 13:06:15 2006
@@ -678,6 +678,8 @@
     call_va(is_set(DBG_CHECK_STACK), gr, target, cs, idx, valist);
     runlock(cs);
     // 4.
+    // Restore BBState first, so ref_counts for registers become valid
+    *m_bbstate = saveBB;
     // restore the registers state
     for (unsigned i=0; saveScratch && i<ar_num; i++) {
         AR ar = _ar(i);
@@ -696,7 +698,6 @@
     // then the memory was not corrupted.
     // So, just nothing to do with callee-save regs
     //
-    *m_bbstate = saveBB;
 }
 
 }};             // ~namespace Jitrino::Jet



Mime
View raw message