A question about bytecodes + unsigned load performance ./. add performace
Christian Thalinger
Christian.Thalinger at Sun.COM
Thu Jan 15 10:00:20 PST 2009
On Thu, 2009-01-15 at 09:44 -0800, Vladimir Kozlov wrote:
> The loop in match_into_reg() is simplified check for
> control nodes domination. You have to follow all
> merging paths above a region to check that they all dominate.
> And since it didn't reach m->in(0) we can not say that it dominates
> so we bailout.
>
> I wonder what are different control nodes. One is a loop head (region),
> I assume, and an other? And why AndI has control edge?
>
> AndI === 458 129 140 [[ 164 ]]
Here are the nodes:
141 AndI === 458 129 140 [[ 164 ]] !orig=[377] !jvms: test::decode @ bci:4 test::bar @ bci:29
458 CountedLoop === 458 311 172 [[ 438 439 440 441 457 458 346 461 164 204 141 347 ]] inner stride: 4 main of N458 !orig=[359],[205],[184],[100] !jvms: test::bar @ bci:22
129 LoadB === 311 51 127 [[ 141 ]] @byte[int:>=0]:exact+any *, idx=4; #byte !jvms: test::bar @ bci:28
140 ConI === 0 [[ 141 217 268 347 439 441 ]] #int:255
164 StoreC === 458 346 162 141 [[ 295 461 ]] @char[int:>=0]:exact+any *, idx=5; Memory: @char[int:10]:NotNull:exact+any *, idx=5; !orig=[376] !jvms: test::bar @ bci:32
Did you know that AndI has a control edge from the node output above or
from my previous posting?
-- Christian
More information about the hotspot-compiler-dev
mailing list