Mercurial > hg > graal-jvmci-8
diff src/share/vm/ci/ciMethodHandle.hpp @ 6275:957c266d8bc5
Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 21 Aug 2012 10:39:19 +0200 |
parents | 1d7922586cf6 |
children | b9a9ed0f8eeb |
line wrap: on
line diff
--- a/src/share/vm/ci/ciMethodHandle.hpp Mon Aug 20 15:21:31 2012 +0200 +++ b/src/share/vm/ci/ciMethodHandle.hpp Tue Aug 21 10:39:19 2012 +0200 @@ -25,61 +25,20 @@ #ifndef SHARE_VM_CI_CIMETHODHANDLE_HPP #define SHARE_VM_CI_CIMETHODHANDLE_HPP -#include "ci/ciCallProfile.hpp" +#include "ci/ciClassList.hpp" #include "ci/ciInstance.hpp" -#include "prims/methodHandles.hpp" // ciMethodHandle // // The class represents a java.lang.invoke.MethodHandle object. class ciMethodHandle : public ciInstance { -private: - ciMethod* _callee; - ciMethod* _caller; - ciCallProfile _profile; - ciMethod* _method_handle_adapter; - ciMethod* _invokedynamic_adapter; - - // Return an adapter for this MethodHandle. - ciMethod* get_adapter_impl(bool is_invokedynamic); - ciMethod* get_adapter( bool is_invokedynamic); - -protected: - void print_chain_impl() NOT_DEBUG_RETURN; - public: - ciMethodHandle(instanceHandle h_i) : - ciInstance(h_i), - _callee(NULL), - _caller(NULL), - _method_handle_adapter(NULL), - _invokedynamic_adapter(NULL) - {} + ciMethodHandle(instanceHandle h_i) : ciInstance(h_i) {} // What kind of ciObject is this? bool is_method_handle() const { return true; } - void set_callee(ciMethod* m) { _callee = m; } - void set_caller(ciMethod* m) { _caller = m; } - void set_call_profile(ciCallProfile profile) { _profile = profile; } - - // Return an adapter for a MethodHandle call. - ciMethod* get_method_handle_adapter() { - if (_method_handle_adapter == NULL) { - _method_handle_adapter = get_adapter(false); - } - return _method_handle_adapter; - } - - // Return an adapter for an invokedynamic call. - ciMethod* get_invokedynamic_adapter() { - if (_invokedynamic_adapter == NULL) { - _invokedynamic_adapter = get_adapter(true); - } - return _invokedynamic_adapter; - } - - void print_chain() NOT_DEBUG_RETURN; + ciMethod* get_vmtarget() const; }; #endif // SHARE_VM_CI_CIMETHODHANDLE_HPP