-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Shared backend #251
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
Shared backend #251
Conversation
Just for fun:
and bytecode is the same
|
77246a6
to
7481149
Compare
Status update: Arrays and And there are some errors that I see why applying Identity tranformer that just collects information:
It seems that we have a phase that did FullParametrization but didn't transform actual calls. I guess this is |
2f8e87e
to
bdd0289
Compare
bdd0289
to
e450e3b
Compare
@@ -61,7 +64,8 @@ class Compiler { | |||
List(new LambdaLift, | |||
new Flatten, | |||
new RestoreScopes), | |||
List(new PrivateToStatic) | |||
List(/*new PrivateToStatic,*/ new CollectEntryPoints, new LabelDefs), |
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.
Did we try to fuse with previous group ending in RestoreScopes?
I only checked the patches to previously existing files in detail, and did a quick browse over the backend code. It would be good if somebody who knows the backend could comment. But I agree we should not wait for a long time for it to happen. Except for the remarks I added, LGTM as far as I am concerned. |
bd203a4
to
c50f188
Compare
I've created several issues to track what stops backend from working on other phases: #289 and #288 In the meanwhile I've enabled quite a few tests that compile to bytecode without errors. |
Due to a lot of error and workarounds required for backend not regress in terms of speed, I guess the original idea was to high to be reached.. Nevertheless it was good to try.
Remove historical enabling of erasure for some tests: its enabled by default now
They are classes.
collects entry points and registers them in backend
That doesn't mean it works :-)
Didn't manifest itself previously.
da05525
to
4c11203
Compare
I haven't actually changed any backend code here for a week already, all changes are in phases. So I propose to merge. |
Since this PR, it's not possible any more to compile dotty with Java 7; Java 8 is needed. I guess this is intended and not considered a problem, right? |
On Thu, Dec 18, 2014 at 5:23 PM, Samuel Gruetter [email protected]
Yes, it's inevitable. We said from the start we'd be Java 8 only.
Martin Odersky |
Backport "Constructor proxy is restricted if class is protected" to 3.3 LTS
Can compile hello world, can compile patterns and tailrec methods. Can compile array operations. Can compile both classes and objects.