Size: a a a

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

2019 March 11

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
А в assemblyscript можно как-то проект скомпилировать так, чтобы abort (типа как здесь https://github.com/AssemblyScript/assemblyscript/blob/4e1bba3a2407ca3739db209af4a403e162267132/tests/compiler/function-expression.untouched.wat#L7) сразу заменялись на unreachable без лишних импортов?
Раньше можно было сделать вот так для компилятора --abort="", но сейчас это уже не работает по-моему
источник

MV

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

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
ага, можно на свою переопределить
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Да, через -use abort=""
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Можно и от unreachable избавиться, но не рекомендую для этого нужно добавить --noAssert
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
ID:414983998
Можно и от unreachable избавиться, но не рекомендую для этого нужно добавить --noAssert
ага, спасибо
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
а как в assemblyscript читать из memory? Есть, например, метод fill для записи, но чего-то не могу найти для чтения
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
нашёл похоже: load<T>(offset)
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Там же полно примеров. Если нужно работать с raw memory, то есть встроенные интринсики load<T>/store<T>. Можно обвернуть это все в Pointer: https://github.com/AssemblyScript/assemblyscript/blob/master/tests/compiler/std/pointer.ts#L3
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
ID:414983998
Там же полно примеров. Если нужно работать с raw memory, то есть встроенные интринсики load<T>/store<T>. Можно обвернуть это все в Pointer: https://github.com/AssemblyScript/assemblyscript/blob/master/tests/compiler/std/pointer.ts#L3
Только большая часть примеров находится в тестах...
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
Только большая часть примеров находится в тестах...
Здесь можно найти более продвинутые примеры из "жизни":
https://github.com/AssemblyScript/assemblyscript/wiki/Built-with-AssemblyScript
источник

N

Nikolay in WebAssembly — русскоговорящее сообщество
Тайпскрипт то ассэмбли?
источник

N

Nikolay in WebAssembly — русскоговорящее сообщество
И без костылей?
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Nikolay
И без костылей?
Без костылей, потому как собственный парсер а не ast-парсер от ts, который очень лимитированный
источник

N

Nikolay in WebAssembly — русскоговорящее сообщество
попробуем заценим
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Nikolay
попробуем заценим
Но ты учти от туда выкинуто все, что препятствует AOT компиляции, такие вещи как any, undefined (но не null), динамическое создание/удаления свойств у объектов и т д
источник

N

Nikolay in WebAssembly — русскоговорящее сообщество
ID:414983998
Но ты учти от туда выкинуто все, что препятствует AOT компиляции, такие вещи как any, undefined (но не null), динамическое создание/удаления свойств у объектов и т д
Это логично
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Nikolay
Тайпскрипт то ассэмбли?
Еще есть nectarjs: js->wasm
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Спасибо, выглядит интересно
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
Еще есть nectarjs: js->wasm
Не советую
источник