Making a WebAssembly interpreter in Ruby, part 3: integer instructions

preview_player
Показать описание

00:00:00 — Waiting to start
00:00:44 — Hello
00:02:06 — Retro
00:13:00 — Add GitHub Actions workflow to run the tests
00:24:04 — Rename `signed` local variable to `negated`
00:31:11 — Escape dots in instruction regular expressions
00:37:20 — Add anchors to instruction regular expressions
00:40:19 — Match parameters and arguments in function definitions and invocations
00:54:47 — Remember parameters at function definition time
01:05:16 — Add required `locals` argument to #evaluate
01:12:50 — Provide parameter names and argument values when evaluating function bodies
01:19:15 — Always mask the result of an `i32.*` or `i64.*` instruction
01:28:14 — Remove unnecessary masking from #interpret_integer
01:29:12 — Ignore the `assert_trap` command
02:12:04 — Add #signed and #unsigned helpers
02:13:09 — Use a `size` local variable in #mask
02:14:59 — Fix division results for inexact negative quotients
03:06:12 — Mask values inside #signed and #unsigned to the right bit width
03:35:20 — Ignore the `assert_invalid` command
03:36:39 — Use Integer#[] to check whether bits are set
03:57:24 — Wrapping up
03:59:01 — Bye
Рекомендации по теме
welcome to shbcf.ru