[pypy-commit] pypy kill-ootype: Remove all dependencies on ootypesystem from rpython/jit/
rlamy
noreply at buildbot.pypy.org
Wed Jul 10 18:20:39 CEST 2013
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: kill-ootype
Changeset: r65321:9ffbd90b31dd
Date: 2013-07-10 03:58 +0200
http://bitbucket.org/pypy/pypy/changeset/9ffbd90b31dd/
Log: Remove all dependencies on ootypesystem from rpython/jit/
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_util.py b/rpython/jit/metainterp/optimizeopt/test/test_util.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_util.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_util.py
@@ -1,7 +1,6 @@
import py, random
from rpython.rtyper.lltypesystem import lltype, llmemory, rclass, rstr
-from rpython.rtyper.ootypesystem import ootype
from rpython.rtyper.lltypesystem.rclass import OBJECT, OBJECT_VTABLE
from rpython.rtyper.rclass import FieldListAccessor, IR_QUASIIMMUTABLE
diff --git a/rpython/jit/metainterp/test/support.py b/rpython/jit/metainterp/test/support.py
--- a/rpython/jit/metainterp/test/support.py
+++ b/rpython/jit/metainterp/test/support.py
@@ -1,7 +1,6 @@
import py, sys
from rpython.rtyper.lltypesystem import lltype, llmemory
-from rpython.rtyper.ootypesystem import ootype
from rpython.jit.backend.llgraph import runner
from rpython.jit.metainterp.warmspot import ll_meta_interp, get_stats
from rpython.jit.metainterp.warmstate import unspecialize_value
diff --git a/rpython/jit/metainterp/test/test_ajit.py b/rpython/jit/metainterp/test/test_ajit.py
--- a/rpython/jit/metainterp/test/test_ajit.py
+++ b/rpython/jit/metainterp/test/test_ajit.py
@@ -14,7 +14,6 @@
from rpython.rlib.longlong2float import float2longlong, longlong2float
from rpython.rlib.rarithmetic import ovfcheck, is_valid_int
from rpython.rtyper.lltypesystem import lltype, rffi
-from rpython.rtyper.ootypesystem import ootype
class BasicTests:
@@ -1218,8 +1217,6 @@
res = self.interp_operations(fn, [1])
assert res == 1
self.check_operations_history(guard_class=0)
- if self.type_system == 'ootype':
- self.check_operations_history(instanceof=0)
def test_r_dict(self):
from rpython.rlib.objectmodel import r_dict
diff --git a/rpython/jit/metainterp/test/test_virtual.py b/rpython/jit/metainterp/test/test_virtual.py
--- a/rpython/jit/metainterp/test/test_virtual.py
+++ b/rpython/jit/metainterp/test/test_virtual.py
@@ -5,7 +5,6 @@
from rpython.jit.metainterp.test.support import LLJitMixin
from rpython.rtyper.lltypesystem import lltype, rclass, rffi
from rpython.rtyper.lltypesystem.lloperation import llop
-from rpython.rtyper.ootypesystem import ootype
from rpython.jit.codewriter import heaptracker
class VirtualTests:
@@ -1277,13 +1276,6 @@
return lltype.malloc(NODE)
-
-
-OONODE = ootype.Instance('NODE', ootype.ROOT, {})
-OONODE._add_fields({'value': ootype.Signed,
- 'floatval' : ootype.Float,
- 'extra': ootype.Signed})
-
# ____________________________________________________________
# Run 3: all the tests use lltype.malloc to make a NODE2
# (same as Run 2 but it is part of the OBJECT hierarchy)
diff --git a/rpython/jit/metainterp/typesystem.py b/rpython/jit/metainterp/typesystem.py
--- a/rpython/jit/metainterp/typesystem.py
+++ b/rpython/jit/metainterp/typesystem.py
@@ -1,29 +1,18 @@
from rpython.rtyper.lltypesystem import lltype, llmemory, rclass
-from rpython.rtyper.ootypesystem import ootype
-from rpython.rtyper.annlowlevel import cast_base_ptr_to_instance, llstr, oostr
+from rpython.rtyper.annlowlevel import cast_base_ptr_to_instance, llstr
from rpython.rtyper.annlowlevel import cast_instance_to_base_ptr
-from rpython.rtyper.annlowlevel import cast_instance_to_base_obj
from rpython.jit.metainterp import history
from rpython.jit.codewriter import heaptracker
from rpython.rlib.objectmodel import r_dict, specialize
def deref(T):
- if isinstance(T, lltype.Ptr):
- return T.TO
- assert isinstance(T, ootype.OOType)
- return T
+ assert isinstance(T, lltype.Ptr)
+ return T.TO
+
def fieldType(T, name):
- if isinstance(T, lltype.Struct):
- return getattr(T, name)
- elif isinstance(T, (ootype.Instance, ootype.Record)):
-## if name == '__class__':
-## # XXX hack hack hack
-## return ootype.Class
- _, FIELD = T._lookup_field(name)
- return FIELD
- else:
- assert False
+ assert isinstance(T, lltype.Struct)
+ return getattr(T, name)
def arrayItem(ARRAY):
try:
diff --git a/rpython/jit/metainterp/virtualizable.py b/rpython/jit/metainterp/virtualizable.py
--- a/rpython/jit/metainterp/virtualizable.py
+++ b/rpython/jit/metainterp/virtualizable.py
@@ -4,7 +4,6 @@
from rpython.rlib.unroll import unrolling_iterable
from rpython.rtyper import rvirtualizable2
from rpython.rtyper.lltypesystem import lltype, llmemory
-from rpython.rtyper.ootypesystem import ootype
from rpython.rtyper.rclass import IR_IMMUTABLE_ARRAY, IR_IMMUTABLE
@@ -14,9 +13,6 @@
def __init__(self, warmrunnerdesc, VTYPEPTR):
self.warmrunnerdesc = warmrunnerdesc
cpu = warmrunnerdesc.cpu
- if cpu.ts.name == 'ootype':
- import py
- py.test.skip("ootype: fix virtualizables")
self.cpu = cpu
self.BoxArray = cpu.ts.BoxRef
#
@@ -45,8 +41,8 @@
for name in array_fields:
ARRAYPTR = fieldType(VTYPE, name)
ARRAY = deref(ARRAYPTR)
- assert isinstance(ARRAYPTR, (lltype.Ptr, ootype.Array))
- assert isinstance(ARRAY, (lltype.GcArray, ootype.Array))
+ assert isinstance(ARRAYPTR, lltype.Ptr)
+ assert isinstance(ARRAY, lltype.GcArray)
ARRAYITEMTYPES.append(arrayItem(ARRAY))
self.array_descrs = [cpu.arraydescrof(deref(fieldType(VTYPE, name)))
for name in array_fields]
diff --git a/rpython/jit/metainterp/warmstate.py b/rpython/jit/metainterp/warmstate.py
--- a/rpython/jit/metainterp/warmstate.py
+++ b/rpython/jit/metainterp/warmstate.py
@@ -12,7 +12,6 @@
from rpython.rtyper.annlowlevel import (hlstr, cast_base_ptr_to_instance,
cast_object_to_ptr)
from rpython.rtyper.lltypesystem import lltype, llmemory, rstr, rffi
-from rpython.rtyper.ootypesystem import ootype
# ____________________________________________________________
@@ -47,8 +46,6 @@
else:
adr = llmemory.cast_ptr_to_adr(value)
return heaptracker.adr2int(adr)
- elif isinstance(lltype.typeOf(value), ootype.OOType):
- return ootype.cast_to_object(value)
elif isinstance(value, float):
return longlong.getfloatstorage(value)
else:
@@ -63,8 +60,6 @@
return box.getref(TYPE)
else:
return llmemory.cast_adr_to_ptr(box.getaddr(), TYPE)
- if isinstance(TYPE, ootype.OOType):
- return box.getref(TYPE)
if TYPE == lltype.Float:
return box.getfloat()
else:
@@ -110,13 +105,11 @@
if isinstance(TYPE, lltype.Ptr):
if TYPE.TO is rstr.STR or TYPE.TO is rstr.UNICODE:
return rstr.LLHelpers.ll_streq(x, y)
- if TYPE is ootype.String or TYPE is ootype.Unicode:
- return x.ll_streq(y)
return x == y
@specialize.arg(0)
def hash_whatever(TYPE, x):
- # Hash of lltype or ootype object.
+ # Hash of lltype object.
# Only supports strings, unicodes and regular instances,
# as well as primitives that can meaningfully be cast to Signed.
if isinstance(TYPE, lltype.Ptr) and TYPE.TO._gckind == 'gc':
@@ -127,13 +120,6 @@
return lltype.identityhash(x)
else:
return 0
- elif TYPE is ootype.String or TYPE is ootype.Unicode:
- return x.ll_hash()
- elif isinstance(TYPE, ootype.OOType):
- if x:
- return ootype.identityhash(x)
- else:
- return 0
else:
return rffi.cast(lltype.Signed, x)
@@ -548,8 +534,6 @@
else:
if isinstance(BASEJITCELL, lltype.Ptr):
cellref = lltype.malloc(BASEJITCELL.TO)
- elif isinstance(BASEJITCELL, ootype.Instance):
- cellref = ootype.new(BASEJITCELL)
else:
assert False, "no clue"
lltohlhack[rtyper.type_system.deref(cellref)] = cell
diff --git a/rpython/jit/tool/oparser_model.py b/rpython/jit/tool/oparser_model.py
--- a/rpython/jit/tool/oparser_model.py
+++ b/rpython/jit/tool/oparser_model.py
@@ -25,11 +25,6 @@
from rpython.rtyper.lltypesystem import llmemory
return adr2int(llmemory.cast_ptr_to_adr(obj))
- @staticmethod
- def ootype_cast_to_object(obj):
- from rpython.rtyper.ootypesystem import ootype
- return ootype.cast_to_object(obj)
-
return LoopModel
def get_mock_model():
More information about the pypy-commit
mailing list