[pypy-commit] pypy default: 32-bit fixes

arigo noreply at buildbot.pypy.org
Tue Sep 8 17:15:44 CEST 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r79546:f3a481ec3c35
Date: 2015-09-08 17:15 +0200
http://bitbucket.org/pypy/pypy/changeset/f3a481ec3c35/

Log:	32-bit fixes

diff --git a/rpython/jit/metainterp/history.py b/rpython/jit/metainterp/history.py
--- a/rpython/jit/metainterp/history.py
+++ b/rpython/jit/metainterp/history.py
@@ -622,12 +622,12 @@
         elif isinstance(value, bool):
             assert op.type == 'i'
             op.setint(int(value))
-        elif isinstance(value, float):
-            assert op.type == 'f'
-            op.setfloatstorage(value)
         elif lltype.typeOf(value) == lltype.Signed:
             assert op.type == 'i'
             op.setint(value)
+        elif lltype.typeOf(value) is longlong.FLOATSTORAGE:
+            assert op.type == 'f'
+            op.setfloatstorage(value)
         else:
             assert lltype.typeOf(value) == llmemory.GCREF
             assert op.type == 'r'
diff --git a/rpython/jit/metainterp/logger.py b/rpython/jit/metainterp/logger.py
--- a/rpython/jit/metainterp/logger.py
+++ b/rpython/jit/metainterp/logger.py
@@ -131,7 +131,7 @@
                 return 'ConstPtr(ptr' + str(mv) + ')'
             return 'ConstPtr(null)'
         elif isinstance(arg, ConstFloat):
-            return str(arg.getfloatstorage())
+            return str(arg.getfloat())
         elif arg is None:
             return 'None'
         elif arg.type == 'i':
diff --git a/rpython/jit/metainterp/pyjitpl.py b/rpython/jit/metainterp/pyjitpl.py
--- a/rpython/jit/metainterp/pyjitpl.py
+++ b/rpython/jit/metainterp/pyjitpl.py
@@ -2,7 +2,7 @@
 
 import py
 
-from rpython.jit.codewriter import heaptracker
+from rpython.jit.codewriter import heaptracker, longlong
 from rpython.jit.codewriter.effectinfo import EffectInfo
 from rpython.jit.codewriter.jitcode import JitCode, SwitchDictDescr
 from rpython.jit.metainterp import history, compile, resume, executor, jitexc
@@ -3013,7 +3013,7 @@
                     rop.GETARRAYITEM_RAW_F,
                                     [box_exchange_buffer,
                                      ConstInt(ofs // itemsize)],
-                                     0.0, descr)
+                                     longlong.ZEROF, descr)
             else:
                 assert kind == 'v'
                 continue
diff --git a/rpython/jit/metainterp/resoperation.py b/rpython/jit/metainterp/resoperation.py
--- a/rpython/jit/metainterp/resoperation.py
+++ b/rpython/jit/metainterp/resoperation.py
@@ -409,7 +409,7 @@
 
     type = 'f'
 
-    _resfloat = 0.0
+    _resfloat = longlong.ZEROF
 
     def getfloatstorage(self):
         return self._resfloat


More information about the pypy-commit mailing list