function make1() { | |
var a = []; | |
a.__defineGetter__(42, function() { return 42; }); | |
return a; | |
} | |
noInline(make1); | |
function make2() { | |
return [42]; | |
} | |
noInline(make2); | |
for (var i = 0; i < 10000; ++i) { | |
make1(); | |
make2(); | |
} | |
function foo(o) { | |
o[0] = 0; | |
} | |
noInline(foo); | |
for (var i = 0; i < 10000; ++i) { | |
foo(make1()); | |
foo(make2()); | |
} | |
var o = new Int8Array(100); | |
var b = o.buffer; | |
foo(o); | |
if (o.buffer != b) | |
throw "Error: buffer changed."; | |