Timeline for JIT based on precompiled code templates
Current License: CC BY-SA 3.0
4 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Apr 12, 2017 at 7:31 | history | edited | CommunityBot | replaced http://programmers.stackexchange.com/ with https://softwareengineering.stackexchange.com/ | |
| Jan 14, 2016 at 15:54 | comment | added | user7043 | @jdm Not making them functions raises other problems though. For one, how do you ensure the code snippet can be used in all places where you want to use them? For example, the snippet needs to read and write local variables, but in many bytecode VMs you need the right register number/stack offset to access locals, and these will vary at each use site. As for directly using JIT compilers: This still has significant engineering challenges. For example, PyPy can't cache its traces to the disk because the traces directly embed many pointers that are only valid for the current process. | |
| Jan 13, 2016 at 23:08 | comment | added | jdm | Thanks for this very detailed answer! Comments: - I was thinking about going beyond the equivalent of numpy or C extensions in Python. E.g., the pieces of machine code would not necessarily be functions, they wouldn't maintain a stack or adhere to the calling convention. - I'd not start from scratch, I know the difficulties in compiling dynamic languages. The baseline would be ~an existing JIT compiler (like PyPy, V8, ...), and you'd use this trick to get around "write XOR execute" limitations. And I agree, a cool idea for a thesis, but beyond my capabilities... | |
| Jan 13, 2016 at 20:35 | history | answered | user7043 | CC BY-SA 3.0 |