| 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_;
|
|
|
|
|