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

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

Issue 2595343002: [stubs] Port LoadFieldStub to TF (Closed)
Patch Set: Remerge Created 3 years, 12 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/interface-descriptors.h ('k') | no next file » | 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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 data->InitializePlatformIndependent(arraysize(machine_types), 0, 83 data->InitializePlatformIndependent(arraysize(machine_types), 0,
84 machine_types); 84 machine_types);
85 } 85 }
86 86
87 void LoadDescriptor::InitializePlatformSpecific( 87 void LoadDescriptor::InitializePlatformSpecific(
88 CallInterfaceDescriptorData* data) { 88 CallInterfaceDescriptorData* data) {
89 Register registers[] = {ReceiverRegister(), NameRegister(), SlotRegister()}; 89 Register registers[] = {ReceiverRegister(), NameRegister(), SlotRegister()};
90 data->InitializePlatformSpecific(arraysize(registers), registers); 90 data->InitializePlatformSpecific(arraysize(registers), registers);
91 } 91 }
92 92
93 void LoadFieldDescriptor::InitializePlatformIndependent(
94 CallInterfaceDescriptorData* data) {
95 // kReceiver, kSmiHandler
96 MachineType machine_types[] = {MachineType::AnyTagged(),
97 MachineType::AnyTagged()};
98 data->InitializePlatformIndependent(arraysize(machine_types), 0,
99 machine_types);
100 }
101
102 void LoadFieldDescriptor::InitializePlatformSpecific(
103 CallInterfaceDescriptorData* data) {
104 Register registers[] = {ReceiverRegister(), SmiHandlerRegister()};
105 data->InitializePlatformSpecific(arraysize(registers), registers);
106 }
107
93 void LoadGlobalDescriptor::InitializePlatformIndependent( 108 void LoadGlobalDescriptor::InitializePlatformIndependent(
94 CallInterfaceDescriptorData* data) { 109 CallInterfaceDescriptorData* data) {
95 // kName, kSlot 110 // kName, kSlot
96 MachineType machine_types[] = {MachineType::AnyTagged(), 111 MachineType machine_types[] = {MachineType::AnyTagged(),
97 MachineType::TaggedSigned()}; 112 MachineType::TaggedSigned()};
98 data->InitializePlatformIndependent(arraysize(machine_types), 0, 113 data->InitializePlatformIndependent(arraysize(machine_types), 0,
99 machine_types); 114 machine_types);
100 } 115 }
101 116
102 void LoadGlobalDescriptor::InitializePlatformSpecific( 117 void LoadGlobalDescriptor::InitializePlatformSpecific(
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 Register registers[] = {exponent()}; 245 Register registers[] = {exponent()};
231 data->InitializePlatformSpecific(arraysize(registers), registers); 246 data->InitializePlatformSpecific(arraysize(registers), registers);
232 } 247 }
233 248
234 void MathPowIntegerDescriptor::InitializePlatformSpecific( 249 void MathPowIntegerDescriptor::InitializePlatformSpecific(
235 CallInterfaceDescriptorData* data) { 250 CallInterfaceDescriptorData* data) {
236 Register registers[] = {exponent()}; 251 Register registers[] = {exponent()};
237 data->InitializePlatformSpecific(arraysize(registers), registers); 252 data->InitializePlatformSpecific(arraysize(registers), registers);
238 } 253 }
239 254
255 const Register LoadFieldDescriptor::ReceiverRegister() {
256 // Reuse the register from the LoadDescriptor, since given the
257 // LoadFieldDescriptor's usage, it doesn't matter exactly which registers are
258 // used to pass parameters in.
259 return LoadDescriptor::ReceiverRegister();
260 }
261 const Register LoadFieldDescriptor::SmiHandlerRegister() {
262 // Reuse the register from the LoadDescriptor, since given the
263 // LoadFieldDescriptor's usage, it doesn't matter exactly which registers are
264 // used to pass parameters in.
265 return LoadDescriptor::NameRegister();
266 }
267
240 void LoadWithVectorDescriptor::InitializePlatformIndependent( 268 void LoadWithVectorDescriptor::InitializePlatformIndependent(
241 CallInterfaceDescriptorData* data) { 269 CallInterfaceDescriptorData* data) {
242 // kReceiver, kName, kSlot, kVector 270 // kReceiver, kName, kSlot, kVector
243 MachineType machine_types[] = { 271 MachineType machine_types[] = {
244 MachineType::AnyTagged(), MachineType::AnyTagged(), 272 MachineType::AnyTagged(), MachineType::AnyTagged(),
245 MachineType::TaggedSigned(), MachineType::AnyTagged()}; 273 MachineType::TaggedSigned(), MachineType::AnyTagged()};
246 data->InitializePlatformIndependent(arraysize(machine_types), 0, 274 data->InitializePlatformIndependent(arraysize(machine_types), 0,
247 machine_types); 275 machine_types);
248 } 276 }
249 277
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 CallInterfaceDescriptorData* data) { 579 CallInterfaceDescriptorData* data) {
552 // kNumberOfArguments, kFirstArgument, kFunctionEntry 580 // kNumberOfArguments, kFirstArgument, kFunctionEntry
553 MachineType machine_types[] = {MachineType::Int32(), MachineType::Pointer(), 581 MachineType machine_types[] = {MachineType::Int32(), MachineType::Pointer(),
554 MachineType::Pointer()}; 582 MachineType::Pointer()};
555 data->InitializePlatformIndependent(arraysize(machine_types), 0, 583 data->InitializePlatformIndependent(arraysize(machine_types), 0,
556 machine_types); 584 machine_types);
557 } 585 }
558 586
559 } // namespace internal 587 } // namespace internal
560 } // namespace v8 588 } // namespace v8
OLDNEW
« no previous file with comments | « src/interface-descriptors.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698