Created
June 8, 2020 07:19
-
-
Save commander-trashdin/8c0acaca110e0f7cf3adf59861800924 to your computer and use it in GitHub Desktop.
Disassembly for different types with +.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| CL-USER> (disassemble (lambda (a b) (declare (optimize (speed 3) (safety 0) (compilation-speed 0))) | |
| (declare (long-float a) (long-float b)) | |
| (+ a b))) | |
| ; disassembly for (LAMBDA (A B)) | |
| ; Size: 65 bytes. Origin: #x52C50EE0 ; (LAMBDA (A B)) | |
| ; EE0: F20F58D1 ADDSD XMM2, XMM1 | |
| ; EE4: 49896D28 MOV [R13+40], RBP ; thread.pseudo-atomic-bits | |
| ; EE8: 498B5568 MOV RDX, [R13+104] ; thread.alloc-region | |
| ; EEC: 4C8D5A10 LEA R11, [RDX+16] | |
| ; EF0: 4D3B5D70 CMP R11, [R13+112] | |
| ; EF4: 771F JNBE L2 | |
| ; EF6: 4D895D68 MOV [R13+104], R11 ; thread.alloc-region | |
| ; EFA: L0: 66C7021D01 MOV WORD PTR [RDX], 285 | |
| ; EFF: 80CA0F OR DL, 15 | |
| ; F02: 49316D28 XOR [R13+40], RBP ; thread.pseudo-atomic-bits | |
| ; F06: 7402 JEQ L1 | |
| ; F08: CC09 INT3 9 ; pending interrupt trap | |
| ; F0A: L1: F20F1152F9 MOVSD [RDX-7], XMM2 | |
| ; F0F: 488BE5 MOV RSP, RBP | |
| ; F12: F8 CLC | |
| ; F13: 5D POP RBP | |
| ; F14: C3 RET | |
| ; F15: L2: 6A11 PUSH 17 | |
| ; F17: FF142530000052 CALL QWORD PTR [#x52000030] ; CONS->RNN | |
| ; F1E: 5A POP RDX | |
| ; F1F: EBD9 JMP L0 | |
| NIL | |
| CL-USER> (disassemble (lambda (a b) (declare (optimize (speed 3) (safety 0) (compilation-speed 0))) | |
| (declare (single-float a) (single-float b)) | |
| (+ a b))) | |
| ; disassembly for (LAMBDA (A B)) | |
| ; Size: 21 bytes. Origin: #x52C50FA8 ; (LAMBDA (A B)) | |
| ; A8: F30F58D1 ADDSS XMM2, XMM1 | |
| ; AC: 660F7ED2 MOVD EDX, XMM2 | |
| ; B0: 48C1E220 SHL RDX, 32 | |
| ; B4: 80CA19 OR DL, 25 | |
| ; B7: 488BE5 MOV RSP, RBP | |
| ; BA: F8 CLC | |
| ; BB: 5D POP RBP | |
| ; BC: C3 RET | |
| NIL | |
| CL-USER> (disassemble (lambda (a b) (declare (optimize (speed 3) (safety 0) (compilation-speed 0))) | |
| (declare (fixnum a) (fixnum b)) | |
| (+ a b))) | |
| ; disassembly for (LAMBDA (A B)) | |
| ; Size: 24 bytes. Origin: #x52C5103C ; (LAMBDA (A B)) | |
| ; 3C: 4801FA ADD RDX, RDI | |
| ; 3F: 48D1E2 SHL RDX, 1 | |
| ; 42: 710A JNO L0 | |
| ; 44: 48D1DA RCR RDX, 1 | |
| ; 47: FF142548010052 CALL QWORD PTR [#x52000148] ; ALLOC-SIGNED-BIGNUM-IN-RDX | |
| ; 4E: L0: 488BE5 MOV RSP, RBP | |
| ; 51: F8 CLC | |
| ; 52: 5D POP RBP | |
| ; 53: C3 RET | |
| NIL |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment