< prev index next >
src/hotspot/share/opto/compile.cpp
Print this page
@@ -73,13 +73,17 @@
#include "runtime/signature.hpp"
#include "runtime/stubRoutines.hpp"
#include "runtime/timer.hpp"
#include "utilities/align.hpp"
#include "utilities/copy.hpp"
+#include "utilities/macros.hpp"
#if INCLUDE_G1GC
#include "gc/g1/g1ThreadLocalData.hpp"
#endif // INCLUDE_G1GC
+#if INCLUDE_ZGC
+#include "gc/z/c2/zBarrierSetC2.hpp"
+#endif
// -------------------- Compile::mach_constant_base_node -----------------------
// Constant table base node singleton.
MachConstantBaseNode* Compile::mach_constant_base_node() {
@@ -2161,10 +2165,15 @@
BREAKPOINT;
}
#endif
+#ifdef ASSERT
+ BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
+ bs->verify_gc_barriers(true);
+#endif
+
ResourceMark rm;
int loop_opts_cnt;
print_inlining_reinit();
@@ -2333,10 +2342,16 @@
if (major_progress()) print_method(PHASE_PHASEIDEALLOOP_ITERATIONS, 2);
if (failing()) return;
}
}
+#if INCLUDE_ZGC
+ if (UseZGC) {
+ ZBarrierSetC2::find_dominating_barriers(igvn);
+ }
+#endif
+
if (failing()) return;
// Ensure that major progress is now clear
C->clear_major_progress();
@@ -2356,10 +2371,12 @@
#ifdef ASSERT
BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
bs->verify_gc_barriers(false);
#endif
+ print_method(PHASE_BEFORE_MACRO_EXPANSION, 2);
+
{
TracePhase tp("macroExpand", &timers[_t_macroExpand]);
PhaseMacroExpand mex(igvn);
if (mex.expand_macro_nodes()) {
assert(failing(), "must bail out w/ explicit message");
@@ -2888,10 +2905,14 @@
case Op_LoadNKlass:
case Op_LoadL:
case Op_LoadL_unaligned:
case Op_LoadPLocked:
case Op_LoadP:
+#if INCLUDE_ZGC
+ case Op_LoadBarrierSlowReg:
+ case Op_LoadBarrierWeakSlowReg:
+#endif
case Op_LoadN:
case Op_LoadRange:
case Op_LoadS: {
handle_mem:
#ifdef ASSERT
< prev index next >