Request to commit: HS16 + OSR changes for ARM

Xerxes Rånby xerxes at zafena.se
Thu Nov 5 00:38:15 PST 2009


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



More information about the distro-pkg-dev mailing list