openj9
openj9 copied to clipboard
Improvements for Relocatable Compilations
Ongoing issue tracking improvements for AOT
- [x] Add Symbol Validation Manager https://github.com/eclipse/openj9/issues/3011
- [x] Exploit Symbol Validation Manager https://github.com/eclipse/openj9/issues/3012
- [x] Enable String Peepholes https://github.com/eclipse/openj9/issues/3013
- [x] Enable CheckCast Inlining https://github.com/eclipse/openj9/issues/3014
- [x] Other Misc AOT Improvements https://github.com/eclipse/openj9/issues/3015
- [x] Validate Method Symbols https://github.com/eclipse/openj9/issues/3029
- [x] Clean up the logic in
TR::SymbolValidationManager::storeValidationRecordIfNecessaryhttps://github.com/eclipse/openj9/issues/3032 - [x] Don't retry an AOT compilation if it fails for certain reasons. https://github.com/eclipse/openj9/issues/3033
- [x] Documentation to help developers understand when they need to add a new validation record. https://github.com/eclipse/openj9/pull/4762
- [x] Add a Guaranteed ID for a NULL symbol (addressed in https://github.com/eclipse/openj9/issues/3752)
- [x] Add a validation record for
isClassVisibleto remember the answer https://github.com/eclipse/openj9/issues/4765 - [x] AOT support for FSD https://github.com/eclipse/openj9/issues/11376
- [x] TR_RelocationRecordClassAddress is relocated incorrectly on platforms that use an ordered pair https://github.com/eclipse-openj9/openj9/issues/15696
- [ ] Enable SVM during startup https://github.com/eclipse/openj9/issues/5195
- [ ] Enable Symbol Validation Manager on all platforms https://github.com/eclipse/openj9/issues/3028
- [ ] Ensure code guarded by
canDevirtualizeDispatchdoes not impact trivial devirtualization opportunities under AOT https://github.com/eclipse/openj9/issues/3030 - [ ] Clean up AOT infrastructure https://github.com/eclipse/openj9/issues/3031
- [ ] Implement class sub-chains https://github.com/eclipse/openj9/issues/4847
- [ ] AOT support for JProfiling https://github.com/eclipse/openj9/issues/4848
- [ ] AOT support for OSR https://github.com/eclipse/openj9/issues/4849
- [ ] AOT support for NextGenHCR https://github.com/eclipse/openj9/issues/11377
- [ ] AOT support for Method Handles https://github.com/eclipse-openj9/openj9/issues/19993
- [ ] AOT Support for Value Types https://github.com/eclipse-openj9/openj9/issues/15479
- [ ] Minimize AOT load failures https://github.com/eclipse/openj9/issues/4897
- [ ] Enable disabled loads of constants in AOT https://github.com/eclipse/openj9/issues/9106
- [ ] TR_MethodObject is relocated incorrectly https://github.com/eclipse/openj9/issues/6479
- [ ] Re-enable inlining of checkcast/instanceof tests https://github.com/eclipse/openj9/issues/12246
- [ ] Fix test failures in AOT PR tests https://github.com/eclipse-openj9/openj9/issues/6057
Related OMR issue: https://github.com/eclipse/omr/issues/3029
@mstoodle @vijaysun-omr @mpirvu @jdmpapin
Request: Documentation to help developers understand when they need to add a new validation record.
@mstoodle @vijaysun-omr @mpirvu @jdmpapin I've updated this issue to reflect the fact that there is only one OMR and OpenJ9 PR each (so that guys know which is the canonical PR for review purposes)
It doesn't seem like it, but is any update to the user guide required for this change? New command line options or diagnostics or ? https://www.eclipse.org/openj9/docs/aot/
No new updates; there are a couple of JIT options to control the new infrastructure, but I don't know if that should be explicitly documented (considering that the goal is to have the new infrastructure eventually be the default).
Some duplication with what's here, but an issue to collect the OMR pieces of ongoing work is here: https://github.com/eclipse/omr/issues/3029 .
@dsouzai - any update?
Code was delivered yesterday to OpenJ9. So this is now done for v0.11 of OpenJ9.
The improvements for the 0.12 release have been delivered. This will continue in the next release.