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

Side by Side Diff: src/interface-descriptors.cc

Issue 2496333002: [ic] Extract load IC proto array handlers handling to a separate stub. (Closed)
Patch Set: Created 4 years, 1 month 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/interface-descriptors.h ('k') | src/mips/interface-descriptors-mips.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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/interface-descriptors.h" 5 #include "src/interface-descriptors.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 9
10 10
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 void LoadWithVectorDescriptor::InitializePlatformIndependent( 210 void LoadWithVectorDescriptor::InitializePlatformIndependent(
211 CallInterfaceDescriptorData* data) { 211 CallInterfaceDescriptorData* data) {
212 // kReceiver, kName, kSlot, kVector 212 // kReceiver, kName, kSlot, kVector
213 MachineType machine_types[] = { 213 MachineType machine_types[] = {
214 MachineType::AnyTagged(), MachineType::AnyTagged(), 214 MachineType::AnyTagged(), MachineType::AnyTagged(),
215 MachineType::TaggedSigned(), MachineType::AnyTagged()}; 215 MachineType::TaggedSigned(), MachineType::AnyTagged()};
216 data->InitializePlatformIndependent(arraysize(machine_types), 0, 216 data->InitializePlatformIndependent(arraysize(machine_types), 0,
217 machine_types); 217 machine_types);
218 } 218 }
219 219
220
221 void LoadWithVectorDescriptor::InitializePlatformSpecific( 220 void LoadWithVectorDescriptor::InitializePlatformSpecific(
222 CallInterfaceDescriptorData* data) { 221 CallInterfaceDescriptorData* data) {
223 Register registers[] = {ReceiverRegister(), NameRegister(), SlotRegister(), 222 Register registers[] = {ReceiverRegister(), NameRegister(), SlotRegister(),
224 VectorRegister()}; 223 VectorRegister()};
225 data->InitializePlatformSpecific(arraysize(registers), registers); 224 data->InitializePlatformSpecific(arraysize(registers), registers);
226 } 225 }
227 226
227 void LoadICProtoArrayDescriptor::InitializePlatformIndependent(
228 CallInterfaceDescriptorData* data) {
229 // kReceiver, kName, kSlot, kVector, kHandler
230 MachineType machine_types[] = {
231 MachineType::AnyTagged(), MachineType::AnyTagged(),
232 MachineType::TaggedSigned(), MachineType::AnyTagged(),
233 MachineType::AnyTagged()};
234 data->InitializePlatformIndependent(arraysize(machine_types), 0,
235 machine_types);
236 }
237
238 void LoadICProtoArrayDescriptor::InitializePlatformSpecific(
239 CallInterfaceDescriptorData* data) {
240 Register registers[] = {ReceiverRegister(), NameRegister(), SlotRegister(),
241 VectorRegister(), HandlerRegister()};
242 data->InitializePlatformSpecific(arraysize(registers), registers);
243 }
244
228 void StoreWithVectorDescriptor::InitializePlatformIndependent( 245 void StoreWithVectorDescriptor::InitializePlatformIndependent(
229 CallInterfaceDescriptorData* data) { 246 CallInterfaceDescriptorData* data) {
230 // kReceiver, kName, kValue, kSlot, kVector 247 // kReceiver, kName, kValue, kSlot, kVector
231 MachineType machine_types[] = { 248 MachineType machine_types[] = {
232 MachineType::AnyTagged(), MachineType::AnyTagged(), 249 MachineType::AnyTagged(), MachineType::AnyTagged(),
233 MachineType::AnyTagged(), MachineType::TaggedSigned(), 250 MachineType::AnyTagged(), MachineType::TaggedSigned(),
234 MachineType::AnyTagged()}; 251 MachineType::AnyTagged()};
235 data->InitializePlatformIndependent(arraysize(machine_types), 0, 252 data->InitializePlatformIndependent(arraysize(machine_types), 0,
236 machine_types); 253 machine_types);
237 } 254 }
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 CallInterfaceDescriptorData* data) { 503 CallInterfaceDescriptorData* data) {
487 // kNumberOfArguments, kFirstArgument, kFunctionEntry 504 // kNumberOfArguments, kFirstArgument, kFunctionEntry
488 MachineType machine_types[] = {MachineType::Int32(), MachineType::Pointer(), 505 MachineType machine_types[] = {MachineType::Int32(), MachineType::Pointer(),
489 MachineType::Pointer()}; 506 MachineType::Pointer()};
490 data->InitializePlatformIndependent(arraysize(machine_types), 0, 507 data->InitializePlatformIndependent(arraysize(machine_types), 0,
491 machine_types); 508 machine_types);
492 } 509 }
493 510
494 } // namespace internal 511 } // namespace internal
495 } // namespace v8 512 } // namespace v8
OLDNEW
« no previous file with comments | « src/interface-descriptors.h ('k') | src/mips/interface-descriptors-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698