Using cached properties from basic blocks up to expressions to avoid allocating twice the same objects.
In order to avoid circular references that usually lead to memory leaks since the python garbage collector doesn't deal with them very well, we are now using weak references.
Using cached properties from basic blocks up to expressions to avoid allocating twice the same objects. In order to avoid circular references that usually lead to memory leaks since the python garbage collector doesn't deal with them very well, we are now using weak references.