Author: Carl Friedrich Bolz-Tereick <[email protected]>
Branch: pypy-jitdriver-greenkeys
Changeset: r98690:227d54204dea
Date: 2020-02-09 16:36 +0100
http://bitbucket.org/pypy/pypy/changeset/227d54204dea/

Log:    various fixes

diff --git a/pypy/interpreter/generator.py b/pypy/interpreter/generator.py
--- a/pypy/interpreter/generator.py
+++ b/pypy/interpreter/generator.py
@@ -231,7 +231,7 @@
         self.frame = None
         rgc.may_ignore_finalizer(self)
 
-    def iterator_greenkey(self):
+    def iterator_greenkey(self, space):
         return self.pycode
 
 
diff --git a/pypy/objspace/descroperation.py b/pypy/objspace/descroperation.py
--- a/pypy/objspace/descroperation.py
+++ b/pypy/objspace/descroperation.py
@@ -124,8 +124,14 @@
     def descr__init__(space, w_obj, __args__):
         pass
 
+def get_printable_location(itergreenkey, w_itemtype):
+    return "DescrOperation.contains [%s, %s]" % (
+            itergreenkey.iterator_greenkey_printable(),
+            w_itemtype.getname(w_itemtype.space))
+
 contains_jitdriver = jit.JitDriver(name='contains',
-        greens=['itergreenkey', 'w_itemtype'], reds='auto')
+        greens=['itergreenkey', 'w_itemtype'], reds='auto',
+        get_printable_location=get_printable_location)
 
 class DescrOperation(object):
     # This is meant to be a *mixin*.
diff --git a/pypy/objspace/std/bytearrayobject.py 
b/pypy/objspace/std/bytearrayobject.py
--- a/pypy/objspace/std/bytearrayobject.py
+++ b/pypy/objspace/std/bytearrayobject.py
@@ -568,7 +568,7 @@
 _byteseq_jitdriver = jit.JitDriver(
     name='bytearray_from_byte_sequence',
     greens=['greenkey'],
-    reds='auto'
+    reds='auto',
     get_printable_location=_get_printable_location)
 
 def _from_byte_sequence(space, w_source):
diff --git a/pypy/objspace/std/listobject.py b/pypy/objspace/std/listobject.py
--- a/pypy/objspace/std/listobject.py
+++ b/pypy/objspace/std/listobject.py
@@ -131,7 +131,7 @@
     return space.fromcache(ObjectListStrategy)
 
 
-def _get_printable_location(greenkey):
+def _get_printable_location(strategy, greenkey):
     return 'list__do_extend_from_iterable [%s, %s]' % (
         strategy,
         greenkey.iterator_greenkey_printable())
@@ -145,11 +145,11 @@
 
 def _do_extend_from_iterable(space, w_list, w_iterable):
     w_iterator = space.iter(w_iterable)
-    w_type = space.iterator_greenkey_printable(w_iterator)
+    greenkey = space.iterator_greenkey(w_iterator)
     i = 0
     while True:
         _do_extend_jitdriver.jit_merge_point(
-                w_type=w_type,
+                greenkey=greenkey,
                 strategy = w_list.strategy)
         try:
             w_list.append(space.next(w_iterator))
diff --git a/pypy/objspace/std/typeobject.py b/pypy/objspace/std/typeobject.py
--- a/pypy/objspace/std/typeobject.py
+++ b/pypy/objspace/std/typeobject.py
@@ -711,6 +711,9 @@
         else:
             return space.newtext("<%s '%s'>" % (kind, self.name))
 
+    def iterator_greenkey_printable(self):
+        return self.name
+
     def descr_getattribute(self, space, w_name):
         name = space.text_w(w_name)
         w_descr = space.lookup(self, name)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to