harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ge...@apache.org
Subject svn commit: r453701 - in /incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil: em64t/pim/stack_iterator_em64t.cpp ia32/pim/stack_iterator_ia32.cpp
Date Fri, 06 Oct 2006 17:39:11 GMT
Author: geirm
Date: Fri Oct  6 10:39:10 2006
New Revision: 453701

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

When trying to unwind Java frame previously suspended with push_suspended_frame, si_goto_previous
unwinds it 
incorrectly because is_ip_past is always set to true in vm_methods->find() call.

It prevents from correct Java stack iteration. 

Ubuntu 6 - smoke, c-unit, ~kernel


Modified:
    incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp?view=diff&rev=453701&r1=453700&r2=453701
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp
Fri Oct  6 10:39:10 2006
@@ -257,7 +257,7 @@
         si->cci->get_jit()->unwind_stack_frame(si->cci->get_method(), si_get_jit_context(si));
         si->jit_frame_context.is_ip_past = TRUE;
     }
-    si->cci = vm_methods->find(si_get_ip(si), true);
+    si->cci = vm_methods->find(si_get_ip(si), si_get_jit_context(si)->is_ip_past);
 #ifndef NDEBUG
     if (si_is_native(si)) {
         TRACE2("si", "si_goto_previous to ip = " << (void*)si_get_ip(si)

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp?view=diff&rev=453701&r1=453700&r2=453701
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp
Fri Oct  6 10:39:10 2006
@@ -316,7 +316,7 @@
         if (!si->m2nfl) return;
         si_unwind_from_m2n(si, over_popped);
     }
-    si->cci = vm_methods->find(si_get_ip(si), true);
+    si->cci = vm_methods->find(si_get_ip(si), si_get_jit_context(si)->is_ip_past);
     if (si->cci) {
         TRACE2("si", ("si_goto_previous to ip = %p (%s%s)",
             (void*)si_get_ip(si),



Mime
View raw message