< prev index next >
src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp
Print this page
rev 52491 : 8213746: GC/C2 abstraction for C2 matcher
*** 1456,1465 ****
--- 1456,1476 ----
handled = false;
}
return handled;
}
+ bool ZBarrierSetC2::matcher_find_shared_visit(Matcher* matcher, Matcher::MStack& mstack, Node* n, uint opcode, bool& mem_op, int& mem_addr_idx) const {
+ if (opcode == Op_CallLeaf &&
+ (n->as_Call()->entry_point() == ZBarrierSetRuntime::load_barrier_on_oop_field_preloaded_addr() ||
+ n->as_Call()->entry_point() == ZBarrierSetRuntime::load_barrier_on_weak_oop_field_preloaded_addr())) {
+ mem_op = true;
+ mem_addr_idx = TypeFunc::Parms + 1;
+ return true;
+ }
+ return false;
+ }
+
// == Verification ==
#ifdef ASSERT
static bool look_for_barrier(Node* n, bool post_parse, VectorSet& visited) {
< prev index next >