mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-23 04:24:49 +02:00
7054512: Compress class pointers after perm gen removal
Support of compress class pointers in the compilers. Reviewed-by: kvn, twisti
This commit is contained in:
parent
7162ad011c
commit
61eb5a0549
93 changed files with 1600 additions and 497 deletions
|
@ -437,12 +437,12 @@ public:
|
|||
// Load a narrow Klass from an object.
|
||||
class LoadNKlassNode : public LoadNNode {
|
||||
public:
|
||||
LoadNKlassNode( Node *c, Node *mem, Node *adr, const TypePtr *at, const TypeNarrowOop *tk )
|
||||
LoadNKlassNode( Node *c, Node *mem, Node *adr, const TypePtr *at, const TypeNarrowKlass *tk )
|
||||
: LoadNNode(c,mem,adr,at,tk) {}
|
||||
virtual int Opcode() const;
|
||||
virtual uint ideal_reg() const { return Op_RegN; }
|
||||
virtual int store_Opcode() const { return Op_StoreN; }
|
||||
virtual BasicType memory_type() const { return T_NARROWOOP; }
|
||||
virtual int store_Opcode() const { return Op_StoreNKlass; }
|
||||
virtual BasicType memory_type() const { return T_NARROWKLASS; }
|
||||
|
||||
virtual const Type *Value( PhaseTransform *phase ) const;
|
||||
virtual Node *Identity( PhaseTransform *phase );
|
||||
|
@ -593,6 +593,15 @@ public:
|
|||
virtual BasicType memory_type() const { return T_NARROWOOP; }
|
||||
};
|
||||
|
||||
//------------------------------StoreNKlassNode--------------------------------------
|
||||
// Store narrow klass to memory
|
||||
class StoreNKlassNode : public StoreNNode {
|
||||
public:
|
||||
StoreNKlassNode( Node *c, Node *mem, Node *adr, const TypePtr* at, Node *val ) : StoreNNode(c,mem,adr,at,val) {}
|
||||
virtual int Opcode() const;
|
||||
virtual BasicType memory_type() const { return T_NARROWKLASS; }
|
||||
};
|
||||
|
||||
//------------------------------StoreCMNode-----------------------------------
|
||||
// Store card-mark byte to memory for CM
|
||||
// The last StoreCM before a SafePoint must be preserved and occur after its "oop" store
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue