Index: src/x64/code-stubs-x64.cc |
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc |
index 7aee40b6cd8282084f8764d05cb7ddd916a95b7d..509f9e5135bc2b028dcc244ec8a58cd280b668c5 100644 |
--- a/src/x64/code-stubs-x64.cc |
+++ b/src/x64/code-stubs-x64.cc |
@@ -443,6 +443,26 @@ void CallDescriptors::InitializeForIsolate(Isolate* isolate) { |
descriptor->register_params_ = registers; |
descriptor->param_representations_ = representations; |
} |
+ { |
+ CallInterfaceDescriptor* descriptor = |
+ isolate->call_descriptor(Isolate::ApiFunctionCall); |
+ static Register registers[] = { rax, // callee |
+ rbx, // call_data |
+ rcx, // holder |
+ rdx, // api_function_address |
+ rsi, // context |
+ }; |
+ static Representation representations[] = { |
+ Representation::Tagged(), // callee |
+ Representation::Tagged(), // call_data |
+ Representation::Tagged(), // holder |
+ Representation::External(), // api_function_address |
+ Representation::Tagged(), // context |
+ }; |
+ descriptor->register_param_count_ = 5; |
+ descriptor->register_params_ = registers; |
+ descriptor->param_representations_ = representations; |
+ } |
} |