diff options
author | 2020-02-09 16:36:25 +0100 | |
---|---|---|
committer | 2020-02-09 16:36:25 +0100 | |
commit | a118a707d42e4f434b7a5dc691588cc1718deaad (patch) | |
tree | e7437552228d45fb6573786c668d04d7ea08386f /pypy/objspace | |
parent | - introduce space.iterator_greenkey which returns "something" that can be used (diff) | |
download | pypy-a118a707d42e4f434b7a5dc691588cc1718deaad.tar.gz pypy-a118a707d42e4f434b7a5dc691588cc1718deaad.tar.bz2 pypy-a118a707d42e4f434b7a5dc691588cc1718deaad.zip |
various fixes
Diffstat (limited to 'pypy/objspace')
-rw-r--r-- | pypy/objspace/descroperation.py | 8 | ||||
-rw-r--r-- | pypy/objspace/std/bytearrayobject.py | 2 | ||||
-rw-r--r-- | pypy/objspace/std/listobject.py | 6 | ||||
-rw-r--r-- | pypy/objspace/std/typeobject.py | 3 |
4 files changed, 14 insertions, 5 deletions
diff --git a/pypy/objspace/descroperation.py b/pypy/objspace/descroperation.py index 8aaaade754..32ec45addd 100644 --- a/pypy/objspace/descroperation.py +++ b/pypy/objspace/descroperation.py @@ -124,8 +124,14 @@ class Object(object): 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 index 8a3722797d..9cecb9a22f 100644 --- a/pypy/objspace/std/bytearrayobject.py +++ b/pypy/objspace/std/bytearrayobject.py @@ -568,7 +568,7 @@ def _get_printable_location(greenkey): _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 index 9e8c1990a7..ed28d92e91 100644 --- a/pypy/objspace/std/listobject.py +++ b/pypy/objspace/std/listobject.py @@ -131,7 +131,7 @@ def get_strategy_from_list_objects(space, list_w, sizehint): 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 @@ _do_extend_jitdriver = jit.JitDriver( 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 index 039b3d5881..3d042356a4 100644 --- a/pypy/objspace/std/typeobject.py +++ b/pypy/objspace/std/typeobject.py @@ -711,6 +711,9 @@ class W_TypeObject(W_Root): 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) |