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 8322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8333 LoadContextElement(native_context, Context::PROMISE_FUNCTION_INDEX); | 8333 LoadContextElement(native_context, Context::PROMISE_FUNCTION_INDEX); |
8334 Node* const initial_map = | 8334 Node* const initial_map = |
8335 LoadObjectField(promise_fun, JSFunction::kPrototypeOrInitialMapOffset); | 8335 LoadObjectField(promise_fun, JSFunction::kPrototypeOrInitialMapOffset); |
8336 Node* const instance = AllocateJSObjectFromMap(initial_map); | 8336 Node* const instance = AllocateJSObjectFromMap(initial_map); |
8337 | 8337 |
8338 return instance; | 8338 return instance; |
8339 } | 8339 } |
8340 | 8340 |
8341 void CodeStubAssembler::PromiseInit(Node* promise) { | 8341 void CodeStubAssembler::PromiseInit(Node* promise) { |
8342 StoreObjectField(promise, JSPromise::kStatusOffset, | 8342 StoreObjectField(promise, JSPromise::kStatusOffset, |
8343 SmiConstant(kPromisePending)); | 8343 SmiConstant(v8::Promise::kPending)); |
8344 StoreObjectField(promise, JSPromise::kFlagsOffset, SmiConstant(0)); | 8344 StoreObjectField(promise, JSPromise::kFlagsOffset, SmiConstant(0)); |
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 |
(...skipping 13 matching lines...) Expand all Loading... |
8367 Heap::kUndefinedValueRootIndex); | 8367 Heap::kUndefinedValueRootIndex); |
8368 StoreObjectFieldRoot(result, PromiseReactionJobInfo::kDebugNameOffset, | 8368 StoreObjectFieldRoot(result, PromiseReactionJobInfo::kDebugNameOffset, |
8369 Heap::kUndefinedValueRootIndex); | 8369 Heap::kUndefinedValueRootIndex); |
8370 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kContextOffset, | 8370 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kContextOffset, |
8371 context); | 8371 context); |
8372 return result; | 8372 return result; |
8373 } | 8373 } |
8374 | 8374 |
8375 } // namespace internal | 8375 } // namespace internal |
8376 } // namespace v8 | 8376 } // namespace v8 |
OLD | NEW |