< prev index next >
src/hotspot/share/opto/machnode.hpp
Print this page
@@ -461,10 +461,31 @@
int constant_offset() const { return ((MachConstantNode*) this)->constant_offset(); }
// Unchecked version to avoid assertions in debug output.
int constant_offset_unchecked() const;
};
+//------------------------------MachVEPNode-----------------------------------
+// Machine Value Type Entry Point Node
+class MachVEPNode : public MachIdealNode {
+public:
+ MachVEPNode(Label* verified_entry, bool verified, bool receiver_only) :
+ _verified_entry(verified_entry),
+ _verified(verified),
+ _receiver_only(receiver_only) {}
+ virtual void emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const;
+ virtual uint size(PhaseRegAlloc* ra_) const;
+
+#ifndef PRODUCT
+ virtual const char* Name() const { return "ValueType Entry-Point"; }
+ virtual void format(PhaseRegAlloc*, outputStream* st) const;
+#endif
+private:
+ Label* _verified_entry;
+ bool _verified;
+ bool _receiver_only;
+};
+
//------------------------------MachUEPNode-----------------------------------
// Machine Unvalidated Entry Point Node
class MachUEPNode : public MachIdealNode {
public:
MachUEPNode( ) {}
@@ -479,15 +500,18 @@
//------------------------------MachPrologNode--------------------------------
// Machine function Prolog Node
class MachPrologNode : public MachIdealNode {
public:
- MachPrologNode( ) {}
+ MachPrologNode(Label* verified_entry) : _verified_entry(verified_entry) {
+ init_class_id(Class_MachProlog);
+ }
virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const;
virtual uint size(PhaseRegAlloc *ra_) const;
virtual int reloc() const;
+ Label* _verified_entry;
#ifndef PRODUCT
virtual const char *Name() const { return "Prolog"; }
virtual void format( PhaseRegAlloc *, outputStream *st ) const;
#endif
};
@@ -892,10 +916,11 @@
bool returns_long() const { return tf()->return_type() == T_LONG; }
bool return_value_is_used() const;
// Similar to cousin class CallNode::returns_pointer
bool returns_pointer() const;
+ bool returns_vt() const;
#ifndef PRODUCT
virtual void dump_spec(outputStream *st) const;
#endif
};
< prev index next >