Mercurial > hg > shark > hotspot
changeset 2514:35989c0cf707
Implement adapter_opt_rot_1_down
author | Gary Benson <gbenson@redhat.com> |
---|---|
date | Fri, 01 Apr 2011 12:52:34 +0100 |
parents | 4596e22b6f4f |
children | 1b3950b886f6 |
files | src/cpu/zero/vm/cppInterpreter_zero.cpp |
diffstat | 1 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/zero/vm/cppInterpreter_zero.cpp Fri Apr 01 12:18:02 2011 +0100 +++ b/src/cpu/zero/vm/cppInterpreter_zero.cpp Fri Apr 01 12:52:34 2011 +0100 @@ -977,6 +977,22 @@ } break; + case MethodHandles::_adapter_opt_rot_1_down: + { + int arg1 = java_lang_invoke_AdapterMethodHandle::vmargslot(method_handle); + int conv = + java_lang_invoke_AdapterMethodHandle::conversion(method_handle); + int arg2 = MethodHandles::adapter_conversion_vminfo(conv); + + assert(arg2 - 1 > arg1, "should be"); + + intptr_t tmp = *VMSLOTS_SLOT(arg1); + for (int i = arg1 + 1; i <= arg2; i++) + SET_VMSLOTS_SLOT(VMSLOTS_SLOT(i), i - 1); + SET_VMSLOTS_SLOT(&tmp, arg2); + } + break; + case MethodHandles::_adapter_opt_i2l: { int arg_slot =