УНИФИЦИРОВАННЫЙ ДОСТУП К СОВМЕСТНО ИСПОЛЬЗУЕМОЙ И УПРАВЛЯЕМОЙ ПАМЯТИ

1. Система, содержащая:
управляемую память, имеющую множество частей управляемой памяти, каждая из которых соответствует управляемой вычислительной сущности;
неизменяемый буфер, расположенный вне управляемой памяти, причем конкретная часть управляемой памяти из данного множества частей управляемой памяти включает в себя один или несколько объектов, в отношении которых выполняется сборка мусора и которые являются доступными для соответствующей конкретной управляемой вычислительной сущности, но не для других вычислительных сущностей, причем эта конкретная часть управляемой памяти также включает в себя одну или несколько ссылок на неизменяемый буфер; и
компонент сборки мусора, сконфигурированный для управления упомянутыми одним или несколькими объектами, в отношении которых может выполняться сборка мусора, в упомянутой конкретной части управляемой памяти, но также сконфигурированный не выполнять каких-либо действий над упомянутыми одной или несколькими ссылками на неизменяемый буфер.
2. Система по п. 1, в которой управляемая память является управляемой кучей.
3. Система по п. 1, в которой неизменяемый буфер защищен от того, чтобы его данные изменялись в течение времени существования неизменяемого буфера.
4. Система по п. 1, в которой неизменяемый буфер защищен от того, чтобы его физический адрес изменялся в течение времени существования неизменяемого буфера.
5. Система по п. 1, в которой по меньшей мере одна из упомянутых одной или нескольких ссылок является элементом массива.
6. Система по п. 1, в которой по меньшей мере одна из упомянутых одной или нескольких ссылок включает в себя адрес, по меньшей мере, части неизменяемого буфера.
7. Система по п. 1, в которой упомянутая конкретная часть управляемой памяти является первой частью управляемой памяти, и упомянутая конкретная вычислительная сущность является первой вычислительной сущностью из упомянутого множества вычислительных сущностей, вторая часть управляемой памяти из упомянутого множества частей управляемой памяти также включает в себя один или несколько объектов, в отношении которых может выполняться сборка мусора и которые доступны для соответствующей второй вычислительной сущности, но не для других вычислительных сущностей, причем вторая часть управляемой памяти также включает в себя одну или несколько ссылок на неизменяемый буфер.
8. Способ выполнения сборки мусора, содержащий:
действие просмотра конкретной части управляемой памяти, соответствующей конкретной вычислительной сущности, причем управляемая память включает в себя множество частей управляемой памяти, причем каждая часть управляемой памяти соответствует вычислительной сущности;
действие обнаружения множества объектов при просмотре этой конкретной части управляемой памяти, включая ссылку на неизменяемый буфер, который находится вне управляемой памяти;
при обнаружении упомянутой ссылки действие определения того, что данная ссылка соответствует элементу вне управляемой памяти; и
в результате упомянутого действия определения, действие отказа от выполнения сборки мусора в отношении данного элемента, соответствующего ссылке.
9. Способ по п. 8, в котором другие части управляемой памяти из управляемой памяти также включают в себя ссылку на упомянутый элемент вне управляемой памяти.
10. Способ по п. 8, дополнительно содержащий:
действие выполнения сборки мусора в отношении объектов, которые не ссылаются на элементы вне части управляемой памяти.