mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-15 18:33:41 +00:00
8357793: [PPC64] VM crashes with -XX:-UseSIGTRAP -XX:-ImplicitNullChecks
Reviewed-by: shade, dbriemann
This commit is contained in:
parent
40ce05d408
commit
ba9f44c90f
@ -359,7 +359,9 @@ void MethodHandles::generate_method_handle_dispatch(MacroAssembler* _masm,
|
||||
? -1 // enforce receiver null check
|
||||
: oopDesc::klass_offset_in_bytes(); // regular null-checking behavior
|
||||
|
||||
__ null_check_throw(receiver_reg, klass_offset, temp1, Interpreter::throw_NullPointerException_entry());
|
||||
address NullPointerException_entry = for_compiler_entry ? SharedRuntime::throw_NullPointerException_at_call_entry()
|
||||
: Interpreter::throw_NullPointerException_entry();
|
||||
__ null_check_throw(receiver_reg, klass_offset, temp1, NullPointerException_entry);
|
||||
|
||||
if (iid != vmIntrinsics::_linkToSpecial || VerifyMethodHandles) {
|
||||
__ load_klass(temp1_recv_klass, receiver_reg);
|
||||
|
||||
@ -1035,7 +1035,7 @@ void TemplateTable::bastore() {
|
||||
|
||||
// Need to check whether array is boolean or byte
|
||||
// since both types share the bastore bytecode.
|
||||
__ load_klass(Rscratch, Rarray);
|
||||
__ load_klass_check_null_throw(Rscratch, Rarray, Rscratch);
|
||||
__ lwz(Rscratch, in_bytes(Klass::layout_helper_offset()), Rscratch);
|
||||
int diffbit = exact_log2(Klass::layout_helper_boolean_diffbit());
|
||||
__ testbitdi(CR0, R0, Rscratch, diffbit);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user