[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