hotspot/src/share/vm/memory/genCollectedHeap.cpp
changeset 360 21d113ecbf6a
parent 1 489c9b5090e2
child 971 f0b20be4165d
child 670 ddf3e9583f2f
equal deleted inserted replaced
357:f4edb0d9f109 360:21d113ecbf6a
   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);