> Please review this change re-implementing the FieldInfo data structure.
> 
> The FieldInfo array is an old data structure storing fields metadata. It has 
> poor extension capabilities, a complex management code because of lack of 
> strong typing and semantic overloading, and a poor memory efficiency.
> 
> The new implementation uses a compressed stream to store those metadata, 
> achieving better memory density and providing flexible extensibility, while 
> exposing a strongly typed set of data when uncompressed. The stream is 
> compressed using the unsigned5 encoding, which alreay present in the JDK 
> (because of pack200) and the JVM (because JIT compulers use it to comrpess 
> debugging information).
> 
> More technical details are available in the CR: 
> https://bugs.openjdk.org/browse/JDK-8292818
> 
> Those changes include a re-organisation of fields' flags, splitting the 
> previous heterogeneous AccessFlags field into three distincts flag 
> categories: immutable flags from the class file, immutable fields defined by 
> the JVM, and finally mutable flags defined by the JVM.
> 
> The SA, CI, and JVMCI, which all used to access the old FieldInfo array, have 
> been updated too to deal with the new FieldInfo format.
> 
> Tested with mach5, tier 1 to 7.
> 
> Thank you.

Frederic Parain has updated the pull request incrementally with one additional 
commit since the last revision:

  SA additional caching from Chris Plummer

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12855/files
  - new: https://git.openjdk.org/jdk/pull/12855/files/ce1180ef..322b626d

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=12855&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12855&range=01-02

  Stats: 78 lines in 2 files changed: 35 ins; 34 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/12855.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12855/head:pull/12855

PR: https://git.openjdk.org/jdk/pull/12855

Reply via email to