C2: Compiler scheduling oddity
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Jun 17 19:23:10 UTC 2016
Okay. So these blocks are LCA for these nodes.
What is not clear: why load node was placed between a Call and his CatchNode?
Based on java code load should happen on fall-through path and not on exception path. So load should be in the following
block after the call.
Vladimir
On 6/17/16 7:17 AM, Andrew Haley wrote:
> On 17/06/16 01:02, Vladimir Kozlov wrote:
>> "After ScheduleLate" looks to me as "After schedule_early()" because nodes are near their definitions.
>
> Really not: the dump is here.
>
> if (victim) {
> tty->print("\n---- After ScheduleLate ----\n");
> for (uint i = 0; i < number_of_blocks(); i++) {
> Block* block = get_block(i);
> block->dump();
> }
> }
>
> } // end ScheduleLate
>
> Andrew.
>
More information about the hotspot-compiler-dev
mailing list