Mercurial > hg > shark > hotspot
changeset 2254:6029e0ac16fb
Implement MethodHandles::_adapter_opt_swap_1 (maybe)
author | Gary Benson <gbenson@redhat.com> |
---|---|
date | Tue, 01 Mar 2011 11:53:24 +0000 |
parents | dc88189cc93a |
children | 0de165da3344 |
files | src/cpu/zero/vm/cppInterpreter_zero.cpp |
diffstat | 1 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/zero/vm/cppInterpreter_zero.cpp Tue Mar 01 11:36:56 2011 +0000 +++ b/src/cpu/zero/vm/cppInterpreter_zero.cpp Tue Mar 01 11:53:24 2011 +0000 @@ -836,6 +836,20 @@ } break; + case MethodHandles::_adapter_opt_swap_1: + { + int arg1 = sun_dyn_AdapterMethodHandle::vmargslot(method_handle); + int arg2 = + (sun_dyn_AdapterMethodHandle::conversion(method_handle) >> + sun_dyn_AdapterMethodHandle::CONV_VMINFO_SHIFT) & + sun_dyn_AdapterMethodHandle::CONV_VMINFO_MASK; + + intptr_t tmp = *VMSLOTS_SLOT(arg1); + SET_VMSLOTS_SLOT(VMSLOTS_SLOT(arg2), arg1); + SET_VMSLOTS_SLOT(&tmp, arg2); + } + break; + case MethodHandles::_adapter_opt_unboxi: case MethodHandles::_adapter_opt_unboxl: {