The test does not work as described in the test summary.
It supposed to redefine test class from 
ClassLoad/ClassFileLoadHook/ClassPrepare/ClassFileLoadHook callbacks and then 
suspend the thread and do PopFrame, but actually it does a single redefinition 
from ClassPrepare. Redefinition from ClassLoad never happens, redefinition from 
ClassFileLoadHook is commented out.

Actually the scenario is not good at all.
ClassLoad, ClassPrepare and ClassFileLoadHook events are wrong places to 
redefine classes.
When we redefine a class and try to redefine it again from ClassLoad we 
actually cannot redefine it. 2nd (3rd, etc.) redefinition should complete 
before the 1st one, and 2nd version of the class becomes obsolete immediately.
ClassFileLoadHook can be used to replace class bytes, but it should return new 
class bytes via parameters instead of calling redefineClasses.
Testing for PopFrame does not add any value. With the scenario all redefinition 
happen before the test object is created, so this PopFrame has nothing to do 
with class redefinition.
Class redefinition when some methods of the class are executed is covered by 
other tests from vmTestbase/nsk/jvmti/scenarios/hotswap

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

Commit messages:
 - removed the test

Changes: https://git.openjdk.org/jdk/pull/10318/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10318&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8285383
  Stats: 735 lines in 8 files changed: 0 ins; 735 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/10318.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10318/head:pull/10318

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

Reply via email to