Open thautwarm opened 3 years ago
This have to been deferred until we implement bytecode -> untyped DIO IR transformation. I don't believe this is the most urgent. Efforts will be allocated for supporting JITing the most builtins and language features already allowed in DIO-JIT.
Dynjit inherits the identical semantics from python bytecode, which is using
GET_ITER
andFOR_ITER
to implement loops:under dynjit, it is identical to
The key point is, finding a protocol for, switching from pure Python code to optimized code when the types of
iter
andi
got known.Question: Should we follow the Python loop implementation, i.e., using
__iter__
? If so, exception check makes it impossible to make a positive enough performance gain. Even if__iter__
is jitted, exception check is still a disaster.