> The current structure used to store the resolution information for 
> invokedynamic, ConstantPoolCacheEntry, is difficult to interpret due to its 
> ambigious fields f1 and f2. This structure can hold information for fields, 
> methods, and invokedynamics and each of its fields can hold different types 
> of values depending on the entry. 
> 
> This enhancement proposes a new structure to exclusively contain 
> invokedynamic information in a manner that is easy to interpret and easy to 
> extend.  Resolved invokedynamic entries will be stored in an array in the 
> constant pool cache and the operand of the invokedynamic bytecode will be 
> rewritten to be the index into this array.
> 
> Any areas that previously accessed invokedynamic data from 
> ConstantPoolCacheEntry will be replaced with accesses to this new array and 
> structure. Verified with tier1-9 tests.
> 
> The PPC port was provided by @reinrich, RISCV was provided by @DingliZhang 
> and @zifeihan, and S390x by @offamitkumar.
> 
> This change supports the following platforms: x86, aarch64, PPC, RISCV, and 
> S390x

Matias Saavedra Silva has updated the pull request incrementally with one 
additional commit since the last revision:

  s390x NULL to nullptr

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12778/files
  - new: https://git.openjdk.org/jdk/pull/12778/files/dad70dc5..72ef0475

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=12778&range=15
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12778&range=14-15

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/12778.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/12778/head:pull/12778

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

Reply via email to