function make(offset) { // Default offset is 1. if (offset === void 0) offset = 1; var int8Array = new Int8Array(100); for (var i = 0; i < int8Array.length; ++i) int8Array[i] = i; return new Int8Array(int8Array.buffer, offset, int8Array.length - offset); } noInline(make); function foo(o, i, v) { o[i] = v; } noInline(foo); var o = make(); var real = new Int8Array(o.buffer); for (var i = 0; i < 10000; ++i) { var index = i % o.length; var value = i % 7; foo(o, index, value); var result = real[index + 1]; if (result != value) throw "Write test error: bad result for index = " + index + ": " + result + "; expected " + value; }