Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openj9
Path: blob/master/runtime/gc_check/ScanFormatter.cpp
5985 views
1
/*******************************************************************************
2
* Copyright (c) 1991, 2014 IBM Corp. and others
3
*
4
* This program and the accompanying materials are made available under
5
* the terms of the Eclipse Public License 2.0 which accompanies this
6
* distribution and is available at https://www.eclipse.org/legal/epl-2.0/
7
* or the Apache License, Version 2.0 which accompanies this distribution and
8
* is available at https://www.apache.org/licenses/LICENSE-2.0.
9
*
10
* This Source Code may also be made available under the following
11
* Secondary Licenses when the conditions for such availability set
12
* forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
13
* General Public License, version 2 with the GNU Classpath
14
* Exception [1] and GNU General Public License, version 2 with the
15
* OpenJDK Assembly Exception [2].
16
*
17
* [1] https://www.gnu.org/software/classpath/license.html
18
* [2] http://openjdk.java.net/legal/assembly-exception.html
19
*
20
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
21
*******************************************************************************/
22
23
/**
24
* @file
25
* @ingroup GC_Check
26
*/
27
28
#include "j9.h"
29
#include "j9cfg.h"
30
31
#include "ScanFormatter.hpp"
32
33
void
34
GC_ScanFormatter::section(const char *type, void *pointer)
35
{
36
PORT_ACCESS_FROM_PORT(_portLibrary);
37
38
j9tty_printf(PORTLIB, " <%s (%p)>\n", type, pointer);
39
_currentCount = 0;
40
}
41
42
void
43
GC_ScanFormatter::section(const char *type)
44
{
45
PORT_ACCESS_FROM_PORT(_portLibrary);
46
47
j9tty_printf(PORTLIB, " <%s>\n", type);
48
_currentCount = 0;
49
}
50
51
void
52
GC_ScanFormatter::endSection()
53
{
54
PORT_ACCESS_FROM_PORT(_portLibrary);
55
56
if ((0 != _currentCount) && _displayedData) {
57
j9tty_printf(PORTLIB,">\n");
58
_currentCount = 0;
59
}
60
}
61
62
void
63
GC_ScanFormatter::entry(void *pointer)
64
{
65
PORT_ACCESS_FROM_PORT(_portLibrary);
66
67
if (0 == _currentCount) {
68
j9tty_printf(PORTLIB, " <");
69
_displayedData = true;
70
}
71
j9tty_printf(PORTLIB, "%p ", pointer);
72
73
_currentCount += 1;
74
75
if (NUMBER_ELEMENTS_DISPLAYED_PER_LINE == _currentCount) {
76
j9tty_printf(PORTLIB, ">\n");
77
_currentCount = 0;
78
}
79
}
80
81
void
82
GC_ScanFormatter::end(const char *type, void *pointer)
83
{
84
PORT_ACCESS_FROM_PORT(_portLibrary);
85
86
if ((0 != _currentCount) && _displayedData) {
87
j9tty_printf(PORTLIB,">\n");
88
}
89
j9tty_printf(PORTLIB, "<gc check: End scan %s (%p)>\n", type, pointer);
90
}
91
92
void
93
GC_ScanFormatter::end(const char *type)
94
{
95
PORT_ACCESS_FROM_PORT(_portLibrary);
96
97
if ((0 != _currentCount) && _displayedData) {
98
j9tty_printf(PORTLIB,">\n");
99
}
100
j9tty_printf(PORTLIB, "<gc check: End scan %s>\n", type);
101
}
102
103