< prev index next >

src/share/vm/oops/method.cpp

Print this page

        

*** 546,555 **** --- 546,558 ---- case Bytecodes::_goto_w: case Bytecodes::_jsr_w: if( bcs.dest_w() < bcs.next_bci() ) _access_flags.set_has_loops(); break; + + default: + break; } } _access_flags.set_loops_flag_init(); return _access_flags.has_loops(); }
*** 1386,1396 **** // Create a shallow copy of Method part, but be careful to preserve the new ConstMethod* ConstMethod* newcm = newm->constMethod(); int new_const_method_size = newm->constMethod()->size(); ! memcpy(newm(), m(), sizeof(Method)); // Create shallow copy of ConstMethod. memcpy(newcm, m->constMethod(), sizeof(ConstMethod)); // Reset correct method/const method, method size, and parameter info --- 1389,1402 ---- // Create a shallow copy of Method part, but be careful to preserve the new ConstMethod* ConstMethod* newcm = newm->constMethod(); int new_const_method_size = newm->constMethod()->size(); ! // This works because the source and target are both Methods. Some compilers ! // (e.g., clang) complain that the target vtable pointer will be stomped, ! // so cast away newm()'s and m()'s Methodness. ! memcpy((void*)newm(), (void*)m(), sizeof(Method)); // Create shallow copy of ConstMethod. memcpy(newcm, m->constMethod(), sizeof(ConstMethod)); // Reset correct method/const method, method size, and parameter info
*** 1509,1518 **** --- 1515,1526 ---- case vmSymbols::VM_SYMBOL_ENUM_NAME(sqrt_name): // pretend it is the corresponding method in the non-strict class: klass_id = vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_Math); id = vmIntrinsics::find_id(klass_id, name_id, sig_id, flags); break; + default: + break; } break; // Signature-polymorphic methods: MethodHandle.invoke*, InvokeDynamic.*., VarHandle case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_MethodHandle):
*** 1520,1529 **** --- 1528,1540 ---- if (!is_native()) break; id = MethodHandles::signature_polymorphic_name_id(method_holder(), name()); if (is_static() != MethodHandles::is_signature_polymorphic_static(id)) id = vmIntrinsics::_none; break; + + default: + break; } if (id != vmIntrinsics::_none) { // Set up its iid. It is an alias method. set_intrinsic_id(id);
< prev index next >