< prev index next >

src/hotspot/share/oops/instanceStackChunkKlass.hpp

Print this page

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

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