Mercurial > hg > graal-compiler
changeset 7073:ea39031737cf
bugfix to prevent metadata constants from being emitted inline
author | Christian Haeubl <haeubl@ssw.jku.at> |
---|---|
date | Tue, 27 Nov 2012 10:41:42 +0100 |
parents | 5a3e048620d4 |
children | 1361501d6bd5 |
files | graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java |
diffstat | 2 files changed, 2 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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; }
--- 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);