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

Side by Side Diff: src/builtins/builtins-typedarray-gen.cc

Issue 2741683004: [rename] Rename internal field to embedder field. (Closed)
Patch Set: [rename] Rename internal field to embedder field. Created 3 years, 9 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-dataview.cc ('k') | src/crankshaft/hydrogen.cc » ('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-utils-gen.h" 5 #include "src/builtins/builtins-utils-gen.h"
6 #include "src/builtins/builtins.h" 6 #include "src/builtins/builtins.h"
7 #include "src/code-stub-assembler.h" 7 #include "src/code-stub-assembler.h"
8 8
9 namespace v8 { 9 namespace v8 {
10 namespace internal { 10 namespace internal {
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 CSA_ASSERT(this, TaggedIsSmi(byte_length)); 139 CSA_ASSERT(this, TaggedIsSmi(byte_length));
140 Goto(&setup_holder); 140 Goto(&setup_holder);
141 141
142 Bind(&setup_holder); 142 Bind(&setup_holder);
143 { 143 {
144 LoadMapAndElementsSize(holder, &fixed_typed_map, &element_size); 144 LoadMapAndElementsSize(holder, &fixed_typed_map, &element_size);
145 // Setup the holder (JSArrayBufferView). 145 // Setup the holder (JSArrayBufferView).
146 // - Set the length. 146 // - Set the length.
147 // - Set the byte_offset. 147 // - Set the byte_offset.
148 // - Set the byte_length. 148 // - Set the byte_length.
149 // - Set InternalFields to 0. 149 // - Set EmbedderFields to 0.
150 StoreObjectField(holder, JSTypedArray::kLengthOffset, length); 150 StoreObjectField(holder, JSTypedArray::kLengthOffset, length);
151 StoreObjectField(holder, JSArrayBufferView::kByteOffsetOffset, byte_offset); 151 StoreObjectField(holder, JSArrayBufferView::kByteOffsetOffset, byte_offset);
152 StoreObjectField(holder, JSArrayBufferView::kByteLengthOffset, byte_length); 152 StoreObjectField(holder, JSArrayBufferView::kByteLengthOffset, byte_length);
153 for (int offset = JSTypedArray::kSize; 153 for (int offset = JSTypedArray::kSize;
154 offset < JSTypedArray::kSizeWithInternalFields; 154 offset < JSTypedArray::kSizeWithEmbedderFields;
155 offset += kPointerSize) { 155 offset += kPointerSize) {
156 StoreObjectField(holder, offset, SmiConstant(Smi::kZero)); 156 StoreObjectField(holder, offset, SmiConstant(Smi::kZero));
157 } 157 }
158 158
159 Branch(IsNull(maybe_buffer), &alloc_array_buffer, &attach_buffer); 159 Branch(IsNull(maybe_buffer), &alloc_array_buffer, &attach_buffer);
160 } 160 }
161 161
162 Bind(&alloc_array_buffer); 162 Bind(&alloc_array_buffer);
163 { 163 {
164 // Allocate a new ArrayBuffer and initialize it with empty properties and 164 // Allocate a new ArrayBuffer and initialize it with empty properties and
165 // elements. 165 // elements.
166 Node* const native_context = LoadNativeContext(context); 166 Node* const native_context = LoadNativeContext(context);
167 Node* const map = 167 Node* const map =
168 LoadContextElement(native_context, Context::ARRAY_BUFFER_MAP_INDEX); 168 LoadContextElement(native_context, Context::ARRAY_BUFFER_MAP_INDEX);
169 Node* empty_fixed_array = LoadRoot(Heap::kEmptyFixedArrayRootIndex); 169 Node* empty_fixed_array = LoadRoot(Heap::kEmptyFixedArrayRootIndex);
170 170
171 Node* const buffer = Allocate(JSArrayBuffer::kSizeWithInternalFields); 171 Node* const buffer = Allocate(JSArrayBuffer::kSizeWithEmbedderFields);
172 StoreMapNoWriteBarrier(buffer, map); 172 StoreMapNoWriteBarrier(buffer, map);
173 StoreObjectFieldNoWriteBarrier(buffer, JSArray::kPropertiesOffset, 173 StoreObjectFieldNoWriteBarrier(buffer, JSArray::kPropertiesOffset,
174 empty_fixed_array); 174 empty_fixed_array);
175 StoreObjectFieldNoWriteBarrier(buffer, JSArray::kElementsOffset, 175 StoreObjectFieldNoWriteBarrier(buffer, JSArray::kElementsOffset,
176 empty_fixed_array); 176 empty_fixed_array);
177 // Setup the ArrayBuffer. 177 // Setup the ArrayBuffer.
178 // - Set BitField to 0. 178 // - Set BitField to 0.
179 // - Set IsExternal and IsNeuterable bits of BitFieldSlot. 179 // - Set IsExternal and IsNeuterable bits of BitFieldSlot.
180 // - Set the byte_length field to byte_length. 180 // - Set the byte_length field to byte_length.
181 // - Set backing_store to null/Smi(0). 181 // - Set backing_store to null/Smi(0).
182 // - Set all internal fields to Smi(0). 182 // - Set all internal fields to Smi(0).
183 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBitFieldSlot, 183 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBitFieldSlot,
184 SmiConstant(Smi::kZero)); 184 SmiConstant(Smi::kZero));
185 int32_t bitfield_value = (1 << JSArrayBuffer::IsExternal::kShift) | 185 int32_t bitfield_value = (1 << JSArrayBuffer::IsExternal::kShift) |
186 (1 << JSArrayBuffer::IsNeuterable::kShift); 186 (1 << JSArrayBuffer::IsNeuterable::kShift);
187 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBitFieldOffset, 187 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBitFieldOffset,
188 Int32Constant(bitfield_value), 188 Int32Constant(bitfield_value),
189 MachineRepresentation::kWord32); 189 MachineRepresentation::kWord32);
190 190
191 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kByteLengthOffset, 191 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kByteLengthOffset,
192 byte_length); 192 byte_length);
193 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBackingStoreOffset, 193 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBackingStoreOffset,
194 SmiConstant(Smi::kZero)); 194 SmiConstant(Smi::kZero));
195 for (int i = 0; i < v8::ArrayBuffer::kInternalFieldCount; i++) { 195 for (int i = 0; i < v8::ArrayBuffer::kEmbedderFieldCount; i++) {
196 int offset = JSArrayBuffer::kSize + i * kPointerSize; 196 int offset = JSArrayBuffer::kSize + i * kPointerSize;
197 StoreObjectFieldNoWriteBarrier(buffer, offset, SmiConstant(Smi::kZero)); 197 StoreObjectFieldNoWriteBarrier(buffer, offset, SmiConstant(Smi::kZero));
198 } 198 }
199 199
200 StoreObjectField(holder, JSArrayBufferView::kBufferOffset, buffer); 200 StoreObjectField(holder, JSArrayBufferView::kBufferOffset, buffer);
201 201
202 // Check the alignment. 202 // Check the alignment.
203 GotoIf(SmiEqual(SmiMod(element_size.value(), SmiConstant(kObjectAlignment)), 203 GotoIf(SmiEqual(SmiMod(element_size.value(), SmiConstant(kObjectAlignment)),
204 SmiConstant(0)), 204 SmiConstant(0)),
205 &aligned); 205 &aligned);
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 "%TypedArray%.prototype.entries()"); 574 "%TypedArray%.prototype.entries()");
575 } 575 }
576 576
577 TF_BUILTIN(TypedArrayPrototypeKeys, TypedArrayBuiltinsAssembler) { 577 TF_BUILTIN(TypedArrayPrototypeKeys, TypedArrayBuiltinsAssembler) {
578 GenerateTypedArrayPrototypeIterationMethod<IterationKind::kKeys>( 578 GenerateTypedArrayPrototypeIterationMethod<IterationKind::kKeys>(
579 "%TypedArray%.prototype.keys()"); 579 "%TypedArray%.prototype.keys()");
580 } 580 }
581 581
582 } // namespace internal 582 } // namespace internal
583 } // namespace v8 583 } // namespace v8
OLDNEW
« no previous file with comments | « src/builtins/builtins-dataview.cc ('k') | src/crankshaft/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698