[pypy-commit] pypy default: Unsure if "instance_ptr_iszero" and "instance_ptr_nonzero" are meant to
arigo
noreply at buildbot.pypy.org
Sun Feb 23 09:09:43 CET 2014
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r69279:c9f9e30aac58
Date: 2014-02-23 09:08 +0100
http://bitbucket.org/pypy/pypy/changeset/c9f9e30aac58/
Log: Unsure if "instance_ptr_iszero" and "instance_ptr_nonzero" are meant
to appear or not during codewriting. Right now they do, and then
metainterp crashes because they are not actually implemented. Fix?
diff --git a/rpython/jit/codewriter/jtransform.py b/rpython/jit/codewriter/jtransform.py
--- a/rpython/jit/codewriter/jtransform.py
+++ b/rpython/jit/codewriter/jtransform.py
@@ -967,8 +967,7 @@
if self._is_rclass_instance(op.args[0]):
assert self._is_rclass_instance(op.args[1])
op = SpaceOperation('instance_ptr_eq', op.args, op.result)
- prefix = 'instance_'
- op1 = self._rewrite_equality(op, prefix + 'ptr_iszero')
+ op1 = self._rewrite_equality(op, 'ptr_iszero')
return self._rewrite_cmp_ptrs(op1)
def rewrite_op_ptr_ne(self, op):
@@ -976,8 +975,7 @@
if self._is_rclass_instance(op.args[0]):
assert self._is_rclass_instance(op.args[1])
op = SpaceOperation('instance_ptr_ne', op.args, op.result)
- prefix = 'instance_'
- op1 = self._rewrite_equality(op, prefix + 'ptr_nonzero')
+ op1 = self._rewrite_equality(op, 'ptr_nonzero')
return self._rewrite_cmp_ptrs(op1)
rewrite_op_ptr_iszero = _rewrite_cmp_ptrs
diff --git a/rpython/jit/codewriter/test/test_jtransform.py b/rpython/jit/codewriter/test/test_jtransform.py
--- a/rpython/jit/codewriter/test/test_jtransform.py
+++ b/rpython/jit/codewriter/test/test_jtransform.py
@@ -705,8 +705,8 @@
c0 = const(lltype.nullptr(rclass.OBJECT))
for opname, newopname, reducedname in [
- ('ptr_eq', 'instance_ptr_eq', 'instance_ptr_iszero'),
- ('ptr_ne', 'instance_ptr_ne', 'instance_ptr_nonzero')
+ ('ptr_eq', 'instance_ptr_eq', 'ptr_iszero'),
+ ('ptr_ne', 'instance_ptr_ne', 'ptr_nonzero')
]:
op = SpaceOperation(opname, [v1, v2], v3)
op1 = Transformer().rewrite_operation(op)
More information about the pypy-commit
mailing list