< prev index next >

src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java

Print this page

        

*** 34,44 **** import java.util.List; import java.util.Map; import java.util.Objects; import java.util.ServiceLoader; import java.util.Set; - import java.util.TreeMap; import java.util.function.Predicate; import jdk.internal.misc.VM; import jdk.internal.misc.Unsafe; import jdk.vm.ci.code.Architecture; --- 34,43 ----
*** 238,257 **** */ public static JavaKind getHostWordKind() { return runtime().getHostJVMCIBackend().getCodeCache().getTarget().wordJavaKind; } ! protected final CompilerToVM compilerToVm; protected final HotSpotVMConfigStore configStore; ! protected final HotSpotVMConfig config; private final JVMCIBackend hostBackend; private final JVMCICompilerFactory compilerFactory; private final HotSpotJVMCICompilerFactory hsCompilerFactory; private volatile JVMCICompiler compiler; ! protected final HotSpotJVMCIMetaAccessContext metaAccessContext; /** * Stores the result of {@link HotSpotJVMCICompilerFactory#getCompilationLevelAdjustment} so * that it can be read from the VM. */ --- 237,256 ---- */ public static JavaKind getHostWordKind() { return runtime().getHostJVMCIBackend().getCodeCache().getTarget().wordJavaKind; } ! final CompilerToVM compilerToVm; protected final HotSpotVMConfigStore configStore; ! private final HotSpotVMConfig config; private final JVMCIBackend hostBackend; private final JVMCICompilerFactory compilerFactory; private final HotSpotJVMCICompilerFactory hsCompilerFactory; private volatile JVMCICompiler compiler; ! final HotSpotJVMCIMetaAccessContext metaAccessContext; /** * Stores the result of {@link HotSpotJVMCICompilerFactory#getCompilationLevelAdjustment} so * that it can be read from the VM. */
*** 322,332 **** compilerFactory.printProperties(out); System.exit(0); } if (Option.PrintConfig.getBoolean()) { ! printConfig(configStore, compilerToVm); } } private JVMCIBackend registerBackend(JVMCIBackend backend) { Class<? extends Architecture> arch = backend.getCodeCache().getTarget().arch.getClass(); --- 321,331 ---- compilerFactory.printProperties(out); System.exit(0); } if (Option.PrintConfig.getBoolean()) { ! configStore.printConfig(); } } private JVMCIBackend registerBackend(JVMCIBackend backend) { Class<? extends Architecture> arch = backend.getCodeCache().getTarget().arch.getClass();
*** 341,355 **** public HotSpotVMConfigStore getConfigStore() { return configStore; } ! public HotSpotVMConfig getConfig() { return config; } ! public CompilerToVM getCompilerToVM() { return compilerToVm; } // Non-volatile since multi-initialization is harmless private Predicate<ResolvedJavaType> intrinsificationTrustPredicate; --- 340,354 ---- public HotSpotVMConfigStore getConfigStore() { return configStore; } ! HotSpotVMConfig getConfig() { return config; } ! CompilerToVM getCompilerToVM() { return compilerToVm; } // Non-volatile since multi-initialization is harmless private Predicate<ResolvedJavaType> intrinsificationTrustPredicate;
*** 576,620 **** for (HotSpotVMEventListener vmEventListener : getVmEventListeners()) { vmEventListener.notifyInstall(hotSpotCodeCacheProvider, installedCode, compiledCode); } } - @SuppressFBWarnings(value = "DM_DEFAULT_ENCODING", justification = "no localization here please!") - private static void printConfigLine(CompilerToVM vm, String format, Object... args) { - String line = String.format(format, args); - byte[] lineBytes = line.getBytes(); - vm.writeDebugOutput(lineBytes, 0, lineBytes.length); - vm.flushDebugOutput(); - } - - private static void printConfig(HotSpotVMConfigStore store, CompilerToVM vm) { - TreeMap<String, VMField> fields = new TreeMap<>(store.getFields()); - for (VMField field : fields.values()) { - if (!field.isStatic()) { - printConfigLine(vm, "[vmconfig:instance field] %s %s {offset=%d[0x%x]}%n", field.type, field.name, field.offset, field.offset); - } else { - String value = field.value == null ? "null" : field.value instanceof Boolean ? field.value.toString() : String.format("%d[0x%x]", field.value, field.value); - printConfigLine(vm, "[vmconfig:static field] %s %s = %s {address=0x%x}%n", field.type, field.name, value, field.address); - } - } - TreeMap<String, VMFlag> flags = new TreeMap<>(store.getFlags()); - for (VMFlag flag : flags.values()) { - printConfigLine(vm, "[vmconfig:flag] %s %s = %s%n", flag.type, flag.name, flag.value); - } - TreeMap<String, Long> addresses = new TreeMap<>(store.getAddresses()); - for (Map.Entry<String, Long> e : addresses.entrySet()) { - printConfigLine(vm, "[vmconfig:address] %s = %d[0x%x]%n", e.getKey(), e.getValue(), e.getValue()); - } - TreeMap<String, Long> constants = new TreeMap<>(store.getConstants()); - for (Map.Entry<String, Long> e : constants.entrySet()) { - printConfigLine(vm, "[vmconfig:constant] %s = %d[0x%x]%n", e.getKey(), e.getValue(), e.getValue()); - } - for (VMIntrinsicMethod e : store.getIntrinsics()) { - printConfigLine(vm, "[vmconfig:intrinsic] %d = %s.%s %s%n", e.id, e.declaringClass, e.name, e.descriptor); - } - } - /** * Gets an output stream that writes to HotSpot's {@code tty} stream. */ public OutputStream getLogStream() { return new OutputStream() { --- 575,584 ----
< prev index next >