Size: a a a

Беседка Perl-групп

2021 August 06

VG

Vadim Goncharov in Беседка Perl-групп
и нафига дублировать работу?
источник

AP

Anton Petrusevich in Беседка Perl-групп
источник

AK

Andrey Konovalov in Беседка Perl-групп
Что-то странное скомпилировано, где вызов билтина?
источник

AK

Andrey Konovalov in Беседка Perl-групп
И где он сам
источник

AK

Andrey Konovalov in Беседка Perl-групп
Какая-то жесть. Но вообще для чистоты
источник

AP

Anton Petrusevich in Беседка Perl-групп
какой такой "вызов"? там его прямо инлайном посчитали, bsf видишь?
источник

AK

Andrey Konovalov in Беседка Perl-групп
нужно брать argv(0)
источник

AK

Andrey Konovalov in Беседка Perl-групп
Так там вообще нет ничего, даже числа 3
источник

AK

Andrey Konovalov in Беседка Perl-групп
Или нет, числа 2
источник

AP

Anton Petrusevich in Беседка Perl-групп
в смысле "нет"?
источник

AK

Andrey Konovalov in Беседка Perl-групп
А, блин, всё, bsf в упор не увидел
источник

MA

Mons Anderson in Беседка Perl-групп
:)
Не завязал, но на нём сейчас пишу только для себя
В облаке старое как работало, так и работает, просто новое стали стараться писать на Go
S3 тоже как написан, так и работает на Perl.
источник

AK

Andrey Konovalov in Беседка Perl-групп
Да, теперь ясно 🙂
Мне кажется, bsf так и был вставлен. Но конечно экономия приличная на том, что нет бесполезных no-op операций со стеком, call (который тоже операции со стеком) и всего вот этого
источник

AK

Andrey Konovalov in Беседка Perl-групп
Но мне бы код самого билтина глянуть... Так-то мой асм-код же не один bsf делает, он его использует внутри себя, а цель - получить список всех установленных бит
источник

AP

Anton Petrusevich in Беседка Perl-групп
суть в том, что при смене архитектуры этот буилтин останется рабочим
источник

AP

Anton Petrusevich in Беседка Perl-групп
к примеру, при выборе "арм", гцц генерирует "rbit"
источник

AK

Andrey Konovalov in Беседка Perl-групп
Ну так переключение между асм-вставками. Очень вероятно, что оно так и реализовано, я об этом
источник

AP

Anton Petrusevich in Беседка Perl-групп
да, но это уже не твоя забота
источник

AP

Anton Petrusevich in Беседка Perl-групп
ты получаешь оптимизированную функцию для работы с битами на любой поддерживаемой платформе без выучивания как оно там в асм
источник

AK

Andrey Konovalov in Беседка Perl-групп
Ну блин, во-первых мне не интересны архитектуры типа арм.
Во-вторых такое же переключение между вставками реализуется и на Crystal.
Там именно так сделано в fibers.cr
источник