Mercurial > hg > truffle
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) |