|
|
|
|
|
by UncleEntity
2983 days ago
|
|
Nice project, I've wanted to do something similar using my libjit python bindings but never seem to work up the gumption. Simple and Effective Type Check Removal through Lazy Basic Block Versioning[0] could be adapted to make it unnecessary to compile more than one version of the function at a (probably) minor cost of performance. It's geared more towards jitted code but something like it where it compiles different blocks where the types matter and falls back to interpreted code if users pass in some random types not expected just might work -- or the python interpreter throws an exception if the types don't make sense. [0]http://drops.dagstuhl.de/opus/volltexte/2015/5219/pdf/9.pdf |
|