8305236: Some LoadLoad barriers in the interpreter are unnecessary after JDK-8220051

Reviewed-by: dholmes, fyang, aph
This commit is contained in:
sunguoyun 2023-04-21 00:47:24 +00:00 committed by Fei Yang
parent ffb2494de4
commit 2c70828e7d
2 changed files with 0 additions and 24 deletions

View File

@ -1747,12 +1747,6 @@ void TemplateTable::float_cmp(bool is_float, int unordered_result)
void TemplateTable::branch(bool is_jsr, bool is_wide)
{
// We might be moving to a safepoint. The thread which calls
// Interpreter::notice_safepoints() will effectively flush its cache
// when it makes a system call, but we need to do something to
// ensure that we see the changed dispatch table.
__ membar(MacroAssembler::LoadLoad);
__ profile_taken_branch(r0, r1);
const ByteSize be_offset = MethodCounters::backedge_counter_offset() +
InvocationCounter::counter_offset();
@ -1968,12 +1962,6 @@ void TemplateTable::if_acmp(Condition cc)
void TemplateTable::ret() {
transition(vtos, vtos);
// We might be moving to a safepoint. The thread which calls
// Interpreter::notice_safepoints() will effectively flush its cache
// when it makes a system call, but we need to do something to
// ensure that we see the changed dispatch table.
__ membar(MacroAssembler::LoadLoad);
locals_index(r1);
__ ldr(r1, aaddress(r1)); // get return bci, compute return bcp
__ profile_ret(r1, r2);

View File

@ -1600,12 +1600,6 @@ void TemplateTable::float_cmp(bool is_float, int unordered_result) {
}
void TemplateTable::branch(bool is_jsr, bool is_wide) {
// We might be moving to a safepoint. The thread which calls
// Interpreter::notice_safepoints() will effectively flush its cache
// when it makes a system call, but we need to do something to
// ensure that we see the changed dispatch table.
__ membar(MacroAssembler::LoadLoad);
__ profile_taken_branch(x10, x11);
const ByteSize be_offset = MethodCounters::backedge_counter_offset() +
InvocationCounter::counter_offset();
@ -1854,12 +1848,6 @@ void TemplateTable::if_acmp(Condition cc) {
void TemplateTable::ret() {
transition(vtos, vtos);
// We might be moving to a safepoint. The thread which calls
// Interpreter::notice_safepoints() will effectively flush its cache
// when it makes a system call, but we need to do something to
// ensure that we see the changed dispatch table.
__ membar(MacroAssembler::LoadLoad);
locals_index(x11);
__ ld(x11, aaddress(x11, t1, _masm)); // get return bci, compute return bcp
__ profile_ret(x11, x12);