< prev index next >

src/hotspot/share/oops/instanceStackChunkKlass.hpp

Print this page

110   static int _offset_of_stack;
111 
112   InstanceStackChunkKlass(const ClassFileParser& parser);
113 
114 public:
115   InstanceStackChunkKlass();
116 
117   // Casting from Klass*
118   static InstanceStackChunkKlass* cast(Klass* k) {
119     assert(k->is_stack_chunk_instance_klass(), "cast to InstanceStackChunkKlass");
120     return static_cast<InstanceStackChunkKlass*>(k);
121   }
122 
123   inline size_t instance_size(size_t stack_size_in_words) const;
124 
125   static inline size_t bitmap_size_in_bits(size_t stack_size_in_words); // In bits
126   static inline size_t bitmap_size(size_t stack_size_in_words); // In words
127   static inline size_t gc_data_size(size_t stack_size_in_words); // In words
128 
129   // Returns the size of the instance including the stack data.
130   virtual size_t oop_size(oop obj) const override;
131 
132   static void serialize_offsets(class SerializeClosure* f) NOT_CDS_RETURN;
133 
134   static void print_chunk(const stackChunkOop chunk, bool verbose, outputStream* st = tty);
135 
136 #ifndef PRODUCT
137   void oop_print_on(oop obj, outputStream* st) override;
138 #endif
139 
140   // Stack offset is an offset into the Heap
141   static int offset_of_stack() { return _offset_of_stack; }
142   static void init_offset_of_stack();
143 
144   // Oop fields (and metadata) iterators
145   //
146   // The InstanceClassLoaderKlass iterators also visit the CLD pointer (or mirror of anonymous klasses).
147 
148   // Forward iteration
149   // Iterate over the oop fields and metadata.
150   template <typename T, class OopClosureType>

110   static int _offset_of_stack;
111 
112   InstanceStackChunkKlass(const ClassFileParser& parser);
113 
114 public:
115   InstanceStackChunkKlass();
116 
117   // Casting from Klass*
118   static InstanceStackChunkKlass* cast(Klass* k) {
119     assert(k->is_stack_chunk_instance_klass(), "cast to InstanceStackChunkKlass");
120     return static_cast<InstanceStackChunkKlass*>(k);
121   }
122 
123   inline size_t instance_size(size_t stack_size_in_words) const;
124 
125   static inline size_t bitmap_size_in_bits(size_t stack_size_in_words); // In bits
126   static inline size_t bitmap_size(size_t stack_size_in_words); // In words
127   static inline size_t gc_data_size(size_t stack_size_in_words); // In words
128 
129   // Returns the size of the instance including the stack data.
130   size_t oop_size(oop obj, markWord mark) const override;
131 
132   static void serialize_offsets(class SerializeClosure* f) NOT_CDS_RETURN;
133 
134   static void print_chunk(const stackChunkOop chunk, bool verbose, outputStream* st = tty);
135 
136 #ifndef PRODUCT
137   void oop_print_on(oop obj, outputStream* st) override;
138 #endif
139 
140   // Stack offset is an offset into the Heap
141   static int offset_of_stack() { return _offset_of_stack; }
142   static void init_offset_of_stack();
143 
144   // Oop fields (and metadata) iterators
145   //
146   // The InstanceClassLoaderKlass iterators also visit the CLD pointer (or mirror of anonymous klasses).
147 
148   // Forward iteration
149   // Iterate over the oop fields and metadata.
150   template <typename T, class OopClosureType>
< prev index next >