Index: src/ia32/code-stubs-ia32.cc |
diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc |
index f81d237e030f5858ec2ab92524aaecc1ac9c6ac3..ec30997e19bdc53303da33b20fa983dc92facb95 100644 |
--- a/src/ia32/code-stubs-ia32.cc |
+++ b/src/ia32/code-stubs-ia32.cc |
@@ -435,6 +435,26 @@ void CallDescriptors::InitializeForIsolate(Isolate* isolate) { |
descriptor->register_params_ = registers; |
descriptor->param_representations_ = representations; |
} |
+ { |
+ CallInterfaceDescriptor* descriptor = |
+ isolate->call_descriptor(Isolate::ApiFunctionCall); |
+ static Register registers[] = { eax, // callee |
+ ebx, // call_data |
+ ecx, // holder |
+ edx, // api_function_address |
+ esi, // 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; |
+ } |
} |