comparison src/share/vm/ci/ciMethodHandle.hpp @ 3366:e2a92dd0d3d2

7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters Reviewed-by: jrose, never, kvn
author twisti
date Tue, 10 May 2011 00:45:03 -0700
parents 8033953d67ff
children fabcf26ee72f
comparison
equal deleted inserted replaced
3365:3cfb240033d1 3366:e2a92dd0d3d2
23 */ 23 */
24 24
25 #ifndef SHARE_VM_CI_CIMETHODHANDLE_HPP 25 #ifndef SHARE_VM_CI_CIMETHODHANDLE_HPP
26 #define SHARE_VM_CI_CIMETHODHANDLE_HPP 26 #define SHARE_VM_CI_CIMETHODHANDLE_HPP
27 27
28 #include "ci/ciCallProfile.hpp"
28 #include "ci/ciInstance.hpp" 29 #include "ci/ciInstance.hpp"
29 #include "prims/methodHandles.hpp" 30 #include "prims/methodHandles.hpp"
30 31
31 // ciMethodHandle 32 // ciMethodHandle
32 // 33 //
33 // The class represents a java.lang.invoke.MethodHandle object. 34 // The class represents a java.lang.invoke.MethodHandle object.
34 class ciMethodHandle : public ciInstance { 35 class ciMethodHandle : public ciInstance {
35 private: 36 private:
36 ciMethod* _callee; 37 ciMethod* _callee;
38 ciCallProfile* _profile;
37 39
38 // Return an adapter for this MethodHandle. 40 // Return an adapter for this MethodHandle.
39 ciMethod* get_adapter(bool is_invokedynamic) const; 41 ciMethod* get_adapter(bool is_invokedynamic) const;
40 42
41 protected: 43 protected:
48 bool is_method_handle() const { return true; } 50 bool is_method_handle() const { return true; }
49 51
50 ciMethod* callee() const { return _callee; } 52 ciMethod* callee() const { return _callee; }
51 void set_callee(ciMethod* m) { _callee = m; } 53 void set_callee(ciMethod* m) { _callee = m; }
52 54
55 ciCallProfile* call_profile() const { return _profile; }
56 void set_call_profile(ciCallProfile* profile) { _profile = profile; }
57
53 // Return an adapter for a MethodHandle call. 58 // Return an adapter for a MethodHandle call.
54 ciMethod* get_method_handle_adapter() const { 59 ciMethod* get_method_handle_adapter() const {
55 return get_adapter(false); 60 return get_adapter(false);
56 } 61 }
57 62