…retransformed

Fix a retransform error when retransforming a record with type annotation. 
processing the record type annotation was done by calling the wrong method and 
using the one to process regular annotation. Regular annotations have not the 
same structure and decoding was therefore incorrect. The decoding methods 
detect a problem but this error was not propagated correctly outside of 
VM_RedfineClass::load_new_class_versions method, swallowing the error and 
leaving the retransformed class in bad state.

Here we have fixed the call to the right method for decoding the type 
annotations but also propagated the error when rewriting the constant pool as 
an JVMTI_ERROR_INTERNAL

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

Commit messages:
 - add missing files
 - 8376185: NoSuchFieldError thrown after a record with type annotation 
retransformed

Changes: https://git.openjdk.org/jdk/pull/29445/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29445&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8376185
  Stats: 487 lines in 6 files changed: 485 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/29445.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29445/head:pull/29445

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

Reply via email to