comparison src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.cpp @ 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
comparison
equal deleted inserted replaced
110:a49a647afe9a 113:ba764ed4b6f2
23 */ 23 */
24 24
25 #include "incls/_precompiled.incl" 25 #include "incls/_precompiled.incl"
26 #include "incls/_psPromotionLAB.cpp.incl" 26 #include "incls/_psPromotionLAB.cpp.incl"
27 27
28 const size_t PSPromotionLAB::filler_header_size = align_object_size(typeArrayOopDesc::header_size(T_INT)); 28 size_t PSPromotionLAB::filler_header_size;
29 29
30 // This is the shared initialization code. It sets up the basic pointers, 30 // This is the shared initialization code. It sets up the basic pointers,
31 // and allows enough extra space for a filler object. We call a virtual 31 // and allows enough extra space for a filler object. We call a virtual
32 // method, "lab_is_valid()" to handle the different asserts the old/young 32 // method, "lab_is_valid()" to handle the different asserts the old/young
33 // labs require. 33 // labs require.
38 HeapWord* end = lab.end(); 38 HeapWord* end = lab.end();
39 39
40 set_bottom(bottom); 40 set_bottom(bottom);
41 set_end(end); 41 set_end(end);
42 set_top(bottom); 42 set_top(bottom);
43
44 // Initialize after VM starts up because header_size depends on compressed
45 // oops.
46 filler_header_size = align_object_size(typeArrayOopDesc::header_size(T_INT));
43 47
44 // We can be initialized to a zero size! 48 // We can be initialized to a zero size!
45 if (free() > 0) { 49 if (free() > 0) {
46 if (ZapUnusedHeapArea) { 50 if (ZapUnusedHeapArea) {
47 debug_only(Copy::fill_to_words(top(), free()/HeapWordSize, badHeapWord)); 51 debug_only(Copy::fill_to_words(top(), free()/HeapWordSize, badHeapWord));