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

Side by Side Diff: tests/language/vm/optimized_check_class_test.dart

Issue 859943005: Fix 64-bit bug in optimized class-check instructions. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 11 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
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2015, 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 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
5
6 import "package:expect/expect.dart";
7
8 // Test dense class-id checks. Regression test for issue 22104.
9
10 class A {
11 toString() => "an A";
12 }
13
14 class A1 extends A { }
15 class A2 extends A { }
16 class A3 extends A { }
17 class A4 extends A { toString() => "ha"; }
18 class A5 extends A { }
19 class A6 extends A { }
20 class A7 extends A { }
21 class A8 extends A { }
22 class A9 extends A { }
23 class A10 extends A { }
24 class A11 extends A { }
25 class A12 extends A { }
26 class A13 extends A { }
27 class A14 extends A { }
28 class A15 extends A { }
29 class A16 extends A { }
30 class A17 extends A { }
31 class A18 extends A { }
32 class A19 extends A { }
33 class A20 extends A { }
34 class A21 extends A { }
35 class A22 extends A { }
36 class A23 extends A { }
37 class A24 extends A { }
38 class A25 extends A { }
39 class A26 extends A { }
40 class A27 extends A { }
41 class A28 extends A { }
42 class A29 extends A { }
43 class A30 extends A { }
44 class A31 extends A { }
45 class A32 extends A { }
46 class A33 extends A { }
47 class A34 extends A { }
48 class A35 extends A { }
49 class A36 extends A { }
50
51 test_class_check(e) => e.toString();
52
53 main() {
54 var list = [
55 new A1(),
56 new A2(),
57 new A11(),
58 new A36()
59 ];
60 for (var i = 0; i < list.length; i++) {
61 test_class_check(list[i]);
62 }
63 for (var i = 0; i < 100; i++) {
64 Expect.equals("an A", test_class_check(new A1()));
65 }
66 Expect.equals("ha", test_class_check(new A4()));
67 }
68
69
70
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698