OopMap - это структура, которая записывает, где ссылки на объекты (ООП) расположены в стеке Java. Его основная цель - найти корни GC на стеках Java и обновить ссылки всякий раз, когда объекты перемещаются внутри кучи.
Существует три вида OopMaps:
- OopMaps для интерпретируемых методов. Они вычисляются лениво, т. Е. Когда GC происходит, анализируя поток байт-кода.
- OopMaps для JIT-скомпилированных методов. Они генерируются во время JIT-компиляции и сохраняются вместе с скомпилированным кодом, так что виртуальная машина может быстро найти по инструкции адрес расположения стека и регистры, где хранятся ссылки на объекты.
- OopMaps для генерируемых общих исполняемых заглушек. Эти карты создаются вручную разработчиками - авторами этих врезок времени исполнения.
задан WAF 19 June 2018 в 13:27
поделиться