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/