# HG changeset patch # User Christian Haeubl # Date 1354009302 -3600 # Node ID ea39031737cfe535a673935e60ede9136dba0f90 # Parent 5a3e048620d4dbf225d47945b8462df24f847fcf bugfix to prevent metadata constants from being emitted inline diff -r 5a3e048620d4 -r ea39031737cf graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java --- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Mon Nov 26 14:32:48 2012 +0100 +++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Tue Nov 27 10:41:42 2012 +0100 @@ -128,7 +128,7 @@ @Override public boolean canInlineConstant(Constant c) { switch (c.getKind()) { - case Long: return NumUtil.isInt(c.asLong()); + case Long: return NumUtil.isInt(c.asLong()) && !runtime.needsDataPatch(c); case Object: return c.isNull(); default: return true; } diff -r 5a3e048620d4 -r ea39031737cf graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Mon Nov 26 14:32:48 2012 +0100 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Tue Nov 27 10:41:42 2012 +0100 @@ -120,10 +120,7 @@ if (GraalOptions.Inline && !plan.isPhaseDisabled(InliningPhase.class)) { new InliningPhase(target, runtime, null, assumptions, cache, plan, optimisticOpts).apply(graph); - - if (GraalOptions.OptCanonicalizer) { - new CanonicalizerPhase(target, runtime, assumptions).apply(graph); - } + new DeadCodeEliminationPhase().apply(graph); if (GraalOptions.CheckCastElimination && GraalOptions.OptCanonicalizer) { new IterativeConditionalEliminationPhase(target, runtime, assumptions).apply(graph);