changeset 19474:a95544db6f9c

Truffle: register invocation plugins only for the frame class in use
author Andreas Woess <andreas.woess@oracle.com>
date Wed, 18 Feb 2015 12:20:01 +0100
parents b6d9486fcccb
children b7c9c23f7205
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java
diffstat 1 files changed, 12 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java	Wed Feb 18 12:12:28 2015 +0100
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java	Wed Feb 18 12:20:01 2015 +0100
@@ -186,16 +186,18 @@
             }
         });
 
-        // FrameWithoutBoxing.class
-        r = new Registration(plugins, metaAccess, FrameWithoutBoxing.class);
-        registerMaterialize(r);
-        registerUnsafeCast(r);
-        registerUnsafeLoadStorePlugins(r, Kind.Int, Kind.Long, Kind.Float, Kind.Double, Kind.Object);
-
-        // FrameWithBoxing.class
-        r = new Registration(plugins, metaAccess, FrameWithBoxing.class);
-        registerMaterialize(r);
-        registerUnsafeCast(r);
+        if (TruffleCompilerOptions.TruffleUseFrameWithoutBoxing.getValue()) {
+            // FrameWithoutBoxing.class
+            r = new Registration(plugins, metaAccess, FrameWithoutBoxing.class);
+            registerMaterialize(r);
+            registerUnsafeCast(r);
+            registerUnsafeLoadStorePlugins(r, Kind.Int, Kind.Long, Kind.Float, Kind.Double, Kind.Object);
+        } else {
+            // FrameWithBoxing.class
+            r = new Registration(plugins, metaAccess, FrameWithBoxing.class);
+            registerMaterialize(r);
+            registerUnsafeCast(r);
+        }
 
         // CompilerDirectives.class
         r = new Registration(plugins, metaAccess, UnsafeAccessImpl.class);