v8/test/mjsunit/compiler/regress-694088.js

47 lines
1006 B
JavaScript
Raw Normal View History

// 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());
})();