Chromium Code Reviews| Index: lib/compiler/implementation/ssa/tracer.dart |
| diff --git a/lib/compiler/implementation/ssa/tracer.dart b/lib/compiler/implementation/ssa/tracer.dart |
| index 538c25cfc1074e254948667c5a624f78b714a567..368f6f1ad6921bac9413b61f0f4b688c64332877 100644 |
| --- a/lib/compiler/implementation/ssa/tracer.dart |
| +++ b/lib/compiler/implementation/ssa/tracer.dart |
| @@ -1,4 +1,4 @@ |
| -// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| @@ -72,10 +72,12 @@ class HTracer extends HGraphVisitor implements Tracer { |
| instruction = instruction.next) { |
| int bci = 0; |
| int uses = instruction.usedBy.length; |
| + String changes = instruction.hasSideEffects() ? '!' : ' '; |
| + String depends = instruction.dependsOnSomething() ? '?' : ''; |
| addIndent(); |
| String temporaryId = stringifier.temporaryId(instruction); |
| String instructionString = stringifier.visit(instruction); |
| - add("$bci $uses $temporaryId $instructionString <|@\n"); |
| + add("$bci $uses $temporaryId $instructionString $changes $depends <|@\n"); |
| } |
| } |
| @@ -451,9 +453,10 @@ class HInstructionStringifier implements HVisitor<String> { |
| } |
| StringBuffer envBuffer = new StringBuffer(); |
| List<HInstruction> inputs = node.inputs; |
| - // The last input is the guarded expression. |
| - for (int i = 0; i < inputs.length - 1; i++) { |
| - envBuffer.add(" ${temporaryId(inputs[i])}"); |
| + for (int i = 0; i < inputs.length; i++) { |
| + if (inputs[i] !== node.guarded) { |
|
ngeoffray
2012/06/15 19:45:33
Thanks, good catch.
|
| + envBuffer.add(" ${temporaryId(inputs[i])}"); |
| + } |
| } |
| String on = node.isOn ? "on" : "off"; |
| String id = temporaryId(node.guarded); |