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 2006/11/27 23:33:00 UTC
svn commit: r479789 -
/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/native_stack.cpp
Author: gshimansky
Date: Mon Nov 27 14:32:59 2006
New Revision: 479789
URL: http://svn.apache.org/viewvc?view=rev&rev=479789
Log:
Applied HARMONY-2324 [drlvm] Native stack contains wrong frame
Tests passed on windows xp, ubuntu and suse 10 x86_64
Modified:
harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/native_stack.cpp
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/native_stack.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/native_stack.cpp?view=diff&rev=479789&r1=479788&r2=479789
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/native_stack.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/native_stack.cpp Mon Nov 27 14:32:59 2006
@@ -229,14 +229,17 @@
{ // Native stub, previous frame is Java frame
assert(si_is_native(si));
- // Mark first frame (JNI stub) as Java frame
- if (frame_array && frame_count == 1)
- frame_array[frame_count - 1].java_depth = java_depth;
+ if (si_get_method(si)) // Frame represents JNI frame
+ {
+ // Mark first frame (JNI stub) as Java frame
+ if (frame_array && frame_count == 1)
+ frame_array[frame_count - 1].java_depth = java_depth;
- if (frame_array && frame_count > 1)
- frame_array[frame_count - 2].java_depth = java_depth;
+ if (frame_array && frame_count > 1)
+ frame_array[frame_count - 2].java_depth = java_depth;
- ++java_depth;
+ ++java_depth;
+ }
// Ge to previous stack frame from StackIterator
si_goto_previous(si);