История изменений
Исправление no-such-file, (текущая версия) :
Может конкретный процессор
Ну прям заинтриговал. Выложи disassemble чтоли, интересно в чём таки отличие.
CL-USER> (defun test () (loop for i from 1 to 1000000000 sum i))
TEST
CL-USER> (disassemble #'test)
; disassembly for TEST
; Size: 78 bytes. Origin: #x10060C8A24
; 24: 498B4C2460 MOV RCX, [R12+96] ; thread.binding-stack-pointer
; no-arg-parsing entry point
; 29: 48894DF8 MOV [RBP-8], RCX
; 2D: BB02000000 MOV EBX, 2
; 32: 31C9 XOR ECX, ECX
; 34: EB28 JMP L1
; 36: 660F1F840000000000 NOP
; 3F: 90 NOP
; 40: L0: 48895DF0 MOV [RBP-16], RBX
; 44: 488BD1 MOV RDX, RCX
; 47: 488BFB MOV RDI, RBX
; 4A: 41BBC0010020 MOV R11D, 536871360 ; GENERIC-+
; 50: 41FFD3 CALL R11
; 53: 488BCA MOV RCX, RDX
; 56: 488B5DF0 MOV RBX, [RBP-16]
; 5A: 4883C302 ADD RBX, 2
; 5E: L1: 4881FB00943577 CMP RBX, 2000000000
; 65: 7ED9 JLE L0
; 67: 488BD1 MOV RDX, RCX
; 6A: 488BE5 MOV RSP, RBP
; 6D: F8 CLC
; 6E: 5D POP RBP
; 6F: C3 RET
; 70: CC10 BREAK 16 ; Invalid argument count trap
Исходная версия no-such-file, :
Может конкретный процессор
Ну прям заинтриговал. Выложи disasemble чтоли, интересно в чём таки отличие.
CL-USER> (defun test () (loop for i from 1 to 1000000000 sum i))
TEST
CL-USER> (disassemble #'test)
; disassembly for TEST
; Size: 78 bytes. Origin: #x10060C8A24
; 24: 498B4C2460 MOV RCX, [R12+96] ; thread.binding-stack-pointer
; no-arg-parsing entry point
; 29: 48894DF8 MOV [RBP-8], RCX
; 2D: BB02000000 MOV EBX, 2
; 32: 31C9 XOR ECX, ECX
; 34: EB28 JMP L1
; 36: 660F1F840000000000 NOP
; 3F: 90 NOP
; 40: L0: 48895DF0 MOV [RBP-16], RBX
; 44: 488BD1 MOV RDX, RCX
; 47: 488BFB MOV RDI, RBX
; 4A: 41BBC0010020 MOV R11D, 536871360 ; GENERIC-+
; 50: 41FFD3 CALL R11
; 53: 488BCA MOV RCX, RDX
; 56: 488B5DF0 MOV RBX, [RBP-16]
; 5A: 4883C302 ADD RBX, 2
; 5E: L1: 4881FB00943577 CMP RBX, 2000000000
; 65: 7ED9 JLE L0
; 67: 488BD1 MOV RDX, RCX
; 6A: 488BE5 MOV RSP, RBP
; 6D: F8 CLC
; 6E: 5D POP RBP
; 6F: C3 RET
; 70: CC10 BREAK 16 ; Invalid argument count trap