Separates GC triggering from class reclamation waiting in vmTestbase 
ClassUnloader.

The original implementation used an implicit wait loop regardless of caller 
needs. Because the necessity of waiting is caller-specific, this PR introduces 
an explicit `unloadClassAndWait(timeout)` API. This allows callers to document 
their specific reasons for waiting (e.g., race conditions with JDWP or 
background compilation) while keeping `unloadClass()` simple for those who 
don't need to wait.

- Introduced `unloadClassAndWait(timeout)` and simplified `unloadClass()`.
- Updated `compmethunload001` and `AbstractDebuggeeTest` to use the explicit 
waiting API with documented rationale.

Test: tier1-5, `vmTestbase/nsk`

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

Commit messages:
 - jvmti-class-unload

Changes: https://git.openjdk.org/jdk/pull/29735/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29735&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8377950
  Stats: 65 lines in 3 files changed: 38 ins; 19 del; 8 mod
  Patch: https://git.openjdk.org/jdk/pull/29735.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29735/head:pull/29735

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

Reply via email to