Author: Maciej Fijalkowski <fij...@gmail.com>
Branch: backend-vector-ops
Changeset: r52015:51f070072eca
Date: 2012-02-01 14:56 +0200
http://bitbucket.org/pypy/pypy/changeset/51f070072eca/

Log:    following armin's suggestion remove the VECTOR type

diff --git a/pypy/jit/backend/x86/regalloc.py b/pypy/jit/backend/x86/regalloc.py
--- a/pypy/jit/backend/x86/regalloc.py
+++ b/pypy/jit/backend/x86/regalloc.py
@@ -5,7 +5,7 @@
 import os
 from pypy.jit.metainterp.history import (Box, Const, ConstInt, ConstPtr,
                                          ResOperation, BoxPtr, ConstFloat,
-                                         BoxFloat, INT, REF, FLOAT, VECTOR,
+                                         BoxFloat, INT, REF, FLOAT,
                                          TargetToken, JitCellToken)
 from pypy.jit.backend.x86.regloc import *
 from pypy.rpython.lltypesystem import lltype, rffi, rstr
@@ -87,7 +87,7 @@
 
 class X86XMMRegisterManager(RegisterManager):
 
-    box_types = [FLOAT, VECTOR]
+    box_types = [FLOAT]
     all_regs = [xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7]
     # we never need lower byte I hope
     save_around_call_regs = all_regs
@@ -256,7 +256,7 @@
         return pass_on_stack
 
     def possibly_free_var(self, var):
-        if var.type in self.xrm.box_types:
+        if var.type == FLOAT:
             self.xrm.possibly_free_var(var)
         else:
             self.rm.possibly_free_var(var)
@@ -274,7 +274,7 @@
 
     def make_sure_var_in_reg(self, var, forbidden_vars=[],
                              selected_reg=None, need_lower_byte=False):
-        if var.type in self.xrm.box_types:
+        if var.type == FLOAT:
             if isinstance(var, ConstFloat):
                 return FloatImmedLoc(var.getfloatstorage())
             return self.xrm.make_sure_var_in_reg(var, forbidden_vars,
@@ -285,7 +285,7 @@
 
     def force_allocate_reg(self, var, forbidden_vars=[], selected_reg=None,
                            need_lower_byte=False):
-        if var.type in self.xrm.box_types:
+        if var.type == FLOAT:
             return self.xrm.force_allocate_reg(var, forbidden_vars,
                                                selected_reg, need_lower_byte)
         else:
@@ -293,7 +293,7 @@
                                               selected_reg, need_lower_byte)
 
     def force_spill_var(self, var):
-        if var.type in self.xrm.box_types:
+        if var.type == FLOAT:
             return self.xrm.force_spill_var(var)
         else:
             return self.rm.force_spill_var(var)
@@ -530,7 +530,7 @@
     def loc(self, v):
         if v is None: # xxx kludgy
             return None
-        if v.type in self.xrm.box_types:
+        if v.type == FLOAT:
             return self.xrm.loc(v)
         return self.rm.loc(v)
 
diff --git a/pypy/jit/metainterp/history.py b/pypy/jit/metainterp/history.py
--- a/pypy/jit/metainterp/history.py
+++ b/pypy/jit/metainterp/history.py
@@ -17,7 +17,6 @@
 INT   = 'i'
 REF   = 'r'
 FLOAT = 'f'
-VECTOR = 'e'
 STRUCT = 's'
 HOLE  = '_'
 VOID  = 'v'
@@ -482,15 +481,6 @@
     def repr_rpython(self):
         return repr_rpython(self, 'bi')
 
-class BoxVector(Box):
-    type = VECTOR
-
-    def __init__(self):
-        pass
-
-    def _getrepr_(self):
-        return ''
-
 class BoxFloat(Box):
     type = FLOAT
     _attrs_ = ('value',)
@@ -523,6 +513,12 @@
     def repr_rpython(self):
         return repr_rpython(self, 'bf')
 
+class BoxVector(BoxFloat):
+    value = float('nan')
+    
+    def _getrepr_(self):
+        return ''
+
 class BoxPtr(Box):
     type = REF
     _attrs_ = ('value',)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to