This enhancement systematizes handling of Opto and C1 stubs using a similar stub declaration format as the one used for Shared stubs.
A unique (enum) id is generated for each Opto/C1 stub. Declarations/definitions for the stub's name and, in the case of Opto stubs, the static field storing the associated blob/entry address are also generated.
Opto static field names remain the same so no changes are required to client code that references these fields.
The names for generated Opto and C1 stubs/blobs are regularized and made available via a name lookup method requiring a few changes to arch-specific generator implementations and to test code.
Opto stub generator calls are cloned from the stub/blob declarations, replacing the existing table of calls with an iterator macro.
The changes to C1 code replace the existing generation scheme with one driven from the stub definitions, making them uniform with Shared and Opto stubs. This requires systematic changes to arch-specific client code, in particular to idenitfy stubs using enum tags relocated from class `c1_Runtime` to enum C1StubId`.
A unique (enum) id is generated for each Opto/C1 stub. Declarations/definitions for the stub's name and, in the case of Opto stubs, the static field storing the associated blob/entry address are also generated.
Opto static field names remain the same so no changes are required to client code that references these fields.
The names for generated Opto and C1 stubs/blobs are regularized and made available via a name lookup method requiring a few changes to arch-specific generator implementations and to test code.
Opto stub generator calls are cloned from the stub/blob declarations, replacing the existing table of calls with an iterator macro.
The changes to C1 code replace the existing generation scheme with one driven from the stub definitions, making them uniform with Shared and Opto stubs. This requires systematic changes to arch-specific client code, in particular to idenitfy stubs using enum tags relocated from class `c1_Runtime` to enum C1StubId`.
- relates to
-
JDK-8343346 [lworld] IR matching need updating after merging JDK-8339849
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk/b88ff9c9
-
Review(master) openjdk/jdk/20936