Skip to content

Instantly share code, notes, and snippets.

@dinfuehr
Last active November 4, 2016 16:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dinfuehr/6fa178233818fa4df7b44e6f16e9e336 to your computer and use it in GitHub Desktop.
Save dinfuehr/6fa178233818fa4df7b44e6f16e9e336 to your computer and use it in GitHub Desktop.
rust compilation difference

Nightly (f09420685 2016-10-20)

0000000000000000 <__rust_maybe_catch_panic>:
   0:   55                      push   %rbp
   1:   41 57                   push   %r15
   3:   41 56                   push   %r14
   5:   53                      push   %rbx
   6:   50                      push   %rax
   7:   49 89 ce                mov    %rcx,%r14
   a:   48 89 d3                mov    %rdx,%rbx
   d:   48 89 f8                mov    %rdi,%rax
  10:   31 ed                   xor    %ebp,%ebp
  12:   48 89 f7                mov    %rsi,%rdi
  15:   ff d0                   callq  *%rax
  17:   89 e8                   mov    %ebp,%eax
  19:   48 83 c4 08             add    $0x8,%rsp
  1d:   5b                      pop    %rbx
  1e:   41 5e                   pop    %r14
  20:   41 5f                   pop    %r15
  22:   5d                      pop    %rbp
  23:   c3                      retq
  24:   48 8b 68 40             mov    0x40(%rax),%rbp
  28:   4c 8b 78 48             mov    0x48(%rax),%r15
  2c:   48 c7 40 40 00 00 00    movq   $0x0,0x40(%rax)
  33:   00
  34:   48 89 c7                mov    %rax,%rdi
  37:   e8 00 00 00 00          callq  3c <__rust_maybe_catch_panic+0x3c>
  3c:   48 85 ed                test   %rbp,%rbp
  3f:   74 0d                   je     4e <__rust_maybe_catch_panic+0x4e>
  41:   48 89 2b                mov    %rbp,(%rbx)
  44:   4d 89 3e                mov    %r15,(%r14)
  47:   bd 01 00 00 00          mov    $0x1,%ebp
  4c:   eb c9                   jmp    17 <__rust_maybe_catch_panic+0x17>
  4e:   48 8b 3d 00 00 00 00    mov    0x0(%rip),%rdi        # 55 <__rust_maybe_catch_panic+0x55>
  55:   e8 00 00 00 00          callq  5a <__rust_maybe_catch_panic+0x5a>

Nightly (3caf63cc0 2016-10-24)

  0000000000000000 <__rust_maybe_catch_panic>:
   0:   55                      push   %rbp
   1:   48 89 e5                mov    %rsp,%rbp
   4:   41 57                   push   %r15
   6:   41 56                   push   %r14
   8:   41 54                   push   %r12
   a:   53                      push   %rbx
   b:   49 89 ce                mov    %rcx,%r14
   e:   49 89 d7                mov    %rdx,%r15
  11:   48 89 f8                mov    %rdi,%rax
  14:   31 db                   xor    %ebx,%ebx
  16:   48 89 f7                mov    %rsi,%rdi
  19:   ff d0                   callq  *%rax
  1b:   89 d8                   mov    %ebx,%eax
  1d:   5b                      pop    %rbx
  1e:   41 5c                   pop    %r12
  20:   41 5e                   pop    %r14
  22:   41 5f                   pop    %r15
  24:   5d                      pop    %rbp
  25:   c3                      retq
  26:   48 8b 58 40             mov    0x40(%rax),%rbx
  2a:   4c 8b 60 48             mov    0x48(%rax),%r12
  2e:   48 c7 40 40 00 00 00    movq   $0x0,0x40(%rax)
  35:   00
  36:   48 89 c7                mov    %rax,%rdi
  39:   e8 00 00 00 00          callq  3e <__rust_maybe_catch_panic+0x3e>
  3e:   48 85 db                test   %rbx,%rbx
  41:   74 0d                   je     50 <__rust_maybe_catch_panic+0x50>
  43:   49 89 1f                mov    %rbx,(%r15)
  46:   4d 89 26                mov    %r12,(%r14)
  49:   bb 01 00 00 00          mov    $0x1,%ebx
  4e:   eb cb                   jmp    1b <__rust_maybe_catch_panic+0x1b>
  50:   48 8b 3d 00 00 00 00    mov    0x0(%rip),%rdi        # 57 <__rust_maybe_catch_panic+0x57>
  57:   e8 00 00 00 00          callq  5c <__rust_maybe_catch_panic+0x5c>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment