equal
deleted
inserted
replaced
63 |
63 |
64 class Klass : public Metadata { |
64 class Klass : public Metadata { |
65 friend class VMStructs; |
65 friend class VMStructs; |
66 friend class JVMCIVMStructs; |
66 friend class JVMCIVMStructs; |
67 protected: |
67 protected: |
|
68 // If you add a new field that points to any metaspace object, you |
|
69 // must add this field to Klass::metaspace_pointers_do(). |
|
70 |
68 // note: put frequently-used fields together at start of klass structure |
71 // note: put frequently-used fields together at start of klass structure |
69 // for better cache behavior (may not make much of a difference but sure won't hurt) |
72 // for better cache behavior (may not make much of a difference but sure won't hurt) |
70 enum { _primary_super_limit = 8 }; |
73 enum { _primary_super_limit = 8 }; |
71 |
74 |
72 // The "layout helper" is a combined descriptor of object layout. |
75 // The "layout helper" is a combined descriptor of object layout. |
595 TRACE_DEFINE_TRACE_ID_METHODS; |
598 TRACE_DEFINE_TRACE_ID_METHODS; |
596 |
599 |
597 // garbage collection support |
600 // garbage collection support |
598 void oops_do(OopClosure* cl); |
601 void oops_do(OopClosure* cl); |
599 |
602 |
|
603 virtual void metaspace_pointers_do(MetaspaceClosure* iter); |
|
604 virtual MetaspaceObj::Type type() const { return ClassType; } |
|
605 |
600 // Iff the class loader (or mirror for anonymous classes) is alive the |
606 // Iff the class loader (or mirror for anonymous classes) is alive the |
601 // Klass is considered alive. |
607 // Klass is considered alive. |
602 // The is_alive closure passed in depends on the Garbage Collector used. |
608 // The is_alive closure passed in depends on the Garbage Collector used. |
603 bool is_loader_alive(BoolObjectClosure* is_alive); |
609 bool is_loader_alive(BoolObjectClosure* is_alive); |
604 |
610 |