Isoraqathedh

disassembly-output

Nov 28th, 2015
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.88 KB | None | 0 0
  1. CL-USER> (defun add-and-two (x y) (+ x y 2))
  2. ADD-AND-TWO
  3. CL-USER> (disassemble 'add-and-two)
  4. ; disassembly for ADD-AND-TWO
  5. ; Size: 55 bytes. Origin: #x10090B21F4
  6. ; 1F4:       498B4C2460       MOV RCX, [R12+96]               ; thread.binding-stack-pointer
  7.                                                               ; no-arg-parsing entry point
  8. ; 1F9:       48894DF8         MOV [RBP-8], RCX
  9. ; 1FD:       84042500000F20   TEST AL, [#x200F0000]           ; safepoint
  10. ; 204:       488B55F0         MOV RDX, [RBP-16]
  11. ; 208:       488B7DE8         MOV RDI, [RBP-24]
  12. ; 20C:       41BBC0010020     MOV R11D, 536871360             ; GENERIC-+
  13. ; 212:       41FFD3           CALL R11
  14. ; 215:       BF04000000       MOV EDI, 4
  15. ; 21A:       41BBC0010020     MOV R11D, 536871360             ; GENERIC-+
  16. ; 220:       41FFD3           CALL R11
  17. ; 223:       488BE5           MOV RSP, RBP
  18. ; 226:       F8               CLC
  19. ; 227:       5D               POP RBP
  20. ; 228:       C3               RET
  21. ; 229:       CC10             BREAK 16                        ; Invalid argument count trap
  22. NIL
  23. CL-USER> (defun add-and-two (x y)
  24.            (declare (optimize (speed 3) (safety 0)))
  25.            (declare (fixnum x y))
  26.            (the fixnum (+ x y 2)))
  27. WARNING: redefining COMMON-LISP-USER::ADD-AND-TWO in DEFUN
  28. ADD-AND-TWO
  29. CL-USER> (disassemble 'add-and-two)
  30. ; disassembly for ADD-AND-TWO
  31. ; Size: 26 bytes. Origin: #x1009C30B6F
  32. ; 6F:       84042500000F20   TEST AL, [#x200F0000]            ; safepoint
  33.                                                               ; no-arg-parsing entry point
  34. ; 76:       4801F9           ADD RCX, RDI
  35. ; 79:       4883C102         ADD RCX, 2
  36. ; 7D:       48D1E1           SHL RCX, 1
  37. ; 80:       488BD1           MOV RDX, RCX
  38. ; 83:       488BE5           MOV RSP, RBP
  39. ; 86:       F8               CLC
  40. ; 87:       5D               POP RBP
  41. ; 88:       C3               RET
  42. NIL
Advertisement
Add Comment
Please, Sign In to add comment