-
Notifications
You must be signed in to change notification settings - Fork 6.1k
8294960: Convert java.base/java.lang.invoke package to use the Classfile API to generate lambdas and method handles #17108
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
Closed
Closed
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
d193947
8294960: Convert java.base/java.lang.invoke package to use the Classf…
asotona 57461c5
InvokerBytecodeGenerator::emit... improvements
asotona c1b413b
consolidation of descriptors handling
asotona 52f08e1
performance improvements
asotona dc53d75
fixed InnerClassLambdaMetafactory for hidden caller classes
asotona 0f356eb
added missing comment
asotona 8fee456
Apply suggestions from code review
asotona 098df10
Apply suggestions from code review
asotona 1baa867
Merge branch 'master' into JDK-8294960-invoke
asotona 500bb8f
Reversion of ClassBuilder changes
asotona 9eade33
Merge branch 'master' into JDK-8294960-invoke
asotona 304054b
applied suggested changes
asotona bae31c6
Merge branch 'master' into JDK-8294960-invoke
asotona d5cbbc6
Merge branch 'master' into JDK-8294960-invoke
asotona 803c804
Deferred initialization of attributes map by moving into a holder class
asotona c2776be
Reduce init overhead of InvokeBytecodeGenerator and StackMapGenerator
cl4es ee3a70a
Remove stray MRE_LF_interpretWithArguments
cl4es 75d4a09
Merge pull request #3 from cl4es/minor_init_improvements
asotona 1717d0a
Only create box/unbox MethodRefEntries on request
cl4es 1099de7
Merge pull request #4 from cl4es/boxunbox_holder
asotona 107507b
Merge branch 'master' into JDK-8294960-invoke
asotona eea3652
fixed CodeBuilder use in j.l.invoke
asotona e1dbabc
Merge branch 'master' into JDK-8294960-invoke
asotona 9360b0e
Merge branch 'master' into JDK-8294960-invoke
asotona 019633b
Apply suggestions from code review
asotona 902b02e
fixed imports
asotona e814749
use of jdk.internal.constant to improve performance
asotona c3d345c
fixed naming conventions
asotona f870a8d
reverted static initialization of ConstantPoolBuilder and CP entries
asotona 9d10569
Update src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGe…
asotona cfd2d5a
applied suggested changes
asotona 3aaf246
Merge branch 'master' into JDK-8294960-invoke
asotona 80170d3
SerializationHostileMethod
cl4es 9a63310
Inline Consumer<MethodBuilder> into generateSer.. method, move seldom…
cl4es 1ce5360
Reduce gratuitous code movement
cl4es d336748
Merge pull request #8 from cl4es/serialization_hostile
asotona 857b882
Inlined condy construction directly into CP entries
asotona ac20f1f
Update src/java.base/share/classes/java/lang/invoke/InnerClassLambdaM…
asotona 257d66e
fixed sneaky completion typo
asotona 16f6565
problem-listed runtime/ClassInitErrors/TestStackOverflowDuringInit.java
asotona 6e851a5
removed empty line
asotona File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
502 changes: 219 additions & 283 deletions
502
src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
552 changes: 264 additions & 288 deletions
552
src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
ACC_PRIVATE
is not a valid access flag for a class, those only allow public or package access1:Footnotes
See JVMS Table 4.1‑B ↩
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.
It has been there and also for injected invoker template. Can be safely ignored.