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

Side by Side Diff: test/mjsunit/compiler/regress-694088.js

Issue 2739403002: [turbofan] Fix regress-694088.js for big endian. (Closed)
Patch Set: Created 3 years, 9 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
« no previous file with comments | « no previous file | 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
1 // Copyright 2017 the V8 project authors. All rights reserved. 1 // Copyright 2017 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 function is_little_endian() {
6 var buffer = new ArrayBuffer(4);
7 HEAP32 = new Int32Array(buffer);
8 HEAPU8 = new Uint8Array(buffer);
9 HEAP32[0] = 255;
10 if (HEAPU8[0] === 255 && HEAPU8[3] === 0)
11 return true;
12 else
13 return false;
14 }
15
5 (function () { 16 (function () {
6 var buffer = new ArrayBuffer(8); 17 var buffer = new ArrayBuffer(8);
7 var i32 = new Int32Array(buffer); 18 var i32 = new Int32Array(buffer);
8 var f64 = new Float64Array(buffer); 19 var f64 = new Float64Array(buffer);
9 20
10 function foo() { 21 function foo() {
11 f64[0] = 1; 22 f64[0] = 1;
12 var x = f64[0]; 23 var x = f64[0];
13 return i32[0]; 24 if (is_little_endian())
25 return i32[0];
26 else
27 return i32[1];
14 } 28 }
15 assertEquals(0, foo()); 29 assertEquals(0, foo());
16 })(); 30 })();
17 31
18 (function () { 32 (function () {
19 var buffer = new ArrayBuffer(8); 33 var buffer = new ArrayBuffer(8);
20 var i16 = new Int16Array(buffer); 34 var i16 = new Int16Array(buffer);
21 var i32 = new Int32Array(buffer); 35 var i32 = new Int32Array(buffer);
22 36
23 function foo() { 37 function foo() {
24 i32[0] = 0x10001; 38 i32[0] = 0x20001;
25 var x = i32[0]; 39 var x = i32[0];
26 return i16[0]; 40 if (is_little_endian())
41 return i16[0];
42 else
43 return i16[1];
27 } 44 }
28 assertEquals(1, foo()); 45 assertEquals(1, foo());
29 })(); 46 })();
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698