Size: a a a

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

2020 November 11

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
так что сложно придумать как его заменить
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
с другой стороны, движкам тектовое представление не нужно
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
в общем, в идеальном мире есть уже скомпиленные wasm модули в репе со спекой и в комментах у них где-то рядом wat-представление. и никакой ваббит не нужен
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
(точнее, он или аналог может быть удобен только для тестов каких-то своих регрессий, но тут опять же можно хранить wasm с текстовым представлением в комментах, заранее готовить, заодно и пробег тест сьюта ускоряет)
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
в общем, я бы делал так:
- пишем текстовое представление и компилим в .wasm, который кладем в тесты
- при запуске тест сьюта (на ci или отдельной командой локально) проверяем есть ли у каждого модуля текстовое представление в отдельном файлике, если нет, то генерим через libwabt (не js), если есть, то смотрим не изменился ли его хэш
- если есть поменявшиеся хэши текстовых представлений, то показываем разработчику дифф изменений в текстовых представлениях и говорим “йоу, там ваббит проапдейтился так, что соответствие текстового и бинарного представлений поменялось. разберись и апни там что надо”
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
но тут тогда нельзя просто так обновлять ваббит если что-то типа local.get vs get_local произошло в спеке
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
надо все вместе
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
еще хуже если таких изменений в ваббите много, а хочется решать проблемы отдельно
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
кстати, можно и наоборот
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
хэши бинарей хранить, а в репе текст
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
но в тестах всегда wasm бинари юзать
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
и перед запуском тест сьюта компилить и сравнивать показывать дифф если только и libwabt обновился (но тут надо wasm2wat при несоответствии)
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Довольно много тестов используют собранные модули, но там текст просто лежит рядом без проверки
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Вопрос - иметь свой wabt или искать на компе разработчика?
источник

SR

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

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
везде должно одинаково быть
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
и обновляться у всех
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
иначе все будет плохо
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
желательно и после гит пулла просить запустить гит сабмодуль или что там
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
где-то версию хранить и писать обновилось с такой-то на такую-то, обнови
источник