--- CFG --- 12 BBs B1: # out( B2 ) <- in( B3 B5 B7 B9 B11 B12 ) Freq: 1 1 Root === 1 2 20 33 43 53 71 [[ 1 12 19 14 30 42 52 63 ]] inner B2: # out( B3 B4 ) <- in( B1 ) Freq: 1 12 Start === 12 1 [[ 12 11 15 16 17 18 31 32 0 57 47 37 24 7 6 ]] #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address, 5:Reduced$Int *, 6:Reduced$Int *} !jvms: Reduced::foo @ bci:4 (line 7) 11 MachProj === 12 [[ 9 ]] #0/unmatched !jvms: Reduced::foo @ bci:-1 (line 7) 15 MachProj === 12 [[ 13 4 28 22 35 45 62 55 64 70 73 74 ]] #2/unmatched Memory: @BotPTR *+bot, idx=Bot; !jvms: Reduced::foo @ bci:-1 (line 7) 16 MachProj === 12 [[ 4 22 35 45 55 71 ]] #1/unmatched !jvms: Reduced::foo @ bci:-1 (line 7) 17 MachProj === 12 [[ 4 2 22 20 35 33 45 43 55 53 71 ]] #3 !jvms: Reduced::foo @ bci:-1 (line 7) 18 MachProj === 12 [[ 4 22 35 45 55 71 ]] #4 !jvms: Reduced::foo @ bci:-1 (line 7) 31 MachProj === 12 [[ 22 40 64 ]] #5 Oop:Reduced$Int * !jvms: Reduced::foo @ bci:-1 (line 7) 32 MachProj === 12 [[ 22 50 70 ]] #6 Oop:Reduced$Int * !jvms: Reduced::foo @ bci:-1 (line 7) 10 testN_reg === _ 13 [[ 9 ]] narrowoop: NULL 13 loadN === _ 15 14 [[ 10 28 22 62 ]] narrowoop: narrowoop: Reduced$Int *[int:>=0] * !jvms: Reduced::foo @ bci:0 (line 7) 14 loadConP === 1 [[ 13 ]] java/lang/Class:exact * Oop:java/lang/Class:exact * 0 Con === 12 [[]] #top 9 jmpCon === 11 10 [[ 8 29 ]] P=0.999999, C=-1.000000 !jvms: Reduced::foo @ bci:4 (line 7) 8 IfFalse === 9 [[ 79 ]] #0 !jvms: Reduced::foo @ bci:4 (line 7) 29 IfTrue === 9 [[ 81 ]] #1 !jvms: Reduced::foo @ bci:4 (line 7) B4: # out( B5 B6 ) <- in( B2 ) Freq: 0.999999 81 Region === 81 29 [[ 81 26 28 ]] 27 testU_reg === _ 28 [[ 26 ]] #0/0x00000000 28 loadRange === 81 15 13 [[ 27 ]] #12/0x000000000000000c 26 jmpConU === 81 27 [[ 25 41 ]] P=0.000001, C=-1.000000 25 IfTrue === 26 [[ 80 ]] #1 !jvms: Reduced::foo @ bci:4 (line 7) 41 IfFalse === 26 [[ 83 ]] #0 !jvms: Reduced::foo @ bci:4 (line 7) B6: # out( B7 B8 ) <- in( B4 ) Freq: 0.999998 83 Region === 83 41 [[ 83 39 62 ]] 40 testP_reg === _ 31 [[ 39 ]] NULL 39 jmpCon === 83 40 [[ 38 51 ]] P=0.999999, C=-1.000000 !jvms: Reduced::foo @ bci:6 (line 7) 38 IfFalse === 39 [[ 82 ]] #0 !jvms: Reduced::foo @ bci:6 (line 7) 51 IfTrue === 39 [[ 85 ]] #1 !jvms: Reduced::foo @ bci:6 (line 7) B8: # out( B9 B10 ) <- in( B6 ) Freq: 0.999997 85 Region === 85 51 [[ 85 49 64 ]] 50 testP_reg === _ 32 [[ 49 ]] NULL 49 jmpCon === 85 50 [[ 48 61 ]] P=0.999999, C=-1.000000 !jvms: Reduced::foo @ bci:10 (line 7) 48 IfFalse === 49 [[ 84 ]] #0 !jvms: Reduced::foo @ bci:10 (line 7) 61 IfTrue === 49 [[ 87 ]] #1 !jvms: Reduced::foo @ bci:10 (line 7) B10: # out( B11 B12 ) <- in( B8 ) Freq: 0.999996 87 Region === 87 61 [[ 87 59 70 ]] 60 testN_reg === _ 62 [[ 59 ]] narrowoop: NULL 62 loadN === 83 15 13 [[ 60 74 ]] narrowoop: Reduced$Int * !jvms: Reduced::foo @ bci:4 (line 7) 59 jmpCon === 87 60 [[ 58 72 ]] P=0.999999, C=-1.000000 !jvms: Reduced::foo @ bci:17 (line 7) 58 IfFalse === 59 [[ 86 ]] #0 !jvms: Reduced::foo @ bci:17 (line 7) 72 IfTrue === 59 [[ 88 ]] #1 !jvms: Reduced::foo @ bci:17 (line 7) B12: # out( B1 ) <- in( B10 ) Freq: 0.999995 88 Region === 88 72 [[ 88 71 74 ]] 73 MergeMem === _ 0 15 0 0 0 0 74 [[ 71 ]] { - - - - N74:Reduced$Int+12 * } Memory: @BotPTR *+bot, idx=Bot; !jvms: Reduced::foo @ bci:-1 (line 7) 74 storeImmI0 === 88 15 62 [[ 73 ]] memory Memory: @Reduced$Int+12 *, name=val, idx=7; !jvms: Reduced::foo @ bci:26 (line 8) 71 Ret === 88 16 73 17 18 [[ 1 ]] B11: # out( B1 ) <- in( B10 ) Freq: 1.01327e-06 86 Region === 86 58 [[ 86 55 ]] 54 MachProj === 55 [[ 53 ]] #0/unmatched !jvms: Reduced::foo @ bci:17 (line 7) 55 CallStaticJavaDirect === 86 16 15 17 18 63 0 0 57 64 [[ 56 54 ]] Static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile' debug_id='0') # void ( int ) C=0.000100 Reduced::foo @ bci:17 (line 7) reexecute !jvms: Reduced::foo @ bci:17 (line 7) 56 MachProj === 55 [[]] #10005/fat 63 loadConI === 1 [[ 55 ]] #-10/0xfffffff6 64 addI_rReg_mem === 85 15 65 31 [[ 69 55 ]] #12/0x000000000000000c !jvms: Reduced::foo @ bci:16 (line 7) 69 MachProj === 64 [[]] #1 65 subI_rReg === _ 66 70 [[ 68 64 ]] 68 MachProj === 65 [[]] #1 66 salI_rReg_imm === _ 70 [[ 67 65 ]] #5/0x00000005 67 MachProj === 66 [[]] #1 70 loadI === 87 15 32 [[ 66 65 ]] #12/0x000000000000000c !jvms: Reduced::foo @ bci:10 (line 7) 57 ConP === 12 [[ 55 ]] #NULL 53 ShouldNotReachHere === 54 0 0 17 0 [[ 1 ]] !jvms: Reduced::foo @ bci:17 (line 7) B9: # out( B1 ) <- in( B8 ) Freq: 1.01328e-06 84 Region === 84 48 [[ 84 45 ]] 44 MachProj === 45 [[ 43 ]] #0/unmatched !jvms: Reduced::foo @ bci:10 (line 7) 45 CallStaticJavaDirect === 84 16 15 17 18 52 0 0 0 0 47 [[ 46 44 ]] Static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile' debug_id='0') # void ( int ) C=0.000100 Reduced::foo @ bci:10 (line 7) reexecute !jvms: Reduced::foo @ bci:10 (line 7) 46 MachProj === 45 [[]] #10005/fat 52 loadConI === 1 [[ 45 ]] #-10/0xfffffff6 47 ConP === 12 [[ 45 ]] #NULL 43 ShouldNotReachHere === 44 0 0 17 0 [[ 1 ]] !jvms: Reduced::foo @ bci:10 (line 7) B7: # out( B1 ) <- in( B6 ) Freq: 1.01328e-06 82 Region === 82 38 [[ 82 35 ]] 34 MachProj === 35 [[ 33 ]] #0/unmatched !jvms: Reduced::foo @ bci:6 (line 7) 35 CallStaticJavaDirect === 82 16 15 17 18 42 0 0 0 37 [[ 36 34 ]] Static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile' debug_id='0') # void ( int ) C=0.000100 Reduced::foo @ bci:6 (line 7) reexecute !jvms: Reduced::foo @ bci:6 (line 7) 36 MachProj === 35 [[]] #10005/fat 42 loadConI === 1 [[ 35 ]] #-10/0xfffffff6 37 ConP === 12 [[ 35 ]] #NULL 33 ShouldNotReachHere === 34 0 0 17 0 [[ 1 ]] !jvms: Reduced::foo @ bci:6 (line 7) B5: # out( B1 ) <- in( B4 ) Freq: 9.99999e-07 80 Region === 80 25 [[ 80 22 ]] 21 MachProj === 22 [[ 20 ]] #0/unmatched !jvms: Reduced::foo @ bci:4 (line 7) 22 CallStaticJavaDirect === 80 16 15 17 18 30 31 32 13 24 [[ 23 21 ]] Static wrapper for: uncommon_trap(reason='range_check' action='make_not_entrant' debug_id='0') # void ( int ) C=0.000100 Reduced::foo @ bci:4 (line 7) !jvms: Reduced::foo @ bci:4 (line 7) 23 MachProj === 22 [[]] #10005/fat 30 loadConI === 1 [[ 22 ]] #-28/0xffffffe4 24 ConI === 12 [[ 22 ]] #int:0 20 ShouldNotReachHere === 21 0 0 17 0 [[ 1 ]] !jvms: Reduced::foo @ bci:4 (line 7) B3: # out( B1 ) <- in( B2 ) Freq: 1.01328e-06 79 Region === 79 8 [[ 79 4 ]] 3 MachProj === 4 [[ 2 ]] #0/unmatched !jvms: Reduced::foo @ bci:4 (line 7) 4 CallStaticJavaDirect === 79 16 15 17 18 19 0 0 7 6 [[ 5 3 ]] Static wrapper for: uncommon_trap(reason='null_check' action='maybe_recompile' debug_id='0') # void ( int ) C=0.000100 Reduced::foo @ bci:4 (line 7) !jvms: Reduced::foo @ bci:4 (line 7) 5 MachProj === 4 [[]] #10005/fat 19 loadConI === 1 [[ 4 ]] #-10/0xfffffff6 6 ConI === 12 [[ 4 ]] #int:0 7 ConP === 12 [[ 4 ]] #NULL 2 ShouldNotReachHere === 3 0 0 17 0 [[ 1 ]] !jvms: Reduced::foo @ bci:4 (line 7) $3 = void