Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp @ 20278:2c6ef90f030a
8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
author | stefank |
---|---|
date | Mon, 07 Jul 2014 10:12:40 +0200 |
parents | b0c374311c4e |
children | a3953c777565 |
comparison
equal
deleted
inserted
replaced
20277:882004b9e7e1 | 20278:2c6ef90f030a |
---|---|
30 #include "gc_implementation/g1/g1OopClosures.hpp" | 30 #include "gc_implementation/g1/g1OopClosures.hpp" |
31 #include "gc_implementation/g1/g1ParScanThreadState.inline.hpp" | 31 #include "gc_implementation/g1/g1ParScanThreadState.inline.hpp" |
32 #include "gc_implementation/g1/g1RemSet.hpp" | 32 #include "gc_implementation/g1/g1RemSet.hpp" |
33 #include "gc_implementation/g1/g1RemSet.inline.hpp" | 33 #include "gc_implementation/g1/g1RemSet.inline.hpp" |
34 #include "gc_implementation/g1/heapRegionRemSet.hpp" | 34 #include "gc_implementation/g1/heapRegionRemSet.hpp" |
35 #include "memory/iterator.inline.hpp" | |
35 #include "runtime/prefetch.inline.hpp" | 36 #include "runtime/prefetch.inline.hpp" |
36 | 37 |
37 /* | 38 /* |
38 * This really ought to be an inline function, but apparently the C++ | 39 * This really ought to be an inline function, but apparently the C++ |
39 * compiler sometimes sees fit to ignore inline declarations. Sigh. | 40 * compiler sometimes sees fit to ignore inline declarations. Sigh. |
106 } | 107 } |
107 } | 108 } |
108 | 109 |
109 template <class T> | 110 template <class T> |
110 inline void G1CMOopClosure::do_oop_nv(T* p) { | 111 inline void G1CMOopClosure::do_oop_nv(T* p) { |
111 assert(_g1h->is_in_g1_reserved((HeapWord*) p), "invariant"); | |
112 assert(!_g1h->is_on_master_free_list( | |
113 _g1h->heap_region_containing((HeapWord*) p)), "invariant"); | |
114 | |
115 oop obj = oopDesc::load_decode_heap_oop(p); | 112 oop obj = oopDesc::load_decode_heap_oop(p); |
116 if (_cm->verbose_high()) { | 113 if (_cm->verbose_high()) { |
117 gclog_or_tty->print_cr("[%u] we're looking at location " | 114 gclog_or_tty->print_cr("[%u] we're looking at location " |
118 "*"PTR_FORMAT" = "PTR_FORMAT, | 115 "*"PTR_FORMAT" = "PTR_FORMAT, |
119 _task->worker_id(), p2i(p), p2i((void*) obj)); | 116 _task->worker_id(), p2i(p), p2i((void*) obj)); |