| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 interface OptimizationPhase { | 5 interface OptimizationPhase { |
| 6 String get name(); | 6 String get name(); |
| 7 void visitGraph(HGraph graph); | 7 void visitGraph(HGraph graph); |
| 8 } | 8 } |
| 9 | 9 |
| 10 class SsaOptimizerTask extends CompilerTask { | 10 class SsaOptimizerTask extends CompilerTask { |
| (...skipping 1225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1236 case Compiler.PHASE_COMPILING: | 1236 case Compiler.PHASE_COMPILING: |
| 1237 compiler.enqueuer.codegen.registerRecompilationCandidate( | 1237 compiler.enqueuer.codegen.registerRecompilationCandidate( |
| 1238 work.element); | 1238 work.element); |
| 1239 break; | 1239 break; |
| 1240 case Compiler.PHASE_RECOMPILING: | 1240 case Compiler.PHASE_RECOMPILING: |
| 1241 if (compiler.codegenWorld.hasInvokedSetter(field.element, | 1241 if (compiler.codegenWorld.hasInvokedSetter(field.element, |
| 1242 compiler)) { | 1242 compiler)) { |
| 1243 // If there are invoked setters we don't know for sure that the | 1243 // If there are invoked setters we don't know for sure that the |
| 1244 // field will hold the calculated, but the fact that the class | 1244 // field will hold the calculated, but the fact that the class |
| 1245 // itself stick to this type in the field is still a strong | 1245 // itself stick to this type in the field is still a strong |
| 1246 // signal to indiate the expected type of the field. | 1246 // signal to indicate the expected type of the field. |
| 1247 field.propagatedType = type; | 1247 field.propagatedType = type; |
| 1248 graph.highTypeLikelyhood = true; | 1248 graph.highTypeLikelyhood = true; |
| 1249 } else { | 1249 } else { |
| 1250 // If there are no invoked setters we know the type of this | 1250 // If there are no invoked setters we know the type of this |
| 1251 // field for sure. | 1251 // field for sure. |
| 1252 field.guaranteedType = type; | 1252 field.guaranteedType = type; |
| 1253 } | 1253 } |
| 1254 break; | 1254 break; |
| 1255 default: | 1255 default: |
| 1256 assert(false); | 1256 assert(false); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1308 } | 1308 } |
| 1309 break; | 1309 break; |
| 1310 default: | 1310 default: |
| 1311 assert(false); | 1311 assert(false); |
| 1312 break; | 1312 break; |
| 1313 } | 1313 } |
| 1314 } | 1314 } |
| 1315 } | 1315 } |
| 1316 } | 1316 } |
| 1317 } | 1317 } |
| OLD | NEW |