Size: a a a

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

2021 April 09

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Можно узнать начало хипа:
extern unsigned char* __heap_base;

В теории все что ниже это статические данные + стек, но вот если нужно именно указатель на начало стека то кажеться только у emscripten есть глобальная переменная __stack_pointer но она указывает не на вершину стека
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
А у wasi нет такого понятия как начало стека вообще. Потому что работа со стеком полностью лежит на рантайме того или иного языка
источник

DB

Dmitry Bezhetskov in WebAssembly — русскоговорящее сообщество
ага, спасибо, пытался использовать __stack_pointer, но не преуспел
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Советую еще проверить __initial_sp но не факт что это поддерживается в wasm таргет
источник

DB

Dmitry Bezhetskov in WebAssembly — русскоговорящее сообщество
__initial_sp нету, но есть __data_end
источник

DB

Dmitry Bezhetskov in WebAssembly — русскоговорящее сообщество
__data_end это же и есть stack_base если раскладка такая: 0x0 |stack|data|heap ?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ну тогда можно попробовать __base_stack  = __heap_base - __data_end
источник

DB

Dmitry Bezhetskov in WebAssembly — русскоговорящее сообщество
тупой вопрос, heap_base это наибольший адрес кучи или наименьший?)
источник

M

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

DB

Dmitry Bezhetskov in WebAssembly — русскоговорящее сообщество
спасибо @maxgraey
источник
2021 April 11

MP

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

M

MaxGraey in WebAssembly — русскоговорящее сообщество
yowl00/csharp-helloworld

7.84 MB

А в чем смысл? Вроде же ничего не поменялось?
источник

MP

Michael Pavlovsky in WebAssembly — русскоговорящее сообщество
1) Эксперимент
2) Размер в этом контексте не важен
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
На сколько я помню это уже не первый эксперимент с RyuJIT IR -> LLVM IR. Так же как и с попытками затащить LLVM в Java вместо С2 все упирается в скорость компиляции LLVM JIT. По моему только Falcon проект немного в этом преуспел, но им там вроде 10 лет на это понадобилось потом их вроде кто-то купил
источник

ZB

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

ZB

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

ZB

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

ZB

Zalim Bashorov in WebAssembly — русскоговорящее сообщество
Это разработка Azul Systems
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Возможно я их путаю. Была значит разработка группы из РФ
источник

ZB

Zalim Bashorov in WebAssembly — русскоговорящее сообщество
У них есть офис в Питере
источник