[pypy-svn] r57537 - pypy/branch/oo-jit/pypy/jit/timeshifter

antocuni at codespeak.net antocuni at codespeak.net
Thu Aug 21 12:02:46 CEST 2008


Author: antocuni
Date: Thu Aug 21 12:02:44 2008
New Revision: 57537

Modified:
   pypy/branch/oo-jit/pypy/jit/timeshifter/exception.py
Log:
don't use PtrRedBox with ootype!



Modified: pypy/branch/oo-jit/pypy/jit/timeshifter/exception.py
==============================================================================
--- pypy/branch/oo-jit/pypy/jit/timeshifter/exception.py	(original)
+++ pypy/branch/oo-jit/pypy/jit/timeshifter/exception.py	Thu Aug 21 12:02:44 2008
@@ -24,8 +24,8 @@
         null_exc_value = self.etrafo.c_null_evalue.value
         self.gv_null_exc_type = RGenOp.constPrebuiltGlobal(null_exc_type)
         self.gv_null_exc_value = RGenOp.constPrebuiltGlobal(null_exc_value)
-
-        self._create_boxes(RGenOp)
+        self.null_exc_type_box = self.PtrRedBox(self.gv_null_exc_type)
+        self.null_exc_value_box = self.PtrRedBox(self.gv_null_exc_value)
         self.lazy_exception_path = lazy_exception_path
 
     def _freeze_(self):
@@ -37,8 +37,8 @@
         gv_evalue = self.genop_get_exc_value(builder)
         self.genop_set_exc_type (builder, self.gv_null_exc_type )
         self.genop_set_exc_value(builder, self.gv_null_exc_value)
-        etypebox  = rvalue.PtrRedBox( gv_etype )
-        evaluebox = rvalue.PtrRedBox(gv_evalue)
+        etypebox  = self.PtrRedBox( gv_etype )
+        evaluebox = self.PtrRedBox(gv_evalue)
         etypebox .known_nonzero = known_occurred
         evaluebox.known_nonzero = known_occurred
         rtimeshift.setexctypebox (jitstate, etypebox)
@@ -59,11 +59,9 @@
 
 
 class LLTypeExceptionDesc(AbstractExceptionDesc):
-    
-    def _create_boxes(self, RGenOp):
-        self.null_exc_type_box = rvalue.PtrRedBox(self.gv_null_exc_type)
-        self.null_exc_value_box = rvalue.PtrRedBox(self.gv_null_exc_value)
 
+    PtrRedBox = rvalue.PtrRedBox
+    
     def genop_get_exc_type(self, builder):
         return builder.genop_getfield(self.exc_type_token, self.gv_excdata)
 
@@ -82,10 +80,8 @@
 
 
 class OOTypeExceptionDesc(AbstractExceptionDesc):
-    def _create_boxes(self, RGenOp):
-        # XXX: think more about exceptions
-        self.null_exc_type_box = rvalue.InstanceRedBox(self.gv_null_exc_type)
-        self.null_exc_value_box = rvalue.InstanceRedBox(self.gv_null_exc_value)
+
+    PtrRedBox = rvalue.InstanceRedBox
 
     def genop_get_exc_type(self, builder):
         return builder.genop_oogetfield(self.exc_type_token, self.gv_excdata)



More information about the Pypy-commit mailing list