< prev index next >

src/share/vm/opto/callnode.hpp

Print this page

        

@@ -622,11 +622,11 @@
   }
 
   // Collect all the interesting edges from a call for use in
   // replacing the call by something else.  Used by macro expansion
   // and the late inlining support.
-  void extract_projections(CallProjections* projs, bool separate_io_proj);
+  void extract_projections(CallProjections* projs, bool separate_io_proj, bool do_asserts = true);
 
   virtual uint match_edge(uint idx) const;
 
 #ifndef PRODUCT
   virtual void        dump_req(outputStream *st = tty) const;

@@ -760,10 +760,12 @@
 
   const char *_name;            // Printable name, if _method is NULL
   virtual int   Opcode() const;
   virtual void  calling_convention( BasicType* sig_bt, VMRegPair *parm_regs, uint argcnt ) const;
 
+  bool is_call_to_arraycopystub() const;
+
 #ifndef PRODUCT
   virtual void  dump_spec(outputStream *st) const;
 #endif
 };
 

@@ -778,10 +780,15 @@
   {
     init_class_id(Class_CallLeaf);
   }
   virtual int   Opcode() const;
   virtual bool        guaranteed_safepoint()  { return false; }
+  virtual bool is_g1_wb_pre_call() const { return entry_point() == CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_pre); }
+  virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
+
+  static bool has_only_g1_wb_pre_uses(Node* n);
+
 #ifndef PRODUCT
   virtual void  dump_spec(outputStream *st) const;
 #endif
 };
 
< prev index next >