[pr/110] RFR: 8317812: [Lilliput] Make C2 LoadNKlassCompactHeader more robust

Aleksey Shipilev shade at openjdk.org
Wed Oct 11 08:30:38 UTC 2023


On Wed, 11 Oct 2023 08:22:52 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> All the operand definitions use 0x4 for 'no index' e.g.:
>> operand stackSlotI(sRegI reg)
>> %{
>>   constraint(ALLOC_IN_RC(stack_slots));
>>   // No match rule because this operand is only generated in matching
>> 
>>   format %{ "[$reg]" %}
>>   interface(MEMORY_INTER) %{
>>     base(0x4);   // RSP
>>     index(0x4);  // No Index
>>     scale(0x0);  // No Scale
>>     disp($reg);  // Stack Offset
>>   %}
>> %}
>> 
>> There are many more cases like this in x86_64
>
> Ah, ok then. I missed that original assert also checked for `4`. Weird.

On the other hand, this suggests that we can pass `$mem$$index$Register` right away?

https://github.com/openjdk/lilliput/pull/111/files#diff-018aa61d1a7aafcf70a535fcd40a318a4bd6511fd40ac39ce4be90cc52216749L7350

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

PR Review Comment: https://git.openjdk.org/lilliput/pull/111#discussion_r1354394477


More information about the lilliput-dev mailing list