about summary refs log tree commit diff stats
path: root/026call.cc
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-12-30 01:30:56 -0800
committerKartik Agaram <vc@akkartik.com>2018-12-30 01:30:56 -0800
commit395b3ffbebb4656fdc5096887bc1ca7df5180da3 (patch)
treee39fb0e76353cb5db67db39428d6698495878a97 /026call.cc
parent76590e79bb45d192ba0ed9cc82952321aec0d682 (diff)
downloadmu-395b3ffbebb4656fdc5096887bc1ca7df5180da3.tar.gz
4894
Done with kinda-safe pointers.

In a real compiler the fast path of 'lookup' would ideally get inlined.
Excluding procedure-call overhead, the current implementation consumes 2
registers besides the input, and requires 9 instructions (2 push, 2 load,
compare, jump, increment, 2 pop). That's large enough that inlining may
become a trade-off. Even if we somehow magically had the registers already
loaded and available, we'd still need 4 instructions (1 pointer dereference,
compare, jump and increment). The price of safety.
Diffstat (limited to '026call.cc')
0 files changed, 0 insertions, 0 deletions