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
|
@ -148,11 +148,19 @@ class Copy : AllStatic {
|
|||
|
||||
// oops, conjoint, atomic on each oop
|
||||
static void conjoint_oops_atomic(oop* from, oop* to, size_t count) {
|
||||
assert_params_ok(from, to, LogBytesPerOop);
|
||||
assert_params_ok(from, to, LogBytesPerHeapOop);
|
||||
assert_non_zero(count);
|
||||
pd_conjoint_oops_atomic(from, to, count);
|
||||
}
|
||||
|
||||
// overloaded for UseCompressedOops
|
||||
static void conjoint_oops_atomic(narrowOop* from, narrowOop* to, size_t count) {
|
||||
assert(sizeof(narrowOop) == sizeof(jint), "this cast is wrong");
|
||||
assert_params_ok(from, to, LogBytesPerInt);
|
||||
assert_non_zero(count);
|
||||
pd_conjoint_jints_atomic((jint*)from, (jint*)to, count);
|
||||
}
|
||||
|
||||
// Copy a span of memory. If the span is an integral number of aligned
|
||||
// longs, words, or ints, copy those units atomically.
|
||||
// The largest atomic transfer unit is 8 bytes, or the largest power
|
||||
|
@ -188,7 +196,7 @@ class Copy : AllStatic {
|
|||
|
||||
// oops, conjoint array, atomic on each oop
|
||||
static void arrayof_conjoint_oops(HeapWord* from, HeapWord* to, size_t count) {
|
||||
assert_params_ok(from, to, LogBytesPerOop);
|
||||
assert_params_ok(from, to, LogBytesPerHeapOop);
|
||||
assert_non_zero(count);
|
||||
pd_arrayof_conjoint_oops(from, to, count);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue