New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Simplify containsPrepareForOSR check #106
Conversation
Do we want the option of enabling verification of the flag under debug for sanity? |
f44a21e
to
0ac1a74
Compare
I have added the verification check back in, under the debug flag. |
OSR data flow analysis must skip OSR blocks. This includes blocks that contain prepareForOSR calls. However, the check for these blocks consisted of a walk across its trees. It is cheaper to check the OSRBlock flag, as prepareForOSR calls must only appear in such blocks. Signed-off-by: Nicholas Coughlin <cnic@ca.ibm.com>
0ac1a74
to
67aa343
Compare
Jenkins test sanity |
@AdamBrousseau something up with 390 again looks to me like the failure isn't related to this code - I'd like to merege if we think things are clean. |
Jenkins test sanity |
@@ -39,18 +39,26 @@ bool TR_FearPointAnalysis::virtualGuardsKillFear() | |||
return feGetEnv("TR_FPAnalaysisGuardsDoNotKillFear") == NULL; | |||
} | |||
|
|||
static bool containsPrepareForOSR(TR::Block *block) | |||
bool TR_FearPointAnalysis::containsPrepareForOSR(TR::Block *block) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this function is called from two analyses would it be better somewhere in the OSR infrastructure?
OSR data flow analysis must skip OSR blocks. This
includes blocks that contain prepareForOSR calls.
However, the check for these blocks consisted of
a walk across its trees. It is cheaper to check
the OSRBlock flag, as prepareForOSR calls must
only appear in such blocks.