-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[GR-46740] Support JEP 424 ("Panama") foreign down calls in Native Image. #7152
Commits on Jul 10, 2023
-
Breaks compatibility with JDKs < 19; this will be subsequently fixed. Add configuration parser for foreign downcalls.
Configuration menu - View commit details
-
Copy full SHA for 9e21b60 - Browse repository at this point
Copy the full SHA 9e21b60View commit details -
Restore compatibility with older JDKs and revamp dispatch
Slight changes to API. Prevent foreign functions feature from being used on JDK <= 20. Improve code quality. Add copyright headers. Remove references to JDK19 (replaced by 20). Change panama configuration file layout Move classes out of PanamaAliases Fix symbol lookups behavior Replace dispatch function with a function-pointers-based solution Make downcall stubs name shorter Move all panama/foreign code in a separate module; the module is conditionally enabled if the requirements are met. Remove (almost) all references to the word "panama".
Configuration menu - View commit details
-
Copy full SHA for f82bf47 - Browse repository at this point
Copy the full SHA f82bf47View commit details -
Configuration menu - View commit details
-
Copy full SHA for b5771e0 - Browse repository at this point
Copy the full SHA b5771e0View commit details -
Cleanup foreign functions code
Add public API for foreign functions. Handle unsupported features more gracefully. Revert changes to python imports.
Configuration menu - View commit details
-
Copy full SHA for 54309df - Browse repository at this point
Copy the full SHA 54309dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for a335a85 - Browse repository at this point
Copy the full SHA a335a85View commit details -
Move call state capture to CFunctionEpilogue
Add comment about support of shared arena. Add options to downcalls parser. Move call state capture to CFunctionEpilogue. Change exception on unregistered downcall. Change MemoryAssignment design.
Configuration menu - View commit details
-
Copy full SHA for d32866d - Browse repository at this point
Copy the full SHA d32866dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e5c240 - Browse repository at this point
Copy the full SHA 7e5c240View commit details -
Configuration menu - View commit details
-
Copy full SHA for 387602b - Browse repository at this point
Copy the full SHA 387602bView commit details -
Tweak and refactor foreign downcalls code
Change (and rename) MemoryAssignment to use register objects. Change comment format, rename some things, fix code style, ... Add cost estimate to CFunctionEpilogue (when applicable). Update to JDK21. Tweak error message.
Configuration menu - View commit details
-
Copy full SHA for c42db07 - Browse repository at this point
Copy the full SHA c42db07View commit details -
Add support for "trivial" downcalls
Remove the "functions" in "foreign functions". Simplify "linkToNative" substitution. Improve error message. Report unsupported features at runtime. Change 'bitAlignment' to 'byteAlignment (change from JDK 20->21). Fix alignment specifier being a postfix modifier (as opposed to a prefix modifier, as in the JDK). Simplify VMStorage resolution to register. Add runtime check for generated register allocation.
Configuration menu - View commit details
-
Copy full SHA for 1a51a71 - Browse repository at this point
Copy the full SHA 1a51a71View commit details -
Setup native access protections
Add "--enable-native-access" to native image options
Configuration menu - View commit details
-
Copy full SHA for 1423dce - Browse repository at this point
Copy the full SHA 1423dceView commit details -
Implement ABI-dependent arguments adaptation
Fix partial call state capture Change call state capture infrastructure Make ABIUtils an image singleton. Fix typos. Remove occurences of the word "panama".
Configuration menu - View commit details
-
Copy full SHA for 0fec672 - Browse repository at this point
Copy the full SHA 0fec672View commit details -
Abstract and refactor call state capture
Stubs are now only interested in whether capture occurs or not (as opposed to interested in the precise capture set).
Configuration menu - View commit details
-
Copy full SHA for f311b16 - Browse repository at this point
Copy the full SHA f311b16View commit details -
Make unsupported ABI a runtime error
Disable Foreign Functions by default. Update documentation. Fix comment punctuation. Fix constant pool used for downcall stubs. Make captureCallState a boolean flag in config. Remove usage of duringAnalysis. Make assignment/type check dependent on ABI (at it should always have been). Apply miscellaneous fixes (method name, typos, ...). Fix expected call count when a pseudo C-epilogue/prologue pair is emitted. Move safety checks about capturable states to compile-time. Make descriptor parser more platform-agnostic.
Configuration menu - View commit details
-
Copy full SHA for 0137fee - Browse repository at this point
Copy the full SHA 0137feeView commit details -
Prevent capture mask read from floating in between the prologue and e…
…pilogue Rename dummy. Minize changes to signature files. Improve hashCode implementations. Implement linkToNative using an ImageSingleton.
Configuration menu - View commit details
-
Copy full SHA for 5c2a9ba - Browse repository at this point
Copy the full SHA 5c2a9baView commit details