[pypy-svn] r25220 - pypy/branch/jit-timeshifter-refactoring/timeshifter

pedronis at codespeak.net pedronis at codespeak.net
Sun Apr 2 12:25:30 CEST 2006


Author: pedronis
Date: Sun Apr  2 12:25:29 2006
New Revision: 25220

Modified:
   pypy/branch/jit-timeshifter-refactoring/timeshifter/rtimeshift.py
Log:
(arigo, arre, pedronis)

fix ll_generate_getfield. another test pass again.



Modified: pypy/branch/jit-timeshifter-refactoring/timeshifter/rtimeshift.py
==============================================================================
--- pypy/branch/jit-timeshifter-refactoring/timeshifter/rtimeshift.py	(original)
+++ pypy/branch/jit-timeshifter-refactoring/timeshifter/rtimeshift.py	Sun Apr  2 12:25:29 2006
@@ -667,7 +667,16 @@
         res = getattr(rvalue.ll_getvalue(argbox, fielddesc.PTRTYPE),
                       fielddesc.fieldname)
         return rvalue.ll_fromvalue(res)
-    return argbox.op_getfield(jitstate, fielddesc)
+    assert isinstance(argbox, rvalue.PtrRedBox)
+    if argbox.content is None:
+        op_args = lltype.malloc(VARLIST.TO, 2)
+        op_args[0] = argbox.getgenvar(jitstate)
+        op_args[1] = fielddesc.gv_fieldname
+        genvar = rgenop.genop(jitstate.curblock, 'getfield', op_args,
+                              fielddesc.gv_resulttype)
+        return fielddesc.redboxcls(fielddesc.gv_resulttype, genvar)        
+    else:
+        return argbox.content.op_getfield(jitstate, fielddesc)
 
 gv_Void = rgenop.constTYPE(lltype.Void)
 



More information about the Pypy-commit mailing list