1 /*
2 * Copyright (c) 2014, 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 #include "precompiled.hpp"
26 #include "gc_implementation/g1/heapRegionType.hpp"
27
28 bool HeapRegionType::is_valid(Tag tag) {
29 switch (tag) {
30 case FreeTag:
31 case EdenTag:
32 case SurvTag:
33 case HumStartsTag:
34 case HumContTag:
35 case OldTag:
36 return true;
37 }
38 return false;
39 }
40
41 const char* HeapRegionType::get_str() const {
42 hrt_assert_is_valid(_tag);
43 switch (_tag) {
44 case FreeTag: return "FREE";
45 case EdenTag: return "EDEN";
50 }
51 ShouldNotReachHere();
52 // keep some compilers happy
53 return NULL;
54 }
55
56 const char* HeapRegionType::get_short_str() const {
57 hrt_assert_is_valid(_tag);
58 switch (_tag) {
59 case FreeTag: return "F";
60 case EdenTag: return "E";
61 case SurvTag: return "S";
62 case HumStartsTag: return "HS";
63 case HumContTag: return "HC";
64 case OldTag: return "O";
65 }
66 ShouldNotReachHere();
67 // keep some compilers happy
68 return NULL;
69 }
|
1 /*
2 * Copyright (c) 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 #include "precompiled.hpp"
26 #include "gc_implementation/g1/g1HeapRegionTraceType.hpp"
27 #include "gc_implementation/g1/heapRegionType.hpp"
28
29 bool HeapRegionType::is_valid(Tag tag) {
30 switch (tag) {
31 case FreeTag:
32 case EdenTag:
33 case SurvTag:
34 case HumStartsTag:
35 case HumContTag:
36 case OldTag:
37 return true;
38 }
39 return false;
40 }
41
42 const char* HeapRegionType::get_str() const {
43 hrt_assert_is_valid(_tag);
44 switch (_tag) {
45 case FreeTag: return "FREE";
46 case EdenTag: return "EDEN";
51 }
52 ShouldNotReachHere();
53 // keep some compilers happy
54 return NULL;
55 }
56
57 const char* HeapRegionType::get_short_str() const {
58 hrt_assert_is_valid(_tag);
59 switch (_tag) {
60 case FreeTag: return "F";
61 case EdenTag: return "E";
62 case SurvTag: return "S";
63 case HumStartsTag: return "HS";
64 case HumContTag: return "HC";
65 case OldTag: return "O";
66 }
67 ShouldNotReachHere();
68 // keep some compilers happy
69 return NULL;
70 }
71
72 G1HeapRegionTraceType::Type HeapRegionType::get_trace_type() {
73 hrt_assert_is_valid(_tag);
74 switch (_tag) {
75 case FreeTag: return G1HeapRegionTraceType::Free;
76 case EdenTag: return G1HeapRegionTraceType::Eden;
77 case SurvTag: return G1HeapRegionTraceType::Survivor;
78 case HumStartsTag: return G1HeapRegionTraceType::StartsHumongous;
79 case HumContTag: return G1HeapRegionTraceType::ContinuesHumongous;
80 case OldTag: return G1HeapRegionTraceType::Old;
81 default:
82 ShouldNotReachHere();
83 return G1HeapRegionTraceType::Free; // keep some compilers happy
84 }
85 }
|