-
-
Notifications
You must be signed in to change notification settings - Fork 924
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
[Truffle] Fix null FrameSlot when kwarg is not used #2535
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
When a keyword argument is not used in the method body there is no frame slot for the argument resulting a NullPointerException when writing the argument to the frame. This fix changes the AST translator to create the frame slot if it cannot be found by using `findOrAddFrameSlot` instead of `findFrameSlot`.
Without assertions:
|
chrisseaton
added a commit
that referenced
this pull request
Jan 28, 2015
[Truffle] Fix null FrameSlot when kwarg is not used
Thanks very much! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When calling a method having a keyword argument that is not used in the method body the frame descriptor cannot find a frame slot and returns
null
.Example:
With assertions enabled it returns the following:
Without assertions it will end in a NullPointerException when trying to write the keyword argument to the frame as a local variable.
This patch simply changes
findFrameSlot
tofindOrAddFrameSlot
when transforming the AST to Truffle nodes. I did not (yet) found out why there is no slot.I am not sure if there is no better solution. If you can point me somewhere else that would be great. Also what would be the best place to add a test for that if wanted?