Size: a a a

WebAssembly — русскоговорящее сообщество

2019 September 02

K🔥

Kirill 🔥 Cherkashin in WebAssembly — русскоговорящее сообщество
MaxGraey
Надеюсь ты только поиграться и понять как устроин wasm структурно
Да, мне для презы
источник

K🔥

Kirill 🔥 Cherkashin in WebAssembly — русскоговорящее сообщество
MaxGraey
Поставь себе wabt (https://github.com/WebAssembly/wabt) можно собрать, а можно поставить из Homebrew (если Mac).
Ну или использовать веб версию, но она не всегда актуальная: https://webassembly.github.io/wabt/demo/wat2wasm/
Я как раз использую https://github.com/WebAssembly/wabt, он он почему-то не знает как собирать br_if
источник

K🔥

Kirill 🔥 Cherkashin in WebAssembly — русскоговорящее сообщество
Kirill 🔥 Cherkashin
Ок, почему у меня этот код работает в webassembly.studio, но не работает когда я собираю его в браузере через wat2wasm
(module
 (func $add (param $lhs i32) (param $rhs i32) (result i32)
   (local $l1 i32)
     i32.const 33
     set_local $l1

     block $lol
       i32.const 1
       i32.const 1
       i32.eq
       br_if $lol
       i32.const 22
       set_local $l1
     end
     get_local $l1
   )
 (export "add" (func $add))
)


Пишет:
WebAssembly.instantiate(): Compiling function #0 failed: invalid branch depth: 1819241508 @+69
Вернее собирает норм, но при запуске все дохнет ☝️
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
открой issue
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Kirill 🔥 Cherkashin
Вернее собирает норм, но при запуске все дохнет ☝️
а дохнет только хром? Если и firefox дохнет, то тогда точно открывай issue
источник

K🔥

Kirill 🔥 Cherkashin in WebAssembly — русскоговорящее сообщество
Сейчас проверю
источник

K🔥

Kirill 🔥 Cherkashin in WebAssembly — русскоговорящее сообщество
wasm validation error: at offset 68: branch depth exceeds current nesting level
источник

K🔥

Kirill 🔥 Cherkashin in WebAssembly — русскоговорящее сообщество
Kirill 🔥 Cherkashin
Ок, почему у меня этот код работает в webassembly.studio, но не работает когда я собираю его в браузере через wat2wasm
(module
 (func $add (param $lhs i32) (param $rhs i32) (result i32)
   (local $l1 i32)
     i32.const 33
     set_local $l1

     block $lol
       i32.const 1
       i32.const 1
       i32.eq
       br_if $lol
       i32.const 22
       set_local $l1
     end
     get_local $l1
   )
 (export "add" (func $add))
)


Пишет:
WebAssembly.instantiate(): Compiling function #0 failed: invalid branch depth: 1819241508 @+69
Но сам код выглядит норм, да? Это не я туплю?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Kirill 🔥 Cherkashin
Но сам код выглядит норм, да? Это не я туплю?
Выглядит нормально, старый wabt в студии собирает его и исполняет.
источник

K🔥

Kirill 🔥 Cherkashin in WebAssembly — русскоговорящее сообщество
Да, поэтому непонятно, ок,сейчас соберу последнюю версию вабт и если не поможет, зафайлю баг, спасибо большое
источник
2019 September 03

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Кстати, кто то слышал про успешные wasm JIT bombs в v8? Мне известны только два которые нашел Guido Vranken через фаззинг тесты:
https://gist.github.com/cdetrio/bf653174489777dd09524cbb1b13eb13
https://gist.github.com/cdetrio/ff70e99784b741cb2bc414e94feb85a1
источник

C

Constantine in WebAssembly — русскоговорящее сообщество
MaxGraey
Кстати, кто то слышал про успешные wasm JIT bombs в v8? Мне известны только два которые нашел Guido Vranken через фаззинг тесты:
https://gist.github.com/cdetrio/bf653174489777dd09524cbb1b13eb13
https://gist.github.com/cdetrio/ff70e99784b741cb2bc414e94feb85a1
фига там кода нагенерено
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
В LLVM и Binaryen добавили новые QFMA и QFMS инструкции для SIMD:
https://github.com/WebAssembly/binaryen/pull/2328

Что интерестно, браузеры их еще не поддерживают, но что более интерестно в спеке я про них тоже ничего не нашел=)

FMA/FMS - это fused multiply add / subtract. Я эти инструкции давно ждал только скалярные, а тут векторизированные, что еще лучше!
@chicoxyzzy Ты не в курсе почему тулкит бежит впереди паровоза и этого нету еще даже в спеке по SIMD?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
ну там в ишью написано в конце
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
а, там про v8
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
ну хз, значит потом апдейт на митинге будет
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
возможно про это на wg говорили, но мне пришлось уйти раньше
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ҫѐҏӗѫӑ Ҹҋ 🤖
возможно про это на wg говорили, но мне пришлось уйти раньше
Все возможно. Может просто руки не доходят нормально все это оформить, но все все уже решили
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
кто-нибудь знает чат железячников? вроде был такой
источник