# HG changeset patch # User Andreas Woess # Date 1424258401 -3600 # Node ID a95544db6f9c794832d780da5f1b33e9325b72ea # Parent b6d9486fcccb27f108f34ac84c39bc6f39a1d6ca Truffle: register invocation plugins only for the frame class in use diff -r b6d9486fcccb -r a95544db6f9c graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java --- 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);