var globalString; | |
function foo(o, v) | |
{ | |
var x = o.f; | |
globalString = String.fromCharCode(v); | |
return x + o.f; | |
} | |
// Break some watchpoints. | |
var o = {f:24}; | |
o.g = 43; | |
noInline(foo); | |
for (var i = 0; i < 10000; ++i) { | |
var result = foo({f:42}, {valueOf: function() { return 32; }}); | |
if (result != 84) | |
throw "Error: bad result: " + result; | |
} | |
var globalO = {f:42}; | |
var weirdValue = {valueOf: function() { | |
delete globalO.f; | |
globalO.__defineGetter__("f", function() { return 75; }); | |
return 33; | |
}}; | |
var result = foo(globalO, weirdValue); | |
if (result != 42 + 75) | |
throw "Error: bad result at end: " + result; | |