src/share/vm/interpreter/rewriter.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/interpreter/rewriter.cpp
src/share/vm/interpreter/rewriter.cpp
Print this page
*** 52,62 ****
case JVM_CONSTANT_MethodHandle : // fall through
case JVM_CONSTANT_MethodType : // fall through
add_resolved_references_entry(i);
break;
case JVM_CONSTANT_Utf8:
! if (_pool->symbol_at(i) == vmSymbols::java_lang_invoke_MethodHandle())
saw_mh_symbol = true;
break;
}
}
--- 52,62 ----
case JVM_CONSTANT_MethodHandle : // fall through
case JVM_CONSTANT_MethodType : // fall through
add_resolved_references_entry(i);
break;
case JVM_CONSTANT_Utf8:
! if (_pool->symbol_at(i)->equals(vmSymbols::java_lang_invoke_MethodHandle()))
saw_mh_symbol = true;
break;
}
}
*** 192,202 ****
// Determine whether this is a signature-polymorphic method.
if (cp_index >= _method_handle_invokers.length()) return;
int status = _method_handle_invokers[cp_index];
assert(status >= -1 && status <= 1, "oob tri-state");
if (status == 0) {
! if (_pool->klass_ref_at_noresolve(cp_index) == vmSymbols::java_lang_invoke_MethodHandle() &&
MethodHandles::is_signature_polymorphic_name(SystemDictionary::MethodHandle_klass(),
_pool->name_ref_at(cp_index))) {
// we may need a resolved_refs entry for the appendix
add_invokedynamic_resolved_references_entries(cp_index, cache_index);
status = +1;
--- 192,202 ----
// Determine whether this is a signature-polymorphic method.
if (cp_index >= _method_handle_invokers.length()) return;
int status = _method_handle_invokers[cp_index];
assert(status >= -1 && status <= 1, "oob tri-state");
if (status == 0) {
! if (_pool->klass_ref_at_noresolve(cp_index)->equals(vmSymbols::java_lang_invoke_MethodHandle()) &&
MethodHandles::is_signature_polymorphic_name(SystemDictionary::MethodHandle_klass(),
_pool->name_ref_at(cp_index))) {
// we may need a resolved_refs entry for the appendix
add_invokedynamic_resolved_references_entries(cp_index, cache_index);
status = +1;
*** 458,468 ****
assert(_pool->cache() == NULL, "constant pool cache must not be set yet");
// determine index maps for Method* rewriting
compute_index_maps();
! if (RegisterFinalizersAtInit && _klass->name() == vmSymbols::java_lang_Object()) {
bool did_rewrite = false;
int i = _methods->length();
while (i-- > 0) {
Method* method = _methods->at(i);
if (method->intrinsic_id() == vmIntrinsics::_Object_init) {
--- 458,468 ----
assert(_pool->cache() == NULL, "constant pool cache must not be set yet");
// determine index maps for Method* rewriting
compute_index_maps();
! if (RegisterFinalizersAtInit && _klass->name()->equals(vmSymbols::java_lang_Object())) {
bool did_rewrite = false;
int i = _methods->length();
while (i-- > 0) {
Method* method = _methods->at(i);
if (method->intrinsic_id() == vmIntrinsics::_Object_init) {
src/share/vm/interpreter/rewriter.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File