Size: a a a

Compiler Development

2020 January 14

EM

Evgenii Moiseenko in Compiler Development
извиняюсь, вас случайно зацепило )
источник

BD

Berkus Decker in Compiler Development
Alexander Tchitchigin
Вот отчего Вы сразу на личности переходите на ровном месте? При таком высоком качестве того, что Вы пишете. Не понимаю как это так сочетается?.. 😞
По старой памяти.
источник

I

Ioann_V in Compiler Development
Evgenii Moiseenko
@Ioann_V по поводу атомиков в С/С++ есть годные слайды https://www.cs.tau.ac.il/~orilahav/papers/lahav_c11.pdf
там, кстати, есть и "аналогии с железом", которые вам так нравятся :)
Засейвил. Но в целом, уже +- понимаю. В хардвару я так то тоже лез, но более критичные примеры, требуют более универсальной хардвары, типа общего кеша и прочего. Хотя, те примеры что видел я, исходиди из загрузки линий передачи.
источник

AK

Andrei Kurosh in Compiler Development
источник
2020 January 15

__

_________ _________ in Compiler Development
источник

VY

Vasiliy Yorkin in Compiler Development
Сорри за глупый вопрос, но что в x64 Linux ABI значит 2-nd return register? Это нужно чтобы обеспечить возможность возвращать 2 значения (?)
источник

VY

Vasiliy Yorkin in Compiler Development
Вообще, я пока не уверен, что мне это вообще нужно знать. Можно просто использовать rax и больше ни о чём не думать пока, наверное
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Vasiliy Yorkin
Сорри за глупый вопрос, но что в x64 Linux ABI значит 2-nd return register? Это нужно чтобы обеспечить возможность возвращать 2 значения (?)
Да, или большое значение
источник

VY

Vasiliy Yorkin in Compiler Development
Спасибо!
источник

K

Kir in Compiler Development
divMod какой-нибудь или упакованное в 2 регистра значение длиной в два регистра
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Важно что после вызова функции он может не сохраниться
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Vasiliy Yorkin
Вообще, я пока не уверен, что мне это вообще нужно знать. Можно просто использовать rax и больше ни о чём не думать пока, наверное
А ты пишешь кодогенерацию?
источник

VY

Vasiliy Yorkin in Compiler Development
Пока пишу генерацию IR, но скоро дойду и до кодогенерации. Начну с x64
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Удобно делать несколько IR и один из них "почти ассемблер"
источник

VY

Vasiliy Yorkin in Compiler Development
Вот у меня вот такой "почти ассемблер", сейчас покажу
источник

VY

Vasiliy Yorkin in Compiler Development
http://ix.io/27sC
Вроде бы, довольно низкоуровневый (это по Tiger-book Аппеля)
И трансляция в него выглядит как-то так http://ix.io/27sD (не доделано ещё)

Но я пока много чего не знаю, возможно, нужен будет ещё один IR потом %)
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Уже такие вещи, как binop, кажутся весьма высокоуровневыми
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Я скорее про такой уровень
источник

IJ

Igor 🐱 Jirkov in Compiler Development
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Извиняюсь за пример на кок, другого под рукой нет
источник