Mercurial > hg > graal-jvmci-8
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;