changeset in /hg/icedtea6: 2008-07-23 Gary Benson <gbenson@red...

View: New views
1 Messages — Rating Filter:   Alert me  

changeset in /hg/icedtea6: 2008-07-23 Gary Benson <gbenson@red...

by Gary Benson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

changeset 35e24a6f636f in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=35e24a6f636f
description:
        2008-07-23  Gary Benson  <gbenson@...>

                PR icedtea/167:
                * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
                (normal_entry): Don't use stack depth at method exit to
                calculate the result to return.

diffstat:

2 files changed, 9 insertions(+), 2 deletions(-)
ChangeLog                                             |    7 +++++++
ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp |    4 ++--

diffs (29 lines):

diff -r 30aed052fabd -r 35e24a6f636f ChangeLog
--- a/ChangeLog Mon Jul 21 22:48:18 2008 +0200
+++ b/ChangeLog Wed Jul 23 03:46:38 2008 -0400
@@ -1,3 +1,10 @@ 2008-07-21  Matthias Klose  <doko@ubuntu
+2008-07-23  Gary Benson  <gbenson@...>
+
+ PR icedtea/167:
+ * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
+ (normal_entry): Don't use stack depth at method exit to
+ calculate the result to return.
+
 2008-07-21  Matthias Klose  <doko@...>
 
  * Update patches/icedtea-hotspot-6b11-7b24.patch.
diff -r 30aed052fabd -r 35e24a6f636f ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
--- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Mon Jul 21 22:48:18 2008 +0200
+++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Jul 23 03:46:38 2008 -0400
@@ -125,9 +125,9 @@ void CppInterpreter::normal_entry(method
     }
     else if (istate->msg() == BytecodeInterpreter::return_from_method) {
       // Copy the result into the caller's frame
-      result = istate->stack_base() - 1;
-      result_slots = result - istate->stack();
+      result_slots = type2size[method->result_type()];
       assert(result_slots >= 0 && result_slots <= 2, "what?");
+      result = istate->stack() + result_slots;
       break;
     }
     else if (istate->msg() == BytecodeInterpreter::throwing_exception) {
LightInTheBox - Buy quality products at wholesale price