Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp @ 18041:52b4284cb496
Merge with jdk8u20-b26
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Wed, 15 Oct 2014 16:02:50 +0200 |
parents | 4ca6dc0799b6 8e20ef014b08 |
children | 7848fc12602b |
comparison
equal
deleted
inserted
replaced
17606:45d7b2c7029d | 18041:52b4284cb496 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
59 #include "utilities/events.hpp" | 59 #include "utilities/events.hpp" |
60 #include "utilities/stack.inline.hpp" | 60 #include "utilities/stack.inline.hpp" |
61 | 61 |
62 #include <math.h> | 62 #include <math.h> |
63 | 63 |
64 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC | |
65 | |
64 // All sizes are in HeapWords. | 66 // All sizes are in HeapWords. |
65 const size_t ParallelCompactData::Log2RegionSize = 16; // 64K words | 67 const size_t ParallelCompactData::Log2RegionSize = 16; // 64K words |
66 const size_t ParallelCompactData::RegionSize = (size_t)1 << Log2RegionSize; | 68 const size_t ParallelCompactData::RegionSize = (size_t)1 << Log2RegionSize; |
67 const size_t ParallelCompactData::RegionSizeBytes = | 69 const size_t ParallelCompactData::RegionSizeBytes = |
68 RegionSize << LogHeapWordSize; | 70 RegionSize << LogHeapWordSize; |
849 ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing | 851 ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing |
850 (int) ParallelGCThreads, // mt processing degree | 852 (int) ParallelGCThreads, // mt processing degree |
851 true, // mt discovery | 853 true, // mt discovery |
852 (int) ParallelGCThreads, // mt discovery degree | 854 (int) ParallelGCThreads, // mt discovery degree |
853 true, // atomic_discovery | 855 true, // atomic_discovery |
854 &_is_alive_closure, // non-header is alive closure | 856 &_is_alive_closure); // non-header is alive closure |
855 false); // write barrier for next field updates | |
856 _counters = new CollectorCounters("PSParallelCompact", 1); | 857 _counters = new CollectorCounters("PSParallelCompact", 1); |
857 | 858 |
858 // Initialize static fields in ParCompactionManager. | 859 // Initialize static fields in ParCompactionManager. |
859 ParCompactionManager::initialize(mark_bitmap()); | 860 ParCompactionManager::initialize(mark_bitmap()); |
860 } | 861 } |
925 | 926 |
926 void fill(ParallelScavengeHeap* heap) { | 927 void fill(ParallelScavengeHeap* heap) { |
927 _heap_used = heap->used(); | 928 _heap_used = heap->used(); |
928 _young_gen_used = heap->young_gen()->used_in_bytes(); | 929 _young_gen_used = heap->young_gen()->used_in_bytes(); |
929 _old_gen_used = heap->old_gen()->used_in_bytes(); | 930 _old_gen_used = heap->old_gen()->used_in_bytes(); |
930 _metadata_used = MetaspaceAux::allocated_used_bytes(); | 931 _metadata_used = MetaspaceAux::used_bytes(); |
931 }; | 932 }; |
932 | 933 |
933 size_t heap_used() const { return _heap_used; } | 934 size_t heap_used() const { return _heap_used; } |
934 size_t young_gen_used() const { return _young_gen_used; } | 935 size_t young_gen_used() const { return _young_gen_used; } |
935 size_t old_gen_used() const { return _old_gen_used; } | 936 size_t old_gen_used() const { return _old_gen_used; } |