From 66a7efffded90bdfdecdf776eb7b543b512b7d76 Mon Sep 17 00:00:00 2001 From: bdelsart Date: Tue, 17 May 2011 16:50:27 +0200 Subject: [PATCH] 7045515: ARM assembly code for JSR 292 ricochet frames Summary: ARM ricochet port and minor fixes in shared debug code Reviewed-by: jrose, vladidan --- src/share/vm/prims/methodHandleWalk.cpp | 3 ++- src/share/vm/prims/methodHandles.hpp | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/share/vm/prims/methodHandleWalk.cpp b/src/share/vm/prims/methodHandleWalk.cpp index cc8f8b539..d087f3415 100644 --- a/src/share/vm/prims/methodHandleWalk.cpp +++ b/src/share/vm/prims/methodHandleWalk.cpp @@ -423,6 +423,7 @@ MethodHandleWalker::walk(TRAPS) { arglist[1+i] = arg; if (!retain_original_args) change_argument(arg_type, slot, T_VOID, ArgToken(tt_void)); + i++; } arglist[1+argc] = ArgToken(); // sentinel oop invoker = java_lang_invoke_MethodTypeForm::vmlayout( @@ -487,7 +488,7 @@ MethodHandleWalker::walk(TRAPS) { arglist[1] = length_arg; // length to check arglist[2] = ArgToken(); // sentinel make_invoke(NULL, vmIntrinsics::_checkSpreadArgument, - Bytecodes::_invokestatic, false, 3, &arglist[0], CHECK_(empty)); + Bytecodes::_invokestatic, false, 2, &arglist[0], CHECK_(empty)); // Spread out the array elements. Bytecodes::Code aload_op = Bytecodes::_nop; diff --git a/src/share/vm/prims/methodHandles.hpp b/src/share/vm/prims/methodHandles.hpp index 66de7efe0..cefb8ad3f 100644 --- a/src/share/vm/prims/methodHandles.hpp +++ b/src/share/vm/prims/methodHandles.hpp @@ -721,12 +721,10 @@ public: //# include "methodHandles_zero.hpp" #endif #ifdef TARGET_ARCH_arm -#define TARGET_ARCH_NYI_6939861 1 //FIXME -//# include "methodHandles_arm.hpp" +# include "methodHandles_arm.hpp" #endif #ifdef TARGET_ARCH_ppc -#define TARGET_ARCH_NYI_6939861 1 //FIXME -//# include "methodHandles_ppc.hpp" +# include "methodHandles_ppc.hpp" #endif #ifdef TARGET_ARCH_NYI_6939861 -- GitLab