//------------------------------EncodeP-------------------------------- // Encodes an oop pointers into its compressed form // Takes an extra argument which is the real heap base as a long which // may be useful for code generation in the backend. class EncodePNode : public EncodeNarrowPtrNode { public:
EncodePNode(Node* value, const Type* type):
EncodeNarrowPtrNode(value, type) {
init_class_id(Class_EncodeP);
} virtualint Opcode() const; virtual Node* Identity(PhaseGVN* phase); virtualconst Type* Value(PhaseGVN* phase) const;
};
//------------------------------EncodePKlass-------------------------------- // Encodes a klass pointer into its compressed form // Takes an extra argument which is the real heap base as a long which // may be useful for code generation in the backend. class EncodePKlassNode : public EncodeNarrowPtrNode { public:
EncodePKlassNode(Node* value, const Type* type):
EncodeNarrowPtrNode(value, type) {
init_class_id(Class_EncodePKlass);
} virtualint Opcode() const; virtual Node* Identity(PhaseGVN* phase); virtualconst Type* Value(PhaseGVN* phase) const;
};
//------------------------------DecodeN-------------------------------- // Converts a narrow oop into a real oop ptr. // Takes an extra argument which is the real heap base as a long which // may be useful for code generation in the backend. class DecodeNNode : public DecodeNarrowPtrNode { public:
DecodeNNode(Node* value, const Type* type):
DecodeNarrowPtrNode(value, type) {
init_class_id(Class_DecodeN);
} virtualint Opcode() const; virtualconst Type* Value(PhaseGVN* phase) const; virtual Node* Identity(PhaseGVN* phase);
};
//------------------------------DecodeNKlass-------------------------------- // Converts a narrow klass pointer into a real klass ptr. // Takes an extra argument which is the real heap base as a long which // may be useful for code generation in the backend. class DecodeNKlassNode : public DecodeNarrowPtrNode { public:
DecodeNKlassNode(Node* value, const Type* type):
DecodeNarrowPtrNode(value, type) {
init_class_id(Class_DecodeNKlass);
} virtualint Opcode() const; virtualconst Type* Value(PhaseGVN* phase) const; virtual Node* Identity(PhaseGVN* phase);
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.