Mercurial > hg > graal-compiler
diff src/share/vm/utilities/copy.hpp @ 113:ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author | coleenp |
---|---|
date | Sun, 13 Apr 2008 17:43:42 -0400 |
parents | a61af66fc99e |
children | d1605aabd0a1 |
line wrap: on
line diff
--- a/src/share/vm/utilities/copy.hpp Fri Apr 11 09:56:35 2008 -0400 +++ b/src/share/vm/utilities/copy.hpp Sun Apr 13 17:43:42 2008 -0400 @@ -148,11 +148,19 @@ // 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 @@ // 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); }