Chromium Code Reviews| Index: lib/compiler/implementation/ssa/builder.dart |
| =================================================================== |
| --- lib/compiler/implementation/ssa/builder.dart (revision 12117) |
| +++ lib/compiler/implementation/ssa/builder.dart (working copy) |
| @@ -2023,13 +2023,15 @@ |
| if (methodInterceptionEnabled) { |
| staticInterceptor = interceptors.getStaticGetInterceptor(getterName); |
| } |
| + bool hasGetter = |
| + compiler.world.getters.hasOneElementMatchingSelector(selector); |
|
ahe
2012/09/10 17:24:20
Too many dots.
ahe
2012/09/10 17:24:20
I assume you mean "exactly one"? If so, perhaps ad
ngeoffray
2012/09/11 08:51:08
Done.
ngeoffray
2012/09/11 08:51:08
Done.
|
| if (staticInterceptor != null) { |
| HStatic target = new HStatic(staticInterceptor); |
| add(target); |
| List<HInstruction> inputs = <HInstruction>[target, receiver]; |
| - push(new HInvokeInterceptor(selector, inputs)); |
| + push(new HInvokeInterceptor(selector, inputs, hasGetter)); |
| } else { |
| - push(new HInvokeDynamicGetter(selector, null, receiver)); |
| + push(new HInvokeDynamicGetter(selector, null, receiver, !hasGetter)); |
| } |
| } |