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