17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24
25 package org.graalvm.compiler.core.test;
26
27 import java.util.List;
28
29 import org.graalvm.compiler.core.common.CompilationIdentifier;
30 import org.graalvm.compiler.graph.Node;
31 import org.graalvm.compiler.nodes.ConstantNode;
32 import org.graalvm.compiler.nodes.Invoke;
33 import org.graalvm.compiler.nodes.InvokeNode;
34 import org.graalvm.compiler.nodes.StructuredGraph;
35 import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions;
36 import org.graalvm.compiler.nodes.ValueNode;
37 import org.graalvm.compiler.nodes.debug.OpaqueNode;
38 import org.graalvm.compiler.nodes.extended.LoadHubNode;
39 import org.graalvm.compiler.nodes.extended.LoadMethodNode;
40 import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext;
41 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin;
42 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin.Receiver;
43 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins;
44 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.Registration;
45 import org.graalvm.compiler.options.OptionValues;
46 import org.junit.Assert;
47 import org.junit.BeforeClass;
48 import org.junit.Test;
49
50 import jdk.vm.ci.meta.JavaKind;
51 import jdk.vm.ci.meta.ResolvedJavaMethod;
52
53 /**
54 * Tests use of an intrinsic for virtual methods where the call site is indirect. A prime example is
55 * an intrinsic for {@link Object#hashCode()}. The intrinsic can only be used if the call site would
56 * actually dispatch to {@link Object#hashCode()} and not a method that overrides it.
57 */
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24
25 package org.graalvm.compiler.core.test;
26
27 import java.util.List;
28
29 import org.graalvm.compiler.core.common.CompilationIdentifier;
30 import org.graalvm.compiler.graph.Node;
31 import org.graalvm.compiler.nodes.ConstantNode;
32 import org.graalvm.compiler.nodes.Invoke;
33 import org.graalvm.compiler.nodes.InvokeNode;
34 import org.graalvm.compiler.nodes.StructuredGraph;
35 import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions;
36 import org.graalvm.compiler.nodes.ValueNode;
37 import org.graalvm.compiler.nodes.extended.OpaqueNode;
38 import org.graalvm.compiler.nodes.extended.LoadHubNode;
39 import org.graalvm.compiler.nodes.extended.LoadMethodNode;
40 import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext;
41 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin;
42 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin.Receiver;
43 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins;
44 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.Registration;
45 import org.graalvm.compiler.options.OptionValues;
46 import org.junit.Assert;
47 import org.junit.BeforeClass;
48 import org.junit.Test;
49
50 import jdk.vm.ci.meta.JavaKind;
51 import jdk.vm.ci.meta.ResolvedJavaMethod;
52
53 /**
54 * Tests use of an intrinsic for virtual methods where the call site is indirect. A prime example is
55 * an intrinsic for {@link Object#hashCode()}. The intrinsic can only be used if the call site would
56 * actually dispatch to {@link Object#hashCode()} and not a method that overrides it.
57 */
|