OberonCore https://forum.oberoncore.ru/ |
|
подвижны ли объекты в A2 при сборке мусора? https://forum.oberoncore.ru/viewtopic.php?f=22&t=6529 |
Страница 1 из 1 |
Автор: | budden [ Четверг, 02 Январь, 2020 23:16 ] |
Заголовок сообщения: | подвижны ли объекты в A2 при сборке мусора? |
Вот такой вопросец. |
Автор: | Sergej Durmanov [ Суббота, 04 Январь, 2020 13:46 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
Что значит "подвижны"? |
Автор: | Comdiv [ Суббота, 04 Январь, 2020 14:20 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
Занимается ли менеджер памяти дефрагментацией кучи, перемещая выделенные блоки памяти и меняя тем самым их адреса. |
Автор: | Sergej Durmanov [ Суббота, 04 Январь, 2020 14:45 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
Нет, в а2 неперемещающий сборщик мусора |
Автор: | budden [ Воскресенье, 05 Январь, 2020 01:03 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
Он ведь там вроде не один? Или один? В общем, инфа 100%? ![]() |
Автор: | Sergej Durmanov [ Воскресенье, 05 Январь, 2020 08:19 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
Там же прямые указатели и сборщик mark&sweep. Откуда взяться перемещающему сборщику мусора? |
Автор: | budden [ Воскресенье, 05 Январь, 2020 14:13 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
Не знаю, я не читал все исходники. Спасибо за ответ. А есть ли планы сделать такой вот перемещающий сборщик мусора? Это очень существенная особенность архитектуры, хочется знать о планах, т.к. если такие планы есть, то адрес может уползти почти что в любой миг. |
Автор: | Илья Ермаков [ Вторник, 07 Январь, 2020 21:17 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
Возможно, информация будет полезна. Если говорить про КП/ББ, то там для перемещаемого алгоритма сборки препятствием является то, что нет метаинформации о структуре стека вызовов. И стек маркируется упрощённо - консервативно. Думаю, что в А2 ситуация та же. Т.е. невозможно реализовать фазу fixup перемещаемого сборщика - не получится пофиксить адреса в стеке. Хотя: 1) Не метаинформация, а отладочная (в неэффективном формате) в КП/ББ есть о структуре стека. Т.е. как бы есть от чего оттолкнуться (например, догенерировать метаинформацию о кадрах стека в рантайме). 2) Если собирать мусор с перемещением только при пустом стеке, то ОК. Но в А2 так не получится, по понятным причинам ))) |
Автор: | Александр Ильин [ Вторник, 07 Январь, 2020 21:36 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
Как вариант, можно перемещать все объекты, кроме тех, на которые существуют ссылки со стека. |
Автор: | budden [ Вторник, 07 Январь, 2020 22:04 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
В A2 - точный сборщик мусора, там этой проблемы нет. |
Автор: | Sergej Durmanov [ Среда, 08 Январь, 2020 07:22 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
Сейчас в а2 concurrent precise garbage collector. В последнее время там экспериментировали и с подсчетом ссылок и с поколениями, в результате пришли к тому что есть сейчас. Видимо это наиболее эффективный вариант, когда сборщик мусора все еще понятен в каждой строке кода. |
Автор: | arlean1 [ Вторник, 14 Январь, 2020 00:02 ] |
Заголовок сообщения: | Re: подвижны ли объекты в A2 при сборке мусора? |
Sergej Durmanov писал(а): ... Видимо это наиболее эффективный вариант, когда сборщик мусора все еще понятен в каждой строке кода. интересный доклад близко по теме - рассматриваются различные варианты: https://www.youtube.com/watch?v=XtijbFcQxyw |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |