RUVIDEO
Поделитесь видео 🙏

Making a WebAssembly interpreter in Ruby, part 25

https://github.com/tomstuart/wasminna/compare/c4ca972c6833f808546c1c4beec5c3ab13419a3b...e1297ac9aa20a33397683bd02f1021e796540dd7

00:00:00 — Move stack height and branch arity calculations out of block in #with_branch_handler
00:26:55 — Use a separate boolean to detect whether a branch has happened
00:37:01 — Rename #with_branch_handler to #as_block
00:44:21 — Extract #evaluate_block helper
00:59:13 — Remove `redo_on_branch` default from #as_block
01:04:34 — Move `return` handler into #invoke_function
01:14:03 — Remove unnecessary use of #with_current_function
01:16:55 — Remove unused #with_current_function method and `function` attribute
01:19:11 — Remove pointless reassignment to `type` in #invoke_function
01:20:32 — Correctly unwind stack after `return`
01:28:43 — Use #as_block to unwind the stack upon `return`
01:45:53 — Extract Context#well_formed? helper from Context#+
02:32:31 — Check identifier context well-formedness where required by the spec
03:00:03 — Remove overzealous well-formedness check from Context#+
03:03:04 — Consider labels index space when deciding identifier context well-formedness
03:04:30 — Push context lookup into #parse_index
03:23:18 — Stop creating instances of Local AST node
03:36:22 — Remove unused Local AST node
03:39:23 — Combine #parse_parameter and #parse_local
03:49:00 — Use #parse_index in #parse_elements
04:01:34 — Replace @memory instance variable with `memory` attribute
04:09:11 — Stop binding module AST node attributes to local variables during instantiation
04:24:49 — Store module components in new local variables during instantiation
04:29:30 — Introduce Module class in interpreter
04:36:47 — Guess `WASM_SPEC_PATH` in test script if unset
04:46:49 — Extract Interpreter class into its own file
04:56:09 — Remove unused boilerplate from wasminna.rb
04:58:17 — Rename wasminna.rb to run_wast.rb
05:03:02 — Move implementation files into lib/
05:05:17 — Move test files into test/
05:07:04 — Move implementation files into lib/wasminna/
05:10:43 — Move all implementation constants into a Wasminna:: namespace
05:17:28 — Extract Wasminna::Float::Format class into its own file
05:22:57 — Extract Wasminna::Float::Nan class into its own file
05:33:00 — Extract Wasminna::Float::Infinite class into its own file
05:35:52 — Extract Wasminna::Float::Zero class into its own file
05:39:32 — Extract Wasminna::Float::Finite class into its own file
05:44:10 — Move Approximation into Wasminna::Float::Finite namespace
05:48:54 — Refer to Wasminna::Float as just Float inside AST parser and interpreter
05:54:23 — Wrapping up

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Making a WebAssembly interpreter in Ruby, part 25», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.