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

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

Issue 2397573004: [stubs] Reduce number of StoreTransitionStub instances. (Closed)
Patch Set: Cleanup Created 4 years, 2 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 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 CallInterfaceDescriptorData* data) { 153 CallInterfaceDescriptorData* data) {
154 // kReceiver, kName, kMap, kValue, kSlot, kVector 154 // kReceiver, kName, kMap, kValue, kSlot, kVector
155 MachineType machine_types[] = { 155 MachineType machine_types[] = {
156 MachineType::AnyTagged(), MachineType::AnyTagged(), 156 MachineType::AnyTagged(), MachineType::AnyTagged(),
157 MachineType::AnyTagged(), MachineType::AnyTagged(), 157 MachineType::AnyTagged(), MachineType::AnyTagged(),
158 MachineType::TaggedSigned(), MachineType::AnyTagged()}; 158 MachineType::TaggedSigned(), MachineType::AnyTagged()};
159 data->InitializePlatformIndependent(arraysize(machine_types), 0, 159 data->InitializePlatformIndependent(arraysize(machine_types), 0,
160 machine_types); 160 machine_types);
161 } 161 }
162 162
163 void StoreNamedTransitionDescriptor::InitializePlatformIndependent(
164 CallInterfaceDescriptorData* data) {
165 // kReceiver, kFieldOffset, kMap, kValue, kSlot, kVector, kName
166 MachineType machine_types[] = {
167 MachineType::AnyTagged(), MachineType::TaggedSigned(),
168 MachineType::AnyTagged(), MachineType::AnyTagged(),
169 MachineType::TaggedSigned(), MachineType::AnyTagged(),
170 MachineType::AnyTagged()};
171 data->InitializePlatformIndependent(arraysize(machine_types), 0,
172 machine_types);
173 }
174
175 void StoreNamedTransitionDescriptor::InitializePlatformSpecific(
176 CallInterfaceDescriptorData* data) {
177 Register registers[] = {
178 ReceiverRegister(), FieldOffsetRegister(), MapRegister(),
179 ValueRegister(), SlotRegister(), VectorRegister(),
180 NameRegister(),
181 };
182 int len = arraysize(registers) - kStackArgumentsCount;
183 data->InitializePlatformSpecific(len, registers);
184 }
185
163 void StoreGlobalViaContextDescriptor::InitializePlatformIndependent( 186 void StoreGlobalViaContextDescriptor::InitializePlatformIndependent(
164 CallInterfaceDescriptorData* data) { 187 CallInterfaceDescriptorData* data) {
165 // kSlot, kValue 188 // kSlot, kValue
166 MachineType machine_types[] = {MachineType::Int32(), 189 MachineType machine_types[] = {MachineType::Int32(),
167 MachineType::AnyTagged()}; 190 MachineType::AnyTagged()};
168 data->InitializePlatformIndependent(arraysize(machine_types), 0, 191 data->InitializePlatformIndependent(arraysize(machine_types), 0,
169 machine_types); 192 machine_types);
170 } 193 }
171 194
172 void StoreGlobalViaContextDescriptor::InitializePlatformSpecific( 195 void StoreGlobalViaContextDescriptor::InitializePlatformSpecific(
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 CallInterfaceDescriptorData* data) { 481 CallInterfaceDescriptorData* data) {
459 // kNumberOfArguments, kFirstArgument, kFunctionEntry 482 // kNumberOfArguments, kFirstArgument, kFunctionEntry
460 MachineType machine_types[] = {MachineType::Int32(), MachineType::Pointer(), 483 MachineType machine_types[] = {MachineType::Int32(), MachineType::Pointer(),
461 MachineType::Pointer()}; 484 MachineType::Pointer()};
462 data->InitializePlatformIndependent(arraysize(machine_types), 0, 485 data->InitializePlatformIndependent(arraysize(machine_types), 0,
463 machine_types); 486 machine_types);
464 } 487 }
465 488
466 } // namespace internal 489 } // namespace internal
467 } // namespace v8 490 } // 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