/hg/icedtea7-forest/hotspot: Several bug fixes to get eclipse wo...
enevill at icedtea.classpath.org
enevill at icedtea.classpath.org
Mon Mar 2 16:02:23 UTC 2015
changeset 6697df06cb20 in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=6697df06cb20
author: Edward Nevill <ed at camswl.com>
date: Fri Feb 27 09:59:29 2015 +0000
Several bug fixes to get eclipse working
diffstat:
src/cpu/zero/vm/arm32JIT.cpp | 2 +-
src/cpu/zero/vm/asm_helper.cpp | 1 +
src/cpu/zero/vm/cppInterpreter_arm.S | 26 ++++++++++++++++----------
3 files changed, 18 insertions(+), 11 deletions(-)
diffs (148 lines):
diff -r 4fdaf786d977 -r 6697df06cb20 src/cpu/zero/vm/arm32JIT.cpp
--- a/src/cpu/zero/vm/arm32JIT.cpp Mon Feb 16 16:05:34 2015 +0000
+++ b/src/cpu/zero/vm/arm32JIT.cpp Fri Feb 27 09:59:29 2015 +0000
@@ -3540,7 +3540,7 @@
loc >>= 2;
offset = dest - loc;
uoff = offset;
- if (offset >= -(1<<22) && offset < (1<<22))
+ if (offset >= -(1<<23) && offset < (1<<23))
return out_32(codebuf, A_BL(cond, uoff));
}
J_Unimplemented();
diff -r 4fdaf786d977 -r 6697df06cb20 src/cpu/zero/vm/asm_helper.cpp
--- a/src/cpu/zero/vm/asm_helper.cpp Mon Feb 16 16:05:34 2015 +0000
+++ b/src/cpu/zero/vm/asm_helper.cpp Fri Feb 27 09:59:29 2015 +0000
@@ -716,6 +716,7 @@
print_def("class_fully_initialized", instanceKlass::fully_initialized);
print_def("class_init_error", instanceKlass::initialization_error);
nl();
+ print_def("flag_is_forced_virtual", 1 << ConstantPoolCacheEntry::is_forced_virtual_shift);
print_def("flag_methodInterface", 1 << ConstantPoolCacheEntry::has_method_type_shift);
print_def("flag_volatileField", 1 << ConstantPoolCacheEntry::is_volatile_shift);
print_def("flag_vfinalMethod", 1 << ConstantPoolCacheEntry::is_vfinal_shift);
diff -r 4fdaf786d977 -r 6697df06cb20 src/cpu/zero/vm/cppInterpreter_arm.S
--- a/src/cpu/zero/vm/cppInterpreter_arm.S Mon Feb 16 16:05:34 2015 +0000
+++ b/src/cpu/zero/vm/cppInterpreter_arm.S Fri Feb 27 09:59:29 2015 +0000
@@ -573,9 +573,11 @@
ldrb r1, [jpc, lr]
bic ip, ip, #7
ldr pc, [ip, r1, lsl #2]
+ .set dispatch_state, 0
.endm
.macro DISPATCH step=0
+@ TRACE
ldrb r0, [jpc, #\step]!
@ ldrb r1, [jpc, #2]
ldr ip, [dispatch, r0, lsl #2]
@@ -1802,8 +1804,8 @@
Opcode if_acmpeq
POP r2, r3
ldrsb r1, [jpc, #1]
+ cmp r3, r2
ldrb r2, [jpc, #2]
- cmp r3, r2
beq branch_taken
DISPATCH 3
@@ -1811,40 +1813,40 @@
Opcode if_acmpne
POP r2, r3
ldrsb r1, [jpc, #1]
+ cmp r3, r2
ldrb r2, [jpc, #2]
- cmp r3, r2
bne branch_taken
DISPATCH 3
Opcode if_icmplt
POP r2, r3
ldrsb r1, [jpc, #1]
+ cmp r3, r2
ldrb r2, [jpc, #2]
- cmp r3, r2
blt branch_taken
DISPATCH 3
Opcode if_icmpge
POP r2, r3
ldrsb r1, [jpc, #1]
+ cmp r3, r2
ldrb r2, [jpc, #2]
- cmp r3, r2
bge branch_taken
DISPATCH 3
Opcode if_icmpgt
POP r2, r3
ldrsb r1, [jpc, #1]
+ cmp r3, r2
ldrb r2, [jpc, #2]
- cmp r3, r2
bgt branch_taken
DISPATCH 3
Opcode if_icmple
POP r2, r3
ldrsb r1, [jpc, #1]
+ cmp r3, r2
ldrb r2, [jpc, #2]
- cmp r3, r2
ble branch_taken
DISPATCH 3
@@ -2828,7 +2830,7 @@
SW_NPC beq null_ptr_exception
.abortentry110:
ldr tmp1, [r2, #4] @ rcvr->klass()
- tst r3, #flag_methodInterface
+ tst r3, #flag_is_forced_virtual
bne .invokeinterface_methodInterface
ldr lr, [r0, #CP_OFFSET+4] @ lr = iclass
@@ -3014,6 +3016,7 @@
bl _ZN14CppInterpreter19method_handle_entryEP13methodOopDesciP6Thread
ldmia sp!, {regset, pc}
+#ifdef FAST_BYTECODES
// Common code for fast_aldc and fast_aldc_w
# r0 = constpool cache entry
.macro aldc opc, seq_len
@@ -3060,7 +3063,6 @@
add r0, constpool, r1, lsl #4
aldc opc_fast_aldc_w, 3
-#ifdef FAST_BYTECODES
# r2 = [jpc, #1]
# r1 = [jpc, #2]
Opcode invokevfinal
@@ -3444,7 +3446,7 @@
ldr r2, [thread, #THREAD_TOP_ZERO_FRAME]
str r3, [thread, #THREAD_LAST_JAVA_SP]
- str r3, [thread, #THREAD_LAST_JAVA_FP]
+@ str r3, [thread, #THREAD_LAST_JAVA_FP]
ldr r0, [istate, #ISTATE_METHOD]
ldr r3, [r2, #0]
ldrh r0, [r0, #METHOD_MAXLOCALS]
@@ -5381,7 +5383,7 @@
cmp r2, #0
beq istub_null_ptr_exception
ldr tmp1, [r2, #4] @ rcvr->klass()
- tst r3, #flag_methodInterface
+ tst r3, #flag_is_forced_virtual
bne istub_methodInterface
ldr lr, [r0, #CP_OFFSET+4] @ lr = iclass
@@ -6714,6 +6716,10 @@
#endif // T2JIT
+ // Ensure that any literals generated in the stubs are output here
+ // as this code is copied to the bottom of the code buffer
+ .ltorg
+
.global Thumb2_stubs_end
.type Thumb2_stubs_end, %function
Thumb2_stubs_end:
More information about the distro-pkg-dev
mailing list