changeset in /hg/icedtea: 2007-12-12 Gary Benson <gbenson at redh...

Gary Benson gbenson at redhat.com
Wed Dec 12 07:41:50 PST 2007


changeset b2f47e545447 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=b2f47e545447
description:
	2007-12-12  Gary Benson  <gbenson at redhat.com>

		* ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp
		(mpclr): New method.
		* ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp
		(mpclr): Likewise.
		* ports/hotspot/src/cpu/ppc/vm/interp_masm_ppc.cpp
		(set_last_Java_frame): Use the above.

diffstat:

4 files changed, 17 insertions(+), 1 deletion(-)
ChangeLog                                        |    9 +++++++++
ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp   |    6 ++++++
ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp   |    1 +
ports/hotspot/src/cpu/ppc/vm/interp_masm_ppc.cpp |    2 +-

diffs (55 lines):

diff -r f34b275e76cd -r b2f47e545447 ChangeLog
--- a/ChangeLog	Wed Dec 12 09:10:13 2007 -0500
+++ b/ChangeLog	Wed Dec 12 10:41:44 2007 -0500
@@ -1,3 +1,12 @@ 2007-12-12  Lillian Angel  <langel at redha
+2007-12-12  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp
+	(mpclr): New method.
+	* ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp
+	(mpclr): Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/interp_masm_ppc.cpp
+	(set_last_Java_frame): Use the above.
+
 2007-12-12  Lillian Angel  <langel at redhat.com>
 
 	* Makefile.am
diff -r f34b275e76cd -r b2f47e545447 ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp
--- a/ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp	Wed Dec 12 09:10:13 2007 -0500
+++ b/ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp	Wed Dec 12 10:41:44 2007 -0500
@@ -971,6 +971,12 @@ void MacroAssembler::lwax(Register dst, 
   extsw(dst, dst);
 #endif
 }
+void MacroAssembler::mpclr()
+{
+  // move pc to lr
+  // 20, 31 is a magic branch that preserves the link stack
+  bcl(20, 31, pc() + 4);
+}
 
 // Operations which are different on PPC32/64
 
diff -r f34b275e76cd -r b2f47e545447 ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp
--- a/ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp	Wed Dec 12 09:10:13 2007 -0500
+++ b/ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp	Wed Dec 12 10:41:44 2007 -0500
@@ -375,6 +375,7 @@ class MacroAssembler : public Assembler 
   void lhax(Register dst, Register a, Register b);
   void lwa(Register dst, const Address& src);
   void lwax(Register dst, Register a, Register b);
+  void mpclr();
 
   // Operations which are different on PPC32/64
   void call(address addr);
diff -r f34b275e76cd -r b2f47e545447 ports/hotspot/src/cpu/ppc/vm/interp_masm_ppc.cpp
--- a/ports/hotspot/src/cpu/ppc/vm/interp_masm_ppc.cpp	Wed Dec 12 09:10:13 2007 -0500
+++ b/ports/hotspot/src/cpu/ppc/vm/interp_masm_ppc.cpp	Wed Dec 12 10:41:44 2007 -0500
@@ -65,7 +65,7 @@ void InterpreterMacroAssembler::set_last
   if (lr_save->is_valid())
     mflr(lr_save);
 
-  bcl(20, 31, pc() + 4);  // magic branch that preserves the link stack
+  mpclr();
   mflr(r0);
   store(r0, Address(Rthread, JavaThread::last_Java_pc_offset()));
   store(r1, Address(Rthread, JavaThread::last_Java_sp_offset()));



More information about the distro-pkg-dev mailing list