[prev in list] [next in list] [prev in thread] [next in thread]
List: sbcl-devel
Subject: [Sbcl-devel] new float to pointer coercion in sbcl-2.1.4
From: Tito Latini <tito.01beta () gmail ! com>
Date: 2021-04-29 9:18:09
Message-ID: 20210429091809.GA3233 () vis ! roboris
[Download RAW message or body]
Hi,
sorry for the delayed report but I'm discovering that problem just now:
(defun prova (x)
(declare (type (simple-array double-float *) x)
(optimize speed (safety 0)))
(setf (aref x 0) (random 1d0))
(values))
; in: DEFUN PROVA
; (RANDOM 1.0d0)
;
; note: doing float to pointer coercion (cost 13) to SB-KERNEL::CANDIDATE
It is new in sbcl-2.1.4
(disassemble #'prova)
; disassembly for PROVA
; Size: 569 bytes. Origin: #x5362A35B ; PROVA
[...]
; 578: 480F42E3 CMOVB RSP, RBX
; 57C: 488B75E8 MOV RSI, [RBP-24]
; 580: 31C0 XOR EAX, EAX
; 582: E916FEFFFF JMP L1
; 587: L8: 6A11 PUSH 17
; 589: E8875D3DFF CALL #x52A00315 ; CONS->RNN
; 58E: 58 POP RAX
; 58F: E94AFFFFFF JMP L3
;; From sbcl-2.1.3
(disassemble #'prova)
; disassembly for PROVA
; Size: 466 bytes. Origin: #x52C276DB ; PROVA
[...]
; 87D: L3: 48897DF0 MOV [RBP-16], RDI
; 881: 488975E8 MOV [RBP-24], RSI
; 885: 4883EC10 SUB RSP, 16
; 889: B902000000 MOV ECX, 2
; 88E: 48892C24 MOV [RSP], RBP
; 892: 488BEC MOV RBP, RSP
; 895: E8C80774FD CALL #x50368062 ; #<FDEFN SB-KERNEL::RANDOM-MT19937-UPDATE>
; 89A: 480F42E3 CMOVB RSP, RBX
; 89E: 488B75E8 MOV RSI, [RBP-24]
; 8A2: 488B7DF0 MOV RDI, [RBP-16]
; 8A6: 31C0 XOR EAX, EAX
; 8A8: E95AFEFFFF JMP L0
_______________________________________________
Sbcl-devel mailing list
Sbcl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic