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

Side by Side Diff: src/x64/interface-descriptors-x64.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_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 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 CallInterfaceDescriptorData* data) { 374 CallInterfaceDescriptorData* data) {
375 Register registers[] = { 375 Register registers[] = {
376 rdi, // JSFunction 376 rdi, // JSFunction
377 rdx, // the new target 377 rdx, // the new target
378 rax, // actual number of arguments 378 rax, // actual number of arguments
379 rbx, // expected number of arguments 379 rbx, // expected number of arguments
380 }; 380 };
381 data->InitializePlatformSpecific(arraysize(registers), registers); 381 data->InitializePlatformSpecific(arraysize(registers), registers);
382 } 382 }
383 383
384 384 void ApiCallbackDescriptorBase::InitializePlatformSpecific(
385 void ApiFunctionDescriptor::InitializePlatformSpecific(
386 CallInterfaceDescriptorData* data) { 385 CallInterfaceDescriptorData* data) {
387 Register registers[] = { 386 Register registers[] = {
388 rdi, // callee 387 rdi, // callee
389 rbx, // call_data
390 rcx, // holder
391 rdx, // api_function_address
392 rax, // actual number of arguments
393 };
394 data->InitializePlatformSpecific(arraysize(registers), registers);
395 }
396
397
398 void ApiAccessorDescriptor::InitializePlatformSpecific(
399 CallInterfaceDescriptorData* data) {
400 Register registers[] = {
401 rdi, // callee
402 rbx, // call_data 388 rbx, // call_data
403 rcx, // holder 389 rcx, // holder
404 rdx, // api_function_address 390 rdx, // api_function_address
405 }; 391 };
406 data->InitializePlatformSpecific(arraysize(registers), registers); 392 data->InitializePlatformSpecific(arraysize(registers), registers);
407 } 393 }
408 394
409 void InterpreterDispatchDescriptor::InitializePlatformSpecific( 395 void InterpreterDispatchDescriptor::InitializePlatformSpecific(
410 CallInterfaceDescriptorData* data) { 396 CallInterfaceDescriptorData* data) {
411 Register registers[] = { 397 Register registers[] = {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 r15, // address of first argument (argv) 429 r15, // address of first argument (argv)
444 rbx // the runtime function to call 430 rbx // the runtime function to call
445 }; 431 };
446 data->InitializePlatformSpecific(arraysize(registers), registers); 432 data->InitializePlatformSpecific(arraysize(registers), registers);
447 } 433 }
448 434
449 } // namespace internal 435 } // namespace internal
450 } // namespace v8 436 } // namespace v8
451 437
452 #endif // V8_TARGET_ARCH_X64 438 #endif // V8_TARGET_ARCH_X64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698