| Index: src/v8natives.js | 
| =================================================================== | 
| --- src/v8natives.js	(revision 369) | 
| +++ src/v8natives.js	(working copy) | 
| @@ -201,7 +201,7 @@ | 
| %AddProperty(global, "eval", function(x) { | 
| if (!IS_STRING(x)) return x; | 
|  | 
| -  var f = %CompileString(x, true); | 
| +  var f = %CompileString(x, 0, true); | 
| if (!IS_FUNCTION(f)) return f; | 
|  | 
| return f.call(%EvalReceiver(this)); | 
| @@ -212,7 +212,7 @@ | 
| %AddProperty(global, "execScript", function(expr, lang) { | 
| // NOTE: We don't care about the character casing. | 
| if (!lang || /javascript/i.test(lang)) { | 
| -    var f = %CompileString(ToString(expr), false); | 
| +    var f = %CompileString(ToString(expr), 0, false); | 
| f.call(global); | 
| } | 
| return null; | 
| @@ -406,11 +406,13 @@ | 
| if (p.indexOf(')') != -1) throw MakeSyntaxError('unable_to_parse',[]); | 
| } | 
| var body = (n > 0) ? ToString(%_Arguments(n - 1)) : ''; | 
| -  var source = '(function anonymous(' + p + ') { ' + body + ' })'; | 
| +  var source = '(function(' + p + ') {\n' + body + '\n})'; | 
|  | 
| // The call to SetNewFunctionAttributes will ensure the prototype | 
| // property of the resulting function is enumerable (ECMA262, 15.3.5.2). | 
| -  return %SetNewFunctionAttributes(%CompileString(source, false)()); | 
| +  var f = %CompileString(source, -1, false)(); | 
| +  %FunctionSetName(f, "anonymous"); | 
| +  return %SetNewFunctionAttributes(f); | 
| }; | 
|  | 
| %SetCode($Function, NewFunction); | 
|  |