OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 #include "src/code-stub-assembler.h" | 4 #include "src/code-stub-assembler.h" |
5 #include "src/code-factory.h" | 5 #include "src/code-factory.h" |
6 #include "src/frames-inl.h" | 6 #include "src/frames-inl.h" |
7 #include "src/frames.h" | 7 #include "src/frames.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 8334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8345 } | 8345 } |
8346 | 8346 |
8347 void CodeStubAssembler::PromiseSet(Node* promise, Node* status, Node* result) { | 8347 void CodeStubAssembler::PromiseSet(Node* promise, Node* status, Node* result) { |
8348 CSA_ASSERT(this, TaggedIsSmi(status)); | 8348 CSA_ASSERT(this, TaggedIsSmi(status)); |
8349 StoreObjectField(promise, JSPromise::kStatusOffset, status); | 8349 StoreObjectField(promise, JSPromise::kStatusOffset, status); |
8350 StoreObjectField(promise, JSPromise::kResultOffset, result); | 8350 StoreObjectField(promise, JSPromise::kResultOffset, result); |
8351 StoreObjectField(promise, JSPromise::kFlagsOffset, SmiConstant(0)); | 8351 StoreObjectField(promise, JSPromise::kFlagsOffset, SmiConstant(0)); |
8352 } | 8352 } |
8353 | 8353 |
8354 Node* CodeStubAssembler::AllocatePromiseReactionJobInfo( | 8354 Node* CodeStubAssembler::AllocatePromiseReactionJobInfo( |
8355 Node* value, Node* promise, Node* tasks, Node* deferred, Node* context) { | 8355 Node* promise, Node* value, Node* tasks, Node* deferred_promise, |
| 8356 Node* deferred_on_resolve, Node* deferred_on_reject, Node* context) { |
8356 Node* const result = Allocate(PromiseReactionJobInfo::kSize); | 8357 Node* const result = Allocate(PromiseReactionJobInfo::kSize); |
8357 StoreMapNoWriteBarrier(result, Heap::kPromiseReactionJobInfoMapRootIndex); | 8358 StoreMapNoWriteBarrier(result, Heap::kPromiseReactionJobInfoMapRootIndex); |
| 8359 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kValueOffset, |
| 8360 value); |
8358 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kPromiseOffset, | 8361 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kPromiseOffset, |
8359 promise); | 8362 promise); |
8360 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kValueOffset, | |
8361 value); | |
8362 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kTasksOffset, | 8363 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kTasksOffset, |
8363 tasks); | 8364 tasks); |
8364 StoreObjectFieldNoWriteBarrier( | 8365 StoreObjectFieldNoWriteBarrier( |
8365 result, PromiseReactionJobInfo::kDeferredOffset, deferred); | 8366 result, PromiseReactionJobInfo::kDeferredPromiseOffset, deferred_promise); |
| 8367 StoreObjectFieldNoWriteBarrier( |
| 8368 result, PromiseReactionJobInfo::kDeferredOnResolveOffset, |
| 8369 deferred_on_resolve); |
| 8370 StoreObjectFieldNoWriteBarrier( |
| 8371 result, PromiseReactionJobInfo::kDeferredOnRejectOffset, |
| 8372 deferred_on_reject); |
8366 StoreObjectFieldRoot(result, PromiseReactionJobInfo::kDebugIdOffset, | 8373 StoreObjectFieldRoot(result, PromiseReactionJobInfo::kDebugIdOffset, |
8367 Heap::kUndefinedValueRootIndex); | 8374 Heap::kUndefinedValueRootIndex); |
8368 StoreObjectFieldRoot(result, PromiseReactionJobInfo::kDebugNameOffset, | 8375 StoreObjectFieldRoot(result, PromiseReactionJobInfo::kDebugNameOffset, |
8369 Heap::kUndefinedValueRootIndex); | 8376 Heap::kUndefinedValueRootIndex); |
8370 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kContextOffset, | 8377 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kContextOffset, |
8371 context); | 8378 context); |
8372 return result; | 8379 return result; |
8373 } | 8380 } |
8374 | 8381 |
8375 } // namespace internal | 8382 } // namespace internal |
8376 } // namespace v8 | 8383 } // namespace v8 |
OLD | NEW |