Mercurial > hg > graal-jvmci-8
changeset 3133:5aeb62416609
Fixed an issue in the C++ code of the escape analysis (wrongly commented out code).
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Fri, 01 Jul 2011 21:07:29 +0200 |
parents | 20058d88555b |
children | 4b63eb1197ca |
files | graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/alloc/LinearScan.java graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/IR.java src/share/vm/graal/graalCodeInstaller.cpp |
diffstat | 3 files changed, 14 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/alloc/LinearScan.java Fri Jul 01 20:11:51 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/alloc/LinearScan.java Fri Jul 01 21:07:29 2011 +0200 @@ -1914,8 +1914,13 @@ assert values[i] != null : type + "." + escapeFields[i]; } - CiVirtualObject vobj = CiVirtualObject.get(type, values, obj.id()); - return vobj; + if (GraalOptions.PrintEscapeAnalysis) { + for (int i = 0; i < values.length; i++) { + TTY.println("field " + escapeFields[i].name() + " offset=" + values[i]); + } + } + + return CiVirtualObject.get(type, values, obj.id()); } CiFrame computeFrameForState(FrameState state, int opId, BitMap frameRefMap) {
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/IR.java Fri Jul 01 20:11:51 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/IR.java Fri Jul 01 21:07:29 2011 +0200 @@ -100,7 +100,7 @@ new DeadCodeEliminationPhase().apply(graph); } - if (GraalOptions.EscapeAnalysis) { + if (GraalOptions.EscapeAnalysis/* && compilation.method.toString().contains("commonDominator")*/) { new EscapeAnalysisPhase(compilation, this).apply(graph); new DeadCodeEliminationPhase().apply(graph); new CanonicalizerPhase().apply(graph);
--- a/src/share/vm/graal/graalCodeInstaller.cpp Fri Jul 01 20:11:51 2011 +0200 +++ b/src/share/vm/graal/graalCodeInstaller.cpp Fri Jul 01 21:07:29 2011 +0200 @@ -203,12 +203,12 @@ } for (jint i = 0; i < values->length(); i++) { - ScopeValue* second = NULL; - ScopeValue* value = get_hotspot_value(((oop*) values->base(T_OBJECT))[i], frame_size, objects, second); - -// if (second != NULL) { -// sv->field_values()->append(second); -// } + ScopeValue* cur_second = NULL; + ScopeValue* value = get_hotspot_value(((oop*) values->base(T_OBJECT))[i], frame_size, objects, cur_second); + + if (cur_second != NULL) { + sv->field_values()->append(cur_second); + } sv->field_values()->append(value); }