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

Port missing changes from the Scala 2 backend (bug fixes for inner class generation, refactorings, optimizations ...) #14912

Closed
4 of 6 tasks
smarter opened this issue Apr 12, 2022 · 5 comments

Comments

@smarter
Copy link
Member

smarter commented Apr 12, 2022

The Scala 2 and 3 backend diverged many years ago and we're missing a lot of changes that went into the Scala 2 backend. We haven't altered the structure of our backend too much, so in theory it should be possible to port changes from Scala 2 piece-by-piece. We've done that so far to port various bugfixes, but we should do the same for the bigger structural changes, if only because it would allow us to more easily diff the two backends and see what else we might be missing. I had a quick look through the history and I think the big missing pieces we should port in order are:

Note that we don't have a backend optimizer, so anything related to it can be ignored, we can consider adding back the optimizer afterwards.
@lrytz: did I miss anything?

@smarter
Copy link
Member Author

smarter commented Apr 13, 2022

Tentatively assigning @Kordyjan since he's listed as primary maintainer in https://github.com/lampepfl/dotty/blob/main/MAINTENANCE.md, it's possible this could be done piecewise during sprees too with the help of a backend maintainer.

@He-Pin
Copy link

He-Pin commented Feb 16, 2023

Should this be included in release 3.3.0? @Kordyjan

sjrd added a commit that referenced this issue Mar 28, 2023
This PR ports JVM backend refactor from Scala 2 as part of the
#14912 thread.

It squashes changes based on the PRs: 

- scala/scala#6012
- scala/scala#6057

The last refactor introducing backend parallelism
scala/scala#6124 is left for later.
@SethTisue
Copy link
Member

SethTisue commented Mar 28, 2023

@WojciechMazur time to check another box here...? (or boxes, plural? is this done?)

@WojciechMazur
Copy link
Contributor

AFAIR the first two tasks were already incorporated into the Dotty, so probably the last remaining one is parallelisation (rebase in progress)

@He-Pin
Copy link

He-Pin commented Sep 11, 2023

@WojciechMazur does all thest been ported, in case missed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants