1/*
2 * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
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
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25#ifndef SHARE_GC_SHARED_REFERENCEPROCESSORSTATS_HPP
26#define SHARE_GC_SHARED_REFERENCEPROCESSORSTATS_HPP
27
28#include "utilities/globalDefinitions.hpp"
29
30class ReferenceProcessor;
31
32// ReferenceProcessorStats contains statistics about how many references that
33// have been traversed when processing references during garbage collection.
34class ReferenceProcessorStats {
35 size_t _soft_count;
36 size_t _weak_count;
37 size_t _final_count;
38 size_t _phantom_count;
39
40 public:
41 ReferenceProcessorStats() :
42 _soft_count(0),
43 _weak_count(0),
44 _final_count(0),
45 _phantom_count(0) {}
46
47 ReferenceProcessorStats(size_t soft_count,
48 size_t weak_count,
49 size_t final_count,
50 size_t phantom_count) :
51 _soft_count(soft_count),
52 _weak_count(weak_count),
53 _final_count(final_count),
54 _phantom_count(phantom_count)
55 {}
56
57 size_t soft_count() const {
58 return _soft_count;
59 }
60
61 size_t weak_count() const {
62 return _weak_count;
63 }
64
65 size_t final_count() const {
66 return _final_count;
67 }
68
69 size_t phantom_count() const {
70 return _phantom_count;
71 }
72};
73#endif // SHARE_GC_SHARED_REFERENCEPROCESSORSTATS_HPP
74