From 28274eebc3211c25cfb39f962cb1140dc210994f Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Wed, 14 Oct 2020 10:52:03 -0700 Subject: 7026 --- mu.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mu.md b/mu.md index 5d431c79..5a178bd9 100644 --- a/mu.md +++ b/mu.md @@ -617,12 +617,16 @@ copy-handle x, y I said at the start that most instructions map 1:1 to x86 machine code. To enforce type- and memory-safety, I was forced to carve out a few exceptions: -* the `index` instruction on arrays, for bounds-checking +* the `index` instruction on arrays, for bounds-checking (not yet implemented) * the `length` instruction on arrays, for translating the array size in bytes into the number of elements. * the `lookup` instruction on handles, for validating fat-pointer metadata * `var` instructions, for initializing memory +If you're curious, [the compiler summary page](http://akkartik.github.io/mu/html/mu_instructions.html) +has the complete nitty-gritty on how each instruction is implemented. Including +the above exceptions. + ## Conclusion Anything not allowed here is forbidden. Even if the compiler doesn't currently -- cgit 1.4.1-2-gfad0