Size: a a a

Compiler Development

2020 February 20

AT

Alexander Tchitchigin in Compiler Development
Peter Sovietov
Есть еще и консервативный вариант :)
Он imprecise - так не очень интересно... 😊
источник

AS

Aleksey Shipilev in Compiler Development
Алексей
Думаю, вопрос для любых платформ с gc актуальный
В хотспоте на каждом сейфпоинте известна карта ссылок: в каких регистрах и стек-слотах лежат настоящие указатели.
источник

E

EgorBo in Compiler Development
у нас гц в корцлр тоже знает обо всех, но я не рискну сказать почему, может быть тоже битмапы рисует.
а вот в моно гц консервативный
источник

E

EgorBo in Compiler Development
меньше футпринт
источник

E

EgorBo in Compiler Development
интересно как в далвике/арте
источник

AT

Alexander Tchitchigin in Compiler Development
EgorBo
у нас гц в корцлр тоже знает обо всех, но я не рискну сказать почему, может быть тоже битмапы рисует.
а вот в моно гц консервативный
У меня такое впечатление, что в Mono в своё время тупо взяли Boehm GC чтобы не заморачиваться написанием собственного, да так и не заменили с тех самых пор. А теперь - "футпринт меньше"... 😁
источник

А

Алексей in Compiler Development
EgorBo
у нас гц в корцлр тоже знает обо всех, но я не рискну сказать почему, может быть тоже битмапы рисует.
а вот в моно гц консервативный
Кстати про корцлр, а стэк там эмулируется или он имеет что-то общее с нейтивным?
источник

E

EgorBo in Compiler Development
Alexander Tchitchigin
У меня такое впечатление, что в Mono в своё время тупо взяли Boehm GC чтобы не заморачиваться написанием собственного, да так и не заменили с тех самых пор. А теперь - "футпринт меньше"... 😁
так и было, но переписали с Boehm на "sgen" там вроде добавились concurrent режимы для марк н свип фаз, компактирование

а вот Юнити юзают моно и до сих пор на Boehm
источник

E

EgorBo in Compiler Development
Алексей
Кстати про корцлр, а стэк там эмулируется или он имеет что-то общее с нейтивным?
что такое эмуляция стека?
источник

E

EgorBo in Compiler Development
это когда его в хипе эмулируют? :)
источник

AT

Alexander Tchitchigin in Compiler Development
Алексей
Кстати про корцлр, а стэк там эмулируется или он имеет что-то общее с нейтивным?
Спецификация CLR целенаправленно расплывчата относительно наличия и использования стека чтобы не мешать JIT использовать обычный стек штатным образом.
источник

А

Алексей in Compiler Development
Ну типа есть какойто цпп рантайм и он заводит отдельный от ос-стэка стэк и там в нём данные перекидывает
источник

А

Алексей in Compiler Development
Хотя наверное это было бы глупо для не-интерпретаторов
источник

AT

Alexander Tchitchigin in Compiler Development
Алексей
Хотя наверное это было бы глупо для не-интерпретаторов
Нет, не так и глупо. Есть такая штука - спагетти-стек (на куче), раньше в Go так было, не считая разных других. Есть такая штука - shadow stack, хотя вот она не особо популярна.
источник

E

EgorBo in Compiler Development
надо у @maxgraey спросить, размер стека в васме вроде сильно ограничен и можно легко уйти в честный СтекОверфлоу интерпретатором
источник

E

EgorBo in Compiler Development
*в браузерах
источник

RB

Rustem B. in Compiler Development
EgorBo
надо у @maxgraey спросить, размер стека в васме вроде сильно ограничен и можно легко уйти в честный СтекОверфлоу интерпретатором
СтекОверфлоу полезный🌚
источник

А

Алексей in Compiler Development
Alexander Tchitchigin
Нет, не так и глупо. Есть такая штука - спагетти-стек (на куче), раньше в Go так было, не считая разных других. Есть такая штука - shadow stack, хотя вот она не особо популярна.
Вики пишет шадоу стэк это протекш механизм или он ещё для чего-то существует?
источник

AT

Alexander Tchitchigin in Compiler Development
Алексей
Вики пишет шадоу стэк это протекш механизм или он ещё для чего-то существует?
Для того же GC можно использовать.
источник

МБ

Михаил Бахтерев in Compiler Development
Alexander Tchitchigin
Нет, не так и глупо. Есть такая штука - спагетти-стек (на куче), раньше в Go так было, не считая разных других. Есть такая штука - shadow stack, хотя вот она не особо популярна.
А сейчас как в Go?
источник