RFR: 8241502: Migrate x86_64.ad to MacroAssembler [v6]

Vladimir Ivanov vlivanov at openjdk.java.net
Mon Mar 29 10:47:26 UTC 2021


On Wed, 17 Mar 2021 17:23:05 GMT, John Tortugo <github.com+2249648+JohnTortugo at openjdk.org> wrote:

>> Relates to: https://bugs.openjdk.java.net/browse/JDK-8241502
>> Tested on: Linux tier1, 2 and 3
>> 
>> Can you please take a look whether these changes are going in the direction expected or not? If it is, I'll continue working on the `JDK-8241502` but I'd like to split it in a few PRs since it's a lot of changes.
>
> John Tortugo has updated the pull request incrementally with one additional commit since the last revision:
> 
>   All conversions performed and tested.

src/hotspot/cpu/x86/x86_64.ad line 8329:

> 8327:     "done:"        %}
> 8328:   opcode(0xF7, 0x7);  /* Opcode F7 /7 */
> 8329:   ins_encode(cdql_enc(div), REX_reg(div), OpcP, reg_opc(div));

`cdql_enc`/`cdqq_enc` contain extensive comments about the logic. What about migrating them to dedicated methods in `MacroAssembler`/`C2_MacroAssembler` (`idivrem`/`ldivrem`) and calling those from `divI_rReg` / `divL_rReg`/`divModL_rReg_divmod`/...?

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

PR: https://git.openjdk.java.net/jdk/pull/2420


More information about the hotspot-compiler-dev mailing list