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

Side by Side Diff: src/compiler/access-builder.cc

Issue 1513543003: [turbofan] Make MachineType a pair of enums. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Moar rebase Created 5 years 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 | « no previous file | src/compiler/arm/instruction-selector-arm.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/compiler/access-builder.h" 5 #include "src/compiler/access-builder.h"
6 6
7 #include "src/contexts.h" 7 #include "src/contexts.h"
8 #include "src/frames.h" 8 #include "src/frames.h"
9 #include "src/heap/heap.h" 9 #include "src/heap/heap.h"
10 #include "src/type-cache.h" 10 #include "src/type-cache.h"
11 #include "src/types-inl.h" 11 #include "src/types-inl.h"
12 12
13 namespace v8 { 13 namespace v8 {
14 namespace internal { 14 namespace internal {
15 namespace compiler { 15 namespace compiler {
16 16
17 // static 17 // static
18 FieldAccess AccessBuilder::ForMap() { 18 FieldAccess AccessBuilder::ForMap() {
19 FieldAccess access = {kTaggedBase, HeapObject::kMapOffset, 19 FieldAccess access = {kTaggedBase, HeapObject::kMapOffset,
20 MaybeHandle<Name>(), Type::Any(), kMachAnyTagged}; 20 MaybeHandle<Name>(), Type::Any(),
21 MachineType::AnyTagged()};
21 return access; 22 return access;
22 } 23 }
23 24
24 25
25 // static 26 // static
26 FieldAccess AccessBuilder::ForHeapNumberValue() { 27 FieldAccess AccessBuilder::ForHeapNumberValue() {
27 FieldAccess access = {kTaggedBase, HeapNumber::kValueOffset, 28 FieldAccess access = {kTaggedBase, HeapNumber::kValueOffset,
28 MaybeHandle<Name>(), TypeCache().Get().kFloat64, 29 MaybeHandle<Name>(), TypeCache().Get().kFloat64,
29 kMachFloat64}; 30 MachineType::Float64()};
30 return access; 31 return access;
31 } 32 }
32 33
33 34
34 // static 35 // static
35 FieldAccess AccessBuilder::ForJSObjectProperties() { 36 FieldAccess AccessBuilder::ForJSObjectProperties() {
36 FieldAccess access = {kTaggedBase, JSObject::kPropertiesOffset, 37 FieldAccess access = {kTaggedBase, JSObject::kPropertiesOffset,
37 MaybeHandle<Name>(), Type::Internal(), kMachAnyTagged}; 38 MaybeHandle<Name>(), Type::Internal(),
39 MachineType::AnyTagged()};
38 return access; 40 return access;
39 } 41 }
40 42
41 43
42 // static 44 // static
43 FieldAccess AccessBuilder::ForJSObjectElements() { 45 FieldAccess AccessBuilder::ForJSObjectElements() {
44 FieldAccess access = {kTaggedBase, JSObject::kElementsOffset, 46 FieldAccess access = {kTaggedBase, JSObject::kElementsOffset,
45 MaybeHandle<Name>(), Type::Internal(), kMachAnyTagged}; 47 MaybeHandle<Name>(), Type::Internal(),
48 MachineType::AnyTagged()};
46 return access; 49 return access;
47 } 50 }
48 51
49 52
50 // static 53 // static
51 FieldAccess AccessBuilder::ForJSObjectInObjectProperty(Handle<Map> map, 54 FieldAccess AccessBuilder::ForJSObjectInObjectProperty(Handle<Map> map,
52 int index) { 55 int index) {
53 int const offset = map->GetInObjectPropertyOffset(index); 56 int const offset = map->GetInObjectPropertyOffset(index);
54 FieldAccess access = {kTaggedBase, offset, MaybeHandle<Name>(), 57 FieldAccess access = {kTaggedBase, offset, MaybeHandle<Name>(),
55 Type::Tagged(), kMachAnyTagged}; 58 Type::Tagged(), MachineType::AnyTagged()};
56 return access; 59 return access;
57 } 60 }
58 61
59 62
60 // static 63 // static
61 FieldAccess AccessBuilder::ForJSFunctionContext() { 64 FieldAccess AccessBuilder::ForJSFunctionContext() {
62 FieldAccess access = {kTaggedBase, JSFunction::kContextOffset, 65 FieldAccess access = {kTaggedBase, JSFunction::kContextOffset,
63 MaybeHandle<Name>(), Type::Internal(), kMachAnyTagged}; 66 MaybeHandle<Name>(), Type::Internal(),
67 MachineType::AnyTagged()};
64 return access; 68 return access;
65 } 69 }
66 70
67 71
68 // static 72 // static
69 FieldAccess AccessBuilder::ForJSFunctionSharedFunctionInfo() { 73 FieldAccess AccessBuilder::ForJSFunctionSharedFunctionInfo() {
70 FieldAccess access = {kTaggedBase, JSFunction::kSharedFunctionInfoOffset, 74 FieldAccess access = {kTaggedBase, JSFunction::kSharedFunctionInfoOffset,
71 Handle<Name>(), Type::Any(), kMachAnyTagged}; 75 Handle<Name>(), Type::Any(), MachineType::AnyTagged()};
72 return access; 76 return access;
73 } 77 }
74 78
75 79
76 // static 80 // static
77 FieldAccess AccessBuilder::ForJSArrayLength(ElementsKind elements_kind) { 81 FieldAccess AccessBuilder::ForJSArrayLength(ElementsKind elements_kind) {
78 TypeCache const& type_cache = TypeCache::Get(); 82 TypeCache const& type_cache = TypeCache::Get();
79 FieldAccess access = {kTaggedBase, JSArray::kLengthOffset, Handle<Name>(), 83 FieldAccess access = {kTaggedBase, JSArray::kLengthOffset, Handle<Name>(),
80 type_cache.kJSArrayLengthType, kMachAnyTagged}; 84 type_cache.kJSArrayLengthType,
85 MachineType::AnyTagged()};
81 if (IsFastDoubleElementsKind(elements_kind)) { 86 if (IsFastDoubleElementsKind(elements_kind)) {
82 access.type = type_cache.kFixedDoubleArrayLengthType; 87 access.type = type_cache.kFixedDoubleArrayLengthType;
83 } else if (IsFastElementsKind(elements_kind)) { 88 } else if (IsFastElementsKind(elements_kind)) {
84 access.type = type_cache.kFixedArrayLengthType; 89 access.type = type_cache.kFixedArrayLengthType;
85 } 90 }
86 return access; 91 return access;
87 } 92 }
88 93
89 94
90 // static 95 // static
91 FieldAccess AccessBuilder::ForJSArrayBufferBackingStore() { 96 FieldAccess AccessBuilder::ForJSArrayBufferBackingStore() {
92 FieldAccess access = {kTaggedBase, JSArrayBuffer::kBackingStoreOffset, 97 FieldAccess access = {kTaggedBase, JSArrayBuffer::kBackingStoreOffset,
93 MaybeHandle<Name>(), Type::UntaggedPointer(), kMachPtr}; 98 MaybeHandle<Name>(), Type::UntaggedPointer(),
99 MachineType::Pointer()};
94 return access; 100 return access;
95 } 101 }
96 102
97 103
98 // static 104 // static
99 FieldAccess AccessBuilder::ForJSArrayBufferBitField() { 105 FieldAccess AccessBuilder::ForJSArrayBufferBitField() {
100 FieldAccess access = {kTaggedBase, JSArrayBuffer::kBitFieldOffset, 106 FieldAccess access = {kTaggedBase, JSArrayBuffer::kBitFieldOffset,
101 MaybeHandle<Name>(), TypeCache::Get().kInt8, kMachInt8}; 107 MaybeHandle<Name>(), TypeCache::Get().kInt8,
108 MachineType::Int8()};
102 return access; 109 return access;
103 } 110 }
104 111
105 112
106 // static 113 // static
107 FieldAccess AccessBuilder::ForJSArrayBufferViewBuffer() { 114 FieldAccess AccessBuilder::ForJSArrayBufferViewBuffer() {
108 FieldAccess access = {kTaggedBase, JSArrayBufferView::kBufferOffset, 115 FieldAccess access = {kTaggedBase, JSArrayBufferView::kBufferOffset,
109 MaybeHandle<Name>(), Type::TaggedPointer(), 116 MaybeHandle<Name>(), Type::TaggedPointer(),
110 kMachAnyTagged}; 117 MachineType::AnyTagged()};
111 return access; 118 return access;
112 } 119 }
113 120
114 121
115 // static 122 // static
116 FieldAccess AccessBuilder::ForJSDateField(JSDate::FieldIndex index) { 123 FieldAccess AccessBuilder::ForJSDateField(JSDate::FieldIndex index) {
117 FieldAccess access = {kTaggedBase, 124 FieldAccess access = {
118 JSDate::kValueOffset + index * kPointerSize, 125 kTaggedBase, JSDate::kValueOffset + index * kPointerSize,
119 MaybeHandle<Name>(), Type::Number(), kMachAnyTagged}; 126 MaybeHandle<Name>(), Type::Number(), MachineType::AnyTagged()};
120 return access; 127 return access;
121 } 128 }
122 129
123 130
124 // static 131 // static
125 FieldAccess AccessBuilder::ForFixedArrayLength() { 132 FieldAccess AccessBuilder::ForFixedArrayLength() {
126 FieldAccess access = {kTaggedBase, FixedArray::kLengthOffset, 133 FieldAccess access = {
127 MaybeHandle<Name>(), 134 kTaggedBase, FixedArray::kLengthOffset, MaybeHandle<Name>(),
128 TypeCache::Get().kFixedArrayLengthType, kMachAnyTagged}; 135 TypeCache::Get().kFixedArrayLengthType, MachineType::AnyTagged()};
129 return access; 136 return access;
130 } 137 }
131 138
132 139
133 // static 140 // static
134 FieldAccess AccessBuilder::ForDescriptorArrayEnumCache() { 141 FieldAccess AccessBuilder::ForDescriptorArrayEnumCache() {
135 FieldAccess access = {kTaggedBase, DescriptorArray::kEnumCacheOffset, 142 FieldAccess access = {kTaggedBase, DescriptorArray::kEnumCacheOffset,
136 Handle<Name>(), Type::TaggedPointer(), kMachAnyTagged}; 143 Handle<Name>(), Type::TaggedPointer(),
144 MachineType::AnyTagged()};
137 return access; 145 return access;
138 } 146 }
139 147
140 148
141 // static 149 // static
142 FieldAccess AccessBuilder::ForDescriptorArrayEnumCacheBridgeCache() { 150 FieldAccess AccessBuilder::ForDescriptorArrayEnumCacheBridgeCache() {
143 FieldAccess access = {kTaggedBase, 151 FieldAccess access = {
144 DescriptorArray::kEnumCacheBridgeCacheOffset, 152 kTaggedBase, DescriptorArray::kEnumCacheBridgeCacheOffset, Handle<Name>(),
145 Handle<Name>(), Type::TaggedPointer(), kMachAnyTagged}; 153 Type::TaggedPointer(), MachineType::AnyTagged()};
146 return access; 154 return access;
147 } 155 }
148 156
149 157
150 // static 158 // static
151 FieldAccess AccessBuilder::ForMapBitField3() { 159 FieldAccess AccessBuilder::ForMapBitField3() {
152 FieldAccess access = {kTaggedBase, Map::kBitField3Offset, Handle<Name>(), 160 FieldAccess access = {kTaggedBase, Map::kBitField3Offset, Handle<Name>(),
153 TypeCache::Get().kInt32, kMachInt32}; 161 TypeCache::Get().kInt32, MachineType::Int32()};
154 return access; 162 return access;
155 } 163 }
156 164
157 165
158 // static 166 // static
159 FieldAccess AccessBuilder::ForMapDescriptors() { 167 FieldAccess AccessBuilder::ForMapDescriptors() {
160 FieldAccess access = {kTaggedBase, Map::kDescriptorsOffset, Handle<Name>(), 168 FieldAccess access = {kTaggedBase, Map::kDescriptorsOffset, Handle<Name>(),
161 Type::TaggedPointer(), kMachAnyTagged}; 169 Type::TaggedPointer(), MachineType::AnyTagged()};
162 return access; 170 return access;
163 } 171 }
164 172
165 173
166 // static 174 // static
167 FieldAccess AccessBuilder::ForMapInstanceType() { 175 FieldAccess AccessBuilder::ForMapInstanceType() {
168 FieldAccess access = {kTaggedBase, Map::kInstanceTypeOffset, Handle<Name>(), 176 FieldAccess access = {kTaggedBase, Map::kInstanceTypeOffset, Handle<Name>(),
169 TypeCache::Get().kUint8, kMachUint8}; 177 TypeCache::Get().kUint8, MachineType::Uint8()};
170 return access; 178 return access;
171 } 179 }
172 180
173 181
174 // static 182 // static
175 FieldAccess AccessBuilder::ForMapPrototype() { 183 FieldAccess AccessBuilder::ForMapPrototype() {
176 FieldAccess access = {kTaggedBase, Map::kPrototypeOffset, Handle<Name>(), 184 FieldAccess access = {kTaggedBase, Map::kPrototypeOffset, Handle<Name>(),
177 Type::TaggedPointer(), kMachAnyTagged}; 185 Type::TaggedPointer(), MachineType::AnyTagged()};
178 return access; 186 return access;
179 } 187 }
180 188
181 189
182 // static 190 // static
183 FieldAccess AccessBuilder::ForStringLength() { 191 FieldAccess AccessBuilder::ForStringLength() {
184 FieldAccess access = {kTaggedBase, String::kLengthOffset, Handle<Name>(), 192 FieldAccess access = {kTaggedBase, String::kLengthOffset, Handle<Name>(),
185 TypeCache::Get().kStringLengthType, kMachAnyTagged}; 193 TypeCache::Get().kStringLengthType,
194 MachineType::AnyTagged()};
186 return access; 195 return access;
187 } 196 }
188 197
189 198
190 // static 199 // static
191 FieldAccess AccessBuilder::ForJSGlobalObjectGlobalProxy() { 200 FieldAccess AccessBuilder::ForJSGlobalObjectGlobalProxy() {
192 FieldAccess access = {kTaggedBase, JSGlobalObject::kGlobalProxyOffset, 201 FieldAccess access = {kTaggedBase, JSGlobalObject::kGlobalProxyOffset,
193 Handle<Name>(), Type::Receiver(), kMachAnyTagged}; 202 Handle<Name>(), Type::Receiver(),
203 MachineType::AnyTagged()};
194 return access; 204 return access;
195 } 205 }
196 206
197 207
198 // static 208 // static
199 FieldAccess AccessBuilder::ForJSGlobalObjectNativeContext() { 209 FieldAccess AccessBuilder::ForJSGlobalObjectNativeContext() {
200 FieldAccess access = {kTaggedBase, JSGlobalObject::kNativeContextOffset, 210 FieldAccess access = {kTaggedBase, JSGlobalObject::kNativeContextOffset,
201 Handle<Name>(), Type::Internal(), kMachAnyTagged}; 211 Handle<Name>(), Type::Internal(),
212 MachineType::AnyTagged()};
202 return access; 213 return access;
203 } 214 }
204 215
205 216
206 // static 217 // static
207 FieldAccess AccessBuilder::ForValue() { 218 FieldAccess AccessBuilder::ForValue() {
208 FieldAccess access = {kTaggedBase, JSValue::kValueOffset, Handle<Name>(), 219 FieldAccess access = {kTaggedBase, JSValue::kValueOffset, Handle<Name>(),
209 Type::Any(), kMachAnyTagged}; 220 Type::Any(), MachineType::AnyTagged()};
210 return access; 221 return access;
211 } 222 }
212 223
213 224
214 // static 225 // static
215 FieldAccess AccessBuilder::ForArgumentsLength() { 226 FieldAccess AccessBuilder::ForArgumentsLength() {
216 int offset = 227 int offset =
217 JSObject::kHeaderSize + Heap::kArgumentsLengthIndex * kPointerSize; 228 JSObject::kHeaderSize + Heap::kArgumentsLengthIndex * kPointerSize;
218 FieldAccess access = {kTaggedBase, offset, Handle<Name>(), Type::Any(), 229 FieldAccess access = {kTaggedBase, offset, Handle<Name>(), Type::Any(),
219 kMachAnyTagged}; 230 MachineType::AnyTagged()};
220 return access; 231 return access;
221 } 232 }
222 233
223 234
224 // static 235 // static
225 FieldAccess AccessBuilder::ForArgumentsCallee() { 236 FieldAccess AccessBuilder::ForArgumentsCallee() {
226 int offset = 237 int offset =
227 JSObject::kHeaderSize + Heap::kArgumentsCalleeIndex * kPointerSize; 238 JSObject::kHeaderSize + Heap::kArgumentsCalleeIndex * kPointerSize;
228 FieldAccess access = {kTaggedBase, offset, Handle<Name>(), Type::Any(), 239 FieldAccess access = {kTaggedBase, offset, Handle<Name>(), Type::Any(),
229 kMachAnyTagged}; 240 MachineType::AnyTagged()};
230 return access; 241 return access;
231 } 242 }
232 243
233 244
234 // static 245 // static
235 FieldAccess AccessBuilder::ForFixedArraySlot(size_t index) { 246 FieldAccess AccessBuilder::ForFixedArraySlot(size_t index) {
236 int offset = FixedArray::OffsetOfElementAt(static_cast<int>(index)); 247 int offset = FixedArray::OffsetOfElementAt(static_cast<int>(index));
237 FieldAccess access = {kTaggedBase, offset, Handle<Name>(), Type::Any(), 248 FieldAccess access = {kTaggedBase, offset, Handle<Name>(), Type::Any(),
238 kMachAnyTagged}; 249 MachineType::AnyTagged()};
239 return access; 250 return access;
240 } 251 }
241 252
242 253
243 // static 254 // static
244 FieldAccess AccessBuilder::ForContextSlot(size_t index) { 255 FieldAccess AccessBuilder::ForContextSlot(size_t index) {
245 int offset = Context::kHeaderSize + static_cast<int>(index) * kPointerSize; 256 int offset = Context::kHeaderSize + static_cast<int>(index) * kPointerSize;
246 DCHECK_EQ(offset, 257 DCHECK_EQ(offset,
247 Context::SlotOffset(static_cast<int>(index)) + kHeapObjectTag); 258 Context::SlotOffset(static_cast<int>(index)) + kHeapObjectTag);
248 FieldAccess access = {kTaggedBase, offset, Handle<Name>(), Type::Any(), 259 FieldAccess access = {kTaggedBase, offset, Handle<Name>(), Type::Any(),
249 kMachAnyTagged}; 260 MachineType::AnyTagged()};
250 return access; 261 return access;
251 } 262 }
252 263
253 264
254 // static 265 // static
255 FieldAccess AccessBuilder::ForPropertyCellValue() { 266 FieldAccess AccessBuilder::ForPropertyCellValue() {
256 return ForPropertyCellValue(Type::Tagged()); 267 return ForPropertyCellValue(Type::Tagged());
257 } 268 }
258 269
259 270
260 // static 271 // static
261 FieldAccess AccessBuilder::ForPropertyCellValue(Type* type) { 272 FieldAccess AccessBuilder::ForPropertyCellValue(Type* type) {
262 FieldAccess access = {kTaggedBase, PropertyCell::kValueOffset, Handle<Name>(), 273 FieldAccess access = {kTaggedBase, PropertyCell::kValueOffset, Handle<Name>(),
263 type, kMachAnyTagged}; 274 type, MachineType::AnyTagged()};
264 return access; 275 return access;
265 } 276 }
266 277
267 278
268 // static 279 // static
269 FieldAccess AccessBuilder::ForSharedFunctionInfoTypeFeedbackVector() { 280 FieldAccess AccessBuilder::ForSharedFunctionInfoTypeFeedbackVector() {
270 FieldAccess access = {kTaggedBase, SharedFunctionInfo::kFeedbackVectorOffset, 281 FieldAccess access = {kTaggedBase, SharedFunctionInfo::kFeedbackVectorOffset,
271 Handle<Name>(), Type::Any(), kMachAnyTagged}; 282 Handle<Name>(), Type::Any(), MachineType::AnyTagged()};
272 return access; 283 return access;
273 } 284 }
274 285
275 286
276 // static 287 // static
277 ElementAccess AccessBuilder::ForFixedArrayElement() { 288 ElementAccess AccessBuilder::ForFixedArrayElement() {
278 ElementAccess access = {kTaggedBase, FixedArray::kHeaderSize, Type::Tagged(), 289 ElementAccess access = {kTaggedBase, FixedArray::kHeaderSize, Type::Tagged(),
279 kMachAnyTagged}; 290 MachineType::AnyTagged()};
280 return access; 291 return access;
281 } 292 }
282 293
283 294
284 // static 295 // static
285 ElementAccess AccessBuilder::ForFixedDoubleArrayElement() { 296 ElementAccess AccessBuilder::ForFixedDoubleArrayElement() {
286 ElementAccess access = {kTaggedBase, FixedDoubleArray::kHeaderSize, 297 ElementAccess access = {kTaggedBase, FixedDoubleArray::kHeaderSize,
287 TypeCache::Get().kFloat64, kMachFloat64}; 298 TypeCache::Get().kFloat64, MachineType::Float64()};
288 return access; 299 return access;
289 } 300 }
290 301
291 302
292 // static 303 // static
293 ElementAccess AccessBuilder::ForTypedArrayElement(ExternalArrayType type, 304 ElementAccess AccessBuilder::ForTypedArrayElement(ExternalArrayType type,
294 bool is_external) { 305 bool is_external) {
295 BaseTaggedness taggedness = is_external ? kUntaggedBase : kTaggedBase; 306 BaseTaggedness taggedness = is_external ? kUntaggedBase : kTaggedBase;
296 int header_size = is_external ? 0 : FixedTypedArrayBase::kDataOffset; 307 int header_size = is_external ? 0 : FixedTypedArrayBase::kDataOffset;
297 switch (type) { 308 switch (type) {
298 case kExternalInt8Array: { 309 case kExternalInt8Array: {
299 ElementAccess access = {taggedness, header_size, Type::Signed32(), 310 ElementAccess access = {taggedness, header_size, Type::Signed32(),
300 kMachInt8}; 311 MachineType::Int8()};
301 return access; 312 return access;
302 } 313 }
303 case kExternalUint8Array: 314 case kExternalUint8Array:
304 case kExternalUint8ClampedArray: { 315 case kExternalUint8ClampedArray: {
305 ElementAccess access = {taggedness, header_size, Type::Unsigned32(), 316 ElementAccess access = {taggedness, header_size, Type::Unsigned32(),
306 kMachUint8}; 317 MachineType::Uint8()};
307 return access; 318 return access;
308 } 319 }
309 case kExternalInt16Array: { 320 case kExternalInt16Array: {
310 ElementAccess access = {taggedness, header_size, Type::Signed32(), 321 ElementAccess access = {taggedness, header_size, Type::Signed32(),
311 kMachInt16}; 322 MachineType::Int16()};
312 return access; 323 return access;
313 } 324 }
314 case kExternalUint16Array: { 325 case kExternalUint16Array: {
315 ElementAccess access = {taggedness, header_size, Type::Unsigned32(), 326 ElementAccess access = {taggedness, header_size, Type::Unsigned32(),
316 kMachUint16}; 327 MachineType::Uint16()};
317 return access; 328 return access;
318 } 329 }
319 case kExternalInt32Array: { 330 case kExternalInt32Array: {
320 ElementAccess access = {taggedness, header_size, Type::Signed32(), 331 ElementAccess access = {taggedness, header_size, Type::Signed32(),
321 kMachInt32}; 332 MachineType::Int32()};
322 return access; 333 return access;
323 } 334 }
324 case kExternalUint32Array: { 335 case kExternalUint32Array: {
325 ElementAccess access = {taggedness, header_size, Type::Unsigned32(), 336 ElementAccess access = {taggedness, header_size, Type::Unsigned32(),
326 kMachUint32}; 337 MachineType::Uint32()};
327 return access; 338 return access;
328 } 339 }
329 case kExternalFloat32Array: { 340 case kExternalFloat32Array: {
330 ElementAccess access = {taggedness, header_size, Type::Number(), 341 ElementAccess access = {taggedness, header_size, Type::Number(),
331 kMachFloat32}; 342 MachineType::Float32()};
332 return access; 343 return access;
333 } 344 }
334 case kExternalFloat64Array: { 345 case kExternalFloat64Array: {
335 ElementAccess access = {taggedness, header_size, Type::Number(), 346 ElementAccess access = {taggedness, header_size, Type::Number(),
336 kMachFloat64}; 347 MachineType::Float64()};
337 return access; 348 return access;
338 } 349 }
339 } 350 }
340 UNREACHABLE(); 351 UNREACHABLE();
341 ElementAccess access = {kUntaggedBase, 0, Type::None(), kMachNone}; 352 ElementAccess access = {kUntaggedBase, 0, Type::None(), MachineType::None()};
342 return access; 353 return access;
343 } 354 }
344 355
345 356
346 // static 357 // static
347 FieldAccess AccessBuilder::ForStatsCounter() { 358 FieldAccess AccessBuilder::ForStatsCounter() {
348 FieldAccess access = {kUntaggedBase, 0, MaybeHandle<Name>(), 359 FieldAccess access = {kUntaggedBase, 0, MaybeHandle<Name>(),
349 TypeCache::Get().kInt32, kMachInt32}; 360 TypeCache::Get().kInt32, MachineType::Int32()};
350 return access; 361 return access;
351 } 362 }
352 363
353 364
354 // static 365 // static
355 FieldAccess AccessBuilder::ForFrameCallerFramePtr() { 366 FieldAccess AccessBuilder::ForFrameCallerFramePtr() {
356 FieldAccess access = {kUntaggedBase, StandardFrameConstants::kCallerFPOffset, 367 FieldAccess access = {kUntaggedBase, StandardFrameConstants::kCallerFPOffset,
357 MaybeHandle<Name>(), Type::Internal(), kMachPtr}; 368 MaybeHandle<Name>(), Type::Internal(),
369 MachineType::Pointer()};
358 return access; 370 return access;
359 } 371 }
360 372
361 373
362 // static 374 // static
363 FieldAccess AccessBuilder::ForFrameMarker() { 375 FieldAccess AccessBuilder::ForFrameMarker() {
364 FieldAccess access = {kUntaggedBase, StandardFrameConstants::kMarkerOffset, 376 FieldAccess access = {kUntaggedBase, StandardFrameConstants::kMarkerOffset,
365 MaybeHandle<Name>(), Type::Tagged(), kMachAnyTagged}; 377 MaybeHandle<Name>(), Type::Tagged(),
378 MachineType::AnyTagged()};
366 return access; 379 return access;
367 } 380 }
368 381
369 } // namespace compiler 382 } // namespace compiler
370 } // namespace internal 383 } // namespace internal
371 } // namespace v8 384 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/arm/instruction-selector-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698