Как сам субстратвм gc?
В проекте graalvm gc написан на java в субстратвм. Мне любопытно, как управлять памятью сборщика мусора, написанного на языке с gc.
Если он сам управляет своей памятью, это может вызвать бесконечный цикл. Здесь я предполагаю, что сборщик мусора включает в себя функции выделения и восстановления памяти, и привожу пример.
Например: Мой код - сборщик мусора- > Мне нужно создать объект и выделить память-> Я вызвал сборщик мусора (сам)-> Мне нужно создать объект и выделить память > Я вызвал сборщик мусора (сам) ......
Как он решает проблемы с бесконечным циклом? Моя идея состоит в том, чтобы использовать облегченный сборщик мусора, написанный на дополнительном локальном языке (например, на языке C), для запуска самого себя (сборщик мусора, написанный на java). Хотя субстрат, кажется, скомпилирован в локальный исполняемый двоичный файл в собственном образе, я думаю, что проблема все еще существует.