Author: Maciej Fijalkowski <[email protected]>
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
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit