RFR: 8322630: Remove ICStubs and related safepoints [v4]

Erik Österlund eosterlund at openjdk.org
Tue Jan 30 08:35:59 UTC 2024


On Mon, 29 Jan 2024 13:48:00 GMT, Doug Simon <dnsimon at openjdk.org> wrote:

>> Erik Österlund has updated the pull request incrementally with eight additional commits since the last revision:
>> 
>>  - Batch allocate and free CompiledICData
>>  - JVMCI support
>>  - Cleanup from FYang
>>  - Axel suggestions
>>  - Suggestion from Axel
>>  - Use relevant global register aliases for clarity
>>  - Rename register aliases: holder -> data
>>  - Platform Comment Cleanup
>
> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 1004:
> 
>> 1002: 
>> 1003: int MacroAssembler::ic_check_size() {
>> 1004:   return NativeInstruction::instruction_size * 7;
> 
> This can be 5 or 7 depending on `MacroAssembler::far_jump` right? If it's 5, then who inserts the extra alignment at the end of the IC check?

Good point. I sort of assumed we will always get a far jump, but maybe I'm wrong. Either way, I added a check if the target is far or not, so we can select 5 or 7 accordingly.

> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 1140:
> 
>> 1138: }
>> 1139: 
>> 1140: void MacroAssembler::align(int modulus, int target) {
> 
> It would be nice to document what this extra `align` function does.

Good idea. I wrote a comment.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17495#discussion_r1470768117
PR Review Comment: https://git.openjdk.org/jdk/pull/17495#discussion_r1470766460


More information about the shenandoah-dev mailing list