Custom Query (1030 matches)
Results (184 - 186 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #47 | fixed | xpMMXreg macro (from x86-exceptions.h) not used, and appears wrong for darwin | ||
| Description |
(lines 38--39 in lisp-kernel/x86-exceptions.h) #define xpFPRvector(x) ((natural *)(&(UC_MCONTEXT(x)->__fs.__fpu_xmm0))) #define xpMMXreg(x,n) (xpFPRvector(x)[n]) The x87/mmx regs don't immediately follow the first xmm register in the darwin floating point state struct. xpMMxreg appears to be unused at the moment, so it doesn't affect anything, but it seems like it ought to be corrected or deleted. |
|||
| #52 | fixed | shorter encodings for movl $imm32, %reg and movw $imm16, %reg | ||
| Description |
It looks like we could save a byte of space by using a shorter encoding of MOV in the following cases. Images built with this change applied seem to work fine. The images are abut 28K smaller---a savings of about 0.2%, if it's even meaningful to make such comparisons. $ svn diff x86-asm.lisp
Index: x86-asm.lisp
===================================================================
--- x86-asm.lisp (revision 7024)
+++ x86-asm.lisp (working copy)
@@ -1877,8 +1877,8 @@
#x8b #o0 #x00)
(def-x8664-opcode movl ((:reg32 :insert-modrm-reg) (:anymem :insert-memory))
#x89 #o0 #x00)
- (def-x8664-opcode movl ((:imm32s :insert-imm32s) (:reg32 :insert-modrm-rm))
- #xc7 #o300 #x00)
+ (def-x8664-opcode movl ((:imm32s :insert-imm32s) (:reg32 :insert-opcode-reg))
+ #xb8 nil #x00)
(def-x8664-opcode movl ((:imm32s :insert-imm32s) (:anymem :insert-memory))
#xc7 #o000 #x00)
@@ -1889,8 +1889,8 @@
#x8b #o0 #x00 #x66)
(def-x8664-opcode movw ((:reg16 :insert-modrm-reg) (:anymem :insert-memory))
#x89 #o0 #x00 #x66)
- (def-x8664-opcode movw ((:imm16 :insert-imm16) (:reg16 :insert-modrm-rm))
- #xc7 #o300 #x00 #x66)
+ (def-x8664-opcode movw ((:imm16 :insert-imm16) (:reg16 :insert-opcode-reg))
+ #xb8 nil #x00 #x66)
(def-x8664-opcode movw ((:imm16 :insert-imm16) (:anymem :insert-memory))
#xc7 #o000 #x00 #x66)
|
|||
| #109 | fixed | x86-64 inspector fails to print closed-over value correctly | ||
| Description |
CL-USER> (defun make-adder (n)
#'(lambda (x)
(+ x n)))
MAKE-ADDER
CL-USER> (setf junk (make-adder 100))
#<COMPILED-LEXICAL-CLOSURE #x3000411258BF>
CL-USER> (inspect *)
[0] #<COMPILED-LEXICAL-CLOSURE #x3000411258BF>
[1] Name: NIL
[2] Arglist (analysis): (X)
[3] Inner lfun: #<Anonymous Function #x30004112C3AF>
Closed over values
[5] N: #<error printing SINGLE-FLOAT #xF2000000000051>
Inspect>
The value for N is obviously printed incorrectly. |
|||
Note:
See TracQuery
for help on using queries.
