Mercurial > hg > truffle
comparison src/share/vm/memory/defNewGeneration.cpp @ 989:148e5441d916
6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
author | jrose |
---|---|
date | Tue, 15 Sep 2009 21:53:47 -0700 |
parents | 27a80744a83b |
children | e018e6884bd8 |
comparison
equal
deleted
inserted
replaced
987:00977607da34 | 989:148e5441d916 |
---|---|
553 | 553 |
554 assert(gch->no_allocs_since_save_marks(0), | 554 assert(gch->no_allocs_since_save_marks(0), |
555 "save marks have not been newly set."); | 555 "save marks have not been newly set."); |
556 | 556 |
557 gch->gen_process_strong_roots(_level, | 557 gch->gen_process_strong_roots(_level, |
558 true, // Process younger gens, if any, as | 558 true, // Process younger gens, if any, |
559 // strong roots. | 559 // as strong roots. |
560 false,// not collecting permanent generation. | 560 true, // activate StrongRootsScope |
561 false, // not collecting perm generation. | |
561 SharedHeap::SO_AllClasses, | 562 SharedHeap::SO_AllClasses, |
562 &fsc_with_gc_barrier, | 563 &fsc_with_no_gc_barrier, |
563 &fsc_with_no_gc_barrier); | 564 true, // walk *all* scavengable nmethods |
565 &fsc_with_gc_barrier); | |
564 | 566 |
565 // "evacuate followers". | 567 // "evacuate followers". |
566 evacuate_followers.do_void(); | 568 evacuate_followers.do_void(); |
567 | 569 |
568 FastKeepAliveClosure keep_alive(this, &scan_weak_ref); | 570 FastKeepAliveClosure keep_alive(this, &scan_weak_ref); |