< prev index next > src/hotspot/share/cds/archiveHeapWriter.hpp
Print this page
static bool is_marked_as_native_pointer(ArchiveHeapInfo* heap_info, oop src_obj, int field_offset);
static oop source_obj_to_requested_obj(oop src_obj);
static oop buffered_addr_to_source_obj(address buffered_addr);
static address buffered_addr_to_requested_addr(address buffered_addr);
- // Archived heap object headers carry pre-computed narrow Klass ids calculated with the
- // following scheme:
- // 1) the encoding base must be the mapping start address.
- // 2) shift must be large enough to result in an encoding range that covers the runtime Klass range.
- // That Klass range is defined by CDS archive size and runtime class space size. Luckily, the maximum
- // size can be predicted: archive size is assumed to be <1G, class space size capped at 3G, and at
- // runtime we put both regions adjacent to each other. Therefore, runtime Klass range size < 4G.
- // Since nKlass itself is 32 bit, our encoding range len is 4G, and since we set the base directly
- // at mapping start, these 4G are enough. Therefore, we don't need to shift at all (shift=0).
- static constexpr int precomputed_narrow_klass_shift = 0;
-
};
#endif // INCLUDE_CDS_JAVA_HEAP
#endif // SHARE_CDS_ARCHIVEHEAPWRITER_HPP
< prev index next >