ARM interpreter bug fixes
Edward Nevill
ed at camswl.com
Thu Oct 8 03:27:51 PDT 2009
Hi folks,
Two bug fixes here,
1) irem of negative number returns positive.
This was introduced in my last checkin. The new dispatch code corrupted the
flags inc. the N flags so irem didn't handle -ve nos.
2) icedtea-debug build fails.
The ARM assembler still does not build for icedtea-debug, however at least
with this patch it will not fall over in the test_gamma, instead it builds
a C only vsn.
Changelog to follow
Regards,
Ed.
--- CUT HERE -------------------------------------------------------------
diff -ruNE orig/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S
--- orig/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2009-10-08 10:49:32.000000000 +0100
+++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2009-10-08 11:13:38.000000000 +0100
@@ -1058,7 +1058,7 @@
asm_generate_method_entry:
mov r3, r0
mov r0, #0
-
+#ifdef PRODUCT
adrl ip, dispatch_init_adcon
ldm ip, {r1, r2}
add r1, r1, ip
@@ -1085,6 +1085,7 @@
adrcc ip, asm_method_table
ldrcc r0, [ip, r3, lsl #2]
1:
+#endif // PRODUCT
bx lr
asm_method_table:
.word normal_entry
@@ -2162,8 +2163,8 @@
bne .r_loop2
movs lr, lr, lsl #1
DISPATCH_NEXT
- DISPATCH_NEXT
rsbmi tmp1, tmp1, #0
+ DISPATCH_NEXT
PUSH tmp1
DISPATCH_FINISH
More information about the distro-pkg-dev
mailing list