Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index fd6b0a9e27d4293eec0b6a2d44044dc0487ef258..03f7a69ffa45d7527ca15d9c0da15ff865837cdb 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -10,6 +10,7 @@ |
#include "src/codegen.h" |
#include "src/globals.h" |
#include "src/macro-assembler.h" |
+#include "src/ostreams.h" |
namespace v8 { |
namespace internal { |
@@ -348,13 +349,13 @@ class CodeStubInterfaceDescriptor: public InterfaceDescriptor { |
public: |
CodeStubInterfaceDescriptor(); |
- void Initialize(int register_parameter_count, Register* registers, |
- Address deoptimization_handler = NULL, |
+ void Initialize(CodeStub::Major major, int register_parameter_count, |
+ Register* registers, Address deoptimization_handler = NULL, |
Representation* register_param_representations = NULL, |
int hint_stack_parameter_count = -1, |
StubFunctionMode function_mode = NOT_JS_FUNCTION_STUB_MODE); |
- void Initialize(int register_parameter_count, Register* registers, |
- Register stack_parameter_count, |
+ void Initialize(CodeStub::Major major, int register_parameter_count, |
+ Register* registers, Register stack_parameter_count, |
Address deoptimization_handler = NULL, |
Representation* register_param_representations = NULL, |
int hint_stack_parameter_count = -1, |
@@ -394,6 +395,7 @@ class CodeStubInterfaceDescriptor: public InterfaceDescriptor { |
Register stack_parameter_count() const { return stack_parameter_count_; } |
StubFunctionMode function_mode() const { return function_mode_; } |
Address deoptimization_handler() const { return deoptimization_handler_; } |
+ CodeStub::Major MajorKey() const { return major_; } |
private: |
Register stack_parameter_count_; |
@@ -407,6 +409,7 @@ class CodeStubInterfaceDescriptor: public InterfaceDescriptor { |
ExternalReference miss_handler_; |
bool has_miss_handler_; |
+ CodeStub::Major major_; |
}; |
@@ -743,6 +746,9 @@ class InstanceofStub: public PlatformCodeStub { |
void Generate(MacroAssembler* masm); |
+ virtual void InitializeInterfaceDescriptor( |
+ Isolate* isolate, CodeStubInterfaceDescriptor* descriptor); |
+ |
private: |
Major MajorKey() const { return Instanceof; } |
int MinorKey() const { return static_cast<int>(flags_); } |
@@ -1132,10 +1138,11 @@ class CallApiGetterStub : public PlatformCodeStub { |
class BinaryOpICStub : public HydrogenCodeStub { |
public: |
- BinaryOpICStub(Isolate* isolate, Token::Value op, OverwriteMode mode) |
+ BinaryOpICStub(Isolate* isolate, Token::Value op, |
+ OverwriteMode mode = NO_OVERWRITE) |
: HydrogenCodeStub(isolate, UNINITIALIZED), state_(isolate, op, mode) {} |
- BinaryOpICStub(Isolate* isolate, const BinaryOpIC::State& state) |
+ explicit BinaryOpICStub(Isolate* isolate, const BinaryOpIC::State& state) |
: HydrogenCodeStub(isolate), state_(state) {} |
static void GenerateAheadOfTime(Isolate* isolate); |
@@ -1618,6 +1625,9 @@ class CallFunctionStub: public PlatformCodeStub { |
return ArgcBits::decode(minor_key); |
} |
+ virtual void InitializeInterfaceDescriptor( |
+ Isolate* isolate, CodeStubInterfaceDescriptor* descriptor); |
+ |
private: |
int argc_; |
CallFunctionFlags flags_; |
@@ -1655,6 +1665,9 @@ class CallConstructStub: public PlatformCodeStub { |
code->set_has_function_cache(RecordCallTarget()); |
} |
+ virtual void InitializeInterfaceDescriptor( |
+ Isolate* isolate, CodeStubInterfaceDescriptor* descriptor); |
+ |
private: |
CallConstructorFlags flags_; |