src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp
changeset 52627 e7d8ea5bfc8f
parent 52568 40474b7105f4
child 52711 f480ad035c73
--- a/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp	Tue Nov 20 21:12:46 2018 +0100
+++ b/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp	Tue Nov 20 22:37:34 2018 +0100
@@ -1459,6 +1459,17 @@
   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