Skip to content

Fix retrieval of switch IProfiler info from SCC - #20348

Merged
dsouzai merged 1 commit into
eclipse-openj9:masterfrom
mpirvu:switchSCC
Oct 16, 2024
Merged

Fix retrieval of switch IProfiler info from SCC#20348
dsouzai merged 1 commit into
eclipse-openj9:masterfrom
mpirvu:switchSCC

Conversation

@mpirvu

@mpirvu mpirvu commented Oct 15, 2024

Copy link
Copy Markdown
Contributor

The code that retrieves IProfiler info from the shared class cache (SCC) first does a check to see whether the data stored is valid. This check is done against entry->getData(), but for switches this always returns 0. As a consequence the JVM is never able to retrieve switch IProfiler data from SCC.

This commit adds a new virtual call, hasData(), which will be tested instead of getData().
The reason we cannot use getData() directly, is that the switch data uses 32 bytes, exceeding the size returned by getData() which is only 8 bytes (for 64-bit architectures).

The code that retrieves IProfiler info from the
shared class cache (SCC) first does a check to see
whether the data stored is valid. This check is done
against `entry->getData()`, but for switches this
always returns 0. As a consequence the JVM is never
able to retrieve switch IProfiler data from SCC.

This commit adds a new virtual call, `hasData()`,
which will be tested instead of `getData()`.
The reason we cannot use `getData()` directly, is that
the switch data uses 32 bytes, exceeding the size
returned by getData() which is only 8 bytes (for 64-bit
architectures).

Signed-off-by: Marius Pirvu <mpirvu@ca.ibm.com>
@mpirvu
mpirvu requested a review from dsouzai as a code owner October 15, 2024 18:43
@dsouzai

dsouzai commented Oct 15, 2024

Copy link
Copy Markdown
Contributor

jenkins test sanity xlinux jdk17

@dsouzai dsouzai self-assigned this Oct 15, 2024
@dsouzai
dsouzai merged commit 104a20d into eclipse-openj9:master Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants