Skip to content
This repository was archived by the owner on Feb 2, 2023. It is now read-only.

Commit b522540

Browse files
Sergey NazarkinYuri Nesterenko
authored andcommitted
8278416: Crash during execution of ClassInitBarrier test
Reviewed-by: akozlov, yan
1 parent 2149624 commit b522540

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -709,6 +709,7 @@ AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm
709709
address c2i_entry = __ pc();
710710

711711
// Class initialization barrier for static methods
712+
address c2i_no_clinit_check_entry = NULL;
712713
if (VM_Version::supports_fast_class_init_checks()) {
713714
Label L_skip_barrier;
714715

@@ -722,12 +723,13 @@ AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm
722723
__ clinit_barrier(rscratch2, rscratch1, &L_skip_barrier);
723724
__ far_jump(RuntimeAddress(SharedRuntime::get_handle_wrong_method_stub()));
724725
__ bind(L_skip_barrier);
726+
c2i_no_clinit_check_entry = __ pc();
725727
}
726728

727729
gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup);
728730

729731
__ flush();
730-
return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry);
732+
return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry, c2i_no_clinit_check_entry);
731733
}
732734

733735
int SharedRuntime::c_calling_convention(const BasicType *sig_bt,

0 commit comments

Comments
 (0)