diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-12-30 01:30:56 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-12-30 01:30:56 -0800 |
commit | 395b3ffbebb4656fdc5096887bc1ca7df5180da3 (patch) | |
tree | e39fb0e76353cb5db67db39428d6698495878a97 /026call.cc | |
parent | 76590e79bb45d192ba0ed9cc82952321aec0d682 (diff) | |
download | mu-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