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

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

Issue 2741683004: [rename] Rename internal field to embedder field. (Closed)
Patch Set: DEPRECATE_SOON(GetInternalField) 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
OLDNEW
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 4
5 #include "src/builtins/builtins-utils.h" 5 #include "src/builtins/builtins-utils.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 #include "src/counters.h" 8 #include "src/counters.h"
9 #include "src/elements.h" 9 #include "src/elements.h"
10 #include "src/objects-inl.h" 10 #include "src/objects-inl.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 CSA_ASSERT(this, TaggedIsSmi(byte_length)); 106 CSA_ASSERT(this, TaggedIsSmi(byte_length));
107 Goto(&setup_holder); 107 Goto(&setup_holder);
108 108
109 Bind(&setup_holder); 109 Bind(&setup_holder);
110 { 110 {
111 LoadMapAndElementsSize(holder, &fixed_typed_map, &element_size); 111 LoadMapAndElementsSize(holder, &fixed_typed_map, &element_size);
112 // Setup the holder (JSArrayBufferView). 112 // Setup the holder (JSArrayBufferView).
113 // - Set the length. 113 // - Set the length.
114 // - Set the byte_offset. 114 // - Set the byte_offset.
115 // - Set the byte_length. 115 // - Set the byte_length.
116 // - Set InternalFields to 0. 116 // - Set EmbedderFields to 0.
117 StoreObjectField(holder, JSTypedArray::kLengthOffset, length); 117 StoreObjectField(holder, JSTypedArray::kLengthOffset, length);
118 StoreObjectField(holder, JSArrayBufferView::kByteOffsetOffset, byte_offset); 118 StoreObjectField(holder, JSArrayBufferView::kByteOffsetOffset, byte_offset);
119 StoreObjectField(holder, JSArrayBufferView::kByteLengthOffset, byte_length); 119 StoreObjectField(holder, JSArrayBufferView::kByteLengthOffset, byte_length);
120 for (int offset = JSTypedArray::kSize; 120 for (int offset = JSTypedArray::kSize;
121 offset < JSTypedArray::kSizeWithInternalFields; 121 offset < JSTypedArray::kSizeWithEmbedderFields;
122 offset += kPointerSize) { 122 offset += kPointerSize) {
123 StoreObjectField(holder, offset, SmiConstant(Smi::kZero)); 123 StoreObjectField(holder, offset, SmiConstant(Smi::kZero));
124 } 124 }
125 125
126 Branch(IsNull(maybe_buffer), &alloc_array_buffer, &attach_buffer); 126 Branch(IsNull(maybe_buffer), &alloc_array_buffer, &attach_buffer);
127 } 127 }
128 128
129 Bind(&alloc_array_buffer); 129 Bind(&alloc_array_buffer);
130 { 130 {
131 // Allocate a new ArrayBuffer and initialize it with empty properties and 131 // Allocate a new ArrayBuffer and initialize it with empty properties and
132 // elements. 132 // elements.
133 Node* const native_context = LoadNativeContext(context); 133 Node* const native_context = LoadNativeContext(context);
134 Node* const map = 134 Node* const map =
135 LoadContextElement(native_context, Context::ARRAY_BUFFER_MAP_INDEX); 135 LoadContextElement(native_context, Context::ARRAY_BUFFER_MAP_INDEX);
136 Node* empty_fixed_array = LoadRoot(Heap::kEmptyFixedArrayRootIndex); 136 Node* empty_fixed_array = LoadRoot(Heap::kEmptyFixedArrayRootIndex);
137 137
138 Node* buffer = Allocate(JSArrayBuffer::kSizeWithInternalFields); 138 Node* buffer = Allocate(JSArrayBuffer::kSizeWithEmbedderFields);
139 StoreMapNoWriteBarrier(buffer, map); 139 StoreMapNoWriteBarrier(buffer, map);
140 StoreObjectFieldNoWriteBarrier(buffer, JSArray::kPropertiesOffset, 140 StoreObjectFieldNoWriteBarrier(buffer, JSArray::kPropertiesOffset,
141 empty_fixed_array); 141 empty_fixed_array);
142 StoreObjectFieldNoWriteBarrier(buffer, JSArray::kElementsOffset, 142 StoreObjectFieldNoWriteBarrier(buffer, JSArray::kElementsOffset,
143 empty_fixed_array); 143 empty_fixed_array);
144 // Setup the ArrayBuffer. 144 // Setup the ArrayBuffer.
145 // - Set BitField to 0. 145 // - Set BitField to 0.
146 // - Set IsExternal and IsNeuterable bits of BitFieldSlot. 146 // - Set IsExternal and IsNeuterable bits of BitFieldSlot.
147 // - Set the byte_length field to byte_length. 147 // - Set the byte_length field to byte_length.
148 // - Set backing_store to null/Smi(0). 148 // - Set backing_store to null/Smi(0).
149 // - Set all internal fields to Smi(0). 149 // - Set all embedder fields to Smi(0).
150 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBitFieldSlot, 150 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBitFieldSlot,
151 SmiConstant(Smi::kZero)); 151 SmiConstant(Smi::kZero));
152 int32_t bitfield_value = (1 << JSArrayBuffer::IsExternal::kShift) | 152 int32_t bitfield_value = (1 << JSArrayBuffer::IsExternal::kShift) |
153 (1 << JSArrayBuffer::IsNeuterable::kShift); 153 (1 << JSArrayBuffer::IsNeuterable::kShift);
154 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBitFieldOffset, 154 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBitFieldOffset,
155 Int32Constant(bitfield_value), 155 Int32Constant(bitfield_value),
156 MachineRepresentation::kWord32); 156 MachineRepresentation::kWord32);
157 157
158 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kByteLengthOffset, 158 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kByteLengthOffset,
159 byte_length); 159 byte_length);
160 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBackingStoreOffset, 160 StoreObjectFieldNoWriteBarrier(buffer, JSArrayBuffer::kBackingStoreOffset,
161 SmiConstant(Smi::kZero)); 161 SmiConstant(Smi::kZero));
162 for (int i = 0; i < v8::ArrayBuffer::kInternalFieldCount; i++) { 162 for (int i = 0; i < v8::ArrayBuffer::kEmbedderFieldCount; i++) {
163 int offset = JSArrayBuffer::kSize + i * kPointerSize; 163 int offset = JSArrayBuffer::kSize + i * kPointerSize;
164 StoreObjectFieldNoWriteBarrier(buffer, offset, SmiConstant(Smi::kZero)); 164 StoreObjectFieldNoWriteBarrier(buffer, offset, SmiConstant(Smi::kZero));
165 } 165 }
166 166
167 StoreObjectField(holder, JSArrayBufferView::kBufferOffset, buffer); 167 StoreObjectField(holder, JSArrayBufferView::kBufferOffset, buffer);
168 168
169 // Check the alignment. 169 // Check the alignment.
170 GotoIf(SmiEqual(SmiMod(element_size.value(), SmiConstant(kObjectAlignment)), 170 GotoIf(SmiEqual(SmiMod(element_size.value(), SmiConstant(kObjectAlignment)),
171 SmiConstant(0)), 171 SmiConstant(0)),
172 &aligned); 172 &aligned);
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 Handle<Object> search_element = args.at<Object>(1); 546 Handle<Object> search_element = args.at<Object>(1);
547 ElementsAccessor* elements = array->GetElementsAccessor(); 547 ElementsAccessor* elements = array->GetElementsAccessor();
548 Maybe<bool> result = elements->IncludesValue(isolate, array, search_element, 548 Maybe<bool> result = elements->IncludesValue(isolate, array, search_element,
549 static_cast<uint32_t>(index), 549 static_cast<uint32_t>(index),
550 static_cast<uint32_t>(len)); 550 static_cast<uint32_t>(len));
551 return *isolate->factory()->ToBoolean(result.FromJust()); 551 return *isolate->factory()->ToBoolean(result.FromJust());
552 } 552 }
553 553
554 } // namespace internal 554 } // namespace internal
555 } // namespace v8 555 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698