> …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

Jean-Philippe Bempel has updated the pull request with a new target base due to 
a merge or a rebase. The incremental webrev excludes the unrelated changes 
brought in by the merge/rebase. The pull request contains 10 additional commits 
since the last revision:

 - Merge branch 'master' into 8376185
 - remove unneeded file
 - use ClassFileInstaller instead of RunAsmTools
   
   fix formatting
   add comments about jcod modifications
 - fix whitespaces
 - fix whitespaces
 - replace shell script with class running asmtools
   
   include output directory for asmtools and jcoder command
   Add comments
 - handle result after pending exceptions
 - add copyright headers
 - add missing files
 - 8376185: NoSuchFieldError thrown after a record with type annotation 
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

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/29445/files
  - new: https://git.openjdk.org/jdk/pull/29445/files/9048b4cc..27e78664

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=29445&range=08
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29445&range=07-08

  Stats: 766573 lines in 4085 files changed: 390318 ins; 337762 del; 38493 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