changeset 348:be4f18fe7da6

2007-11-13 Gary Benson <gbenson@redhat.com> * ports/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp (generate_native_entry): Removed an extraneous call to InterpreterRuntime::prepare_native_call().
author Gary Benson <gbenson@redhat.com>
date Tue, 13 Nov 2007 06:48:38 -0500
parents a82c7471e590
children 55e5e7e59cb7
files ChangeLog ports/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp
diffstat 2 files changed, 18 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Nov 12 15:30:32 2007 -0500
+++ b/ChangeLog	Tue Nov 13 06:48:38 2007 -0500
@@ -1,3 +1,9 @@
+2007-11-13  Gary Benson  <gbenson@redhat.com>
+
+	* ports/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp
+	(generate_native_entry): Removed an extraneous call to
+	InterpreterRuntime::prepare_native_call().
+
 2007-11-12  Lillian Angel  <langel@redhat.com>
 
 	* Makefile.am: Fixed tools.jar and rt.jar to include all directories
--- a/ports/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp	Mon Nov 12 15:30:32 2007 -0500
+++ b/ports/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp	Tue Nov 13 06:48:38 2007 -0500
@@ -539,16 +539,18 @@
   Label got_function;
 
   __ load (function, native_function_addr);
-  __ compare (function, 0);
-  __ bne (got_function);
-  __ mr (r3, Rthread);
-  __ mr (r4, Rmethod);
-  __ call (CAST_FROM_FN_PTR(address, InterpreterRuntime::prepare_native_call));
-  __ load (r0, Address(Rthread, Thread::pending_exception_offset()));
-  __ compare (r0, 0);
-  __ bne (return_to_caller);
-  __ load (function, native_function_addr);
-  __ bind (got_function);
+#ifdef ASSERT
+  {
+    // InterpreterRuntime::prepare_native_call() sets the mirror
+    // handle and native function address first and the signature
+    // handler last, so function should always be set here.
+    Label ok;
+    __ compare (function, 0);
+    __ bne (ok);
+    __ should_not_reach_here (__FILE__, __LINE__);
+    __ bind (ok);
+  }
+#endif
 
   // Call signature handler
   __ mtlr (handler);