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

Side by Side Diff: tests/language/if_and_test.dart

Issue 10669035: Don't lose the expected precedence during && compilation. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments Created 8 years, 5 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) 2012, 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
5 // The "if (negative) res2 |= 3" below can be emitted as negative && (res2 |= 3)
6 // in JavaScript. Dart2js produced the wrong output.
7
8 _shiftRight(x, y) => x;
9 int64_bits(x) => x;
10
11 class A {
12 opshr(int n, a2) {
13 int res2;
14 bool negative = a2 === 496;
15
16 res2 = _shiftRight(a2, n);
17 if (negative) {
18 res2 |= 3;
19 }
20 return int64_bits(res2);
21 }
22 }
23
24 main() {
25 var a = new A();
26 var t;
27 for (int i = 0; i < 3; i++) {
28 t = a.opshr(99, 496);
29 }
30 Expect.equals(499, t);
31 }
OLDNEW
« lib/compiler/implementation/ssa/codegen.dart ('K') | « lib/compiler/implementation/ssa/codegen.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698