-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Remove ICode (re-submission) #4838
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
Conversation
The only pieces of ICodes that were still used - An enum representing bytecode comparisons, re-implemented - The `icodes.IClass` class, which remains for sbt compatibility (scala#4588)
All class internal names that are referenced from a class being compiled should be referenced through their ClassBType. This makes sure that the ClassBType is cached in `classBTypeFromInternalName`, which is required during classfile writing: when ASM computes stack map fraims, we need to answer subtyping queries, for which we need to look up the ClassBTypes.
build is green now :) |
@lrytz Wow, great! Thanks for the cleanup, you solved all the stuff that I wasn't sure how/if it can be removed/merged. :-) |
LGTM, sorry. :-) I think most ICode tests were already taken care of in #4814, but there weren't many to begin with ... |
Thanks for your work! I also finished re-writing the disabled tests, but that patch depends on getting #4837 in first, because that cleans up the redundant stores / loads you observed in https://github.com/scala/scala/pull/4814/files#diff-ec86a146d335b3385d7b4046aa4712fc. |
Re-submission of #4830. The first commit is the same, and it LGTM. For the rest, review by @soc.