# HG changeset patch # User Gilles Duboscq # Date 1354109333 -3600 # Node ID 83ddc00267067c9564fb6aa8c6b85302c13e86ea # Parent 9ba90252ce089c5e078dce57ab0b5f192785bbd6# Parent 2b66ba197738d0aca6d9088defae29bd800e3caf Merge diff -r 9ba90252ce08 -r 83ddc0026706 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java Wed Nov 28 14:07:25 2012 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java Wed Nov 28 14:28:53 2012 +0100 @@ -39,6 +39,7 @@ import com.oracle.graal.hotspot.*; import com.oracle.graal.hotspot.meta.*; import com.oracle.graal.hotspot.phases.*; +import com.oracle.graal.hotspot.snippets.*; import com.oracle.graal.java.*; import com.oracle.graal.nodes.*; import com.oracle.graal.phases.*; @@ -51,6 +52,7 @@ public class VMToCompilerImpl implements VMToCompiler { private final HotSpotGraalRuntime graalRuntime; + private IntrinsifyArrayCopyPhase intrinsifyArrayCopy; public final HotSpotResolvedPrimitiveType typeBoolean; public final HotSpotResolvedPrimitiveType typeChar; @@ -135,6 +137,7 @@ @Override public void run() { Assumptions assumptions = new Assumptions(GraalOptions.OptAssumptions); + VMToCompilerImpl.this.intrinsifyArrayCopy = new IntrinsifyArrayCopyPhase(runtime, assumptions); SnippetInstaller installer = new SnippetInstaller(runtime, assumptions, runtime.getGraalRuntime().getTarget()); GraalIntrinsics.installIntrinsics(installer); runtime.installSnippets(installer, assumptions); @@ -565,6 +568,9 @@ if (onStackReplacement) { phasePlan.addPhase(PhasePosition.AFTER_PARSING, new OnStackReplacementPhase()); } + if (GraalOptions.Intrinsify) { + phasePlan.addPhase(PhasePosition.HIGH_LEVEL, intrinsifyArrayCopy); + } return phasePlan; }