35 import gc.g1.unloading.classloaders.DoItYourselfClassLoader; 36 import gc.g1.unloading.classloaders.FinalizableClassloader; 37 import gc.g1.unloading.classloaders.JNIClassloader; 38 import gc.g1.unloading.classloaders.ReflectionClassloader; 39 import gc.g1.unloading.configuration.ClassloadingMethod; 40 import gc.g1.unloading.configuration.KeepRefMode; 41 import gc.g1.unloading.configuration.TestConfiguration; 42 import gc.g1.unloading.keepref.*; 43 import nsk.share.test.ExecutionController; 44 import sun.hotspot.WhiteBox; 45 import vm.share.UnsafeAccess; 46 47 import java.lang.ref.*; 48 import java.lang.reflect.Field; 49 import java.lang.reflect.InvocationTargetException; 50 import java.lang.reflect.Method; 51 import java.util.Collection; 52 import java.util.LinkedList; 53 import java.util.Random; 54 55 /** 56 * This helper performs dirty job: loads classes, instantiate objects, performs redefinition etc... 57 */ 58 public class ClassLoadingHelper { 59 60 private static final int NATIVE_VERBOSITY = 2; 61 62 private static final Object[] NO_CP_PATCHES = new Object[0]; 63 64 private static BytecodeFactory bf; 65 66 private ExecutionController executionController; 67 68 private PhantomizationServiceThread phantomizationServiceThread; 69 70 private Random random; 71 72 private TestConfiguration configuration; 73 74 /** | 35 import gc.g1.unloading.classloaders.DoItYourselfClassLoader; 36 import gc.g1.unloading.classloaders.FinalizableClassloader; 37 import gc.g1.unloading.classloaders.JNIClassloader; 38 import gc.g1.unloading.classloaders.ReflectionClassloader; 39 import gc.g1.unloading.configuration.ClassloadingMethod; 40 import gc.g1.unloading.configuration.KeepRefMode; 41 import gc.g1.unloading.configuration.TestConfiguration; 42 import gc.g1.unloading.keepref.*; 43 import nsk.share.test.ExecutionController; 44 import sun.hotspot.WhiteBox; 45 import vm.share.UnsafeAccess; 46 47 import java.lang.ref.*; 48 import java.lang.reflect.Field; 49 import java.lang.reflect.InvocationTargetException; 50 import java.lang.reflect.Method; 51 import java.util.Collection; 52 import java.util.LinkedList; 53 import java.util.Random; 54 55 import sun.misc.Unsafe; 56 57 /** 58 * This helper performs dirty job: loads classes, instantiate objects, performs redefinition etc... 59 */ 60 public class ClassLoadingHelper { 61 62 private static final int NATIVE_VERBOSITY = 2; 63 64 private static final Object[] NO_CP_PATCHES = new Object[0]; 65 66 private static BytecodeFactory bf; 67 68 private ExecutionController executionController; 69 70 private PhantomizationServiceThread phantomizationServiceThread; 71 72 private Random random; 73 74 private TestConfiguration configuration; 75 76 /** |