-
Notifications
You must be signed in to change notification settings - Fork 729
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
Enable OMR's DDR support for OpenJ9 #378
Comments
This task is to drive the enablement of DDR across the OpenJ9 platforms. |
I have an impression DDR is short for "Direct Dump Reader" :-) |
Yeah I think it's Direct Dump Reader too. And this page title calls it "DDR: The Data Dump Reader"! :) |
https://github.com/eclipse/openj9/blob/master/runtime/ddr/ddr.readme says:
|
Updated the description to use the correct term. |
#432 allows blob stubs to compile cleanly if DDR is enabled (but generated blob tables are not available). |
#461 updates the docker image descriptions in anticipation of the requirement for libdwarf-dev. |
Generated DDR code is incomplete. The hand-written code to support DDR should be able to make references to historical constants and features so that debugging core files produced by older JVMs is possible: the fact that #495 was needed is a sign that this is broken. The set of types, etc. should include everything mentioned in The change for #495 should be reverted, catching |
Some of the imported classes are generated - these changes avoid needless problems that would occur in situations where those classes are not generated by the new DDR flow (on any given platform). In support of issue eclipse-openj9#378. Signed-off-by: Keith W. Campbell <[email protected]>
* correct offsets of synthetic fields * remove unused Field._sizeOf Issue: eclipse-openj9/openj9#378 Signed-off-by: Keith W. Campbell <[email protected]>
* rely on DWARF offsets which consider alignment requirements * correct offsets of synthetic fields * remove unused Field._sizeOf Issue: eclipse-openj9/openj9#378 Signed-off-by: Keith W. Campbell <[email protected]>
* to simplify exclusion from main builds * adjust related eclipse launch configurations Issue: eclipse-openj9#378 Signed-off-by: Keith W. Campbell <[email protected]>
OpenJ9 connective changes are in #1399. |
OpenJ9 jdk8 enablement is in ibmruntimes/openj9-openjdk-jdk8#59. |
OpenJ9 jdk9 enablement is in ibmruntimes/openj9-openjdk-jdk9#137. |
Not sure if it is still relevant, i.e., if If so, these |
@keithc-ca explained that |
* not all Entry objects have an associated File and so, can't all contribute to the classpath Issue: eclipse-openj9#378 Signed-off-by: Keith W. Campbell <[email protected]>
The existing code which reflectively exports access to DDR was written prior to the refactoring which moved java.lang.reflect.Module to java.lang.Module. This code doesn't have the advantage of being preprocessed and so can't make distinctions at that time. Instead, this version attempts to locate Module in the new package first and then falls back to looking in the old package. Issue: eclipse-openj9#378 Signed-off-by: Keith W. Campbell <[email protected]>
* declarations in stackwalk.h grouped to reduce number of annotations required * also in generated constant pool * added VMCPTool option '-verbose' (default off) Issue: eclipse-openj9#378 Signed-off-by: Keith W. Campbell <[email protected]>
* to simplify exclusion from main builds * adjust related eclipse launch configurations Issue: eclipse-openj9#378 Signed-off-by: Keith W. Campbell <[email protected]>
To support use of ddrgen from OMR. Issue: eclipse-openj9#378 Signed-off-by: Keith W. Campbell <[email protected]>
* adapt to lack of 'united' view of VM code (e.g. MM_HeapLinkedFreeHeader which has a single 64-bit _next field or two 32-bit fields (_next and _nextHighBits). OMR's ddrgen sees only one of these situations and never generates anything related to '_next_v1'. * remove references to obsolete concepts that will not be output by new code generation flow (e.g. J9VariableInfo) * use Long.bitCount() Issue: eclipse-openj9#378 Signed-off-by: Keith W. Campbell <[email protected]>
@keithc-ca - I am preparing the release notes for 0.9.0. Looks like there is still some work to do, so please can you confirm which platforms do have / don't have DDR support enabled? Thx |
DDR is enabled for all platforms except AIX at this time. |
DDR is currently enabled (by default) for Linux (p,x,z) and Windows (64-bit variants). |
I don't think AIX support is going to be ready for the 0.10.0 release, deferring. |
This was completed some time ago, for all platforms. |
The OMR project has been implementing Direct Dump Reader (DDR) support on top of libdwarf.
OpenJ9 needs to enable DDR support and ensure that the functionality in the OMR project is sufficient to provide the rich debug & introspection capabilities J9 has historically supported.
OpenJ9 issues are difficult to debug without this support.
OMR links
https://github.com/eclipse/omr/blob/f4394252018f04074cb375cbbd7f1f00f41a106c/doc/ddr.md
https://github.com/eclipse/omr/blob/f4394252018f04074cb375cbbd7f1f00f41a106c/doc/ddr/DDR.md
eclipse-omr/omr#1222
The text was updated successfully, but these errors were encountered: