Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/js_backend/backend.dart |
| =================================================================== |
| --- sdk/lib/_internal/compiler/implementation/js_backend/backend.dart (revision 17130) |
| +++ sdk/lib/_internal/compiler/implementation/js_backend/backend.dart (working copy) |
| @@ -485,6 +485,13 @@ |
| void registerDynamicInvocation(HInvokeDynamic node, |
| Selector selector, |
| HTypeMap types) { |
| + if (selector.name == Compiler.CALL_OPERATOR_NAME) { |
|
kasperl
2013/01/16 11:54:46
Using == is kind of dangerous because it works for
ngeoffray
2013/01/16 12:10:03
Good point. I added a Selector.isClosureCall for n
|
| + // We cannot use the current framework to do optimizations based |
| + // on the 'call' selector because we are also generating closure |
| + // calls during the emitter phase, which at this point, does not |
| + // track parameter types, nor invalidates optimized methods. |
| + return; |
| + } |
| HTypeList providedTypes = |
| new HTypeList.fromDynamicInvocation(node, selector, types); |
| if (!selectorTypeMap.containsKey(selector)) { |