Skip to content

Instantly share code, notes, and snippets.

@mgaudet
Created December 15, 2017 02:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mgaudet/c158eaa1c8cbb384ae13895515b9922e to your computer and use it in GitHub Desktop.
Save mgaudet/c158eaa1c8cbb384ae13895515b9922e to your computer and use it in GitHub Desktop.
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
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=195 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=195 vn=- li=-1 udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=195 vn=- li=-1 udi=- nc=1
n181n GlRegDeps [0x7f5a0ec6e850] bci=[-1,0,2042] rc=1 vc=195 vn=- li=- udi=- nc=1
n179n ==>aRegLoad
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=195 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>
</optimize>
successfully verified compressedRefs anchors
<codegen
method="java/lang/String.hashCode()I"
hotness="warm">
<LowerTrees>
</LowerTrees>
<trees
title="Post Lower Trees"
method="java/lang/String.hashCode()I"
hotness="warm">
Post Lower 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=198 vn=- li=8 udi=- nc=1
n169n GlRegDeps [0x7f5a0ec6e490] bci=[-1,0,2042] rc=1 vc=198 vn=- li=8 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=198 vn=- li=8 udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=198 vn=- li=8 udi=- nc=3 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=8 udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=198 vn=- li=8 udi=- nc=0 flg=0x104
n171n GlRegDeps [0x7f5a0ec6e530] bci=[-1,0,2042] rc=1 vc=198 vn=- li=8 udi=- nc=1
n170n ==>aRegLoad
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=8 udi=- nc=1
n172n GlRegDeps [0x7f5a0ec6e580] bci=[-1,0,2042] rc=1 vc=198 vn=- li=8 udi=- nc=1
n170n ==>aRegLoad
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=2 udi=- nc=1
n173n GlRegDeps [0x7f5a0ec6e5d0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=2 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=198 vn=- li=2 udi=- nc=0 flg=0x8104
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=198 vn=- li=2 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=198 vn=- li=2 udi=- nc=1 flg=0x1000
n174n ==>aRegLoad
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=198 vn=- li=2 udi=- nc=0 flg=0x302
n175n GlRegDeps [0x7f5a0ec6e670] bci=[-1,4,2042] rc=1 vc=198 vn=- li=2 udi=- nc=1
n174n ==>aRegLoad
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=198 vn=- li=2 udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=198 vn=- li=18 udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=198 vn=- li=18 udi=- nc=1
n8n ==>iloadi
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=198 vn=- li=18 udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=198 vn=- li=3 udi=- nc=1
n176n GlRegDeps [0x7f5a0ec6e6c0] bci=[-1,55,2051] rc=1 vc=198 vn=- li=3 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=198 vn=- li=3 udi=- nc=0 flg=0x8104
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=198 vn=- li=3 udi=- nc=2
n29n l2a [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=198 vn=- li=3 udi=- nc=1
n186n iu2l [0x7f5a0ec6e9e0] bci=[-1,41,2047] rc=1 vc=198 vn=- li=3 udi=- nc=1
n185n iloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ec6e990] bci=[-1,41,2047] rc=1 vc=198 vn=- li=3 udi=- nc=1
n177n ==>aRegLoad
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=198 vn=- li=3 udi=- nc=0 flg=0x4302
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=198 vn=- li=3 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=198 vn=- li=3 udi=- nc=3 flg=0x20
n29n ==>l2a
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=198 vn=- li=3 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=198 vn=- li=3 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=198 vn=- li=3 udi=- nc=2
n177n ==>aRegLoad
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=198 vn=- li=3 udi=- nc=1
n36n ==>icall
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=198 vn=- li=3 udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=1
n178n GlRegDeps [0x7f5a0ec6e760] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 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=198 vn=- li=9 udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=198 vn=- li=9 udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=3 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=0 flg=0x302
n180n GlRegDeps [0x7f5a0ec6e800] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=1
n179n ==>aRegLoad
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=0
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=1
n181n GlRegDeps [0x7f5a0ec6e850] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=1
n179n ==>aRegLoad
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 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>
<AllocateLinkageRegisters>
Parm 0 has RegLoad 0x7f5a0ec6e4e0
Initial globalRegsWithRegLoad: {5}
</AllocateLinkageRegisters>
[ 55] O^O CODE GENERATION: ===> Identify and mark Unneeded b2i/i2b conversions <===
<trees
title="Pre Uncommon Call Constant Node Trees"
method="java/lang/String.hashCode()I"
hotness="warm">
Pre Uncommon Call Constant Node 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=198 vn=- li=8 udi=- nc=1
n169n GlRegDeps [0x7f5a0ec6e490] bci=[-1,0,2042] rc=1 vc=198 vn=- li=8 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=199 vn=- li=8 udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=200 vn=- li=8 udi=- nc=3 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=200 vn=- li=8 udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=200 vn=- li=8 udi=- nc=0 flg=0x104
n171n GlRegDeps [0x7f5a0ec6e530] bci=[-1,0,2042] rc=1 vc=200 vn=- li=8 udi=- nc=1
n170n ==>aRegLoad
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=199 vn=- li=8 udi=- nc=1
n172n GlRegDeps [0x7f5a0ec6e580] bci=[-1,0,2042] rc=1 vc=199 vn=- li=8 udi=- nc=1
n170n ==>aRegLoad
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=2 udi=- nc=1
n173n GlRegDeps [0x7f5a0ec6e5d0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=2 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=198 vn=- li=2 udi=- nc=0 flg=0x8104
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=200 vn=- li=2 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=198 vn=- li=2 udi=- nc=1 flg=0x1000
n174n ==>aRegLoad
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=200 vn=- li=2 udi=- nc=0 flg=0x302
n175n GlRegDeps [0x7f5a0ec6e670] bci=[-1,4,2042] rc=1 vc=200 vn=- li=2 udi=- nc=1
n174n ==>aRegLoad
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=198 vn=- li=2 udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=198 vn=- li=18 udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=198 vn=- li=18 udi=- nc=1
n8n ==>iloadi
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=198 vn=- li=18 udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=198 vn=- li=3 udi=- nc=1
n176n GlRegDeps [0x7f5a0ec6e6c0] bci=[-1,55,2051] rc=1 vc=198 vn=- li=3 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=198 vn=- li=3 udi=- nc=0 flg=0x8104
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=198 vn=- li=3 udi=- nc=2
n29n l2a [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=198 vn=- li=3 udi=- nc=1
n186n iu2l [0x7f5a0ec6e9e0] bci=[-1,41,2047] rc=1 vc=198 vn=- li=3 udi=- nc=1
n185n iloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ec6e990] bci=[-1,41,2047] rc=1 vc=198 vn=- li=3 udi=- nc=1
n177n ==>aRegLoad
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=198 vn=- li=3 udi=- nc=0 flg=0x4302
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=198 vn=- li=3 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=198 vn=- li=3 udi=- nc=3 flg=0x20
n29n ==>l2a
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=198 vn=- li=3 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=198 vn=- li=3 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=198 vn=- li=3 udi=- nc=2
n177n ==>aRegLoad
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=198 vn=- li=3 udi=- nc=1
n36n ==>icall
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=198 vn=- li=3 udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=1
n178n GlRegDeps [0x7f5a0ec6e760] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 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=198 vn=- li=9 udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=198 vn=- li=9 udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=3 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=0 flg=0x302
n180n GlRegDeps [0x7f5a0ec6e800] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=1
n179n ==>aRegLoad
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=0
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=200 vn=- li=10 udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=200 vn=- li=10 udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=1
n181n GlRegDeps [0x7f5a0ec6e850] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=1
n179n ==>aRegLoad
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 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>
Performing uncommon call constant nodes
Skipping previously visited call node 36
<trees
title="Post Uncommon Call Constant Node Trees"
method="java/lang/String.hashCode()I"
hotness="warm">
Post Uncommon Call Constant Node 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=198 vn=- li=8 udi=- nc=1
n169n GlRegDeps [0x7f5a0ec6e490] bci=[-1,0,2042] rc=1 vc=198 vn=- li=8 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=199 vn=- li=8 udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=200 vn=- li=8 udi=- nc=3 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=200 vn=- li=8 udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=200 vn=- li=8 udi=- nc=0 flg=0x104
n171n GlRegDeps [0x7f5a0ec6e530] bci=[-1,0,2042] rc=1 vc=200 vn=- li=8 udi=- nc=1
n170n ==>aRegLoad
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=199 vn=- li=8 udi=- nc=1
n172n GlRegDeps [0x7f5a0ec6e580] bci=[-1,0,2042] rc=1 vc=199 vn=- li=8 udi=- nc=1
n170n ==>aRegLoad
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=2 udi=- nc=1
n173n GlRegDeps [0x7f5a0ec6e5d0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=2 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=198 vn=- li=2 udi=- nc=0 flg=0x8104
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=200 vn=- li=2 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=198 vn=- li=2 udi=- nc=1 flg=0x1000
n174n ==>aRegLoad
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=200 vn=- li=2 udi=- nc=0 flg=0x302
n175n GlRegDeps [0x7f5a0ec6e670] bci=[-1,4,2042] rc=1 vc=200 vn=- li=2 udi=- nc=1
n174n ==>aRegLoad
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=198 vn=- li=2 udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=198 vn=- li=18 udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=198 vn=- li=18 udi=- nc=1
n8n ==>iloadi
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=198 vn=- li=18 udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=198 vn=- li=3 udi=- nc=1
n176n GlRegDeps [0x7f5a0ec6e6c0] bci=[-1,55,2051] rc=1 vc=198 vn=- li=3 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=198 vn=- li=3 udi=- nc=0 flg=0x8104
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=198 vn=- li=3 udi=- nc=2
n29n l2a [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=198 vn=- li=3 udi=- nc=1
n186n iu2l [0x7f5a0ec6e9e0] bci=[-1,41,2047] rc=1 vc=198 vn=- li=3 udi=- nc=1
n185n iloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ec6e990] bci=[-1,41,2047] rc=1 vc=198 vn=- li=3 udi=- nc=1
n177n ==>aRegLoad
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=198 vn=- li=3 udi=- nc=0 flg=0x4302
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=198 vn=- li=3 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=198 vn=- li=3 udi=- nc=3 flg=0x20
n29n ==>l2a
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=198 vn=- li=3 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=198 vn=- li=3 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=198 vn=- li=3 udi=- nc=2
n177n ==>aRegLoad
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=198 vn=- li=3 udi=- nc=1
n36n ==>icall
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=198 vn=- li=3 udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=1
n178n GlRegDeps [0x7f5a0ec6e760] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 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=198 vn=- li=9 udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=198 vn=- li=9 udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=3 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=0 flg=0x302
n180n GlRegDeps [0x7f5a0ec6e800] bci=[-1,0,2042] rc=1 vc=198 vn=- li=9 udi=- nc=1
n179n ==>aRegLoad
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=198 vn=- li=9 udi=- nc=0
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=200 vn=- li=10 udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=200 vn=- li=10 udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 udi=- nc=1
n181n GlRegDeps [0x7f5a0ec6e850] bci=[-1,0,2042] rc=1 vc=198 vn=- li=10 udi=- nc=1
n179n ==>aRegLoad
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=198 vn=- li=10 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>
<trees
title="Pre Instruction Selection Trees"
method="java/lang/String.hashCode()I"
hotness="warm">
Pre Instruction Selection 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=201 vn=- li=8 udi=- nc=1
n169n GlRegDeps [0x7f5a0ec6e490] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 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=201 vn=- li=8 udi=- nc=0
n57n ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=201 vn=- li=8 udi=- nc=3 flg=0x20
n55n iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=0 flg=0x1000
n56n iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=0 flg=0x104
n171n GlRegDeps [0x7f5a0ec6e530] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=1
n170n ==>aRegLoad
n54n BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=8 udi=- nc=1
n172n GlRegDeps [0x7f5a0ec6e580] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=1
n170n ==>aRegLoad
n5n BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=2 udi=- nc=1
n173n GlRegDeps [0x7f5a0ec6e5d0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=2 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=201 vn=- li=2 udi=- nc=0 flg=0x8104
n12n ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=201 vn=- li=2 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=201 vn=- li=2 udi=- nc=1 flg=0x1000
n174n ==>aRegLoad
n9n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=201 vn=- li=2 udi=- nc=0 flg=0x302
n175n GlRegDeps [0x7f5a0ec6e670] bci=[-1,4,2042] rc=1 vc=201 vn=- li=2 udi=- nc=1
n174n ==>aRegLoad
n6n BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=201 vn=- li=2 udi=- nc=0
n164n BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=201 vn=- li=18 udi=- nc=0
n165n ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=201 vn=- li=18 udi=- nc=1
n8n ==>iloadi
n168n BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=201 vn=- li=18 udi=- nc=0
n10n BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=201 vn=- li=3 udi=- nc=1
n176n GlRegDeps [0x7f5a0ec6e6c0] bci=[-1,55,2051] rc=1 vc=201 vn=- li=3 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=201 vn=- li=3 udi=- nc=0 flg=0x8104
n31n compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=201 vn=- li=3 udi=- nc=2
n29n l2a [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=201 vn=- li=3 udi=- nc=1
n186n iu2l [0x7f5a0ec6e9e0] bci=[-1,41,2047] rc=1 vc=201 vn=- li=3 udi=- nc=1
n185n iloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ec6e990] bci=[-1,41,2047] rc=1 vc=201 vn=- li=3 udi=- nc=1
n177n ==>aRegLoad
n30n lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=201 vn=- li=3 udi=- nc=0 flg=0x4302
n37n treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=201 vn=- li=3 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=201 vn=- li=3 udi=- nc=3 flg=0x20
n29n ==>l2a
n32n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=201 vn=- li=3 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=201 vn=- li=3 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=201 vn=- li=3 udi=- nc=2
n177n ==>aRegLoad
n36n ==>icall
n20n ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=201 vn=- li=3 udi=- nc=1
n36n ==>icall
n2n BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=201 vn=- li=3 udi=- nc=0
n58n BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=1
n178n GlRegDeps [0x7f5a0ec6e760] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 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=201 vn=- li=9 udi=- nc=0
n63n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=1
n62n iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=201 vn=- li=9 udi=- nc=2
n61n iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=0 flg=0x1000
n60n iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=0 flg=0x204
n65n ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=3 flg=0x20
n62n ==>iadd
n64n iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=0 flg=0x302
n180n GlRegDeps [0x7f5a0ec6e800] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=1
n179n ==>aRegLoad
n59n BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=0
n66n BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=0
n69n istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n68n iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=0 flg=0x104
n71n bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n70n bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=0 flg=0x104
n75n treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n72n icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=2
n73n loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=0
n74n loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=0
n79n goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n181n GlRegDeps [0x7f5a0ec6e850] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=1
n179n ==>aRegLoad
n67n BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 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>
Performing Instruction Selection:
============================================================
; Live regs: GPR=0 FPR=0 VRF=0 {}
------------------------------
n53n ( 0) BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=201 vn=- li=8 udi=- nc=1
n169n ( 1) GlRegDeps [0x7f5a0ec6e490] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=1
n170n ( 3) aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] [0x7f5a0ec6e4e0] bci=[-1,0,2042] rc=3 vc=201 vn=- li=8 udi=- nc=0
------------------------------
[ 56] O^O LATE EDGE SPLITTING: Omit ebp dependency for BBStart node 0x7f5a0ec6c050
------------------------------
n53n ( 0) BBStart <block_8> (freq 147) [0x7f5a0ec6c050] bci=[-1,0,2042] rc=0 vc=201 vn=- li=8 udi=- nc=1
n169n ( 1) GlRegDeps [0x7f5a0ec6e490] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=1
n170n ( 2) aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (in &GPR_0032) [0x7f5a0ec6e4e0] bci=[-1,0,2042] rc=2 vc=201 vn=- li=8 udi=13296 nc=0
------------------------------
[0x7f5a0ed23750] assocRegs # ASSOCREGS
POST: None
[0x7f5a0ed234f0] Label L0032: # LABEL
PRE: [&GPR_0032 : eax]
POST: [&GPR_0032 : eax]
========================================
[0x7f5a0ed237e0] Fence Relative [ 00007F5A0EC5DE20 ] # FENCE BBStart <block_8> (frequency 147)
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0032}
------------------------------
n57n ( 0) ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=201 vn=- li=8 udi=- nc=3 flg=0x20
n55n ( 1) iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=0 flg=0x1000
n56n ( 1) iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=0 flg=0x104
n171n ( 1) GlRegDeps [0x7f5a0ec6e530] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=1
n170n ( 2) ==>aRegLoad (in &GPR_0032)
------------------------------
[ 57] O^O LATE EDGE SPLITTING: Omit ebp dependency for ificmpeq node 0x7f5a0ec6c190
------------------------------
n57n ( 0) ificmpeq --> block_9 BBStart at n58n () [0x7f5a0ec6c190] bci=[-1,0,2042] rc=0 vc=201 vn=- li=8 udi=- nc=3 flg=0x20
n55n ( 0) iload <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c0f0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=8 udi=- nc=0 flg=0x1000
n56n ( 0) iconst 1 (X!=0 X>=0 ) [0x7f5a0ec6c140] bci=[-1,0,2042] rc=0 vc=201 vn=- li=8 udi=- nc=0 flg=0x104
n171n ( 1) GlRegDeps [0x7f5a0ec6e530] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=1
n170n ( 1) ==>aRegLoad (in &GPR_0032)
------------------------------
[0x7f5a0ed23c50] cmp dword ptr [0x00007f5a2c08bf08], 0x00000001 # CMP4MemImms, SymRef <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ]
[0x7f5a0ed23ff0] assocRegs # ASSOCREGS
POST: [&GPR_0032 : eax]
[0x7f5a0ed23d90] je Label L0016 # JE4
PRE: [&GPR_0032 : eax]
POST: [&GPR_0032 : eax]
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0032}
------------------------------
n54n ( 0) BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=8 udi=- nc=1
n172n ( 1) GlRegDeps [0x7f5a0ec6e580] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=1
n170n ( 1) ==>aRegLoad (in &GPR_0032)
------------------------------
[ 58] O^O LATE EDGE SPLITTING: Omit ebp dependency for BBEnd node 0x7f5a0ec6c0a0
------------------------------
n54n ( 0) BBEnd </block_8> ===== [0x7f5a0ec6c0a0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=8 udi=- nc=1
n172n ( 1) GlRegDeps [0x7f5a0ec6e580] bci=[-1,0,2042] rc=1 vc=201 vn=- li=8 udi=- nc=1
n170n ( 0) ==>aRegLoad (in &GPR_0032)
------------------------------
[0x7f5a0ed242b0] Fence Relative [ 00007F5A0EC5DE24 ] # FENCE BBEnd </block_8>
[0x7f5a0ed24500] assocRegs # ASSOCREGS
POST: [&GPR_0032 : eax]
[0x7f5a0ed248f0] assocRegs # ASSOCREGS
POST: [&GPR_0032 : eax]
[0x7f5a0ed24690] Label L0048: # LABEL
PRE: [&GPR_0032 : eax]
POST: [&GPR_0032 : eax]
============================================================
; Live regs: GPR=0 FPR=0 VRF=0 {}
------------------------------
n5n ( 0) BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=2 udi=- nc=1
n173n ( 1) GlRegDeps [0x7f5a0ec6e5d0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=2 udi=- nc=1
n174n ( 3) 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=201 vn=- li=2 udi=- nc=0 flg=0x8104
------------------------------
[ 59] O^O LATE EDGE SPLITTING: Omit ebp dependency for BBStart node 0x7f5a0ebf22b0
------------------------------
n5n ( 0) BBStart <block_2> (freq 9672) [0x7f5a0ebf22b0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=2 udi=- nc=1
n173n ( 1) GlRegDeps [0x7f5a0ec6e5d0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=2 udi=- nc=1
n174n ( 2) aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (in &GPR_0048) (X!=0 X>=0 SeenRealReference sharedMemory ) [0x7f5a0ec6e620] bci=[-1,0,2042] rc=2 vc=201 vn=- li=2 udi=19472 nc=0 flg=0x8104
------------------------------
[0x7f5a0ed24f70] assocRegs # ASSOCREGS
POST: None
[0x7f5a0ed24d10] Label L0018: # LABEL
PRE: [&GPR_0048 : eax]
POST: [&GPR_0048 : eax]
========================================
[0x7f5a0ed25000] Fence Relative [ 00007F5A0EC3C360 ] # FENCE BBStart <block_2> (frequency 9672)
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0048}
------------------------------
n12n ( 0) ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=201 vn=- li=2 udi=- nc=3 flg=0x20
n8n ( 2) iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=2 vc=201 vn=- li=2 udi=- nc=1 flg=0x1000
n174n ( 2) ==>aRegLoad (in &GPR_0048) (X!=0 X>=0 SeenRealReference sharedMemory )
n9n ( 1) iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=1 vc=201 vn=- li=2 udi=- nc=0 flg=0x302
n175n ( 1) GlRegDeps [0x7f5a0ec6e670] bci=[-1,4,2042] rc=1 vc=201 vn=- li=2 udi=- nc=1
n174n ( 2) ==>aRegLoad (in &GPR_0048) (X!=0 X>=0 SeenRealReference sharedMemory )
------------------------------
[ 60] O^O LATE EDGE SPLITTING: Omit ebp dependency for ificmpeq node 0x7f5a0ebf24e0
------------------------------
n12n ( 0) ificmpeq --> block_3 BBStart at n10n () [0x7f5a0ebf24e0] bci=[-1,4,2042] rc=0 vc=201 vn=- li=2 udi=- nc=3 flg=0x20
n8n ( 1) iloadi java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (in GPR_0049) (X!=0 cannotOverflow ) [0x7f5a0ebf23a0] bci=[-1,1,2042] rc=1 vc=201 vn=- li=2 udi=21504 nc=1 flg=0x1004
n174n ( 0) ==>aRegLoad (in &GPR_0048) (X!=0 X>=0 SeenRealReference sharedMemory )
n9n ( 0) iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf23f0] bci=[-1,4,2042] rc=0 vc=201 vn=- li=2 udi=- nc=0 flg=0x302
n175n ( 1) GlRegDeps [0x7f5a0ec6e670] bci=[-1,4,2042] rc=1 vc=201 vn=- li=2 udi=- nc=1
n174n ( 0) ==>aRegLoad (in &GPR_0048) (X!=0 X>=0 SeenRealReference sharedMemory )
------------------------------
[0x7f5a0ed25490] mov GPR_0049, dword ptr [&GPR_0048+0xc] # L4RegMem, SymRef java/lang/String.hashCode I[#655 Shadow +12] [flags 0x40080603 0x0 ]
[0x7f5a0ed25530] test GPR_0049, GPR_0049 # TEST4RegReg
[0x7f5a0ed258d0] assocRegs # ASSOCREGS
POST: [&GPR_0048 : eax]
[0x7f5a0ed25670] je Label L0017 # JE4
PRE: [&GPR_0048 : eax]
POST: [&GPR_0048 : eax]
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {GPR_0049}
------------------------------
n6n ( 0) BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=201 vn=- li=2 udi=- nc=0
------------------------------
------------------------------
n6n ( 0) BBEnd </block_2> [0x7f5a0ebf2300] bci=[-1,4,2042] rc=0 vc=201 vn=- li=2 udi=- nc=0
------------------------------
[0x7f5a0ed25bf0] Fence Relative [ 00007F5A0EC3C364 ] # FENCE BBEnd </block_2>
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {GPR_0049}
------------------------------
n164n ( 0) BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=201 vn=- li=18 udi=- nc=0
------------------------------
------------------------------
n164n ( 0) BBStart <block_18> (freq 9545) (extension of previous block) [0x7f5a0ec6e300] bci=[-1,55,2051] rc=0 vc=201 vn=- li=18 udi=- nc=0
------------------------------
........................................
[0x7f5a0ed25d20] Fence Relative [ 00007F5A0ED2E590 ] # FENCE BBStart <block_18> (frequency 9545) (extension of previous block)
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {GPR_0049}
------------------------------
n165n ( 0) ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=201 vn=- li=18 udi=- nc=1
n8n ( 1) ==>iloadi (in GPR_0049) (X!=0 cannotOverflow )
------------------------------
------------------------------
n165n ( 0) ireturn [0x7f5a0ec6e350] bci=[-1,59,2051] rc=0 vc=201 vn=- li=18 udi=- nc=1
n8n ( 0) ==>iloadi (in GPR_0049) (X!=0 cannotOverflow )
------------------------------
[0x7f5a0ed260f0] assocRegs # ASSOCREGS
POST: [&GPR_0048 : eax]
[0x7f5a0ed25eb0] ret # RET
PRE: [GPR_0049 : eax] [GPR_0000 : ebp]
============================================================
; Live regs: GPR=0 FPR=0 VRF=0 {}
------------------------------
n168n ( 0) BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=201 vn=- li=18 udi=- nc=0
------------------------------
[ 61] O^O LATE EDGE SPLITTING: Omit ebp dependency for BBEnd node 0x7f5a0ec6e440
------------------------------
n168n ( 0) BBEnd </block_18> ===== [0x7f5a0ec6e440] bci=[-1,59,2051] rc=0 vc=201 vn=- li=18 udi=- nc=0
------------------------------
[0x7f5a0ed26240] Fence Relative [ 00007F5A0ED2E594 ] # FENCE BBEnd </block_18>
[0x7f5a0ed26490] assocRegs # ASSOCREGS
POST: [GPR_0049 : eax]
[0x7f5a0ed265b0] Label L0064: # LABEL
============================================================
; Live regs: GPR=0 FPR=0 VRF=0 {}
------------------------------
n10n ( 0) BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=201 vn=- li=3 udi=- nc=1
n176n ( 1) GlRegDeps [0x7f5a0ec6e6c0] bci=[-1,55,2051] rc=1 vc=201 vn=- li=3 udi=- nc=1
n177n ( 4) 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=201 vn=- li=3 udi=- nc=0 flg=0x8104
------------------------------
[ 62] O^O LATE EDGE SPLITTING: Omit ebp dependency for BBStart node 0x7f5a0ebf2440
------------------------------
n10n ( 0) BBStart <block_3> (freq 461) [0x7f5a0ebf2440] bci=[-1,55,2051] rc=0 vc=201 vn=- li=3 udi=- nc=1
n176n ( 1) GlRegDeps [0x7f5a0ec6e6c0] bci=[-1,55,2051] rc=1 vc=201 vn=- li=3 udi=- nc=1
n177n ( 3) aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (in &GPR_0064) (X!=0 X>=0 SeenRealReference sharedMemory ) [0x7f5a0ec6e710] bci=[-1,40,2047] rc=3 vc=201 vn=- li=3 udi=26768 nc=0 flg=0x8104
------------------------------
[0x7f5a0ed26c70] assocRegs # ASSOCREGS
POST: None
[0x7f5a0ed26a10] Label L0017: # LABEL
PRE: [&GPR_0064 : eax]
POST: [&GPR_0064 : eax]
========================================
[0x7f5a0ed26d00] Fence Relative [ 00007F5A0EC3C5D0 ] # FENCE BBStart <block_3> (frequency 461)
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0064}
------------------------------
n31n ( 0) compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=201 vn=- li=3 udi=- nc=2
n29n ( 2) l2a [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=2 vc=201 vn=- li=3 udi=- nc=1
n186n ( 1) iu2l [0x7f5a0ec6e9e0] bci=[-1,41,2047] rc=1 vc=201 vn=- li=3 udi=- nc=1
n185n ( 1) iloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] [0x7f5a0ec6e990] bci=[-1,41,2047] rc=1 vc=201 vn=- li=3 udi=- nc=1
n177n ( 3) ==>aRegLoad (in &GPR_0064) (X!=0 X>=0 SeenRealReference sharedMemory )
n30n ( 1) lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=1 vc=201 vn=- li=3 udi=- nc=0 flg=0x4302
------------------------------
------------------------------
n31n ( 0) compressedRefs [0x7f5a0ebf2ad0] bci=[-1,41,2047] rc=0 vc=201 vn=- li=3 udi=- nc=2
n29n ( 1) l2a (in &GPR_0065) [0x7f5a0ebf2a30] bci=[-1,41,2047] rc=1 vc=201 vn=- li=3 udi=28944 nc=1
n186n ( 0) iu2l (in &GPR_0065) [0x7f5a0ec6e9e0] bci=[-1,41,2047] rc=0 vc=201 vn=- li=3 udi=28944 nc=1
n185n ( 0) iloadi java/lang/String.value [B[#637 final Shadow +4] [flags 0x400a0607 0x0 ] (in &GPR_0065) [0x7f5a0ec6e990] bci=[-1,41,2047] rc=0 vc=201 vn=- li=3 udi=28944 nc=1
n177n ( 2) ==>aRegLoad (in &GPR_0064) (X!=0 X>=0 SeenRealReference sharedMemory )
n30n ( 0) lconst 0 (highWordZero X==0 X>=0 X<=0 ) [0x7f5a0ebf2a80] bci=[-1,41,2047] rc=0 vc=201 vn=- li=3 udi=- nc=0 flg=0x4302
------------------------------
[0x7f5a0ed271a0] mov &GPR_0065, dword ptr [&GPR_0064+0x4] # L4RegMem, SymRef java/lang/String.value [B[#656 final Shadow +4] [flags 0x400a0607 0x0 ]
============================================================
; Live regs: GPR=2 FPR=0 VRF=0 {&GPR_0065, &GPR_0064}
------------------------------
n37n ( 0) treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=201 vn=- li=3 udi=- nc=1
n36n ( 3) icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=3 vc=201 vn=- li=3 udi=- nc=3 flg=0x20
n29n ( 1) ==>l2a (in &GPR_0065)
n32n ( 1) iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=1 vc=201 vn=- li=3 udi=- nc=0 flg=0x302
n139n ( 1) iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=1 vc=201 vn=- li=3 udi=- nc=1 flg=0x1000
n177n ( 2) ==>aRegLoad (in &GPR_0064) (X!=0 X>=0 SeenRealReference sharedMemory )
------------------------------
------------------------------
n37n ( 0) treetop [0x7f5a0ebf2cb0] bci=[-1,49,2047] rc=0 vc=201 vn=- li=3 udi=- nc=1
n36n ( 2) icall java/lang/String.hashCodeImplDecompressed([BII)I[#643 final static Method] [flags 0x20500 0x0 ] (in GPR_0069) () [0x7f5a0ebf2c60] bci=[-1,49,2047] rc=2 vc=201 vn=- li=3 udi=31648 nc=3 flg=0x20
n29n ( 0) ==>l2a (in &GPR_0065)
n32n ( 0) iconst 0 (in GPR_0066) (X==0 X>=0 X<=0 ) [0x7f5a0ebf2b20] bci=[-1,44,2047] rc=0 vc=201 vn=- li=3 udi=30624 nc=0 flg=0x302
n139n ( 0) iloadi java/lang/String.count I[#636 final Shadow +8] [flags 0x400a0603 0x0 ] (in GPR_0067) (cannotOverflow ) [0x7f5a0ec6db30] bci=[0,27,2494] rc=0 vc=201 vn=- li=3 udi=31072 nc=1 flg=0x1000
n177n ( 1) ==>aRegLoad (in &GPR_0064) (X!=0 X>=0 SeenRealReference sharedMemory )
------------------------------
[0x7f5a0ed27830] xor GPR_0066, GPR_0066 # XOR4RegReg
[0x7f5a0ed27a30] mov GPR_0067, dword ptr [&GPR_0064+0x8] # L4RegMem, SymRef java/lang/String.count I[#657 final Shadow +8] [flags 0x400a0603 0x0 ]
[0x7f5a0ed280b0] Label L0080: # LABEL # (Start of internal control flow)
[0x7f5a0ed28160] mov GPR_0068, GPR_0067 # MOV8RegReg
[0x7f5a0ed28200] add GPR_0068, GPR_0066 # ADD8RegReg
[0x7f5a0ed282a0] xor GPR_0069, GPR_0069 # XOR8RegReg
[0x7f5a0ed28340] cmp GPR_0067, 0x00000004 # CMP8RegImm4
[0x7f5a0ed283e0] jl Label L0083 # JL4
[0x7f5a0ed28490] sub GPR_0068, 0x00000003 # SUB8RegImms
[0x7f5a0ed28680] movaps FPR_0071, oword ptr [FPRCONSTANT] # MOVAPSRegMem
[0x7f5a0ed28720] xorps FPR_0072, FPR_0072 # XORPSRegReg
[0x7f5a0ed287c0] Label L0082: # LABEL
[0x7f5a0ed28900] movsd FPR_0073, qword ptr [&GPR_0065+2*GPR_0066+0x8] # MOVSDRegMem, SymRef [#659 +8]
[0x7f5a0ed289a0] pmulld FPR_0072, FPR_0071 # PMULLD
[0x7f5a0ed28a40] pmovzxwd FPR_0073, FPR_0073 # PMOVZXWD
[0x7f5a0ed28ae0] paddd FPR_0072, FPR_0073 # PADDD
[0x7f5a0ed28b80] add GPR_0066, 0x00000004 # ADD8RegImms
[0x7f5a0ed28c20] cmp GPR_0066, GPR_0068 # CMP8RegReg
[0x7f5a0ed28cc0] jl Label L0082 # JL4
[0x7f5a0ed28d70] Label L0085: # LABEL
[0x7f5a0ed28f70] movaps FPR_0071, oword ptr [FPRCONSTANT] # MOVAPSRegMem
[0x7f5a0ed29010] pmulld FPR_0072, FPR_0071 # PMULLD
[0x7f5a0ed290b0] movapd FPR_0071, FPR_0072 # MOVAPDRegReg
[0x7f5a0ed29150] psrldq FPR_0071, 0x08 # PSRLDQRegImm1
[0x7f5a0ed291f0] paddd FPR_0072, FPR_0071 # PADDD
[0x7f5a0ed29290] movapd FPR_0071, FPR_0072 # MOVAPDRegReg
[0x7f5a0ed29330] psrldq FPR_0071, 0x04 # PSRLDQRegImm1
[0x7f5a0ed293d0] paddd FPR_0072, FPR_0071 # PADDD
[0x7f5a0ed29470] movd GPR_0069, FPR_0072 # MOVDReg4Reg
[0x7f5a0ed29510] add GPR_0068, 0x00000003 # ADD8RegImms
[0x7f5a0ed295b0] Label L0083: # LABEL
[0x7f5a0ed29660] cmp GPR_0066, GPR_0068 # CMP8RegReg
[0x7f5a0ed29700] jge Label L0081 # JGE4
[0x7f5a0ed297b0] Label L0084: # LABEL
[0x7f5a0ed29860] mov GPR_0070, GPR_0069 # MOV4RegReg
[0x7f5a0ed29900] shl GPR_0069, 0x05 # SHL4RegImm1
[0x7f5a0ed299a0] sub GPR_0069, GPR_0070 # SUB4RegReg
[0x7f5a0ed29ad0] movzx GPR_0070, word ptr [&GPR_0065+2*GPR_0066+0x8] # MOVZXReg4Mem2, SymRef [#661 +8]
[0x7f5a0ed29b70] add GPR_0069, GPR_0070 # ADD4RegReg
[0x7f5a0ed29c10] inc GPR_0066 # INC8Reg
[0x7f5a0ed29cb0] cmp GPR_0066, GPR_0068 # CMP8RegReg
[0x7f5a0ed29d50] jl Label L0084 # JL4
[0x7f5a0ed2a120] assocRegs # ASSOCREGS
POST: [&GPR_0064 : eax]
[0x7f5a0ed29ec0] Label L0081: # LABEL # (End of internal control flow)
POST: [&GPR_0065 : NoReg] [GPR_0066 : NoReg] [GPR_0067 : NoReg] [GPR_0068 : NoReg] [GPR_0069 : NoReg] [GPR_0070 : NoReg]
============================================================
; Live regs: GPR=2 FPR=0 VRF=0 {GPR_0069, &GPR_0064}
------------------------------
n38n ( 0) istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=201 vn=- li=3 udi=- nc=2
n177n ( 1) ==>aRegLoad (in &GPR_0064) (X!=0 X>=0 SeenRealReference sharedMemory )
n36n ( 2) ==>icall (in GPR_0069) ()
------------------------------
------------------------------
n38n ( 0) istorei java/lang/String.hashCode I[#634 Shadow +12] [flags 0x40080603 0x0 ] (cannotOverflow storeAlreadyEvaluated ) [0x7f5a0ebf2d00] bci=[-1,52,2047] rc=0 vc=201 vn=- li=3 udi=- nc=2 flg=0x1000
n177n ( 0) ==>aRegLoad (in &GPR_0064) (X!=0 X>=0 SeenRealReference sharedMemory )
n36n ( 1) ==>icall (in GPR_0069) ()
------------------------------
[0x7f5a0ed2ae50] mov dword ptr [&GPR_0064+0xc], GPR_0069 # S4MemReg, SymRef java/lang/String.hashCode I[#662 Shadow +12] [flags 0x40080603 0x0 ]
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {GPR_0069}
------------------------------
n20n ( 0) ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=201 vn=- li=3 udi=- nc=1
n36n ( 1) ==>icall (in GPR_0069) ()
------------------------------
------------------------------
n20n ( 0) ireturn [0x7f5a0ebf2760] bci=[-1,59,2051] rc=0 vc=201 vn=- li=3 udi=- nc=1
n36n ( 0) ==>icall (in GPR_0069) ()
------------------------------
[0x7f5a0ed2b2c0] assocRegs # ASSOCREGS
POST: [&GPR_0064 : eax]
[0x7f5a0ed2b080] ret # RET
PRE: [GPR_0069 : eax] [GPR_0000 : ebp]
============================================================
; Live regs: GPR=0 FPR=0 VRF=0 {}
------------------------------
n2n ( 0) BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=201 vn=- li=3 udi=- nc=0
------------------------------
[ 63] O^O LATE EDGE SPLITTING: Omit ebp dependency for BBEnd node 0x7f5a0ebf21c0
------------------------------
n2n ( 0) BBEnd </block_3> ===== [0x7f5a0ebf21c0] bci=[-1,59,2051] rc=0 vc=201 vn=- li=3 udi=- nc=0
------------------------------
[0x7f5a0ed2b410] Fence Relative [ 00007F5A0EC3C5D4 ] # FENCE BBEnd </block_3>
[0x7f5a0ed2b660] assocRegs # ASSOCREGS
POST: [GPR_0069 : eax]
[0x7f5a0ed2b780] Label L0096: # LABEL
============================================================
; Live regs: GPR=0 FPR=0 VRF=0 {}
------------------------------
n58n ( 0) BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=1
n178n ( 1) GlRegDeps [0x7f5a0ec6e760] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=1
n179n ( 3) aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] [0x7f5a0ec6e7b0] bci=[-1,0,2042] rc=3 vc=201 vn=- li=9 udi=- nc=0
------------------------------
[ 64] O^O LATE EDGE SPLITTING: Omit ebp dependency for BBStart node 0x7f5a0ec6c1e0
------------------------------
n58n ( 0) BBStart <block_9> (freq 0) (cold) [0x7f5a0ec6c1e0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=1
n178n ( 1) GlRegDeps [0x7f5a0ec6e760] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=1
n179n ( 2) aRegLoad eax this<'this' parm Ljava/lang/String;>[#633 Parm] [flags 0x40000107 0x0 ] (in &GPR_0080) [0x7f5a0ec6e7b0] bci=[-1,0,2042] rc=2 vc=201 vn=- li=9 udi=47712 nc=0
------------------------------
[0x7f5a0ed2bdc0] assocRegs # ASSOCREGS
POST: None
[0x7f5a0ed2bb60] Label L0016: # LABEL
PRE: [&GPR_0080 : eax]
POST: [&GPR_0080 : eax]
========================================
[0x7f5a0ed2be50] Fence Relative [ 00007F5A0EC5E000 ] # FENCE BBStart <block_9> (frequency 0) (cold)
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0080}
------------------------------
n63n ( 0) istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=1
n62n ( 2) iadd [0x7f5a0ec6c320] bci=[-1,0,2042] rc=2 vc=201 vn=- li=9 udi=- nc=2
n61n ( 1) iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=0 flg=0x1000
n60n ( 1) iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=0 flg=0x204
------------------------------
[ 65] O^O analyseAddForLEA
[ 66] O^O analyseAddForLEA: checking that second node is a memory reference ffffffff
------------------------------
n63n ( 0) istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c370] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=1
n62n ( 1) iadd (in GPR_0097) [0x7f5a0ec6c320] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=49872 nc=2
n61n ( 0) iload <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] (in GPR_0097) (cannotOverflow ) [0x7f5a0ec6c2d0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=49872 nc=0 flg=0x1000
n60n ( 0) iconst -1 (X!=0 X<=0 ) [0x7f5a0ec6c280] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=0 flg=0x204
------------------------------
[0x7f5a0edec360] mov GPR_0097, dword ptr [0x00007f5a1fe73cc0] # L4RegMem, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0edec400] sub GPR_0097, 0x00000001 # SUB4RegImms
[0x7f5a0edec5c0] mov dword ptr [0x00007f5a1fe73cc0], GPR_0097 # S4MemReg, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
============================================================
; Live regs: GPR=2 FPR=0 VRF=0 {GPR_0097, &GPR_0080}
------------------------------
n65n ( 0) ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=3 flg=0x20
n62n ( 1) ==>iadd (in GPR_0097)
n64n ( 1) iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=0 flg=0x302
n180n ( 1) GlRegDeps [0x7f5a0ec6e800] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=1
n179n ( 2) ==>aRegLoad (in &GPR_0080)
------------------------------
[ 67] O^O LATE EDGE SPLITTING: Omit ebp dependency for ificmpgt node 0x7f5a0ec6c410
------------------------------
n65n ( 0) ificmpgt --> block_2 BBStart at n5n () [0x7f5a0ec6c410] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=3 flg=0x20
n62n ( 0) ==>iadd (in GPR_0097)
n64n ( 0) iconst 0 (X==0 X>=0 X<=0 ) [0x7f5a0ec6c3c0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=0 flg=0x302
n180n ( 1) GlRegDeps [0x7f5a0ec6e800] bci=[-1,0,2042] rc=1 vc=201 vn=- li=9 udi=- nc=1
n179n ( 1) ==>aRegLoad (in &GPR_0080)
------------------------------
[0x7f5a0edec920] cmp GPR_0097, 0x00000000 # CMP4RegImms
[0x7f5a0edeccc0] assocRegs # ASSOCREGS
POST: [&GPR_0080 : eax]
[0x7f5a0edeca60] jg Label L0018 # JG4
PRE: [&GPR_0080 : eax]
POST: [&GPR_0080 : eax]
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0080}
------------------------------
n59n ( 0) BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=0
------------------------------
------------------------------
n59n ( 0) BBEnd </block_9> (cold) [0x7f5a0ec6c230] bci=[-1,0,2042] rc=0 vc=201 vn=- li=9 udi=- nc=0
------------------------------
[0x7f5a0edecea0] Fence Relative [ 00007F5A0EC5E004 ] # FENCE BBEnd </block_9>
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0080}
------------------------------
n66n ( 0) BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=0
------------------------------
------------------------------
n66n ( 0) BBStart <block_10> (freq 0) (extension of previous block) (cold) [0x7f5a0ec6c460] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=0
------------------------------
........................................
[0x7f5a0edecfd0] Fence Relative [ 00007F5A0EC5E200 ] # FENCE BBStart <block_10> (frequency 0) (extension of previous block) (cold)
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0080}
------------------------------
n69n ( 0) istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n68n ( 1) iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=0 flg=0x104
------------------------------
------------------------------
n69n ( 0) istore <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ] [0x7f5a0ec6c550] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n68n ( 0) iconst 0x7fffffff (X!=0 X>=0 ) [0x7f5a0ec6c500] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=0 flg=0x104
------------------------------
[0x7f5a0eded280] mov dword ptr [0x00007f5a1fe73cc0], 0x7fffffff # S4MemImm4, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0080}
------------------------------
n71n ( 0) bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n70n ( 1) bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=0 flg=0x104
------------------------------
------------------------------
n71n ( 0) bstore <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ] [0x7f5a0ec6c5f0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n70n ( 0) bconst 2 (X!=0 X>=0 ) [0x7f5a0ec6c5a0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=0 flg=0x104
------------------------------
[0x7f5a0eded530] mov byte ptr [0x0000000000000000], 0x02 # S1MemImm1, SymRef <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ]
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0080}
------------------------------
n75n ( 0) treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n72n ( 1) icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] [0x7f5a0ec6c640] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=2
n73n ( 1) loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] [0x7f5a0ec6c690] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=0
n74n ( 1) loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=0
------------------------------
------------------------------
n75n ( 0) treetop [0x7f5a0ec6c730] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n72n ( 0) icall jitRetranslateCallerWithPreparation[#93 helper Method] [flags 0x400 0x0 ] (in GPR_0115) [0x7f5a0ec6c640] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=59376 nc=2
n73n ( 0) loadaddr <start-PC>[#587 Static] [flags 0x4000303 0x40 ] (in GPR_0114) [0x7f5a0ec6c690] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=58704 nc=0
n74n ( 0) loadaddr <J9Method>[#588 Static] [flags 0x8000307 0x40 ] (in GPR_0113) [0x7f5a0ec6c6e0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=58256 nc=0
------------------------------
[0x7f5a0edee420] lea GPR_0113, qword ptr [0x00000000016c45a0] # LEA8RegMem, SymRef <J9Method>[#588 Static] [flags 0x8000307 0x40 ]
[0x7f5a0edee5e0] lea GPR_0114, qword ptr [0x0000000000000000] # LEA8RegMem, SymRef <start-PC>[#587 Static] [flags 0x4000303 0x40 ]
[0x7f5a0edee880] Label L0112: # LABEL # (Start of internal control flow)
PRE: [GPR_0113 : eax] [GPR_0114 : esi]
[0x7f5a0edee740] call jitRetranslateCallerWithPreparation# CALLImm4 (00007F5A30779350)# CALLImm4
[0x7f5a0edeeb90] assocRegs # ASSOCREGS
POST: [&GPR_0080 : eax]
[0x7f5a0edee930] Label L0113: # LABEL # (End of internal control flow)
PRE: [GPR_0113 : eax] [GPR_0114 : esi]
POST: [GPR_0000 : ebp] [GPR_0115 : eax] [GPR_0114 : esi]
============================================================
; Live regs: GPR=1 FPR=0 VRF=0 {&GPR_0080}
------------------------------
n79n ( 0) goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n181n ( 1) GlRegDeps [0x7f5a0ec6e850] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=1
n179n ( 1) ==>aRegLoad (in &GPR_0080)
------------------------------
[ 68] O^O LATE EDGE SPLITTING: Omit ebp dependency for goto node 0x7f5a0ec6c870
------------------------------
n79n ( 0) goto --> block_2 BBStart at n5n [0x7f5a0ec6c870] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=1
n181n ( 1) GlRegDeps [0x7f5a0ec6e850] bci=[-1,0,2042] rc=1 vc=201 vn=- li=10 udi=- nc=1
n179n ( 0) ==>aRegLoad (in &GPR_0080)
------------------------------
[0x7f5a0edef2f0] assocRegs # ASSOCREGS
POST: [GPR_0115 : eax] [GPR_0114 : esi]
[0x7f5a0edef090] jmp Label L0018 # JMP4
PRE: [&GPR_0080 : eax]
POST: [&GPR_0080 : eax]
============================================================
; Live regs: GPR=0 FPR=0 VRF=0 {}
------------------------------
n67n ( 0) BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=0
------------------------------
[ 69] O^O LATE EDGE SPLITTING: Omit ebp dependency for BBEnd node 0x7f5a0ec6c4b0
------------------------------
n67n ( 0) BBEnd </block_10> (cold) [0x7f5a0ec6c4b0] bci=[-1,0,2042] rc=0 vc=201 vn=- li=10 udi=- nc=0
------------------------------
[0x7f5a0edef470] Fence Relative [ 00007F5A0EC5E204 ] # FENCE BBEnd </block_10>
[0x7f5a0edef6c0] assocRegs # ASSOCREGS
POST: [&GPR_0080 : eax]
[0x7f5a0edef7e0] Label L0128: # LABEL
============================================================
<instructions
title="Post Instruction Selection Instructions"
method="java/lang/String.hashCode()I"
hotness="warm">
+--------------------------------------- instruction address
| +------------------------------------------
| | +----------------------------------------- instruction
| | |
V V V
[0x7f5a0ed22230] Label L0019: # LABEL
PRE: [GPR_0000 : ebp]
POST: [GPR_0000 : ebp]
[0x7f5a0ed223b0] mov GPR_0016, 0x00000000016c45a0 # MOV8RegImm64
[0x7f5a0ed22730] mov qword ptr [GPR_0017+0x8], GPR_0018 # S8MemReg, SymRef [#653 +8]
PRE: [GPR_0018 : eax] [GPR_0017 : esp]
POST: [GPR_0018 : eax] [GPR_0017 : esp]
[0x7f5a0ed22a30] assocRegs # ASSOCREGS
POST: None
[0x7f5a0ed227d0] jmp icallVMprJavaSendStatic1# JMP4 (00007F5A3077D650)# JMP4
PRE: [GPR_0016 : edi]
[0x7f5a0ed22ac0] nop # Alignment (boundary=8, margin=21)
[0x7f5a0ed22b60] jmp Label L0019 # JMP4
[0x7f5a0ed22c10] .short 0xcccc # DWImm2
[0x7f5a0ed22d40] call __samplingRecompileMethod# CALLImm4 (00007F5A302353F0)# CALLImm4
[0x7f5a0ed22df0] .quad 0x00007f5a1fe73cc0 # DQImm64
[0x7f5a0ed22e90] .int 0x00000001 # DDImm4
[0x7f5a0ed231b0] assocRegs # ASSOCREGS
POST: [GPR_0016 : edi]
[0x7f5a0ed22f70] ProcEntry # PROCENTRY
POST: [GPR_0000 : ebp]
[0x7f5a0ed23750] assocRegs # ASSOCREGS
POST: None
[0x7f5a0ed234f0] Label L0032: # LABEL
PRE: [&GPR_0032 : eax]
POST: [&GPR_0032 : eax]
========================================
[0x7f5a0ed237e0] Fence Relative [ 00007F5A0EC5DE20 ] # FENCE BBStart <block_8> (frequency 147)
[0x7f5a0ed23c50] cmp dword ptr [0x00007f5a2c08bf08], 0x00000001 # CMP4MemImms, SymRef <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ]
[0x7f5a0ed23ff0] assocRegs # ASSOCREGS
POST: [&GPR_0032 : eax]
[0x7f5a0ed23d90] je Label L0016 # JE4
PRE: [&GPR_0032 : eax]
POST: [&GPR_0032 : eax]
[0x7f5a0ed242b0] Fence Relative [ 00007F5A0EC5DE24 ] # FENCE BBEnd </block_8>
[0x7f5a0ed24500] assocRegs # ASSOCREGS
POST: [&GPR_0032 : eax]
[0x7f5a0ed248f0] assocRegs # ASSOCREGS
POST: [&GPR_0032 : eax]
[0x7f5a0ed24690] Label L0048: # LABEL
PRE: [&GPR_0032 : eax]
POST: [&GPR_0032 : eax]
[0x7f5a0ed24f70] assocRegs # ASSOCREGS
POST: None
[0x7f5a0ed24d10] Label L0018: # LABEL
PRE: [&GPR_0048 : eax]
POST: [&GPR_0048 : eax]
========================================
[0x7f5a0ed25000] Fence Relative [ 00007F5A0EC3C360 ] # FENCE BBStart <block_2> (frequency 9672)
[0x7f5a0ed25490] mov GPR_0049, dword ptr [&GPR_0048+0xc] # L4RegMem, SymRef java/lang/String.hashCode I[#655 Shadow +12] [flags 0x40080603 0x0 ]
[0x7f5a0ed25530] test GPR_0049, GPR_0049 # TEST4RegReg
[0x7f5a0ed258d0] assocRegs # ASSOCREGS
POST: [&GPR_0048 : eax]
[0x7f5a0ed25670] je Label L0017 # JE4
PRE: [&GPR_0048 : eax]
POST: [&GPR_0048 : eax]
[0x7f5a0ed25bf0] Fence Relative [ 00007F5A0EC3C364 ] # FENCE BBEnd </block_2>
........................................
[0x7f5a0ed25d20] Fence Relative [ 00007F5A0ED2E590 ] # FENCE BBStart <block_18> (frequency 9545) (extension of previous block)
[0x7f5a0ed260f0] assocRegs # ASSOCREGS
POST: [&GPR_0048 : eax]
[0x7f5a0ed25eb0] ret # RET
PRE: [GPR_0049 : eax] [GPR_0000 : ebp]
[0x7f5a0ed26240] Fence Relative [ 00007F5A0ED2E594 ] # FENCE BBEnd </block_18>
[0x7f5a0ed26490] assocRegs # ASSOCREGS
POST: [GPR_0049 : eax]
[0x7f5a0ed265b0] Label L0064: # LABEL
[0x7f5a0ed26c70] assocRegs # ASSOCREGS
POST: None
[0x7f5a0ed26a10] Label L0017: # LABEL
PRE: [&GPR_0064 : eax]
POST: [&GPR_0064 : eax]
========================================
[0x7f5a0ed26d00] Fence Relative [ 00007F5A0EC3C5D0 ] # FENCE BBStart <block_3> (frequency 461)
[0x7f5a0ed271a0] mov &GPR_0065, dword ptr [&GPR_0064+0x4] # L4RegMem, SymRef java/lang/String.value [B[#656 final Shadow +4] [flags 0x400a0607 0x0 ]
[0x7f5a0ed27830] xor GPR_0066, GPR_0066 # XOR4RegReg
[0x7f5a0ed27a30] mov GPR_0067, dword ptr [&GPR_0064+0x8] # L4RegMem, SymRef java/lang/String.count I[#657 final Shadow +8] [flags 0x400a0603 0x0 ]
[0x7f5a0ed280b0] Label L0080: # LABEL # (Start of internal control flow)
[0x7f5a0ed28160] mov GPR_0068, GPR_0067 # MOV8RegReg
[0x7f5a0ed28200] add GPR_0068, GPR_0066 # ADD8RegReg
[0x7f5a0ed282a0] xor GPR_0069, GPR_0069 # XOR8RegReg
[0x7f5a0ed28340] cmp GPR_0067, 0x00000004 # CMP8RegImm4
[0x7f5a0ed283e0] jl Label L0083 # JL4
[0x7f5a0ed28490] sub GPR_0068, 0x00000003 # SUB8RegImms
[0x7f5a0ed28680] movaps FPR_0071, oword ptr [FPRCONSTANT] # MOVAPSRegMem
[0x7f5a0ed28720] xorps FPR_0072, FPR_0072 # XORPSRegReg
[0x7f5a0ed287c0] Label L0082: # LABEL
[0x7f5a0ed28900] movsd FPR_0073, qword ptr [&GPR_0065+2*GPR_0066+0x8] # MOVSDRegMem, SymRef [#659 +8]
[0x7f5a0ed289a0] pmulld FPR_0072, FPR_0071 # PMULLD
[0x7f5a0ed28a40] pmovzxwd FPR_0073, FPR_0073 # PMOVZXWD
[0x7f5a0ed28ae0] paddd FPR_0072, FPR_0073 # PADDD
[0x7f5a0ed28b80] add GPR_0066, 0x00000004 # ADD8RegImms
[0x7f5a0ed28c20] cmp GPR_0066, GPR_0068 # CMP8RegReg
[0x7f5a0ed28cc0] jl Label L0082 # JL4
[0x7f5a0ed28d70] Label L0085: # LABEL
[0x7f5a0ed28f70] movaps FPR_0071, oword ptr [FPRCONSTANT] # MOVAPSRegMem
[0x7f5a0ed29010] pmulld FPR_0072, FPR_0071 # PMULLD
[0x7f5a0ed290b0] movapd FPR_0071, FPR_0072 # MOVAPDRegReg
[0x7f5a0ed29150] psrldq FPR_0071, 0x08 # PSRLDQRegImm1
[0x7f5a0ed291f0] paddd FPR_0072, FPR_0071 # PADDD
[0x7f5a0ed29290] movapd FPR_0071, FPR_0072 # MOVAPDRegReg
[0x7f5a0ed29330] psrldq FPR_0071, 0x04 # PSRLDQRegImm1
[0x7f5a0ed293d0] paddd FPR_0072, FPR_0071 # PADDD
[0x7f5a0ed29470] movd GPR_0069, FPR_0072 # MOVDReg4Reg
[0x7f5a0ed29510] add GPR_0068, 0x00000003 # ADD8RegImms
[0x7f5a0ed295b0] Label L0083: # LABEL
[0x7f5a0ed29660] cmp GPR_0066, GPR_0068 # CMP8RegReg
[0x7f5a0ed29700] jge Label L0081 # JGE4
[0x7f5a0ed297b0] Label L0084: # LABEL
[0x7f5a0ed29860] mov GPR_0070, GPR_0069 # MOV4RegReg
[0x7f5a0ed29900] shl GPR_0069, 0x05 # SHL4RegImm1
[0x7f5a0ed299a0] sub GPR_0069, GPR_0070 # SUB4RegReg
[0x7f5a0ed29ad0] movzx GPR_0070, word ptr [&GPR_0065+2*GPR_0066+0x8] # MOVZXReg4Mem2, SymRef [#661 +8]
[0x7f5a0ed29b70] add GPR_0069, GPR_0070 # ADD4RegReg
[0x7f5a0ed29c10] inc GPR_0066 # INC8Reg
[0x7f5a0ed29cb0] cmp GPR_0066, GPR_0068 # CMP8RegReg
[0x7f5a0ed29d50] jl Label L0084 # JL4
[0x7f5a0ed2a120] assocRegs # ASSOCREGS
POST: [&GPR_0064 : eax]
[0x7f5a0ed29ec0] Label L0081: # LABEL # (End of internal control flow)
POST: [&GPR_0065 : NoReg] [GPR_0066 : NoReg] [GPR_0067 : NoReg] [GPR_0068 : NoReg] [GPR_0069 : NoReg] [GPR_0070 : NoReg]
[0x7f5a0ed2ae50] mov dword ptr [&GPR_0064+0xc], GPR_0069 # S4MemReg, SymRef java/lang/String.hashCode I[#662 Shadow +12] [flags 0x40080603 0x0 ]
[0x7f5a0ed2b2c0] assocRegs # ASSOCREGS
POST: [&GPR_0064 : eax]
[0x7f5a0ed2b080] ret # RET
PRE: [GPR_0069 : eax] [GPR_0000 : ebp]
[0x7f5a0ed2b410] Fence Relative [ 00007F5A0EC3C5D4 ] # FENCE BBEnd </block_3>
[0x7f5a0ed2b660] assocRegs # ASSOCREGS
POST: [GPR_0069 : eax]
[0x7f5a0ed2b780] Label L0096: # LABEL
[0x7f5a0ed2bdc0] assocRegs # ASSOCREGS
POST: None
[0x7f5a0ed2bb60] Label L0016: # LABEL
PRE: [&GPR_0080 : eax]
POST: [&GPR_0080 : eax]
========================================
[0x7f5a0ed2be50] Fence Relative [ 00007F5A0EC5E000 ] # FENCE BBStart <block_9> (frequency 0) (cold)
[0x7f5a0edec360] mov GPR_0097, dword ptr [0x00007f5a1fe73cc0] # L4RegMem, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0edec400] sub GPR_0097, 0x00000001 # SUB4RegImms
[0x7f5a0edec5c0] mov dword ptr [0x00007f5a1fe73cc0], GPR_0097 # S4MemReg, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0edec920] cmp GPR_0097, 0x00000000 # CMP4RegImms
[0x7f5a0edeccc0] assocRegs # ASSOCREGS
POST: [&GPR_0080 : eax]
[0x7f5a0edeca60] jg Label L0018 # JG4
PRE: [&GPR_0080 : eax]
POST: [&GPR_0080 : eax]
[0x7f5a0edecea0] Fence Relative [ 00007F5A0EC5E004 ] # FENCE BBEnd </block_9>
........................................
[0x7f5a0edecfd0] Fence Relative [ 00007F5A0EC5E200 ] # FENCE BBStart <block_10> (frequency 0) (extension of previous block) (cold)
[0x7f5a0eded280] mov dword ptr [0x00007f5a1fe73cc0], 0x7fffffff # S4MemImm4, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0eded530] mov byte ptr [0x0000000000000000], 0x02 # S1MemImm1, SymRef <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ]
[0x7f5a0edee420] lea GPR_0113, qword ptr [0x00000000016c45a0] # LEA8RegMem, SymRef <J9Method>[#588 Static] [flags 0x8000307 0x40 ]
[0x7f5a0edee5e0] lea GPR_0114, qword ptr [0x0000000000000000] # LEA8RegMem, SymRef <start-PC>[#587 Static] [flags 0x4000303 0x40 ]
[0x7f5a0edee880] Label L0112: # LABEL # (Start of internal control flow)
PRE: [GPR_0113 : eax] [GPR_0114 : esi]
[0x7f5a0edee740] call jitRetranslateCallerWithPreparation# CALLImm4 (00007F5A30779350)# CALLImm4
[0x7f5a0edeeb90] assocRegs # ASSOCREGS
POST: [&GPR_0080 : eax]
[0x7f5a0edee930] Label L0113: # LABEL # (End of internal control flow)
PRE: [GPR_0113 : eax] [GPR_0114 : esi]
POST: [GPR_0000 : ebp] [GPR_0115 : eax] [GPR_0114 : esi]
[0x7f5a0edef2f0] assocRegs # ASSOCREGS
POST: [GPR_0115 : eax] [GPR_0114 : esi]
[0x7f5a0edef090] jmp Label L0018 # JMP4
PRE: [&GPR_0080 : eax]
POST: [&GPR_0080 : eax]
[0x7f5a0edef470] Fence Relative [ 00007F5A0EC5E204 ] # FENCE BBEnd </block_10>
[0x7f5a0edef6c0] assocRegs # ASSOCREGS
POST: [&GPR_0080 : eax]
[0x7f5a0edef7e0] Label L0128: # LABEL
</instructions>
numberOfSlots is 1, numberOfPaddingSlots is 0
<instructions
title="Post Register Assignment Instructions"
method="java/lang/String.hashCode()I"
hotness="warm">
+--------------------------------------- instruction address
| +------------------------------------------
| | +----------------------------------------- instruction
| | |
V V V
[0x7f5a0ed22230] Label L0019: # LABEL
[0x7f5a0ed223b0] mov rdi, 0x00000000016c45a0 # MOV8RegImm64
[0x7f5a0ed22730] mov qword ptr [rsp+0x8], rax # S8MemReg, SymRef [#653 +8]
[0x7f5a0ed22a30] assocRegs # ASSOCREGS
[0x7f5a0ed227d0] jmp icallVMprJavaSendStatic1# JMP4 (00007F5A3077D650)# JMP4
[0x7f5a0ed22ac0] nop # Alignment (boundary=8, margin=21)
[0x7f5a0ed22b60] jmp Label L0019 # JMP4
[0x7f5a0ed22c10] .short 0xcccc # DWImm2
[0x7f5a0ed22d40] call __samplingRecompileMethod# CALLImm4 (00007F5A302353F0)# CALLImm4
[0x7f5a0ed22df0] .quad 0x00007f5a1fe73cc0 # DQImm64
[0x7f5a0ed22e90] .int 0x00000001 # DDImm4
[0x7f5a0ed231b0] assocRegs # ASSOCREGS
[0x7f5a0ed22f70] ProcEntry # PROCENTRY
[0x7f5a0ed23750] assocRegs # ASSOCREGS
[0x7f5a0ed234f0] Label L0032: # LABEL
========================================
[0x7f5a0ed237e0] Fence Relative [ 00007F5A0EC5DE20 ] # FENCE BBStart <block_8> (frequency 147)
[0x7f5a0ed23c50] cmp dword ptr [0x00007f5a2c08bf08], 0x00000001 # CMP4MemImms, SymRef <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ]
[0x7f5a0ed23ff0] assocRegs # ASSOCREGS
[0x7f5a0ed23d90] je Label L0016 # JE4
[0x7f5a0ed242b0] Fence Relative [ 00007F5A0EC5DE24 ] # FENCE BBEnd </block_8>
[0x7f5a0ed24500] assocRegs # ASSOCREGS
[0x7f5a0ed248f0] assocRegs # ASSOCREGS
[0x7f5a0ed24690] Label L0048: # LABEL
[0x7f5a0ed24f70] assocRegs # ASSOCREGS
[0x7f5a0ed24d10] Label L0018: # LABEL
========================================
[0x7f5a0ed25000] Fence Relative [ 00007F5A0EC3C360 ] # FENCE BBStart <block_2> (frequency 9672)
[0x7f5a0ed25490] mov ecx, dword ptr [rax+0xc] # L4RegMem, SymRef java/lang/String.hashCode I[#655 Shadow +12] [flags 0x40080603 0x0 ]
[0x7f5a0ed25530] test ecx, ecx # TEST4RegReg
[0x7f5a0ed258d0] assocRegs # ASSOCREGS
[0x7f5a0ed25670] je Label L0017 # JE4
[0x7f5a0edf1650] mov rax, rcx # MOV8RegReg
[0x7f5a0ed25bf0] Fence Relative [ 00007F5A0EC3C364 ] # FENCE BBEnd </block_2>
........................................
[0x7f5a0ed25d20] Fence Relative [ 00007F5A0ED2E590 ] # FENCE BBStart <block_18> (frequency 9545) (extension of previous block)
[0x7f5a0ed260f0] assocRegs # ASSOCREGS
[0x7f5a0ed25eb0] ret # RET
[0x7f5a0ed26240] Fence Relative [ 00007F5A0ED2E594 ] # FENCE BBEnd </block_18>
[0x7f5a0ed26490] assocRegs # ASSOCREGS
[0x7f5a0ed265b0] Label L0064: # LABEL
[0x7f5a0ed26c70] assocRegs # ASSOCREGS
[0x7f5a0ed26a10] Label L0017: # LABEL
[0x7f5a0edf1580] mov rcx, rax # MOV8RegReg
========================================
[0x7f5a0ed26d00] Fence Relative [ 00007F5A0EC3C5D0 ] # FENCE BBStart <block_3> (frequency 461)
[0x7f5a0ed271a0] mov edx, dword ptr [rcx+0x4] # L4RegMem, SymRef java/lang/String.value [B[#656 final Shadow +4] [flags 0x400a0607 0x0 ]
[0x7f5a0ed27830] xor edi, edi # XOR4RegReg
[0x7f5a0ed27a30] mov esi, dword ptr [rcx+0x8] # L4RegMem, SymRef java/lang/String.count I[#657 final Shadow +8] [flags 0x400a0603 0x0 ]
[0x7f5a0ed280b0] Label L0080: # LABEL # (Start of internal control flow)
[0x7f5a0ed28160] mov r8, rsi # MOV8RegReg
[0x7f5a0ed28200] add r8, rdi # ADD8RegReg
[0x7f5a0ed282a0] xor rax, rax # XOR8RegReg
[0x7f5a0ed28340] cmp rsi, 0x00000004 # CMP8RegImm4
[0x7f5a0ed283e0] jl Label L0083 # JL4
[0x7f5a0ed28490] sub r8, 0x00000003 # SUB8RegImms
[0x7f5a0ed28680] movaps xmm1, oword ptr [FPRCONSTANT] # MOVAPSRegMem
[0x7f5a0ed28720] xorps xmm0, xmm0 # XORPSRegReg
[0x7f5a0ed287c0] Label L0082: # LABEL
[0x7f5a0ed28900] movsd xmm2, qword ptr [rdx+2*rdi+0x8] # MOVSDRegMem, SymRef [#659 +8]
[0x7f5a0ed289a0] pmulld xmm0, xmm1 # PMULLD
[0x7f5a0ed28a40] pmovzxwd xmm2, xmm2 # PMOVZXWD
[0x7f5a0ed28ae0] paddd xmm0, xmm2 # PADDD
[0x7f5a0ed28b80] add rdi, 0x00000004 # ADD8RegImms
[0x7f5a0ed28c20] cmp rdi, r8 # CMP8RegReg
[0x7f5a0ed28cc0] jl Label L0082 # JL4
[0x7f5a0ed28d70] Label L0085: # LABEL
[0x7f5a0ed28f70] movaps xmm1, oword ptr [FPRCONSTANT] # MOVAPSRegMem
[0x7f5a0ed29010] pmulld xmm0, xmm1 # PMULLD
[0x7f5a0ed290b0] movapd xmm1, xmm0 # MOVAPDRegReg
[0x7f5a0ed29150] psrldq xmm1, 0x08 # PSRLDQRegImm1
[0x7f5a0ed291f0] paddd xmm0, xmm1 # PADDD
[0x7f5a0ed29290] movapd xmm1, xmm0 # MOVAPDRegReg
[0x7f5a0ed29330] psrldq xmm1, 0x04 # PSRLDQRegImm1
[0x7f5a0ed293d0] paddd xmm0, xmm1 # PADDD
[0x7f5a0ed29470] movd eax, xmm0 # MOVDReg4Reg
[0x7f5a0ed29510] add r8, 0x00000003 # ADD8RegImms
[0x7f5a0ed295b0] Label L0083: # LABEL
[0x7f5a0ed29660] cmp rdi, r8 # CMP8RegReg
[0x7f5a0ed29700] jge Label L0081 # JGE4
[0x7f5a0ed297b0] Label L0084: # LABEL
[0x7f5a0ed29860] mov r10d, eax # MOV4RegReg
[0x7f5a0ed29900] shl eax, 0x05 # SHL4RegImm1
[0x7f5a0ed299a0] sub eax, r10d # SUB4RegReg
[0x7f5a0ed29ad0] movzx r10d, word ptr [rdx+2*rdi+0x8] # MOVZXReg4Mem2, SymRef [#661 +8]
[0x7f5a0ed29b70] add eax, r10d # ADD4RegReg
[0x7f5a0ed29c10] inc rdi # INC8Reg
[0x7f5a0ed29cb0] cmp rdi, r8 # CMP8RegReg
[0x7f5a0ed29d50] jl Label L0084 # JL4
[0x7f5a0ed2a120] assocRegs # ASSOCREGS
[0x7f5a0ed29ec0] Label L0081: # LABEL # (End of internal control flow)
[0x7f5a0ed2ae50] mov dword ptr [rcx+0xc], eax # S4MemReg, SymRef java/lang/String.hashCode I[#662 Shadow +12] [flags 0x40080603 0x0 ]
[0x7f5a0ed2b2c0] assocRegs # ASSOCREGS
[0x7f5a0ed2b080] ret # RET
[0x7f5a0ed2b410] Fence Relative [ 00007F5A0EC3C5D4 ] # FENCE BBEnd </block_3>
[0x7f5a0ed2b660] assocRegs # ASSOCREGS
[0x7f5a0ed2b780] Label L0096: # LABEL
[0x7f5a0ed2bdc0] assocRegs # ASSOCREGS
[0x7f5a0ed2bb60] Label L0016: # LABEL
========================================
[0x7f5a0ed2be50] Fence Relative [ 00007F5A0EC5E000 ] # FENCE BBStart <block_9> (frequency 0) (cold)
[0x7f5a0edec360] mov ecx, dword ptr [0x00007f5a1fe73cc0] # L4RegMem, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0edec400] sub ecx, 0x00000001 # SUB4RegImms
[0x7f5a0edec5c0] mov dword ptr [0x00007f5a1fe73cc0], ecx # S4MemReg, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0edec920] cmp ecx, 0x00000000 # CMP4RegImms
[0x7f5a0edeccc0] assocRegs # ASSOCREGS
[0x7f5a0edeca60] jg Label L0018 # JG4
[0x7f5a0edf1460] mov rcx, rax # MOV8RegReg
[0x7f5a0edecea0] Fence Relative [ 00007F5A0EC5E004 ] # FENCE BBEnd </block_9>
........................................
[0x7f5a0edecfd0] Fence Relative [ 00007F5A0EC5E200 ] # FENCE BBStart <block_10> (frequency 0) (extension of previous block) (cold)
[0x7f5a0eded280] mov dword ptr [0x00007f5a1fe73cc0], 0x7fffffff # S4MemImm4, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0eded530] mov byte ptr [0x0000000000000000], 0x02 # S1MemImm1, SymRef <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ]
[0x7f5a0edee420] lea rax, qword ptr [0x00000000016c45a0] # LEA8RegMem, SymRef <J9Method>[#588 Static] [flags 0x8000307 0x40 ]
[0x7f5a0edee5e0] lea rsi, qword ptr [0x0000000000000000] # LEA8RegMem, SymRef <start-PC>[#587 Static] [flags 0x4000303 0x40 ]
[0x7f5a0edee880] Label L0112: # LABEL # (Start of internal control flow)
[0x7f5a0edee740] call jitRetranslateCallerWithPreparation# CALLImm4 (00007F5A30779350)# CALLImm4
[0x7f5a0edeeb90] assocRegs # ASSOCREGS
[0x7f5a0edee930] Label L0113: # LABEL # (End of internal control flow)
[0x7f5a0edf1350] mov rax, rcx # MOV8RegReg
[0x7f5a0edef2f0] assocRegs # ASSOCREGS
[0x7f5a0edef090] jmp Label L0018 # JMP4
[0x7f5a0edef470] Fence Relative [ 00007F5A0EC5E204 ] # FENCE BBEnd </block_10>
[0x7f5a0edef6c0] assocRegs # ASSOCREGS
[0x7f5a0edef7e0] Label L0128: # LABEL
</instructions>
<instructions
title="Post Stack Map"
method="java/lang/String.hashCode()I"
hotness="warm">
[0x7f5a0ed22230] Label L0019: # LABEL
[0x7f5a0ed223b0] mov rdi, 0x00000000016c45a0 # MOV8RegImm64
[0x7f5a0ed22730] mov qword ptr [rsp+0x8], rax # S8MemReg, SymRef [#653 +8]
[0x7f5a0ed22a30] assocRegs # ASSOCREGS
[0x7f5a0ed227d0] jmp icallVMprJavaSendStatic1# JMP4 (00007F5A3077D650)# JMP4
[0x7f5a0ed22ac0] nop # Alignment (boundary=8, margin=21)
[0x7f5a0ed22b60] jmp Label L0019 # JMP4
[0x7f5a0ed22c10] .short 0xcccc # DWImm2
[0x7f5a0ed22d40] call __samplingRecompileMethod# CALLImm4 (00007F5A302353F0)# CALLImm4
[0x7f5a0ed22df0] .quad 0x00007f5a1fe73cc0 # DQImm64
[0x7f5a0ed22e90] .int 0x00000001 # DDImm4
[0x7f5a0ed231b0] assocRegs # ASSOCREGS
[0x7f5a0ed22f70] ProcEntry # PROCENTRY
[0x7f5a0ed23750] assocRegs # ASSOCREGS
[0x7f5a0ed234f0] Label L0032: # LABEL
========================================
[0x7f5a0ed237e0] Fence Relative [ 00007F5A0EC5DE20 ] # FENCE BBStart <block_8> (frequency 147)
[0x7f5a0ed23c50] cmp dword ptr [0x00007f5a2c08bf08], 0x00000001 # CMP4MemImms, SymRef <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ]
[0x7f5a0ed23ff0] assocRegs # ASSOCREGS
[0x7f5a0ed23d90] je Label L0016 # JE4
[0x7f5a0ed242b0] Fence Relative [ 00007F5A0EC5DE24 ] # FENCE BBEnd </block_8>
[0x7f5a0ed24500] assocRegs # ASSOCREGS
[0x7f5a0ed248f0] assocRegs # ASSOCREGS
[0x7f5a0ed24690] Label L0048: # LABEL
[0x7f5a0ed24f70] assocRegs # ASSOCREGS
[0x7f5a0ed24d10] Label L0018: # LABEL
========================================
[0x7f5a0ed25000] Fence Relative [ 00007F5A0EC3C360 ] # FENCE BBStart <block_2> (frequency 9672)
[0x7f5a0ed25490] mov ecx, dword ptr [rax+0xc] # L4RegMem, SymRef java/lang/String.hashCode I[#655 Shadow +12] [flags 0x40080603 0x0 ]
[0x7f5a0ed25530] test ecx, ecx # TEST4RegReg
[0x7f5a0ed258d0] assocRegs # ASSOCREGS
[0x7f5a0ed25670] je Label L0017 # JE4
[0x7f5a0edf1650] mov rax, rcx # MOV8RegReg
[0x7f5a0ed25bf0] Fence Relative [ 00007F5A0EC3C364 ] # FENCE BBEnd </block_2>
........................................
[0x7f5a0ed25d20] Fence Relative [ 00007F5A0ED2E590 ] # FENCE BBStart <block_18> (frequency 9545) (extension of previous block)
[0x7f5a0ed260f0] assocRegs # ASSOCREGS
[0x7f5a0ed25eb0] ret # RET
[0x7f5a0ed26240] Fence Relative [ 00007F5A0ED2E594 ] # FENCE BBEnd </block_18>
[0x7f5a0ed26490] assocRegs # ASSOCREGS
[0x7f5a0ed265b0] Label L0064: # LABEL
[0x7f5a0ed26c70] assocRegs # ASSOCREGS
[0x7f5a0ed26a10] Label L0017: # LABEL
[0x7f5a0edf1580] mov rcx, rax # MOV8RegReg
========================================
[0x7f5a0ed26d00] Fence Relative [ 00007F5A0EC3C5D0 ] # FENCE BBStart <block_3> (frequency 461)
[0x7f5a0ed271a0] mov edx, dword ptr [rcx+0x4] # L4RegMem, SymRef java/lang/String.value [B[#656 final Shadow +4] [flags 0x400a0607 0x0 ]
[0x7f5a0ed27830] xor edi, edi # XOR4RegReg
[0x7f5a0ed27a30] mov esi, dword ptr [rcx+0x8] # L4RegMem, SymRef java/lang/String.count I[#657 final Shadow +8] [flags 0x400a0603 0x0 ]
[0x7f5a0ed280b0] Label L0080: # LABEL # (Start of internal control flow)
[0x7f5a0ed28160] mov r8, rsi # MOV8RegReg
[0x7f5a0ed28200] add r8, rdi # ADD8RegReg
[0x7f5a0ed282a0] xor rax, rax # XOR8RegReg
[0x7f5a0ed28340] cmp rsi, 0x00000004 # CMP8RegImm4
[0x7f5a0ed283e0] jl Label L0083 # JL4
[0x7f5a0ed28490] sub r8, 0x00000003 # SUB8RegImms
[0x7f5a0ed28680] movaps xmm1, oword ptr [FPRCONSTANT] # MOVAPSRegMem
[0x7f5a0ed28720] xorps xmm0, xmm0 # XORPSRegReg
[0x7f5a0ed287c0] Label L0082: # LABEL
[0x7f5a0ed28900] movsd xmm2, qword ptr [rdx+2*rdi+0x8] # MOVSDRegMem, SymRef [#659 +8]
[0x7f5a0ed289a0] pmulld xmm0, xmm1 # PMULLD
[0x7f5a0ed28a40] pmovzxwd xmm2, xmm2 # PMOVZXWD
[0x7f5a0ed28ae0] paddd xmm0, xmm2 # PADDD
[0x7f5a0ed28b80] add rdi, 0x00000004 # ADD8RegImms
[0x7f5a0ed28c20] cmp rdi, r8 # CMP8RegReg
[0x7f5a0ed28cc0] jl Label L0082 # JL4
[0x7f5a0ed28d70] Label L0085: # LABEL
[0x7f5a0ed28f70] movaps xmm1, oword ptr [FPRCONSTANT] # MOVAPSRegMem
[0x7f5a0ed29010] pmulld xmm0, xmm1 # PMULLD
[0x7f5a0ed290b0] movapd xmm1, xmm0 # MOVAPDRegReg
[0x7f5a0ed29150] psrldq xmm1, 0x08 # PSRLDQRegImm1
[0x7f5a0ed291f0] paddd xmm0, xmm1 # PADDD
[0x7f5a0ed29290] movapd xmm1, xmm0 # MOVAPDRegReg
[0x7f5a0ed29330] psrldq xmm1, 0x04 # PSRLDQRegImm1
[0x7f5a0ed293d0] paddd xmm0, xmm1 # PADDD
[0x7f5a0ed29470] movd eax, xmm0 # MOVDReg4Reg
[0x7f5a0ed29510] add r8, 0x00000003 # ADD8RegImms
[0x7f5a0ed295b0] Label L0083: # LABEL
[0x7f5a0ed29660] cmp rdi, r8 # CMP8RegReg
[0x7f5a0ed29700] jge Label L0081 # JGE4
[0x7f5a0ed297b0] Label L0084: # LABEL
[0x7f5a0ed29860] mov r10d, eax # MOV4RegReg
[0x7f5a0ed29900] shl eax, 0x05 # SHL4RegImm1
[0x7f5a0ed299a0] sub eax, r10d # SUB4RegReg
[0x7f5a0ed29ad0] movzx r10d, word ptr [rdx+2*rdi+0x8] # MOVZXReg4Mem2, SymRef [#661 +8]
[0x7f5a0ed29b70] add eax, r10d # ADD4RegReg
[0x7f5a0ed29c10] inc rdi # INC8Reg
[0x7f5a0ed29cb0] cmp rdi, r8 # CMP8RegReg
[0x7f5a0ed29d50] jl Label L0084 # JL4
[0x7f5a0ed2a120] assocRegs # ASSOCREGS
[0x7f5a0ed29ec0] Label L0081: # LABEL # (End of internal control flow)
[0x7f5a0ed2ae50] mov dword ptr [rcx+0xc], eax # S4MemReg, SymRef java/lang/String.hashCode I[#662 Shadow +12] [flags 0x40080603 0x0 ]
[0x7f5a0ed2b2c0] assocRegs # ASSOCREGS
[0x7f5a0ed2b080] ret # RET
[0x7f5a0ed2b410] Fence Relative [ 00007F5A0EC3C5D4 ] # FENCE BBEnd </block_3>
[0x7f5a0ed2b660] assocRegs # ASSOCREGS
[0x7f5a0ed2b780] Label L0096: # LABEL
[0x7f5a0ed2bdc0] assocRegs # ASSOCREGS
[0x7f5a0ed2bb60] Label L0016: # LABEL
========================================
[0x7f5a0ed2be50] Fence Relative [ 00007F5A0EC5E000 ] # FENCE BBStart <block_9> (frequency 0) (cold)
[0x7f5a0edec360] mov ecx, dword ptr [0x00007f5a1fe73cc0] # L4RegMem, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0edec400] sub ecx, 0x00000001 # SUB4RegImms
[0x7f5a0edec5c0] mov dword ptr [0x00007f5a1fe73cc0], ecx # S4MemReg, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0edec920] cmp ecx, 0x00000000 # CMP4RegImms
[0x7f5a0edeccc0] assocRegs # ASSOCREGS
[0x7f5a0edeca60] jg Label L0018 # JG4
[0x7f5a0edf1460] mov rcx, rax # MOV8RegReg
[0x7f5a0edecea0] Fence Relative [ 00007F5A0EC5E004 ] # FENCE BBEnd </block_9>
........................................
[0x7f5a0edecfd0] Fence Relative [ 00007F5A0EC5E200 ] # FENCE BBStart <block_10> (frequency 0) (extension of previous block) (cold)
[0x7f5a0eded280] mov dword ptr [0x00007f5a1fe73cc0], 0x7fffffff # S4MemImm4, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0eded530] mov byte ptr [0x0000000000000000], 0x02 # S1MemImm1, SymRef <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ]
[0x7f5a0edee420] lea rax, qword ptr [0x00000000016c45a0] # LEA8RegMem, SymRef <J9Method>[#588 Static] [flags 0x8000307 0x40 ]
[0x7f5a0edee5e0] lea rsi, qword ptr [0x0000000000000000] # LEA8RegMem, SymRef <start-PC>[#587 Static] [flags 0x4000303 0x40 ]
[0x7f5a0edee880] Label L0112: # LABEL # (Start of internal control flow)
[0x7f5a0edee740] call jitRetranslateCallerWithPreparation# CALLImm4 (00007F5A30779350)# CALLImm4
[0x7f5a0edeeb90] assocRegs # ASSOCREGS
[0x7f5a0edee930] Label L0113: # LABEL # (End of internal control flow)
[0x7f5a0edf1350] mov rax, rcx # MOV8RegReg
[0x7f5a0edef2f0] assocRegs # ASSOCREGS
[0x7f5a0edef090] jmp Label L0018 # JMP4
[0x7f5a0edef470] Fence Relative [ 00007F5A0EC5E204 ] # FENCE BBEnd </block_10>
[0x7f5a0edef6c0] assocRegs # ASSOCREGS
[0x7f5a0edef7e0] Label L0128: # LABEL
</instructions>
<instructions
title="Post Peephole Instructions"
method="java/lang/String.hashCode()I"
hotness="warm">
[0x7f5a0ed22230] Label L0019: # LABEL
[0x7f5a0ed223b0] mov rdi, 0x00000000016c45a0 # MOV8RegImm64
[0x7f5a0ed22730] mov qword ptr [rsp+0x8], rax # S8MemReg, SymRef [#653 +8]
[0x7f5a0ed22a30] assocRegs # ASSOCREGS
[0x7f5a0ed227d0] jmp icallVMprJavaSendStatic1# JMP4 (00007F5A3077D650)# JMP4
[0x7f5a0ed22ac0] nop # Alignment (boundary=8, margin=21)
[0x7f5a0ed22b60] jmp Label L0019 # JMP4
[0x7f5a0ed22c10] .short 0xcccc # DWImm2
[0x7f5a0ed22d40] call __samplingRecompileMethod# CALLImm4 (00007F5A302353F0)# CALLImm4
[0x7f5a0ed22df0] .quad 0x00007f5a1fe73cc0 # DQImm64
[0x7f5a0ed22e90] .int 0x00000001 # DDImm4
[0x7f5a0ed231b0] assocRegs # ASSOCREGS
[0x7f5a0ed22f70] ProcEntry # PROCENTRY
[0x7f5a0ed23750] assocRegs # ASSOCREGS
[0x7f5a0ed234f0] Label L0032: # LABEL
========================================
[0x7f5a0ed237e0] Fence Relative [ 00007F5A0EC5DE20 ] # FENCE BBStart <block_8> (frequency 147)
[0x7f5a0ed23c50] cmp dword ptr [0x00007f5a2c08bf08], 0x00000001 # CMP4MemImms, SymRef <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ]
[0x7f5a0ed23ff0] assocRegs # ASSOCREGS
[0x7f5a0ed23d90] je Label L0016 # JE4
[0x7f5a0ed242b0] Fence Relative [ 00007F5A0EC5DE24 ] # FENCE BBEnd </block_8>
[0x7f5a0ed24500] assocRegs # ASSOCREGS
[0x7f5a0ed248f0] assocRegs # ASSOCREGS
[0x7f5a0ed24690] Label L0048: # LABEL
[0x7f5a0ed24f70] assocRegs # ASSOCREGS
[0x7f5a0ed24d10] Label L0018: # LABEL
========================================
[0x7f5a0ed25000] Fence Relative [ 00007F5A0EC3C360 ] # FENCE BBStart <block_2> (frequency 9672)
[0x7f5a0ed25490] mov ecx, dword ptr [rax+0xc] # L4RegMem, SymRef java/lang/String.hashCode I[#655 Shadow +12] [flags 0x40080603 0x0 ]
[0x7f5a0ed25530] test ecx, ecx # TEST4RegReg
[0x7f5a0ed258d0] assocRegs # ASSOCREGS
[0x7f5a0ed25670] je Label L0017 # JE4
[0x7f5a0edf1650] mov rax, rcx # MOV8RegReg
[0x7f5a0ed25bf0] Fence Relative [ 00007F5A0EC3C364 ] # FENCE BBEnd </block_2>
........................................
[0x7f5a0ed25d20] Fence Relative [ 00007F5A0ED2E590 ] # FENCE BBStart <block_18> (frequency 9545) (extension of previous block)
[0x7f5a0ed260f0] assocRegs # ASSOCREGS
[0x7f5a0ed25eb0] ret # RET
[0x7f5a0ed26240] Fence Relative [ 00007F5A0ED2E594 ] # FENCE BBEnd </block_18>
[0x7f5a0ed26490] assocRegs # ASSOCREGS
[0x7f5a0ed265b0] Label L0064: # LABEL
[0x7f5a0ed26c70] assocRegs # ASSOCREGS
[0x7f5a0ed26a10] Label L0017: # LABEL
[0x7f5a0edf1580] mov rcx, rax # MOV8RegReg
========================================
[0x7f5a0ed26d00] Fence Relative [ 00007F5A0EC3C5D0 ] # FENCE BBStart <block_3> (frequency 461)
[0x7f5a0ed271a0] mov edx, dword ptr [rcx+0x4] # L4RegMem, SymRef java/lang/String.value [B[#656 final Shadow +4] [flags 0x400a0607 0x0 ]
[0x7f5a0ed27830] xor edi, edi # XOR4RegReg
[0x7f5a0ed27a30] mov esi, dword ptr [rcx+0x8] # L4RegMem, SymRef java/lang/String.count I[#657 final Shadow +8] [flags 0x400a0603 0x0 ]
[0x7f5a0ed280b0] Label L0080: # LABEL # (Start of internal control flow)
[0x7f5a0ed28160] mov r8, rsi # MOV8RegReg
[0x7f5a0ed28200] add r8, rdi # ADD8RegReg
[0x7f5a0ed282a0] xor rax, rax # XOR8RegReg
[0x7f5a0ed28340] cmp rsi, 0x00000004 # CMP8RegImm4
[0x7f5a0ed283e0] jl Label L0083 # JL4
[0x7f5a0ed28490] sub r8, 0x00000003 # SUB8RegImms
[0x7f5a0ed28680] movaps xmm1, oword ptr [FPRCONSTANT] # MOVAPSRegMem
[0x7f5a0ed28720] xorps xmm0, xmm0 # XORPSRegReg
[0x7f5a0ed287c0] Label L0082: # LABEL
[0x7f5a0ed28900] movsd xmm2, qword ptr [rdx+2*rdi+0x8] # MOVSDRegMem, SymRef [#659 +8]
[0x7f5a0ed289a0] pmulld xmm0, xmm1 # PMULLD
[0x7f5a0ed28a40] pmovzxwd xmm2, xmm2 # PMOVZXWD
[0x7f5a0ed28ae0] paddd xmm0, xmm2 # PADDD
[0x7f5a0ed28b80] add rdi, 0x00000004 # ADD8RegImms
[0x7f5a0ed28c20] cmp rdi, r8 # CMP8RegReg
[0x7f5a0ed28cc0] jl Label L0082 # JL4
[0x7f5a0ed28d70] Label L0085: # LABEL
[0x7f5a0ed28f70] movaps xmm1, oword ptr [FPRCONSTANT] # MOVAPSRegMem
[0x7f5a0ed29010] pmulld xmm0, xmm1 # PMULLD
[0x7f5a0ed290b0] movapd xmm1, xmm0 # MOVAPDRegReg
[0x7f5a0ed29150] psrldq xmm1, 0x08 # PSRLDQRegImm1
[0x7f5a0ed291f0] paddd xmm0, xmm1 # PADDD
[0x7f5a0ed29290] movapd xmm1, xmm0 # MOVAPDRegReg
[0x7f5a0ed29330] psrldq xmm1, 0x04 # PSRLDQRegImm1
[0x7f5a0ed293d0] paddd xmm0, xmm1 # PADDD
[0x7f5a0ed29470] movd eax, xmm0 # MOVDReg4Reg
[0x7f5a0ed29510] add r8, 0x00000003 # ADD8RegImms
[0x7f5a0ed295b0] Label L0083: # LABEL
[0x7f5a0ed29660] cmp rdi, r8 # CMP8RegReg
[0x7f5a0ed29700] jge Label L0081 # JGE4
[0x7f5a0ed297b0] Label L0084: # LABEL
[0x7f5a0ed29860] mov r10d, eax # MOV4RegReg
[0x7f5a0ed29900] shl eax, 0x05 # SHL4RegImm1
[0x7f5a0ed299a0] sub eax, r10d # SUB4RegReg
[0x7f5a0ed29ad0] movzx r10d, word ptr [rdx+2*rdi+0x8] # MOVZXReg4Mem2, SymRef [#661 +8]
[0x7f5a0ed29b70] add eax, r10d # ADD4RegReg
[0x7f5a0ed29c10] inc rdi # INC8Reg
[0x7f5a0ed29cb0] cmp rdi, r8 # CMP8RegReg
[0x7f5a0ed29d50] jl Label L0084 # JL4
[0x7f5a0ed2a120] assocRegs # ASSOCREGS
[0x7f5a0ed29ec0] Label L0081: # LABEL # (End of internal control flow)
[0x7f5a0ed2ae50] mov dword ptr [rcx+0xc], eax # S4MemReg, SymRef java/lang/String.hashCode I[#662 Shadow +12] [flags 0x40080603 0x0 ]
[0x7f5a0ed2b2c0] assocRegs # ASSOCREGS
[0x7f5a0ed2b080] ret # RET
[0x7f5a0ed2b410] Fence Relative [ 00007F5A0EC3C5D4 ] # FENCE BBEnd </block_3>
[0x7f5a0ed2b660] assocRegs # ASSOCREGS
[0x7f5a0ed2b780] Label L0096: # LABEL
[0x7f5a0ed2bdc0] assocRegs # ASSOCREGS
[0x7f5a0ed2bb60] Label L0016: # LABEL
========================================
[0x7f5a0ed2be50] Fence Relative [ 00007F5A0EC5E000 ] # FENCE BBStart <block_9> (frequency 0) (cold)
[0x7f5a0edec360] mov ecx, dword ptr [0x00007f5a1fe73cc0] # L4RegMem, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0edec400] sub ecx, 0x00000001 # SUB4RegImms
[0x7f5a0edec5c0] mov dword ptr [0x00007f5a1fe73cc0], ecx # S4MemReg, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0edec920] cmp ecx, 0x00000000 # CMP4RegImms
[0x7f5a0edeccc0] assocRegs # ASSOCREGS
[0x7f5a0edeca60] jg Label L0018 # JG4
[0x7f5a0edf1460] mov rcx, rax # MOV8RegReg
[0x7f5a0edecea0] Fence Relative [ 00007F5A0EC5E004 ] # FENCE BBEnd </block_9>
........................................
[0x7f5a0edecfd0] Fence Relative [ 00007F5A0EC5E200 ] # FENCE BBStart <block_10> (frequency 0) (extension of previous block) (cold)
[0x7f5a0eded280] mov dword ptr [0x00007f5a1fe73cc0], 0x7fffffff # S4MemImm4, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
[0x7f5a0eded530] mov byte ptr [0x0000000000000000], 0x02 # S1MemImm1, SymRef <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ]
[0x7f5a0edee420] lea rax, qword ptr [0x00000000016c45a0] # LEA8RegMem, SymRef <J9Method>[#588 Static] [flags 0x8000307 0x40 ]
[0x7f5a0edee5e0] lea rsi, qword ptr [0x0000000000000000] # LEA8RegMem, SymRef <start-PC>[#587 Static] [flags 0x4000303 0x40 ]
[0x7f5a0edee880] Label L0112: # LABEL # (Start of internal control flow)
[0x7f5a0edee740] call jitRetranslateCallerWithPreparation# CALLImm4 (00007F5A30779350)# CALLImm4
[0x7f5a0edeeb90] assocRegs # ASSOCREGS
[0x7f5a0edee930] Label L0113: # LABEL # (End of internal control flow)
[0x7f5a0edf1350] mov rax, rcx # MOV8RegReg
[0x7f5a0edef2f0] assocRegs # ASSOCREGS
[0x7f5a0edef090] jmp Label L0018 # JMP4
[0x7f5a0edef470] Fence Relative [ 00007F5A0EC5E204 ] # FENCE BBEnd </block_10>
[0x7f5a0edef6c0] assocRegs # ASSOCREGS
[0x7f5a0edef7e0] Label L0128: # LABEL
</instructions>
<proepilogue>
Stack size was 32, and is adjusted by +0 (alignment 16, return address width 8)
Frame size: S-- locals=0 frame=24 peak=32
</proepilogue>
<encode>
</encode>
<instructions
title="Post Binary Instructions"
method="java/lang/String.hashCode()I"
hotness="warm">
+--------------------------------------- instruction address
| +----------------------------------------- instruction offset from start of method
| | +------------------------------------------ corresponding TR::Instruction instance
| | | +-------------------------------------------------- code bytes
| | | | +-------------------------------------- opcode and operands
| | | | | +----------- additional information
| | | | | |
V V V V V V
0x7f5a0fdf0b70 ffffffd0 [0x7f5a0ed22230] Label L0019: # LABEL
0x7f5a0fdf0b70 ffffffd0 [0x7f5a0ed223b0] 48 bf a0 45 6c 01 00 00 00 00 mov rdi, 0x00000000016c45a0 # MOV8RegImm64
0x7f5a0fdf0b7a ffffffda [0x7f5a0ed22730] 48 89 44 24 08 mov qword ptr [rsp+0x8], rax # S8MemReg, SymRef [#653 +8]
0x7f5a0fdf0b7f ffffffdf [0x7f5a0ed22a30] assocRegs # ASSOCREGS
0x7f5a0fdf0b7f ffffffdf [0x7f5a0ed227d0] e9 cc ca 98 20 jmp icallVMprJavaSendStatic1# JMP4 (00007F5A3077D650)# JMP4
0x7f5a0fdf0b84 ffffffe4 [0x7f5a0ed22ac0] 0f 1f 80 00 00 00 00 nop (7 bytes) # Alignment (boundary=8, margin=21)
0x7f5a0fdf0b8b ffffffeb [0x7f5a0ed22b60] eb e3 jmp Label L0019 # JMP1
0x7f5a0fdf0b8d ffffffed [0x7f5a0ed22c10] cc cc .short 0xcccc # DWImm2
0x7f5a0fdf0b8f ffffffef [0x7f5a0ed22d40] e8 5c 48 44 20 call __samplingRecompileMethod# CALLImm4 (00007F5A302353F0)# CALLImm4
0x7f5a0fdf0b94 fffffff4 [0x7f5a0ed22df0] c0 3c e7 1f 5a 7f 00 00 .quad 0x00007f5a1fe73cc0 # DQImm64
0x7f5a0fdf0b9c fffffffc [0x7f5a0ed22e90] 11 00 05 00 .int 0x00050011 # DDImm4
0x7f5a0fdf0ba0 00000000 [0x7f5a0ed231b0] assocRegs # ASSOCREGS
0x7f5a0fdf0ba0 00000000 [0x7f5a0edf6310] 48 8b 44 24 08 mov rax, qword ptr [rsp+0x8] # L8RegMem, SymRef [#669 +8]
0x7f5a0fdf0ba5 00000005 [0x7f5a0edf63b0] nop (0 bytes) # Align patchable code @32 [0x0:2]
0x7f5a0fdf0ba5 00000005 [0x7f5a0ed22f70] ProcEntry # PROCENTRY
0x7f5a0fdf0ba5 00000005 [0x7f5a0edf6590] 48 3b 65 50 cmp rsp, qword ptr [rbp+0x50] # CMP8RegMem, SymRef [#670 +80]
0x7f5a0fdf0ba9 00000009 [0x7f5a0edf6750] Label L0145: # LABEL # (Start of internal control flow)
0x7f5a0fdf0ba9 00000009 [0x7f5a0edf6890] 0f 86 51 f4 20 f0 jbe Snippet Label L0144 # JBE4 # (Helper Call Snippet with scratch-reg argument)
0x7f5a0fdf0baf 0000000f [0x7f5a0edf6a50] Label L0146: # LABEL # (End of internal control flow)
0x7f5a0fdf0baf 0000000f [0x7f5a0edf6b40] 48 83 ec 18 sub rsp, 0x00000018 # SUB8RegImms
0x7f5a0fdf0bb3 00000013 [0x7f5a0edf6c70] 48 89 44 24 20 mov qword ptr [rsp+0x20], rax # S8MemReg, SymRef [#671 +32]
0x7f5a0fdf0bb8 00000018 [0x7f5a0edf6460] vfpSave # AdjustFramePtr
0x7f5a0fdf0bb8 00000018 [0x7f5a0ed23750] assocRegs # ASSOCREGS
0x7f5a0fdf0bb8 00000018 [0x7f5a0ed234f0] Label L0032: # LABEL
========================================
0x7f5a0fdf0bb8 00000018 [0x7f5a0ed237e0] Fence Relative [ 00007F5A0EC5DE20 ] # FENCE BBStart <block_8> (frequency 147)
0x7f5a0fdf0bb8 00000018 [0x7f5a0ed23c50] 83 3d 49 b3 29 1c 01 cmp dword ptr [0x00007f5a2c08bf08], 0x00000001 # CMP4MemImms, SymRef <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ]
0x7f5a0fdf0bbf 0000001f [0x7f5a0ed23ff0] assocRegs # ASSOCREGS
0x7f5a0fdf0bbf 0000001f [0x7f5a0ed23d90] 0f 84 3b f4 20 f0 je Label L0016 # JE4
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed242b0] Fence Relative [ 00007F5A0EC5DE24 ] # FENCE BBEnd </block_8>
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed24500] assocRegs # ASSOCREGS
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed248f0] assocRegs # ASSOCREGS
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed24690] Label L0048: # LABEL
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed24f70] assocRegs # ASSOCREGS
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed24d10] Label L0018: # LABEL
========================================
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed25000] Fence Relative [ 00007F5A0EC3C360 ] # FENCE BBStart <block_2> (frequency 9672)
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed25490] 8b 48 0c mov ecx, dword ptr [rax+0xc] # L4RegMem, SymRef java/lang/String.hashCode I[#655 Shadow +12] [flags 0x40080603 0x0 ]
0x7f5a0fdf0bc8 00000028 [0x7f5a0ed25530] 85 c9 test ecx, ecx # TEST4RegReg
0x7f5a0fdf0bca 0000002a [0x7f5a0ed258d0] assocRegs # ASSOCREGS
0x7f5a0fdf0bca 0000002a [0x7f5a0ed25670] 74 34 je Label L0017 # JE1
0x7f5a0fdf0bcc 0000002c [0x7f5a0edf1650] 48 8b c1 mov rax, rcx # MOV8RegReg
0x7f5a0fdf0bcf 0000002f [0x7f5a0ed25bf0] Fence Relative [ 00007F5A0EC3C364 ] # FENCE BBEnd </block_2>
........................................
0x7f5a0fdf0bcf 0000002f [0x7f5a0ed25d20] Fence Relative [ 00007F5A0ED2E590 ] # FENCE BBStart <block_18> (frequency 9545) (extension of previous block)
0x7f5a0fdf0bcf 0000002f [0x7f5a0ed260f0] assocRegs # ASSOCREGS
0x7f5a0fdf0bcf 0000002f [0x7f5a0edf6d10] 48 83 c4 18 add rsp, 0x00000018 # ADD8RegImms
0x7f5a0fdf0bd3 00000033 [0x7f5a0ed25eb0] c3 ret # RET
0x7f5a0fdf0bd4 00000034 [0x7f5a0ed26240] Fence Relative [ 00007F5A0ED2E594 ] # FENCE BBEnd </block_18>
0x7f5a0fdf0bd4 00000034 [0x7f5a0ed26490] assocRegs # ASSOCREGS
0x7f5a0fdf0bd4 00000034 [0x7f5a0ed265b0] Label L0064: # LABEL
0x7f5a0fdf0bd4 00000034 [0x7f5a0ed26c70] assocRegs # ASSOCREGS
0x7f5a0fdf0bd4 00000034 [0x7f5a0ed26a10] Label L0017: # LABEL
0x7f5a0fdf0bd4 00000034 [0x7f5a0edf1580] 48 8b c8 mov rcx, rax # MOV8RegReg
========================================
0x7f5a0fdf0bd7 00000037 [0x7f5a0ed26d00] Fence Relative [ 00007F5A0EC3C5D0 ] # FENCE BBStart <block_3> (frequency 461)
0x7f5a0fdf0bd7 00000037 [0x7f5a0ed271a0] 8b 51 04 mov edx, dword ptr [rcx+0x4] # L4RegMem, SymRef java/lang/String.value [B[#656 final Shadow +4] [flags 0x400a0607 0x0 ]
0x7f5a0fdf0bda 0000003a [0x7f5a0ed27830] 33 ff xor edi, edi # XOR4RegReg
0x7f5a0fdf0bdc 0000003c [0x7f5a0ed27a30] 8b 71 08 mov esi, dword ptr [rcx+0x8] # L4RegMem, SymRef java/lang/String.count I[#657 final Shadow +8] [flags 0x400a0603 0x0 ]
0x7f5a0fdf0bdf 0000003f [0x7f5a0ed280b0] Label L0080: # LABEL # (Start of internal control flow)
0x7f5a0fdf0bdf 0000003f [0x7f5a0ed28160] 4c 8b c6 mov r8, rsi # MOV8RegReg
0x7f5a0fdf0be2 00000042 [0x7f5a0ed28200] 4c 03 c7 add r8, rdi # ADD8RegReg
0x7f5a0fdf0be5 00000045 [0x7f5a0ed282a0] 48 33 c0 xor rax, rax # XOR8RegReg
0x7f5a0fdf0be8 00000048 [0x7f5a0ed28340] 48 81 fe 04 00 00 00 cmp rsi, 0x00000004 # CMP8RegImm4
0x7f5a0fdf0bef 0000004f [0x7f5a0ed283e0] 7c 0f jl Label L0083 # JL1
0x7f5a0fdf0bf1 00000051 [0x7f5a0ed28490] 49 83 e8 03 sub r8, 0x00000003 # SUB8RegImms
0x7f5a0fdf0bf5 00000055 [0x7f5a0ed28680] c5 f8 28 0d 03 f4 20 f0 movaps xmm1, oword ptr [0x0fdf0ce0] # MOVAPSRegMem
0x7f5a0fdf0bfd 0000005d [0x7f5a0ed28720] c5 f8 57 c0 xorps xmm0, xmm0 # XORPSRegReg
0x7f5a0fdf0c01 00000061 [0x7f5a0ed287c0] Label L0082: # LABEL
0x7f5a0fdf0c01 00000061 [0x7f5a0ed28900] c5 fb 10 54 7a 08 movsd xmm2, qword ptr [rdx+2*rdi+0x8] # MOVSDRegMem, SymRef [#659 +8]
0x7f5a0fdf0c07 00000067 [0x7f5a0ed289a0] c4 e2 79 40 c1 pmulld xmm0, xmm1 # PMULLD
0x7f5a0fdf0c0c 0000006c [0x7f5a0ed28a40] c4 e2 79 33 d2 pmovzxwd xmm2, xmm2 # PMOVZXWD
0x7f5a0fdf0c11 00000071 [0x7f5a0ed28ae0] c5 f9 fe c2 paddd xmm0, xmm2 # PADDD
0x7f5a0fdf0c15 00000075 [0x7f5a0ed28b80] 48 83 c7 04 add rdi, 0x00000004 # ADD8RegImms
0x7f5a0fdf0c19 00000079 [0x7f5a0ed28c20] 49 3b f8 cmp rdi, r8 # CMP8RegReg
0x7f5a0fdf0c1c 0000007c [0x7f5a0ed28cc0] 7c e3 jl Label L0082 # JL1
0x7f5a0fdf0c1e 0000007e [0x7f5a0ed28d70] Label L0085: # LABEL
0x7f5a0fdf0c1e 0000007e [0x7f5a0ed28f70] c5 f8 28 0d da f3 20 f0 movaps xmm1, oword ptr [0x0fdf0cd0] # MOVAPSRegMem
0x7f5a0fdf0c26 00000086 [0x7f5a0ed29010] c4 e2 79 40 c1 pmulld xmm0, xmm1 # PMULLD
0x7f5a0fdf0c2b 0000008b [0x7f5a0ed290b0] c5 f9 28 c8 movapd xmm1, xmm0 # MOVAPDRegReg
0x7f5a0fdf0c2f 0000008f [0x7f5a0ed29150] c5 f1 73 d9 08 psrldq xmm1, 0x08 # PSRLDQRegImm1
0x7f5a0fdf0c34 00000094 [0x7f5a0ed291f0] c5 f9 fe c1 paddd xmm0, xmm1 # PADDD
0x7f5a0fdf0c38 00000098 [0x7f5a0ed29290] c5 f9 28 c8 movapd xmm1, xmm0 # MOVAPDRegReg
0x7f5a0fdf0c3c 0000009c [0x7f5a0ed29330] c5 f1 73 d9 04 psrldq xmm1, 0x04 # PSRLDQRegImm1
0x7f5a0fdf0c41 000000a1 [0x7f5a0ed293d0] c5 f9 fe c1 paddd xmm0, xmm1 # PADDD
0x7f5a0fdf0c45 000000a5 [0x7f5a0ed29470] c5 f9 7e c0 movd eax, xmm0 # MOVDReg4Reg
0x7f5a0fdf0c49 000000a9 [0x7f5a0ed29510] 49 83 c0 03 add r8, 0x00000003 # ADD8RegImms
0x7f5a0fdf0c4d 000000ad [0x7f5a0ed295b0] Label L0083: # LABEL
0x7f5a0fdf0c4d 000000ad [0x7f5a0ed29660] 49 3b f8 cmp rdi, r8 # CMP8RegReg
0x7f5a0fdf0c50 000000b0 [0x7f5a0ed29700] 7d ae jge Label L0081 # JGE1
0x7f5a0fdf0c52 000000b2 [0x7f5a0ed297b0] Label L0084: # LABEL
0x7f5a0fdf0c52 000000b2 [0x7f5a0ed29860] 44 8b d0 mov r10d, eax # MOV4RegReg
0x7f5a0fdf0c55 000000b5 [0x7f5a0ed29900] c1 e0 05 shl eax, 0x05 # SHL4RegImm1
0x7f5a0fdf0c58 000000b8 [0x7f5a0ed299a0] 41 2b c2 sub eax, r10d # SUB4RegReg
0x7f5a0fdf0c5b 000000bb [0x7f5a0ed29ad0] 44 0f b7 54 7a 08 movzx r10d, word ptr [rdx+2*rdi+0x8] # MOVZXReg4Mem2, SymRef [#661 +8]
0x7f5a0fdf0c61 000000c1 [0x7f5a0ed29b70] 41 03 c2 add eax, r10d # ADD4RegReg
0x7f5a0fdf0c64 000000c4 [0x7f5a0ed29c10] 48 ff c7 inc rdi # INC8Reg
0x7f5a0fdf0c67 000000c7 [0x7f5a0ed29cb0] 49 3b f8 cmp rdi, r8 # CMP8RegReg
0x7f5a0fdf0c6a 000000ca [0x7f5a0ed29d50] 7c e6 jl Label L0084 # JL1
0x7f5a0fdf0c6c 000000cc [0x7f5a0ed2a120] assocRegs # ASSOCREGS
0x7f5a0fdf0c6c 000000cc [0x7f5a0ed29ec0] Label L0081: # LABEL # (End of internal control flow)
0x7f5a0fdf0c6c 000000cc [0x7f5a0ed2ae50] 89 41 0c mov dword ptr [rcx+0xc], eax # S4MemReg, SymRef java/lang/String.hashCode I[#662 Shadow +12] [flags 0x40080603 0x0 ]
0x7f5a0fdf0c6f 000000cf [0x7f5a0ed2b2c0] assocRegs # ASSOCREGS
0x7f5a0fdf0c6f 000000cf [0x7f5a0edf6db0] 48 83 c4 18 add rsp, 0x00000018 # ADD8RegImms
0x7f5a0fdf0c73 000000d3 [0x7f5a0ed2b080] c3 ret # RET
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2b410] Fence Relative [ 00007F5A0EC3C5D4 ] # FENCE BBEnd </block_3>
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2b660] assocRegs # ASSOCREGS
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2b780] Label L0096: # LABEL
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2bdc0] assocRegs # ASSOCREGS
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2bb60] Label L0016: # LABEL
========================================
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2be50] Fence Relative [ 00007F5A0EC5E000 ] # FENCE BBStart <block_9> (frequency 0) (cold)
0x7f5a0fdf0c74 000000d4 [0x7f5a0edec360] 8b 0d 46 30 08 10 mov ecx, dword ptr [0x00007f5a1fe73cc0] # L4RegMem, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
0x7f5a0fdf0c7a 000000da [0x7f5a0edec400] 83 e9 01 sub ecx, 0x00000001 # SUB4RegImms
0x7f5a0fdf0c7d 000000dd [0x7f5a0edec5c0] 89 0d 3d 30 08 10 mov dword ptr [0x00007f5a1fe73cc0], ecx # S4MemReg, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
0x7f5a0fdf0c83 000000e3 [0x7f5a0edec920] 83 f9 00 cmp ecx, 0x00000000 # CMP4RegImms
0x7f5a0fdf0c86 000000e6 [0x7f5a0edeccc0] assocRegs # ASSOCREGS
0x7f5a0fdf0c86 000000e6 [0x7f5a0edeca60] 0f 8f 39 ff ff ff jg Label L0018 # JG4
0x7f5a0fdf0c8c 000000ec [0x7f5a0edf1460] 48 8b c8 mov rcx, rax # MOV8RegReg
0x7f5a0fdf0c8f 000000ef [0x7f5a0edecea0] Fence Relative [ 00007F5A0EC5E004 ] # FENCE BBEnd </block_9>
........................................
0x7f5a0fdf0c8f 000000ef [0x7f5a0edecfd0] Fence Relative [ 00007F5A0EC5E200 ] # FENCE BBStart <block_10> (frequency 0) (extension of previous block) (cold)
0x7f5a0fdf0c8f 000000ef [0x7f5a0eded280] c7 05 27 30 08 10 ff ff ff 7f mov dword ptr [0x00007f5a1fe73cc0], 0x7fffffff # S4MemImm4, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
0x7f5a0fdf0c99 000000f9 [0x7f5a0eded530] c6 05 1e ff ff ff 02 mov byte ptr [0x00007f5a0fdf0bbe], 0x02 # S1MemImm1, SymRef <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ]
0x7f5a0fdf0ca0 00000100 [0x7f5a0edee420] 48 8d 04 25 a0 45 6c 01 lea rax, qword ptr [0x00000000016c45a0] # LEA8RegMem, SymRef <J9Method>[#588 Static] [flags 0x8000307 0x40 ]
0x7f5a0fdf0ca8 00000108 [0x7f5a0edee5e0] 48 8d 35 f1 fe ff ff lea rsi, qword ptr [0x00007f5a0fdf0ba0] # LEA8RegMem, SymRef <start-PC>[#587 Static] [flags 0x4000303 0x40 ]
0x7f5a0fdf0caf 0000010f [0x7f5a0edee880] Label L0112: # LABEL # (Start of internal control flow)
0x7f5a0fdf0caf 0000010f [0x7f5a0edee740] e8 9c 86 98 20 call jitRetranslateCallerWithPreparation# CALLImm4 (00007F5A30779350)# CALLImm4
0x7f5a0fdf0cb4 00000114 [0x7f5a0edeeb90] assocRegs # ASSOCREGS
0x7f5a0fdf0cb4 00000114 [0x7f5a0edee930] Label L0113: # LABEL # (End of internal control flow)
0x7f5a0fdf0cb4 00000114 [0x7f5a0edf1350] 48 8b c1 mov rax, rcx # MOV8RegReg
0x7f5a0fdf0cb7 00000117 [0x7f5a0edef2f0] assocRegs # ASSOCREGS
0x7f5a0fdf0cb7 00000117 [0x7f5a0edef090] e9 09 ff ff ff jmp Label L0018 # JMP4
0x7f5a0fdf0cbc 0000011c [0x7f5a0edef470] Fence Relative [ 00007F5A0EC5E204 ] # FENCE BBEnd </block_10>
0x7f5a0fdf0cbc 0000011c [0x7f5a0edef6c0] assocRegs # ASSOCREGS
0x7f5a0fdf0cbc 0000011c [0x7f5a0edef7e0] Label L0128: # LABEL
</instructions>
<snippets>
00007F5A0FDF0CBC 0000011c Snippet Label L0144: # Helper Call Snippet with scratch-reg argument (jitStackOverflow)
0x7f5a0fdf0cbc 0000011c bf 18 00 00 00 mov edi, 0000000000000018 # Load argument into scratch reg
0x7f5a0fdf0cc1 00000121 e8 9a 43 98 20 call jitStackOverflow # Helper Address = 00007F5A30775060
0x7f5a0fdf0cc6 00000126 e9 e4 fe ff ff jmp Label L0146</snippets>
<atlas>
Internal stack atlas:
numberOfMaps=2
numberOfSlotsMapped=1
numberOfParmSlots=1
parmBaseOffset=8
localBaseOffset=0
Locals information :
Local [0x7f5a0ebf3350] (GC map index : 0, Offset : 8, Size : 8) is an uninitialized collected parm
No internal pointers in this method
Map number : 1
Code offset range starts at [00000125]
GC stack map information :
number of stack slots mapped = 1
live stack slots containing addresses --> {}
GC register map information :
slot pushes: 0 registers: {eax }
Map number : 2
Code offset range starts at [0000010f]
GC stack map information :
number of stack slots mapped = 1
live stack slots containing addresses --> {0}
GC register map information :
slot pushes: 0 registers: {ecx }
</atlas>
</codegen>
<metadata>
J9JITExceptionTable [00007F5A0DED25F8]
CP=[00000000016C4F80], slots=[0000000000000001], NumExcpRanges=[0000000000000000], size=[0000000000000128]
startPC= [00007F5A0FDF0BA0]
endWarmPC= [00007F5A0FDF0CF0]
startColdPC= [0000000000000000]
endPC= [00007F5A0FDF0CF0]
hotness= [2]
scalarTempSlots=0, objectTempSlots=0
prologuePushes=0, tempOffset=0
registerSaveDescription=[0000000000000000]
totalFrameSize=3 { Real Frame Size: 32 }
bodyInfo= [00007F5A1FE73CC0]
Stack Atlas:
numberOfSlotsMapped=1
numberOfMaps=2
numberOfMapBytes=1
parmBaseOffset=8
numberOfParmSlots=1
localBaseOffset=0
syncObjectTempOffset=-1
Offset info:
Parm: GC Map Index: 0, Offset: 32 (0x20)
stackmap location: 00007F5A0DED2702
map range: starting at [00007F5A0FDF0CAF]
lowOffset: 0000010F
byteCodeInfo: <_callerIndex=-1, byteCodeIndex=0>, _isSameReceiver=0, _doNotProfile=0
registerSaveDescription: starting at [0DED2708] { 00000000 }
registers: 00000004 { 2:ecx }
stack map: 1 { 32 }
stackmap location: 00007F5A0DED2711
map range: starting at [00007F5A0FDF0CC5]
lowOffset: 00000125
byteCodeInfo: <_callerIndex=-1, byteCodeIndex=0>, _isSameReceiver=0, _doNotProfile=0
registerSaveDescription: starting at [0DED2717] { 00000000 }
registers: 00000001 { 0:eax }
stack map: 0 { }
Method liveMonitor mask: 0 { }
Inlined call site array:
Owning method: 00000000016C4740
ByteCodeInfo: <_callerIndex=-1, byteCodeIndex=46>, _isSameReceiver=1, _doNotProfile=0
liveMonitor mask: 0 { }
</metadata>
<instructions
title="Mixed Mode Disassembly"
method="java/lang/String.hashCode()I">
\\ java/lang/String.hashCode()I
\\ 0 JBaload0getfield
0x7f5a0fdf0b70 ffffffd0 [0x7f5a0ed22230] Label L0019: # LABEL
0x7f5a0fdf0b70 ffffffd0 [0x7f5a0ed223b0] 48 bf a0 45 6c 01 00 00 00 00 mov rdi, 0x00000000016c45a0 # MOV8RegImm64
0x7f5a0fdf0b7a ffffffda [0x7f5a0ed22730] 48 89 44 24 08 mov qword ptr [rsp+0x8], rax # S8MemReg, SymRef [#653 +8]
0x7f5a0fdf0b7f ffffffdf [0x7f5a0ed22a30] assocRegs # ASSOCREGS
0x7f5a0fdf0b7f ffffffdf [0x7f5a0ed227d0] e9 cc ca 98 20 jmp icallVMprJavaSendStatic1# JMP4 (00007F5A3077D650)# JMP4
0x7f5a0fdf0b84 ffffffe4 [0x7f5a0ed22ac0] 0f 1f 80 00 00 00 00 nop (7 bytes) # Alignment (boundary=8, margin=21)
0x7f5a0fdf0b8b ffffffeb [0x7f5a0ed22b60] eb e3 jmp Label L0019 # JMP1
0x7f5a0fdf0b8d ffffffed [0x7f5a0ed22c10] 48 3b .short 0xcccc # DWImm2
0x7f5a0fdf0b8f ffffffef [0x7f5a0ed22d40] e8 5c 48 44 20 call __samplingRecompileMethod# CALLImm4 (00007F5A302353F0)# CALLImm4
0x7f5a0fdf0b94 fffffff4 [0x7f5a0ed22df0] c0 3c e7 1f 5a 7f 00 00 .quad 0x00007f5a1fe73cc0 # DQImm64
0x7f5a0fdf0b9c fffffffc [0x7f5a0ed22e90] 11 00 05 00 .int 0x00050011 # DDImm4
0x7f5a0fdf0ba0 00000000 [0x7f5a0ed231b0] assocRegs # ASSOCREGS
0x7f5a0fdf0ba0 00000000 [0x7f5a0edf6310] 48 8b 44 24 08 mov rax, qword ptr [rsp+0x8] # L8RegMem, SymRef [#669 +8]
0x7f5a0fdf0ba5 00000005 [0x7f5a0edf63b0] nop (0 bytes) # Align patchable code @32 [0x0:2]
0x7f5a0fdf0ba5 00000005 [0x7f5a0ed22f70] ProcEntry # PROCENTRY
0x7f5a0fdf0ba5 00000005 [0x7f5a0edf6590] 48 3b 65 50 cmp rsp, qword ptr [rbp+0x50] # CMP8RegMem, SymRef [#670 +80]
0x7f5a0fdf0ba9 00000009 [0x7f5a0edf6750] Label L0145: # LABEL # (Start of internal control flow)
0x7f5a0fdf0ba9 00000009 [0x7f5a0edf6890] 0f 86 0d 01 00 00 jbe Snippet Label L0144 # JBE4 # (Helper Call Snippet with scratch-reg argument)
0x7f5a0fdf0baf 0000000f [0x7f5a0edf6a50] Label L0146: # LABEL # (End of internal control flow)
0x7f5a0fdf0baf 0000000f [0x7f5a0edf6b40] 48 83 ec 18 sub rsp, 0x00000018 # SUB8RegImms
0x7f5a0fdf0bb3 00000013 [0x7f5a0edf6c70] 48 89 44 24 20 mov qword ptr [rsp+0x20], rax # S8MemReg, SymRef [#671 +32]
0x7f5a0fdf0bb8 00000018 [0x7f5a0edf6460] vfpSave # AdjustFramePtr
0x7f5a0fdf0bb8 00000018 [0x7f5a0ed23750] assocRegs # ASSOCREGS
0x7f5a0fdf0bb8 00000018 [0x7f5a0ed234f0] Label L0032: # LABEL
========================================
0x7f5a0fdf0bb8 00000018 [0x7f5a0ed237e0] Fence Relative [ 00007F5A0EC5DE20 ] # FENCE BBStart <block_8> (frequency 147)
0x7f5a0fdf0bb8 00000018 [0x7f5a0ed23c50] 83 3d 49 b3 29 1c 01 cmp dword ptr [0x00007f5a2c08bf08], 0x00000001 # CMP4MemImms, SymRef <count-for-recompile>[#584 Static] [flags 0x2000303 0x40 ]
0x7f5a0fdf0bbf 0000001f [0x7f5a0ed23ff0] assocRegs # ASSOCREGS
0x7f5a0fdf0bbf 0000001f [0x7f5a0ed23d90] 0f 84 af 00 00 00 je Label L0016 # JE4
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed242b0] Fence Relative [ 00007F5A0EC5DE24 ] # FENCE BBEnd </block_8>
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed24500] assocRegs # ASSOCREGS
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed248f0] assocRegs # ASSOCREGS
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed24690] Label L0048: # LABEL
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed24f70] assocRegs # ASSOCREGS
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed24d10] Label L0018: # LABEL
========================================
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed25000] Fence Relative [ 00007F5A0EC3C360 ] # FENCE BBStart <block_2> (frequency 9672)
\\ java/lang/String.hashCode()I
\\ 1 JBgetfield 81 java/lang/String.hashCode I
0x7f5a0fdf0bc5 00000025 [0x7f5a0ed25490] 8b 48 0c mov ecx, dword ptr [rax+0xc] # L4RegMem, SymRef java/lang/String.hashCode I[#655 Shadow +12] [flags 0x40080603 0x0 ]
\\ java/lang/String.hashCode()I
\\ 4 JBifne 55
0x7f5a0fdf0bc8 00000028 [0x7f5a0ed25530] 85 c9 test ecx, ecx # TEST4RegReg
0x7f5a0fdf0bca 0000002a [0x7f5a0ed258d0] assocRegs # ASSOCREGS
0x7f5a0fdf0bca 0000002a [0x7f5a0ed25670] 74 08 je Label L0017 # JE1
0x7f5a0fdf0bcc 0000002c [0x7f5a0edf1650] 48 8b c1 mov rax, rcx # MOV8RegReg
0x7f5a0fdf0bcf 0000002f [0x7f5a0ed25bf0] Fence Relative [ 00007F5A0EC3C364 ] # FENCE BBEnd </block_2>
........................................
0x7f5a0fdf0bcf 0000002f [0x7f5a0ed25d20] Fence Relative [ 00007F5A0ED2E590 ] # FENCE BBStart <block_18> (frequency 9545) (extension of previous block)
0x7f5a0fdf0bcf 0000002f [0x7f5a0ed260f0] assocRegs # ASSOCREGS
\\ java/lang/String.hashCode()I
\\ 55 JBaload0getfield
0x7f5a0fdf0bcf 0000002f [0x7f5a0edf6d10] 48 83 c4 18 add rsp, 0x00000018 # ADD8RegImms
\\ java/lang/String.hashCode()I
\\ 59 JBreturn1
0x7f5a0fdf0bd3 00000033 [0x7f5a0ed25eb0] c3 ret # RET
0x7f5a0fdf0bd4 00000034 [0x7f5a0ed26240] Fence Relative [ 00007F5A0ED2E594 ] # FENCE BBEnd </block_18>
0x7f5a0fdf0bd4 00000034 [0x7f5a0ed26490] assocRegs # ASSOCREGS
0x7f5a0fdf0bd4 00000034 [0x7f5a0ed265b0] Label L0064: # LABEL
0x7f5a0fdf0bd4 00000034 [0x7f5a0ed26c70] assocRegs # ASSOCREGS
0x7f5a0fdf0bd4 00000034 [0x7f5a0ed26a10] Label L0017: # LABEL
\\ java/lang/String.hashCode()I
\\ 55 JBaload0getfield
0x7f5a0fdf0bd4 00000034 [0x7f5a0edf1580] 48 8b c8 mov rcx, rax # MOV8RegReg
========================================
0x7f5a0fdf0bd7 00000037 [0x7f5a0ed26d00] Fence Relative [ 00007F5A0EC3C5D0 ] # FENCE BBStart <block_3> (frequency 461)
\\ java/lang/String.hashCode()I
\\ 41 JBgetfield 43 java/lang/String.value [B
0x7f5a0fdf0bd7 00000037 [0x7f5a0ed271a0] 8b 51 04 mov edx, dword ptr [rcx+0x4] # L4RegMem, SymRef java/lang/String.value [B[#656 final Shadow +4] [flags 0x400a0607 0x0 ]
\\ java/lang/String.hashCode()I
\\ 44 JBiconst0
0x7f5a0fdf0bda 0000003a [0x7f5a0ed27830] 33 ff xor edi, edi # XOR4RegReg
\\ java/lang/String.hashCode()I
\\ 46 JBinvokevirtual 42 java/lang/String.lengthInternal()I
\\ 27 JBgetfield 40 java/lang/String.count I
0x7f5a0fdf0bdc 0000003c [0x7f5a0ed27a30] 8b 71 08 mov esi, dword ptr [rcx+0x8] # L4RegMem, SymRef java/lang/String.count I[#657 final Shadow +8] [flags 0x400a0603 0x0 ]
0x7f5a0fdf0bdf 0000003f [0x7f5a0ed280b0] Label L0080: # LABEL # (Start of internal control flow)
\\ java/lang/String.hashCode()I
\\ 49 JBinvokestatic 115 java/lang/String.hashCodeImplDecompressed([BII)I
0x7f5a0fdf0bdf 0000003f [0x7f5a0ed28160] 4c 8b c6 mov r8, rsi # MOV8RegReg
0x7f5a0fdf0be2 00000042 [0x7f5a0ed28200] 4c 03 c7 add r8, rdi # ADD8RegReg
0x7f5a0fdf0be5 00000045 [0x7f5a0ed282a0] 48 33 c0 xor rax, rax # XOR8RegReg
0x7f5a0fdf0be8 00000048 [0x7f5a0ed28340] 48 81 fe 04 00 00 00 cmp rsi, 0x00000004 # CMP8RegImm4
0x7f5a0fdf0bef 0000004f [0x7f5a0ed283e0] 7c 5c jl Label L0083 # JL1
0x7f5a0fdf0bf1 00000051 [0x7f5a0ed28490] 49 83 e8 03 sub r8, 0x00000003 # SUB8RegImms
0x7f5a0fdf0bf5 00000055 [0x7f5a0ed28680] c5 f8 28 0d e3 00 00 00 movaps xmm1, oword ptr [0x0fdf0ce0] # MOVAPSRegMem
0x7f5a0fdf0bfd 0000005d [0x7f5a0ed28720] c5 f8 57 c0 xorps xmm0, xmm0 # XORPSRegReg
0x7f5a0fdf0c01 00000061 [0x7f5a0ed287c0] Label L0082: # LABEL
0x7f5a0fdf0c01 00000061 [0x7f5a0ed28900] c5 fb 10 54 7a 08 movsd xmm2, qword ptr [rdx+2*rdi+0x8] # MOVSDRegMem, SymRef [#659 +8]
0x7f5a0fdf0c07 00000067 [0x7f5a0ed289a0] c4 e2 79 40 c1 pmulld xmm0, xmm1 # PMULLD
0x7f5a0fdf0c0c 0000006c [0x7f5a0ed28a40] c4 e2 79 33 d2 pmovzxwd xmm2, xmm2 # PMOVZXWD
0x7f5a0fdf0c11 00000071 [0x7f5a0ed28ae0] c5 f9 fe c2 paddd xmm0, xmm2 # PADDD
0x7f5a0fdf0c15 00000075 [0x7f5a0ed28b80] 48 83 c7 04 add rdi, 0x00000004 # ADD8RegImms
0x7f5a0fdf0c19 00000079 [0x7f5a0ed28c20] 49 3b f8 cmp rdi, r8 # CMP8RegReg
0x7f5a0fdf0c1c 0000007c [0x7f5a0ed28cc0] 7c e3 jl Label L0082 # JL1
0x7f5a0fdf0c1e 0000007e [0x7f5a0ed28d70] Label L0085: # LABEL
0x7f5a0fdf0c1e 0000007e [0x7f5a0ed28f70] c5 f8 28 0d aa 00 00 00 movaps xmm1, oword ptr [0x0fdf0cd0] # MOVAPSRegMem
0x7f5a0fdf0c26 00000086 [0x7f5a0ed29010] c4 e2 79 40 c1 pmulld xmm0, xmm1 # PMULLD
0x7f5a0fdf0c2b 0000008b [0x7f5a0ed290b0] c5 f9 28 c8 movapd xmm1, xmm0 # MOVAPDRegReg
0x7f5a0fdf0c2f 0000008f [0x7f5a0ed29150] c5 f1 73 d9 08 psrldq xmm1, 0x08 # PSRLDQRegImm1
0x7f5a0fdf0c34 00000094 [0x7f5a0ed291f0] c5 f9 fe c1 paddd xmm0, xmm1 # PADDD
0x7f5a0fdf0c38 00000098 [0x7f5a0ed29290] c5 f9 28 c8 movapd xmm1, xmm0 # MOVAPDRegReg
0x7f5a0fdf0c3c 0000009c [0x7f5a0ed29330] c5 f1 73 d9 04 psrldq xmm1, 0x04 # PSRLDQRegImm1
0x7f5a0fdf0c41 000000a1 [0x7f5a0ed293d0] c5 f9 fe c1 paddd xmm0, xmm1 # PADDD
0x7f5a0fdf0c45 000000a5 [0x7f5a0ed29470] c5 f9 7e c0 movd eax, xmm0 # MOVDReg4Reg
0x7f5a0fdf0c49 000000a9 [0x7f5a0ed29510] 49 83 c0 03 add r8, 0x00000003 # ADD8RegImms
0x7f5a0fdf0c4d 000000ad [0x7f5a0ed295b0] Label L0083: # LABEL
0x7f5a0fdf0c4d 000000ad [0x7f5a0ed29660] 49 3b f8 cmp rdi, r8 # CMP8RegReg
0x7f5a0fdf0c50 000000b0 [0x7f5a0ed29700] 7d 1a jge Label L0081 # JGE1
0x7f5a0fdf0c52 000000b2 [0x7f5a0ed297b0] Label L0084: # LABEL
0x7f5a0fdf0c52 000000b2 [0x7f5a0ed29860] 44 8b d0 mov r10d, eax # MOV4RegReg
0x7f5a0fdf0c55 000000b5 [0x7f5a0ed29900] c1 e0 05 shl eax, 0x05 # SHL4RegImm1
0x7f5a0fdf0c58 000000b8 [0x7f5a0ed299a0] 41 2b c2 sub eax, r10d # SUB4RegReg
0x7f5a0fdf0c5b 000000bb [0x7f5a0ed29ad0] 44 0f b7 54 7a 08 movzx r10d, word ptr [rdx+2*rdi+0x8] # MOVZXReg4Mem2, SymRef [#661 +8]
0x7f5a0fdf0c61 000000c1 [0x7f5a0ed29b70] 41 03 c2 add eax, r10d # ADD4RegReg
0x7f5a0fdf0c64 000000c4 [0x7f5a0ed29c10] 48 ff c7 inc rdi # INC8Reg
0x7f5a0fdf0c67 000000c7 [0x7f5a0ed29cb0] 49 3b f8 cmp rdi, r8 # CMP8RegReg
0x7f5a0fdf0c6a 000000ca [0x7f5a0ed29d50] 7c e6 jl Label L0084 # JL1
0x7f5a0fdf0c6c 000000cc [0x7f5a0ed2a120] assocRegs # ASSOCREGS
0x7f5a0fdf0c6c 000000cc [0x7f5a0ed29ec0] Label L0081: # LABEL # (End of internal control flow)
\\ java/lang/String.hashCode()I
\\ 52 JBputfield 81 java/lang/String.hashCode I
0x7f5a0fdf0c6c 000000cc [0x7f5a0ed2ae50] 89 41 0c mov dword ptr [rcx+0xc], eax # S4MemReg, SymRef java/lang/String.hashCode I[#662 Shadow +12] [flags 0x40080603 0x0 ]
0x7f5a0fdf0c6f 000000cf [0x7f5a0ed2b2c0] assocRegs # ASSOCREGS
0x7f5a0fdf0c6f 000000cf [0x7f5a0edf6db0] 48 83 c4 18 add rsp, 0x00000018 # ADD8RegImms
\\ java/lang/String.hashCode()I
\\ 59 JBreturn1
0x7f5a0fdf0c73 000000d3 [0x7f5a0ed2b080] c3 ret # RET
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2b410] Fence Relative [ 00007F5A0EC3C5D4 ] # FENCE BBEnd </block_3>
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2b660] assocRegs # ASSOCREGS
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2b780] Label L0096: # LABEL
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2bdc0] assocRegs # ASSOCREGS
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2bb60] Label L0016: # LABEL
========================================
0x7f5a0fdf0c74 000000d4 [0x7f5a0ed2be50] Fence Relative [ 00007F5A0EC5E000 ] # FENCE BBStart <block_9> (frequency 0) (cold)
\\ java/lang/String.hashCode()I
\\ 0 JBaload0getfield
0x7f5a0fdf0c74 000000d4 [0x7f5a0edec360] 8b 0d 46 30 08 10 mov ecx, dword ptr [0x00007f5a1fe73cc0] # L4RegMem, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
0x7f5a0fdf0c7a 000000da [0x7f5a0edec400] 83 e9 01 sub ecx, 0x00000001 # SUB4RegImms
0x7f5a0fdf0c7d 000000dd [0x7f5a0edec5c0] 89 0d 3d 30 08 10 mov dword ptr [0x00007f5a1fe73cc0], ecx # S4MemReg, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
0x7f5a0fdf0c83 000000e3 [0x7f5a0edec920] 83 f9 00 cmp ecx, 0x00000000 # CMP4RegImms
0x7f5a0fdf0c86 000000e6 [0x7f5a0edeccc0] assocRegs # ASSOCREGS
0x7f5a0fdf0c86 000000e6 [0x7f5a0edeca60] 0f 8f 39 ff ff ff jg Label L0018 # JG4
0x7f5a0fdf0c8c 000000ec [0x7f5a0edf1460] 48 8b c8 mov rcx, rax # MOV8RegReg
0x7f5a0fdf0c8f 000000ef [0x7f5a0edecea0] Fence Relative [ 00007F5A0EC5E004 ] # FENCE BBEnd </block_9>
........................................
0x7f5a0fdf0c8f 000000ef [0x7f5a0edecfd0] Fence Relative [ 00007F5A0EC5E200 ] # FENCE BBStart <block_10> (frequency 0) (extension of previous block) (cold)
0x7f5a0fdf0c8f 000000ef [0x7f5a0eded280] c7 05 27 30 08 10 ff ff ff 7f mov dword ptr [0x00007f5a1fe73cc0], 0x7fffffff # S4MemImm4, SymRef <recompilation-counter>[#568 Static] [flags 0x1000303 0x40 ]
0x7f5a0fdf0c99 000000f9 [0x7f5a0eded530] c6 05 1e ff ff ff 02 mov byte ptr [0x00007f5a0fdf0bbe], 0x02 # S1MemImm1, SymRef <gcr-patch-point>[#585 Static] [flags 0x400301 0x40 ]
0x7f5a0fdf0ca0 00000100 [0x7f5a0edee420] 48 8d 04 25 a0 45 6c 01 lea rax, qword ptr [0x00000000016c45a0] # LEA8RegMem, SymRef <J9Method>[#588 Static] [flags 0x8000307 0x40 ]
0x7f5a0fdf0ca8 00000108 [0x7f5a0edee5e0] 48 8d 35 f1 fe ff ff lea rsi, qword ptr [0x00007f5a0fdf0ba0] # LEA8RegMem, SymRef <start-PC>[#587 Static] [flags 0x4000303 0x40 ]
0x7f5a0fdf0caf 0000010f [0x7f5a0edee880] Label L0112: # LABEL # (Start of internal control flow)
0x7f5a0fdf0caf 0000010f [0x7f5a0edee740] e8 9c 86 98 20 call jitRetranslateCallerWithPreparation# CALLImm4 (00007F5A30779350)# CALLImm4
0x7f5a0fdf0cb4 00000114 [0x7f5a0edeeb90] assocRegs # ASSOCREGS
0x7f5a0fdf0cb4 00000114 [0x7f5a0edee930] Label L0113: # LABEL # (End of internal control flow)
0x7f5a0fdf0cb4 00000114 [0x7f5a0edf1350] 48 8b c1 mov rax, rcx # MOV8RegReg
0x7f5a0fdf0cb7 00000117 [0x7f5a0edef2f0] assocRegs # ASSOCREGS
0x7f5a0fdf0cb7 00000117 [0x7f5a0edef090] e9 09 ff ff ff jmp Label L0018 # JMP4
0x7f5a0fdf0cbc 0000011c [0x7f5a0edef470] Fence Relative [ 00007F5A0EC5E204 ] # FENCE BBEnd </block_10>
0x7f5a0fdf0cbc 0000011c [0x7f5a0edef6c0] assocRegs # ASSOCREGS
0x7f5a0fdf0cbc 0000011c [0x7f5a0edef7e0] Label L0128: # LABEL
</instructions>
<snippets>
00007F5A0FDF0CBC 0000011c Snippet Label L0144: # Helper Call Snippet with scratch-reg argument (jitStackOverflow)
0x7f5a0fdf0cbc 0000011c bf 18 00 00 00 mov edi, 0000000000000018 # Load argument into scratch reg
0x7f5a0fdf0cc1 00000121 e8 9a 43 98 20 call jitStackOverflow # Helper Address = 00007F5A30775060
0x7f5a0fdf0cc6 00000126 e9 e4 fe ff ff jmp Label L0146</snippets>
</compile>
</jitlog>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment