Chromium Code Reviews| Index: src/builtins.cc |
| =================================================================== |
| --- src/builtins.cc (revision 5856) |
| +++ src/builtins.cc (working copy) |
| @@ -1081,29 +1081,22 @@ |
| ASSERT(!CalledAsConstructor()); |
| const bool is_construct = false; |
| - // We expect four more arguments: function, callback, call data, and holder. |
| + // We expect four more arguments: callback, function, call data, and holder. |
| const int args_length = args.length() - 4; |
| ASSERT(args_length >= 0); |
| - Handle<JSFunction> function = args.at<JSFunction>(args_length); |
| - Object* callback_obj = args[args_length + 1]; |
| - Handle<Object> data = args.at<Object>(args_length + 2); |
| - Handle<JSObject> checked_holder = args.at<JSObject>(args_length + 3); |
| + Object* callback_obj = args[args_length]; |
| -#ifdef DEBUG |
| - VerifyTypeCheck(checked_holder, function); |
| -#endif |
| - |
| - CustomArguments custom; |
| - v8::ImplementationUtilities::PrepareArgumentsData(custom.end(), |
| - *data, *function, *checked_holder); |
| - |
| v8::Arguments new_args = v8::ImplementationUtilities::NewArguments( |
| - custom.end(), |
| + &args[args_length + 1], |
| &args[0] - 1, |
| args_length - 1, |
| is_construct); |
| +#ifdef DEBUG |
| + VerifyTypeCheck(Utils::OpenHandle(*new_args.Holder()), |
| + Utils::OpenHandle(*new_args.Callee())); |
| +#endif |
|
SeRya
2010/11/18 15:36:32
Done. Actually it was a bug here (|function| was a
|
| HandleScope scope; |
| Object* result; |
| v8::Handle<v8::Value> value; |