Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(594)

Side by Side Diff: src/builtins/builtins-async-generator-gen.cc

Issue 2777203007: [builtins] Introduce new TFC macro and auto-generate TFS descriptors (Closed)
Patch Set: Rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/builtins/builtins.cc ('k') | src/builtins/builtins-definitions.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 the V8 project authors. All rights reserved. 1 // Copyright 2017 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/builtins/builtins-async-gen.h" 5 #include "src/builtins/builtins-async-gen.h"
6 #include "src/builtins/builtins-utils-gen.h" 6 #include "src/builtins/builtins-utils-gen.h"
7 #include "src/builtins/builtins.h" 7 #include "src/builtins/builtins.h"
8 #include "src/code-factory.h" 8 #include "src/code-factory.h"
9 #include "src/code-stub-assembler.h" 9 #include "src/code-stub-assembler.h"
10 #include "src/frames-inl.h" 10 #include "src/frames-inl.h"
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 CallStub(CodeFactory::ResumeGenerator(isolate()), context, 525 CallStub(CodeFactory::ResumeGenerator(isolate()), context,
526 LoadValueFromAsyncGeneratorRequest(next), generator, resume_type, 526 LoadValueFromAsyncGeneratorRequest(next), generator, resume_type,
527 SmiConstant(static_cast<int>(SuspendFlags::kAsyncGeneratorYield))); 527 SmiConstant(static_cast<int>(SuspendFlags::kAsyncGeneratorYield)));
528 var_state.Bind(LoadGeneratorState(generator)); 528 var_state.Bind(LoadGeneratorState(generator));
529 var_next.Bind(LoadFirstAsyncGeneratorRequestFromQueue(generator)); 529 var_next.Bind(LoadFirstAsyncGeneratorRequestFromQueue(generator));
530 Goto(&start); 530 Goto(&start);
531 } 531 }
532 } 532 }
533 533
534 TF_BUILTIN(AsyncGeneratorResolve, AsyncGeneratorBuiltinsAssembler) { 534 TF_BUILTIN(AsyncGeneratorResolve, AsyncGeneratorBuiltinsAssembler) {
535 typedef AsyncGeneratorResolveDescriptor Descriptor;
536 Node* const generator = Parameter(Descriptor::kGenerator); 535 Node* const generator = Parameter(Descriptor::kGenerator);
537 Node* const value = Parameter(Descriptor::kValue); 536 Node* const value = Parameter(Descriptor::kValue);
538 Node* const done = Parameter(Descriptor::kDone); 537 Node* const done = Parameter(Descriptor::kDone);
539 Node* const context = Parameter(Descriptor::kContext); 538 Node* const context = Parameter(Descriptor::kContext);
540 539
541 Node* const next = TakeFirstAsyncGeneratorRequestFromQueue(generator); 540 Node* const next = TakeFirstAsyncGeneratorRequestFromQueue(generator);
542 Node* const promise = LoadPromiseFromAsyncGeneratorRequest(next); 541 Node* const promise = LoadPromiseFromAsyncGeneratorRequest(next);
543 542
544 Node* const wrapper = AllocateAndInitJSPromise(context); 543 Node* const wrapper = AllocateAndInitJSPromise(context);
545 CallBuiltin(Builtins::kResolveNativePromise, context, wrapper, value); 544 CallBuiltin(Builtins::kResolveNativePromise, context, wrapper, value);
(...skipping 15 matching lines...) Expand all
561 560
562 Node* const next = TakeFirstAsyncGeneratorRequestFromQueue(generator); 561 Node* const next = TakeFirstAsyncGeneratorRequestFromQueue(generator);
563 Node* const promise = LoadPromiseFromAsyncGeneratorRequest(next); 562 Node* const promise = LoadPromiseFromAsyncGeneratorRequest(next);
564 563
565 Return(CallBuiltin(Builtins::kRejectNativePromise, context, promise, value, 564 Return(CallBuiltin(Builtins::kRejectNativePromise, context, promise, value,
566 TrueConstant())); 565 TrueConstant()));
567 } 566 }
568 567
569 } // namespace internal 568 } // namespace internal
570 } // namespace v8 569 } // namespace v8
OLDNEW
« no previous file with comments | « src/builtins/builtins.cc ('k') | src/builtins/builtins-definitions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698