(original) (raw)
src/share/vm/classfile/stackMapFrame.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/classfile/stackMapFrame.cpp Wed Apr 15 12:03:06 2015** --- new/src/share/vm/classfile/stackMapFrame.cpp Wed Apr 15 12:03:06 2015
*** 78,89 ****
--- 78,89 ----
SignatureStream ss(m->signature());
int init_local_num = 0;
if (!m->is_static()) {
init_local_num++;
// add one extra argument for instance method
! if (m->name() == vmSymbols::object_initializer_name() &&
! thisKlass.name() != vmSymbols::java_lang_Object()) {
! if (m->name()->equals(vmSymbols::object_initializer_name()) &&
! thisKlass.name()->not_equals(vmSymbols::java_lang_Object())) {
_locals[0] = VerificationType::uninitialized_this_type();
_flags |= FLAG_THIS_UNINIT;
} else {
_locals[0] = thisKlass;
}
*** 106,116 ****
--- 106,116 ----
// Create another symbol to save as signature stream unreferences
// this symbol.
Symbol sig_copy =*
verifier()->create_temporary_symbol(sig, 0, sig->utf8_length(),
CHECK_(VerificationType::bogus_type()));
! assert(sig_copy == sig, "symbols don't match");
! assert(sig_copy->equals(sig), "symbols don't match");
return VerificationType::reference_type(sig_copy);
}
case T_INT: return VerificationType::integer_type();
case T_BYTE: return VerificationType::byte_type();
case T_CHAR: return VerificationType::char_type();
src/share/vm/classfile/stackMapFrame.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File