Damien George c60a261ef0 py, vm: Replace save_ip, save_sp with code_state->{ip, sp}.
This may seem a bit of a risky change, in that it may introduce crazy
bugs with respect to volatile variables in the VM loop.  But, I think it
should be fine: code_state points to some external memory, so the
compiler should always read/write to that memory when accessing the
ip/sp variables (ie not put them in registers).

Anyway, it passes all tests and improves on all efficiency fronts: about
2-4% faster (64-bit unix), 16 bytes less stack space per call (64-bit
unix) and slightly less executable size (unix and stmhal).

The reason it's more efficient is save_ip and save_sp were volatile
variables, so were anyway stored on the stack (in memory, not regs).
Thus converting them to code_state->{ip, sp} doesn't cost an extra
memory dereference (except maybe to get code_state, but that can be put
in a register and then made more efficient for other uses of it).
2014-06-01 12:32:28 +01:00
..
2014-05-30 15:20:41 +01:00
2014-05-30 15:20:41 +01:00
2014-05-03 23:27:38 +01:00
2014-05-21 20:32:59 +01:00
2014-05-31 02:24:47 +03:00
2014-05-17 11:20:10 +03:00
2014-05-17 11:20:10 +03:00
2014-05-21 20:32:59 +01:00
2014-05-21 20:32:59 +01:00
2014-05-21 20:32:59 +01:00