comparison src/share/vm/prims/methodHandleWalk.cpp @ 3297:6431be02f3ac

Merge
author trims
date Fri, 29 Apr 2011 16:55:43 -0700
parents 2a23b1b5a0a8
children 167b70ff3abc
comparison
equal deleted inserted replaced
3265:d7cc76ea8d06 3297:6431be02f3ac
80 } 80 }
81 81
82 82
83 void MethodHandleChain::set_last_method(oop target, TRAPS) { 83 void MethodHandleChain::set_last_method(oop target, TRAPS) {
84 _is_last = true; 84 _is_last = true;
85 klassOop receiver_limit_oop = NULL; 85 KlassHandle receiver_limit; int flags = 0;
86 int flags = 0; 86 _last_method = MethodHandles::decode_method(target, receiver_limit, flags);
87 methodOop m = MethodHandles::decode_method(target, receiver_limit_oop, flags);
88 _last_method = methodHandle(THREAD, m);
89 if ((flags & MethodHandles::_dmf_has_receiver) == 0) 87 if ((flags & MethodHandles::_dmf_has_receiver) == 0)
90 _last_invoke = Bytecodes::_invokestatic; 88 _last_invoke = Bytecodes::_invokestatic;
91 else if ((flags & MethodHandles::_dmf_does_dispatch) == 0) 89 else if ((flags & MethodHandles::_dmf_does_dispatch) == 0)
92 _last_invoke = Bytecodes::_invokespecial; 90 _last_invoke = Bytecodes::_invokespecial;
93 else if ((flags & MethodHandles::_dmf_from_interface) != 0) 91 else if ((flags & MethodHandles::_dmf_from_interface) != 0)