Request to commit: HS16 + OSR changes for ARM
Xerxes Rånby
xerxes at zafena.se
Thu Nov 5 01:27:13 PST 2009
Xerxes Rånby skrev:
> Edward Nevill skrev:
>
>> Hi Folks,
>>
>> The following changes make hs16 work for ARM and add OSR support for Shark. The files
>> affected are
>>
>> - asm_helper.cpp
>> - bytecodes_arm.def
>> - cppInterpreter_arm.S
>> - sharkCacheDecache.cpp
>>
>> Regards,
>> Ed.
>>
>>
>> +#ifdef ON_STACK_REPLACEMENT
>> +osr_migrate:
>> + ldr tmp1, [r0, #128] @ osr_method->osr_entry()
>> + ldr tmp2, [istate, #ISTATE_ADVANCE_PC]
>> +@ ldr istate, [istate, #ISTATE_NEXT_FRAME]
>> + mov r0, r3
>> + bl _ZN13SharedRuntime19OSR_migration_beginEP10JavaThread
>> + mov r1, r0
>> + ldr r0, [istate, #ISTATE_METHOD]
>> + ldrh lr, [r0, #METHOD_MAXLOCALS]
>> + ldrh ip, [r0, #METHOD_SIZEOFPARAMETERS]
>> + ldr r3, [istate, #ISTATE_THREAD]
>> + sub lr, lr, ip
>> + ldr r2, [r3, #THREAD_TOP_ZERO_FRAME]
>> + add ip, r2, #4
>> + ldr r2, [r2]
>> + add ip, ip, lr, lsl #2
>> + str r2, [r3, #THREAD_TOP_ZERO_FRAME]
>> + str ip, [r3, #THREAD_JAVA_SP]
>> + mov r2, tmp1
>> +; r0 = method
>> +; r1 = osr_buf
>> +; r2 = osr_entry
>> + mov lr, pc
>> + ldr pc, [tmp1]
>> +
>> + cmp tmp2, #0
>> + ldmeqfd arm_sp!, {regset, pc}
>>
>>
> Hi Edward!
>
> I tried to build the regular hs14 with your patch applied and hit this
> error while linking launcher.
>
> Linking launcher...
> /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so:
> undefined reference to `osr_buf'
> /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so:
> undefined reference to `osr_entry'
> /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so:
> undefined reference to `method'
> collect2: ld returned 1 exit status
> make[6]: *** [gamma] Error 1
> make[6]: Leaving directory `
>
> are the three lines
>
> +; r0 = method
> +; r1 = osr_buf
> +; r2 = osr_entry
>
> meant to be comments?
>
>
> Cheers
> Xerxes
>
My build linked sucessfully when i changed those three lines to @ comments
Xerxes
============= cut here
Index: icedtea6-tot/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S
===================================================================
---
icedtea6-tot.orig/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S
2009-11-05 08:40:18.000000000 +0000
+++ icedtea6-tot/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S
2009-11-05 08:41:24.000000000 +0000
@@ -2727,9 +2727,9 @@
str r2, [r3, #THREAD_TOP_ZERO_FRAME]
str ip, [r3, #THREAD_JAVA_SP]
mov r2, tmp1
-; r0 = method
-; r1 = osr_buf
-; r2 = osr_entry
+@ r0 = method
+@ r1 = osr_buf
+@ r2 = osr_entry
mov lr, pc
ldr pc, [tmp1]
More information about the distro-pkg-dev
mailing list