-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
SI-9387 Fix VerifyError introduced by indylambda #4617
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
Assigned to the 2.12.0-M2, as this is a blocker for the release, /cc @SethTisue |
here are two smaller test cases to reproduce the error, maybe we could add them?
|
otherwise LGTM |
Added. |
i don't see them.. :) |
As with regular `Apply`-s, we should compute the generated type based on the function's type, rather than the expected type. In the test case, the expected type was void. Now, we correctly use the generated type of `scala/Function1`, which is enough to generate a subsequent POP instruction. The tree shape involved was: ``` arg0 = { { $anonfun() }; scala.runtime.BoxedUnit.UNIT } ```
Third time lucky. |
LGTM |
retronym
added a commit
that referenced
this pull request
Jul 9, 2015
SI-9387 Fix VerifyError introduced by indylambda
@@ -632,10 +632,11 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder { | |||
case _ => | |||
abort(s"Cannot instantiate $tpt of kind: $generatedType") | |||
} | |||
case Apply(_, args) if app.hasAttachment[delambdafy.LambdaMetaFactoryCapable] => | |||
case Apply(fun, args) if app.hasAttachment[delambdafy.LambdaMetaFactoryCapable] => |
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.
Everything becomes better after fun is applied.
Closed
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.
As with regular
Apply
-s, we should compute the generated typebased on the function's type, rather than the expected type.
In the test case, the expected type was void. Now, we correctly
use the generated type of
scala/Function1
, which is enoughto generate a subsequent POP instruction.
The tree shape involved was:
Review by @lrytz
Targetting to 2.12.x to expediate M2, but we should backport
this (along with one two other recent changes) to 2.11.x.