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

Native support for lambda expressions #324

Open
3 of 12 tasks
flsobral opened this issue Mar 29, 2021 · 0 comments · May be fixed by #325
Open
3 of 12 tasks

Native support for lambda expressions #324

flsobral opened this issue Mar 29, 2021 · 0 comments · May be fixed by #325
Assignees
Labels
All platforms Issue related to the all platforms feature New feature or request help wanted Extra attention is needed
Milestone

Comments

@flsobral
Copy link
Member

flsobral commented Mar 29, 2021

  • Make the deployer aware of bytecodes required for Java 8
    • MethodType
    • MethodHandle
    • InvokeDynamic
  • Add classes from package 'invoke' required for invoke dynamic
    • MethodHandle
    • MethodType
    • MethodHandles
    • LambdaMetafactory
    • CallSite
  • Mock implementation for LambdaMetafactory that just prints the arguments received and returns a hard coded noop CallSite
  • Make the vm aware of the existence of CallSites and able to execute them (maybe we could just make the deployer convert the InvokeDynamic call into a InvokeStatic call and let the vm bind the CallSite to the native method structure)
  • Add a couple of hard coded CallSites to test the InvokeDynamic execution. The expected result is for the LambdaMetafactory to correctly route calls to the hard coded CallSites (either with the correct implementation or the noop) and execute the CallSite
  • Implement LambdaMetafactory (that almost seems too trivial, probably will need to add details later)
@flsobral flsobral added help wanted Extra attention is needed feature New feature or request All platforms Issue related to the all platforms labels Mar 29, 2021
@flsobral flsobral added this to the 8.0 milestone Mar 29, 2021
@flsobral flsobral self-assigned this Mar 29, 2021
@flsobral flsobral linked a pull request Mar 29, 2021 that will close this issue
@flsobral flsobral linked a pull request Mar 29, 2021 that will close this issue
@flsobral flsobral pinned this issue Mar 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
All platforms Issue related to the all platforms feature New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant