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 classfile parsing improvements #10037

Merged
merged 2 commits into from
Oct 30, 2020

Conversation

liufengyun
Copy link
Contributor

@liufengyun liufengyun commented Oct 19, 2020

Port classfile parsing improvements

  • We are already using LazyType for members and classes
  • Reuse DataReader
  • Don't eagerly convert signature to Names

@liufengyun liufengyun marked this pull request as ready for review October 21, 2020 18:05
@dottybot
Copy link
Member

Performance test finished successfully:

Visit http://dotty-bench.epfl.ch/10037/ to see the changes.

Benchmarks is based on merging with master (97da3cb)

1 similar comment
@dottybot
Copy link
Member

Performance test finished successfully:

Visit http://dotty-bench.epfl.ch/10037/ to see the changes.

Benchmarks is based on merging with master (97da3cb)

@liufengyun liufengyun force-pushed the port-classfile branch 2 times, most recently from b301881 to 3c91893 Compare October 23, 2020 22:22
@dottybot
Copy link
Member

Performance test finished successfully:

Visit http://dotty-bench.epfl.ch/10037/ to see the changes.

Benchmarks is based on merging with master (6098ec2)

@liufengyun
Copy link
Contributor Author

test performance please

@dottybot
Copy link
Member

performance test scheduled: 1 job(s) in queue, 0 running.

@dottybot
Copy link
Member

Performance test finished successfully:

Visit http://dotty-bench.epfl.ch/10037/ to see the changes.

Benchmarks is based on merging with master (6098ec2)

@scala scala deleted a comment from dottybot Oct 26, 2020
@scala scala deleted a comment from dottybot Oct 26, 2020
@scala scala deleted a comment from dottybot Oct 26, 2020
@liufengyun liufengyun force-pushed the port-classfile branch 2 times, most recently from 9d42245 to 1ddb130 Compare October 26, 2020 13:09
@smarter
Copy link
Member

smarter commented Oct 30, 2020

test performance please

@dottybot
Copy link
Member

performance test scheduled: 3 job(s) in queue, 1 running.

Copy link
Member

@smarter smarter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! I suggest squashing all commits into one to keep the history easy to read here, then the commit message can provide some context:

liufengyun and others added 2 commits October 30, 2020 16:56
This commit ports the following PR from Scala 2:

scala/scala#6653

Unlike Scala 2, we already had lazy completers.

Co-authored-by: Jason Zaugg <jzaugg@gmail.com>
- We need to load the type `scala.deprecated` more lazily in compiling stdlib

More work is needed to get the ClassfileParser instances to not be kept
in memory longer than needed.

Some ideas for further refactoring:

- Make `pool` pass through as `DataReader`, and make a facade for them.
  As both have exactly the same life duration.

- Move `MemberCompleter`, `AttributeCompleter` and `InnerClass` out
  of `ClassfileParser`.
@dottybot
Copy link
Member

Performance test finished successfully:

Visit http://dotty-bench.epfl.ch/10037/ to see the changes.

Benchmarks is based on merging with master (ea64026)

@liufengyun liufengyun merged commit 300e9a2 into scala:master Oct 30, 2020
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.

Port ClassfileParser improvements from Scala 2
3 participants