(WIP) Push down constants in AddNode
Jackson Davis
jackson at jcdav.is
Fri Jan 5 08:20:26 UTC 2018
I've had this change around for a while now, finally got around to creating
a PR.
https://github.com/graalvm/graal/pull/274
This seems like a important thing to be doing, but is pretty brittle as-is:
if done aggressively, it can undo other calls to
BinaryArithmeticNode.reassociate() (eg from LoopEx.reassociateInvariants),
which means that the result of that reassociation is only valid up until
another canonicalization of the resulting AddNode occurs, hence the need
for the self != null checks.
Is there a cleaner/smarter way of avoiding this race?
-Jackson
More information about the graal-dev
mailing list