[pypy-issue] Issue #2569: Teach the JIT about frozenset immutability (pypy/pypy)

Antonio Cuni issues-reply at bitbucket.org
Fri Jun 2 12:25:01 EDT 2017


New issue 2569: Teach the JIT about frozenset immutability
https://bitbucket.org/pypy/pypy/issues/2569/teach-the-jit-about-frozenset-immutability

Antonio Cuni:

The JIT does not take advantage of frozenset immutability. E.g. consider this case:

```
TUP = ('foo', 'bar', 'baz')
FROZ = frozenset(TUP)

def main():
    x = 0
    for i in range(2000):
        x += 'foo' in TUP
        x += 'foo' in FROZ

main()
```

The JIT can constat-fold the TUP lookup but not the FROZ one.
Looking at the code, `W_FrozensetObject` lacks `_immutable_fields_`, but I'm not sure whether more is needed to achieve it.




More information about the pypy-issue mailing list