Advertisement
niedzwiedzw

Untitled

Jan 22nd, 2022
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. std::sys_common::backtrace::__rust_begin_short_backtrace:
  3.     pushq   %rax
  4.     callq   *%rdi
  5.     #APP
  6.     #NO_APP
  7.     popq    %rcx
  8.     retq
  9.  
  10. std::rt::lang_start:
  11.     pushq   %rax
  12.     movq    %rdx, %rcx
  13.     movq    %rsi, %rdx
  14.     movq    %rdi, (%rsp)
  15.     leaq    .L__unnamed_1(%rip), %rsi
  16.     movq    %rsp, %rdi
  17.     callq   *std::rt::lang_start_internal@GOTPCREL(%rip)
  18.     popq    %rcx
  19.     retq
  20.  
  21. std::rt::lang_start::{{closure}}:
  22.     pushq   %rbx
  23.     subq    $80, %rsp
  24.     movq    (%rdi), %rdi
  25.     callq   std::sys_common::backtrace::__rust_begin_short_backtrace
  26.     testq   %rax, %rax
  27.     je  .LBB2_1
  28.     movq    %rax, (%rsp)
  29.     movq    %rdx, 8(%rsp)
  30.     movq    %rsp, %rax
  31.     movq    %rax, 16(%rsp)
  32.     leaq    <alloc::boxed::Box<T,A> as core::fmt::Debug>::fmt(%rip), %rax
  33.     movq    %rax, 24(%rsp)
  34.     leaq    .L__unnamed_2(%rip), %rax
  35.     movq    %rax, 32(%rsp)
  36.     movq    $2, 40(%rsp)
  37.     movq    $0, 48(%rsp)
  38.     leaq    16(%rsp), %rax
  39.     movq    %rax, 64(%rsp)
  40.     movq    $1, 72(%rsp)
  41.     leaq    32(%rsp), %rdi
  42.     callq   *std::io::stdio::_eprint@GOTPCREL(%rip)
  43.     movq    (%rsp), %rdi
  44.     movq    8(%rsp), %rax
  45.     callq   *(%rax)
  46.     movq    8(%rsp), %rax
  47.     movq    8(%rax), %rsi
  48.     testq   %rsi, %rsi
  49.     je  .LBB2_8
  50.     movq    (%rsp), %rdi
  51.     movq    16(%rax), %rdx
  52.     callq   *__rust_dealloc@GOTPCREL(%rip)
  53.  
  54. .LBB2_8:
  55.     movl    $1, %eax
  56.     addq    $80, %rsp
  57.     popq    %rbx
  58.     retq
  59.  
  60. .LBB2_1:
  61.     xorl    %eax, %eax
  62.     addq    $80, %rsp
  63.     popq    %rbx
  64.     retq
  65.     movq    %rax, %rbx
  66.     movq    (%rsp), %rdi
  67.     movq    8(%rsp), %rsi
  68.     callq   alloc::alloc::box_free
  69.     jmp .LBB2_3
  70.     movq    %rax, %rbx
  71.     movq    %rsp, %rdi
  72.     callq   core::ptr::drop_in_place<alloc::boxed::Box<dyn std::error::Error>>
  73.  
  74. .LBB2_3:
  75.     movq    %rbx, %rdi
  76.     callq   _Unwind_Resume@PLT
  77.     ud2
  78.  
  79. core::ops::function::FnOnce::call_once{{vtable.shim}}:
  80.     pushq   %rbx
  81.     subq    $80, %rsp
  82.     movq    (%rdi), %rdi
  83.     callq   std::sys_common::backtrace::__rust_begin_short_backtrace
  84.     testq   %rax, %rax
  85.     je  .LBB3_1
  86.     movq    %rax, (%rsp)
  87.     movq    %rdx, 8(%rsp)
  88.     movq    %rsp, %rax
  89.     movq    %rax, 16(%rsp)
  90.     leaq    <alloc::boxed::Box<T,A> as core::fmt::Debug>::fmt(%rip), %rax
  91.     movq    %rax, 24(%rsp)
  92.     leaq    .L__unnamed_2(%rip), %rax
  93.     movq    %rax, 32(%rsp)
  94.     movq    $2, 40(%rsp)
  95.     movq    $0, 48(%rsp)
  96.     leaq    16(%rsp), %rax
  97.     movq    %rax, 64(%rsp)
  98.     movq    $1, 72(%rsp)
  99.     leaq    32(%rsp), %rdi
  100.     callq   *std::io::stdio::_eprint@GOTPCREL(%rip)
  101.     movq    (%rsp), %rdi
  102.     movq    8(%rsp), %rax
  103.     callq   *(%rax)
  104.     movq    8(%rsp), %rax
  105.     movq    8(%rax), %rsi
  106.     testq   %rsi, %rsi
  107.     je  .LBB3_8
  108.     movq    (%rsp), %rdi
  109.     movq    16(%rax), %rdx
  110.     callq   *__rust_dealloc@GOTPCREL(%rip)
  111.  
  112. .LBB3_8:
  113.     movl    $1, %eax
  114.     addq    $80, %rsp
  115.     popq    %rbx
  116.     retq
  117.  
  118. .LBB3_1:
  119.     xorl    %eax, %eax
  120.     addq    $80, %rsp
  121.     popq    %rbx
  122.     retq
  123.     movq    %rax, %rbx
  124.     movq    (%rsp), %rdi
  125.     movq    8(%rsp), %rsi
  126.     callq   alloc::alloc::box_free
  127.     jmp .LBB3_3
  128.     movq    %rax, %rbx
  129.     movq    %rsp, %rdi
  130.     callq   core::ptr::drop_in_place<alloc::boxed::Box<dyn std::error::Error>>
  131.  
  132. .LBB3_3:
  133.     movq    %rbx, %rdi
  134.     callq   _Unwind_Resume@PLT
  135.     ud2
  136. core::ptr::drop_in_place<std::rt::lang_start<core::result::Result<(),alloc::boxed::Box<dyn std::error::Error>>>::{{closure}}>:
  137.     retq
  138.  
  139. core::ptr::drop_in_place<alloc::string::String>:
  140.     movq    8(%rdi), %rsi
  141.     testq   %rsi, %rsi
  142.     je  .LBB5_2
  143.     movq    (%rdi), %rdi
  144.     testq   %rdi, %rdi
  145.     je  .LBB5_2
  146.     movl    $1, %edx
  147.     jmpq    *__rust_dealloc@GOTPCREL(%rip)
  148.  
  149. .LBB5_2:
  150.     retq
  151.  
  152. core::ptr::drop_in_place<std::io::error::Error>:
  153.     pushq   %r15
  154.     pushq   %r14
  155.     pushq   %rbx
  156.     cmpb    $3, (%rdi)
  157.     jne .LBB6_5
  158.     movq    %rdi, %r15
  159.     movq    8(%rdi), %rbx
  160.     movq    (%rbx), %rdi
  161.     movq    8(%rbx), %rax
  162.     callq   *(%rax)
  163.     movq    8(%rbx), %rax
  164.     movq    8(%rax), %rsi
  165.     testq   %rsi, %rsi
  166.     je  .LBB6_4
  167.     movq    (%rbx), %rdi
  168.     movq    16(%rax), %rdx
  169.     callq   *__rust_dealloc@GOTPCREL(%rip)
  170.  
  171. .LBB6_4:
  172.     movq    8(%r15), %rdi
  173.     movl    $24, %esi
  174.     movl    $8, %edx
  175.     popq    %rbx
  176.     popq    %r14
  177.     popq    %r15
  178.     jmpq    *__rust_dealloc@GOTPCREL(%rip)
  179.  
  180. .LBB6_5:
  181.     popq    %rbx
  182.     popq    %r14
  183.     popq    %r15
  184.     retq
  185.     movq    %rax, %r14
  186.     movq    (%rbx), %rdi
  187.     movq    8(%rbx), %rsi
  188.     callq   alloc::alloc::box_free
  189.     movq    8(%r15), %rdi
  190.     callq   alloc::alloc::box_free
  191.     movq    %r14, %rdi
  192.     callq   _Unwind_Resume@PLT
  193.     ud2
  194.  
  195. core::ptr::drop_in_place<alloc::boxed::Box<dyn std::error::Error>>:
  196.     pushq   %r14
  197.     pushq   %rbx
  198.     pushq   %rax
  199.     movq    %rdi, %rbx
  200.     movq    (%rdi), %rdi
  201.     movq    8(%rbx), %rax
  202.     callq   *(%rax)
  203.     movq    8(%rbx), %rax
  204.     movq    8(%rax), %rsi
  205.     testq   %rsi, %rsi
  206.     je  .LBB7_2
  207.     movq    (%rbx), %rdi
  208.     movq    16(%rax), %rdx
  209.     addq    $8, %rsp
  210.     popq    %rbx
  211.     popq    %r14
  212.     jmpq    *__rust_dealloc@GOTPCREL(%rip)
  213.  
  214. .LBB7_2:
  215.     addq    $8, %rsp
  216.     popq    %rbx
  217.     popq    %r14
  218.     retq
  219.     movq    %rax, %r14
  220.     movq    (%rbx), %rdi
  221.     movq    8(%rbx), %rsi
  222.     callq   alloc::alloc::box_free
  223.     movq    %r14, %rdi
  224.     callq   _Unwind_Resume@PLT
  225.     ud2
  226.  
  227. alloc::alloc::box_free:
  228.     movl    $24, %esi
  229.     movl    $8, %edx
  230.     jmpq    *__rust_dealloc@GOTPCREL(%rip)
  231.  
  232. alloc::alloc::box_free:
  233.     movq    %rsi, %rax
  234.     movq    8(%rsi), %rsi
  235.     testq   %rsi, %rsi
  236.     je  .LBB9_1
  237.     movq    16(%rax), %rdx
  238.     jmpq    *__rust_dealloc@GOTPCREL(%rip)
  239.  
  240. .LBB9_1:
  241.     retq
  242.  
  243. <alloc::boxed::Box<T,A> as core::fmt::Debug>::fmt:
  244.     movq    (%rdi), %rax
  245.     movq    8(%rdi), %rcx
  246.     movq    24(%rcx), %rcx
  247.     movq    %rax, %rdi
  248.     jmpq    *%rcx
  249.  
  250. playground::main:
  251.     pushq   %rbp
  252.     pushq   %r15
  253.     pushq   %r14
  254.     pushq   %r13
  255.     pushq   %r12
  256.     pushq   %rbx
  257.     subq    $120, %rsp
  258.     movq    .L__unnamed_3(%rip), %r14
  259.     xorl    %ebx, %ebx
  260.     leaq    16(%rsp), %r15
  261.     leaq    48(%rsp), %rbp
  262.     jmp .LBB11_2
  263.  
  264. .LBB11_1:
  265.     shrq    $32, %rbx
  266.     addl    4(%rsp), %ebx
  267.  
  268. .LBB11_2:
  269.     movl    %ebx, 4(%rsp)
  270.     leaq    4(%rsp), %rax
  271.     movq    %rax, 16(%rsp)
  272.     movq    core::fmt::num::imp::<impl core::fmt::Display for u32>::fmt@GOTPCREL(%rip), %rax
  273.     movq    %rax, 24(%rsp)
  274.     leaq    .L__unnamed_4(%rip), %rax
  275.     movq    %rax, 48(%rsp)
  276.     movq    $2, 56(%rsp)
  277.     movq    $0, 64(%rsp)
  278.     movq    %r15, 80(%rsp)
  279.     movq    $1, 88(%rsp)
  280.     movq    %rbp, %rdi
  281.     callq   *std::io::stdio::_print@GOTPCREL(%rip)
  282.     leaq    24(%rsp), %rax
  283.     xorps   %xmm0, %xmm0
  284.     movups  %xmm0, (%rax)
  285.     movq    %r14, 16(%rsp)
  286.     callq   *std::io::stdio::stdin@GOTPCREL(%rip)
  287.     movq    %rax, 40(%rsp)
  288.     movq    %rbp, %rdi
  289.     leaq    40(%rsp), %rsi
  290.     movq    %r15, %rdx
  291.     callq   *std::io::stdio::Stdin::read_line@GOTPCREL(%rip)
  292.     cmpl    $1, 48(%rsp)
  293.     je  .LBB11_48
  294.     movq    16(%rsp), %r12
  295.     movq    32(%rsp), %rax
  296.     leaq    (%r12,%rax), %rbp
  297.     xorl    %ebx, %ebx
  298.     movq    %r12, %r13
  299.     testq   %rax, %rax
  300.     jne .LBB11_10
  301.     xorl    %eax, %eax
  302.     movq    %rax, 8(%rsp)
  303.     xorl    %r15d, %r15d
  304.     cmpq    %rbp, %r13
  305.     jne .LBB11_24
  306.     jmp .LBB11_41
  307.  
  308. .LBB11_9:
  309.     cmpq    %rbp, %r13
  310.     je  .LBB11_40
  311.  
  312. .LBB11_10:
  313.     movq    %r13, %rax
  314.     movq    %rbx, %r15
  315.     movzbl  (%r13), %edi
  316.     testb   %dil, %dil
  317.     js  .LBB11_12
  318.     leaq    1(%rax), %r13
  319.     jmp .LBB11_17
  320.  
  321. .LBB11_12:
  322.     movl    %edi, %ecx
  323.     andl    $31, %ecx
  324.     movzbl  1(%rax), %esi
  325.     andl    $63, %esi
  326.     cmpb    $-33, %dil
  327.     jbe .LBB11_15
  328.     movzbl  2(%rax), %edx
  329.     shll    $6, %esi
  330.     andl    $63, %edx
  331.     orl %esi, %edx
  332.     cmpb    $-16, %dil
  333.     jb  .LBB11_16
  334.     leaq    4(%rax), %r13
  335.     movzbl  3(%rax), %edi
  336.     andl    $7, %ecx
  337.     shll    $18, %ecx
  338.     shll    $6, %edx
  339.     andl    $63, %edi
  340.     orl %edx, %edi
  341.     orl %ecx, %edi
  342.     cmpl    $1114112, %edi
  343.     jne .LBB11_17
  344.     jmp .LBB11_47
  345.  
  346. .LBB11_15:
  347.     leaq    2(%rax), %r13
  348.     shll    $6, %ecx
  349.     orl %esi, %ecx
  350.     movl    %ecx, %edi
  351.     jmp .LBB11_17
  352.  
  353. .LBB11_16:
  354.     leaq    3(%rax), %r13
  355.     shll    $12, %ecx
  356.     orl %ecx, %edx
  357.     movl    %edx, %edi
  358.  
  359. .LBB11_17:
  360.     movq    %r13, %rbx
  361.     subq    %rax, %rbx
  362.     addq    %r15, %rbx
  363.     leal    -9(%rdi), %eax
  364.     cmpl    $5, %eax
  365.     jb  .LBB11_9
  366.     cmpl    $32, %edi
  367.     je  .LBB11_9
  368.     cmpl    $128, %edi
  369.     jb  .LBB11_46
  370.     callq   *core::unicode::unicode_data::white_space::lookup@GOTPCREL(%rip)
  371.     testb   %al, %al
  372.     jne .LBB11_9
  373.  
  374. .LBB11_46:
  375.     movq    %rbx, 8(%rsp)
  376.     cmpq    %rbp, %r13
  377.     jne .LBB11_24
  378.     jmp .LBB11_41
  379.  
  380. .LBB11_40:
  381.     xorl    %r15d, %r15d
  382.     xorl    %ebx, %ebx
  383.     jmp .LBB11_41
  384.  
  385. .LBB11_47:
  386.     xorl    %ebx, %ebx
  387.     movq    %r15, 8(%rsp)
  388.     xorl    %r15d, %r15d
  389.     cmpq    %rbp, %r13
  390.     jne .LBB11_24
  391.     jmp .LBB11_41
  392.  
  393. .LBB11_23:
  394.     cmpq    %rbp, %r13
  395.     je  .LBB11_39
  396.  
  397. .LBB11_24:
  398.     movq    %rbp, %r14
  399.     movzbl  -1(%rbp), %edi
  400.     testb   %dil, %dil
  401.     js  .LBB11_26
  402.     leaq    -1(%r14), %rbp
  403.     jmp .LBB11_33
  404.  
  405. .LBB11_26:
  406.     movzbl  -2(%r14), %eax
  407.     cmpb    $-64, %al
  408.     jge .LBB11_29
  409.     movzbl  -3(%r14), %ecx
  410.     cmpb    $-64, %cl
  411.     jge .LBB11_30
  412.     leaq    -4(%r14), %rbp
  413.     movzbl  -4(%r14), %edx
  414.     andl    $7, %edx
  415.     shll    $6, %edx
  416.     andl    $63, %ecx
  417.     orl %edx, %ecx
  418.     jmp .LBB11_31
  419.  
  420. .LBB11_29:
  421.     leaq    -2(%r14), %rbp
  422.     andl    $31, %eax
  423.     jmp .LBB11_32
  424.  
  425. .LBB11_30:
  426.     leaq    -3(%r14), %rbp
  427.     andl    $15, %ecx
  428.  
  429. .LBB11_31:
  430.     shll    $6, %ecx
  431.     andl    $63, %eax
  432.     orl %ecx, %eax
  433.  
  434. .LBB11_32:
  435.     shll    $6, %eax
  436.     andl    $63, %edi
  437.     orl %eax, %edi
  438.     cmpl    $1114112, %edi
  439.     je  .LBB11_39
  440.  
  441. .LBB11_33:
  442.     leal    -9(%rdi), %eax
  443.     cmpl    $5, %eax
  444.     jb  .LBB11_23
  445.     cmpl    $32, %edi
  446.     je  .LBB11_23
  447.     cmpl    $128, %edi
  448.     jb  .LBB11_38
  449.     callq   *core::unicode::unicode_data::white_space::lookup@GOTPCREL(%rip)
  450.     testb   %al, %al
  451.     jne .LBB11_23
  452.  
  453. .LBB11_38:
  454.     movq    8(%rsp), %rbx
  455.     subq    %r13, %rbx
  456.     addq    %r14, %rbx
  457.  
  458. .LBB11_39:
  459.     movq    .L__unnamed_3(%rip), %r14
  460.  
  461. .LBB11_41:
  462.     addq    %r15, %r12
  463.     subq    %r15, %rbx
  464.     movq    %r12, %rdi
  465.     movq    %rbx, %rsi
  466.     callq   *core::num::<impl core::str::traits::FromStr for u32>::from_str@GOTPCREL(%rip)
  467.     leaq    16(%rsp), %r15
  468.     leaq    48(%rsp), %rbp
  469.     movq    %rax, %rbx
  470.     testb   $1, %bl
  471.     jne .LBB11_49
  472.     movq    24(%rsp), %rsi
  473.     testq   %rsi, %rsi
  474.     je  .LBB11_1
  475.     movq    16(%rsp), %rdi
  476.     testq   %rdi, %rdi
  477.     je  .LBB11_1
  478.     movl    $1, %edx
  479.     callq   *__rust_dealloc@GOTPCREL(%rip)
  480.     jmp .LBB11_1
  481.  
  482. .LBB11_48:
  483.     movups  56(%rsp), %xmm0
  484.     movaps  %xmm0, 96(%rsp)
  485.     leaq    .L__unnamed_5(%rip), %rdi
  486.     leaq    .L__unnamed_6(%rip), %rcx
  487.     leaq    .L__unnamed_7(%rip), %r8
  488.     leaq    96(%rsp), %rdx
  489.     movl    $43, %esi
  490.     callq   *core::result::unwrap_failed@GOTPCREL(%rip)
  491.     jmp .LBB11_50
  492.  
  493. .LBB11_49:
  494.     movb    %bh, 48(%rsp)
  495.     leaq    .L__unnamed_8(%rip), %rdi
  496.     leaq    .L__unnamed_9(%rip), %rcx
  497.     leaq    .L__unnamed_10(%rip), %r8
  498.     leaq    48(%rsp), %rdx
  499.     movl    $10, %esi
  500.     callq   *core::result::unwrap_failed@GOTPCREL(%rip)
  501.  
  502. .LBB11_50:
  503.     ud2
  504.     jmp .LBB11_56
  505.     movq    %rax, %rbx
  506.     leaq    96(%rsp), %rdi
  507.     callq   core::ptr::drop_in_place<std::io::error::Error>
  508.     jmp .LBB11_57
  509.     jmp .LBB11_56
  510.     jmp .LBB11_56
  511.  
  512. .LBB11_56:
  513.     movq    %rax, %rbx
  514.  
  515. .LBB11_57:
  516.     leaq    16(%rsp), %rdi
  517.     callq   core::ptr::drop_in_place<alloc::string::String>
  518.     movq    %rbx, %rdi
  519.     callq   _Unwind_Resume@PLT
  520.     ud2
  521.  
  522. main:
  523.     pushq   %rax
  524.     movq    %rsi, %rcx
  525.     movslq  %edi, %rdx
  526.     leaq    playground::main(%rip), %rax
  527.     movq    %rax, (%rsp)
  528.     leaq    .L__unnamed_1(%rip), %rsi
  529.     movq    %rsp, %rdi
  530.     callq   *std::rt::lang_start_internal@GOTPCREL(%rip)
  531.     popq    %rcx
  532.     retq
  533.  
  534. .L__unnamed_1:
  535.     .quad   core::ptr::drop_in_place<std::rt::lang_start<core::result::Result<(),alloc::boxed::Box<dyn std::error::Error>>>::{{closure}}>
  536.     .asciz  "\b\000\000\000\000\000\000\000\b\000\000\000\000\000\000"
  537.     .quad   core::ops::function::FnOnce::call_once{{vtable.shim}}
  538.     .quad   std::rt::lang_start::{{closure}}
  539.     .quad   std::rt::lang_start::{{closure}}
  540.  
  541. .L__unnamed_9:
  542.     .quad   core::ptr::drop_in_place<std::rt::lang_start<core::result::Result<(),alloc::boxed::Box<dyn std::error::Error>>>::{{closure}}>
  543.     .asciz  "\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000"
  544.     .quad   <core::num::error::ParseIntError as core::fmt::Debug>::fmt
  545.  
  546. .L__unnamed_5:
  547.     .ascii  "called `Result::unwrap()` on an `Err` value"
  548.  
  549. .L__unnamed_6:
  550.     .quad   core::ptr::drop_in_place<std::io::error::Error>
  551.     .asciz  "\020\000\000\000\000\000\000\000\b\000\000\000\000\000\000"
  552.     .quad   <std::io::error::Error as core::fmt::Debug>::fmt
  553.  
  554. .L__unnamed_3:
  555.     .asciz  "\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
  556.  
  557. .L__unnamed_11:
  558.     .ascii  "Error: "
  559.  
  560. .L__unnamed_12:
  561.     .byte   10
  562.  
  563. .L__unnamed_2:
  564.     .quad   .L__unnamed_11
  565.     .asciz  "\007\000\000\000\000\000\000"
  566.     .quad   .L__unnamed_12
  567.     .asciz  "\001\000\000\000\000\000\000"
  568.  
  569. .L__unnamed_13:
  570.     .ascii  "src/main.rs"
  571.  
  572. .L__unnamed_7:
  573.     .quad   .L__unnamed_13
  574.     .asciz  "\013\000\000\000\000\000\000\000\b\000\000\000-\000\000"
  575.  
  576. .L__unnamed_8:
  577.     .ascii  "bad number"
  578.  
  579. .L__unnamed_10:
  580.     .quad   .L__unnamed_13
  581.     .asciz  "\013\000\000\000\000\000\000\000\t\000\000\000%\000\000"
  582.  
  583. .L__unnamed_14:
  584.     .ascii  "current value: "
  585.  
  586. .L__unnamed_15:
  587.     .ascii  " >> \n"
  588.  
  589. .L__unnamed_4:
  590.     .quad   .L__unnamed_14
  591.     .asciz  "\017\000\000\000\000\000\000"
  592.     .quad   .L__unnamed_15
  593.     .asciz  "\005\000\000\000\000\000\000"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement