-
Notifications
You must be signed in to change notification settings - Fork 782
Do not ignore any relocation records #4892
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
Conversation
Currently there is a coupling between the existence of guards and the relocation of the inlined table in the metadata. This means that if the JIT does not produce a guard for certain inlined sites, the associated entry in the inlined table in the metadata will not be relocated. This has the consequence of causing other relocations that need information via this entry to not have the means to do so. The only way to proceed is to fail the AOT load - if the compiler cannot materialize a value to relocate a location that **MUST** be relocated, the code **CANNOT** be loaded and executed. Signed-off-by: Irwin D'Souza <dsouzai@ca.ibm.com>
|
@jdmpapin could you please review? |
|
@mstoodle could you also review? |
mstoodle
left a comment
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.
Safer approach given the optimizer likes to share symbol references.
|
jenkins test sanity all jdk8,jdk11 |
|
Builds are failing because of 🤷♂️ Asked about it in https://openj9.slack.com/archives/CDS7QE9HB/p1551293711017200 |
|
jenkins test sanity all jdk8 |
|
Suspected change causing build issue was reverted #4913 |
|
@mstoodle all checks passed :) |
|
thanks for the ping. merging now |
Currently there is a coupling between the existence of guards and the
relocation of the inlined table in the metadata. This means that if
the JIT does not produce a guard for certain inlined sites, the
associated entry in the inlined table in the metadata will not be
relocated. This has the consequence of causing other relocations that
need information via this entry to not have the means to do so. The
only way to proceed is to fail the AOT load - if the compiler cannot
materialize a value to relocate a location that MUST be
relocated, the code CANNOT be loaded and executed.
Fixes #4201 (again (I hope))