Skip to content
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

Clear resolveFrameFlags after each frame walk #2569

Merged
merged 1 commit into from
Aug 9, 2018

Conversation

gacholio
Copy link
Contributor

@gacholio gacholio commented Aug 9, 2018

Clear resolveFrameFlags in the interpreter stack walker after reporting
the frame. This is consistent with the JIT stack walker and avoids
leaving invalid flags set on entry to the JIT walker in very rare cases.

Also fix a small error in the resumeable stack walker, which has no
effect on the only current consumer of the feature.

Fixes: #2472

Signed-off-by: Graham Chapman [email protected]

Clear resolveFrameFlags in the interpreter stack walker after reporting
the frame. This is consistent with the JIT stack walker and avoids
leaving invalid flags set on entry to the JIT walker in very rare cases.

Also fix a small error in the resumeable stack walker, which has no
effect on the only current consumer of the feature.

Fixes: eclipse-openj9#2472

Signed-off-by: Graham Chapman <[email protected]>
@gacholio gacholio requested a review from DanHeidinga August 9, 2018 14:32
resumeInterpreterWalk:
walkState->previousFrameFlags = walkState->frameFlags;
walkState->resolveFrameFlags = 0;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the intention that the resolveFrameFlags are only set if the current frame is a resolveFrame? And otherwise cleared?

Overall, I have to wonder why we bother with a separate resolveFrameFlags in that case.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed - a lot of this is historical cruft, but fixing that is for a different day.

resolveFrameFlags is set when the previously-walked frame is a resolve frame. Generally only applicable if the current frame is a JIT frame, but this seemed the safest and most "correct" way to fix it, since there clearly is one case where the resolve frame is not on top of a JIT frame.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for confirming that I understood the fix :)

@DanHeidinga
Copy link
Member

Jenkins test extended xlinux jdk10

@DanHeidinga DanHeidinga self-assigned this Aug 9, 2018
gacholio added a commit to gacholio/openj9 that referenced this pull request Aug 9, 2018
Forgot the change in the original PR.

Signed-off-by: Graham Chapman <[email protected]>
@DanHeidinga DanHeidinga merged commit dd2964e into eclipse-openj9:master Aug 9, 2018
@gacholio gacholio deleted the rff branch August 9, 2018 19:10
DanHeidinga added a commit that referenced this pull request Aug 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

cmdLineTester_jvmtitests_hcr_OSRG_nongold_1 Test-extended.functional-JDK10-linux_x86-64 rc004 gpf
3 participants