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

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

Issue 2000253004: X87: [stubs] Convert Internal/ArraySingleArgumentsConstructor to a TurboFan stub. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 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/x87/code-stubs-x87.cc ('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 #if V8_TARGET_ARCH_X87 5 #if V8_TARGET_ARCH_X87
6 6
7 #include "src/interface-descriptors.h" 7 #include "src/interface-descriptors.h"
8 8
9 namespace v8 { 9 namespace v8 {
10 namespace internal { 10 namespace internal {
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( 250 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific(
251 CallInterfaceDescriptorData* data) { 251 CallInterfaceDescriptorData* data) {
252 // register state 252 // register state
253 // eax -- number of arguments 253 // eax -- number of arguments
254 // edi -- function 254 // edi -- function
255 // ebx -- allocation site with elements kind 255 // ebx -- allocation site with elements kind
256 Register registers[] = {edi, ebx, eax}; 256 Register registers[] = {edi, ebx, eax};
257 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); 257 data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
258 } 258 }
259 259
260 void ArrayConstructorConstantArgCountDescriptor::InitializePlatformSpecific( 260 void ArraySingleArgumentConstructorDescriptor::InitializePlatformSpecific(
261 CallInterfaceDescriptorData* data) { 261 CallInterfaceDescriptorData* data) {
262 // register state 262 // register state
263 // eax -- number of arguments 263 // eax -- number of arguments
264 // edi -- function 264 // edi -- function
265 // ebx -- allocation site with elements kind 265 // ebx -- allocation site with elements kind
266 Register registers[] = {edi, ebx}; 266 Register registers[] = {edi, ebx, eax};
267 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); 267 data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
268 } 268 }
269 269
270
271 void ArrayConstructorDescriptor::InitializePlatformSpecific( 270 void ArrayConstructorDescriptor::InitializePlatformSpecific(
272 CallInterfaceDescriptorData* data) { 271 CallInterfaceDescriptorData* data) {
273 // stack param count needs (constructor pointer, and single argument) 272 // stack param count needs (constructor pointer, and single argument)
274 Register registers[] = {edi, ebx, eax}; 273 Register registers[] = {edi, ebx, eax};
275 data->InitializePlatformSpecific(arraysize(registers), registers); 274 data->InitializePlatformSpecific(arraysize(registers), registers);
276 } 275 }
277 276
278 277
279 void InternalArrayConstructorConstantArgCountDescriptor::
280 InitializePlatformSpecific(CallInterfaceDescriptorData* data) {
281 // register state
282 // eax -- number of arguments
283 // edi -- function
284 Register registers[] = {edi};
285 data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
286 }
287
288
289 void InternalArrayConstructorDescriptor::InitializePlatformSpecific( 278 void InternalArrayConstructorDescriptor::InitializePlatformSpecific(
290 CallInterfaceDescriptorData* data) { 279 CallInterfaceDescriptorData* data) {
291 // stack param count needs (constructor pointer, and single argument) 280 // stack param count needs (constructor pointer, and single argument)
292 Register registers[] = {edi, eax}; 281 Register registers[] = {edi, eax};
293 data->InitializePlatformSpecific(arraysize(registers), registers); 282 data->InitializePlatformSpecific(arraysize(registers), registers);
294 } 283 }
295 284
296 void FastArrayPushDescriptor::InitializePlatformSpecific( 285 void FastArrayPushDescriptor::InitializePlatformSpecific(
297 CallInterfaceDescriptorData* data) { 286 CallInterfaceDescriptorData* data) {
298 // stack param count needs (arg count) 287 // stack param count needs (arg count)
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 ebx, // the JSGeneratorObject to resume 417 ebx, // the JSGeneratorObject to resume
429 edx // the resume mode (tagged) 418 edx // the resume mode (tagged)
430 }; 419 };
431 data->InitializePlatformSpecific(arraysize(registers), registers); 420 data->InitializePlatformSpecific(arraysize(registers), registers);
432 } 421 }
433 422
434 } // namespace internal 423 } // namespace internal
435 } // namespace v8 424 } // namespace v8
436 425
437 #endif // V8_TARGET_ARCH_X87 426 #endif // V8_TARGET_ARCH_X87
OLDNEW
« no previous file with comments | « src/x87/code-stubs-x87.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698