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

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

Issue 1688283003: [Interpreter] Implements calls through CallICStub in the interpreter. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fixes comments I missed in last patch. Created 4 years, 10 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 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific( 426 void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific(
427 CallInterfaceDescriptorData* data) { 427 CallInterfaceDescriptorData* data) {
428 Register registers[] = { 428 Register registers[] = {
429 eax, // argument count (not including receiver) 429 eax, // argument count (not including receiver)
430 ebx, // address of first argument 430 ebx, // address of first argument
431 edi // the target callable to be call 431 edi // the target callable to be call
432 }; 432 };
433 data->InitializePlatformSpecific(arraysize(registers), registers); 433 data->InitializePlatformSpecific(arraysize(registers), registers);
434 } 434 }
435 435
436 void InterpreterPushArgsAndCallICDescriptor::InitializePlatformSpecific(
437 CallInterfaceDescriptorData* data) {
438 Register registers[] = {
439 eax, // argument count (not including receiver)
440 ebx, // address of first argument
441 edi, // the target callable to be call
442 edx, // feedback vector slot id
443 ecx // type feedback vector
444 };
445 data->InitializePlatformSpecific(arraysize(registers), registers);
446 }
447
436 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( 448 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific(
437 CallInterfaceDescriptorData* data) { 449 CallInterfaceDescriptorData* data) {
438 Register registers[] = { 450 Register registers[] = {
439 eax, // argument count (not including receiver) 451 eax, // argument count (not including receiver)
440 edx, // new target 452 edx, // new target
441 edi, // constructor 453 edi, // constructor
442 ebx, // address of first argument 454 ebx, // address of first argument
443 }; 455 };
444 data->InitializePlatformSpecific(arraysize(registers), registers); 456 data->InitializePlatformSpecific(arraysize(registers), registers);
445 } 457 }
446 458
447 void InterpreterCEntryDescriptor::InitializePlatformSpecific( 459 void InterpreterCEntryDescriptor::InitializePlatformSpecific(
448 CallInterfaceDescriptorData* data) { 460 CallInterfaceDescriptorData* data) {
449 Register registers[] = { 461 Register registers[] = {
450 eax, // argument count (argc) 462 eax, // argument count (argc)
451 ecx, // address of first argument (argv) 463 ecx, // address of first argument (argv)
452 ebx // the runtime function to call 464 ebx // the runtime function to call
453 }; 465 };
454 data->InitializePlatformSpecific(arraysize(registers), registers); 466 data->InitializePlatformSpecific(arraysize(registers), registers);
455 } 467 }
456 468
457 } // namespace internal 469 } // namespace internal
458 } // namespace v8 470 } // namespace v8
459 471
460 #endif // V8_TARGET_ARCH_IA32 472 #endif // V8_TARGET_ARCH_IA32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698