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

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

Issue 1748123003: Rework CallApi*Stubs. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Minor fixes and make Win compiler happy. Created 4 years, 9 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
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_IA32 5 #if V8_TARGET_ARCH_IA32
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 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 CallInterfaceDescriptorData* data) { 383 CallInterfaceDescriptorData* data) {
384 Register registers[] = { 384 Register registers[] = {
385 edi, // JSFunction 385 edi, // JSFunction
386 edx, // the new target 386 edx, // the new target
387 eax, // actual number of arguments 387 eax, // actual number of arguments
388 ebx, // expected number of arguments 388 ebx, // expected number of arguments
389 }; 389 };
390 data->InitializePlatformSpecific(arraysize(registers), registers); 390 data->InitializePlatformSpecific(arraysize(registers), registers);
391 } 391 }
392 392
393 393 void ApiCallbackDescriptorBase::InitializePlatformSpecific(
394 void ApiFunctionDescriptor::InitializePlatformSpecific(
395 CallInterfaceDescriptorData* data) { 394 CallInterfaceDescriptorData* data) {
396 Register registers[] = { 395 Register registers[] = {
397 edi, // callee 396 edi, // callee
398 ebx, // call_data
399 ecx, // holder
400 edx, // api_function_address
401 eax, // actual number of arguments
402 };
403 data->InitializePlatformSpecific(arraysize(registers), registers);
404 }
405
406
407 void ApiAccessorDescriptor::InitializePlatformSpecific(
408 CallInterfaceDescriptorData* data) {
409 Register registers[] = {
410 edi, // callee
411 ebx, // call_data 397 ebx, // call_data
412 ecx, // holder 398 ecx, // holder
413 edx, // api_function_address 399 edx, // api_function_address
414 }; 400 };
415 data->InitializePlatformSpecific(arraysize(registers), registers); 401 data->InitializePlatformSpecific(arraysize(registers), registers);
416 } 402 }
417 403
418 void InterpreterDispatchDescriptor::InitializePlatformSpecific( 404 void InterpreterDispatchDescriptor::InitializePlatformSpecific(
419 CallInterfaceDescriptorData* data) { 405 CallInterfaceDescriptorData* data) {
420 Register registers[] = { 406 Register registers[] = {
(...skipping 30 matching lines...) Expand all
451 ecx, // address of first argument (argv) 437 ecx, // address of first argument (argv)
452 ebx // the runtime function to call 438 ebx // the runtime function to call
453 }; 439 };
454 data->InitializePlatformSpecific(arraysize(registers), registers); 440 data->InitializePlatformSpecific(arraysize(registers), registers);
455 } 441 }
456 442
457 } // namespace internal 443 } // namespace internal
458 } // namespace v8 444 } // namespace v8
459 445
460 #endif // V8_TARGET_ARCH_IA32 446 #endif // V8_TARGET_ARCH_IA32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698