Size: a a a

2020 August 27

ŹR

Źmićer Rubinštejn in pro.elixir
Lama Lover
Только вот в биме нет стека
Wat?
источник

Е

Евгений in pro.elixir
Lama Lover
Только вот в биме нет стека
Это как интересно? Там дохрена регистров, но и стек вроде есть
источник

LL

Lama Lover in pro.elixir
Там есть y регистры, которые типа стек. Но они не стек
Всё это достигается путём directly threaded code
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Stacktrace есть, а стека - нету 🤣🤣
источник

LL

Lama Lover in pro.elixir
(если я не проебался когда последний раз читал the Beam Book)
источник

Е

Евгений in pro.elixir
Lama Lover
(если я не проебался когда последний раз читал the Beam Book)
проебался. там написано, что BEAM не является стек-машиной, а не то что там нет стека
источник

Е

Евгений in pro.elixir
Стек вызовов там есть
источник

LL

Lama Lover in pro.elixir
Сейчас я найду нужный чаптер, погодите
источник

Е

Евгений in pro.elixir
источник

LL

Lama Lover in pro.elixir
источник

LL

Lama Lover in pro.elixir
О, синхронно
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Нашёл вот это?

Most register machines do still have a stack used for passing arguments to functions and saving return addresses. BEAM has both a stack and registers,
источник

AB

Alex Bubnov in pro.elixir
BEAM has both a stack and registers, but just as in WAM the stack slots are accessible through registers called Y-registers.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Мы же об этом говорим, а не о push eax
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
BEAM has both a stack and registers, but just as in WAM the stack slots are accessible through registers called Y-registers.
Вот о чём я и говорил
источник

Е

Евгений in pro.elixir
источник

LL

Lama Lover in pro.elixir
> Anyway, the BEAM is not a stack machine, it is a register machine. In a register machine instruction operands are stored in registers instead of the stack, and the result of an operation usually ends up in a specific register

Операнды лежат не на стеке, а в y регистрах
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Чувствуешь разницу между стеком вычислений и стеком вызовов?
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Чувствуешь разницу между стеком вычислений и стеком вызовов?
Стек вызовов — абстракция
Стек вычислений — стек который лежит под указателем в специальном регистре (если говорить про asm)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Вроде чувствуешь... Так зачем тогда набрасываешь? 🙃
источник