< prev index next >
src/hotspot/share/opto/machnode.hpp
Print this page
@@ -461,10 +461,26 @@
int constant_offset() const { return ((MachConstantNode*) this)->constant_offset(); }
// Unchecked version to avoid assertions in debug output.
int constant_offset_unchecked() const;
};
+//------------------------------MachVVEPNode-----------------------------------
+// Machine Verified Value Type Entry Point Node
+class MachVVEPNode : public MachIdealNode {
+public:
+ MachVVEPNode(Label* verified_entry) : _verified_entry(verified_entry) {}
+ virtual void emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const;
+ virtual uint size(PhaseRegAlloc* ra_) const;
+
+#ifndef PRODUCT
+ virtual const char* Name() const { return "Verified ValueType Entry-Point"; }
+ virtual void format(PhaseRegAlloc*, outputStream* st) const;
+#endif
+private:
+ Label* _verified_entry;
+};
+
//------------------------------MachUEPNode-----------------------------------
// Machine Unvalidated Entry Point Node
class MachUEPNode : public MachIdealNode {
public:
MachUEPNode( ) {}
@@ -479,15 +495,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
};
< prev index next >