CompileCommand: option Hello.foo bool log = true dump String.substring() callnode: 105 CallStaticJava === 68 6 7 8 1 ( 44 22 104 1 1 1 1 ) [[ 106 107 108 110 119 118 ]] # Static java.lang.String::substring java/lang/String:exact * ( java/lang/String:NotNull:exact *, int, int ) String::substring @ bci:6 Hello::foo @ bci:2 !jvms: String::substring @ bci:6 Hello::foo @ bci:2 106 Proj === 105 [[ 112 ]] #0 !jvms: String::substring @ bci:6 Hello::foo @ bci:2 107 Proj === 105 [[ 117 112 507 ]] #1 (i_o_use) !jvms: String::substring @ bci:6 Hello::foo @ bci:2 108 Proj === 105 [[ 507 ]] #2 (i_o_use) Memory: @BotPTR *+bot, idx=Bot; !jvms: String::substring @ bci:6 Hello::foo @ bci:2 110 Proj === 105 [[ 147 ]] #5 Oop:java/lang/String:exact * !jvms: String::substring @ bci:6 Hello::foo @ bci:2 119 Proj === 105 [[ 386 373 360 331 506 439 270 214 188 179 497 428 ]] #2 Memory: @BotPTR *+bot, idx=Bot; !orig=[394],[399] !jvms: String::substring @ bci:6 Hello::foo @ bci:2 118 Proj === 105 [[ 386 373 428 360 331 506 270 188 497 ]] #1 !orig=393,[398] !jvms: String::substring @ bci:6 Hello::foo @ bci:2 112 Catch === 106 107 [[ 113 114 ]] !jvms: String::substring @ bci:6 Hello::foo @ bci:2 117 CreateEx === 114 107 [[ 507 ]] #java/lang/Throwable:NotNull * Oop:java/lang/Throwable:NotNull * !jvms: String::substring @ bci:6 Hello::foo @ bci:2 507 Rethrow === 114 107 108 8 9 exception 117 [[ 0 ]] 147 CastPP === 113 110 [[ 270 213 213 178 178 ]] #java/lang/String:NotNull:exact * Oop:java/lang/String:NotNull:exact * !jvms: Hello::foo @ bci:9 386 CallStaticJava === 382 118 119 8 9 ( 385 1 1 1 1 1 1 1 180 230 59 22 1 59 59 22 ) [[ 387 ]] # Static uncommon_trap(reason='loop_limit_check' action='maybe_recompile' debug_id='0') void ( int ) C=0.000100 String::startsWith @ bci:71 reexecute String::startsWith @ bci:3 Hello::foo @ bci:9 !jvms: String::startsWith @ bci:71 String::startsWith @ bci:3 Hello::foo @ bci:9 373 CallStaticJava === 369 118 119 8 9 ( 372 1 1 1 1 1 1 1 180 230 59 22 1 59 59 22 ) [[ 374 ]] # Static uncommon_trap(reason='profile_predicate' action='maybe_recompile' debug_id='0') void ( int ) C=0.000100 String::startsWith @ bci:71 reexecute String::startsWith @ bci:3 Hello::foo @ bci:9 !jvms: String::startsWith @ bci:71 String::startsWith @ bci:3 Hello::foo @ bci:9 360 CallStaticJava === 356 118 119 8 9 ( 359 1 1 1 1 1 1 1 180 230 59 22 1 59 59 22 ) [[ 361 ]] # Static uncommon_trap(reason='predicate' action='maybe_recompile' debug_id='0') void ( int ) C=0.000100 String::startsWith @ bci:71 reexecute String::startsWith @ bci:3 Hello::foo @ bci:9 !jvms: String::startsWith @ bci:71 String::startsWith @ bci:3 Hello::foo @ bci:9 331 CallStaticJava === 327 118 119 8 9 ( 269 1 1 1 1 1 1 59 180 230 59 22 214 1 214 59 ) [[ 332 ]] # Static uncommon_trap(reason='unstable_if' action='reinterpret' debug_id='0') void ( int ) C=0.000100 String::startsWith @ bci:50 reexecute String::startsWith @ bci:3 Hello::foo @ bci:9 !jvms: String::startsWith @ bci:50 String::startsWith @ bci:3 Hello::foo @ bci:9 506 Return === 493 118 119 8 9 returns 502 [[ 0 ]] 439 LoadB === 532 119 437 [[ 471 ]] @byte[int:>=0]:exact+any *, idx=7; #byte !jvms: String::startsWith @ bci:80 String::startsWith @ bci:3 Hello::foo @ bci:9 270 CallStaticJava === 265 118 119 8 9 ( 269 1 1 1 1 147 127 59 1 1 1 1 1 1 59 258 ) [[ 271 ]] # Static uncommon_trap(reason='unstable_if' action='reinterpret' debug_id='0') void ( int ) C=0.000100 String::startsWith @ bci:14 reexecute String::startsWith @ bci:3 Hello::foo @ bci:9 !jvms: String::startsWith @ bci:14 String::startsWith @ bci:3 Hello::foo @ bci:9 214 LoadB === _ 119 213 [[ 331 324 331 218 ]] @java/lang/String:exact+16 *, name=coder, idx=6; #byte !jvms: String::coder @ bci:7 String::length @ bci:6 String::startsWith @ bci:6 String::startsWith @ bci:3 Hello::foo @ bci:9 188 CallStaticJava === 187 118 119 8 9 ( 38 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 30 ) [[ 189 ]] # Static uncommon_trap(reason='null_check' action='maybe_recompile' debug_id='0') void ( int ) C=0.000100 String::length @ bci:4 String::startsWith @ bci:6 String::startsWith @ bci:3 Hello::foo @ bci:9 !jvms: String::length @ bci:4 String::startsWith @ bci:6 String::startsWith @ bci:3 Hello::foo @ bci:9 179 LoadN === _ 119 178 [[ 180 ]] @java/lang/String:exact+20 * [narrow], name=value, idx=4; #narrowoop: byte[int:>=0]:exact * !jvms: String::length @ bci:1 String::startsWith @ bci:6 String::startsWith @ bci:3 Hello::foo @ bci:9 497 CallStaticJava === 492 118 119 8 9 ( 269 1 1 157 ) [[ 498 ]] # Static uncommon_trap(reason='unstable_if' action='reinterpret' debug_id='0') void ( int ) C=0.000100 Hello::foo @ bci:12 reexecute !jvms: Hello::foo @ bci:12 428 CallStaticJava === 533 118 119 8 9 ( 427 1 1 1 1 1 1 1 193 230 59 22 1 22 193 59 ) [[ 429 ]] # Static uncommon_trap(reason='range_check' action='make_not_entrant' debug_id='0') void ( int ) C=0.000100 String::startsWith @ bci:80 String::startsWith @ bci:3 Hello::foo @ bci:9 !jvms: String::startsWith @ bci:80 String::startsWith @ bci:3 Hello::foo @ bci:9 113 CatchProj === 112 [[ 185 147 ]] #0@bci -1 !orig=[140] !jvms: String::substring @ bci:6 Hello::foo @ bci:2 114 CatchProj === 112 [[ 507 117 ]] #1@bci -1 !jvms: String::substring @ bci:6 Hello::foo @ bci:2 213 AddP === _ 147 147 97 [[ 214 ]] Oop:java/lang/String:NotNull:exact+16 * !jvms: String::coder @ bci:7 String::length @ bci:6 String::startsWith @ bci:6 String::startsWith @ bci:3 Hello::foo @ bci:9 178 AddP === _ 147 147 58 [[ 179 ]] Oop:java/lang/String:NotNull:exact+20 * [narrow] !jvms: String::length @ bci:1 String::startsWith @ bci:6 String::startsWith @ bci:3 Hello::foo @ bci:9 387 Proj === 386 [[ 390 ]] #0 !jvms: String::startsWith @ bci:71 String::startsWith @ bci:3 Hello::foo @ bci:9 374 Proj === 373 [[ 377 ]] #0 !jvms: String::startsWith @ bci:71 String::startsWith @ bci:3 Hello::foo @ bci:9 361 Proj === 360 [[ 364 ]] #0 !jvms: String::startsWith @ bci:71 String::startsWith @ bci:3 Hello::foo @ bci:9 332 Proj === 331 [[ 335 ]] #0 !jvms: String::startsWith @ bci:50 String::startsWith @ bci:3 Hello::foo @ bci:9 471 CmpI === _ 439 464 [[ 472 ]] !jvms: String::startsWith @ bci:89 String::startsWith @ bci:3 Hello::foo @ bci:9 271 Proj === 270 [[ 274 ]] #0 !jvms: String::startsWith @ bci:14 String::startsWith @ bci:3 Hello::foo @ bci:9 324 CmpI === _ 214 59 [[ 325 ]] !jvms: String::startsWith @ bci:50 String::startsWith @ bci:3 Hello::foo @ bci:9 218 RShiftI === _ 195 214 [[ 258 ]] !jvms: String::length @ bci:9 String::startsWith @ bci:6 String::startsWith @ bci:3 Hello::foo @ bci:9 189 Proj === 188 [[ 192 ]] #0 !jvms: String::length @ bci:4 String::startsWith @ bci:6 String::startsWith @ bci:3 Hello::foo @ bci:9 180 DecodeN === _ 179 [[ 193 181 360 386 373 331 ]] #byte[int:>=0]:exact * !jvms: String::length @ bci:1 String::startsWith @ bci:6 String::startsWith @ bci:3 Hello::foo @ bci:9 498 Proj === 497 [[ 501 ]] #0 !jvms: Hello::foo @ bci:12 429 Proj === 428 [[ 432 ]] #0 !jvms: String::startsWith @ bci:80 String::startsWith @ bci:3 Hello::foo @ bci:9