По разным причинам я пришел к выводу, что создание пользовательской сборки JVM может быть самым простым вариантом того, чего я пытаюсь достичь, поскольку слишком много вещей, которые в противном случае очень сильно влияют на производительность, сильно влияют на производительность.
Итак, у меня есть среда в рабочем состоянии, я изменил некоторые простые вещи, чтобы сгенерировать некоторые обратные вызовы для того, что мне нужно, поиграл с некоторыми встроенными функциями, пока все хорошо.
Однако я хотел бы знать: что здесь эксперты JVM думают о возможности создания настраиваемой виртуальной машины с более крупным заголовком объекта (например, на 8 байт больше). markOop.hpp
довольно хорошо объясняет содержание слова-метки для различных существующих вкусов (32-битные, 64-битные, 64-битные со сжатыми ой), и мне было интересно, насколько сложно будет расширить заголовок, чтобы я мог добавить дополнительную информацию объекты (без тегов не включена опция, см. мой пост здесь).
Поэтому, прежде чем копать глубже, я надеялся, что кто-нибудь, имеющий опыт в этом, сможет дать некоторую обратную связь. Например, это «самоубийственная миссия», потому что повсюду слишком много мест, где есть жестко закодированные предположения относительно размера заголовка и смещений? Или все это достаточно централизовано и может быть выполнено с разумными усилиями, не рискуя все сломать? Любой указатель на то, что может потребовать особого внимания и какие последствия это может иметь (помимо очень очевидного; большего потребления памяти)?