52 */
53 void beginGroup(String name, String shortName, ResolvedJavaMethod method, int bci, Map<Object, Object> properties) throws IOException;
54
55 /**
56 * Prints an entire {@link Graph} with the specified title, optionally using short names for
57 * nodes.
58 */
59 void print(Graph graph, String title, Map<Object, Object> properties) throws IOException;
60
61 SnippetReflectionProvider getSnippetReflectionProvider();
62
63 /**
64 * Ends the current group.
65 */
66 void endGroup() throws IOException;
67
68 @Override
69 void close();
70
71 /**
72 * A JVMCI package {@linkplain Services#exportJVMCITo(Class) dynamically exported} to trusted
73 * modules.
74 */
75 String JVMCI_RUNTIME_PACKAGE = JVMCI.class.getPackage().getName();
76
77 /**
78 * {@code jdk.vm.ci} module.
79 */
80 Object JVMCI_MODULE = JAVA_SPECIFICATION_VERSION < 9 ? null : ModuleAPI.getModule.invoke(Services.class);
81
82 /**
83 * Classes whose {@link #toString()} method does not run any untrusted code.
84 */
85 Set<Class<?>> TRUSTED_CLASSES = new HashSet<>(Arrays.asList(
86 String.class,
87 Class.class,
88 Boolean.class,
89 Byte.class,
90 Character.class,
91 Short.class,
92 Integer.class,
93 Float.class,
|
52 */
53 void beginGroup(String name, String shortName, ResolvedJavaMethod method, int bci, Map<Object, Object> properties) throws IOException;
54
55 /**
56 * Prints an entire {@link Graph} with the specified title, optionally using short names for
57 * nodes.
58 */
59 void print(Graph graph, String title, Map<Object, Object> properties) throws IOException;
60
61 SnippetReflectionProvider getSnippetReflectionProvider();
62
63 /**
64 * Ends the current group.
65 */
66 void endGroup() throws IOException;
67
68 @Override
69 void close();
70
71 /**
72 * A JVMCI package dynamically exported to trusted modules.
73 */
74 String JVMCI_RUNTIME_PACKAGE = JVMCI.class.getPackage().getName();
75
76 /**
77 * {@code jdk.vm.ci} module.
78 */
79 Object JVMCI_MODULE = JAVA_SPECIFICATION_VERSION < 9 ? null : ModuleAPI.getModule.invoke(Services.class);
80
81 /**
82 * Classes whose {@link #toString()} method does not run any untrusted code.
83 */
84 Set<Class<?>> TRUSTED_CLASSES = new HashSet<>(Arrays.asList(
85 String.class,
86 Class.class,
87 Boolean.class,
88 Byte.class,
89 Character.class,
90 Short.class,
91 Integer.class,
92 Float.class,
|