Skip to content

Instantly share code, notes, and snippets.

@mgaudet mgaudet/Trace.log
Created Dec 15, 2017

Embed
What would you like to do?
A Testarossa Trace Log for java/lang/String.hashCode()I
<?xml version="1.0" standalone="no"?>
<jitlog>
<!--
MULTIPLE LOG FILES MAY EXIST
Please check for ADDITIONAL log files named: logFile.1 logFile.2 logFile.3 logFile.4 logFile.5 logFile.6
-->
<compile
method="java/lang/String.hashCode()I"
hotness="warm"
isProfilingCompile=0>
=======>java/lang/String.hashCode()I
<ilgen
method="java/lang/String.hashCode()I">
<request> {OrdinaryMethod(<NULL>)} </request>
+------------- Byte Code Index
| +-------------------- OpCode
| | +------------- First Field
| | | +------------- Branch Target
| | | | +------- Const Pool Index
| | | | | +------------- Constant
| | | | | |
V V V V V V
0, JBaload0getfield
1, JBgetfield 81
4, JBifne 51, 55,
7, JBgetstatic 39
10, JBifeq 29, 39,
13, JBaload0getfield
14, JBgetfield 40
17, JBiflt 22, 39,
20, JBaload0
21, JBaload0getfield
22, JBgetfield 43
25, JBiconst0
26, JBaload0
27, JBinvokevirtual 42
30, JBinvokestatic 114
33, JBputfield 81
36, JBgoto 19, 55,
39, JBaload0
40, JBaload0getfield
41, JBgetfield 43
44, JBiconst0
45, JBaload0
46, JBinvokevirtual 42
49, JBinvokestatic 115
52, JBputfield 81
55, JBaload0getfield
56, JBgetfield 81
59, JBreturn1
got fieldsig as [B
IlGenerator: Generating compressedRefs anchor [00007F5A0EBF2AD0] for node [00007F5A0EBF2A30]
got fieldsig as [B
IlGenerator: Generating compressedRefs anchor [00007F5A0EBF2EE0] for node [00007F5A0EBF2E40]
genIL() returned 1
<trees
title="Pre IlGenOpt Trees"
method="java/lang/String.hashCode()I"
hotness="warm">
Pre IlGenOpt Trees: for java/lang/String.hashCode()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n57n ificmpne --> block_2 BBStart at n5n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n56n iconst 1 [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=0 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n60n iconst -1 [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n59n BBEnd </block_9> (cold) ===== [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=1
n70n bconst 2 [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n67n BBEnd </block_10> (cold) ===== [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n5n BBStart <block_2> [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n12n ificmpne --> block_7 BBStart at n1n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=0 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=0 vn=- li=- udi=- nc=1
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n9n iconst 0 [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n6n BBEnd </block_2> ===== [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n10n BBStart <block_3> [0x7f5a0ebf2440] bci=[-1,7,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n17n ificmpeq --> block_6 BBStart at n3n () [0x7f5a0ebf2670] bci=[-1,10,2044] rc=0 vc=0 vn=- li=- udi=- nc=2 flg=0x20
n13n iload java/lang/String.enableCompression Z[#635 final Static] [flags 0x20020301 0x0 ] [0x7f5a0ebf2530] bci=[-1,7,2044] rc=1 vc=0 vn=- li=- udi=- nc=0
n14n iconst 0 [0x7f5a0ebf2580] bci=[-1,10,2044] rc=1 vc=0 vn=- li=- udi=- nc=0
n11n BBEnd </block_3> ===== [0x7f5a0ebf2490] bci=[-1,10,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n15n BBStart <block_4> [0x7f5a0ebf25d0] bci=[-1,13,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n26n ificmplt --> block_6 BBStart at n3n () [0x7f5a0ebf2940] bci=[-1,17,2044] rc=0 vc=0 vn=- li=- udi=- nc=2 flg=0x20
n22n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ebf2800] bci=[-1,14,2044] rc=1 vc=0 vn=- li=- udi=- nc=1
n21n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf27b0] bci=[-1,13,2044] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n23n iconst 0 [0x7f5a0ebf2850] bci=[-1,17,2044] rc=1 vc=0 vn=- li=- udi=- nc=0
n16n BBEnd </block_4> ===== [0x7f5a0ebf2620] bci=[-1,17,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n24n BBStart <block_5> [0x7f5a0ebf28a0] bci=[-1,20,2045] rc=0 vc=0 vn=- li=- udi=- nc=0
n44n compressedRefs [0x7f5a0ebf2ee0] bci=[-1,22,2045] rc=0 vc=0 vn=- li=- udi=- nc=2
n42n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2e40] bci=[-1,22,2045] rc=2 vc=0 vn=- li=- udi=- nc=1
n41n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2df0] bci=[-1,21,2045] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n43n lconst 0 [0x7f5a0ebf2e90] bci=[-1,22,2045] rc=1 vc=0 vn=- li=- udi=- nc=0
n48n treetop [0x7f5a0ebf3020] bci=[-1,27,2045] rc=0 vc=0 vn=- li=- udi=- nc=1
n47n icall java/lang/String.lengthInternal()I[#639 final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ebf2fd0] bci=[-1,27,2045] rc=2 vc=0 vn=- li=- udi=- nc=1
n46n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2f80] bci=[-1,26,2045] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n50n treetop [0x7f5a0ebf30c0] bci=[-1,30,2045] rc=0 vc=0 vn=- li=- udi=- nc=1
n49n icall java/lang/String.hashCodeImplCompressed([BII)I[#647 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf3070] bci=[-1,30,2045] rc=2 vc=0 vn=- li=- udi=- nc=3 flg=0x20
n42n ==>aloadi
n45n iconst 0 [0x7f5a0ebf2f30] bci=[-1,25,2045] rc=1 vc=0 vn=- li=- udi=- nc=0
n47n ==>icall
n51n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf3110] bci=[-1,33,2045] rc=0 vc=0 vn=- li=- udi=- nc=2
n40n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2da0] bci=[-1,20,2045] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n49n ==>icall
n52n goto --> block_7 BBStart at n1n [0x7f5a0ec6c000] bci=[-1,36,2045] rc=0 vc=0 vn=- li=- udi=- nc=0
n25n BBEnd </block_5> ===== [0x7f5a0ebf28f0] bci=[-1,36,2045] rc=0 vc=0 vn=- li=- udi=- nc=0
n3n BBStart <block_6> [0x7f5a0ebf2210] bci=[-1,39,2047] rc=0 vc=0 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=0 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=0 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n30n lconst 0 [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=0 vn=- li=- udi=- nc=0
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=0 vn=- li=- udi=- nc=1
n34n icall java/lang/String.lengthInternal()I[#639 final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ebf2bc0] bci=[-1,46,2047] rc=2 vc=0 vn=- li=- udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=0 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=0 vn=- li=- udi=- nc=3 flg=0x20
n29n ==>aloadi
n32n iconst 0 [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=0 vn=- li=- udi=- nc=0
n34n ==>icall
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=0 vn=- li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n36n ==>icall
n39n goto --> block_7 BBStart at n1n [0x7f5a0ebf2d50] bci=[-1,55,2051] rc=0 vc=0 vn=- li=- udi=- nc=0
n4n BBEnd </block_6> ===== [0x7f5a0ebf2260] bci=[-1,55,2051] rc=0 vc=0 vn=- li=- udi=- nc=0
n1n BBStart <block_7> [0x7f5a0ebf2170] bci=[-1,55,2051] rc=0 vc=0 vn=- li=- udi=- nc=0
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=0 vn=- li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=0 vn=- li=- udi=- nc=1
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n2n BBEnd </block_7> [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=0 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Symbol References (incremental):
--------------------------------
#93: jitRetranslateCallerWithPreparation[ helper Method] [flags 0x400 0x0 ] [0x7f5a0ec5e320] (NoType)
#568: <recompilation-counter>[ Static] [flags 0x1000303 0x40 ] [0x7f5a0ec5e060] (Int32)
#584: <count-for-recompile>[ Static] [flags 0x2000303 0x40 ] [0x7f5a0ec5de80] (Int32)
#585: <gcr-patch-point>[ Static] [flags 0x400301 0x40 ] [0x7f5a0ec5e280] (Int8)
#587: <start-PC>[ Static] [flags 0x4000303 0x40 ] [0x7f5a0ec5e3b0] (Int32)
#588: <J9Method>[ Static] [flags 0x8000307 0x40 ] [0x7f5a0ec5e430] (Address)
#633: this<'this' parm Ljava/lang/String;>[ Parm] [flags 0x40000107 0x0 ] [0x7f5a0ebf3350] (Address)
#634: java/lang/String.hashCode I[ Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ec3c3e0] (Int32)
#635: java/lang/String.enableCompression Z[ final Static] [flags 0x20020301 0x0 ] [0x7f5a0ec5c050] (Int8)
#636: java/lang/String.count I[ final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ec5c2e0] (Int32)
#637: java/lang/String.value [B[ final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ec5c4d0] (Address)
#638: this<'this' parm Ljava/lang/String;>[ Parm] [flags 0x107 0x0 ] [0x7f5a0ec5c840] (Address)
#639: java/lang/String.lengthInternal()I[ final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ec5c680] (NoType)
#640: value<parm 0 [B>[ Parm] [flags 0x107 0x0 ] [0x7f5a0ec5cd40] (Address)
#641: offset<parm 1 I>[ Parm] [flags 0x103 0x0 ] [0x7f5a0ec5cf40] (Int32)
#642: count<parm 2 I>[ Parm] [flags 0x103 0x0 ] [0x7f5a0ec5d010] (Int32)
#643: java/lang/String.hashCodeImplDecompressed([BII)I[ final static Method] [flags 0x20500 0x0 ] [0x7f5a0ec5cb80] (NoType)
#644: value<parm 0 [B>[ Parm] [flags 0x107 0x0 ] [0x7f5a0ec5d5c0] (Address)
#645: offset<parm 1 I>[ Parm] [flags 0x103 0x0 ] [0x7f5a0ec5d7c0] (Int32)
#646: count<parm 2 I>[ Parm] [flags 0x103 0x0 ] [0x7f5a0ec5d890] (Int32)
#647: java/lang/String.hashCodeImplCompressed([BII)I[ final static Method] [flags 0x20500 0x0 ] [0x7f5a0ec5d400] (NoType)
Number of nodes = 75, symRefCount = 648
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(0) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [7(0) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0
in = [10(0) 9(0) 8(0) ]
out = [3(0) 7(0) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440
in = [2(0) ]
out = [4(0) 6(0) ]
exception in = []
exception out = []
4 [0x7f5a0ec5c160] BBStart at 0x7f5a0ebf25d0
in = [3(0) ]
out = [5(0) 6(0) ]
exception in = []
exception out = []
5 [0x7f5a0ec5c390] BBStart at 0x7f5a0ebf28a0
in = [4(0) ]
out = [7(0) ]
exception in = []
exception out = []
6 [0x7f5a0ec3c180] BBStart at 0x7f5a0ebf2210
in = [4(0) 3(0) ]
out = [7(0) ]
exception in = []
exception out = []
7 [0x7f5a0ec3c040] BBStart at 0x7f5a0ebf2170
in = [6(0) 5(0) 2(0) ]
out = [1(0) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050
in = [0(0) ]
out = [9(0) 2(0) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [8(0) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
</cfg>
<optimize
method="java/lang/String.hashCode()I"
hotness="warm">
<optimization id=1 name=varHandleTransformer method=java/lang/String.hashCode()I>
Performing 1: varHandleTransformer mustBeDone
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=2 name=unsafeFastPath method=java/lang/String.hashCode()I>
Performing 2: unsafeFastPath
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=3 name=coldBlockMarker method=java/lang/String.hashCode()I>
Performing 3: coldBlockMarker
Infrequent interpreted call node 00007F5A0EBF3070
[ 1] O^O COLD BLOCK MARKER: coldBlockMarker marked block_5 cold
<trees
title="Trees after coldBlockMarker"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after coldBlockMarker: for java/lang/String.hashCode()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 77) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n57n ificmpne --> block_2 BBStart at n5n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n56n iconst 1 [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=0 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n60n iconst -1 [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n59n BBEnd </block_9> (cold) ===== [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=1
n70n bconst 2 [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n67n BBEnd </block_10> (cold) ===== [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n5n BBStart <block_2> (freq 9826) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n12n ificmpne --> block_7 BBStart at n1n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=0 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=0 vn=- li=- udi=- nc=1
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n9n iconst 0 [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=0 vn=- li=- udi=- nc=0
n6n BBEnd </block_2> ===== [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 468) [0x7f5a0ebf2440] bci=[-1,7,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n17n ificmpeq --> block_6 BBStart at n3n () [0x7f5a0ebf2670] bci=[-1,10,2044] rc=0 vc=0 vn=- li=- udi=- nc=2 flg=0x20
n13n iload java/lang/String.enableCompression Z[#635 final Static] [flags 0x20020301 0x0 ] [0x7f5a0ebf2530] bci=[-1,7,2044] rc=1 vc=0 vn=- li=- udi=- nc=0
n14n iconst 0 [0x7f5a0ebf2580] bci=[-1,10,2044] rc=1 vc=0 vn=- li=- udi=- nc=0
n11n BBEnd </block_3> ===== [0x7f5a0ebf2490] bci=[-1,10,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n15n BBStart <block_4> (freq 149) [0x7f5a0ebf25d0] bci=[-1,13,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n26n ificmplt --> block_6 BBStart at n3n () [0x7f5a0ebf2940] bci=[-1,17,2044] rc=0 vc=0 vn=- li=- udi=- nc=2 flg=0x20
n22n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ebf2800] bci=[-1,14,2044] rc=1 vc=0 vn=- li=- udi=- nc=1
n21n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf27b0] bci=[-1,13,2044] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n23n iconst 0 [0x7f5a0ebf2850] bci=[-1,17,2044] rc=1 vc=0 vn=- li=- udi=- nc=0
n16n BBEnd </block_4> ===== [0x7f5a0ebf2620] bci=[-1,17,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n24n BBStart <block_5> (freq 4) (cold) [0x7f5a0ebf28a0] bci=[-1,20,2045] rc=0 vc=0 vn=- li=- udi=- nc=0
n44n compressedRefs [0x7f5a0ebf2ee0] bci=[-1,22,2045] rc=0 vc=0 vn=- li=- udi=- nc=2
n42n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2e40] bci=[-1,22,2045] rc=2 vc=0 vn=- li=- udi=- nc=1
n41n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2df0] bci=[-1,21,2045] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n43n lconst 0 [0x7f5a0ebf2e90] bci=[-1,22,2045] rc=1 vc=0 vn=- li=- udi=- nc=0
n48n treetop [0x7f5a0ebf3020] bci=[-1,27,2045] rc=0 vc=0 vn=- li=- udi=- nc=1
n47n icall java/lang/String.lengthInternal()I[#639 final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ebf2fd0] bci=[-1,27,2045] rc=2 vc=0 vn=- li=- udi=- nc=1
n46n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2f80] bci=[-1,26,2045] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n50n treetop [0x7f5a0ebf30c0] bci=[-1,30,2045] rc=0 vc=0 vn=- li=- udi=- nc=1
n49n icall java/lang/String.hashCodeImplCompressed([BII)I[#647 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf3070] bci=[-1,30,2045] rc=2 vc=0 vn=- li=- udi=- nc=3 flg=0x20
n42n ==>aloadi
n45n iconst 0 [0x7f5a0ebf2f30] bci=[-1,25,2045] rc=1 vc=0 vn=- li=- udi=- nc=0
n47n ==>icall
n51n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf3110] bci=[-1,33,2045] rc=0 vc=0 vn=- li=- udi=- nc=2
n40n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2da0] bci=[-1,20,2045] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n49n ==>icall
n52n goto --> block_7 BBStart at n1n [0x7f5a0ec6c000] bci=[-1,36,2045] rc=0 vc=0 vn=- li=- udi=- nc=0
n25n BBEnd </block_5> (cold) ===== [0x7f5a0ebf28f0] bci=[-1,36,2045] rc=0 vc=0 vn=- li=- udi=- nc=0
n3n BBStart <block_6> (freq 526) [0x7f5a0ebf2210] bci=[-1,39,2047] rc=0 vc=0 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=0 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=0 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n30n lconst 0 [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=0 vn=- li=- udi=- nc=0
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=0 vn=- li=- udi=- nc=1
n34n icall java/lang/String.lengthInternal()I[#639 final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ebf2bc0] bci=[-1,46,2047] rc=2 vc=0 vn=- li=- udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=0 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=0 vn=- li=- udi=- nc=3 flg=0x20
n29n ==>aloadi
n32n iconst 0 [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=0 vn=- li=- udi=- nc=0
n34n ==>icall
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=0 vn=- li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n36n ==>icall
n39n goto --> block_7 BBStart at n1n [0x7f5a0ebf2d50] bci=[-1,55,2051] rc=0 vc=0 vn=- li=- udi=- nc=0
n4n BBEnd </block_6> ===== [0x7f5a0ebf2260] bci=[-1,55,2051] rc=0 vc=0 vn=- li=- udi=- nc=0
n1n BBStart <block_7> (freq 10000) [0x7f5a0ebf2170] bci=[-1,55,2051] rc=0 vc=0 vn=- li=- udi=- nc=0
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=0 vn=- li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=0 vn=- li=- udi=- nc=1
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=0 vn=- li=- udi=- nc=0 flg=0x4
n2n BBEnd </block_7> [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=0 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 75, symRefCount = 648
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [7(10000) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9826
in = [10(0) 9(0) 8(6) ]
out = [3(420) 7(9405) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 468
in = [2(420) ]
out = [4(6) 6(449) ]
exception in = []
exception out = []
4 [0x7f5a0ec5c160] BBStart at 0x7f5a0ebf25d0, frequency = 149
in = [3(6) ]
out = [5(6) 6(6) ]
exception in = []
exception out = []
5 [0x7f5a0ec5c390] BBStart at 0x7f5a0ebf28a0, frequency = 4
in = [4(6) ]
out = [7(6) ]
exception in = []
exception out = []
6 [0x7f5a0ec3c180] BBStart at 0x7f5a0ebf2210, frequency = 526
in = [4(6) 3(449) ]
out = [7(521) ]
exception in = []
exception out = []
7 [0x7f5a0ec3c040] BBStart at 0x7f5a0ebf2170, frequency = 10000
in = [6(521) 5(6) 2(9405) ]
out = [1(10000) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 77
in = [0(6) ]
out = [9(0) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [8(0) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
</cfg>
</optimization>
<optimization id=5 name=invariantArgumentPreexistence method=java/lang/String.hashCode()I>
Performing 5: invariantArgumentPreexistence
No transformations done by this pass -- omitting listings
</optimization>
</optimize>
</ilgen>
<trees
title="Initial Trees"
method="java/lang/String.hashCode()I"
hotness="warm">
Initial Trees: for java/lang/String.hashCode()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 77) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n57n ificmpne --> block_2 BBStart at n5n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0
n56n iconst 1 [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=12 vn=- li=2 udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0
n60n iconst -1 [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0
n59n BBEnd </block_9> (cold) ===== [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=1
n70n bconst 2 [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0
n67n BBEnd </block_10> (cold) ===== [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n5n BBStart <block_2> (freq 9826) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n12n ificmpne --> block_7 BBStart at n1n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=12 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=12 vn=- li=1 udi=- nc=1
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0 flg=0x4
n9n iconst 0 [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=12 vn=- li=1 udi=- nc=0
n6n BBEnd </block_2> ===== [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 468) [0x7f5a0ebf2440] bci=[-1,7,2044] rc=0 vc=12 vn=- li=- udi=- nc=0
n17n ificmpeq --> block_6 BBStart at n3n () [0x7f5a0ebf2670] bci=[-1,10,2044] rc=0 vc=12 vn=- li=- udi=- nc=2 flg=0x20
n13n iload java/lang/String.enableCompression Z[#635 final Static] [flags 0x20020301 0x0 ] [0x7f5a0ebf2530] bci=[-1,7,2044] rc=1 vc=12 vn=- li=1 udi=- nc=0
n14n iconst 0 [0x7f5a0ebf2580] bci=[-1,10,2044] rc=1 vc=12 vn=- li=1 udi=- nc=0
n11n BBEnd </block_3> ===== [0x7f5a0ebf2490] bci=[-1,10,2044] rc=0 vc=12 vn=- li=- udi=- nc=0
n15n BBStart <block_4> (freq 149) [0x7f5a0ebf25d0] bci=[-1,13,2044] rc=0 vc=12 vn=- li=- udi=- nc=0
n26n ificmplt --> block_6 BBStart at n3n () [0x7f5a0ebf2940] bci=[-1,17,2044] rc=0 vc=12 vn=- li=- udi=- nc=2 flg=0x20
n22n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ebf2800] bci=[-1,14,2044] rc=1 vc=12 vn=- li=1 udi=- nc=1
n21n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf27b0] bci=[-1,13,2044] rc=1 vc=12 vn=- li=1 udi=- nc=0 flg=0x4
n23n iconst 0 [0x7f5a0ebf2850] bci=[-1,17,2044] rc=1 vc=12 vn=- li=1 udi=- nc=0
n16n BBEnd </block_4> ===== [0x7f5a0ebf2620] bci=[-1,17,2044] rc=0 vc=12 vn=- li=- udi=- nc=0
n24n BBStart <block_5> (freq 4) (cold) [0x7f5a0ebf28a0] bci=[-1,20,2045] rc=0 vc=12 vn=- li=- udi=- nc=0
n44n compressedRefs [0x7f5a0ebf2ee0] bci=[-1,22,2045] rc=0 vc=12 vn=- li=- udi=- nc=2
n42n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2e40] bci=[-1,22,2045] rc=2 vc=12 vn=- li=2 udi=- nc=1
n41n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2df0] bci=[-1,21,2045] rc=1 vc=12 vn=- li=1 udi=- nc=0 flg=0x4
n43n lconst 0 [0x7f5a0ebf2e90] bci=[-1,22,2045] rc=1 vc=12 vn=- li=1 udi=- nc=0
n48n treetop [0x7f5a0ebf3020] bci=[-1,27,2045] rc=0 vc=12 vn=- li=- udi=- nc=1
n47n icall java/lang/String.lengthInternal()I[#639 final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ebf2fd0] bci=[-1,27,2045] rc=2 vc=12 vn=- li=2 udi=- nc=1
n46n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2f80] bci=[-1,26,2045] rc=1 vc=12 vn=- li=1 udi=- nc=0 flg=0x4
n50n treetop [0x7f5a0ebf30c0] bci=[-1,30,2045] rc=0 vc=12 vn=- li=- udi=- nc=1
n49n icall java/lang/String.hashCodeImplCompressed([BII)I[#647 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf3070] bci=[-1,30,2045] rc=2 vc=12 vn=- li=2 udi=- nc=3 flg=0x20
n42n ==>aloadi
n45n iconst 0 [0x7f5a0ebf2f30] bci=[-1,25,2045] rc=1 vc=12 vn=- li=1 udi=- nc=0
n47n ==>icall
n51n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf3110] bci=[-1,33,2045] rc=0 vc=12 vn=- li=- udi=- nc=2
n40n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2da0] bci=[-1,20,2045] rc=1 vc=12 vn=- li=1 udi=- nc=0 flg=0x4
n49n ==>icall
n52n goto --> block_7 BBStart at n1n [0x7f5a0ec6c000] bci=[-1,36,2045] rc=0 vc=12 vn=- li=- udi=- nc=0
n25n BBEnd </block_5> (cold) ===== [0x7f5a0ebf28f0] bci=[-1,36,2045] rc=0 vc=12 vn=- li=- udi=- nc=0
n3n BBStart <block_6> (freq 526) [0x7f5a0ebf2210] bci=[-1,39,2047] rc=0 vc=12 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=12 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=12 vn=- li=2 udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=12 vn=- li=1 udi=- nc=0 flg=0x4
n30n lconst 0 [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=12 vn=- li=1 udi=- nc=0
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=12 vn=- li=- udi=- nc=1
n34n icall java/lang/String.lengthInternal()I[#639 final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ebf2bc0] bci=[-1,46,2047] rc=2 vc=12 vn=- li=2 udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=12 vn=- li=1 udi=- nc=0 flg=0x4
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=12 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=12 vn=- li=2 udi=- nc=3 flg=0x20
n29n ==>aloadi
n32n iconst 0 [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=12 vn=- li=1 udi=- nc=0
n34n ==>icall
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=12 vn=- li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=12 vn=- li=1 udi=- nc=0 flg=0x4
n36n ==>icall
n39n goto --> block_7 BBStart at n1n [0x7f5a0ebf2d50] bci=[-1,55,2051] rc=0 vc=12 vn=- li=- udi=- nc=0
n4n BBEnd </block_6> ===== [0x7f5a0ebf2260] bci=[-1,55,2051] rc=0 vc=12 vn=- li=- udi=- nc=0
n1n BBStart <block_7> (freq 10000) [0x7f5a0ebf2170] bci=[-1,55,2051] rc=0 vc=12 vn=- li=- udi=- nc=0
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=12 vn=- li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=12 vn=- li=1 udi=- nc=1
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=12 vn=- li=1 udi=- nc=0 flg=0x4
n2n BBEnd </block_7> [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=12 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 75, symRefCount = 648
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [7(10000) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9826
in = [10(0) 9(0) 8(6) ]
out = [3(420) 7(9405) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 468
in = [2(420) ]
out = [4(6) 6(449) ]
exception in = []
exception out = []
4 [0x7f5a0ec5c160] BBStart at 0x7f5a0ebf25d0, frequency = 149
in = [3(6) ]
out = [5(6) 6(6) ]
exception in = []
exception out = []
5 [0x7f5a0ec5c390] BBStart at 0x7f5a0ebf28a0, frequency = 4
in = [4(6) ]
out = [7(6) ]
exception in = []
exception out = []
6 [0x7f5a0ec3c180] BBStart at 0x7f5a0ebf2210, frequency = 526
in = [4(6) 3(449) ]
out = [7(521) ]
exception in = []
exception out = []
7 [0x7f5a0ec3c040] BBStart at 0x7f5a0ebf2170, frequency = 10000
in = [6(521) 5(6) 2(9405) ]
out = [1(10000) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 77
in = [0(6) ]
out = [9(0) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [8(0) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
This method is warm
<optimize
method="java/lang/String.hashCode()I"
hotness="warm">
<optimization id=9 name=coldBlockOutlining method=java/lang/String.hashCode()I>
Performing 9: coldBlockOutlining
[ 2] O^O COLD BLOCK OUTLINING: outlined cold block sequence (9-10)
[ 3] O^O COLD BLOCK OUTLINING: outlined cold block sequence (5-5)
<trees
title="Trees after coldBlockOutlining"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after coldBlockOutlining: for java/lang/String.hashCode()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 77) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n57n ificmpne --> block_2 BBStart at n5n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=0
n56n iconst 1 [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=0
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n77n BBStart <block_11> (freq 0) [0x7f5a0ec6c7d0] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n76n goto --> block_9 BBStart at n58n [0x7f5a0ec6c780] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n78n BBEnd </block_11> ===== [0x7f5a0ec6c820] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n5n BBStart <block_2> (freq 9826) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n12n ificmpne --> block_7 BBStart at n1n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=12 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=12 vn=- li=- udi=- nc=1
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=0 flg=0x4
n9n iconst 0 [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=12 vn=- li=- udi=- nc=0
n6n BBEnd </block_2> ===== [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 468) [0x7f5a0ebf2440] bci=[-1,7,2044] rc=0 vc=12 vn=- li=- udi=- nc=0
n17n ificmpeq --> block_6 BBStart at n3n () [0x7f5a0ebf2670] bci=[-1,10,2044] rc=0 vc=12 vn=- li=- udi=- nc=2 flg=0x20
n13n iload java/lang/String.enableCompression Z[#635 final Static] [flags 0x20020301 0x0 ] [0x7f5a0ebf2530] bci=[-1,7,2044] rc=1 vc=12 vn=- li=- udi=- nc=0
n14n iconst 0 [0x7f5a0ebf2580] bci=[-1,10,2044] rc=1 vc=12 vn=- li=- udi=- nc=0
n11n BBEnd </block_3> ===== [0x7f5a0ebf2490] bci=[-1,10,2044] rc=0 vc=12 vn=- li=- udi=- nc=0
n15n BBStart <block_4> (freq 149) [0x7f5a0ebf25d0] bci=[-1,13,2044] rc=0 vc=12 vn=- li=- udi=- nc=0
n26n ificmplt --> block_6 BBStart at n3n () [0x7f5a0ebf2940] bci=[-1,17,2044] rc=0 vc=12 vn=- li=- udi=- nc=2 flg=0x20
n22n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ebf2800] bci=[-1,14,2044] rc=1 vc=12 vn=- li=- udi=- nc=1
n21n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf27b0] bci=[-1,13,2044] rc=1 vc=12 vn=- li=- udi=- nc=0 flg=0x4
n23n iconst 0 [0x7f5a0ebf2850] bci=[-1,17,2044] rc=1 vc=12 vn=- li=- udi=- nc=0
n16n BBEnd </block_4> ===== [0x7f5a0ebf2620] bci=[-1,17,2044] rc=0 vc=12 vn=- li=- udi=- nc=0
n81n BBStart <block_12> (freq 4) [0x7f5a0ec6c910] bci=[-1,17,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n80n goto --> block_5 BBStart at n24n [0x7f5a0ec6c8c0] bci=[-1,17,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n82n BBEnd </block_12> ===== [0x7f5a0ec6c960] bci=[-1,17,2044] rc=0 vc=0 vn=- li=- udi=- nc=0
n3n BBStart <block_6> (freq 526) [0x7f5a0ebf2210] bci=[-1,39,2047] rc=0 vc=12 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=12 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=12 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=12 vn=- li=- udi=- nc=0 flg=0x4
n30n lconst 0 [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=12 vn=- li=- udi=- nc=0
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=12 vn=- li=- udi=- nc=1
n34n icall java/lang/String.lengthInternal()I[#639 final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ebf2bc0] bci=[-1,46,2047] rc=2 vc=12 vn=- li=- udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=12 vn=- li=- udi=- nc=0 flg=0x4
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=12 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=12 vn=- li=- udi=- nc=3 flg=0x20
n29n ==>aloadi
n32n iconst 0 [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=12 vn=- li=- udi=- nc=0
n34n ==>icall
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=12 vn=- li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=12 vn=- li=- udi=- nc=0 flg=0x4
n36n ==>icall
n39n goto --> block_7 BBStart at n1n [0x7f5a0ebf2d50] bci=[-1,55,2051] rc=0 vc=12 vn=- li=- udi=- nc=0
n4n BBEnd </block_6> ===== [0x7f5a0ebf2260] bci=[-1,55,2051] rc=0 vc=12 vn=- li=- udi=- nc=0
n1n BBStart <block_7> (freq 10000) [0x7f5a0ebf2170] bci=[-1,55,2051] rc=0 vc=12 vn=- li=- udi=- nc=0
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=12 vn=- li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=12 vn=- li=- udi=- nc=1
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=12 vn=- li=- udi=- nc=0 flg=0x4
n2n BBEnd </block_7> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=12 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=12 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=0
n60n iconst -1 [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=0
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=0
n59n BBEnd </block_9> (cold) ===== [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=0
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=1
n70n bconst 2 [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=0
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=12 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=0 vn=- li=- udi=- nc=0
n67n BBEnd </block_10> (cold) ===== [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=12 vn=- li=- udi=- nc=0
n24n BBStart <block_5> (freq 4) (cold) [0x7f5a0ebf28a0] bci=[-1,20,2045] rc=0 vc=12 vn=- li=- udi=- nc=0
n44n compressedRefs [0x7f5a0ebf2ee0] bci=[-1,22,2045] rc=0 vc=12 vn=- li=- udi=- nc=2
n42n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2e40] bci=[-1,22,2045] rc=2 vc=12 vn=- li=- udi=- nc=1
n41n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2df0] bci=[-1,21,2045] rc=1 vc=12 vn=- li=- udi=- nc=0 flg=0x4
n43n lconst 0 [0x7f5a0ebf2e90] bci=[-1,22,2045] rc=1 vc=12 vn=- li=- udi=- nc=0
n48n treetop [0x7f5a0ebf3020] bci=[-1,27,2045] rc=0 vc=12 vn=- li=- udi=- nc=1
n47n icall java/lang/String.lengthInternal()I[#639 final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ebf2fd0] bci=[-1,27,2045] rc=2 vc=12 vn=- li=- udi=- nc=1
n46n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2f80] bci=[-1,26,2045] rc=1 vc=12 vn=- li=- udi=- nc=0 flg=0x4
n50n treetop [0x7f5a0ebf30c0] bci=[-1,30,2045] rc=0 vc=12 vn=- li=- udi=- nc=1
n49n icall java/lang/String.hashCodeImplCompressed([BII)I[#647 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf3070] bci=[-1,30,2045] rc=2 vc=12 vn=- li=- udi=- nc=3 flg=0x20
n42n ==>aloadi
n45n iconst 0 [0x7f5a0ebf2f30] bci=[-1,25,2045] rc=1 vc=12 vn=- li=- udi=- nc=0
n47n ==>icall
n51n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf3110] bci=[-1,33,2045] rc=0 vc=12 vn=- li=- udi=- nc=2
n40n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2da0] bci=[-1,20,2045] rc=1 vc=12 vn=- li=- udi=- nc=0 flg=0x4
n49n ==>icall
n52n goto --> block_7 BBStart at n1n [0x7f5a0ec6c000] bci=[-1,36,2045] rc=0 vc=12 vn=- li=- udi=- nc=0
n25n BBEnd </block_5> (cold) [0x7f5a0ebf28f0] bci=[-1,36,2045] rc=0 vc=12 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 82, symRefCount = 648
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [7(10000) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9826
in = [10(0) 9(0) 8(6) ]
out = [3(420) 7(9405) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 468
in = [2(420) ]
out = [4(6) 6(449) ]
exception in = []
exception out = []
4 [0x7f5a0ec5c160] BBStart at 0x7f5a0ebf25d0, frequency = 149
in = [3(6) ]
out = [12(4) 6(6) ]
exception in = []
exception out = []
5 [0x7f5a0ec5c390] BBStart at 0x7f5a0ebf28a0, frequency = 4
in = [12(4) ]
out = [7(6) ]
exception in = []
exception out = []
6 [0x7f5a0ec3c180] BBStart at 0x7f5a0ebf2210, frequency = 526
in = [4(6) 3(449) ]
out = [7(521) ]
exception in = []
exception out = []
7 [0x7f5a0ec3c040] BBStart at 0x7f5a0ebf2170, frequency = 10000
in = [6(521) 5(6) 2(9405) ]
out = [1(10000) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 77
in = [0(6) ]
out = [11(0) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [11(0) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
11 [0x7f5a0ec91db0] BBStart at 0x7f5a0ec6c7d0, frequency = 0
in = [8(0) ]
out = [9(0) ]
exception in = []
exception out = []
12 [0x7f5a0ec91fd0] BBStart at 0x7f5a0ec6c910, frequency = 4
in = [4(4) ]
out = [5(4) ]
exception in = []
exception out = []
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
<optimization id=10 name=stringBuilderTransformer method=java/lang/String.hashCode()I>
Performing 10: stringBuilderTransformer
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=11 name=stringPeepholes method=java/lang/String.hashCode()I>
Performing 11: stringPeepholes
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=13 name=inlining method=java/lang/String.hashCode()I>
Performing 13: inlining
~~~ Call site weights for java/lang/String.hashCode()I
original size: 45
Inlining weight limit: 205
Calltarget 00007F5A0EC93EB0 callnode 00007F5A0FDE40A8
Site size: 8 site weight 1 call-graph adjusted weight 0.000000, total weight 1
~~~ List of Call Graphs To Be Inlined:
Call at node 00007F5A0EBF2BC0
Depth P.I. calltarget size failure reason bc index Signature
-1 0 00007F5A0EC93EB0 9 InlineableTarget 46 java/lang/String.lengthInternal()I
Total Estimated Size = 9 Total Size After Multipliers = 8 Total Weight = 1
^^^ Top Level Dead CallSite 00007F5A0FDE4260 Node 00007F5A0EBF2C60 bcIndex 0000000000000031 Failure Reason: Recognized_Callee
~~~ List of Call Graphs To Be Inlined:
Call at node 00007F5A0EBF2BC0
Depth P.I. calltarget size failure reason bc index Signature
-1 0 00007F5A0EC93EB0 9 InlineableTarget 46 java/lang/String.lengthInternal()I
Total Estimated Size = 9 Total Size After Multipliers = 8 Total Weight = 1
^^^ Top Level Dead CallSite 00007F5A0FDE4260 Node 00007F5A0EBF2C60 bcIndex 0000000000000031 Failure Reason: Recognized_Callee
genIL() returned 1
[ 4] O^O INLINER: Inlining qwerty java/lang/String.lengthInternal()I into java/lang/String.hashCode()I with a virtual guard kind=NoGuard type=NonoverriddenTest partialInline=0
<trees
title="Post Inlining Trees"
method="java/lang/String.hashCode()I"
hotness="warm">
Post Inlining Trees: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 77) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n57n ificmpne --> block_2 BBStart at n5n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n56n iconst 1 [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n77n BBStart <block_11> (freq 0) [0x7f5a0ec6c7d0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n76n goto --> block_9 BBStart at n58n [0x7f5a0ec6c780] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n78n BBEnd </block_11> ===== [0x7f5a0ec6c820] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n5n BBStart <block_2> (freq 9826) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n12n ificmpne --> block_7 BBStart at n1n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=22 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=22 vn=- li=- udi=- nc=1
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n9n iconst 0 [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n6n BBEnd </block_2> ===== [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 468) [0x7f5a0ebf2440] bci=[-1,7,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n17n ificmpeq --> block_6 BBStart at n3n () [0x7f5a0ebf2670] bci=[-1,10,2044] rc=0 vc=22 vn=- li=- udi=- nc=2 flg=0x20
n13n iload java/lang/String.enableCompression Z[#635 final Static] [flags 0x20020301 0x0 ] [0x7f5a0ebf2530] bci=[-1,7,2044] rc=1 vc=22 vn=- li=- udi=- nc=0
n14n iconst 0 [0x7f5a0ebf2580] bci=[-1,10,2044] rc=1 vc=22 vn=- li=- udi=- nc=0
n11n BBEnd </block_3> ===== [0x7f5a0ebf2490] bci=[-1,10,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n15n BBStart <block_4> (freq 149) [0x7f5a0ebf25d0] bci=[-1,13,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n26n ificmplt --> block_6 BBStart at n3n () [0x7f5a0ebf2940] bci=[-1,17,2044] rc=0 vc=22 vn=- li=- udi=- nc=2 flg=0x20
n22n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ebf2800] bci=[-1,14,2044] rc=1 vc=22 vn=- li=- udi=- nc=1
n21n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf27b0] bci=[-1,13,2044] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n23n iconst 0 [0x7f5a0ebf2850] bci=[-1,17,2044] rc=1 vc=22 vn=- li=- udi=- nc=0
n16n BBEnd </block_4> ===== [0x7f5a0ebf2620] bci=[-1,17,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n81n BBStart <block_12> (freq 4) [0x7f5a0ec6c910] bci=[-1,17,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n80n goto --> block_5 BBStart at n24n [0x7f5a0ec6c8c0] bci=[-1,17,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n82n BBEnd </block_12> ===== [0x7f5a0ec6c960] bci=[-1,17,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n3n BBStart <block_6> (freq 526) [0x7f5a0ebf2210] bci=[-1,39,2047] rc=0 vc=22 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=22 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=36 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=36 vn=- li=- udi=- nc=0 flg=0x4
n30n lconst 0 [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=22 vn=- li=- udi=- nc=0
n158n astore <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=0 vn=- li=- udi=- nc=1
n29n ==>aloadi
n149n treetop [0x7f5a0ec6de50] bci=[-1,45,2047] rc=0 vc=0 vn=- li=- udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n131n ificmpeq --> block_14 BBStart at n121n () [0x7f5a0ec6d8b0] bci=[0,3,2485] rc=0 vc=35 vn=- li=- udi=- nc=2 flg=0x20
n127n iload java/lang/String.enableCompression Z[#635 final Static] [flags 0x20020301 0x0 ] [0x7f5a0ec6d770] bci=[0,0,2485] rc=1 vc=35 vn=- li=1 udi=- nc=0
n128n iconst 0 [0x7f5a0ec6d7c0] bci=[0,3,2485] rc=1 vc=35 vn=- li=1 udi=- nc=0
n126n BBEnd </block_6> ===== [0x7f5a0ec6d720] bci=[0,3,2485] rc=0 vc=35 vn=- li=- udi=- nc=0
n129n BBStart <block_17> (freq 151) [0x7f5a0ec6d810] bci=[0,6,2487] rc=0 vc=35 vn=- li=- udi=- nc=0
n137n ificmplt --> block_15 BBStart at n123n () [0x7f5a0ec6da90] bci=[0,10,2487] rc=0 vc=35 vn=- li=- udi=- nc=2 flg=0x20
n133n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ec6d950] bci=[0,7,2487] rc=1 vc=35 vn=- li=1 udi=- nc=1
n132n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ec6d900] bci=[0,6,2487] rc=1 vc=35 vn=- li=1 udi=- nc=0 flg=0x4
n134n iconst 0 [0x7f5a0ec6d9a0] bci=[0,10,2487] rc=1 vc=35 vn=- li=1 udi=- nc=0
n130n BBEnd </block_17> ===== [0x7f5a0ec6d860] bci=[0,10,2487] rc=0 vc=35 vn=- li=- udi=- nc=0
n135n BBStart <block_16> (freq 78) [0x7f5a0ec6d9f0] bci=[0,13,2488] rc=0 vc=35 vn=- li=- udi=- nc=0
n150n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6dea0] bci=[0,14,2488] rc=0 vc=0 vn=- li=- udi=- nc=1
n142n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ec6dc20] bci=[0,14,2488] rc=1 vc=35 vn=- li=1 udi=- nc=1
n141n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ec6dbd0] bci=[0,13,2488] rc=1 vc=35 vn=- li=1 udi=- nc=0 flg=0x4
n153n goto --> block_13 BBStart at n151n [0x7f5a0ec6df90] bci=[0,17,2488] rc=0 vc=0 vn=- li=- udi=- nc=0
n136n BBEnd </block_16> ===== [0x7f5a0ec6da40] bci=[0,17,2488] rc=0 vc=35 vn=- li=- udi=- nc=0
n123n BBStart <block_15> (freq 78) [0x7f5a0ec6d630] bci=[0,18,2491] rc=0 vc=35 vn=- li=- udi=- nc=0
n154n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6dfe0] bci=[0,24,2491] rc=0 vc=0 vn=- li=- udi=- nc=1
n147n iand [0x7f5a0ec6ddb0] bci=[0,24,2491] rc=1 vc=35 vn=- li=1 udi=- nc=2
n145n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ec6dd10] bci=[0,19,2491] rc=1 vc=35 vn=- li=1 udi=- nc=1
n144n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ec6dcc0] bci=[0,18,2491] rc=1 vc=35 vn=- li=1 udi=- nc=0 flg=0x4
n146n iconst 0x7fffffff [0x7f5a0ec6dd60] bci=[0,22,2491] rc=1 vc=35 vn=- li=1 udi=- nc=0
n155n goto --> block_13 BBStart at n151n [0x7f5a0ec6e030] bci=[0,25,2491] rc=0 vc=0 vn=- li=- udi=- nc=0
n124n BBEnd </block_15> ===== [0x7f5a0ec6d680] bci=[0,25,2491] rc=0 vc=35 vn=- li=- udi=- nc=0
n121n BBStart <block_14> (freq 9985) [0x7f5a0ec6d590] bci=[0,26,2494] rc=0 vc=35 vn=- li=- udi=- nc=0
n156n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=0 vn=- li=- udi=- nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ec6db30] bci=[0,27,2494] rc=1 vc=35 vn=- li=1 udi=- nc=1
n138n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ec6dae0] bci=[0,26,2494] rc=1 vc=35 vn=- li=1 udi=- nc=0 flg=0x4
n122n BBEnd </block_14> ===== [0x7f5a0ec6d5e0] bci=[0,30,2494] rc=0 vc=35 vn=- li=- udi=- nc=0
n151n BBStart <block_13> (freq 10000) [0x7f5a0ec6def0] bci=[0,17,2488] rc=0 vc=38 vn=- li=- udi=- nc=0
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=38 vn=- li=- udi=- nc=1
n157n iload <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e0d0] bci=[0,30,2494] rc=2 vc=38 vn=- li=- udi=- nc=0
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=38 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=38 vn=- li=- udi=- nc=3 flg=0x20
n159n aload <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e170] bci=[-1,41,2047] rc=1 vc=0 vn=- li=- udi=- nc=0
n32n iconst 0 [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=38 vn=- li=- udi=- nc=0
n157n ==>iload
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=22 vn=- li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n36n ==>icall
n39n goto --> block_7 BBStart at n1n [0x7f5a0ebf2d50] bci=[-1,55,2051] rc=0 vc=22 vn=- li=- udi=- nc=0
n4n BBEnd </block_13> ===== [0x7f5a0ebf2260] bci=[-1,55,2051] rc=0 vc=22 vn=- li=- udi=- nc=0
n1n BBStart <block_7> (freq 10000) [0x7f5a0ebf2170] bci=[-1,55,2051] rc=0 vc=22 vn=- li=- udi=- nc=0
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=22 vn=- li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=22 vn=- li=- udi=- nc=1
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n2n BBEnd </block_7> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=22 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=22 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n60n iconst -1 [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n59n BBEnd </block_9> (cold) ===== [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=1
n70n bconst 2 [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=23 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n67n BBEnd </block_10> (cold) ===== [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n24n BBStart <block_5> (freq 4) (cold) [0x7f5a0ebf28a0] bci=[-1,20,2045] rc=0 vc=22 vn=- li=- udi=- nc=0
n44n compressedRefs [0x7f5a0ebf2ee0] bci=[-1,22,2045] rc=0 vc=22 vn=- li=- udi=- nc=2
n42n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2e40] bci=[-1,22,2045] rc=2 vc=22 vn=- li=- udi=- nc=1
n41n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2df0] bci=[-1,21,2045] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n43n lconst 0 [0x7f5a0ebf2e90] bci=[-1,22,2045] rc=1 vc=22 vn=- li=- udi=- nc=0
n48n treetop [0x7f5a0ebf3020] bci=[-1,27,2045] rc=0 vc=22 vn=- li=- udi=- nc=1
n47n icall java/lang/String.lengthInternal()I[#639 final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ebf2fd0] bci=[-1,27,2045] rc=2 vc=23 vn=- li=- udi=- nc=1
n46n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2f80] bci=[-1,26,2045] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n50n treetop [0x7f5a0ebf30c0] bci=[-1,30,2045] rc=0 vc=22 vn=- li=- udi=- nc=1
n49n icall java/lang/String.hashCodeImplCompressed([BII)I[#647 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf3070] bci=[-1,30,2045] rc=2 vc=23 vn=- li=- udi=- nc=3 flg=0x20
n42n ==>aloadi
n45n iconst 0 [0x7f5a0ebf2f30] bci=[-1,25,2045] rc=1 vc=22 vn=- li=- udi=- nc=0
n47n ==>icall
n51n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf3110] bci=[-1,33,2045] rc=0 vc=22 vn=- li=- udi=- nc=2
n40n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2da0] bci=[-1,20,2045] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n49n ==>icall
n52n goto --> block_7 BBStart at n1n [0x7f5a0ec6c000] bci=[-1,36,2045] rc=0 vc=22 vn=- li=- udi=- nc=0
n25n BBEnd </block_5> (cold) [0x7f5a0ebf28f0] bci=[-1,36,2045] rc=0 vc=22 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Symbol References (incremental):
--------------------------------
#648: java/lang/String[ Static] [flags 0x18307 0x0 ] [0x7f5a0ec93cc0] (Address)
#649: this<'this' parm Ljava/lang/String;>[ Parm] [flags 0x107 0x0 ] [0x7f5a0ec94120] (Address)
#650: this<'this' parm Ljava/lang/String;>[ Parm] [flags 0x107 0x0 ] [0x7f5a0ec948b0] (Address)
#651: <temp slot 2>[ Auto] [flags 0x10003 0x0 ] [0x7f5a0ec97490] (Int32)
#652: <temp slot 3>[ Auto] [flags 0x7 0x0 ] [0x7f5a0ec978e0] (Address)
Number of nodes = 115, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [7(10000) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9826
in = [10(0) 9(0) 8(6) ]
out = [3(420) 7(9405) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 468
in = [2(420) ]
out = [4(6) 6(449) ]
exception in = []
exception out = []
4 [0x7f5a0ec5c160] BBStart at 0x7f5a0ebf25d0, frequency = 149
in = [3(6) ]
out = [12(4) 6(6) ]
exception in = []
exception out = []
5 [0x7f5a0ec5c390] BBStart at 0x7f5a0ebf28a0, frequency = 4
in = [12(4) ]
out = [7(6) ]
exception in = []
exception out = []
6 [0x7f5a0ec3c180] BBStart at 0x7f5a0ebf2210, frequency = 526
in = [4(6) 3(449) ]
out = [14(9985) 17(6) ]
exception in = []
exception out = []
7 [0x7f5a0ec3c040] BBStart at 0x7f5a0ebf2170, frequency = 10000
in = [13(10000) 5(6) 2(9405) ]
out = [1(10000) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 77
in = [0(6) ]
out = [11(0) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [11(0) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
11 [0x7f5a0ec91db0] BBStart at 0x7f5a0ec6c7d0, frequency = 0
in = [8(0) ]
out = [9(0) ]
exception in = []
exception out = []
12 [0x7f5a0ec91fd0] BBStart at 0x7f5a0ec6c910, frequency = 4
in = [4(4) ]
out = [5(4) ]
exception in = []
exception out = []
13 [0x7f5a0ec975d0] BBStart at 0x7f5a0ec6def0, frequency = 10000
in = [14(0) 15(0) 16(0) ]
out = [7(10000) ]
exception in = []
exception out = []
14 [0x7f5a0ec96490] BBStart at 0x7f5a0ec6d590, frequency = 9985
in = [6(9985) ]
out = [13(0) ]
exception in = []
exception out = []
15 [0x7f5a0ec965d0] BBStart at 0x7f5a0ec6d630, frequency = 78
in = [17(6) ]
out = [13(0) ]
exception in = []
exception out = []
16 [0x7f5a0ec969d0] BBStart at 0x7f5a0ec6d9f0, frequency = 78
in = [17(6) ]
out = [13(0) ]
exception in = []
exception out = []
17 [0x7f5a0ec96850] BBStart at 0x7f5a0ec6d810, frequency = 151
in = [6(6) ]
out = [16(6) 15(6) ]
exception in = []
exception out = []
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
<trees
title="Trees after inlining"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after inlining: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n57n ificmpne --> block_2 BBStart at n5n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n56n iconst 1 [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n77n BBStart <block_11> (freq 76) [0x7f5a0ec6c7d0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n76n goto --> block_9 BBStart at n58n [0x7f5a0ec6c780] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n78n BBEnd </block_11> ===== [0x7f5a0ec6c820] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n12n ificmpne --> block_7 BBStart at n1n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=22 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=22 vn=- li=- udi=- nc=1
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n9n iconst 0 [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n6n BBEnd </block_2> ===== [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,7,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n17n ificmpeq --> block_6 BBStart at n3n () [0x7f5a0ebf2670] bci=[-1,10,2044] rc=0 vc=22 vn=- li=- udi=- nc=2 flg=0x20
n13n iload java/lang/String.enableCompression Z[#635 final Static] [flags 0x20020301 0x0 ] [0x7f5a0ebf2530] bci=[-1,7,2044] rc=1 vc=22 vn=- li=- udi=- nc=0
n14n iconst 0 [0x7f5a0ebf2580] bci=[-1,10,2044] rc=1 vc=22 vn=- li=- udi=- nc=0
n11n BBEnd </block_3> ===== [0x7f5a0ebf2490] bci=[-1,10,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n15n BBStart <block_4> (freq 147) [0x7f5a0ebf25d0] bci=[-1,13,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n26n ificmplt --> block_6 BBStart at n3n () [0x7f5a0ebf2940] bci=[-1,17,2044] rc=0 vc=22 vn=- li=- udi=- nc=2 flg=0x20
n22n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ebf2800] bci=[-1,14,2044] rc=1 vc=22 vn=- li=- udi=- nc=1
n21n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf27b0] bci=[-1,13,2044] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n23n iconst 0 [0x7f5a0ebf2850] bci=[-1,17,2044] rc=1 vc=22 vn=- li=- udi=- nc=0
n16n BBEnd </block_4> ===== [0x7f5a0ebf2620] bci=[-1,17,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n81n BBStart <block_12> (freq 76) [0x7f5a0ec6c910] bci=[-1,17,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n80n goto --> block_5 BBStart at n24n [0x7f5a0ec6c8c0] bci=[-1,17,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n82n BBEnd </block_12> ===== [0x7f5a0ec6c960] bci=[-1,17,2044] rc=0 vc=22 vn=- li=- udi=- nc=0
n3n BBStart <block_6> (freq 489) [0x7f5a0ebf2210] bci=[-1,39,2047] rc=0 vc=22 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=22 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=36 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=36 vn=- li=- udi=- nc=0 flg=0x4
n30n lconst 0 [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=22 vn=- li=- udi=- nc=0
n158n astore <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=0 vn=- li=- udi=- nc=1
n29n ==>aloadi
n149n treetop [0x7f5a0ec6de50] bci=[-1,45,2047] rc=0 vc=0 vn=- li=- udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n131n ificmpeq --> block_14 BBStart at n121n () [0x7f5a0ec6d8b0] bci=[0,3,2485] rc=0 vc=35 vn=- li=- udi=- nc=2 flg=0x20
n127n iload java/lang/String.enableCompression Z[#635 final Static] [flags 0x20020301 0x0 ] [0x7f5a0ec6d770] bci=[0,0,2485] rc=1 vc=35 vn=- li=1 udi=- nc=0
n128n iconst 0 [0x7f5a0ec6d7c0] bci=[0,3,2485] rc=1 vc=35 vn=- li=1 udi=- nc=0
n126n BBEnd </block_6> ===== [0x7f5a0ec6d720] bci=[0,3,2485] rc=0 vc=35 vn=- li=- udi=- nc=0
n129n BBStart <block_17> (freq 147) [0x7f5a0ec6d810] bci=[0,6,2487] rc=0 vc=35 vn=- li=- udi=- nc=0
n137n ificmplt --> block_15 BBStart at n123n () [0x7f5a0ec6da90] bci=[0,10,2487] rc=0 vc=35 vn=- li=- udi=- nc=2 flg=0x20
n133n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ec6d950] bci=[0,7,2487] rc=1 vc=35 vn=- li=1 udi=- nc=1
n132n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ec6d900] bci=[0,6,2487] rc=1 vc=35 vn=- li=1 udi=- nc=0 flg=0x4
n134n iconst 0 [0x7f5a0ec6d9a0] bci=[0,10,2487] rc=1 vc=35 vn=- li=1 udi=- nc=0
n130n BBEnd </block_17> ===== [0x7f5a0ec6d860] bci=[0,10,2487] rc=0 vc=35 vn=- li=- udi=- nc=0
n135n BBStart <block_16> (freq 76) [0x7f5a0ec6d9f0] bci=[0,13,2488] rc=0 vc=35 vn=- li=- udi=- nc=0
n150n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6dea0] bci=[0,14,2488] rc=0 vc=0 vn=- li=- udi=- nc=1
n142n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ec6dc20] bci=[0,14,2488] rc=1 vc=35 vn=- li=1 udi=- nc=1
n141n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ec6dbd0] bci=[0,13,2488] rc=1 vc=35 vn=- li=1 udi=- nc=0 flg=0x4
n153n goto --> block_13 BBStart at n151n [0x7f5a0ec6df90] bci=[0,17,2488] rc=0 vc=0 vn=- li=- udi=- nc=0
n136n BBEnd </block_16> ===== [0x7f5a0ec6da40] bci=[0,17,2488] rc=0 vc=35 vn=- li=- udi=- nc=0
n123n BBStart <block_15> (freq 76) [0x7f5a0ec6d630] bci=[0,18,2491] rc=0 vc=35 vn=- li=- udi=- nc=0
n154n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6dfe0] bci=[0,24,2491] rc=0 vc=0 vn=- li=- udi=- nc=1
n147n iand [0x7f5a0ec6ddb0] bci=[0,24,2491] rc=1 vc=35 vn=- li=1 udi=- nc=2
n145n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ec6dd10] bci=[0,19,2491] rc=1 vc=35 vn=- li=1 udi=- nc=1
n144n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ec6dcc0] bci=[0,18,2491] rc=1 vc=35 vn=- li=1 udi=- nc=0 flg=0x4
n146n iconst 0x7fffffff [0x7f5a0ec6dd60] bci=[0,22,2491] rc=1 vc=35 vn=- li=1 udi=- nc=0
n155n goto --> block_13 BBStart at n151n [0x7f5a0ec6e030] bci=[0,25,2491] rc=0 vc=0 vn=- li=- udi=- nc=0
n124n BBEnd </block_15> ===== [0x7f5a0ec6d680] bci=[0,25,2491] rc=0 vc=35 vn=- li=- udi=- nc=0
n121n BBStart <block_14> (freq 489) [0x7f5a0ec6d590] bci=[0,26,2494] rc=0 vc=35 vn=- li=- udi=- nc=0
n156n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=0 vn=- li=- udi=- nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ec6db30] bci=[0,27,2494] rc=1 vc=35 vn=- li=1 udi=- nc=1
n138n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ec6dae0] bci=[0,26,2494] rc=1 vc=35 vn=- li=1 udi=- nc=0 flg=0x4
n122n BBEnd </block_14> ===== [0x7f5a0ec6d5e0] bci=[0,30,2494] rc=0 vc=35 vn=- li=- udi=- nc=0
n151n BBStart <block_13> (freq 632) [0x7f5a0ec6def0] bci=[0,17,2488] rc=0 vc=38 vn=- li=- udi=- nc=0
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=38 vn=- li=- udi=- nc=1
n157n iload <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e0d0] bci=[0,30,2494] rc=2 vc=38 vn=- li=- udi=- nc=0
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=38 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=38 vn=- li=- udi=- nc=3 flg=0x20
n159n aload <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e170] bci=[-1,41,2047] rc=1 vc=0 vn=- li=- udi=- nc=0
n32n iconst 0 [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=38 vn=- li=- udi=- nc=0
n157n ==>iload
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=22 vn=- li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n36n ==>icall
n39n goto --> block_7 BBStart at n1n [0x7f5a0ebf2d50] bci=[-1,55,2051] rc=0 vc=22 vn=- li=- udi=- nc=0
n4n BBEnd </block_13> ===== [0x7f5a0ebf2260] bci=[-1,55,2051] rc=0 vc=22 vn=- li=- udi=- nc=0
n1n BBStart <block_7> (freq 10000) [0x7f5a0ebf2170] bci=[-1,55,2051] rc=0 vc=22 vn=- li=- udi=- nc=0
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=22 vn=- li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=22 vn=- li=- udi=- nc=1
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n2n BBEnd </block_7> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=22 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=22 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n60n iconst -1 [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n59n BBEnd </block_9> (cold) ===== [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=1
n70n bconst 2 [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=23 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=22 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n67n BBEnd </block_10> (cold) ===== [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=22 vn=- li=- udi=- nc=0
n24n BBStart <block_5> (freq 4) (cold) [0x7f5a0ebf28a0] bci=[-1,20,2045] rc=0 vc=22 vn=- li=- udi=- nc=0
n44n compressedRefs [0x7f5a0ebf2ee0] bci=[-1,22,2045] rc=0 vc=22 vn=- li=- udi=- nc=2
n42n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2e40] bci=[-1,22,2045] rc=2 vc=22 vn=- li=- udi=- nc=1
n41n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2df0] bci=[-1,21,2045] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n43n lconst 0 [0x7f5a0ebf2e90] bci=[-1,22,2045] rc=1 vc=22 vn=- li=- udi=- nc=0
n48n treetop [0x7f5a0ebf3020] bci=[-1,27,2045] rc=0 vc=22 vn=- li=- udi=- nc=1
n47n icall java/lang/String.lengthInternal()I[#639 final virtual Method -272] [flags 0x20500 0x0 ] [0x7f5a0ebf2fd0] bci=[-1,27,2045] rc=2 vc=23 vn=- li=- udi=- nc=1
n46n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2f80] bci=[-1,26,2045] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n50n treetop [0x7f5a0ebf30c0] bci=[-1,30,2045] rc=0 vc=22 vn=- li=- udi=- nc=1
n49n icall java/lang/String.hashCodeImplCompressed([BII)I[#647 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf3070] bci=[-1,30,2045] rc=2 vc=23 vn=- li=- udi=- nc=3 flg=0x20
n42n ==>aloadi
n45n iconst 0 [0x7f5a0ebf2f30] bci=[-1,25,2045] rc=1 vc=22 vn=- li=- udi=- nc=0
n47n ==>icall
n51n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf3110] bci=[-1,33,2045] rc=0 vc=22 vn=- li=- udi=- nc=2
n40n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2da0] bci=[-1,20,2045] rc=1 vc=22 vn=- li=- udi=- nc=0 flg=0x4
n49n ==>icall
n52n goto --> block_7 BBStart at n1n [0x7f5a0ec6c000] bci=[-1,36,2045] rc=0 vc=22 vn=- li=- udi=- nc=0
n25n BBEnd </block_5> (cold) [0x7f5a0ebf28f0] bci=[-1,36,2045] rc=0 vc=22 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 115, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [7(9942) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [3(413) 7(9258) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [4(6) 6(442) ]
exception in = []
exception out = []
4 [0x7f5a0ec5c160] BBStart at 0x7f5a0ebf25d0, frequency = 147
in = [3(6) ]
out = [12(6) 6(6) ]
exception in = []
exception out = []
5 [0x7f5a0ec5c390] BBStart at 0x7f5a0ebf28a0, frequency = 4
in = [12(5) ]
out = [7(4) ]
exception in = []
exception out = []
6 [0x7f5a0ec3c180] BBStart at 0x7f5a0ebf2210, frequency = 489
in = [4(6) 3(442) ]
out = [14(485) 17(6) ]
exception in = []
exception out = []
7 [0x7f5a0ec3c040] BBStart at 0x7f5a0ebf2170, frequency = 10000
in = [13(627) 5(4) 2(9258) ]
out = [1(9942) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [11(6) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [11(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
11 [0x7f5a0ec91db0] BBStart at 0x7f5a0ec6c7d0, frequency = 76
in = [8(6) ]
out = [9(5) ]
exception in = []
exception out = []
12 [0x7f5a0ec91fd0] BBStart at 0x7f5a0ec6c910, frequency = 76
in = [4(6) ]
out = [5(5) ]
exception in = []
exception out = []
13 [0x7f5a0ec975d0] BBStart at 0x7f5a0ec6def0, frequency = 632
in = [14(485) 15(6) 16(6) ]
out = [7(627) ]
exception in = []
exception out = []
14 [0x7f5a0ec96490] BBStart at 0x7f5a0ec6d590, frequency = 489
in = [6(485) ]
out = [13(485) ]
exception in = []
exception out = []
15 [0x7f5a0ec965d0] BBStart at 0x7f5a0ec6d630, frequency = 76
in = [17(6) ]
out = [13(6) ]
exception in = []
exception out = []
16 [0x7f5a0ec969d0] BBStart at 0x7f5a0ec6d9f0, frequency = 76
in = [17(6) ]
out = [13(6) ]
exception in = []
exception out = []
17 [0x7f5a0ec96850] BBStart at 0x7f5a0ec6d810, frequency = 147
in = [6(6) ]
out = [16(6) 15(6) ]
exception in = []
exception out = []
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
<optimization id=15 name=osrExceptionEdgeRemoval method=java/lang/String.hashCode()I>
Performing 15: osrExceptionEdgeRemoval
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=17 name=virtualGuardTailSplitter method=java/lang/String.hashCode()I>
Performing 17: virtualGuardTailSplitter
(Building alias info)
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=18 name=treeSimplification method=java/lang/String.hashCode()I>
Performing 18: treeSimplification
[ 5] O^O transformDirectLoad: turn [00007F5A0EBF2530] iload java/lang/String.enableCompression Z into load const
[ 6] O^O TREE SIMPLIFICATION: change conditional to unconditional n17n
[ 7] O^O TREE SIMPLIFICATION: Changing node [00007F5A0EBF2670] ificmpeq into goto
[ 8] O^O TREE SIMPLIFICATION: Removing goto [00007F5A0EBF2670] to following block
[ 9] O^O TREE SIMPLIFICATION: Removing redundant node [00007F5A0EBF2670] goto
[ 10] O^O TREE SIMPLIFICATION: Merge blocks: block_3 and block_6
[ 11] O^O transformDirectLoad: turn [00007F5A0EC6D770] iload java/lang/String.enableCompression Z into load const
[ 12] O^O TREE SIMPLIFICATION: change conditional to unconditional n131n
[ 13] O^O TREE SIMPLIFICATION: Changing node [00007F5A0EC6D8B0] ificmpeq into goto
[ 14] O^O TREE SIMPLIFICATION: Removing goto [00007F5A0EC6D8B0] to following block
[ 15] O^O TREE SIMPLIFICATION: Removing redundant node [00007F5A0EC6D8B0] goto
[ 16] O^O TREE SIMPLIFICATION: Merge blocks: block_3 and block_14
[ 17] O^O TREE SIMPLIFICATION: Merge blocks: block_3 and block_13
[ 18] O^O TREE SIMPLIFICATION: Removing goto [00007F5A0EBF2D50] to following block
[ 19] O^O TREE SIMPLIFICATION: Removing redundant node [00007F5A0EBF2D50] goto
<trees
title="Trees after treeSimplification"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after treeSimplification: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n57n ificmpne --> block_2 BBStart at n5n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=0
n56n iconst 1 [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=0
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n77n BBStart <block_11> (freq 76) [0x7f5a0ec6c7d0] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n76n goto --> block_9 BBStart at n58n [0x7f5a0ec6c780] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n78n BBEnd </block_11> ===== [0x7f5a0ec6c820] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n12n ificmpne --> block_7 BBStart at n1n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=44 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=44 vn=- li=- udi=- nc=1
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=0 flg=0x104
n9n iconst 0 [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=44 vn=- li=- udi=- nc=0
n6n BBEnd </block_2> ===== [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[0,17,2488] rc=0 vc=44 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=44 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=44 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=44 vn=- li=- udi=- nc=0 flg=0x104
n30n lconst 0 (highWordZero ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=44 vn=- li=- udi=- nc=0 flg=0x4000
n158n astore <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=44 vn=- li=- udi=- nc=1
n29n ==>aloadi
n149n treetop [0x7f5a0ec6de50] bci=[-1,45,2047] rc=0 vc=44 vn=- li=- udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=44 vn=- li=- udi=- nc=0 flg=0x4
n156n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=44 vn=- li=- udi=- nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] [0x7f5a0ec6db30] bci=[0,27,2494] rc=1 vc=44 vn=- li=- udi=- nc=1
n138n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ec6dae0] bci=[0,26,2494] rc=1 vc=44 vn=- li=- udi=- nc=0 flg=0x104
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=44 vn=- li=- udi=- nc=1
n157n iload <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e0d0] bci=[0,30,2494] rc=2 vc=44 vn=- li=- udi=- nc=0
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=44 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=44 vn=- li=- udi=- nc=3 flg=0x20
n159n aload <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e170] bci=[-1,41,2047] rc=1 vc=44 vn=- li=- udi=- nc=0
n32n iconst 0 [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=44 vn=- li=- udi=- nc=0
n157n ==>iload
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=44 vn=- li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=44 vn=- li=- udi=- nc=0 flg=0x104
n36n ==>icall
n4n BBEnd </block_3> ===== [0x7f5a0ebf2260] bci=[-1,55,2051] rc=0 vc=44 vn=- li=- udi=- nc=0
n1n BBStart <block_7> (freq 10000) [0x7f5a0ebf2170] bci=[-1,55,2051] rc=0 vc=44 vn=- li=- udi=- nc=0
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=44 vn=- li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=44 vn=- li=- udi=- nc=1
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=44 vn=- li=- udi=- nc=0 flg=0x104
n2n BBEnd </block_7> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=44 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=44 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=0
n60n iconst -1 [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=0
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=0
n59n BBEnd </block_9> (cold) ===== [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=0
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=1
n70n bconst 2 [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=0
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=44 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=44 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 58, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [7(9942) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [3(413) 7(9258) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [7(627) ]
exception in = []
exception out = []
7 [0x7f5a0ec3c040] BBStart at 0x7f5a0ebf2170, frequency = 10000
in = [3(627) 2(9258) ]
out = [1(9942) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [11(6) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [11(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
11 [0x7f5a0ec91db0] BBStart at 0x7f5a0ec6c7d0, frequency = 76
in = [8(6) ]
out = [9(5) ]
exception in = []
exception out = []
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
<optgroup name=cheapGlobalValuePropagationGroup>
<optimization id=23 name=globalValuePropagation method=java/lang/String.hashCode()I>
Performing 23: globalValuePropagation
(Doing structural analysis)
(Building use/def info)
PREPARTITION VN (Building value number info)
<trees
title="Trees after globalValuePropagation"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after globalValuePropagation: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=55 vn=19 li=- udi=- nc=0
n57n ificmpne --> block_2 BBStart at n5n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=55 vn=20 li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=55 vn=3 li=- udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=55 vn=2 li=- udi=- nc=0 flg=0x104
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=52 vn=21 li=- udi=- nc=0
n77n BBStart <block_11> (freq 76) [0x7f5a0ec6c7d0] bci=[-1,0,2042] rc=0 vc=55 vn=22 li=- udi=- nc=0
n76n goto --> block_9 BBStart at n58n [0x7f5a0ec6c780] bci=[-1,0,2042] rc=0 vc=55 vn=23 li=- udi=- nc=0
n78n BBEnd </block_11> ===== [0x7f5a0ec6c820] bci=[-1,0,2042] rc=0 vc=52 vn=24 li=- udi=- nc=0
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=55 vn=25 li=- udi=- nc=0
n12n ificmpne --> block_7 BBStart at n1n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=55 vn=26 li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=55 vn=5 li=- udi=- nc=1 flg=0x1000
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=55 vn=1 li=- udi=3 nc=0 flg=0x104
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=55 vn=4 li=- udi=- nc=0 flg=0x302
n6n BBEnd </block_2> ===== [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=52 vn=27 li=- udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[0,17,2488] rc=0 vc=55 vn=28 li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=55 vn=29 li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=55 vn=7 li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=55 vn=1 li=- udi=4 nc=0 flg=0x104
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=55 vn=6 li=- udi=- nc=0 flg=0x4302
n158n astore <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=55 vn=7 li=- udi=1 nc=1
n29n ==>aloadi
n149n treetop [0x7f5a0ec6de50] bci=[-1,45,2047] rc=0 vc=55 vn=30 li=- udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=55 vn=1 li=- udi=5 nc=0 flg=0x4
n156n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=55 vn=8 li=- udi=2 nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=1 vc=55 vn=8 li=- udi=- nc=1 flg=0x1000
n138n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ec6dae0] bci=[0,26,2494] rc=1 vc=55 vn=1 li=- udi=6 nc=0 flg=0x104
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=55 vn=31 li=- udi=- nc=1
n157n iload <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] (cannotOverflow ) [0x7f5a0ec6e0d0] bci=[0,30,2494] rc=2 vc=55 vn=8 li=- udi=7 nc=0 flg=0x1000
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=55 vn=33 li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=55 vn=9 li=- udi=- nc=3 flg=0x20
n159n aload <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e170] bci=[-1,41,2047] rc=1 vc=55 vn=7 li=- udi=8 nc=0
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=55 vn=4 li=- udi=- nc=0 flg=0x302
n157n ==>iload
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=55 vn=9 li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=55 vn=1 li=- udi=9 nc=0 flg=0x104
n36n ==>icall
n4n BBEnd </block_3> ===== [0x7f5a0ebf2260] bci=[-1,55,2051] rc=0 vc=52 vn=34 li=- udi=- nc=0
n1n BBStart <block_7> (freq 10000) [0x7f5a0ebf2170] bci=[-1,55,2051] rc=0 vc=55 vn=35 li=- udi=- nc=0
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=55 vn=36 li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=55 vn=10 li=- udi=- nc=1 flg=0x1000
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=55 vn=1 li=- udi=10 nc=0 flg=0x104
n2n BBEnd </block_7> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=52 vn=37 li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=55 vn=38 li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=55 vn=13 li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=55 vn=13 li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=55 vn=12 li=- udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=55 vn=11 li=- udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=55 vn=39 li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=55 vn=4 li=- udi=- nc=0 flg=0x302
n59n BBEnd </block_9> (cold) ===== [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=52 vn=40 li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=55 vn=41 li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=55 vn=14 li=- udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=55 vn=14 li=- udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=55 vn=15 li=- udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=55 vn=15 li=- udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=55 vn=43 li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=55 vn=42 li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=55 vn=17 li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=55 vn=16 li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=55 vn=44 li=- udi=- nc=0
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=52 vn=45 li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 58, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [7(9942) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [3(413) 7(9258) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [7(627) ]
exception in = []
exception out = []
7 [0x7f5a0ec3c040] BBStart at 0x7f5a0ebf2170, frequency = 10000
in = [3(627) 2(9258) ]
out = [1(9942) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [11(6) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [11(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
11 [0x7f5a0ec91db0] BBStart at 0x7f5a0ec6c7d0, frequency = 76
in = [8(6) ]
out = [9(5) ]
exception in = []
exception out = []
<structure>
0 [0x7f5a0ec0c3d0] Acyclic region
Subgraph: (* = exit edge)
(0x7f5a0ec0c4a0:0x7f5a0ec0c370)0 --> 8(0x7f5a0ec0c530)
(0x7f5a0ec0c530:0x7f5a0ec0c190)8 --> 2(0x7f5a0ec0c6e0) 11(0x7f5a0ec0c610)
(0x7f5a0ec0c610:0x7f5a0ec0c070)11 --> 9(0x7f5a0ec0c7d0)
(0x7f5a0ec0c7d0:0x7f5a0ec0c130)9 --> 2(0x7f5a0ec0c6e0) 10(0x7f5a0ec0c8a0)
(0x7f5a0ec0c8a0:0x7f5a0ec0c0d0)10 --> 2(0x7f5a0ec0c6e0)
(0x7f5a0ec0c6e0:0x7f5a0ec0c2b0)2 --> 7(0x7f5a0ec0cb20) 3(0x7f5a0ec0ca50)
(0x7f5a0ec0ca50:0x7f5a0ec0c250)3 --> 7(0x7f5a0ec0cb20)
(0x7f5a0ec0cb20:0x7f5a0ec0c1f0)7 --> 1(0x7f5a0ec0cc40)
(0x7f5a0ec0cc40:0x7f5a0ec0c310)1 -->
0 [0x7f5a0ec0c370] Block
8 [0x7f5a0ec0c190] Block
11 [0x7f5a0ec0c070] Block
9 [0x7f5a0ec0c130] Block
10 [0x7f5a0ec0c0d0] Block
2 [0x7f5a0ec0c2b0] Block
3 [0x7f5a0ec0c250] Block
7 [0x7f5a0ec0c1f0] Block
1 [0x7f5a0ec0c310] Block
</structure>
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
<optgroup name=cheapObjectAllocationGroup>
<optimization id=28 name=localDeadStoreElimination method=java/lang/String.hashCode()I>
Performing 28: localDeadStoreElimination
No transformations done by this pass -- omitting listings
</optimization>
</optgroup>
<optimization id=31 name=catchBlockRemoval method=java/lang/String.hashCode()I>
Performing 31: catchBlockRemoval
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=32 name=osrExceptionEdgeRemoval method=java/lang/String.hashCode()I>
Performing 32: osrExceptionEdgeRemoval
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=37 name=CFGSimplification method=java/lang/String.hashCode()I>
Performing 37: CFGSimplification
No transformations done by this pass -- omitting listings
</optimization>
</optgroup>
<optimization id=38 name=dataAccessAccelerator method=java/lang/String.hashCode()I>
Performing 38: dataAccessAccelerator
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=40 name=blockSplitter method=java/lang/String.hashCode()I>
Performing 40: blockSplitter
[ 20] O^O BLOCK SPLITTER: Splitting merge block_7 for predecessor 2 (frequency 10000)
(Invalidating structure)
BLOCK CLONER: Newly created block_18 is a clone of original block_7
(Invalidating value number info)
(Invalidating use/def info)
<trees
title="Trees after blockSplitter"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after blockSplitter: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n57n ificmpne --> block_2 BBStart at n5n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=- nc=0 flg=0x104
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n77n BBStart <block_11> (freq 76) [0x7f5a0ec6c7d0] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n76n goto --> block_9 BBStart at n58n [0x7f5a0ec6c780] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n78n BBEnd </block_11> ===== [0x7f5a0ec6c820] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=93 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=93 vn=- li=- udi=- nc=1 flg=0x1000
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=3 nc=0 flg=0x104
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=93 vn=- li=- udi=- nc=0 flg=0x302
n6n BBEnd </block_2> ===== [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n164n BBStart <block_18> (freq 9545) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=94 vn=- li=- udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=94 vn=- li=- udi=- nc=1
n166n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ec6e3a0] bci=[-1,56,2051] rc=1 vc=94 vn=- li=- udi=- nc=1 flg=0x1000
n167n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ec6e3f0] bci=[-1,55,2051] rc=1 vc=94 vn=- li=- udi=10 nc=0 flg=0x104
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=94 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[0,17,2488] rc=0 vc=90 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=90 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=90 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=90 vn=- li=- udi=4 nc=0 flg=0x104
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=90 vn=- li=- udi=- nc=0 flg=0x4302
n158n astore <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=90 vn=- li=- udi=1 nc=1
n29n ==>aloadi
n149n treetop [0x7f5a0ec6de50] bci=[-1,45,2047] rc=0 vc=90 vn=- li=- udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=90 vn=- li=- udi=5 nc=0 flg=0x4
n156n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=90 vn=- li=- udi=2 nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=1 vc=90 vn=- li=- udi=- nc=1 flg=0x1000
n138n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ec6dae0] bci=[0,26,2494] rc=1 vc=90 vn=- li=- udi=6 nc=0 flg=0x104
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=90 vn=- li=- udi=- nc=1
n157n iload <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] (cannotOverflow ) [0x7f5a0ec6e0d0] bci=[0,30,2494] rc=2 vc=90 vn=- li=- udi=7 nc=0 flg=0x1000
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=90 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=90 vn=- li=- udi=- nc=3 flg=0x20
n159n aload <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e170] bci=[-1,41,2047] rc=1 vc=90 vn=- li=- udi=8 nc=0
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=90 vn=- li=- udi=- nc=0 flg=0x302
n157n ==>iload
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=90 vn=- li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=90 vn=- li=- udi=9 nc=0 flg=0x104
n36n ==>icall
n4n BBEnd </block_3> ===== [0x7f5a0ebf2260] bci=[-1,55,2051] rc=0 vc=90 vn=- li=- udi=- nc=0
n1n BBStart <block_7> (freq 455) [0x7f5a0ebf2170] bci=[-1,55,2051] rc=0 vc=94 vn=- li=- udi=- nc=0
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=94 vn=- li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=94 vn=- li=- udi=- nc=1 flg=0x1000
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=94 vn=- li=- udi=10 nc=0 flg=0x104
n2n BBEnd </block_7> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=94 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=93 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=- nc=0 flg=0x302
n59n BBEnd </block_9> (cold) ===== [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=93 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=93 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 63, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [18(9258) 7(0) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [18(9258) 3(413) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [7(0) ]
exception in = []
exception out = []
7 [0x7f5a0ec3c040] BBStart at 0x7f5a0ebf2170, frequency = 455
in = [3(0) ]
out = [1(0) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [11(6) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [11(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
11 [0x7f5a0ec91db0] BBStart at 0x7f5a0ec6c7d0, frequency = 76
in = [8(6) ]
out = [9(5) ]
exception in = []
exception out = []
18 [0x7f5a0ed2e4f0] BBStart at 0x7f5a0ec6e300, frequency = 9545
in = [2(9258) ]
out = [1(9258) ]
exception in = []
exception out = []
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
<optimization id=41 name=treeSimplification method=java/lang/String.hashCode()I>
Performing 41: treeSimplification
[ 21] O^O TREE SIMPLIFICATION: Merge blocks: block_3 and block_7
<trees
title="Trees after treeSimplification"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after treeSimplification: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n57n ificmpne --> block_2 BBStart at n5n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x104
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n77n BBStart <block_11> (freq 76) [0x7f5a0ec6c7d0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n76n goto --> block_9 BBStart at n58n [0x7f5a0ec6c780] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n78n BBEnd </block_11> ===== [0x7f5a0ec6c820] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=97 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=97 vn=- li=- udi=- nc=1 flg=0x1000
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=3 nc=0 flg=0x104
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x302
n6n BBEnd </block_2> ===== [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n164n BBStart <block_18> (freq 9545) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=97 vn=- li=- udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=97 vn=- li=- udi=- nc=1
n166n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ec6e3a0] bci=[-1,56,2051] rc=1 vc=97 vn=- li=- udi=- nc=1 flg=0x1000
n167n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ec6e3f0] bci=[-1,55,2051] rc=1 vc=97 vn=- li=- udi=10 nc=0 flg=0x104
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=97 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=97 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=97 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=97 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=97 vn=- li=- udi=4 nc=0 flg=0x104
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x4302
n158n astore <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=97 vn=- li=- udi=1 nc=1
n29n ==>aloadi
n149n treetop [0x7f5a0ec6de50] bci=[-1,45,2047] rc=0 vc=97 vn=- li=- udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=97 vn=- li=- udi=5 nc=0 flg=0x4
n156n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=97 vn=- li=- udi=2 nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=1 vc=97 vn=- li=- udi=- nc=1 flg=0x1000
n138n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ec6dae0] bci=[0,26,2494] rc=1 vc=97 vn=- li=- udi=6 nc=0 flg=0x104
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=97 vn=- li=- udi=- nc=1
n157n iload <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] (cannotOverflow ) [0x7f5a0ec6e0d0] bci=[0,30,2494] rc=2 vc=97 vn=- li=- udi=7 nc=0 flg=0x1000
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=97 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=97 vn=- li=- udi=- nc=3 flg=0x20
n159n aload <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e170] bci=[-1,41,2047] rc=1 vc=97 vn=- li=- udi=8 nc=0
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x302
n157n ==>iload
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=97 vn=- li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=97 vn=- li=- udi=9 nc=0 flg=0x104
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=97 vn=- li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=97 vn=- li=- udi=- nc=1 flg=0x1000
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=97 vn=- li=- udi=10 nc=0 flg=0x104
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=97 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=97 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x302
n59n BBEnd </block_9> (cold) ===== [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 61, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [18(9258) 3(0) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [18(9258) 3(413) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [1(0) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [11(6) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [11(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
11 [0x7f5a0ec91db0] BBStart at 0x7f5a0ec6c7d0, frequency = 76
in = [8(6) ]
out = [9(5) ]
exception in = []
exception out = []
18 [0x7f5a0ed2e4f0] BBStart at 0x7f5a0ec6e300, frequency = 9545
in = [2(9258) ]
out = [1(9258) ]
exception in = []
exception out = []
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
<optimization id=42 name=virtualGuardHeadMerger method=java/lang/String.hashCode()I>
Performing 42: virtualGuardHeadMerger
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=43 name=basicBlockExtension method=java/lang/String.hashCode()I>
Performing 43: basicBlockExtension
(Doing structural analysis)
[ 22] O^O ORDER BLOCKS: in block_8, branch taken dest (2) is a block after a single goto, so redirecting to its goto's destination (9)
[ 23] O^O ORDER BLOCKS: empty block_11, redirecting edges around this block then removing it
[ 24] O^O ORDER BLOCKS: block_11 has no predecessors so removing it and its out edges from the flow graph
[ 25] O^O ORDER BLOCKS: empty block_11, redirecting edges around this block then removing it
[ 26] O^O ORDER BLOCKS: Propagating coldness information
[ 27] O^O ORDER BLOCKS: choose best successor for block_0 (freq:6)
[ 28] O^O ORDER BLOCKS: choose best successor for block_8 (freq:147)
[ 29] O^O ORDER BLOCKS: choose best successor for block_2 (freq:9672)
[ 30] O^O ORDER BLOCKS: choose best successor for block_18 (freq:9545)
[ 31] O^O ORDER BLOCKS: choose best successor for block_1 (freq:6)
[ 32] O^O ORDER BLOCKS: choose best successor for block_3 (freq:461)
[ 33] O^O ORDER BLOCKS: choose best successor for block_9 (freq:0)
[ 34] O^O ORDER BLOCKS: choose best successor for block_10 (freq:0)
[ 35] O^O ORDER BLOCKS: block_18 is extension of previous block
[ 36] O^O ORDER BLOCKS: block_10 is extension of previous block
<trees
title="Trees after basicBlockExtension"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after basicBlockExtension: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x104
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=97 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=97 vn=- li=- udi=- nc=1 flg=0x1000
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=3 nc=0 flg=0x104
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x302
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=97 vn=- li=- udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=97 vn=- li=- udi=- nc=1
n166n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ec6e3a0] bci=[-1,56,2051] rc=1 vc=97 vn=- li=- udi=- nc=1 flg=0x1000
n167n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ec6e3f0] bci=[-1,55,2051] rc=1 vc=97 vn=- li=- udi=10 nc=0 flg=0x104
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=97 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=97 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=97 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=97 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=1 vc=97 vn=- li=- udi=4 nc=0 flg=0x104
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x4302
n158n astore <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=97 vn=- li=- udi=1 nc=1
n29n ==>aloadi
n149n treetop [0x7f5a0ec6de50] bci=[-1,45,2047] rc=0 vc=97 vn=- li=- udi=- nc=1
n33n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 sharedMemory ) [0x7f5a0ebf2b70] bci=[-1,45,2047] rc=1 vc=97 vn=- li=- udi=5 nc=0 flg=0x4
n156n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=97 vn=- li=- udi=2 nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=1 vc=97 vn=- li=- udi=- nc=1 flg=0x1000
n138n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ec6dae0] bci=[0,26,2494] rc=1 vc=97 vn=- li=- udi=6 nc=0 flg=0x104
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=97 vn=- li=- udi=- nc=1
n157n iload <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] (cannotOverflow ) [0x7f5a0ec6e0d0] bci=[0,30,2494] rc=2 vc=97 vn=- li=- udi=7 nc=0 flg=0x1000
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=97 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=97 vn=- li=- udi=- nc=3 flg=0x20
n159n aload <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e170] bci=[-1,41,2047] rc=1 vc=97 vn=- li=- udi=8 nc=0
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x302
n157n ==>iload
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=97 vn=- li=- udi=- nc=2
n27n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2990] bci=[-1,39,2047] rc=1 vc=97 vn=- li=- udi=9 nc=0 flg=0x104
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=97 vn=- li=- udi=- nc=1
n19n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf2710] bci=[-1,56,2051] rc=1 vc=97 vn=- li=- udi=- nc=1 flg=0x1000
n18n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf26c0] bci=[-1,55,2051] rc=1 vc=97 vn=- li=- udi=10 nc=0 flg=0x104
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=97 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=97 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x302
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 58, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [18(9258) 3(0) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [18(9258) 3(413) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [1(0) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [9(5) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [8(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
18 [0x7f5a0ed2e4f0] BBStart at 0x7f5a0ec6e300, frequency = 9545
in = [2(9258) ]
out = [1(9258) ]
exception in = []
exception out = []
<structure>
0 [0x7f5a0ed0c240] Acyclic region
Subgraph: (* = exit edge)
(0x7f5a0ed0c310:0x7f5a0ed0c1e0)0 --> 8(0x7f5a0ed0c3a0)
(0x7f5a0ed0c3a0:0x7f5a0ed0c060)8 --> 9(0x7f5a0ed0c640) 2(0x7f5a0ed0c550)
(0x7f5a0ed0c640:0x7f5a0ed0c000)9 --> 2(0x7f5a0ed0c550) 10(0x7f5a0ed0c710)
(0x7f5a0ed0c710:0x7f5a0ec0cfe0)10 --> 2(0x7f5a0ed0c550)
(0x7f5a0ed0c550:0x7f5a0ed0c120)2 --> 3(0x7f5a0ed0c990) 18(0x7f5a0ed0c8c0)
(0x7f5a0ed0c8c0:0x7f5a0ec0cf20)18 --> 1(0x7f5a0ed0ca60)
(0x7f5a0ed0ca60:0x7f5a0ed0c180)1 -->
(0x7f5a0ed0c990:0x7f5a0ed0c0c0)3 --> 1(0x7f5a0ed0ca60)
0 [0x7f5a0ed0c1e0] Block
8 [0x7f5a0ed0c060] Block
9 [0x7f5a0ed0c000] Block
10 [0x7f5a0ec0cfe0] Block
2 [0x7f5a0ed0c120] Block
18 [0x7f5a0ec0cf20] Block
1 [0x7f5a0ed0c180] Block
3 [0x7f5a0ed0c0c0] Block
</structure>
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
<optgroup name=localValuePropagationGroup>
<optimization id=44 name=localCSE method=java/lang/String.hashCode()I>
Performing 44: localCSE
[ 37] O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Local Common Subexpression Elimination commoning node : 00007F5A0EC6E3F0 by available node : 00007F5A0EBF2350
[ 38] O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Local Common Subexpression Elimination commoning node : 00007F5A0EC6E3A0 by available node : 00007F5A0EBF23A0
[ 39] O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Local Common Subexpression Elimination commoning node : 00007F5A0EBF2B70 by available node : 00007F5A0EBF29E0
[ 40] O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Local Common Subexpression Elimination commoning node : 00007F5A0EC6DAE0 by available node : 00007F5A0EBF29E0
[ 41] O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Local Common Subexpression Elimination propagating local #651 in node : 00007F5A0EC6E0D0 PARENT : 00007F5A0EBF2C10 from node 00007F5A0EC6E080
O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Rhs of store def node : 00007F5A0EC6DB30
[ 42] O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Local Common Subexpression Elimination propagating local #652 in node : 00007F5A0EC6E170 PARENT : 00007F5A0EBF2C60 from node 00007F5A0EC6E120
O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Rhs of store def node : 00007F5A0EBF2A30
[ 43] O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Local Common Subexpression Elimination commoning node : 00007F5A0EC6E0D0 again
[ 44] O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Local Common Subexpression Elimination commoning node : 00007F5A0EBF2990 by available node : 00007F5A0EBF29E0
[ 45] O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Local Common Subexpression Elimination commoning node : 00007F5A0EBF26C0 by available node : 00007F5A0EBF29E0
[ 46] O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Local Common Subexpression Elimination propagating local #634 in node : 00007F5A0EBF2710 PARENT : 00007F5A0EBF2760 from node 00007F5A0EBF2D00
O^O LOCAL COMMON SUBEXPRESSION ELIMINATION: Rhs of store def node : 00007F5A0EBF2C60
<trees
title="Trees after localCSE"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after localCSE: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=106 vn=- li=- udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=106 vn=- li=- udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=106 vn=- li=- udi=- nc=0 flg=0x104
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=106 vn=- li=- udi=- nc=0
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=108 vn=- li=- udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=2 vc=108 vn=- li=- udi=- nc=1 flg=0x1000
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=108 vn=- li=- udi=3 nc=0 flg=0x104
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=108 vn=- li=- udi=- nc=0 flg=0x302
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=108 vn=- li=- udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=108 vn=- li=- udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=108 vn=- li=- udi=- nc=1
n8n ==>iloadi
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=108 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=97 vn=- li=- udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=110 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=3 vc=110 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=4 vc=110 vn=- li=- udi=4 nc=0 flg=0x104
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=110 vn=- li=- udi=- nc=0 flg=0x4302
n158n astore <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=110 vn=- li=- udi=1 nc=1
n29n ==>aloadi
n149n treetop [0x7f5a0ec6de50] bci=[-1,45,2047] rc=0 vc=110 vn=- li=- udi=- nc=1
n28n ==>aload
n156n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=110 vn=- li=- udi=2 nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=3 vc=110 vn=- li=- udi=- nc=1 flg=0x1000
n28n ==>aload
n35n treetop [0x7f5a0ebf2c10] bci=[-1,46,2047] rc=0 vc=110 vn=- li=- udi=- nc=1
n139n ==>iloadi
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=110 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=3 vc=110 vn=- li=- udi=- nc=3 flg=0x20
n29n ==>aloadi
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=110 vn=- li=- udi=- nc=0 flg=0x302
n139n ==>iloadi
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=110 vn=- li=- udi=- nc=2
n28n ==>aload
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=110 vn=- li=- udi=- nc=1
n36n ==>icall
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=110 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=97 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x302
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=97 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=97 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 49, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [18(9258) 3(0) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [18(9258) 3(413) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [1(0) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [9(5) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [8(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
18 [0x7f5a0ed2e4f0] BBStart at 0x7f5a0ec6e300, frequency = 9545
in = [2(9258) ]
out = [1(9258) ]
exception in = []
exception out = []
<structure>
0 [0x7f5a0ed0c240] Acyclic region
Subgraph: (* = exit edge)
(0x7f5a0ed0c310:0x7f5a0ed0c1e0)0 --> 8(0x7f5a0ed0c3a0)
(0x7f5a0ed0c3a0:0x7f5a0ed0c060)8 --> 9(0x7f5a0ed0c640) 2(0x7f5a0ed0c550)
(0x7f5a0ed0c640:0x7f5a0ed0c000)9 --> 2(0x7f5a0ed0c550) 10(0x7f5a0ed0c710)
(0x7f5a0ed0c710:0x7f5a0ec0cfe0)10 --> 2(0x7f5a0ed0c550)
(0x7f5a0ed0c550:0x7f5a0ed0c120)2 --> 3(0x7f5a0ed0c990) 18(0x7f5a0ed0c8c0)
(0x7f5a0ed0c8c0:0x7f5a0ec0cf20)18 --> 1(0x7f5a0ed0ca60)
(0x7f5a0ed0ca60:0x7f5a0ed0c180)1 -->
(0x7f5a0ed0c990:0x7f5a0ed0c0c0)3 --> 1(0x7f5a0ed0ca60)
0 [0x7f5a0ed0c1e0] Block
8 [0x7f5a0ed0c060] Block
9 [0x7f5a0ed0c000] Block
10 [0x7f5a0ec0cfe0] Block
2 [0x7f5a0ed0c120] Block
18 [0x7f5a0ec0cf20] Block
1 [0x7f5a0ed0c180] Block
3 [0x7f5a0ed0c0c0] Block
</structure>
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
<optimization id=45 name=localValuePropagation method=java/lang/String.hashCode()I>
Performing 45: localValuePropagation
No transformations done by this pass -- omitting listings
</optimization>
</optgroup>
<optimization id=48 name=arraycopyTransformation method=java/lang/String.hashCode()I>
Performing 48: arraycopyTransformation
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=49 name=treeSimplification method=java/lang/String.hashCode()I>
Performing 49: treeSimplification
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=50 name=asyncCheckInsertion method=java/lang/String.hashCode()I>
Performing 50: asyncCheckInsertion
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=51 name=localCSE method=java/lang/String.hashCode()I>
Performing 51: localCSE
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=52 name=treeSimplification method=java/lang/String.hashCode()I>
Performing 52: treeSimplification
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=53 name=andSimplification method=java/lang/String.hashCode()I>
Performing 53: andSimplification
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=54 name=compactNullChecks method=java/lang/String.hashCode()I>
Performing 54: compactNullChecks
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=55 name=deadTreesElimination method=java/lang/String.hashCode()I>
Performing 55: deadTreesElimination
[ 47] O^O DEAD TREES ELIMINATION: Remove trivial dead tree: 00007F5A0EC6DE50
[ 48] O^O DEAD TREES ELIMINATION: Remove trivial dead tree: 00007F5A0EBF2C10
<trees
title="Trees after deadTreesElimination"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after deadTreesElimination: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=2 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=- nc=0 flg=0x104
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=2 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=2 vc=134 vn=- li=- udi=- nc=1 flg=0x1000
n7n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf2350] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=3 nc=0 flg=0x104
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=134 vn=- li=- udi=- nc=0 flg=0x302
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=134 vn=- li=-1 udi=- nc=1
n8n ==>iloadi
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=134 vn=- li=-1 udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=3 vc=134 vn=- li=- udi=- nc=1
n28n aload this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 sharedMemory ) [0x7f5a0ebf29e0] bci=[-1,40,2047] rc=3 vc=134 vn=- li=- udi=4 nc=0 flg=0x104
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=134 vn=- li=- udi=- nc=0 flg=0x4302
n158n astore <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=134 vn=- li=-1 udi=1 nc=1
n29n ==>aloadi
n156n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=134 vn=- li=-1 udi=2 nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=2 vc=134 vn=- li=- udi=- nc=1 flg=0x1000
n28n ==>aload
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=134 vn=- li=-1 udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=3 vc=134 vn=- li=- udi=- nc=3 flg=0x20
n29n ==>aloadi
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=134 vn=- li=- udi=- nc=0 flg=0x302
n139n ==>iloadi
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=134 vn=- li=-1 udi=- nc=2
n28n ==>aload
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=134 vn=- li=-1 udi=- nc=1
n36n ==>icall
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=134 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=2 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=- nc=0 flg=0x302
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=134 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=0
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=134 vn=- li=-1 udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 47, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [18(9258) 3(0) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [18(9258) 3(413) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [1(0) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [9(5) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [8(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
18 [0x7f5a0ed2e4f0] BBStart at 0x7f5a0ec6e300, frequency = 9545
in = [2(9258) ]
out = [1(9258) ]
exception in = []
exception out = []
<structure>
0 [0x7f5a0ed0c240] Acyclic region
Subgraph: (* = exit edge)
(0x7f5a0ed0c310:0x7f5a0ed0c1e0)0 --> 8(0x7f5a0ed0c3a0)
(0x7f5a0ed0c3a0:0x7f5a0ed0c060)8 --> 9(0x7f5a0ed0c640) 2(0x7f5a0ed0c550)
(0x7f5a0ed0c640:0x7f5a0ed0c000)9 --> 2(0x7f5a0ed0c550) 10(0x7f5a0ed0c710)
(0x7f5a0ed0c710:0x7f5a0ec0cfe0)10 --> 2(0x7f5a0ed0c550)
(0x7f5a0ed0c550:0x7f5a0ed0c120)2 --> 3(0x7f5a0ed0c990) 18(0x7f5a0ed0c8c0)
(0x7f5a0ed0c8c0:0x7f5a0ec0cf20)18 --> 1(0x7f5a0ed0ca60)
(0x7f5a0ed0ca60:0x7f5a0ed0c180)1 -->
(0x7f5a0ed0c990:0x7f5a0ed0c0c0)3 --> 1(0x7f5a0ed0ca60)
0 [0x7f5a0ed0c1e0] Block
8 [0x7f5a0ed0c060] Block
9 [0x7f5a0ed0c000] Block
10 [0x7f5a0ec0cfe0] Block
2 [0x7f5a0ed0c120] Block
18 [0x7f5a0ec0cf20] Block
1 [0x7f5a0ed0c180] Block
3 [0x7f5a0ed0c0c0] Block
</structure>
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
<optimization id=61 name=dynamicLiteralPool method=java/lang/String.hashCode()I>
Performing 61: dynamicLiteralPool
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=63 name=trivialBlockExtension method=java/lang/String.hashCode()I>
Performing 63: trivialBlockExtension
No transformations done by this pass -- omitting listings
</optimization>
<optgroup name=cheapTacticalGlobalRegisterAllocatorGroup>
<optimization id=68 name=redundantGotoElimination method=java/lang/String.hashCode()I>
Performing 68: redundantGotoElimination
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=69 name=tacticalGlobalRegisterAllocator method=java/lang/String.hashCode()I>
Performing 69: tacticalGlobalRegisterAllocator
Weight of candidate (symRef #652 ) is 0
Weight of candidate (symRef #651 ) is 0
Weight of candidate (symRef #633 ) is 833
state->_gprPressure = 1 summary->_gprPressure = 1 summary->PRESSURE_LIMIT = 253
state->_gprPressure = 1 summary->_gprPressure = 1 summary->PRESSURE_LIMIT = 253
state->_gprPressure = 2 summary->_gprPressure = 2 summary->PRESSURE_LIMIT = 253
state->_gprPressure = 2 summary->_gprPressure = 2 summary->PRESSURE_LIMIT = 253
state->_gprPressure = 1 summary->_gprPressure = 2 summary->PRESSURE_LIMIT = 253
state->_gprPressure = 1 summary->_gprPressure = 2 summary->PRESSURE_LIMIT = 253
state->_gprPressure = 1 summary->_gprPressure = 2 summary->PRESSURE_LIMIT = 253
state->_gprPressure = 0 summary->_gprPressure = 0 summary->PRESSURE_LIMIT = 253
[ 49] O^O GLOBAL REGISTER ASSIGNER: assign auto #633 to reg 5 (eax)
O^O GLOBAL REGISTER ASSIGNER: create TR::GlRegDeps [00007F5A0EC6E490] on BBStart [00007F5A0EC6C050]
O^O GLOBAL REGISTER ASSIGNER: create load [00007F5A0EC6E4E0] from Register 5
O^O GLOBAL REGISTER ASSIGNER: create TR::GlRegDeps [00007F5A0EC6E530] on exit node [00007F5A0EC6C190]
O^O GLOBAL REGISTER ASSIGNER: create TR::GlRegDeps [00007F5A0EC6E580] on exit node [00007F5A0EC6C0A0]
O^O GLOBAL REGISTER ASSIGNER: create TR::GlRegDeps [00007F5A0EC6E5D0] on BBStart [00007F5A0EBF22B0]
O^O GLOBAL REGISTER ASSIGNER: create load [00007F5A0EC6E620] from Register 5
O^O GLOBAL REGISTER ASSIGNER: change load var [00007F5A0EBF2350] of symRef#633 to load reg
O^O GLOBAL REGISTER ASSIGNER: change load var [00007F5A0EBF2350] of symRef#633 to load reg
O^O GLOBAL REGISTER ASSIGNER: create TR::GlRegDeps [00007F5A0EC6E670] on exit node [00007F5A0EBF24E0]
O^O GLOBAL REGISTER ASSIGNER: create TR::GlRegDeps [00007F5A0EC6E6C0] on BBStart [00007F5A0EBF2440]
O^O GLOBAL REGISTER ASSIGNER: create load [00007F5A0EC6E710] from Register 5
O^O GLOBAL REGISTER ASSIGNER: change load var [00007F5A0EBF29E0] of symRef#633 to load reg
O^O GLOBAL REGISTER ASSIGNER: change load var [00007F5A0EBF29E0] of symRef#633 to load reg
O^O GLOBAL REGISTER ASSIGNER: change load var [00007F5A0EBF29E0] of symRef#633 to load reg
O^O GLOBAL REGISTER ASSIGNER: change load var [00007F5A0EBF29E0] of symRef#633 to load reg
O^O GLOBAL REGISTER ASSIGNER: create TR::GlRegDeps [00007F5A0EC6E760] on BBStart [00007F5A0EC6C1E0]
O^O GLOBAL REGISTER ASSIGNER: create load [00007F5A0EC6E7B0] from Register 5
O^O GLOBAL REGISTER ASSIGNER: create TR::GlRegDeps [00007F5A0EC6E800] on exit node [00007F5A0EC6C410]
O^O GLOBAL REGISTER ASSIGNER: create TR::GlRegDeps [00007F5A0EC6E850] on exit node [00007F5A0EC6C870]
<trees
title="Trees after tacticalGlobalRegisterAllocator"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after tacticalGlobalRegisterAllocator: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n169n GlRegDeps [0x7f5a0ec6e490] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=1
n170n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] [0x7f5a0ec6e4e0] bci=[-1,0,2042] rc=3 vc=0 vn=- li=- udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=3 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=184 vn=- li=- udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=184 vn=- li=- udi=- nc=0 flg=0x104
n171n GlRegDeps [0x7f5a0ec6e530] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=1
n170n ==>aRegLoad
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n172n GlRegDeps [0x7f5a0ec6e580] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=1
n170n ==>aRegLoad
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=184 vn=- li=- udi=- nc=1
n173n GlRegDeps [0x7f5a0ec6e5d0] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=1
n174n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 SeenRealReference sharedMemory ) [0x7f5a0ec6e620] bci=[-1,0,2042] rc=3 vc=0 vn=- li=- udi=- nc=0 flg=0x8104
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=184 vn=- li=- udi=- nc=3 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=2 vc=184 vn=- li=- udi=- nc=1 flg=0x1000
n174n ==>aRegLoad
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=184 vn=- li=- udi=- nc=0 flg=0x302
n175n GlRegDeps [0x7f5a0ec6e670] bci=[-1,4,2042] rc=1 vc=0 vn=- li=- udi=- nc=1
n174n ==>aRegLoad
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=184 vn=- li=- udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=184 vn=- li=- udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=184 vn=- li=- udi=- nc=1
n8n ==>iloadi
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=184 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n176n GlRegDeps [0x7f5a0ec6e6c0] bci=[-1,55,2051] rc=1 vc=0 vn=- li=- udi=- nc=1
n177n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 SeenRealReference sharedMemory ) [0x7f5a0ec6e710] bci=[-1,40,2047] rc=4 vc=0 vn=- li=- udi=- nc=0 flg=0x8104
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=184 vn=- li=-1 udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=3 vc=184 vn=- li=- udi=- nc=1
n177n ==>aRegLoad
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=184 vn=- li=- udi=- nc=0 flg=0x4302
n158n astore <temp slot 3>[#652 Auto] [flags 0x7 0x0 ] [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=184 vn=- li=-1 udi=1 nc=1
n29n ==>aloadi
n156n istore <temp slot 2>[#651 Auto] [flags 0x10003 0x0 ] [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=184 vn=- li=-1 udi=2 nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=2 vc=184 vn=- li=- udi=- nc=1 flg=0x1000
n177n ==>aRegLoad
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=3 vc=184 vn=- li=- udi=- nc=3 flg=0x20
n29n ==>aloadi
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=184 vn=- li=- udi=- nc=0 flg=0x302
n139n ==>iloadi
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=184 vn=- li=-1 udi=- nc=2
n177n ==>aRegLoad
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n36n ==>icall
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=184 vn=- li=-1 udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n178n GlRegDeps [0x7f5a0ec6e760] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=1
n179n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] [0x7f5a0ec6e7b0] bci=[-1,0,2042] rc=3 vc=0 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=184 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=184 vn=- li=- udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=184 vn=- li=- udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=3 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=184 vn=- li=- udi=- nc=0 flg=0x302
n180n GlRegDeps [0x7f5a0ec6e800] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=1
n179n ==>aRegLoad
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=0
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=184 vn=- li=- udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=184 vn=- li=- udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=184 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=184 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=184 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=1
n181n GlRegDeps [0x7f5a0ec6e850] bci=[-1,0,2042] rc=1 vc=0 vn=- li=- udi=- nc=1
n179n ==>aRegLoad
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=184 vn=- li=-1 udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 58, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [18(9258) 3(0) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [18(9258) 3(413) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [1(0) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [9(5) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [8(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
18 [0x7f5a0ed2e4f0] BBStart at 0x7f5a0ec6e300, frequency = 9545
in = [2(9258) ]
out = [1(9258) ]
exception in = []
exception out = []
<structure>
0 [0x7f5a0ed0c240] Acyclic region
Subgraph: (* = exit edge)
(0x7f5a0ed0c310:0x7f5a0ed0c1e0)0 --> 8(0x7f5a0ed0c3a0)
(0x7f5a0ed0c3a0:0x7f5a0ed0c060)8 --> 9(0x7f5a0ed0c640) 2(0x7f5a0ed0c550)
(0x7f5a0ed0c640:0x7f5a0ed0c000)9 --> 2(0x7f5a0ed0c550) 10(0x7f5a0ed0c710)
(0x7f5a0ed0c710:0x7f5a0ec0cfe0)10 --> 2(0x7f5a0ed0c550)
(0x7f5a0ed0c550:0x7f5a0ed0c120)2 --> 3(0x7f5a0ed0c990) 18(0x7f5a0ed0c8c0)
(0x7f5a0ed0c8c0:0x7f5a0ec0cf20)18 --> 1(0x7f5a0ed0ca60)
(0x7f5a0ed0ca60:0x7f5a0ed0c180)1 -->
(0x7f5a0ed0c990:0x7f5a0ed0c0c0)3 --> 1(0x7f5a0ed0ca60)
0 [0x7f5a0ed0c1e0] Block
8 [0x7f5a0ed0c060] Block
9 [0x7f5a0ed0c000] Block
10 [0x7f5a0ec0cfe0] Block
2 [0x7f5a0ed0c120] Block
18 [0x7f5a0ec0cf20] Block
1 [0x7f5a0ed0c180] Block
3 [0x7f5a0ed0c0c0] Block
</structure>
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
</optgroup>
<optgroup name=globalDeadStoreGroup>
<optimization id=70 name=globalDeadStoreElimination method=java/lang/String.hashCode()I>
Performing 70: globalDeadStoreElimination
(Building use/def info)
[ 50] O^O DEAD STORE ELIMINATION: Global Store Elimination eliminating group 0:
O^O DEAD STORE ELIMINATION: Removing istore n156n [00007F5A0EC6E080]
[ 51] O^O DEAD STORE ELIMINATION: Global Store Elimination eliminating group 1:
O^O DEAD STORE ELIMINATION: Removing astore n158n [00007F5A0EC6E120]
(Invalidating use/def info)
<trees
title="Trees after globalDeadStoreElimination"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after globalDeadStoreElimination: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=1
n169n GlRegDeps [0x7f5a0ec6e490] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=1
n170n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] [0x7f5a0ec6e4e0] bci=[-1,0,2042] rc=3 vc=189 vn=- li=- udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=3 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=0 flg=0x104
n171n GlRegDeps [0x7f5a0ec6e530] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=1
n170n ==>aRegLoad
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=1
n172n GlRegDeps [0x7f5a0ec6e580] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=1
n170n ==>aRegLoad
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=1
n173n GlRegDeps [0x7f5a0ec6e5d0] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=1
n174n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 SeenRealReference sharedMemory ) [0x7f5a0ec6e620] bci=[-1,0,2042] rc=3 vc=189 vn=- li=- udi=- nc=0 flg=0x8104
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=189 vn=- li=- udi=- nc=3 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=2 vc=189 vn=- li=- udi=- nc=1 flg=0x1000
n174n ==>aRegLoad
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=189 vn=- li=- udi=- nc=0 flg=0x302
n175n GlRegDeps [0x7f5a0ec6e670] bci=[-1,4,2042] rc=1 vc=189 vn=- li=- udi=- nc=1
n174n ==>aRegLoad
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=189 vn=- li=- udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=189 vn=- li=- udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=189 vn=- li=- udi=- nc=1
n8n ==>iloadi
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=189 vn=- li=- udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=189 vn=- li=- udi=- nc=1
n176n GlRegDeps [0x7f5a0ec6e6c0] bci=[-1,55,2051] rc=1 vc=189 vn=- li=- udi=- nc=1
n177n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 SeenRealReference sharedMemory ) [0x7f5a0ec6e710] bci=[-1,40,2047] rc=4 vc=189 vn=- li=- udi=- nc=0 flg=0x8104
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=189 vn=- li=- udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=3 vc=189 vn=- li=- udi=- nc=1
n177n ==>aRegLoad
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=189 vn=- li=- udi=- nc=0 flg=0x4302
n158n treetop [0x7f5a0ec6e120] bci=[-1,41,2047] rc=0 vc=189 vn=- li=- udi=1 nc=1
n29n ==>aloadi
n156n treetop [0x7f5a0ec6e080] bci=[0,27,2494] rc=0 vc=189 vn=- li=- udi=2 nc=1
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=2 vc=189 vn=- li=- udi=- nc=1 flg=0x1000
n177n ==>aRegLoad
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=189 vn=- li=- udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=3 vc=189 vn=- li=- udi=- nc=3 flg=0x20
n29n ==>aloadi
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=189 vn=- li=- udi=- nc=0 flg=0x302
n139n ==>iloadi
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=189 vn=- li=- udi=- nc=2
n177n ==>aRegLoad
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=189 vn=- li=- udi=- nc=1
n36n ==>icall
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=189 vn=- li=- udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=1
n178n GlRegDeps [0x7f5a0ec6e760] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=1
n179n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] [0x7f5a0ec6e7b0] bci=[-1,0,2042] rc=3 vc=189 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=189 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=3 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=0 flg=0x302
n180n GlRegDeps [0x7f5a0ec6e800] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=1
n179n ==>aRegLoad
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=0
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=1
n181n GlRegDeps [0x7f5a0ec6e850] bci=[-1,0,2042] rc=1 vc=189 vn=- li=- udi=- nc=1
n179n ==>aRegLoad
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=189 vn=- li=- udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 58, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [18(9258) 3(0) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [18(9258) 3(413) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [1(0) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [9(5) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [8(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
18 [0x7f5a0ed2e4f0] BBStart at 0x7f5a0ec6e300, frequency = 9545
in = [2(9258) ]
out = [1(9258) ]
exception in = []
exception out = []
<structure>
0 [0x7f5a0ed0c240] Acyclic region
Subgraph: (* = exit edge)
(0x7f5a0ed0c310:0x7f5a0ed0c1e0)0 --> 8(0x7f5a0ed0c3a0)
(0x7f5a0ed0c3a0:0x7f5a0ed0c060)8 --> 9(0x7f5a0ed0c640) 2(0x7f5a0ed0c550)
(0x7f5a0ed0c640:0x7f5a0ed0c000)9 --> 2(0x7f5a0ed0c550) 10(0x7f5a0ed0c710)
(0x7f5a0ed0c710:0x7f5a0ec0cfe0)10 --> 2(0x7f5a0ed0c550)
(0x7f5a0ed0c550:0x7f5a0ed0c120)2 --> 3(0x7f5a0ed0c990) 18(0x7f5a0ed0c8c0)
(0x7f5a0ed0c8c0:0x7f5a0ec0cf20)18 --> 1(0x7f5a0ed0ca60)
(0x7f5a0ed0ca60:0x7f5a0ed0c180)1 -->
(0x7f5a0ed0c990:0x7f5a0ed0c0c0)3 --> 1(0x7f5a0ed0ca60)
0 [0x7f5a0ed0c1e0] Block
8 [0x7f5a0ed0c060] Block
9 [0x7f5a0ed0c000] Block
10 [0x7f5a0ec0cfe0] Block
2 [0x7f5a0ed0c120] Block
18 [0x7f5a0ec0cf20] Block
1 [0x7f5a0ed0c180] Block
3 [0x7f5a0ed0c0c0] Block
</structure>
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
<optimization id=71 name=deadTreesElimination method=java/lang/String.hashCode()I>
Performing 71: deadTreesElimination
[ 52] O^O DEAD TREES ELIMINATION: Remove trivial dead tree: 00007F5A0EC6E120
[ 53] O^O DEAD TREES ELIMINATION: Remove tree : [00007F5A0EC6E080] ([00007F5A0EC6DB30] = iloadi)
[ 54] O^O DEAD TREES ELIMINATION: Remove tree : [00007F5A0EC6E940] ([00007F5A0EC6E710] = aRegLoad)
<trees
title="Trees after deadTreesElimination"
method="java/lang/String.hashCode()I"
hotness="warm">
Trees after deadTreesElimination: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n169n GlRegDeps [0x7f5a0ec6e490] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=1
n170n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] [0x7f5a0ec6e4e0] bci=[-1,0,2042] rc=3 vc=192 vn=- li=- udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=3 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=0 flg=0x104
n171n GlRegDeps [0x7f5a0ec6e530] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=1
n170n ==>aRegLoad
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n172n GlRegDeps [0x7f5a0ec6e580] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=1
n170n ==>aRegLoad
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n173n GlRegDeps [0x7f5a0ec6e5d0] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=1
n174n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 SeenRealReference sharedMemory ) [0x7f5a0ec6e620] bci=[-1,0,2042] rc=3 vc=192 vn=- li=- udi=- nc=0 flg=0x8104
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=3 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=2 vc=192 vn=- li=- udi=- nc=1 flg=0x1000
n174n ==>aRegLoad
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=192 vn=- li=- udi=- nc=0 flg=0x302
n175n GlRegDeps [0x7f5a0ec6e670] bci=[-1,4,2042] rc=1 vc=192 vn=- li=- udi=- nc=1
n174n ==>aRegLoad
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=192 vn=- li=-1 udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n8n ==>iloadi
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=192 vn=- li=-1 udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n176n GlRegDeps [0x7f5a0ec6e6c0] bci=[-1,55,2051] rc=1 vc=192 vn=- li=- udi=- nc=1
n177n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 SeenRealReference sharedMemory ) [0x7f5a0ec6e710] bci=[-1,40,2047] rc=4 vc=192 vn=- li=- udi=- nc=0 flg=0x8104
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=192 vn=- li=-1 udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=192 vn=- li=- udi=- nc=1
n177n ==>aRegLoad
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=192 vn=- li=- udi=- nc=0 flg=0x4302
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=3 vc=192 vn=- li=- udi=- nc=3 flg=0x20
n29n ==>aloadi
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=192 vn=- li=- udi=- nc=0 flg=0x302
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=1 vc=192 vn=- li=- udi=- nc=1 flg=0x1000
n177n ==>aRegLoad
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=192 vn=- li=-1 udi=- nc=2
n177n ==>aRegLoad
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n36n ==>icall
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=192 vn=- li=-1 udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n178n GlRegDeps [0x7f5a0ec6e760] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=1
n179n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] [0x7f5a0ec6e7b0] bci=[-1,0,2042] rc=3 vc=192 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=192 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=3 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=0 flg=0x302
n180n GlRegDeps [0x7f5a0ec6e800] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=1
n179n ==>aRegLoad
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=0
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=1
n181n GlRegDeps [0x7f5a0ec6e850] bci=[-1,0,2042] rc=1 vc=192 vn=- li=- udi=- nc=1
n179n ==>aRegLoad
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=192 vn=- li=-1 udi=- nc=0
index: node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc: reference count
vc: visit count
vn: value number
li: local index
udi: use/def index
nc: number of children
addr: address size in bytes
flg: node flags
Number of nodes = 56, symRefCount = 653
</trees>
<cfg>
0 [0x7f5a0ec0d1f0] entry
in = []
out = [8(6) ]
exception in = []
exception out = []
1 [0x7f5a0ec0d0f0] exit
in = [18(9258) 3(0) ]
out = []
exception in = []
exception out = []
2 [0x7f5a0ec3c2c0] BBStart at 0x7f5a0ebf22b0, frequency = 9672
in = [10(0) 9(0) 8(6) ]
out = [18(9258) 3(413) ]
exception in = []
exception out = []
3 [0x7f5a0ec3c530] BBStart at 0x7f5a0ebf2440, frequency = 461
in = [2(413) ]
out = [1(0) ]
exception in = []
exception out = []
8 [0x7f5a0ec5dd80] BBStart at 0x7f5a0ec6c050, frequency = 147
in = [0(6) ]
out = [9(5) 2(6) ]
exception in = []
exception out = []
9 [0x7f5a0ec5df60] BBStart at 0x7f5a0ec6c1e0, frequency = 0
in = [8(5) ]
out = [10(0) 2(0) ]
exception in = []
exception out = []
10 [0x7f5a0ec5e160] BBStart at 0x7f5a0ec6c460, frequency = 0
in = [9(0) ]
out = [2(0) ]
exception in = []
exception out = []
18 [0x7f5a0ed2e4f0] BBStart at 0x7f5a0ec6e300, frequency = 9545
in = [2(9258) ]
out = [1(9258) ]
exception in = []
exception out = []
<structure>
0 [0x7f5a0ed0c240] Acyclic region
Subgraph: (* = exit edge)
(0x7f5a0ed0c310:0x7f5a0ed0c1e0)0 --> 8(0x7f5a0ed0c3a0)
(0x7f5a0ed0c3a0:0x7f5a0ed0c060)8 --> 9(0x7f5a0ed0c640) 2(0x7f5a0ed0c550)
(0x7f5a0ed0c640:0x7f5a0ed0c000)9 --> 2(0x7f5a0ed0c550) 10(0x7f5a0ed0c710)
(0x7f5a0ed0c710:0x7f5a0ec0cfe0)10 --> 2(0x7f5a0ed0c550)
(0x7f5a0ed0c550:0x7f5a0ed0c120)2 --> 3(0x7f5a0ed0c990) 18(0x7f5a0ed0c8c0)
(0x7f5a0ed0c8c0:0x7f5a0ec0cf20)18 --> 1(0x7f5a0ed0ca60)
(0x7f5a0ed0ca60:0x7f5a0ed0c180)1 -->
(0x7f5a0ed0c990:0x7f5a0ed0c0c0)3 --> 1(0x7f5a0ed0ca60)
0 [0x7f5a0ed0c1e0] Block
8 [0x7f5a0ed0c060] Block
9 [0x7f5a0ed0c000] Block
10 [0x7f5a0ec0cfe0] Block
2 [0x7f5a0ed0c120] Block
18 [0x7f5a0ec0cf20] Block
1 [0x7f5a0ed0c180] Block
3 [0x7f5a0ed0c0c0] Block
</structure>
</cfg>
<knownObjectTable size="1"> // 00007F5A0EC8FA80
id JNI Ref Address Hash Class
obj0 NULL
</knownObjectTable>
</optimization>
</optgroup>
<optimization id=75 name=compactLocals method=java/lang/String.hashCode()I>
Performing 75: compactLocals
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=76 name=globalLiveVariablesForGC method=java/lang/String.hashCode()I>
Performing 76: globalLiveVariablesForGC
No transformations done by this pass -- omitting listings
</optimization>
<optimization id=78 name=regDepCopyRemoval method=java/lang/String.hashCode()I>
Performing 78: regDepCopyRemoval
No transformations done by this pass -- omitting listings
</optimization>
<trees
title="Post Optimization Trees"
method="java/lang/String.hashCode()I"
hotness="warm">
Post Optimization Trees: for java/lang/String.hashCode()I
Call Stack Info
CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
0 -1 46 java/lang/String.lengthInternal()I
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n53n BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n169n GlRegDeps [0x7f5a0ec6e490] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=1
n170n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] [0x7f5a0ec6e4e0] bci=[-1,0,2042] rc=3 vc=195 vn=- li=- udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=3 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=0 flg=0x104
n171n GlRegDeps [0x7f5a0ec6e530] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=1
n170n ==>aRegLoad
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n172n GlRegDeps [0x7f5a0ec6e580] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=1
n170n ==>aRegLoad
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n173n GlRegDeps [0x7f5a0ec6e5d0] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=1
n174n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 SeenRealReference sharedMemory ) [0x7f5a0ec6e620] bci=[-1,0,2042] rc=3 vc=195 vn=- li=- udi=- nc=0 flg=0x8104
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=3 flg=0x20
n8n iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=2 vc=195 vn=- li=- udi=- nc=1 flg=0x1000
n174n ==>aRegLoad
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=195 vn=- li=- udi=- nc=0 flg=0x302
n175n GlRegDeps [0x7f5a0ec6e670] bci=[-1,4,2042] rc=1 vc=195 vn=- li=- udi=- nc=1
n174n ==>aRegLoad
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=195 vn=- li=-1 udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n8n ==>iloadi
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=195 vn=- li=-1 udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n176n GlRegDeps [0x7f5a0ec6e6c0] bci=[-1,55,2051] rc=1 vc=195 vn=- li=- udi=- nc=1
n177n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 SeenRealReference sharedMemory ) [0x7f5a0ec6e710] bci=[-1,40,2047] rc=4 vc=195 vn=- li=- udi=- nc=0 flg=0x8104
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=195 vn=- li=-1 udi=- nc=2
n29n aloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=195 vn=- li=- udi=- nc=1
n177n ==>aRegLoad
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=195 vn=- li=- udi=- nc=0 flg=0x4302
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n36n icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=3 vc=195 vn=- li=- udi=- nc=3 flg=0x20
n29n ==>aloadi
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=195 vn=- li=- udi=- nc=0 flg=0x302
n139n iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=1 vc=195 vn=- li=- udi=- nc=1 flg=0x1000
n177n ==>aRegLoad
n38n istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=195 vn=- li=-1 udi=- nc=2
n177n ==>aRegLoad
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n36n ==>icall
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=195 vn=- li=-1 udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n178n GlRegDeps [0x7f5a0ec6e760] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=1
n179n aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] [0x7f5a0ec6e7b0] bci=[-1,0,2042] rc=3 vc=195 vn=- li=- udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=195 vn=- li=- udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=3 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=0 flg=0x302
n180n GlRegDeps [0x7f5a0ec6e800] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=1
n179n ==>aRegLoad
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=0