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

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

Issue 1673333004: [Interpreter] Make InterpreterAssembler a subclass of CodeStubAssembler. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address review comments. 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
« no previous file with comments | « src/ppc/interface-descriptors-ppc.cc ('k') | src/x87/interface-descriptors-x87.cc » ('j') | 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_X64 5 #if V8_TARGET_ARCH_X64
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 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 CallInterfaceDescriptorData* data) { 398 CallInterfaceDescriptorData* data) {
399 Register registers[] = { 399 Register registers[] = {
400 rdi, // callee 400 rdi, // callee
401 rbx, // call_data 401 rbx, // call_data
402 rcx, // holder 402 rcx, // holder
403 rdx, // api_function_address 403 rdx, // api_function_address
404 }; 404 };
405 data->InitializePlatformSpecific(arraysize(registers), registers); 405 data->InitializePlatformSpecific(arraysize(registers), registers);
406 } 406 }
407 407
408 void InterpreterDispatchDescriptor::InitializePlatformSpecific(
409 CallInterfaceDescriptorData* data) {
410 Register registers[] = {
411 kInterpreterAccumulatorRegister, kInterpreterRegisterFileRegister,
412 kInterpreterBytecodeOffsetRegister, kInterpreterBytecodeArrayRegister,
413 kInterpreterDispatchTableRegister};
414 data->InitializePlatformSpecific(arraysize(registers), registers);
415 }
408 416
409 void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific( 417 void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific(
410 CallInterfaceDescriptorData* data) { 418 CallInterfaceDescriptorData* data) {
411 Register registers[] = { 419 Register registers[] = {
412 rax, // argument count (not including receiver) 420 rax, // argument count (not including receiver)
413 rbx, // address of first argument 421 rbx, // address of first argument
414 rdi // the target callable to be call 422 rdi // the target callable to be call
415 }; 423 };
416 data->InitializePlatformSpecific(arraysize(registers), registers); 424 data->InitializePlatformSpecific(arraysize(registers), registers);
417 } 425 }
418 426
419
420 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( 427 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific(
421 CallInterfaceDescriptorData* data) { 428 CallInterfaceDescriptorData* data) {
422 Register registers[] = { 429 Register registers[] = {
423 rax, // argument count (not including receiver) 430 rax, // argument count (not including receiver)
424 rdx, // new target 431 rdx, // new target
425 rdi, // constructor 432 rdi, // constructor
426 rbx, // address of first argument 433 rbx, // address of first argument
427 }; 434 };
428 data->InitializePlatformSpecific(arraysize(registers), registers); 435 data->InitializePlatformSpecific(arraysize(registers), registers);
429 } 436 }
430 437
431
432 void InterpreterCEntryDescriptor::InitializePlatformSpecific( 438 void InterpreterCEntryDescriptor::InitializePlatformSpecific(
433 CallInterfaceDescriptorData* data) { 439 CallInterfaceDescriptorData* data) {
434 Register registers[] = { 440 Register registers[] = {
435 rax, // argument count (argc) 441 rax, // argument count (argc)
436 r15, // address of first argument (argv) 442 r15, // address of first argument (argv)
437 rbx // the runtime function to call 443 rbx // the runtime function to call
438 }; 444 };
439 data->InitializePlatformSpecific(arraysize(registers), registers); 445 data->InitializePlatformSpecific(arraysize(registers), registers);
440 } 446 }
441 447
442 } // namespace internal 448 } // namespace internal
443 } // namespace v8 449 } // namespace v8
444 450
445 #endif // V8_TARGET_ARCH_X64 451 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/ppc/interface-descriptors-ppc.cc ('k') | src/x87/interface-descriptors-x87.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698