Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| index 965822ea6c0c54cf5ca4370ebb5b6f15ecb59839..380854e590e7731f20e6ebc88316a6c0ebfbe553 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| @@ -2176,7 +2176,7 @@ class CodeEmitterTask extends CompilerTask { |
| if (!knownSubtype) { |
| registerDynamicFunctionTypeCheck(functionType); |
| hasDynamicFunctionTypeCheck = true; |
| - } else { |
| + } else if (!functionType.isSimple) { |
|
karlklose
2013/08/23 09:13:50
Perhaps add a comment why these do not count as pr
Johnni Winther
2013/08/23 10:06:57
Done.
|
| neededPredicates++; |
| } |
| }); |
| @@ -2188,7 +2188,9 @@ class CodeEmitterTask extends CompilerTask { |
| } |
| functionTypeChecks.forEach((FunctionType functionType, bool knownSubtype) { |
| if (knownSubtype) { |
| - if (alwaysUseSignature) { |
| + if (functionType.isSimple) { |
| + emitIsFunctionTypeTest(functionType); |
| + } else if (alwaysUseSignature) { |
| registerDynamicFunctionTypeCheck(functionType); |
| } else { |
| emitIsFunctionTypeTest(functionType); |