mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 19:44:41 +02:00
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
This commit is contained in:
parent
680ecf1611
commit
4a831d45f0
273 changed files with 6585 additions and 2993 deletions
|
@ -24,7 +24,8 @@
|
|||
|
||||
// A constantPoolKlass is the klass of a constantPoolOop
|
||||
|
||||
class constantPoolKlass : public arrayKlass {
|
||||
class constantPoolKlass : public Klass {
|
||||
juint _alloc_size; // allocation profiling support
|
||||
public:
|
||||
// Dispatched klass operations
|
||||
bool oop_is_constantPool() const { return true; }
|
||||
|
@ -44,7 +45,7 @@ class constantPoolKlass : public arrayKlass {
|
|||
|
||||
// Sizing
|
||||
static int header_size() { return oopDesc::header_size() + sizeof(constantPoolKlass)/HeapWordSize; }
|
||||
int object_size() const { return arrayKlass::object_size(header_size()); }
|
||||
int object_size() const { return align_object_size(header_size()); }
|
||||
|
||||
// Garbage collection
|
||||
void oop_follow_contents(oop obj);
|
||||
|
@ -57,6 +58,11 @@ class constantPoolKlass : public arrayKlass {
|
|||
int oop_oop_iterate(oop obj, OopClosure* blk);
|
||||
int oop_oop_iterate_m(oop obj, OopClosure* blk, MemRegion mr);
|
||||
|
||||
// Allocation profiling support
|
||||
// no idea why this is pure virtual and not in Klass ???
|
||||
juint alloc_size() const { return _alloc_size; }
|
||||
void set_alloc_size(juint n) { _alloc_size = n; }
|
||||
|
||||
#ifndef PRODUCT
|
||||
public:
|
||||
// Printing
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue