< prev index next >
src/hotspot/share/opto/parse2.cpp
Print this page
rev 52049 : JDK11-only: Use WB-based acmp barrier
*** 42,55 ****
#include "opto/opaquenode.hpp"
#include "opto/parse.hpp"
#include "opto/runtime.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/sharedRuntime.hpp"
- #include "utilities/macros.hpp"
- #if INCLUDE_SHENANDOAHGC
- #include "gc/shenandoah/c2/shenandoahBarrierSetC2.hpp"
- #endif
#ifndef PRODUCT
extern int explicit_null_checks_inserted,
explicit_null_checks_elided;
#endif
--- 42,51 ----
*** 1612,1636 ****
Node* tmp = taken_branch;
taken_branch = untaken_branch;
untaken_branch = tmp;
}
- taken_branch = _gvn.transform(taken_branch);
- untaken_branch = _gvn.transform(untaken_branch);
- Node* taken_memory = NULL;
- Node* untaken_memory = NULL;
-
- #if INCLUDE_SHENANDOAHGC
- ShenandoahBarrierNode::do_cmpp_if(*this, taken_branch, untaken_branch, taken_memory, untaken_memory);
- #endif
-
// Branch is taken:
{ PreserveJVMState pjvms(this);
set_control(taken_branch);
- if (taken_memory != NULL) {
- set_all_memory(taken_memory);
- }
if (stopped()) {
if (C->eliminate_boxing()) {
// Mark the successor block as parsed
branch_block->next_path_num();
--- 1608,1621 ----
Node* tmp = taken_branch;
taken_branch = untaken_branch;
untaken_branch = tmp;
}
// Branch is taken:
{ PreserveJVMState pjvms(this);
+ taken_branch = _gvn.transform(taken_branch);
set_control(taken_branch);
if (stopped()) {
if (C->eliminate_boxing()) {
// Mark the successor block as parsed
branch_block->next_path_num();
*** 1643,1656 ****
merge(target_bci);
}
}
}
set_control(untaken_branch);
- if (untaken_memory != NULL) {
- set_all_memory(untaken_memory);
- }
// Branch not taken.
if (stopped()) {
if (C->eliminate_boxing()) {
// Mark the successor block as parsed
--- 1628,1639 ----
merge(target_bci);
}
}
}
+ untaken_branch = _gvn.transform(untaken_branch);
set_control(untaken_branch);
// Branch not taken.
if (stopped()) {
if (C->eliminate_boxing()) {
// Mark the successor block as parsed
*** 2771,2781 ****
// If this is a backwards branch in the bytecodes, add Safepoint
maybe_add_safepoint(iter().get_dest());
a = pop();
b = pop();
#if INCLUDE_SHENANDOAHGC
! if (UseShenandoahGC && ShenandoahAcmpBarrier && ShenandoahVerifyOptoBarriers) {
a = access_resolve_for_write(a);
b = access_resolve_for_write(b);
}
#endif
c = _gvn.transform( new CmpPNode(b, a) );
--- 2754,2764 ----
// If this is a backwards branch in the bytecodes, add Safepoint
maybe_add_safepoint(iter().get_dest());
a = pop();
b = pop();
#if INCLUDE_SHENANDOAHGC
! if (UseShenandoahGC && ShenandoahAcmpBarrier) {
a = access_resolve_for_write(a);
b = access_resolve_for_write(b);
}
#endif
c = _gvn.transform( new CmpPNode(b, a) );
< prev index next >