ARM: fix java.lang.Math.log10

Andrew Haley aph at redhat.com
Tue Jan 17 07:33:51 PST 2012


On 01/17/2012 02:53 PM, Andrew Haley wrote:
>> (oddity no 2)
>> > When installing vm_fatal_error as entry to handle the "java.dyn.MethodHandles::invoke" causes a signal 11
>> > I would have expected it to call report_should_not_reach_here and exit cleanly.
>> > 
>> > # A fatal error has been detected by the Java Runtime Environment:
>> > #
>> > #  Internal Error (os_linux_zero.cpp:270), pid=11232, tid=1090544752
>> > #  fatal error: caught unhandled signal 11
> I'll fix that if you can provide a test case.
> 

Fixed thusly.

Andrew.


2012-01-17  Andrew Haley  <aph at redhat.com>

	* openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S
	(vm_fatal_error): Add an extra entry point at vm_fatal_error +
	CODE_ALIGN_SIZE to allow vm_fatal_error to be used as an entry
	point in asm_method_table.

diff -r f57f03c70b52 arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S
--- a/arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S	Mon Jan 16 13:28:17 2012 -0500
+++ b/arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S	Tue Jan 17 10:32:52 2012 -0500
@@ -789,7 +789,9 @@
 1:
 	bx	lr

-// This table must be kept in sync with AbstractInterpreter::MethodKind
+// This table must be kept in sync with
+// AbstractInterpreter::MethodKind.  Note that every entry must have a
+// corresponding fast entry point at addr + CODE_ALIGN_SIZE.
 asm_method_table:
 2:
         .word   normal_entry                    // method needs locals initialization
@@ -2519,6 +2521,7 @@
 	CACHE_CP
 	DISPATCH	1

+	ALIGN_CODE
 vm_fatal_error:
 	adr	r0, .fatal_filename
 	mov	r1, #99
@@ -2526,6 +2529,13 @@
 	b	breakpoint
 .fatal_filename:
 	.ascii	"[Optimsed Assembler Interpreter Loop]\000"
+
+// This extra entry point for vm_fatal_error (at vm_fatal_error +
+// CODE_ALIGN_SIZE) allows vm_fatal_error to be used as an entry point
+// in the asm_method_table.
+	ALIGN_CODE	
+	b	vm_fatal_error
+
 	ALIGN_WORD

 	Opcode	aastore



More information about the distro-pkg-dev mailing list