Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index f4a52480eb7a81a1cdafe90a1c4514aa5d891580..f19258bb46c42df3e2647bca0099fafb37f7f8c7 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -319,7 +319,7 @@ struct CodeStubInterfaceDescriptor { |
return has_miss_handler_; |
} |
- Register GetParameterRegister(int index) { |
+ Register GetParameterRegister(int index) const { |
return register_params_[index]; |
} |
@@ -341,6 +341,41 @@ struct CodeStubInterfaceDescriptor { |
}; |
+struct PlatformCallInterfaceDescriptor; |
+ |
+ |
+struct CallInterfaceDescriptor { |
+ CallInterfaceDescriptor() |
+ : register_param_count_(-1), |
+ register_params_(NULL), |
+ param_representations_(NULL), |
+ platform_specific_descriptor_(NULL) { } |
+ |
+ bool initialized() const { return register_param_count_ >= 0; } |
+ |
+ int environment_length() const { |
+ return register_param_count_; |
+ } |
+ |
+ Representation GetParameterRepresentation(int index) const { |
+ return param_representations_[index]; |
+ } |
+ |
+ Register GetParameterRegister(int index) const { |
+ return register_params_[index]; |
+ } |
+ |
+ PlatformCallInterfaceDescriptor* platform_specific_descriptor() const { |
+ return platform_specific_descriptor_; |
+ } |
+ |
+ int register_param_count_; |
+ Register* register_params_; |
+ Representation* param_representations_; |
+ PlatformCallInterfaceDescriptor* platform_specific_descriptor_; |
+}; |
+ |
+ |
class HydrogenCodeStub : public CodeStub { |
public: |
enum InitializationState { |
@@ -2432,6 +2467,12 @@ class ProfileEntryHookStub : public PlatformCodeStub { |
DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); |
}; |
+ |
+class CallDescriptors { |
+ public: |
+ static void InitializeForIsolate(Isolate* isolate); |
+}; |
+ |
} } // namespace v8::internal |
#endif // V8_CODE_STUBS_H_ |