[pypy-svn] r68406 - pypy/trunk/pypy/jit/metainterp
antocuni at codespeak.net
antocuni at codespeak.net
Tue Oct 13 23:34:04 CEST 2009
Author: antocuni
Date: Tue Oct 13 23:34:03 2009
New Revision: 68406
Modified:
pypy/trunk/pypy/jit/metainterp/codewriter.py
Log:
don't emit setfield_gc if the value is Void
Modified: pypy/trunk/pypy/jit/metainterp/codewriter.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/codewriter.py (original)
+++ pypy/trunk/pypy/jit/metainterp/codewriter.py Tue Oct 13 23:34:03 2009
@@ -747,11 +747,12 @@
fields = TYPE._get_fields_with_default()
var_inst = self.var_position(op.result)
for name, (T, value) in fields:
- descr = self.cpu.fielddescrof(TYPE, name)
- self.emit('setfield_gc')
- self.emit(var_inst)
- self.emit(self.get_position(descr))
- self.emit(self.var_position(Constant(value)))
+ if T != ootype.Void:
+ descr = self.cpu.fielddescrof(TYPE, name)
+ self.emit('setfield_gc')
+ self.emit(var_inst)
+ self.emit(self.get_position(descr))
+ self.emit(self.var_position(Constant(value)))
def serialize_op_oonewarray(self, op):
ARRAY = op.args[0].value
More information about the Pypy-commit
mailing list