| Index: src/execution.cc
|
| diff --git a/src/execution.cc b/src/execution.cc
|
| index db74492316103971ced0d1c27257ff1ecd1caed3..e84ab9e8ed430e4e4fb4779b4166669c4551730a 100644
|
| --- a/src/execution.cc
|
| +++ b/src/execution.cc
|
| @@ -145,11 +145,16 @@ static Handle<Object> Invoke(bool construct,
|
| }
|
|
|
|
|
| -Handle<Object> Execution::Call(Handle<JSFunction> func,
|
| +Handle<Object> Execution::Call(Handle<Object> callable,
|
| Handle<Object> receiver,
|
| int argc,
|
| Object*** args,
|
| bool* pending_exception) {
|
| + if (!callable->IsJSFunction()) {
|
| + callable = TryGetFunctionDelegate(callable, pending_exception);
|
| + if (*pending_exception) return callable;
|
| + }
|
| + Handle<JSFunction> func = Handle<JSFunction>::cast(callable);
|
| return Invoke(false, func, receiver, argc, args, pending_exception);
|
| }
|
|
|
|
|