69 return NULL;
70 }
71
72 // ------------------------------------------------------------------
73 // ciMethodHandle::get_adapter
74 //
75 // Return an adapter for this MethodHandle.
76 ciMethod* ciMethodHandle::get_adapter(bool is_invokedynamic) {
77 ciMethod* result = get_adapter_impl(is_invokedynamic);
78 if (result) {
79 // Fake up the MDO maturity.
80 ciMethodData* mdo = result->method_data();
81 if (mdo != NULL && _caller->method_data() != NULL && _caller->method_data()->is_mature()) {
82 mdo->set_mature();
83 }
84 }
85 return result;
86 }
87
88
89 #ifndef PRODUCT
90 // ------------------------------------------------------------------
91 // ciMethodHandle::print_chain_impl
92 //
93 // Implementation of the print method.
94 void ciMethodHandle::print_chain_impl(outputStream* st) {
95 ASSERT_IN_VM;
96 MethodHandleChain::print(get_oop());
97 }
98
99
100 // ------------------------------------------------------------------
101 // ciMethodHandle::print_chain
102 //
103 // Implementation of the print_chain method.
104 void ciMethodHandle::print_chain(outputStream* st) {
105 GUARDED_VM_ENTRY(print_chain_impl(st););
106 }
107 #endif
|
69 return NULL;
70 }
71
72 // ------------------------------------------------------------------
73 // ciMethodHandle::get_adapter
74 //
75 // Return an adapter for this MethodHandle.
76 ciMethod* ciMethodHandle::get_adapter(bool is_invokedynamic) {
77 ciMethod* result = get_adapter_impl(is_invokedynamic);
78 if (result) {
79 // Fake up the MDO maturity.
80 ciMethodData* mdo = result->method_data();
81 if (mdo != NULL && _caller->method_data() != NULL && _caller->method_data()->is_mature()) {
82 mdo->set_mature();
83 }
84 }
85 return result;
86 }
87
88
89 #ifdef ASSERT
90 // ------------------------------------------------------------------
91 // ciMethodHandle::print_chain_impl
92 //
93 // Implementation of the print method.
94 void ciMethodHandle::print_chain_impl(outputStream* st) {
95 ASSERT_IN_VM;
96 MethodHandleChain::print(get_oop());
97 }
98
99
100 // ------------------------------------------------------------------
101 // ciMethodHandle::print_chain
102 //
103 // Implementation of the print_chain method.
104 void ciMethodHandle::print_chain(outputStream* st) {
105 GUARDED_VM_ENTRY(print_chain_impl(st););
106 }
107 #endif
|