b471d4ab5c
There's no point in running the LoadElimination on asm.js functions and it would take serious amount of effort to actually make it correct for the deprecated parts of the pipeline. R=jarin@chromium.org BUG=v8:5308 Review-Url: https://codereview.chromium.org/2276273002 Cr-Commit-Position: refs/heads/master@{#38884}
27 lines
662 B
JavaScript
27 lines
662 B
JavaScript
// Copyright 2016 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.
|
|
|
|
// Flags: --allow-natives-syntax
|
|
|
|
var stdlib = this;
|
|
var foreign = {};
|
|
var heap = new ArrayBuffer(64 * 1024 * 1024);
|
|
|
|
var foo = (function(stdlib, foreign, heap) {
|
|
"use asm";
|
|
var M16 = new Int16Array(heap);
|
|
var M32 = new Int32Array(heap);
|
|
function foo() {
|
|
M32[0] = 0x12341234;
|
|
var i = M32[0];
|
|
return M16[0];
|
|
}
|
|
return foo;
|
|
})(stdlib, foreign, heap);
|
|
|
|
assertEquals(0x1234, foo());
|
|
assertEquals(0x1234, foo());
|
|
%OptimizeFunctionOnNextCall(foo);
|
|
assertEquals(0x1234, foo());
|