Cross Reference: c1_InstructionPrinter.hpp
xref
: /
openjdk7
/
hotspot
/
src
/
share
/
vm
/
c1
/
c1_InstructionPrinter.hpp
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
0
N/A
/*
2051
N/A
* Copyright (c) 1999, 2011, Oracle
and
/
or
its affiliates. All rights reserved.
0
N/A
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0
N/A
*
0
N/A
* This code is free software; you can redistribute it
and
/
or
modify it
0
N/A
* under the terms of the GNU General Public License version 2 only, as
0
N/A
* published by the Free Software Foundation.
0
N/A
*
0
N/A
* This code is distributed in the hope that it will be useful, but WITHOUT
0
N/A
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0
N/A
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0
N/A
* version 2 for more details (a copy is included in the LICENSE file that
0
N/A
* accompanied this code).
0
N/A
*
0
N/A
* You should have received a copy of the GNU General Public License version
0
N/A
* 2 along with this work; if not, write to the Free Software Foundation,
0
N/A
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0
N/A
*
1472
N/A
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1472
N/A
* or visit
www.oracle.c
om if you need additional information or have any
1472
N/A
* questions.
0
N/A
*
0
N/A
*/
0
N/A
1879
N/A
#
ifndef
SHARE_VM_C1_C1_INSTRUCTIONPRINTER_HPP
1879
N/A
#
define
SHARE_VM_C1_C1_INSTRUCTIONPRINTER_HPP
1879
N/A
1879
N/A
#
include
"
c1
/
c1_IR.hpp
"
1879
N/A
#
include
"
c1
/
c1_Instruction.hpp
"
1879
N/A
#
include
"
c1
/
c1_Runtime1.hpp
"
1879
N/A
0
N/A
#
ifndef
PRODUCT
0
N/A
class
InstructionPrinter
:
public
InstructionVisitor
{
0
N/A
private
:
0
N/A
outputStream
*
_output
;
0
N/A
bool
_print_phis
;
0
N/A
0
N/A
enum
LayoutConstants
{
0
N/A
bci_pos
=
2
,
0
N/A
use_pos
=
7
,
0
N/A
temp_pos
=
12
,
0
N/A
instr_pos
=
19
,
0
N/A
end_pos
=
60
0
N/A
};
0
N/A
0
N/A
bool
is_illegal_phi
(
Value
v);
0
N/A
0
N/A
public
:
0
N/A
InstructionPrinter
(
bool
print_phis
=
true
,
outputStream
*
output
=
tty
)
0
N/A
:
_print_phis
(
print_phis
)
0
N/A
,
_output
(
output
)
0
N/A
{}
0
N/A
0
N/A
outputStream
*
output
() {
return
_output
; }
0
N/A
0
N/A
// helpers
0
N/A
static
const
char
*
basic_type_name
(
BasicType
type
);
0
N/A
static
const
char
*
cond_name
(
If
::
Condition
cond
);
0
N/A
static
const
char
*
op_name
(
Bytecodes
::
Code
op
);
0
N/A
bool
is_phi_of_block
(
Value
v,
BlockBegin
* b);
0
N/A
0
N/A
// type-specific print functions
0
N/A
void
print_klass
(
ciKlass
*
klass
);
0
N/A
void
print_object
(
Value
obj
);
0
N/A
0
N/A
// generic print functions
0
N/A
void
print_temp
(
Value
value
);
0
N/A
void
print_field
(
AccessField
*
field
);
0
N/A
void
print_indexed
(
AccessIndexed
*
indexed
);
0
N/A
void
print_monitor
(
AccessMonitor
*
monitor
);
0
N/A
void
print_op2
(
Op2
*
instr
);
0
N/A
void
print_value
(
Value
value
);
0
N/A
void
print_instr
(
Instruction
*
instr
);
0
N/A
void
print_stack
(
ValueStack
*
stack
);
0
N/A
void
print_inline_level
(
BlockBegin
*
block
);
0
N/A
void
print_unsafe_op
(
UnsafeOp
*
op
,
const
char
*
name
);
0
N/A
void
print_unsafe_raw_op
(
UnsafeRawOp
*
op
,
const
char
*
name
);
0
N/A
void
print_unsafe_object_op
(
UnsafeObjectOp
*
op
,
const
char
*
name
);
0
N/A
void
print_phi
(
int
i,
Value
v,
BlockBegin
* b);
0
N/A
void
print_alias
(
Value
v);
0
N/A
0
N/A
// line printing of instructions
0
N/A
void
fill_to
(
int
pos
,
char
filler
=
' '
);
0
N/A
void
print_head
();
0
N/A
void
print_line
(
Instruction
*
instr
);
0
N/A
0
N/A
// visitor functionality
0
N/A
virtual
void
do_Phi
(
Phi
* x);
0
N/A
virtual
void
do_Local
(
Local
* x);
0
N/A
virtual
void
do_Constant
(
Constant
* x);
0
N/A
virtual
void
do_LoadField
(
LoadField
* x);
0
N/A
virtual
void
do_StoreField
(
StoreField
* x);
0
N/A
virtual
void
do_ArrayLength
(
ArrayLength
* x);
0
N/A
virtual
void
do_LoadIndexed
(
LoadIndexed
* x);
0
N/A
virtual
void
do_StoreIndexed
(
StoreIndexed
* x);
0
N/A
virtual
void
do_NegateOp
(
NegateOp
* x);
0
N/A
virtual
void
do_ArithmeticOp
(
ArithmeticOp
* x);
0
N/A
virtual
void
do_ShiftOp
(
ShiftOp
* x);
0
N/A
virtual
void
do_LogicOp
(
LogicOp
* x);
0
N/A
virtual
void
do_CompareOp
(
CompareOp
* x);
0
N/A
virtual
void
do_IfOp
(
IfOp
* x);
0
N/A
virtual
void
do_Convert
(
Convert
* x);
0
N/A
virtual
void
do_NullCheck
(
NullCheck
* x);
3932
N/A
virtual
void
do_TypeCast
(
TypeCast
* x);
0
N/A
virtual
void
do_Invoke
(
Invoke
* x);
0
N/A
virtual
void
do_NewInstance
(
NewInstance
* x);
0
N/A
virtual
void
do_NewTypeArray
(
NewTypeArray
* x);
0
N/A
virtual
void
do_NewObjectArray
(
NewObjectArray
* x);
0
N/A
virtual
void
do_NewMultiArray
(
NewMultiArray
* x);
0
N/A
virtual
void
do_CheckCast
(
CheckCast
* x);
0
N/A
virtual
void
do_InstanceOf
(
InstanceOf
* x);
0
N/A
virtual
void
do_MonitorEnter
(
MonitorEnter
* x);
0
N/A
virtual
void
do_MonitorExit
(
MonitorExit
* x);
0
N/A
virtual
void
do_Intrinsic
(
Intrinsic
* x);
0
N/A
virtual
void
do_BlockBegin
(
BlockBegin
* x);
0
N/A
virtual
void
do_Goto
(
Goto
* x);
0
N/A
virtual
void
do_If
(
If
* x);
0
N/A
virtual
void
do_IfInstanceOf
(
IfInstanceOf
* x);
0
N/A
virtual
void
do_TableSwitch
(
TableSwitch
* x);
0
N/A
virtual
void
do_LookupSwitch
(
LookupSwitch
* x);
0
N/A
virtual
void
do_Return
(
Return
* x);
0
N/A
virtual
void
do_Throw
(
Throw
* x);
0
N/A
virtual
void
do_Base
(
Base
* x);
0
N/A
virtual
void
do_OsrEntry
(
OsrEntry
* x);
0
N/A
virtual
void
do_ExceptionObject
(
ExceptionObject
* x);
0
N/A
virtual
void
do_RoundFP
(
RoundFP
* x);
0
N/A
virtual
void
do_UnsafeGetRaw
(
UnsafeGetRaw
* x);
0
N/A
virtual
void
do_UnsafePutRaw
(
UnsafePutRaw
* x);
0
N/A
virtual
void
do_UnsafeGetObject
(
UnsafeGetObject
* x);
0
N/A
virtual
void
do_UnsafePutObject
(
UnsafePutObject
* x);
Error!
Full Search
Definition
Symbol
File Path
History
In Project(s)
select all
invert selection
ast
bind-9.11.3
bind-9.6-ESV-R11
dovecot
ec
forgerock
gkrellm-k10addon
glassfish
glassfish-3.1.2
glassfish.hg
hets
httpd
illumos-gate
inkscape
javamail
k10sensor
libmicro
lucene-3.6.0
lxc
ontohub
opengrok
opengrok-jel
opengrok-sun
openjdk7
osnet-11
owl-s
pkg
scfdot
sendmail
solaris-desktop
solaris-userland
solaris-userland-s11u3
solaris-x11-s11
solaris-x11-s12
sssd
sssd-io
systemd
vbox
yui3
Search
Clear
Help
There was an error!
null
java.lang.NullPointerException