Mercurial > hg > truffle
diff graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java @ 8627:75db7afee829
implemented lazy installation of replacements (GRAAL-137)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 03 Apr 2013 21:51:44 +0200 |
parents | 8cb3984da2f8 |
children | ce5750014c3d 9631f95971a3 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java Wed Apr 03 16:56:43 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java Wed Apr 03 21:51:44 2013 +0200 @@ -34,8 +34,8 @@ import java.util.concurrent.*; import java.util.concurrent.atomic.*; -import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; +import com.oracle.graal.api.replacements.*; import com.oracle.graal.debug.*; import com.oracle.graal.debug.internal.*; import com.oracle.graal.hotspot.*; @@ -146,19 +146,16 @@ // Install intrinsics. final HotSpotRuntime runtime = graalRuntime.getCapability(HotSpotRuntime.class); + final Replacements replacements = graalRuntime.getCapability(Replacements.class); if (GraalOptions.Intrinsify) { - Debug.scope("InstallReplacements", new Object[]{new DebugDumpScope("InstallReplacements")}, new Runnable() { + Debug.scope("RegisterReplacements", new Object[]{new DebugDumpScope("RegisterReplacements")}, new Runnable() { @Override public void run() { - // Replacements cannot have speculative optimizations since they have - // to be valid for the entire run of the VM. - Assumptions assumptions = new Assumptions(false); - ReplacementsInstaller installer = new HotSpotReplacementsInstaller(runtime, assumptions, runtime.getGraalRuntime().getTarget()); for (ReplacementsProvider provider : ServiceLoader.loadInstalled(ReplacementsProvider.class)) { - provider.installReplacements(installer); + provider.registerReplacements(replacements); } - runtime.installReplacements(graalRuntime.getBackend(), installer, assumptions); + runtime.registerReplacements(replacements); } });