# HG changeset patch # User Doug Simon # Date 1339586816 -7200 # Node ID 90c4b9c01ded2ab076a51834cff4e2f7faf20266 # Parent 9911227e6dd37b0258ab9bfa6c11ec4e6418a738 changed snippet installation to use SnippetsInterface (sub)class instead of object diff -r 9911227e6dd3 -r 90c4b9c01ded graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Wed Jun 13 00:24:28 2012 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Wed Jun 13 13:26:56 2012 +0200 @@ -69,11 +69,11 @@ } public void installSnippets() { - Snippets.install(this, compiler.getTarget(), new SystemSnippets()); - Snippets.install(this, compiler.getTarget(), new UnsafeSnippets()); - Snippets.install(this, compiler.getTarget(), new ArrayCopySnippets()); - Snippets.install(this, compiler.getTarget(), new CheckCastSnippets()); - Snippets.install(this, compiler.getTarget(), new NewInstanceSnippets()); + Snippets.install(this, compiler.getTarget(), SystemSnippets.class); + Snippets.install(this, compiler.getTarget(), UnsafeSnippets.class); + Snippets.install(this, compiler.getTarget(), ArrayCopySnippets.class); + Snippets.install(this, compiler.getTarget(), CheckCastSnippets.class); + Snippets.install(this, compiler.getTarget(), NewInstanceSnippets.class); checkcastSnippets = new CheckCastSnippets.Templates(this); newInstanceSnippets = new NewInstanceSnippets.Templates(this); } diff -r 9911227e6dd3 -r 90c4b9c01ded graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/GraalIntrinsics.java --- a/graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/GraalIntrinsics.java Wed Jun 13 00:24:28 2012 +0200 +++ b/graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/GraalIntrinsics.java Wed Jun 13 13:26:56 2012 +0200 @@ -32,10 +32,10 @@ public class GraalIntrinsics { public static void installIntrinsics(ExtendedRiRuntime runtime, TargetDescription target) { if (GraalOptions.Intrinsify) { - Snippets.install(runtime, target, new MathSnippetsX86()); - Snippets.install(runtime, target, new DoubleSnippets()); - Snippets.install(runtime, target, new FloatSnippets()); - Snippets.install(runtime, target, new NodeClassSnippets()); + Snippets.install(runtime, target, MathSnippetsX86.class); + Snippets.install(runtime, target, DoubleSnippets.class); + Snippets.install(runtime, target, FloatSnippets.class); + Snippets.install(runtime, target, NodeClassSnippets.class); } } } diff -r 9911227e6dd3 -r 90c4b9c01ded graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/Snippets.java --- a/graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/Snippets.java Wed Jun 13 00:24:28 2012 +0200 +++ b/graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/Snippets.java Wed Jun 13 13:26:56 2012 +0200 @@ -44,13 +44,12 @@ */ public class Snippets { - public static void install(ExtendedRiRuntime runtime, TargetDescription target, SnippetsInterface obj) { - Class clazz = obj.getClass(); + public static void install(ExtendedRiRuntime runtime, TargetDescription target, Class snippetsHolder) { BoxingMethodPool pool = new BoxingMethodPool(runtime); - if (clazz.isAnnotationPresent(ClassSubstitution.class)) { - installSubstitution(runtime, target, clazz, pool, clazz.getAnnotation(ClassSubstitution.class).value()); + if (snippetsHolder.isAnnotationPresent(ClassSubstitution.class)) { + installSubstitution(runtime, target, snippetsHolder, pool, snippetsHolder.getAnnotation(ClassSubstitution.class).value()); } else { - installSnippets(runtime, target, clazz, pool); + installSnippets(runtime, target, snippetsHolder, pool); } }