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

Unified Diff: src/code-stubs.h

Issue 504333005: Introduce sub minor key to remove NotMissMinorKey in hydrogen stubs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/code-stubs.h
diff --git a/src/code-stubs.h b/src/code-stubs.h
index 85314d0d307f86ffdf3d0946e8756647e41c3f7c..cdbbc1c04d73adbfc1aa8aa1dc2b381eb7de7fe6 100644
--- a/src/code-stubs.h
+++ b/src/code-stubs.h
@@ -448,7 +448,7 @@ class HydrogenCodeStub : public CodeStub {
explicit HydrogenCodeStub(Isolate* isolate,
InitializationState state = INITIALIZED)
: CodeStub(isolate) {
- is_uninitialized_ = (state == UNINITIALIZED);
+ minor_key_ = IsMissBits::encode(state == UNINITIALIZED);
}
virtual Code::Kind GetCodeKind() const { return Code::STUB; }
@@ -457,8 +457,6 @@ class HydrogenCodeStub : public CodeStub {
return isolate()->code_stub_interface_descriptor(MajorKey());
}
- bool IsUninitialized() { return is_uninitialized_; }
-
template<class SubClass>
static Handle<Code> GetUninitialized(Isolate* isolate) {
SubClass::GenerateAheadOfTime(isolate);
@@ -471,24 +469,39 @@ class HydrogenCodeStub : public CodeStub {
// Retrieve the code for the stub. Generate the code if needed.
virtual Handle<Code> GenerateCode() = 0;
- virtual int NotMissMinorKey() const = 0;
+ bool IsUninitialized() const { return IsMissBits::decode(minor_key_); }
+
+ // TODO(yangguo): we use this temporarily to construct the minor key.
+ // We want to remove NotMissMinorKey methods one by one and eventually
+ // remove HydrogenStub::MinorKey and turn CodeStub::MinorKey into a
+ // non-virtual method that directly returns minor_key_.
+ virtual int NotMissMinorKey() const {
+ return SubMinorKeyBits::decode(minor_key_);
+ }
Handle<Code> GenerateLightweightMissCode();
template<class StateType>
void TraceTransition(StateType from, StateType to);
+ protected:
+ void set_sub_minor_key(uint32_t key) {
+ minor_key_ = SubMinorKeyBits::update(minor_key_, key);
+ }
+
+ uint32_t sub_minor_key() const { return SubMinorKeyBits::decode(minor_key_); }
+
+ static const int kSubMinorKeyBits = kStubMinorKeyBits - 1;
+
private:
- class MinorKeyBits: public BitField<int, 0, kStubMinorKeyBits - 1> {};
- class IsMissBits: public BitField<bool, kStubMinorKeyBits - 1, 1> {};
+ class SubMinorKeyBits : public BitField<int, 0, kSubMinorKeyBits> {};
+ class IsMissBits : public BitField<bool, kSubMinorKeyBits, 1> {};
void GenerateLightweightMiss(MacroAssembler* masm);
virtual uint32_t MinorKey() const {
- return IsMissBits::encode(is_uninitialized_) |
- MinorKeyBits::encode(NotMissMinorKey());
+ return IsMissBits::encode(IsUninitialized()) |
+ SubMinorKeyBits::encode(NotMissMinorKey());
}
-
- bool is_uninitialized_;
};
@@ -572,8 +585,7 @@ class ToNumberStub: public HydrogenCodeStub {
}
private:
- Major MajorKey() const { return ToNumber; }
- int NotMissMinorKey() const { return 0; }
+ virtual Major MajorKey() const V8_OVERRIDE { return ToNumber; }
};
@@ -593,18 +605,17 @@ class NumberToStringStub V8_FINAL : public HydrogenCodeStub {
private:
virtual Major MajorKey() const V8_OVERRIDE { return NumberToString; }
- virtual int NotMissMinorKey() const V8_OVERRIDE { return 0; }
};
class FastNewClosureStub : public HydrogenCodeStub {
public:
- FastNewClosureStub(Isolate* isolate,
- StrictMode strict_mode,
+ FastNewClosureStub(Isolate* isolate, StrictMode strict_mode,
bool is_generator)
- : HydrogenCodeStub(isolate),
- strict_mode_(strict_mode),
- is_generator_(is_generator) { }
+ : HydrogenCodeStub(isolate) {
+ set_sub_minor_key(StrictModeBits::encode(strict_mode) |
+ IsGeneratorBits::encode(is_generator));
+ }
virtual Handle<Code> GenerateCode() V8_OVERRIDE;
@@ -613,21 +624,19 @@ class FastNewClosureStub : public HydrogenCodeStub {
static void InstallDescriptors(Isolate* isolate);
- StrictMode strict_mode() const { return strict_mode_; }
- bool is_generator() const { return is_generator_; }
+ StrictMode strict_mode() const {
+ return StrictModeBits::decode(sub_minor_key());
+ }
+
+ bool is_generator() const { return IsGeneratorBits::decode(sub_minor_key()); }
private:
- class StrictModeBits: public BitField<bool, 0, 1> {};
- class IsGeneratorBits: public BitField<bool, 1, 1> {};
+ virtual Major MajorKey() const V8_OVERRIDE { return FastNewClosure; }
- Major MajorKey() const { return FastNewClosure; }
- int NotMissMinorKey() const {
- return StrictModeBits::encode(strict_mode_ == STRICT) |
- IsGeneratorBits::encode(is_generator_);
- }
+ class StrictModeBits : public BitField<StrictMode, 0, 1> {};
+ class IsGeneratorBits : public BitField<bool, 1, 1> {};
- StrictMode strict_mode_;
- bool is_generator_;
+ DISALLOW_COPY_AND_ASSIGN(FastNewClosureStub);
};
@@ -683,7 +692,7 @@ class FastCloneShallowArrayStub : public HydrogenCodeStub {
class AllocationSiteModeBits: public BitField<AllocationSiteMode, 0, 1> {};
// Ensure data fits within available bits.
- Major MajorKey() const { return FastCloneShallowArray; }
+ virtual Major MajorKey() const V8_OVERRIDE { return FastCloneShallowArray; }
int NotMissMinorKey() const {
return AllocationSiteModeBits::encode(allocation_site_mode_);
}
@@ -711,7 +720,7 @@ class FastCloneShallowObjectStub : public HydrogenCodeStub {
private:
int length_;
- Major MajorKey() const { return FastCloneShallowObject; }
+ virtual Major MajorKey() const V8_OVERRIDE { return FastCloneShallowObject; }
int NotMissMinorKey() const { return length_; }
DISALLOW_COPY_AND_ASSIGN(FastCloneShallowObjectStub);
@@ -731,8 +740,7 @@ class CreateAllocationSiteStub : public HydrogenCodeStub {
CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
private:
- Major MajorKey() const { return CreateAllocationSite; }
- int NotMissMinorKey() const { return 0; }
+ virtual Major MajorKey() const V8_OVERRIDE { return CreateAllocationSite; }
DISALLOW_COPY_AND_ASSIGN(CreateAllocationSiteStub);
};
@@ -760,7 +768,7 @@ class InstanceofStub: public PlatformCodeStub {
CodeStubInterfaceDescriptor* descriptor);
private:
- Major MajorKey() const { return Instanceof; }
+ virtual Major MajorKey() const V8_OVERRIDE { return Instanceof; }
Flags flags() const { return FlagBits::decode(minor_key_); }
@@ -799,7 +807,7 @@ class ArrayConstructorStub: public PlatformCodeStub {
void Generate(MacroAssembler* masm);
private:
- virtual CodeStub::Major MajorKey() const { return ArrayConstructor; }
+ virtual Major MajorKey() const V8_OVERRIDE { return ArrayConstructor; }
ArgumentCountKey argument_count() const {
return ArgumentCountBits::decode(minor_key_);
@@ -823,7 +831,9 @@ class InternalArrayConstructorStub: public PlatformCodeStub {
void Generate(MacroAssembler* masm);
private:
- virtual CodeStub::Major MajorKey() const { return InternalArrayConstructor; }
+ virtual Major MajorKey() const V8_OVERRIDE {
+ return InternalArrayConstructor;
+ }
void GenerateCase(MacroAssembler* masm, ElementsKind kind);
@@ -843,7 +853,7 @@ class MathPowStub: public PlatformCodeStub {
virtual void Generate(MacroAssembler* masm);
private:
- virtual CodeStub::Major MajorKey() const { return MathPow; }
+ virtual Major MajorKey() const V8_OVERRIDE { return MathPow; }
ExponentType exponent_type() const {
return ExponentTypeBits::decode(minor_key_);
@@ -890,7 +900,7 @@ class CallICStub: public PlatformCodeStub {
void GenerateMiss(MacroAssembler* masm, IC::UtilityId id);
private:
- virtual CodeStub::Major MajorKey() const { return CallIC; }
+ virtual Major MajorKey() const V8_OVERRIDE { return CallIC; }
virtual void PrintState(OStream& os) const V8_OVERRIDE; // NOLINT
@@ -912,7 +922,7 @@ class CallIC_ArrayStub: public CallICStub {
private:
virtual void PrintState(OStream& os) const V8_OVERRIDE; // NOLINT
- virtual CodeStub::Major MajorKey() const { return CallIC_Array; }
+ virtual Major MajorKey() const V8_OVERRIDE { return CallIC_Array; }
DISALLOW_COPY_AND_ASSIGN(CallIC_ArrayStub);
};
@@ -927,7 +937,7 @@ class FunctionPrototypeStub : public PlatformCodeStub {
virtual Code::Kind GetCodeKind() const { return Code::HANDLER; }
private:
- virtual CodeStub::Major MajorKey() const { return FunctionPrototype; }
+ virtual Major MajorKey() const V8_OVERRIDE { return FunctionPrototype; }
DISALLOW_COPY_AND_ASSIGN(FunctionPrototypeStub);
};
@@ -970,7 +980,7 @@ class LoadFieldStub: public HandlerStub {
private:
class EncodedLoadFieldByIndexBits : public BitField<int, 0, 13> {};
- virtual CodeStub::Major MajorKey() const { return LoadField; }
+ virtual Major MajorKey() const V8_OVERRIDE { return LoadField; }
FieldIndex index_;
};
@@ -991,7 +1001,7 @@ class LoadConstantStub : public HandlerStub {
virtual Code::StubType GetStubType() { return Code::FAST; }
private:
- virtual CodeStub::Major MajorKey() const { return LoadConstant; }
+ virtual Major MajorKey() const V8_OVERRIDE { return LoadConstant; }
};
@@ -1005,7 +1015,7 @@ class StringLengthStub: public HandlerStub {
virtual Code::StubType GetStubType() { return Code::FAST; }
private:
- virtual CodeStub::Major MajorKey() const { return StringLength; }
+ virtual Major MajorKey() const V8_OVERRIDE { return StringLength; }
};
@@ -1034,7 +1044,7 @@ class StoreFieldStub : public HandlerStub {
private:
class EncodedStoreFieldByIndexBits : public BitField<int, 0, 13> {};
class RepresentationBits : public BitField<int, 13, 4> {};
- virtual CodeStub::Major MajorKey() const { return StoreField; }
+ virtual Major MajorKey() const V8_OVERRIDE { return StoreField; }
FieldIndex index_;
Representation representation_;
};
@@ -1089,7 +1099,7 @@ class StoreGlobalStub : public HandlerStub {
}
private:
- Major MajorKey() const { return StoreGlobal; }
+ virtual Major MajorKey() const V8_OVERRIDE { return StoreGlobal; }
class IsConstantBits: public BitField<bool, 0, 1> {};
class RepresentationBits: public BitField<Representation::Kind, 1, 8> {};
@@ -1362,7 +1372,7 @@ class ICCompareStub: public PlatformCodeStub {
class RightStateField: public BitField<int, 7, 4> { };
class HandlerStateField: public BitField<int, 11, 4> { };
- virtual CodeStub::Major MajorKey() const { return CompareIC; }
+ virtual Major MajorKey() const V8_OVERRIDE { return CompareIC; }
virtual uint32_t MinorKey() const;
virtual Code::Kind GetCodeKind() const { return Code::COMPARE_IC; }
@@ -1481,7 +1491,7 @@ class CompareNilICStub : public HydrogenCodeStub {
class NilValueField : public BitField<NilValue, 0, 1> {};
class TypesField : public BitField<byte, 1, NUMBER_OF_TYPES> {};
- virtual CodeStub::Major MajorKey() const { return CompareNilIC; }
+ virtual Major MajorKey() const V8_OVERRIDE { return CompareNilIC; }
virtual int NotMissMinorKey() const { return GetExtraICState(); }
NilValue nil_value_;
@@ -1515,7 +1525,7 @@ class CEntryStub : public PlatformCodeStub {
static void GenerateAheadOfTime(Isolate* isolate);
private:
- Major MajorKey() const { return CEntry; }
+ virtual Major MajorKey() const V8_OVERRIDE { return CEntry; }
bool save_doubles() const { return SaveDoublesBits::decode(minor_key_); }
#ifdef _WIN64
@@ -1541,7 +1551,7 @@ class JSEntryStub : public PlatformCodeStub {
void GenerateBody(MacroAssembler* masm, bool is_construct);
private:
- Major MajorKey() const { return JSEntry; }
+ virtual Major MajorKey() const V8_OVERRIDE { return JSEntry; }
virtual void FinishCode(Handle<Code> code);
@@ -1582,7 +1592,7 @@ class ArgumentsAccessStub: public PlatformCodeStub {
}
private:
- Major MajorKey() const { return ArgumentsAccess; }
+ virtual Major MajorKey() const V8_OVERRIDE { return ArgumentsAccess; }
Type type() const { return TypeBits::decode(minor_key_); }
@@ -1605,7 +1615,7 @@ class RegExpExecStub: public PlatformCodeStub {
explicit RegExpExecStub(Isolate* isolate) : PlatformCodeStub(isolate) { }
private:
- Major MajorKey() const { return RegExpExec; }
+ virtual Major MajorKey() const V8_OVERRIDE { return RegExpExec; }
void Generate(MacroAssembler* masm);
@@ -1624,7 +1634,6 @@ class RegExpConstructResultStub V8_FINAL : public HydrogenCodeStub {
CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
virtual Major MajorKey() const V8_OVERRIDE { return RegExpConstructResult; }
- virtual int NotMissMinorKey() const V8_OVERRIDE { return 0; }
static void InstallDescriptors(Isolate* isolate);
@@ -1656,7 +1665,7 @@ class CallFunctionStub: public PlatformCodeStub {
CodeStubInterfaceDescriptor* descriptor);
private:
- Major MajorKey() const { return CallFunction; }
+ virtual Major MajorKey() const V8_OVERRIDE { return CallFunction; }
int argc() const { return ArgcBits::decode(minor_key_); }
int flags() const { return FlagBits::decode(minor_key_); }
@@ -1695,7 +1704,7 @@ class CallConstructStub: public PlatformCodeStub {
CodeStubInterfaceDescriptor* descriptor);
private:
- Major MajorKey() const { return CallConstruct; }
+ virtual Major MajorKey() const V8_OVERRIDE { return CallConstruct; }
CallConstructorFlags flags() const { return FlagBits::decode(minor_key_); }
@@ -1888,7 +1897,9 @@ class StringCharAtGenerator {
class LoadDictionaryElementStub : public HydrogenCodeStub {
public:
explicit LoadDictionaryElementStub(Isolate* isolate)
- : HydrogenCodeStub(isolate) {}
+ : HydrogenCodeStub(isolate) {
+ set_sub_minor_key(DICTIONARY_ELEMENTS);
+ }
virtual Handle<Code> GenerateCode() V8_OVERRIDE;
@@ -1896,8 +1907,7 @@ class LoadDictionaryElementStub : public HydrogenCodeStub {
CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
private:
- Major MajorKey() const { return LoadElement; }
- int NotMissMinorKey() const { return DICTIONARY_ELEMENTS; }
+ virtual Major MajorKey() const V8_OVERRIDE { return LoadElement; }
DISALLOW_COPY_AND_ASSIGN(LoadDictionaryElementStub);
};
@@ -1913,7 +1923,7 @@ class LoadDictionaryElementPlatformStub : public PlatformCodeStub {
void Generate(MacroAssembler* masm);
private:
- Major MajorKey() const { return LoadElement; }
+ virtual Major MajorKey() const V8_OVERRIDE { return LoadElement; }
DISALLOW_COPY_AND_ASSIGN(LoadDictionaryElementPlatformStub);
};
@@ -1934,8 +1944,7 @@ class KeyedLoadGenericStub : public HydrogenCodeStub {
virtual InlineCacheState GetICState() const { return GENERIC; }
private:
- Major MajorKey() const { return KeyedLoadGeneric; }
- int NotMissMinorKey() const { return 0; }
+ virtual Major MajorKey() const V8_OVERRIDE { return KeyedLoadGeneric; }
DISALLOW_COPY_AND_ASSIGN(KeyedLoadGenericStub);
};
@@ -2063,7 +2072,7 @@ class DoubleToIStub : public PlatformCodeStub {
virtual bool SometimesSetsUpAFrame() { return false; }
private:
- Major MajorKey() const { return DoubleToI; }
+ virtual Major MajorKey() const V8_OVERRIDE { return DoubleToI; }
Register source() const {
return Register::from_code(SourceRegisterBits::decode(minor_key_));
@@ -2124,7 +2133,7 @@ class LoadFastElementStub : public HydrogenCodeStub {
class IsJSArrayBits: public BitField<bool, 8, 1> {};
uint32_t bit_field_;
- Major MajorKey() const { return LoadElement; }
+ virtual Major MajorKey() const V8_OVERRIDE { return LoadElement; }
int NotMissMinorKey() const { return bit_field_; }
DISALLOW_COPY_AND_ASSIGN(LoadFastElementStub);
@@ -2164,7 +2173,7 @@ class StoreFastElementStub : public HydrogenCodeStub {
class IsJSArrayBits: public BitField<bool, 12, 1> {};
uint32_t bit_field_;
- Major MajorKey() const { return StoreElement; }
+ virtual Major MajorKey() const V8_OVERRIDE { return StoreElement; }
int NotMissMinorKey() const { return bit_field_; }
DISALLOW_COPY_AND_ASSIGN(StoreFastElementStub);
@@ -2205,7 +2214,7 @@ class TransitionElementsKindStub : public HydrogenCodeStub {
class IsJSArrayBits: public BitField<bool, 16, 1> {};
uint32_t bit_field_;
- Major MajorKey() const { return TransitionElementsKind; }
+ virtual Major MajorKey() const V8_OVERRIDE { return TransitionElementsKind; }
int NotMissMinorKey() const { return bit_field_; }
DISALLOW_COPY_AND_ASSIGN(TransitionElementsKindStub);
@@ -2275,7 +2284,9 @@ class ArrayNoArgumentConstructorStub : public ArrayConstructorStubBase {
CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
private:
- Major MajorKey() const { return ArrayNoArgumentConstructor; }
+ virtual Major MajorKey() const V8_OVERRIDE {
+ return ArrayNoArgumentConstructor;
+ }
virtual void PrintName(OStream& os) const V8_OVERRIDE { // NOLINT
BasePrintName(os, "ArrayNoArgumentConstructorStub");
@@ -2300,7 +2311,9 @@ class ArraySingleArgumentConstructorStub : public ArrayConstructorStubBase {
CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
private:
- Major MajorKey() const { return ArraySingleArgumentConstructor; }
+ virtual Major MajorKey() const V8_OVERRIDE {
+ return ArraySingleArgumentConstructor;
+ }
virtual void PrintName(OStream& os) const { // NOLINT
BasePrintName(os, "ArraySingleArgumentConstructorStub");
@@ -2325,7 +2338,9 @@ class ArrayNArgumentsConstructorStub : public ArrayConstructorStubBase {
CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
private:
- Major MajorKey() const { return ArrayNArgumentsConstructor; }
+ virtual Major MajorKey() const V8_OVERRIDE {
+ return ArrayNArgumentsConstructor;
+ }
virtual void PrintName(OStream& os) const { // NOLINT
BasePrintName(os, "ArrayNArgumentsConstructorStub");
@@ -2372,7 +2387,9 @@ class InternalArrayNoArgumentConstructorStub : public
CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
private:
- Major MajorKey() const { return InternalArrayNoArgumentConstructor; }
+ virtual Major MajorKey() const V8_OVERRIDE {
+ return InternalArrayNoArgumentConstructor;
+ }
DISALLOW_COPY_AND_ASSIGN(InternalArrayNoArgumentConstructorStub);
};
@@ -2391,7 +2408,9 @@ class InternalArraySingleArgumentConstructorStub : public
CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
private:
- Major MajorKey() const { return InternalArraySingleArgumentConstructor; }
+ virtual Major MajorKey() const V8_OVERRIDE {
+ return InternalArraySingleArgumentConstructor;
+ }
DISALLOW_COPY_AND_ASSIGN(InternalArraySingleArgumentConstructorStub);
};
@@ -2409,7 +2428,9 @@ class InternalArrayNArgumentsConstructorStub : public
CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
private:
- Major MajorKey() const { return InternalArrayNArgumentsConstructor; }
+ virtual Major MajorKey() const V8_OVERRIDE {
+ return InternalArrayNArgumentsConstructor;
+ }
DISALLOW_COPY_AND_ASSIGN(InternalArrayNArgumentsConstructorStub);
};
@@ -2425,7 +2446,7 @@ class StoreElementStub : public PlatformCodeStub {
void Generate(MacroAssembler* masm);
private:
- Major MajorKey() const { return StoreElement; }
+ virtual Major MajorKey() const V8_OVERRIDE { return StoreElement; }
ElementsKind elements_kind() const {
return ElementsKindBits::decode(minor_key_);
@@ -2519,7 +2540,7 @@ class ToBooleanStub: public HydrogenCodeStub {
class TypesBits : public BitField<byte, 0, NUMBER_OF_TYPES> {};
class ResultModeBits : public BitField<ResultMode, NUMBER_OF_TYPES, 2> {};
- Major MajorKey() const { return ToBoolean; }
+ virtual Major MajorKey() const V8_OVERRIDE { return ToBoolean; }
int NotMissMinorKey() const {
return TypesBits::encode(types_.ToByte()) | ResultModeBits::encode(mode_);
}
@@ -2584,7 +2605,9 @@ class ElementsTransitionAndStoreStub : public HydrogenCodeStub {
class IsJSArrayBits: public BitField<bool, 16, 1> {};
class StoreModeBits: public BitField<KeyedAccessStoreMode, 17, 4> {};
- Major MajorKey() const { return ElementsTransitionAndStore; }
+ virtual Major MajorKey() const V8_OVERRIDE {
+ return ElementsTransitionAndStore;
+ }
int NotMissMinorKey() const {
return FromBits::encode(from_kind_) |
ToBits::encode(to_kind_) |
@@ -2607,7 +2630,9 @@ class StoreArrayLiteralElementStub : public PlatformCodeStub {
: PlatformCodeStub(isolate) { }
private:
- Major MajorKey() const { return StoreArrayLiteralElement; }
+ virtual Major MajorKey() const V8_OVERRIDE {
+ return StoreArrayLiteralElement;
+ }
void Generate(MacroAssembler* masm);
@@ -2625,7 +2650,7 @@ class StubFailureTrampolineStub : public PlatformCodeStub {
static void GenerateAheadOfTime(Isolate* isolate);
private:
- Major MajorKey() const { return StubFailureTrampoline; }
+ virtual Major MajorKey() const V8_OVERRIDE { return StubFailureTrampoline; }
StubFunctionMode function_mode() const {
return FunctionModeField::decode(minor_key_);
@@ -2654,7 +2679,7 @@ class ProfileEntryHookStub : public PlatformCodeStub {
intptr_t stack_pointer,
Isolate* isolate);
- Major MajorKey() const { return ProfileEntryHook; }
+ virtual Major MajorKey() const V8_OVERRIDE { return ProfileEntryHook; }
void Generate(MacroAssembler* masm);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698