Chromium Code Reviews| Index: pkg/compiler/lib/src/cps_ir/inline.dart |
| diff --git a/pkg/compiler/lib/src/cps_ir/inline.dart b/pkg/compiler/lib/src/cps_ir/inline.dart |
| index cc046eec2c56c6588041c26cee5f3c652ae5b072..0a4e0502a3c72eb3f388c45718753800d681df11 100644 |
| --- a/pkg/compiler/lib/src/cps_ir/inline.dart |
| +++ b/pkg/compiler/lib/src/cps_ir/inline.dart |
| @@ -372,6 +372,13 @@ class InliningVisitor extends TrampolineRecursiveVisitor { |
| return null; |
| } |
| + // Don't inline methods that never return. They are usually helper functions |
| + // that throw an exception. The throw sequence is b |
|
Siggi Cherem (dart-lang)
2016/01/14 22:50:51
end sentence?
|
| + if (invoke.type.isEmpty && !invoke.type.isNullable) { |
| + // TODO(sra): It would be ok to inline if doing so was shrinking. |
| + return null; |
| + } |
| + |
| Reference<Primitive> dartReceiver = invoke.dartReceiverReference; |
| TypeMask abstractReceiver = |
| dartReceiver == null ? null : abstractType(dartReceiver); |