[armedbear-cvs] r12880 -	branches/generic-class-file/abcl/src/org/armedbear/lisp
    Erik Huelsmann 
    ehuelsmann at common-lisp.net
       
    Mon Aug  9 08:49:01 UTC 2010
    
    
  
Author: ehuelsmann
Date: Mon Aug  9 04:48:58 2010
New Revision: 12880
Log:
Fix insertion of floats/doubles in the constant pool.
Modified:
   branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-class-file.lisp
Modified: branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-class-file.lisp
==============================================================================
--- branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-class-file.lisp	(original)
+++ branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-class-file.lisp	Mon Aug  9 04:48:58 2010
@@ -449,7 +449,8 @@
   "Returns the index of the constant-pool item denoting the float."
   (let ((entry (gethash (cons 4 float) (pool-entries pool))))
     (unless entry
-      (setf entry (make-constant-float (incf (pool-index pool)) float)
+      (setf entry (make-constant-float (incf (pool-index pool))
+                                       (sys::%float-bits float))
             (gethash (cons 4 float) (pool-entries pool)) entry)
       (push entry (pool-entries-list pool)))
     (constant-index entry)))
@@ -468,7 +469,8 @@
   "Returns the index of the constant-pool item denoting the double."
   (let ((entry (gethash (cons 6 double) (pool-entries pool))))
     (unless entry
-      (setf entry (make-constant-double (incf (pool-index pool)) double)
+      (setf entry (make-constant-double (incf (pool-index pool))
+                                        (sys::%float-bits double))
             (gethash (cons 6 double) (pool-entries pool)) entry)
       (push entry (pool-entries-list pool))
       (incf (pool-index pool))) ;; double index increase; 'double' takes 2 slots
    
    
More information about the armedbear-cvs
mailing list