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 /subx/apps/handle | |
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 'subx/apps/handle')
-rw-r--r-- | subx/apps/handle | bin | 7639 -> 7954 bytes |
1 files changed, 0 insertions, 0 deletions
diff --git a/subx/apps/handle b/subx/apps/handle
index ea73b522..1e2c0e28 100644
--- a/subx/apps/handle
+++ b/subx/apps/handle
Binary files differ |