< 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 >