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

Unified Diff: src/code-stubs.h

Issue 104663004: Preview of a first step towards unification of hydrogen calls (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed code review comments Created 6 years, 12 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 side-by-side diff with in-line comments
Download patch
Index: src/code-stubs.h
diff --git a/src/code-stubs.h b/src/code-stubs.h
index 4e49680652fbd5518b983a47447d8be85d1db89c..7ec5245d42135472ca2f4c4cfcab00b484d1e25f 100644
--- a/src/code-stubs.h
+++ b/src/code-stubs.h
@@ -317,7 +317,7 @@ struct CodeStubInterfaceDescriptor {
return has_miss_handler_;
}
- Register GetParameterRegister(int index) {
+ Register GetParameterRegister(int index) const {
return register_params_[index];
}
@@ -339,6 +339,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 {
@@ -2366,6 +2401,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_

Powered by Google App Engine
This is Rietveld 408576698