Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1139)

Side by Side Diff: tests/language/src/InlineGetterTest.dart

Issue 10248007: test rename overhaul: step 8 - language tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
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.
4 // Test inlining of instance getters.
5 // Three classes access always the same field. Optimize method foo and inline
6 // getter for classes 'A' and 'B'. Call later via 'C' and cause deoptimization.
7
8 class A {
9 int f;
10 A(this.f) {}
11 int foo() {
12 return f; // <-- inline getter for classes 'A' and 'B'.
13 }
14 }
15
16 class B extends A {
17 B() : super(2) {}
18 }
19
20 class C extends A {
21 C() : super(10) {}
22 }
23
24 class InlineGetterTest {
25 static testMain() {
26 var a = new A(1);
27 var b = new B();
28 int sum = 0;
29 for (int i = 0; i < 5000; i++) {
30 sum += a.foo();
31 sum += b.foo();
32 }
33 var c = new C();
34 sum += c.foo(); // <-- Deoptimizing.
35 Expect.equals(15010, sum);
36 }
37 }
38
39 main() {
40 InlineGetterTest.testMain();
41 }
OLDNEW
« no previous file with comments | « tests/language/src/IndexTest.dart ('k') | tests/language/src/InstFieldInitializer1NegativeTest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698