30 #include "gc/shared/blockOffsetTable.inline.hpp" |
30 #include "gc/shared/blockOffsetTable.inline.hpp" |
31 #include "gc/shared/collectedHeap.inline.hpp" |
31 #include "gc/shared/collectedHeap.inline.hpp" |
32 #include "gc/shared/genCollectedHeap.hpp" |
32 #include "gc/shared/genCollectedHeap.hpp" |
33 #include "gc/shared/space.inline.hpp" |
33 #include "gc/shared/space.inline.hpp" |
34 #include "gc/shared/spaceDecorator.hpp" |
34 #include "gc/shared/spaceDecorator.hpp" |
35 #include "logging/logStream.inline.hpp" |
35 #include "logging/log.hpp" |
|
36 #include "logging/logStream.hpp" |
36 #include "memory/allocation.inline.hpp" |
37 #include "memory/allocation.inline.hpp" |
37 #include "memory/resourceArea.hpp" |
38 #include "memory/resourceArea.hpp" |
38 #include "memory/universe.inline.hpp" |
39 #include "memory/universe.inline.hpp" |
39 #include "oops/oop.inline.hpp" |
40 #include "oops/oop.inline.hpp" |
40 #include "runtime/globals.hpp" |
41 #include "runtime/globals.hpp" |
2192 log.error("Livelock: no rank reduction!"); |
2193 log.error("Livelock: no rank reduction!"); |
2193 log.error(" Current: addr = " PTR_FORMAT ", size = " SIZE_FORMAT ", obj = %s, live = %s \n" |
2194 log.error(" Current: addr = " PTR_FORMAT ", size = " SIZE_FORMAT ", obj = %s, live = %s \n" |
2194 " Previous: addr = " PTR_FORMAT ", size = " SIZE_FORMAT ", obj = %s, live = %s \n", |
2195 " Previous: addr = " PTR_FORMAT ", size = " SIZE_FORMAT ", obj = %s, live = %s \n", |
2195 p2i(addr), res, was_obj ?"true":"false", was_live ?"true":"false", |
2196 p2i(addr), res, was_obj ?"true":"false", was_live ?"true":"false", |
2196 p2i(_last_addr), _last_size, _last_was_obj?"true":"false", _last_was_live?"true":"false"); |
2197 p2i(_last_addr), _last_size, _last_was_obj?"true":"false", _last_was_live?"true":"false"); |
2197 ResourceMark rm; |
2198 LogStream ls(log.error()); |
2198 _sp->print_on(log.error_stream()); |
2199 _sp->print_on(&ls); |
2199 guarantee(false, "Verification failed."); |
2200 guarantee(false, "Verification failed."); |
2200 } |
2201 } |
2201 _last_addr = addr; |
2202 _last_addr = addr; |
2202 _last_size = res; |
2203 _last_size = res; |
2203 _last_was_obj = was_obj; |
2204 _last_was_obj = was_obj; |
2367 return; |
2368 return; |
2368 } |
2369 } |
2369 AdaptiveFreeList<FreeChunk> total; |
2370 AdaptiveFreeList<FreeChunk> total; |
2370 log.print("end sweep# " SIZE_FORMAT, sweep_count); |
2371 log.print("end sweep# " SIZE_FORMAT, sweep_count); |
2371 ResourceMark rm; |
2372 ResourceMark rm; |
2372 outputStream* out = log.stream(); |
2373 LogStream ls(log); |
|
2374 outputStream* out = &ls; |
2373 AdaptiveFreeList<FreeChunk>::print_labels_on(out, "size"); |
2375 AdaptiveFreeList<FreeChunk>::print_labels_on(out, "size"); |
2374 size_t total_free = 0; |
2376 size_t total_free = 0; |
2375 for (size_t i = IndexSetStart; i < IndexSetSize; i += IndexSetStride) { |
2377 for (size_t i = IndexSetStart; i < IndexSetSize; i += IndexSetStride) { |
2376 const AdaptiveFreeList<FreeChunk> *fl = &_indexedFreeList[i]; |
2378 const AdaptiveFreeList<FreeChunk> *fl = &_indexedFreeList[i]; |
2377 total_free += fl->count() * fl->size(); |
2379 total_free += fl->count() * fl->size(); |