equal
deleted
inserted
replaced
2735 void java_lang_invoke_CallSite::compute_offsets() { |
2735 void java_lang_invoke_CallSite::compute_offsets() { |
2736 if (!EnableInvokeDynamic) return; |
2736 if (!EnableInvokeDynamic) return; |
2737 klassOop k = SystemDictionary::CallSite_klass(); |
2737 klassOop k = SystemDictionary::CallSite_klass(); |
2738 if (k != NULL) { |
2738 if (k != NULL) { |
2739 compute_offset(_target_offset, k, vmSymbols::target_name(), vmSymbols::java_lang_invoke_MethodHandle_signature()); |
2739 compute_offset(_target_offset, k, vmSymbols::target_name(), vmSymbols::java_lang_invoke_MethodHandle_signature()); |
2740 } |
|
2741 |
|
2742 // Disallow compilation of CallSite.setTargetNormal and CallSite.setTargetVolatile |
|
2743 // (For C2: keep this until we have throttling logic for uncommon traps.) |
|
2744 if (k != NULL) { |
|
2745 instanceKlass* ik = instanceKlass::cast(k); |
|
2746 methodOop m_normal = ik->lookup_method(vmSymbols::setTargetNormal_name(), vmSymbols::setTarget_signature()); |
|
2747 methodOop m_volatile = ik->lookup_method(vmSymbols::setTargetVolatile_name(), vmSymbols::setTarget_signature()); |
|
2748 guarantee(m_normal != NULL && m_volatile != NULL, "must exist"); |
|
2749 m_normal->set_not_compilable_quietly(); |
|
2750 m_volatile->set_not_compilable_quietly(); |
|
2751 } |
2740 } |
2752 } |
2741 } |
2753 |
2742 |
2754 |
2743 |
2755 // Support for java_security_AccessControlContext |
2744 // Support for java_security_AccessControlContext |