changeset 5043:ce4008a48588

ARM: Fix trashed thread ptr after recursive re-entry from asm jit.
author chrisphi
date Thu, 30 Aug 2012 11:53:27 -0400
parents 1ee2f45db8bc
children 92d450da7626
files src/cpu/zero/vm/cppInterpreter_arm.S
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/zero/vm/cppInterpreter_arm.S	Fri Jun 08 10:25:37 2012 -0400
+++ b/src/cpu/zero/vm/cppInterpreter_arm.S	Thu Aug 30 11:53:27 2012 -0400
@@ -2988,7 +2988,10 @@
 	// Handler for java.lang.invoke.MethodHandles::invoke
 	ALIGN_CODE
 method_handle_entry:
- 	b	fast_method_handle_entry	
+	stmfd   arm_sp!, {thread, lr}
+	mov     thread, r2
+	bl      fast_method_handle_entry
+	ldmfd   arm_sp!, {thread, pc}
 	ALIGN_CODE
 fast_method_handle_entry:
 	stmfd	arm_sp!, {regset, lr}