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

Resurrecting Stackmap insertion change #119

Merged
merged 2 commits into from
Mar 12, 2024
Merged

Conversation

nmdis1999
Copy link

These changes make sure that stackmap is not inserted after unmappable functions except control point and yk_promote calls. In previous PR #114 the stackmaps insertion was skipped as control point and yk_promote were treated as external functions, which resulted in some tests failing. This commit make sures that this problem don't occur while retaining the logic of previous PR.

These changes make sure that stackmap is not inserted
after unmappable functions except control point and
yk_promote calls.
@nmdis1999
Copy link
Author

@ltratt @ptersilie the PR is ready for review.

(CI.getCalledFunction()->isDeclaration() &&
(!CI.getCalledFunction()->getName().startswith(
"yk_promote") &&
CI.getCalledFunction()->getName() != YK_NEW_CONTROL_POINT))))

Choose a reason for hiding this comment

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

I still have a feeling we might get away with omitting stackmaps for the control point too, but we can investigate that in a separate PR. It will require some changes to yk too.

@ltratt
Copy link

ltratt commented Mar 7, 2024

Which yklua tests has this been confirmed as working on?

@ltratt
Copy link

ltratt commented Mar 8, 2024

@nmdis1999 Ping on #119 (comment).

@nmdis1999
Copy link
Author

@ltratt yes, I was figuring out why all promote tests were failing, and looks like the stackmap is not inserting after __yk_promote* calls because typo in my code. I was checking if the call starts with yk_promote instead of __yk_promote.
I have fixed this, just testing again and then will push in couple of minutes.

@nmdis1999
Copy link
Author

@ltratt I have tested this on yk and all tests are passing, on yk lua all tests which are passing without this change also pass with my changes.

@ltratt
Copy link

ltratt commented Mar 8, 2024

Can we list which lua tests do and don't pass please?

@nmdis1999
Copy link
Author

nmdis1999 commented Mar 8, 2024

@ltratt These are the tests that pass and fail with my changes:

OK:  api.lua bwcoercion.lua calls.lua closure.lua code.lua constructs.lua coroutine.lua db.lua errors.lua events.lua files.lua gc.lua gengc.lua goto.lua literals.lua math.lua nextvar.lua pm.lua sort.lua strings.lua tpack.lua tracegc.lua utf8.lua vararg.lua
FAIL:  all.lua attrib.lua big.lua bitwise.lua cstack.lua heavy.lua locals.lua main.lua verybig.lua

which is same as without my changes. I have tested this with both my changes and without my changes and getting diff.

@ltratt
Copy link

ltratt commented Mar 9, 2024

Thanks! I think this is then ready for merge? @ptersilie OK?

@ptersilie
Copy link

Let's go.

@ptersilie ptersilie added this pull request to the merge queue Mar 12, 2024
Merged via the queue into ykjit:main with commit b13bfe1 Mar 12, 2024
2 checks passed
nmdis1999 added a commit to nmdis1999/ykllvm_fork that referenced this pull request Mar 14, 2024
This reverts commit b13bfe1, reversing
changes made to d68ef90.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants