[code-reflection] RFR: Code model attribute

Adam Sotona asotona at openjdk.org
Tue Nov 26 18:18:25 UTC 2024


This is experimental serialization of code model into a custom method attribute.

I've performed brief comparison on `BytecodeTest` as a representant of class with majority of methods annotated with `@CodeReflection`.

Compiled size of the `BytecodeTest` class (with text-encoded code models) is 121288 bytes, CP contains 1612 entries.
Cleaned size of the class (removed text-encoded code models and their static initialization) is 32801 bytes, CP contains 1277 entries.
Size with models encoded in custom attributes is 74541 bytes, CP contains 1435 entries.

Proportional size of the custom attributes vs. text-encoded fields is 37% (47% of the CP entries).

-------------

Commit messages:
 - custom serialization of location attribute
 - fixed types serialization
 - CodeModelAttribute work in progress
 - CodeModelAttribute work in progress
 - CodeModelAttribute work in progress
 - merge into CodeModelAttribute
 - Initial draft of CodeModelAttribute and CodeModelAttributeMapper

Changes: https://git.openjdk.org/babylon/pull/282/files
  Webrev: https://webrevs.openjdk.org/?repo=babylon&pr=282&range=00
  Stats: 437 lines in 2 files changed: 436 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/babylon/pull/282.diff
  Fetch: git fetch https://git.openjdk.org/babylon.git pull/282/head:pull/282

PR: https://git.openjdk.org/babylon/pull/282


More information about the babylon-dev mailing list