Author: Maciej Fijalkowski <fij...@gmail.com>
Branch: optresult-unroll
Changeset: r79431:3c1f7d42f12b
Date: 2015-09-04 17:09 +0200
http://bitbucket.org/pypy/pypy/changeset/3c1f7d42f12b/

Log:    let's just use one exception instead of two that have to be caught a
        bit everywhere'

diff --git a/rpython/jit/metainterp/optimizeopt/virtualstate.py 
b/rpython/jit/metainterp/optimizeopt/virtualstate.py
--- a/rpython/jit/metainterp/optimizeopt/virtualstate.py
+++ b/rpython/jit/metainterp/optimizeopt/virtualstate.py
@@ -13,9 +13,6 @@
 LEVEL_KNOWNCLASS = '\x02'
 LEVEL_CONSTANT = '\x03'
 
-class BadVirtualState(Exception):
-    pass
-
 class VirtualStatesCantMatch(Exception):
     def __init__(self, msg='?', state=None):
         self.msg = msg
@@ -179,7 +176,7 @@
         box = optimizer.get_box_replacement(box)
         info = optimizer.getptrinfo(box)
         if info is None or not info.is_virtual():
-            raise BadVirtualState()
+            raise VirtualStatesCantMatch()
         else:
             assert isinstance(info, AbstractStructPtrInfo)
         for i in range(len(self.fielddescrs)):
@@ -254,9 +251,9 @@
         box = optimizer.get_box_replacement(box)
         info = optimizer.getptrinfo(box)
         if info is None or not info.is_virtual():
-            raise BadVirtualState()
+            raise VirtualStatesCantMatch()
         if len(self.fieldstate) > info.getlength():
-            raise BadVirtualState
+            raise VirtualStatesCantMatch
         for i in range(len(self.fieldstate)):
             fieldbox = info.getitem(self.arraydescr, i)
             s = self.fieldstate[i]
@@ -321,11 +318,11 @@
     def enum_forced_boxes(self, boxes, box, optimizer, force_boxes=False):
         opinfo = optimizer.getptrinfo(box)
         if not isinstance(opinfo, ArrayStructInfo):
-            raise BadVirtualState
+            raise VirtualStatesCantMatch
         if not opinfo.is_virtual():
-            raise BadVirtualState
+            raise VirtualStatesCantMatch
         #if len(self.fielddescrs) > len(value._items):
-        #    raise BadVirtualState
+        #    raise VirtualStatesCantMatch
         for i in range(self.length):
             for descr in self.fielddescrs:
                 index = i * len(self.fielddescrs) + descr.get_index()
@@ -334,7 +331,7 @@
                                         descr.get_index()]
                 if fieldstate is None:
                     if itembox is not None:
-                        raise BadVirtualState
+                        raise VirtualStatesCantMatch
                     continue
                 # I think itembox must be present here
                 if fieldstate.position > self.position:
@@ -501,7 +498,7 @@
                     if force_boxes:
                         info.force_box(box, optimizer)
                     else:
-                        raise BadVirtualState
+                        raise VirtualStatesCantMatch
         boxes[self.position_in_notvirtuals] = box
 
     def _enum(self, virtual_state):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to