Skip to content

Improvements & bugs that were discovered while implementing specialization. #1104

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

Merged
merged 5 commits into from
Mar 24, 2016

Conversation

DarkDimius
Copy link
Contributor

The big one is the change in mixin.
It reduces the size of dotty.jar by 4%.

@smarter
Copy link
Member

smarter commented Feb 18, 2016

dotty-staging@89386d0 and dotty-staging@1379208 should have tests.

@DarkDimius
Copy link
Contributor Author

@smarter dotty-staging@89386d0 cannot be tested by a source file as this is the usage of internal helper-API that previously was supported and now requires using more low-level api.

Speaking about dotty-staging@1379208 - I'm not sure if there can be a test that does not need specialization at the moment.

I believe that those changes generally improve robustness of compiler and are worth getting in.

@DarkDimius
Copy link
Contributor Author

@odersky please review. 74d5820 in particular needs careful review.

@odersky
Copy link
Contributor

odersky commented Feb 18, 2016

Otherwise LGTM

@odersky
Copy link
Contributor

odersky commented Mar 3, 2016

@DarkDimius Do you want to do the final changes to get this in now?

Just like normal accessors.
Otherwise can create trees that do not pas Ycheck.
dropEmpty is not as clear, as it does not indicate what it drops.
Additionally makes phaseName by in sync with class name.
There were two sources of inefficiency in previous scheme:
 - if symbol was no overriding anything the forwarder was still being
created
 - the class that is will have the forwarder was not considered.
Many methods do not require forwarders as JVM will dispatch correctly.
@DarkDimius DarkDimius merged commit 035aff4 into scala:master Mar 24, 2016
@allanrenucci allanrenucci deleted the spec-bugs branch December 14, 2017 19:24
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