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 8156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8167 Heap::kEmptyFixedArrayRootIndex); | 8167 Heap::kEmptyFixedArrayRootIndex); |
8168 StoreObjectFieldNoWriteBarrier(iterator, | 8168 StoreObjectFieldNoWriteBarrier(iterator, |
8169 JSArrayIterator::kIteratedObjectOffset, array); | 8169 JSArrayIterator::kIteratedObjectOffset, array); |
8170 StoreObjectFieldNoWriteBarrier(iterator, JSArrayIterator::kNextIndexOffset, | 8170 StoreObjectFieldNoWriteBarrier(iterator, JSArrayIterator::kNextIndexOffset, |
8171 SmiConstant(Smi::FromInt(0))); | 8171 SmiConstant(Smi::FromInt(0))); |
8172 StoreObjectFieldNoWriteBarrier( | 8172 StoreObjectFieldNoWriteBarrier( |
8173 iterator, JSArrayIterator::kIteratedObjectMapOffset, array_map); | 8173 iterator, JSArrayIterator::kIteratedObjectMapOffset, array_map); |
8174 return iterator; | 8174 return iterator; |
8175 } | 8175 } |
8176 | 8176 |
| 8177 Node* CodeStubAssembler::AllocateJSIteratorResult(Node* context, Node* value, |
| 8178 Node* done) { |
| 8179 Node* const iter_result = Allocate(JSIteratorResult::kSize); |
| 8180 Node* const map = LoadContextElement(LoadNativeContext(context), |
| 8181 Context::ITERATOR_RESULT_MAP_INDEX); |
| 8182 StoreMapNoWriteBarrier(iter_result, map); |
| 8183 StoreObjectFieldRoot(iter_result, JSIteratorResult::kPropertiesOffset, |
| 8184 Heap::kEmptyFixedArrayRootIndex); |
| 8185 StoreObjectFieldRoot(iter_result, JSIteratorResult::kElementsOffset, |
| 8186 Heap::kEmptyFixedArrayRootIndex); |
| 8187 StoreObjectFieldNoWriteBarrier(iter_result, JSIteratorResult::kValueOffset, |
| 8188 value); |
| 8189 StoreObjectFieldNoWriteBarrier(iter_result, JSIteratorResult::kDoneOffset, |
| 8190 done); |
| 8191 return iter_result; |
| 8192 } |
| 8193 |
8177 Node* CodeStubAssembler::IsDetachedBuffer(Node* buffer) { | 8194 Node* CodeStubAssembler::IsDetachedBuffer(Node* buffer) { |
8178 CSA_ASSERT(this, HasInstanceType(buffer, JS_ARRAY_BUFFER_TYPE)); | 8195 CSA_ASSERT(this, HasInstanceType(buffer, JS_ARRAY_BUFFER_TYPE)); |
8179 | 8196 |
8180 Node* buffer_bit_field = LoadObjectField( | 8197 Node* buffer_bit_field = LoadObjectField( |
8181 buffer, JSArrayBuffer::kBitFieldOffset, MachineType::Uint32()); | 8198 buffer, JSArrayBuffer::kBitFieldOffset, MachineType::Uint32()); |
8182 return IsSetWord32<JSArrayBuffer::WasNeutered>(buffer_bit_field); | 8199 return IsSetWord32<JSArrayBuffer::WasNeutered>(buffer_bit_field); |
8183 } | 8200 } |
8184 | 8201 |
8185 CodeStubArguments::CodeStubArguments(CodeStubAssembler* assembler, Node* argc) | 8202 CodeStubArguments::CodeStubArguments(CodeStubAssembler* assembler, Node* argc) |
8186 : assembler_(assembler), | 8203 : assembler_(assembler), |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8335 StoreObjectFieldNoWriteBarrier(result, | 8352 StoreObjectFieldNoWriteBarrier(result, |
8336 PromiseReactionJobInfo::kDebugNameOffset, | 8353 PromiseReactionJobInfo::kDebugNameOffset, |
8337 SmiConstant(kDebugNotActive)); | 8354 SmiConstant(kDebugNotActive)); |
8338 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kContextOffset, | 8355 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kContextOffset, |
8339 context); | 8356 context); |
8340 return result; | 8357 return result; |
8341 } | 8358 } |
8342 | 8359 |
8343 } // namespace internal | 8360 } // namespace internal |
8344 } // namespace v8 | 8361 } // namespace v8 |
OLD | NEW |