[pypy-svn] r62840 - in pypy/branch/pyjitpl5/pypy: rpython rpython/lltypesystem translator

arigo at codespeak.net arigo at codespeak.net
Wed Mar 11 11:04:05 CET 2009


Author: arigo
Date: Wed Mar 11 11:04:04 2009
New Revision: 62840

Modified:
   pypy/branch/pyjitpl5/pypy/rpython/llinterp.py
   pypy/branch/pyjitpl5/pypy/rpython/lltypesystem/llmemory.py
   pypy/branch/pyjitpl5/pypy/translator/exceptiontransform.py
Log:
Merge r62838 and r62839 from the trunk.


Modified: pypy/branch/pyjitpl5/pypy/rpython/llinterp.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/rpython/llinterp.py	(original)
+++ pypy/branch/pyjitpl5/pypy/rpython/llinterp.py	Wed Mar 11 11:04:04 2009
@@ -14,6 +14,9 @@
 log = py.log.Producer('llinterp')
 
 class LLException(Exception):
+    def __init__(self, *args):
+        "NOT_RPYTHON"
+        Exception.__init__(self, *args)
     def __str__(self):
         etype = self.args[0]
         #evalue = self.args[1]
@@ -1181,9 +1184,6 @@
     def op_oohash(self, s):
         return ootype.oohash(s)
 
-    def op_raise_exc_value(self, etype, evalue):
-        raise LLException(etype, evalue)
-
 class Tracer(object):
     Counter = 0
     file = None

Modified: pypy/branch/pyjitpl5/pypy/rpython/lltypesystem/llmemory.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/rpython/lltypesystem/llmemory.py	(original)
+++ pypy/branch/pyjitpl5/pypy/rpython/lltypesystem/llmemory.py	Wed Mar 11 11:04:04 2009
@@ -411,10 +411,8 @@
     def __nonzero__(self):
         return self.ptr is not None
 
-    def __hash__(self):
-        if not self._fixup().ptr:
-            return 0
-        return hash(self._fixup().ptr._obj)
+    #def __hash__(self):
+    #    raise TypeError("don't put addresses in a prebuilt dictionary")
 
     def __eq__(self, other):
         if isinstance(other, fakeaddress):

Modified: pypy/branch/pyjitpl5/pypy/translator/exceptiontransform.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/translator/exceptiontransform.py	(original)
+++ pypy/branch/pyjitpl5/pypy/translator/exceptiontransform.py	Wed Mar 11 11:04:04 2009
@@ -170,7 +170,7 @@
         n_gen_exc_checks           = 0
         for block in list(graph.iterblocks()):
             self.replace_stack_unwind(block)
-            self.replace_fetch_restore_operations(graph, block)
+            self.replace_fetch_restore_operations(block)
             need_exc_matching, gen_exc_checks = self.transform_block(graph, block)
             n_need_exc_matching_blocks += need_exc_matching
             n_gen_exc_checks           += gen_exc_checks
@@ -189,7 +189,7 @@
                 block.operations[i].opname = "direct_call"
                 block.operations[i].args = [self.rpyexc_raise_runtime_error_ptr]
 
-    def replace_fetch_restore_operations(self, graph, block):
+    def replace_fetch_restore_operations(self, block):
         # the gctransformer will create these operations.  It looks as if the
         # order of transformations is important - but the gctransformer will
         # put them in a new graph, so all transformations will run again.



More information about the Pypy-commit mailing list