Experiments after having changed the lookup algorithm on the global object to test for the 3 first properties before doing a linear search show a .5 second speedup on a 2.13 GHz Intel Core 2 Duo Macbook for fib(40).
Fast lookup: user 0m3.702s
Original Linear search: user 0m4.339s
Those tests can be repeated by running:
time make test
in the two following branches, available on the tachyon repository:
globalOriginalLinearSearch globalFastSearch
The source code for the search algorithm can be found in 'codegen/ir-to-asm-x86.js' at line:
338: irToAsm.translator.prototype.get_prop_addr = function (opnds, dest)
Erick