| // Copyright 2014 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 Module(stdlib, foreign, buffer) { |
| "use asm"; |
| var HEAP32 = new stdlib.Int32Array(buffer); |
| function g(a) { |
| HEAP32[a] = 9982 * 100; |
| return a; |
| } |
| function f(i1) { |
| i1 = i1 | 0; |
| var i2 = HEAP32[i1 >> 2] | 0; |
| g(i1); |
| L2909: { |
| L2: { |
| if (0) { |
| if (0) break L2; |
| g(i2); |
| break L2909; |
| } |
| } |
| var r = (HEAP32[1] | 0) / 100 | 0; |
| g(r); |
| return r; |
| } |
| } |
| return {f: f}; |
| } |
| |
| var f = Module(this, {}, new ArrayBuffer(64 * 1024)).f; |
| assertEquals(9982, f(1)); |