Skip to content

Conversation

@odersky
Copy link
Contributor

@odersky odersky commented Feb 11, 2015

This currently fails two tests in the backend. @DarkDimius can you take a look? I think this PR is preferable to #357 but we have to figure out the status of those failures.

(Why is it better to unbox instead of box? The difference is only there if the prototype is either a wildcard type or a selection prototype. the most common case would be the selection prototype, which in this case would be either to an operation on a primitive type or to a generic operation on object (such as equals, toString, hashCode). It seems more important to make the primitive operations fast because they occur more often and take less time than the object operations. The one exception could be equals but we will probably handle this by a decorator anyway going forward.)

The new scheme alignes If, Match, Try to the scheme used in SeqLiteral.
This favors unboxed over boxed types. It is also simpler than the scheme
in the previous commit.
@DarkDimius
Copy link
Contributor

I'll have a look.

… to understand.

if(self eq self) was optimised away, not it's not even emited
Though still it would be better if erasure didn't emmit such trees,
but still it's better to have this phase kore robust.

Also made LabelDefs run in linear time on the size of tree
 instead of square on the Block-depth of tree.
@DarkDimius
Copy link
Contributor

@odersky please review. Especially the last commit.

@odersky
Copy link
Contributor Author

odersky commented Feb 13, 2015

Did only a cursory review of LabelDefs. But LGTM.

DarkDimius added a commit that referenced this pull request Feb 13, 2015
@DarkDimius DarkDimius merged commit 2e72811 into scala:master Feb 13, 2015
tgodzik added a commit to tgodzik/scala3 that referenced this pull request Apr 29, 2025
Backport "Disable Cats flaky tests" to 3.3 LTS
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