diff options
1 files changed, 31 insertions, 0 deletions
| -rw-r--r-- | website/content/slides/01_dragons/_index.md | 31 |
diff --git a/website/content/slides/01_dragons/_index.md b/website/content/slides/01_dragons/_index.md index 7892a65..916c25a 100644 --- a/website/content/slides/01_dragons/_index.md +++ b/website/content/slides/01_dragons/_index.md @@ -252,6 +252,37 @@ that is convenient for: } --- +### WebAssembly + +WebAssembly is actually an IR. + + (module + (func (export "add") (param $n1 i32) (param $n2 i32) (result i32) + get_local $n1 + get_local $n2 + i32.add + ) + ) + +--- +### .NET CIL + +- C#, F#, Basic (some versions), etc target the .NET virtual machine +- Common Intermediate Language + + .class public Foo + { + .method public static int32 Add(int32, int32) cil managed + { + .maxstack 2 + ldarg.0 // load the first argument; + ldarg.1 // load the second argument; + add // add them; + ret // return the result; + } + } + +--- ### Back end > Takes the IR and produces native code for a particular machine |
