mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +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
|
@ -60,9 +60,9 @@ public:
|
|||
hash_offset = java_lang_String::hash_offset_in_bytes();
|
||||
}
|
||||
|
||||
void do_oop(oop* pobj) {
|
||||
if (pobj != NULL) {
|
||||
oop obj = *pobj;
|
||||
void do_oop(oop* p) {
|
||||
if (p != NULL) {
|
||||
oop obj = *p;
|
||||
if (obj->klass() == SystemDictionary::string_klass()) {
|
||||
|
||||
int hash;
|
||||
|
@ -79,6 +79,7 @@ public:
|
|||
}
|
||||
}
|
||||
}
|
||||
void do_oop(narrowOop* p) { ShouldNotReachHere(); }
|
||||
};
|
||||
|
||||
|
||||
|
@ -121,9 +122,8 @@ static bool mark_object(oop obj) {
|
|||
|
||||
class MarkObjectsOopClosure : public OopClosure {
|
||||
public:
|
||||
void do_oop(oop* pobj) {
|
||||
mark_object(*pobj);
|
||||
}
|
||||
void do_oop(oop* p) { mark_object(*p); }
|
||||
void do_oop(narrowOop* p) { ShouldNotReachHere(); }
|
||||
};
|
||||
|
||||
|
||||
|
@ -136,6 +136,7 @@ public:
|
|||
mark_object(obj);
|
||||
}
|
||||
}
|
||||
void do_oop(narrowOop* pobj) { ShouldNotReachHere(); }
|
||||
};
|
||||
|
||||
|
||||
|
@ -554,6 +555,7 @@ public:
|
|||
}
|
||||
}
|
||||
}
|
||||
void do_oop(narrowOop* pobj) { ShouldNotReachHere(); }
|
||||
};
|
||||
|
||||
|
||||
|
@ -690,6 +692,8 @@ public:
|
|||
++top;
|
||||
}
|
||||
|
||||
void do_oop(narrowOop* pobj) { ShouldNotReachHere(); }
|
||||
|
||||
void do_int(int* p) {
|
||||
check_space();
|
||||
*top = (oop)(intptr_t)*p;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue