diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-11-22 20:16:59 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-11-22 20:16:59 -0800 |
commit | 2ca84b85530a886bb1d5314ca5c006529e08540b (patch) | |
tree | 62bfb2f57cc0c2d4d058d8c452dc906b620f5b3b /eval.c | |
parent | 67266d7fa6b2dc36200caa7d2a83d37238deb427 (diff) | |
download | txr-2ca84b85530a886bb1d5314ca5c006529e08540b.tar.gz txr-2ca84b85530a886bb1d5314ca5c006529e08540b.tar.bz2 txr-2ca84b85530a886bb1d5314ca5c006529e08540b.zip |
vm: some optimizations.
* vm.c (vm_getz): Manual CSE: calculate address of location,
then conditionally set to zero.
(vm_set_nil_error): New static function.
(vm_set, vm_sm_set): Call zero-argument vm_set_nil_error
instead of three_argument uw_throwf.
(vm_stab_slowpath): New function.
(vm_stab): Function marked inline. The slow path when the
binding is not cached goes through vm_stab_slowpath which is
not inlined.
Diffstat (limited to 'eval.c')
0 files changed, 0 insertions, 0 deletions