Skip to content

Add the correct address as ClassUnloading PicSite in POWER LE - #7487

Merged
0xdaryl merged 1 commit into
eclipse-omr:masterfrom
rmnattas:ppcle-picoffset
Oct 11, 2024
Merged

Add the correct address as ClassUnloading PicSite in POWER LE#7487
0xdaryl merged 1 commit into
eclipse-omr:masterfrom
rmnattas:ppcle-picoffset

Conversation

@rmnattas

@rmnattas rmnattas commented Oct 9, 2024

Copy link
Copy Markdown
Contributor

POWER patches class unload constants by value |= 1 of a 32bit value given it might be an instruction, to correctly invalidate the constant we offset the acursor differently for LE and BE to overwrite the least-significant bit in the constant.

Closes eclipse-openj9/openj9#20263
Maybe eclipse-openj9/openj9#20261 Closed
Maybe eclipse-openj9/openj9#19884 Closed

@rmnattas

rmnattas commented Oct 9, 2024

Copy link
Copy Markdown
Contributor Author

fyi @zl-wang @0xdaryl

@zl-wang zl-wang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. you need to push this fix to 0.48 branch as well though

@0xdaryl

0xdaryl commented Oct 10, 2024

Copy link
Copy Markdown
Contributor

Jenkins build aix,plinux

@0xdaryl 0xdaryl self-assigned this Oct 10, 2024
POWER patches class unload constants by `address |= 1` of a 32bit
value given it might be an instruction, to correctly invalidate the
constant we offset the `acursor` differently for LE and BE to
overwrite the least-significant bit in the constant.

Signed-off-by: Abdulrahman Alattas <rmnattas@gmail.com>
@rmnattas

Copy link
Copy Markdown
Contributor Author

Wrapping the addition before the casting for the AIX compiler
The "+" operator is not allowed between "void *" and "int"

@0xdaryl

0xdaryl commented Oct 10, 2024

Copy link
Copy Markdown
Contributor

Jenkins build aix,plinux

@0xdaryl
0xdaryl merged commit 870b1c9 into eclipse-omr:master Oct 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DaaLoadTest ppc64le vmState=0x00000000 _ZN3OMR9CodeCache17replaceTrampolineEP20TR_OpaqueMethodBlockPvS3_S3_b+0xe4

3 participants