Index: src/execution.cc |
diff --git a/src/execution.cc b/src/execution.cc |
index 048e6e09619395aab22645c2cd8e6db8dc4059c7..91d340e5e1064f41b7c27c60ffc68a61a771a2a3 100644 |
--- a/src/execution.cc |
+++ b/src/execution.cc |
@@ -148,7 +148,8 @@ static Handle<Object> Invoke(bool is_construct, |
} |
-Handle<Object> Execution::Call(Handle<Object> callable, |
+Handle<Object> Execution::Call(Isolate* isolate, |
+ Handle<Object> callable, |
Handle<Object> receiver, |
int argc, |
Handle<Object> argv[], |
@@ -156,7 +157,6 @@ Handle<Object> Execution::Call(Handle<Object> callable, |
bool convert_receiver) { |
*pending_exception = false; |
- Isolate* isolate = Isolate::Current(); |
if (!callable->IsJSFunction()) { |
callable = TryGetFunctionDelegate(isolate, callable, pending_exception); |
if (*pending_exception) return callable; |
@@ -599,7 +599,8 @@ void StackGuard::InitThread(const ExecutionAccess& lock) { |
do { \ |
Handle<Object> argv[] = args; \ |
ASSERT(has_pending_exception != NULL); \ |
- return Call(isolate->name##_fun(), \ |
+ return Call(isolate, \ |
+ isolate->name##_fun(), \ |
isolate->js_builtins_object(), \ |
ARRAY_SIZE(argv), argv, \ |
has_pending_exception); \ |
@@ -712,7 +713,8 @@ Handle<JSFunction> Execution::InstantiateFunction( |
if (elm->IsJSFunction()) return Handle<JSFunction>(JSFunction::cast(elm)); |
// The function has not yet been instantiated in this context; do it. |
Handle<Object> args[] = { data }; |
- Handle<Object> result = Call(isolate->instantiate_fun(), |
+ Handle<Object> result = Call(isolate, |
+ isolate->instantiate_fun(), |
isolate->js_builtins_object(), |
ARRAY_SIZE(args), |
args, |
@@ -744,7 +746,8 @@ Handle<JSObject> Execution::InstantiateObject(Handle<ObjectTemplateInfo> data, |
return Handle<JSObject>(JSObject::cast(result)); |
} else { |
Handle<Object> args[] = { data }; |
- Handle<Object> result = Call(isolate->instantiate_fun(), |
+ Handle<Object> result = Call(isolate, |
+ isolate->instantiate_fun(), |
isolate->js_builtins_object(), |
ARRAY_SIZE(args), |
args, |
@@ -760,7 +763,8 @@ void Execution::ConfigureInstance(Isolate* isolate, |
Handle<Object> instance_template, |
bool* exc) { |
Handle<Object> args[] = { instance, instance_template }; |
- Execution::Call(isolate->configure_instance_fun(), |
+ Execution::Call(isolate, |
+ isolate->configure_instance_fun(), |
isolate->js_builtins_object(), |
ARRAY_SIZE(args), |
args, |