Информация об изменениях

Сообщение Re[14]: Web 2.0 от 24.11.2019 13:32

Изменено 24.11.2019 13:33 vdimas

Re[14]: Web 2.0
Здравствуйте, D. Mon, Вы писали:

DM>Ну вот смотрю я в спеку и вижу совершенно иное:


Я вижу всё то же:

Conversely, non-address taken values which are usually on the stack are instead represented as locals inside functions. This effectively means that WebAssembly has an infinite set of registers, and can choose to spill values as it sees fit in a manner unobservable to the hosted code. This implies that there's a separate stack, unaddressable from hosted code, which is also used to spill return values. This allows strong security properties to be enforced, but does mean that two stacks are maintained (one by the VM, the other by the compiler which targets WebAssembly)


Хотя и здесь ерунда написана.
Какие узколобые ребятки пишут спеки на webasm, js-фрики заполонили... что они вообще видели в своей жизни, что выродили ТАКОЕ? ))

По твоей ссылке кач-во спеки тоже
Я не был в курсе, что там, оказывается, всё так плохо.
После просмотра спеки склоняюсь к мысли, что webasm будет готов для широкого использования намного позже, чем планировали ранее (минимум лет на 5 позже, могу на ящик коньяка забиться).


Вот вполне обычный пример:
struct SomeStruct { /* a lot of fields */};

SomeStruct getSomeStruct() {...}
void processSomeStruct(const SomeStruct & value) {...}

...

processSomeStruct(getSomeStruct());

В случае RVO "место" под возвращаемое значение создаётся до вызова getSomeStruct(..), адрес этого "места" де-факто подаётся как аргумент.
Спеки в помоечку... ))
Re[14]: Web 2.0
Здравствуйте, D. Mon, Вы писали:

DM>Ну вот смотрю я в спеку и вижу совершенно иное:


Я вижу всё то же:

Conversely, non-address taken values which are usually on the stack are instead represented as locals inside functions. This effectively means that WebAssembly has an infinite set of registers, and can choose to spill values as it sees fit in a manner unobservable to the hosted code. This implies that there's a separate stack, unaddressable from hosted code, which is also used to spill return values. This allows strong security properties to be enforced, but does mean that two stacks are maintained (one by the VM, the other by the compiler which targets WebAssembly)


Хотя и здесь ерунда написана.
Какие узколобые ребятки пишут спеки на webasm, js-фрики заполонили... что они вообще видели в своей жизни, что выродили ТАКОЕ? ))

По твоей ссылке кач-во спеки тоже
Я не был в курсе, что там, оказывается, всё так плохо.
После просмотра спеки склоняюсь к мысли, что webasm будет готов для широкого использования намного позже, чем планировали ранее (минимум лет на 5 позже, могу на ящик коньяка забиться).

Вот вполне обычный пример:
struct SomeStruct { /* a lot of fields */};

SomeStruct getSomeStruct() {...}
void processSomeStruct(const SomeStruct & value) {...}

...

processSomeStruct(getSomeStruct());

В случае RVO "место" под возвращаемое значение создаётся до вызова getSomeStruct(..), адрес этого "места" де-факто подаётся как аргумент.
Спеки в помоечку... ))