Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Common Lisp is shit

Name: Anonymous 2012-04-18 8:54

ALL OF THIS FOR A SIMPLE ADD? HAHHAAHA


CL-USER> (disassemble #'+)
; disassembly for +
; 00682BD0:       .ENTRY +(&REST ARGS)                        ; (FUNCTION
                                                              ;  (&REST T) ..)
;      C08:       8F4508           POP QWORD PTR [RBP+8]
;      C0B:       E34C             JRCXZ L2
;      C0D:       488D5DD0         LEA RBX, [RBP-48]
;      C11:       4829CB           SUB RBX, RCX
;      C14:       488BE3           MOV RSP, RBX
;      C17:       488BD9           MOV RBX, RCX
;      C1A:       4883E918         SUB RCX, 24
;      C1E:       761C             JBE L1
;      C20:       4C8D4D10         LEA R9, [RBP+16]
;      C24:       4929D9           SUB R9, RBX
;      C27:       4D31C0           XOR R8, R8
;      C2A: L0:   4F8B1401         MOV R10, [R9+R8]
;      C2E:       4E891404         MOV [RSP+R8], R10
;      C32:       4983C008         ADD R8, 8
;      C36:       4883E908         SUB RCX, 8
;      C3A:       75EE             JNE L0
;      C3C: L1:   488BCB           MOV RCX, RBX
;      C3F:       488955C8         MOV [RBP-56], RDX
;      C43:       4883F908         CMP RCX, 8
;      C47:       7414             JEQ L3
;      C49:       48897DC0         MOV [RBP-64], RDI
;      C4D:       4883F910         CMP RCX, 16
;      C51:       740A             JEQ L3
;      C53:       488975B8         MOV [RBP-72], RSI
;      C57:       EB04             JMP L3
;      C59: L2:   488D65D0         LEA RSP, [RBP-48]
;      C5D: L3:   48894DF0         MOV [RBP-16], RCX
;      C61:       488B4DF0         MOV RCX, [RBP-16]
;      C65:       488D740CF8       LEA RSI, [RSP+RCX-8]
;      C6A:       BB17001020       MOV EBX, 537919511
;      C6F:       E35C             JRCXZ L7
;      C71:       488D1409         LEA RDX, [RCX+RCX]
;      C75:       4989AC24B8000000 MOV [R12+184], RBP
;      C7D:       4D8B5C2468       MOV R11, [R12+104]
;      C82:       4C01DA           ADD RDX, R11
;      C85:       4939542470       CMP [R12+112], RDX
;      C8A:       0F86CA000000     JBE L14
;      C90:       4989542468       MOV [R12+104], RDX
;      C95:       498D5307         LEA RDX, [R11+7]
;      C99: L4:   FD               STD
;      C9A:       488BDA           MOV RBX, RDX
;      C9D:       EB08             JMP L6
;      C9F: L5:   4883C210         ADD RDX, 16
;      CA3:       488952F1         MOV [RDX-15], RDX
;      CA7: L6:   488B06           MOV RAX, [RSI]
;      CAA:       4883EE08         SUB RSI, 8
;      CAE:       488942F9         MOV [RDX-7], RAX
;      CB2:       4883E908         SUB RCX, 8
;      CB6:       75E7             JNE L5
;      CB8:       48C7420117001020 MOV QWORD PTR [RDX+1], 537919511
;      CC0:       FC               CLD
;      CC1:       4931AC24B8000000 XOR [R12+184], RBP
;      CC9:       7402             JEQ L7
;      CCB:       CC09             BREAK 9                    ; pending interrupt trap
;      CCD: L7:   4881FB17001020   CMP RBX, 537919511
;      CD4:       0F847C000000     JEQ L13
;      CDA:       488B4B01         MOV RCX, [RBX+1]
;      CDE:       488B53F9         MOV RDX, [RBX-7]
;      CE2:       F6C207           TEST DL, 7
;      CE5:       741A             JEQ L8
;      CE7:       80FA1A           CMP DL, 26
;      CEA:       7415             JEQ L8
;      CEC:       8BC2             MOV EAX, EDX
;      CEE:       240F             AND AL, 15
;      CF0:       3C0F             CMP AL, 15
;      CF2:       7555             JNE L12
;      CF4:       8A42F1           MOV AL, [RDX-15]
;      CF7:       3C16             CMP AL, 22
;      CF9:       7606             JBE L8
;      CFB:       2C1E             SUB AL, 30
;      CFD:       3C0C             CMP AL, 12
;      CFF:       7748             JNBE L12
;      D01: L8:   EB37             JMP L10
;      D03:       90               NOP
;      D04:       90               NOP
;      D05:       90               NOP
;      D06:       90               NOP
;      D07:       90               NOP
;      D08:       90               NOP
;      D09:       90               NOP
;      D0A:       90               NOP
;      D0B:       90               NOP
;      D0C:       90               NOP
;      D0D:       90               NOP
;      D0E:       90               NOP
;      D0F:       90               NOP
;      D10: L9:   8BC1             MOV EAX, ECX
;      D12:       240F             AND AL, 15
;      D14:       3C07             CMP AL, 7
;      D16:       755D             JNE L15
;      D18:       488BC1           MOV RAX, RCX
;      D1B:       488B4001         MOV RAX, [RAX+1]
;      D1F:       488945F8         MOV [RBP-8], RAX
;      D23:       488B79F9         MOV RDI, [RCX-7]
;      D27:       4C8D1C25E0010020 LEA R11, [#x200001E0]      ; GENERIC-+
;      D2F:       41FFD3           CALL R11
;      D32:       480F42E3         CMOVB RSP, RBX
;      D36:       488B4DF8         MOV RCX, [RBP-8]
;      D3A: L10:  4881F917001020   CMP RCX, 537919511
;      D41:       75CD             JNE L9
;      D43: L11:  488BE5           MOV RSP, RBP
;      D46:       F8               CLC
;      D47:       5D               POP RBP
;      D48:       C3               RET
;      D49: L12:  488B0570FEFFFF   MOV RAX, [RIP-400]         ; 'NUMBER
;      D50:       CC0A             BREAK 10                   ; error trap
;      D52:       03               BYTE #X03
;      D53:       1F               BYTE #X1F                  ; OBJECT-NOT-TYPE-ERROR
;      D54:       95               BYTE #X95                  ; RDX
;      D55:       15               BYTE #X15                  ; RAX
;      D56: L13:  31D2             XOR EDX, EDX
;      D58:       EBE9             JMP L11
;      D5A: L14:  492B542468       SUB RDX, [R12+104]
;      D5F:       52               PUSH RDX
;      D60:       4C8D1C2570254200 LEA R11, [#x422570]        ; alloc_tramp
;      D68:       41FFD3           CALL R11
;      D6B:       5A               POP RDX
;      D6C:       488D5207         LEA RDX, [RDX+7]
;      D70:       E924FFFFFF       JMP L4
;      D75: L15:  CC0A             BREAK 10                   ; error trap
;      D77:       02               BYTE #X02
;      D78:       02               BYTE #X02                  ; OBJECT-NOT-LIST-ERROR
;      D79:       55               BYTE #X55                  ; RCX
NIL

Name: Anonymous 2012-04-18 15:53

>>16
I'm pretty sure it's the timing routine that's inaccurate.

>>17
Compiling to native code can be a lot more inefficient than just interpreting bytecode and only selectively compiling hotspots at runtime (via aggressive inlining).  Manual type hints are uglier than your mom.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List