Size: a a a

Compiler Development

2020 January 13

M

MaxGraey in Compiler Development
Constantine
Отлично, спасиб, над будет уделить время, чтоб разобраться что там, как .
И еще можно вопрос: почему у Rust не свой бэк ?
Спроси вот у этого чувака: https://twitter.com/steveklabnik
источник

BD

Berkus Decker in Compiler Development
Constantine
Отлично, спасиб, над будет уделить время, чтоб разобраться что там, как .
И еще можно вопрос: почему у Rust не свой бэк ?
Чтобы не изобретать велосипед и использовать готовую поддержку десятка архитектур? Так то сейчас как раз cranelift набирает обороты - будет и свой бэк видимо.
источник

I

Ioann_V in Compiler Development
Evgenii Moiseenko
и они часто не интринтуитивны, потому-что в lock-free часто отсутствует понятие "глобального" времени/памяти, и гонки это норма
а как меняются правила игры, если в одном потоке происходит сохранение с помощью seq_cst, а чтение в другом - с помощью acq?

ЗЫ дублирование с procxx, ибо там молчат.
источник

AT

Alexander Tchitchigin in Compiler Development
Constantine
Отлично, спасиб, над будет уделить время, чтоб разобраться что там, как .
И еще можно вопрос: почему у Rust не свой бэк ?
На самом деле нужно ставить обратный вопрос: почему у Go свой? Потому что его авторы уже зпилили парочку компиляторов C и деривативов, в частности, для ОС Plan 9 и Limbo. По сути, они и взяли бэк из компилятора C для Plan 9, и допилили под Go. Потом, конечно, ещё много лет дорабатывали...
источник

AT

Alexander Tchitchigin in Compiler Development
Berkus Decker
Чтобы не изобретать велосипед и использовать готовую поддержку десятка архитектур? Так то сейчас как раз cranelift набирает обороты - будет и свой бэк видимо.
Я лично сильно сомневаюсь, что Cranelift будет использоваться как бэк для Rust. Не в следующие 5 лет точно.
источник

BD

Berkus Decker in Compiler Development
Alexander Tchitchigin
Я лично сильно сомневаюсь, что Cranelift будет использоваться как бэк для Rust. Не в следующие 5 лет точно.
Ок, как насчет следующих после них лет?
источник

AT

Alexander Tchitchigin in Compiler Development
Berkus Decker
Ок, как насчет следующих после них лет?
Вероятность повышается, конечно. Если за это время Cranelift достаточно разовьют и добавят поддержку всяких разных процессоров...
источник

AT

Alexander Tchitchigin in Compiler Development
Т.е. учитывая embedded Rust на микроконтроллерах, реалистично - нет. 😊
источник

BD

Berkus Decker in Compiler Development
Ну посмотрим, пока он официально ни для чего не используется.
источник

C

Constantine in Compiler Development
Alexander Tchitchigin
На самом деле нужно ставить обратный вопрос: почему у Go свой? Потому что его авторы уже зпилили парочку компиляторов C и деривативов, в частности, для ОС Plan 9 и Limbo. По сути, они и взяли бэк из компилятора C для Plan 9, и допилили под Go. Потом, конечно, ещё много лет дорабатывали...
Понял , спасибо .
источник

M

MaxGraey in Compiler Development
Berkus Decker
Ну посмотрим, пока он официально ни для чего не используется.
Он уже частично испольщуется в FF, и полностью в wasmtime и wasmer
источник

M

MaxGraey in Compiler Development
как я слышал Cranelift будет использоваться для дебаг сборок в Rust.
источник

AT

Alexander Tchitchigin in Compiler Development
Constantine
Понял , спасибо .
Кстати, Вы смотрели список языков, которые используют LLVM в качестве бэк-енда? Там не только C/C++ (Clang), Rust, Swift и .NET (Mono). 😉
источник

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
как я слышал Cranelift будет использоваться для дебаг сборок в Rust.
Конечно, если вы собираете на x86-64 или Arm. 😊
источник

M

MaxGraey in Compiler Development
Alexander Tchitchigin
Конечно, если вы собираете на x86-64 или Arm. 😊
Там пока даже по AArch64 нету кодогенерации)
источник

C

Constantine in Compiler Development
Alexander Tchitchigin
Кстати, Вы смотрели список языков, которые используют LLVM в качестве бэк-енда? Там не только C/C++ (Clang), Rust, Swift и .NET (Mono). 😉
Мне казалось, что люди заленилсь и используют LLVM , теперь знаю , что свой бэк это очень сложно и много человеколет, что проще заюзать LLVM .
источник

AT

Alexander Tchitchigin in Compiler Development
Constantine
Мне казалось, что люди заленилсь и используют LLVM , теперь знаю , что свой бэк это очень сложно и много человеколет, что проще заюзать LLVM .
В принципе - да, но есть компромиссы. В частности, GHC не использует LLVM бэк-енд, несмотря на то, что он существует, потому что LLVM плохо поддерживает ФП, так что рукописный работает лучше. Есть и другие языки в подобной ситуации. Даже Rust в небольшой степени.
источник

BD

Berkus Decker in Compiler Development
MaxGraey
Он уже частично испольщуется в FF, и полностью в wasmtime и wasmer
Ну то есть пока ни для чего. Ждем-с, я буду только рад если его спаяют с MIR и добавят туда интересных архитектур типа riscv и aarch64
источник

I

Ioann_V in Compiler Development
Berkus Decker
Ну то есть пока ни для чего. Ждем-с, я буду только рад если его спаяют с MIR и добавят туда интересных архитектур типа riscv и aarch64
Дядя Берк, ну может ты поможешь :)? Вопрос чутььь выше.
источник

BD

Berkus Decker in Compiler Development
Ioann_V
Дядя Берк, ну может ты поможешь :)? Вопрос чутььь выше.
Чудовищно неудобно писать с телефона длинные телеги! Через пару дней если только
источник