changeset 19154:2d67f0540543

Use GraphBuilderPlugins.Registration mechanism to register GraalDirectivePlugins.
author Roland Schatz <roland.schatz@oracle.com>
date Thu, 05 Feb 2015 14:34:36 +0100
parents 28b07d300f57
children ac9ad302e12f
files graal/com.oracle.graal.java/src/com/oracle/graal/java/GraalDirectivePlugins.java
diffstat 1 files changed, 8 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraalDirectivePlugins.java	Thu Feb 05 14:11:59 2015 +0100
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraalDirectivePlugins.java	Thu Feb 05 14:34:36 2015 +0100
@@ -32,40 +32,37 @@
 
 public class GraalDirectivePlugins {
 
-    private static ResolvedJavaMethod lookup(MetaAccessProvider metaAccess, String name, Class<?>... parameterTypes) {
-        return Registration.resolve(metaAccess, GraalDirectives.class, name, parameterTypes);
-    }
-
     public static void registerPlugins(MetaAccessProvider metaAccess, GraphBuilderPlugins plugins) {
-        plugins.register(lookup(metaAccess, "deoptimize"), new InvocationPlugin() {
+        Registration r = new Registration(plugins, metaAccess, GraalDirectives.class);
+        r.register0("deoptimize", new InvocationPlugin() {
             public boolean apply(GraphBuilderContext builder) {
                 builder.append(new DeoptimizeNode(DeoptimizationAction.None, DeoptimizationReason.TransferToInterpreter));
                 return true;
             }
         });
 
-        plugins.register(lookup(metaAccess, "deoptimizeAndInvalidate"), new InvocationPlugin() {
+        r.register0("deoptimizeAndInvalidate", new InvocationPlugin() {
             public boolean apply(GraphBuilderContext builder) {
                 builder.append(new DeoptimizeNode(DeoptimizationAction.InvalidateReprofile, DeoptimizationReason.TransferToInterpreter));
                 return true;
             }
         });
 
-        plugins.register(lookup(metaAccess, "inCompiledCode"), new InvocationPlugin() {
+        r.register0("inCompiledCode", new InvocationPlugin() {
             public boolean apply(GraphBuilderContext builder) {
                 builder.push(Kind.Int, builder.append(ConstantNode.forInt(1)));
                 return true;
             }
         });
 
-        plugins.register(lookup(metaAccess, "controlFlowAnchor"), new InvocationPlugin() {
+        r.register0("controlFlowAnchor", new InvocationPlugin() {
             public boolean apply(GraphBuilderContext builder) {
                 builder.append(new ControlFlowAnchorNode());
                 return true;
             }
         });
 
-        plugins.register(lookup(metaAccess, "injectBranchProbability", double.class, boolean.class), new InvocationPlugin() {
+        r.register2("injectBranchProbability", double.class, boolean.class, new InvocationPlugin() {
             public boolean apply(GraphBuilderContext builder, ValueNode probability, ValueNode condition) {
                 builder.push(Kind.Int, builder.append(new BranchProbabilityNode(probability, condition)));
                 return true;
@@ -92,10 +89,10 @@
                     cls = kind.toJavaClass();
             }
 
-            plugins.register(lookup(metaAccess, "blackhole", cls), blackholePlugin);
+            r.register1("blackhole", cls, blackholePlugin);
 
             final Kind stackKind = kind.getStackKind();
-            plugins.register(lookup(metaAccess, "opaque", cls), new InvocationPlugin() {
+            r.register1("opaque", cls, new InvocationPlugin() {
                 public boolean apply(GraphBuilderContext builder, ValueNode value) {
                     builder.push(stackKind, builder.append(new OpaqueNode(value)));
                     return true;