< prev index next >
src/hotspot/share/opto/lcm.cpp
Print this page
rev 50905 : Move Shenandoah stubs generation into ShenandoahBarrierSetAssembler
rev 50906 : [mq]: stubgen-v2.patch
@@ -32,10 +32,14 @@
#include "opto/cfgnode.hpp"
#include "opto/machnode.hpp"
#include "opto/runtime.hpp"
#include "opto/chaitin.hpp"
#include "runtime/sharedRuntime.hpp"
+#include "utilities/macros.hpp"
+#if INCLUDE_SHENANDOAHGC
+#include "gc/shenandoah/shenandoahBarrierSetAssembler.hpp"
+#endif
// Optimization - Graph Style
// Check whether val is not-null-decoded compressed oop,
// i.e. will grab into the base of the heap if it represents NULL.
@@ -891,17 +895,19 @@
MachCallStaticJavaNode* mcallstaticjava = (MachCallStaticJavaNode*) mcall;
if (mcallstaticjava->_method_handle_invoke)
proj->_rout.OR(Matcher::method_handle_invoke_SP_save_mask());
}
- if (UseShenandoahGC && mcall->entry_point() == StubRoutines::shenandoah_wb_C()) {
+#if INCLUDE_SHENANDOAHGC
+ if (UseShenandoahGC && (ShenandoahWriteBarrier || ShenandoahStoreValEnqueueBarrier) && mcall->entry_point() == ShenandoahBarrierSetAssembler::shenandoah_wb_C()) {
assert(op == Op_CallLeafNoFP, "shenandoah_wb_C should be called with Op_CallLeafNoFP");
add_call_kills(proj, regs, save_policy, exclude_soe, true);
- } else {
+ } else
+#endif
+ {
add_call_kills(proj, regs, save_policy, exclude_soe, false);
}
-
return node_cnt;
}
void PhaseCFG::push_ready_nodes(Node* n, Node* m, Block* block, GrowableArray<int>& ready_cnt, Node_List& worklist, uint max_idx, int c) {
if (get_block_for_node(m) != block) {
< prev index next >