Stream: git-wasmtime

Topic: wasmtime / PR #8637 Display symbol names and a hex dump i...


view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 17:45):

lpereira opened PR #8637 from lpereira:disasm-with-symbol-names to bytecodealliance:main:

Another one in the series to improve the debuggability quality of life: display the symbol name in the "compile -D" command, as well as change the byte dump at the beginning with a crude hexdump.

No tests seems to expect anything with the string "Disassembly of {num} bytes", so no tests have been updated.

view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 17:45):

lpereira requested elliottt for a review on PR #8637.

view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 17:45):

lpereira requested wasmtime-compiler-reviewers for a review on PR #8637.

view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 17:47):

lpereira edited PR #8637:

Another one in the series to improve the debuggability quality of life: display the symbol name in the "compile -D" command, as well as change the byte dump at the beginning with a crude hexdump.

No tests seems to expect anything with the string "Disassembly of {num} bytes", so no tests have been updated.

Here's an output sample (excerpt from compile -D cranelift/filetests/filetests/wasm/f64-arith.clif):

Hex dump of 44 bytes <%f64_copysign>:
55 48 89 e5 48 b9 00 00 00 00 00 00 00 80 66 48   UH··H·········fH
0f 6e f9 66 0f 6f d0 66 0f 6f c7 66 0f 55 c2 66   ·n·f·o·f·o·f·U·f
0f 54 f9 66 0f 56 c7 48 89 ec 5d c3               ·T·f·V·H··]·

Disassembly of 44 bytes <%f64_copysign>:
   0:   55                      pushq   %rbp
   1:   48 89 e5                movq    %rsp, %rbp
   4:   48 b9 00 00 00 00 00 00 00 80
                movabsq $9223372036854775808, %rcx
   e:   66 48 0f 6e f9          movq    %rcx, %xmm7
  13:   66 0f 6f d0             movdqa  %xmm0, %xmm2
  17:   66 0f 6f c7             movdqa  %xmm7, %xmm0
  1b:   66 0f 55 c2             andnpd  %xmm2, %xmm0
  1f:   66 0f 54 f9             andpd   %xmm1, %xmm7
  23:   66 0f 56 c7             orpd    %xmm7, %xmm0
  27:   48 89 ec                movq    %rbp, %rsp
  2a:   5d                      popq    %rbp
  2b:   c3                      retq

view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 17:50):

lpereira updated PR #8637.

view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 17:51):

lpereira edited PR #8637:

Another one in the series to improve the debuggability quality of life: display the symbol name in the "compile -D" command, as well as change the byte dump at the beginning with a crude hexdump.

No tests seems to expect anything with the string "Disassembly of {num} bytes", so no tests have been updated.

Here's an output sample (excerpt from compile -D cranelift/filetests/filetests/wasm/f64-arith.clif):

Hex dump of 44 bytes <%f64_copysign>:
55 48 89 e5 48 b9 00 00 00 00 00 00 00 80 66 48   UH··H·········fH
0f 6e f9 66 0f 6f d0 66 0f 6f c7 66 0f 55 c2 66   ·n·f·o·f·o·f·U·f
0f 54 f9 66 0f 56 c7 48 89 ec 5d c3               ·T·f·V·H··]·

Byte dump of 44 bytes <%f64_copysign>:
.byte 85, 72, 137, 229, 72, 185, 0, 0, 0, 0, 0, 0, 0, 128, 102, 72, 15, 110, 249, 102, 15, 111, 208, 102, 15, 111, 199, 102, 15, 85, 194, 102, 15, 84, 249, 102, 15, 86, 199, 72, 137, 236, 93, 195

Disassembly of 44 bytes <%f64_copysign>:
   0:   55                      pushq   %rbp
   1:   48 89 e5                movq    %rsp, %rbp
   4:   48 b9 00 00 00 00 00 00 00 80
                movabsq $9223372036854775808, %rcx
   e:   66 48 0f 6e f9          movq    %rcx, %xmm7
  13:   66 0f 6f d0             movdqa  %xmm0, %xmm2
  17:   66 0f 6f c7             movdqa  %xmm7, %xmm0
  1b:   66 0f 55 c2             andnpd  %xmm2, %xmm0
  1f:   66 0f 54 f9             andpd   %xmm1, %xmm7
  23:   66 0f 56 c7             orpd    %xmm7, %xmm0
  27:   48 89 ec                movq    %rbp, %rsp
  2a:   5d                      popq    %rbp
  2b:   c3                      retq

view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 17:52):

lpereira updated PR #8637.

view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 17:53):

lpereira edited PR #8637:

Another one in the series to improve the debuggability quality of life: display the symbol name in the "compile -D" command, as well as change the byte dump at the beginning with a crude hexdump.

No tests seems to expect anything with the string "Disassembly of {num} bytes", so no tests have been updated.

Here's an output sample (excerpt from compile -D cranelift/filetests/filetests/wasm/f64-arith.clif):

Hex dump of 44 bytes <%f64_copysign>:
55 48 89 e5 48 b9 00 00 00 00 00 00 00 80 66 48   UH··H·········fH
0f 6e f9 66 0f 6f d0 66 0f 6f c7 66 0f 55 c2 66   ·n·f·o·f·o·f·U·f
0f 54 f9 66 0f 56 c7 48 89 ec 5d c3               ·T·f·V·H··]·

Byte dump of 44 bytes <%f64_copysign>:
.byte 55, 48, 89, e5, 48, b9, 00, 00, 00, 00, 00, 00, 00, 80, 66, 48
.byte 0f, 6e, f9, 66, 0f, 6f, d0, 66, 0f, 6f, c7, 66, 0f, 55, c2, 66
.byte 0f, 54, f9, 66, 0f, 56, c7, 48, 89, ec, 5d, c3

Disassembly of 44 bytes <%f64_copysign>:
   0:   55                      pushq   %rbp
   1:   48 89 e5                movq    %rsp, %rbp
   4:   48 b9 00 00 00 00 00 00 00 80
                movabsq $9223372036854775808, %rcx
   e:   66 48 0f 6e f9          movq    %rcx, %xmm7
  13:   66 0f 6f d0             movdqa  %xmm0, %xmm2
  17:   66 0f 6f c7             movdqa  %xmm7, %xmm0
  1b:   66 0f 55 c2             andnpd  %xmm2, %xmm0
  1f:   66 0f 54 f9             andpd   %xmm1, %xmm7
  23:   66 0f 56 c7             orpd    %xmm7, %xmm0
  27:   48 89 ec                movq    %rbp, %rsp
  2a:   5d                      popq    %rbp
  2b:   c3                      retq

view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 17:53):

lpereira updated PR #8637.

view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 17:54):

lpereira edited PR #8637:

Another one in the series to improve the debuggability quality of life: display the symbol name in the "compile -D" command, as well as change the byte dump at the beginning with a crude hexdump.

No tests seems to expect anything with the string "Disassembly of {num} bytes", so no tests have been updated.

Here's an output sample (excerpt from compile -D cranelift/filetests/filetests/wasm/f64-arith.clif):

Hex dump of 44 bytes <%f64_copysign>:
55 48 89 e5 48 b9 00 00 00 00 00 00 00 80 66 48   UH··H·········fH
0f 6e f9 66 0f 6f d0 66 0f 6f c7 66 0f 55 c2 66   ·n·f·o·f·o·f·U·f
0f 54 f9 66 0f 56 c7 48 89 ec 5d c3               ·T·f·V·H··]·

Byte dump of 44 bytes <%f64_copysign>:
.byte 0x55, 0x48, 0x89, 0xe5, 0x48, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x66, 0x48
.byte 0x0f, 0x6e, 0xf9, 0x66, 0x0f, 0x6f, 0xd0, 0x66, 0x0f, 0x6f, 0xc7, 0x66, 0x0f, 0x55, 0xc2, 0x66
.byte 0x0f, 0x54, 0xf9, 0x66, 0x0f, 0x56, 0xc7, 0x48, 0x89, 0xec, 0x5d, 0xc3

Disassembly of 44 bytes <%f64_copysign>:
   0:   55                      pushq   %rbp
   1:   48 89 e5                movq    %rsp, %rbp
   4:   48 b9 00 00 00 00 00 00 00 80
                movabsq $9223372036854775808, %rcx
   e:   66 48 0f 6e f9          movq    %rcx, %xmm7
  13:   66 0f 6f d0             movdqa  %xmm0, %xmm2
  17:   66 0f 6f c7             movdqa  %xmm7, %xmm0
  1b:   66 0f 55 c2             andnpd  %xmm2, %xmm0
  1f:   66 0f 54 f9             andpd   %xmm1, %xmm7
  23:   66 0f 56 c7             orpd    %xmm7, %xmm0
  27:   48 89 ec                movq    %rbp, %rsp
  2a:   5d                      popq    %rbp
  2b:   c3                      retq

view this post on Zulip Wasmtime GitHub notifications bot (May 16 2024 at 18:13):

lpereira updated PR #8637.

view this post on Zulip Wasmtime GitHub notifications bot (May 17 2024 at 00:56):

elliottt commented on PR #8637:

Adding the name seems like a really nice improvement, but I'm not sure about the additional hex and byte dumps, given that Capstone is already printing out the hex bytes of the instructions. Was there a specific case that you had in mind where they were improving debugging?

view this post on Zulip Wasmtime GitHub notifications bot (May 21 2024 at 20:29):

lpereira updated PR #8637.


Last updated: Dec 23 2024 at 12:05 UTC