| Index: test/mjsunit/compiler/regress-639210.js
|
| diff --git a/test/mjsunit/compiler/regress-639210.js b/test/mjsunit/compiler/regress-639210.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..50303fb9d6c699302b7f3933c0853667c9021520
|
| --- /dev/null
|
| +++ b/test/mjsunit/compiler/regress-639210.js
|
| @@ -0,0 +1,38 @@
|
| +// 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 m = (function m() {
|
| + "use asm"
|
| + var i32 = new Int32Array(4);
|
| + var f64 = new Float64Array(4);
|
| +
|
| + function init() {
|
| + i32[0] = 1;
|
| + f64[0] = 0.1;
|
| + }
|
| +
|
| + function load(b) {
|
| + return (b ? 0 : i32[0]) + i32[0];
|
| + }
|
| +
|
| + function store(b) {
|
| + if (b|0) {
|
| + } else {
|
| + f64[0] = 42;
|
| + }
|
| + return f64[0];
|
| + }
|
| +
|
| + return { init : init, load : load, store : store };
|
| +})();
|
| +
|
| +m.init();
|
| +
|
| +%OptimizeFunctionOnNextCall(m.load);
|
| +assertEquals(2, m.load());
|
| +
|
| +%OptimizeFunctionOnNextCall(m.store);
|
| +assertEquals(0.1, m.store(1));
|
|
|