changeset 2972:47a867dd3005

ARM: Fix trashed thread ptr after recursive re-entry from asm jit.
author chrisphi
date Thu, 30 Aug 2012 11:53:27 -0400
parents b41a43560dc8
children fbe959dad801
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	Wed Jun 06 09:04:45 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}