Index: src/v8natives.js |
=================================================================== |
--- src/v8natives.js (revision 805) |
+++ src/v8natives.js (working copy) |
@@ -101,7 +101,6 @@ |
return %StringParseFloat(ToString(string)); |
} |
- |
function GlobalEval(x) { |
if (!IS_STRING(x)) return x; |
@@ -110,10 +109,14 @@ |
'be the global object from which eval originated'); |
} |
- var f = %CompileString(x, 0, true); |
+ if (%InDirectEval()) { |
+ return %ExecDirectEval(x); |
+ } |
+ |
+ var f = %CompileString(x, 0); |
if (!IS_FUNCTION(f)) return f; |
- return f.call(%EvalReceiver(this)); |
+ return f.call(this); |
} |
@@ -121,7 +124,7 @@ |
function GlobalExecScript(expr, lang) { |
// NOTE: We don't care about the character casing. |
if (!lang || /javascript/i.test(lang)) { |
- var f = %CompileString(ToString(expr), 0, false); |
+ var f = %CompileString(ToString(expr), 0); |
f.call(%GlobalReceiver(global)); |
} |
return null; |
@@ -140,7 +143,7 @@ |
// ECMA-262 - 15.1.1.3. |
%SetProperty(global, "undefined", void 0, DONT_ENUM | DONT_DELETE); |
- |
+ |
// Setup non-enumerable function on the global object. |
InstallFunctions(global, DONT_ENUM, $Array( |
"isNaN", GlobalIsNaN, |
@@ -521,7 +524,7 @@ |
// The call to SetNewFunctionAttributes will ensure the prototype |
// property of the resulting function is enumerable (ECMA262, 15.3.5.2). |
- var f = %CompileString(source, -1, false)(); |
+ var f = %CompileString(source, -1)(); |
%FunctionSetName(f, "anonymous"); |
return %SetNewFunctionAttributes(f); |
} |