< prev index next >

src/hotspot/share/cds/aotMappedHeapWriter.hpp

Print this page

177 
178   // The exclusive end of the last object that was copied into the buffer.
179   static address buffer_top() {
180     return buffer_bottom() + _buffer_used;
181   }
182 
183   static bool in_buffer(address buffered_addr) {
184     return (buffer_bottom() <= buffered_addr) && (buffered_addr < buffer_top());
185   }
186 
187   static size_t buffered_address_to_offset(address buffered_addr) {
188     assert(in_buffer(buffered_addr), "sanity");
189     return buffered_addr - buffer_bottom();
190   }
191 
192   static void root_segment_at_put(objArrayOop segment, int index, oop root);
193   static objArrayOop allocate_root_segment(size_t offset, int element_count);
194   static void copy_roots_to_buffer(GrowableArrayCHeap<oop, mtClassShared>* roots);
195   static void copy_source_objs_to_buffer(GrowableArrayCHeap<oop, mtClassShared>* roots);
196   static size_t copy_one_source_obj_to_buffer(oop src_obj);

197 
198   static void maybe_fill_gc_region_gap(size_t required_byte_size);
199   static size_t filler_array_byte_size(int length);
200   static int filler_array_length(size_t fill_bytes);
201   static HeapWord* init_filler_array_at_buffer_top(int array_length, size_t fill_bytes);
202 
203   static void set_requested_address(ArchiveMappedHeapInfo* info);
204   static void mark_native_pointers(oop orig_obj);
205   static void relocate_embedded_oops(GrowableArrayCHeap<oop, mtClassShared>* roots, ArchiveMappedHeapInfo* info);
206   static void compute_ptrmap(ArchiveMappedHeapInfo *info);
207   static bool is_in_requested_range(oop o);
208   static oop requested_obj_from_buffer_offset(size_t offset);
209 
210   static oop load_oop_from_buffer(oop* buffered_addr);
211   static oop load_oop_from_buffer(narrowOop* buffered_addr);
212   inline static void store_oop_in_buffer(oop* buffered_addr, oop requested_obj);
213   inline static void store_oop_in_buffer(narrowOop* buffered_addr, oop requested_obj);
214 
215   template <typename T> static oop load_source_oop_from_buffer(T* buffered_addr);
216   template <typename T> static void store_requested_oop_in_buffer(T* buffered_addr, oop request_oop);

177 
178   // The exclusive end of the last object that was copied into the buffer.
179   static address buffer_top() {
180     return buffer_bottom() + _buffer_used;
181   }
182 
183   static bool in_buffer(address buffered_addr) {
184     return (buffer_bottom() <= buffered_addr) && (buffered_addr < buffer_top());
185   }
186 
187   static size_t buffered_address_to_offset(address buffered_addr) {
188     assert(in_buffer(buffered_addr), "sanity");
189     return buffered_addr - buffer_bottom();
190   }
191 
192   static void root_segment_at_put(objArrayOop segment, int index, oop root);
193   static objArrayOop allocate_root_segment(size_t offset, int element_count);
194   static void copy_roots_to_buffer(GrowableArrayCHeap<oop, mtClassShared>* roots);
195   static void copy_source_objs_to_buffer(GrowableArrayCHeap<oop, mtClassShared>* roots);
196   static size_t copy_one_source_obj_to_buffer(oop src_obj);
197   static void update_stats(oop src_obj);
198 
199   static void maybe_fill_gc_region_gap(size_t required_byte_size);
200   static size_t filler_array_byte_size(int length);
201   static int filler_array_length(size_t fill_bytes);
202   static HeapWord* init_filler_array_at_buffer_top(int array_length, size_t fill_bytes);
203 
204   static void set_requested_address(ArchiveMappedHeapInfo* info);
205   static void mark_native_pointers(oop orig_obj);
206   static void relocate_embedded_oops(GrowableArrayCHeap<oop, mtClassShared>* roots, ArchiveMappedHeapInfo* info);
207   static void compute_ptrmap(ArchiveMappedHeapInfo *info);
208   static bool is_in_requested_range(oop o);
209   static oop requested_obj_from_buffer_offset(size_t offset);
210 
211   static oop load_oop_from_buffer(oop* buffered_addr);
212   static oop load_oop_from_buffer(narrowOop* buffered_addr);
213   inline static void store_oop_in_buffer(oop* buffered_addr, oop requested_obj);
214   inline static void store_oop_in_buffer(narrowOop* buffered_addr, oop requested_obj);
215 
216   template <typename T> static oop load_source_oop_from_buffer(T* buffered_addr);
217   template <typename T> static void store_requested_oop_in_buffer(T* buffered_addr, oop request_oop);
< prev index next >