comparison src/share/vm/memory/genCollectedHeap.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 12eea04c8b06
comparison
equal deleted inserted replaced
110:a49a647afe9a 113:ba764ed4b6f2
622 class AssertIsPermClosure: public OopClosure { 622 class AssertIsPermClosure: public OopClosure {
623 public: 623 public:
624 void do_oop(oop* p) { 624 void do_oop(oop* p) {
625 assert((*p) == NULL || (*p)->is_perm(), "Referent should be perm."); 625 assert((*p) == NULL || (*p)->is_perm(), "Referent should be perm.");
626 } 626 }
627 void do_oop(narrowOop* p) { ShouldNotReachHere(); }
627 }; 628 };
628 static AssertIsPermClosure assert_is_perm_closure; 629 static AssertIsPermClosure assert_is_perm_closure;
629 630
630 void GenCollectedHeap:: 631 void GenCollectedHeap::
631 gen_process_strong_roots(int level, 632 gen_process_strong_roots(int level,
1298 perm_gen()->ensure_parsability(); 1299 perm_gen()->ensure_parsability();
1299 } 1300 }
1300 1301
1301 oop GenCollectedHeap::handle_failed_promotion(Generation* gen, 1302 oop GenCollectedHeap::handle_failed_promotion(Generation* gen,
1302 oop obj, 1303 oop obj,
1303 size_t obj_size, 1304 size_t obj_size) {
1304 oop* ref) {
1305 assert(obj_size == (size_t)obj->size(), "bad obj_size passed in"); 1305 assert(obj_size == (size_t)obj->size(), "bad obj_size passed in");
1306 HeapWord* result = NULL; 1306 HeapWord* result = NULL;
1307 1307
1308 // First give each higher generation a chance to allocate the promoted object. 1308 // First give each higher generation a chance to allocate the promoted object.
1309 Generation* allocator = next_gen(gen); 1309 Generation* allocator = next_gen(gen);