v8/test/mjsunit/compiler/regress-694088.js
Ilija.Pavlovic d9bcc067ca [turbofan] Fix regress-694088.js for big endian.
Test regress-694088.js is adapted for execution on big endian platforms.

TEST=test/mjsunit/compiler/regress-694088.js
BUG=

Review-Url: https://codereview.chromium.org/2739403002
Cr-Commit-Position: refs/heads/master@{#43746}
2017-03-13 12:59:48 +00:00

47 lines
1006 B
JavaScript

// Copyright 2017 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
function is_little_endian() {
var buffer = new ArrayBuffer(4);
HEAP32 = new Int32Array(buffer);
HEAPU8 = new Uint8Array(buffer);
HEAP32[0] = 255;
if (HEAPU8[0] === 255 && HEAPU8[3] === 0)
return true;
else
return false;
}
(function () {
var buffer = new ArrayBuffer(8);
var i32 = new Int32Array(buffer);
var f64 = new Float64Array(buffer);
function foo() {
f64[0] = 1;
var x = f64[0];
if (is_little_endian())
return i32[0];
else
return i32[1];
}
assertEquals(0, foo());
})();
(function () {
var buffer = new ArrayBuffer(8);
var i16 = new Int16Array(buffer);
var i32 = new Int32Array(buffer);
function foo() {
i32[0] = 0x20001;
var x = i32[0];
if (is_little_endian())
return i16[0];
else
return i16[1];
}
assertEquals(1, foo());
})();