[pr/110] RFR: 8317812: [Lilliput] Make C2 LoadNKlassCompactHeader more robust
Aleksey Shipilev
shade at openjdk.org
Wed Oct 11 08:26:20 UTC 2023
On Tue, 10 Oct 2023 19:32:51 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> For some reason, in x86 C2, register index 4 is 'no' register. Similar checks are used elsewhere, e.g. in encode_RegMem in x86_64.ad, line 643. Not sure how to make that better.
>
> 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.
-------------
PR Review Comment: https://git.openjdk.org/lilliput/pull/111#discussion_r1354385649
More information about the lilliput-dev
mailing list