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/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 StartsHumongousTag:
34 case ContinuesHumongousTag:
35 case OldTag:
36 case ArchiveTag:
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";
52 }
53 ShouldNotReachHere();
54 // keep some compilers happy
55 return NULL;
56 }
57
58 const char* HeapRegionType::get_short_str() const {
59 hrt_assert_is_valid(_tag);
60 switch (_tag) {
61 case FreeTag: return "F";
62 case EdenTag: return "E";
63 case SurvTag: return "S";
64 case StartsHumongousTag: return "HS";
65 case ContinuesHumongousTag: return "HC";
66 case OldTag: return "O";
67 case ArchiveTag: return "A";
68 }
69 ShouldNotReachHere();
70 // keep some compilers happy
71 return NULL;
72 }
|
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/g1/g1HeapRegionTraceType.hpp"
27 #include "gc/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 StartsHumongousTag:
35 case ContinuesHumongousTag:
36 case OldTag:
37 case ArchiveTag:
38 return true;
39 }
40 return false;
41 }
42
43 const char* HeapRegionType::get_str() const {
44 hrt_assert_is_valid(_tag);
45 switch (_tag) {
46 case FreeTag: return "FREE";
53 }
54 ShouldNotReachHere();
55 // keep some compilers happy
56 return NULL;
57 }
58
59 const char* HeapRegionType::get_short_str() const {
60 hrt_assert_is_valid(_tag);
61 switch (_tag) {
62 case FreeTag: return "F";
63 case EdenTag: return "E";
64 case SurvTag: return "S";
65 case StartsHumongousTag: return "HS";
66 case ContinuesHumongousTag: return "HC";
67 case OldTag: return "O";
68 case ArchiveTag: return "A";
69 }
70 ShouldNotReachHere();
71 // keep some compilers happy
72 return NULL;
73 }
74
75 G1HeapRegionTraceType::Type HeapRegionType::get_trace_type() {
76 hrt_assert_is_valid(_tag);
77 switch (_tag) {
78 case FreeTag: return G1HeapRegionTraceType::Free;
79 case EdenTag: return G1HeapRegionTraceType::Eden;
80 case SurvTag: return G1HeapRegionTraceType::Survivor;
81 case StartsHumongousTag: return G1HeapRegionTraceType::StartsHumongous;
82 case ContinuesHumongousTag: return G1HeapRegionTraceType::ContinuesHumongous;
83 case OldTag: return G1HeapRegionTraceType::Old;
84 case ArchiveTag: return G1HeapRegionTraceType::Archive;
85 }
86 ShouldNotReachHere();
87 // keep some compilers happy
88 return G1HeapRegionTraceType::Free;
89 }
|