RFR: 8286002: Add support for intel syntax to capstone hsdis
Jorn Vernee
jvernee at openjdk.java.net
Wed May 11 17:58:46 UTC 2022
On Tue, 10 May 2022 08:19:04 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:
>> This patch adds support for outputting assembly in intel syntax to capstone hsdis, through the `-XX:PrintAssemblyOptions=intel` flag.
>>
>> Snippet of example output:
>>
>>
>> [Verified Entry Point]
>> # {method} {0x0000021c8a4002d8} 'add' '(II)I' in 'Main'
>> # parm0: rdx = int
>> # parm1: r8 = int
>> # [sp+0x20] (sp of caller)
>> 0x0000021cfa713780: sub rsp, 0x18
>> 0x0000021cfa713787: mov qword ptr [rsp + 0x10], rbp
>> 0x0000021cfa71378c: mov eax, edx
>> 0x0000021cfa71378e: add eax, r8d
>> 0x0000021cfa713791: add rsp, 0x10
>> 0x0000021cfa713795: pop rbp
>> 0x0000021cfa713796: cmp rsp, qword ptr [r15 + 0x338]
>> ; {poll_return}
>> 0x0000021cfa71379d: ja 0x21cfa7137a4
>> 0x0000021cfa7137a3: ret
>> 0x0000021cfa7137a4: movabs r10, 0x21cfa713796 ; {internal_word}
>> 0x0000021cfa7137ae: mov qword ptr [r15 + 0x350], r10
>> 0x0000021cfa7137b5: jmp 0x21cfa6f3400 ; {runtime_call SafepointBlob}
>> ```
>>
>> Testing:
>> - Manual testing with and without `-XX:PrintAssemblyOptions=intel`, to make sure that both syntaxes work.
>> - Manual testing with several different invalid options such as `-XX:PrintAssemblyOptions=asdf,,` to make sure that invalid options are handled correctly.
>>
>> Thanks,
>> Jorn
>
> Looks reasonable.
@TobiHartmann Thanks for the review!
-------------
PR: https://git.openjdk.java.net/jdk/pull/8502
More information about the hotspot-compiler-dev
mailing list