Chromium Code Reviews| Index: src/runtime/runtime-generator.cc |
| diff --git a/src/runtime/runtime-generator.cc b/src/runtime/runtime-generator.cc |
| index 5e64a477bc98ae235b316398cb6474c9cbe6ceb8..b6287cc9341c6dbc29e1136f40b78af5856b6537 100644 |
| --- a/src/runtime/runtime-generator.cc |
| +++ b/src/runtime/runtime-generator.cc |
| @@ -14,22 +14,17 @@ namespace internal { |
| RUNTIME_FUNCTION(Runtime_CreateJSGeneratorObject) { |
| HandleScope scope(isolate); |
| - DCHECK(args.length() == 0); |
| - |
| - JavaScriptFrameIterator it(isolate); |
| - JavaScriptFrame* frame = it.frame(); |
| - Handle<JSFunction> function(frame->function()); |
| + DCHECK(args.length() == 2); |
|
Benedikt Meurer
2016/04/12 12:57:03
Nit: DCHECK_EQ(2, args.length())
|
| + CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0); |
| + CONVERT_ARG_HANDLE_CHECKED(Object, receiver, 1); |
| RUNTIME_ASSERT(function->shared()->is_generator()); |
| - Handle<JSGeneratorObject> generator; |
| - DCHECK(!frame->IsConstructor()); |
| - generator = isolate->factory()->NewJSGeneratorObject(function); |
| + Handle<JSGeneratorObject> generator = |
| + isolate->factory()->NewJSGeneratorObject(function); |
| generator->set_function(*function); |
| - generator->set_context(Context::cast(frame->context())); |
| - generator->set_receiver(frame->receiver()); |
| - generator->set_continuation(0); |
| + generator->set_context(isolate->context()); |
| + generator->set_receiver(*receiver); |
| generator->set_operand_stack(isolate->heap()->empty_fixed_array()); |
| - |
| return *generator; |
| } |