Size: a a a

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

2020 May 24

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
да, но есть более простые способы добиться рантайм проверок, чем компилировать в васм
Справедливости ради, там же не только рантайм-проверки. Точнее, не только проверки выхода за границы массива и типа того. Использование указателей ограничено, особенно — указателей на функции, и т.д.
источник

JC

Julian =) Coffee in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
Это всё Рассел виноват — это он придумал в начале прошлого века часть "корректных программ" отбрасывать! 😂
?)
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
Например?
если говорить только о проверках на выход за пределы массива, то миллионы аналогов std::vector и других стандартных контейнеров с проверками
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Бертран Рассел. Придумал теорию типов как раздел математики (по факту). С него и пошло. Ну, на пару с Уатхедом...
источник

MB

Mikail Bagishov in WebAssembly — русскоговорящее сообщество
Julian =) Coffee
В Расте например решили просто отрезать n-% процентов програм, из которых часть корректная, но ее просто нельзя формально верифицировать.
Это верно про примерно любой компилируемый язык.
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
если говорить только о проверках на выход за пределы массива, то миллионы аналогов std::vector и других стандартных контейнеров с проверками
Т.е. по факту — переписать код. Не уверен, что это всегда "дешевле", чем компилировать в WASM...
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
Справедливости ради, там же не только рантайм-проверки. Точнее, не только проверки выхода за границы массива и типа того. Использование указателей ограничено, особенно — указателей на функции, и т.д.
а как небезопасное использование указателей на функции при компиляции в васм может быть обнаружено? Можешь пример привести, плиз
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Mikail Bagishov
Это верно про примерно любой компилируемый язык.
*про любой статически типизированный язык.
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
Т.е. по факту — переписать код. Не уверен, что это всегда "дешевле", чем компилировать в WASM...
некоторые просто в дефайны оборачивают перед компиляцией
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
а как небезопасное использование указателей на функции при компиляции в васм может быть обнаружено? Можешь пример привести, плиз
В WASM же нельзя произвольные функции по указателю вызывать — нужно же их все сначала в табличку собрать и вызывать по индексу.
источник

MP

Michael Pavlovsky in WebAssembly — русскоговорящее сообщество
@GabrielFallen Назревает Хаскелл (вот вот грянет гром и скажут слово М ... )
источник

JC

Julian =) Coffee in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
Бертран Рассел. Придумал теорию типов как раздел математики (по факту). С него и пошло. Ну, на пару с Уатхедом...
Это от него пошли книги по математике для чайников?
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Michael Pavlovsky
@GabrielFallen Назревает Хаскелл (вот вот грянет гром и скажут слово М ... )
Я как человек знакомый с Haskell и монадами, не вижу чтобы они назревали. 🤷‍♀️
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Julian =) Coffee
Это от него пошли книги по математике для чайников?
Скорее наоборот. Редкая птица дочитает до середины Principia Matematica...
источник

JC

Julian =) Coffee in WebAssembly — русскоговорящее сообщество
Точно, он же еще говорил что чайников не существует.
источник

e

egoarka in WebAssembly — русскоговорящее сообщество
а как ttl'и на ключах работают с wasm redis ?
или они не работают?) из за того что пришлось пожертвовать background threads
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
В WASM же нельзя произвольные функции по указателю вызывать — нужно же их все сначала в табличку собрать и вызывать по индексу.
ну, есть control flow graph integrity, которая делает почти то же самое только без проверки типа. + видел несколько подобных проектов для инструментации vtable calls с проверкой типов, но сейчас не смог быстро нагуглить
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
egoarka
а как ttl'и на ключах работают с wasm redis ?
или они не работают?) из за того что пришлось пожертвовать background threads
ага, верно, ими пришлось пожертвовать
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
ну, есть control flow graph integrity, которая делает почти то же самое только без проверки типа. + видел несколько подобных проектов для инструментации vtable calls с проверкой типов, но сейчас не смог быстро нагуглить
Мне кажется очевидно, что компиляция в WASM происходит не волшебным образом, а посредством известных алгоритмов анализа и трансформации. 😊
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
Мне кажется очевидно, что компиляция в WASM происходит не волшебным образом, а посредством известных алгоритмов анализа и трансформации. 😊
вот я как раз про это хотел спросить
источник