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

Unified Diff: src/code-stubs.h

Issue 530343005: Clean up code stubs and ensure distinct major keys. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 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 212ea7b8601cb8a11602cb63ac8cd884cc540c9f..a2738dface63aa81b4d0eab7d17f6cc1a7acd5b9 100644
--- a/src/code-stubs.h
+++ b/src/code-stubs.h
@@ -19,93 +19,88 @@ namespace internal {
// List of code stubs used on all platforms.
#define CODE_STUB_LIST_ALL_PLATFORMS(V) \
- V(CallFunction) \
- V(CallConstruct) \
- V(BinaryOpIC) \
+ /* PlatformCodeStubs */ \
+ V(ArgumentsAccess) \
+ V(ArrayConstructor) \
V(BinaryOpICWithAllocationSite) \
- V(BinaryOpWithAllocationSite) \
- V(StringAdd) \
- V(SubString) \
- V(StringCompare) \
- V(Compare) \
- V(CompareIC) \
- V(CompareNilIC) \
- V(MathPow) \
+ V(CallApiFunction) \
+ V(CallApiGetter) \
+ V(CallConstruct) \
+ V(CallFunction) \
V(CallIC) \
V(CallIC_Array) \
+ V(CEntry) \
+ V(CompareIC) \
+ V(DoubleToI) \
V(FunctionPrototype) \
- V(RecordWrite) \
- V(StoreBufferOverflow) \
- V(RegExpExec) \
V(Instanceof) \
- V(ConvertToDouble) \
- V(WriteInt32ToHeapNumber) \
- V(StackCheck) \
- V(Interrupt) \
- V(FastNewClosure) \
- V(FastNewContext) \
- V(FastCloneShallowArray) \
- V(FastCloneShallowObject) \
- V(CreateAllocationSite) \
- V(ToBoolean) \
- V(ToNumber) \
- V(ArgumentsAccess) \
- V(RegExpConstructResult) \
- V(NumberToString) \
- V(DoubleToI) \
- V(CEntry) \
+ V(InternalArrayConstructor) \
V(JSEntry) \
- V(LoadElement) \
- V(KeyedLoadGeneric) \
+ V(KeyedLoadICTrampoline) \
+ V(LoadICTrampoline) \
+ V(MathPow) \
+ V(ProfileEntryHook) \
+ V(RecordWrite) \
+ V(RegExpExec) \
+ V(StoreArrayLiteralElement) \
+ V(StoreBufferOverflow) \
+ V(StoreElement) \
+ V(StringCompare) \
+ V(StubFailureTrampoline) \
+ V(SubString) \
+ /* HydrogenCodeStubs */ \
+ V(ArrayNArgumentsConstructor) \
V(ArrayNoArgumentConstructor) \
V(ArraySingleArgumentConstructor) \
- V(ArrayNArgumentsConstructor) \
+ V(BinaryOpIC) \
+ V(BinaryOpWithAllocationSite) \
+ V(CompareNilIC) \
+ V(CreateAllocationSite) \
+ V(ElementsTransitionAndStore) \
+ V(FastCloneShallowArray) \
+ V(FastCloneShallowObject) \
+ V(FastNewClosure) \
+ V(FastNewContext) \
+ V(InternalArrayNArgumentsConstructor) \
V(InternalArrayNoArgumentConstructor) \
V(InternalArraySingleArgumentConstructor) \
- V(InternalArrayNArgumentsConstructor) \
- V(StoreElement) \
- V(DebuggerStatement) \
+ V(KeyedLoadGeneric) \
+ V(LoadDictionaryElement) \
+ V(LoadFastElement) \
V(NameDictionaryLookup) \
- V(ElementsTransitionAndStore) \
+ V(NumberToString) \
+ V(RegExpConstructResult) \
+ V(StoreFastElement) \
+ V(StringAdd) \
+ V(ToBoolean) \
+ V(ToNumber) \
V(TransitionElementsKind) \
- V(StoreArrayLiteralElement) \
- V(StubFailureTrampoline) \
- V(ArrayConstructor) \
- V(InternalArrayConstructor) \
- V(ProfileEntryHook) \
- V(StoreGlobal) \
- V(CallApiFunction) \
- V(CallApiGetter) \
- V(LoadICTrampoline) \
- V(VectorLoad) \
- V(KeyedLoadICTrampoline) \
V(VectorKeyedLoad) \
+ V(VectorLoad) \
/* IC Handler stubs */ \
+ V(LoadConstant) \
V(LoadField) \
V(StoreField) \
- V(LoadConstant) \
+ V(StoreGlobal) \
V(StringLength)
// List of code stubs only used on ARM 32 bits platforms.
#if V8_TARGET_ARCH_ARM
-#define CODE_STUB_LIST_ARM(V) \
- V(GetProperty) \
- V(SetProperty) \
- V(InvokeBuiltin) \
- V(DirectCEntry)
+#define CODE_STUB_LIST_ARM(V) \
+ V(DirectCEntry) \
+ V(WriteInt32ToHeapNumber)
+
#else
#define CODE_STUB_LIST_ARM(V)
#endif
// List of code stubs only used on ARM 64 bits platforms.
#if V8_TARGET_ARCH_ARM64
-#define CODE_STUB_LIST_ARM64(V) \
- V(GetProperty) \
- V(SetProperty) \
- V(InvokeBuiltin) \
- V(DirectCEntry) \
- V(StoreRegistersState) \
- V(RestoreRegistersState)
+#define CODE_STUB_LIST_ARM64(V) \
+ V(DirectCEntry) \
+ V(RestoreRegistersState) \
+ V(StoreRegistersState)
+
#else
#define CODE_STUB_LIST_ARM64(V)
#endif
@@ -526,7 +521,9 @@ class ToNumberStub: public HydrogenCodeStub {
}
private:
- virtual Major MajorKey() const OVERRIDE { return ToNumber; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
+
+ DISALLOW_COPY_AND_ASSIGN(ToNumberStub);
};
@@ -545,7 +542,9 @@ class NumberToStringStub FINAL : public HydrogenCodeStub {
static const int kNumber = 0;
private:
- virtual Major MajorKey() const OVERRIDE { return NumberToString; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
+
+ DISALLOW_COPY_AND_ASSIGN(NumberToStringStub);
};
@@ -572,7 +571,7 @@ class FastNewClosureStub : public HydrogenCodeStub {
bool is_generator() const { return IsGeneratorBits::decode(sub_minor_key()); }
private:
- virtual Major MajorKey() const OVERRIDE { return FastNewClosure; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class StrictModeBits : public BitField<StrictMode, 0, 1> {};
class IsGeneratorBits : public BitField<bool, 1, 1> {};
@@ -603,7 +602,7 @@ class FastNewContextStub FINAL : public HydrogenCodeStub {
static const int kFunction = 0;
private:
- virtual Major MajorKey() const OVERRIDE { return FastNewContext; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class SlotsBits : public BitField<int, 0, 8> {};
@@ -631,7 +630,7 @@ class FastCloneShallowArrayStub : public HydrogenCodeStub {
static void InstallDescriptors(Isolate* isolate);
private:
- virtual Major MajorKey() const OVERRIDE { return FastCloneShallowArray; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class AllocationSiteModeBits: public BitField<AllocationSiteMode, 0, 1> {};
@@ -659,7 +658,7 @@ class FastCloneShallowObjectStub : public HydrogenCodeStub {
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE { return FastCloneShallowObject; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class LengthBits : public BitField<int, 0, 4> {};
@@ -680,7 +679,7 @@ class CreateAllocationSiteStub : public HydrogenCodeStub {
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE { return CreateAllocationSite; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
DISALLOW_COPY_AND_ASSIGN(CreateAllocationSiteStub);
};
@@ -708,7 +707,7 @@ class InstanceofStub: public PlatformCodeStub {
CodeStubInterfaceDescriptor* descriptor);
private:
- virtual Major MajorKey() const OVERRIDE { return Instanceof; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
Flags flags() const { return FlagBits::decode(minor_key_); }
@@ -747,7 +746,7 @@ class ArrayConstructorStub: public PlatformCodeStub {
void Generate(MacroAssembler* masm);
private:
- virtual Major MajorKey() const OVERRIDE { return ArrayConstructor; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
ArgumentCountKey argument_count() const {
return ArgumentCountBits::decode(minor_key_);
@@ -771,9 +770,7 @@ class InternalArrayConstructorStub: public PlatformCodeStub {
void Generate(MacroAssembler* masm);
private:
- virtual Major MajorKey() const OVERRIDE {
- return InternalArrayConstructor;
- }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
void GenerateCase(MacroAssembler* masm, ElementsKind kind);
@@ -793,7 +790,7 @@ class MathPowStub: public PlatformCodeStub {
virtual void Generate(MacroAssembler* masm);
private:
- virtual Major MajorKey() const OVERRIDE { return MathPow; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
ExponentType exponent_type() const {
return ExponentTypeBits::decode(minor_key_);
@@ -840,7 +837,7 @@ class CallICStub: public PlatformCodeStub {
void GenerateMiss(MacroAssembler* masm, IC::UtilityId id);
private:
- virtual Major MajorKey() const OVERRIDE { return CallIC; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
virtual void PrintState(OStream& os) const OVERRIDE; // NOLINT
@@ -860,9 +857,9 @@ class CallIC_ArrayStub: public CallICStub {
}
private:
- virtual void PrintState(OStream& os) const OVERRIDE; // NOLINT
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
- virtual Major MajorKey() const OVERRIDE { return CallIC_Array; }
+ virtual void PrintState(OStream& os) const OVERRIDE; // NOLINT
DISALLOW_COPY_AND_ASSIGN(CallIC_ArrayStub);
};
@@ -877,7 +874,7 @@ class FunctionPrototypeStub : public PlatformCodeStub {
virtual Code::Kind GetCodeKind() const { return Code::HANDLER; }
private:
- virtual Major MajorKey() const OVERRIDE { return FunctionPrototype; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
DISALLOW_COPY_AND_ASSIGN(FunctionPrototypeStub);
};
@@ -921,7 +918,7 @@ class LoadFieldStub: public HandlerStub {
virtual Code::StubType GetStubType() { return Code::FAST; }
private:
- virtual Major MajorKey() const OVERRIDE { return LoadField; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class LoadFieldByIndexBits : public BitField<int, 0, 13> {};
@@ -948,7 +945,7 @@ class LoadConstantStub : public HandlerStub {
virtual Code::StubType GetStubType() { return Code::FAST; }
private:
- virtual Major MajorKey() const OVERRIDE { return LoadConstant; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class ConstantIndexBits : public BitField<int, 0, kSubMinorKeyBits> {};
@@ -966,7 +963,7 @@ class StringLengthStub: public HandlerStub {
virtual Code::StubType GetStubType() { return Code::FAST; }
private:
- virtual Major MajorKey() const OVERRIDE { return StringLength; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
DISALLOW_COPY_AND_ASSIGN(StringLengthStub);
};
@@ -1003,7 +1000,7 @@ class StoreFieldStub : public HandlerStub {
virtual Code::StubType GetStubType() { return Code::FAST; }
private:
- virtual Major MajorKey() const OVERRIDE { return StoreField; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class StoreFieldByIndexBits : public BitField<int, 0, 13> {};
class RepresentationBits : public BitField<uint8_t, 13, 4> {};
@@ -1061,7 +1058,7 @@ class StoreGlobalStub : public HandlerStub {
}
private:
- virtual Major MajorKey() const OVERRIDE { return StoreGlobal; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class IsConstantBits: public BitField<bool, 0, 1> {};
class RepresentationBits: public BitField<Representation::Kind, 1, 8> {};
@@ -1084,8 +1081,9 @@ class CallApiFunctionStub : public PlatformCodeStub {
}
private:
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
+
virtual void Generate(MacroAssembler* masm) OVERRIDE;
- virtual Major MajorKey() const OVERRIDE { return CallApiFunction; }
bool is_store() const { return IsStoreBits::decode(minor_key_); }
bool call_data_undefined() const {
@@ -1108,7 +1106,7 @@ class CallApiGetterStub : public PlatformCodeStub {
private:
virtual void Generate(MacroAssembler* masm) OVERRIDE;
- virtual Major MajorKey() const OVERRIDE { return CallApiGetter; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
DISALLOW_COPY_AND_ASSIGN(CallApiGetterStub);
};
@@ -1160,7 +1158,7 @@ class BinaryOpICStub : public HydrogenCodeStub {
static const int kRight = 1;
private:
- virtual Major MajorKey() const OVERRIDE { return BinaryOpIC; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
static void GenerateAheadOfTime(Isolate* isolate,
const BinaryOpIC::State& state);
@@ -1203,11 +1201,9 @@ class BinaryOpICWithAllocationSiteStub FINAL : public PlatformCodeStub {
virtual void PrintState(OStream& os) const OVERRIDE; // NOLINT
- virtual Major MajorKey() const OVERRIDE {
- return BinaryOpICWithAllocationSite;
- }
-
private:
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
+
BinaryOpIC::State state() const {
return BinaryOpIC::State(isolate(), static_cast<ExtraICState>(minor_key_));
}
@@ -1241,9 +1237,7 @@ class BinaryOpWithAllocationSiteStub FINAL : public BinaryOpICStub {
virtual Handle<Code> GenerateCode() OVERRIDE;
- virtual Major MajorKey() const OVERRIDE {
- return BinaryOpWithAllocationSite;
- }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
// Parameters accessed via CodeStubGraphBuilder::GetParameter()
static const int kAllocationSite = 0;
@@ -1293,7 +1287,7 @@ class StringAddStub FINAL : public HydrogenCodeStub {
static const int kRight = 1;
private:
- virtual Major MajorKey() const OVERRIDE { return StringAdd; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class StringAddFlagsBits: public BitField<StringAddFlags, 0, 2> {};
class PretenureFlagBits: public BitField<PretenureFlag, 2, 1> {};
@@ -1304,9 +1298,9 @@ class StringAddStub FINAL : public HydrogenCodeStub {
};
-class ICCompareStub: public PlatformCodeStub {
+class CompareICStub : public PlatformCodeStub {
public:
- ICCompareStub(Isolate* isolate, Token::Value op, CompareIC::State left,
+ CompareICStub(Isolate* isolate, Token::Value op, CompareIC::State left,
CompareIC::State right, CompareIC::State state)
: PlatformCodeStub(isolate) {
DCHECK(Token::IsCompareOp(op));
@@ -1318,7 +1312,7 @@ class ICCompareStub: public PlatformCodeStub {
void set_known_map(Handle<Map> map) { known_map_ = map; }
- explicit ICCompareStub(uint32_t stub_key) : PlatformCodeStub(stub_key) {
+ explicit CompareICStub(uint32_t stub_key) : PlatformCodeStub(stub_key) {
DCHECK_EQ(MajorKeyFromKey(stub_key), MajorKey());
}
@@ -1333,7 +1327,7 @@ class ICCompareStub: public PlatformCodeStub {
CompareIC::State state() const { return StateBits::decode(minor_key_); }
private:
- virtual Major MajorKey() const OVERRIDE { return CompareIC; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
virtual Code::Kind GetCodeKind() const { return Code::COMPARE_IC; }
@@ -1361,7 +1355,7 @@ class ICCompareStub: public PlatformCodeStub {
Handle<Map> known_map_;
- DISALLOW_COPY_AND_ASSIGN(ICCompareStub);
+ DISALLOW_COPY_AND_ASSIGN(CompareICStub);
};
@@ -1431,7 +1425,7 @@ class CompareNilICStub : public HydrogenCodeStub {
set_sub_minor_key(NilValueBits::encode(nil));
}
- virtual Major MajorKey() const OVERRIDE { return CompareNilIC; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
enum CompareNilType {
UNDEFINED,
@@ -1488,7 +1482,7 @@ class CEntryStub : public PlatformCodeStub {
static void GenerateAheadOfTime(Isolate* isolate);
private:
- virtual Major MajorKey() const OVERRIDE { return CEntry; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
bool save_doubles() const { return SaveDoublesBits::decode(minor_key_); }
#ifdef _WIN64
@@ -1514,7 +1508,7 @@ class JSEntryStub : public PlatformCodeStub {
void GenerateBody(MacroAssembler* masm, bool is_construct);
private:
- virtual Major MajorKey() const OVERRIDE { return JSEntry; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
virtual void FinishCode(Handle<Code> code);
@@ -1555,7 +1549,7 @@ class ArgumentsAccessStub: public PlatformCodeStub {
}
private:
- virtual Major MajorKey() const OVERRIDE { return ArgumentsAccess; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
Type type() const { return TypeBits::decode(minor_key_); }
@@ -1578,7 +1572,7 @@ class RegExpExecStub: public PlatformCodeStub {
explicit RegExpExecStub(Isolate* isolate) : PlatformCodeStub(isolate) { }
private:
- virtual Major MajorKey() const OVERRIDE { return RegExpExec; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
void Generate(MacroAssembler* masm);
@@ -1596,7 +1590,7 @@ class RegExpConstructResultStub FINAL : public HydrogenCodeStub {
virtual void InitializeInterfaceDescriptor(
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
- virtual Major MajorKey() const OVERRIDE { return RegExpConstructResult; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
static void InstallDescriptors(Isolate* isolate);
@@ -1628,7 +1622,7 @@ class CallFunctionStub: public PlatformCodeStub {
CodeStubInterfaceDescriptor* descriptor);
private:
- virtual Major MajorKey() const OVERRIDE { return CallFunction; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
int argc() const { return ArgcBits::decode(minor_key_); }
int flags() const { return FlagBits::decode(minor_key_); }
@@ -1667,7 +1661,7 @@ class CallConstructStub: public PlatformCodeStub {
CodeStubInterfaceDescriptor* descriptor);
private:
- virtual Major MajorKey() const OVERRIDE { return CallConstruct; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
CallConstructorFlags flags() const { return FlagBits::decode(minor_key_); }
@@ -1860,9 +1854,7 @@ class StringCharAtGenerator {
class LoadDictionaryElementStub : public HydrogenCodeStub {
public:
explicit LoadDictionaryElementStub(Isolate* isolate)
- : HydrogenCodeStub(isolate) {
- set_sub_minor_key(DICTIONARY_ELEMENTS);
- }
+ : HydrogenCodeStub(isolate) {}
virtual Handle<Code> GenerateCode() OVERRIDE;
@@ -1870,28 +1862,12 @@ class LoadDictionaryElementStub : public HydrogenCodeStub {
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE { return LoadElement; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
DISALLOW_COPY_AND_ASSIGN(LoadDictionaryElementStub);
};
-class LoadDictionaryElementPlatformStub : public PlatformCodeStub {
- public:
- explicit LoadDictionaryElementPlatformStub(Isolate* isolate)
- : PlatformCodeStub(isolate) {
- minor_key_ = DICTIONARY_ELEMENTS;
- }
-
- void Generate(MacroAssembler* masm);
-
- private:
- virtual Major MajorKey() const OVERRIDE { return LoadElement; }
-
- DISALLOW_COPY_AND_ASSIGN(LoadDictionaryElementPlatformStub);
-};
-
-
class KeyedLoadGenericStub : public HydrogenCodeStub {
public:
explicit KeyedLoadGenericStub(Isolate* isolate) : HydrogenCodeStub(isolate) {}
@@ -1907,7 +1883,7 @@ class KeyedLoadGenericStub : public HydrogenCodeStub {
virtual InlineCacheState GetICState() const { return GENERIC; }
private:
- virtual Major MajorKey() const OVERRIDE { return KeyedLoadGeneric; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
DISALLOW_COPY_AND_ASSIGN(KeyedLoadGenericStub);
};
@@ -1930,7 +1906,7 @@ class LoadICTrampolineStub : public PlatformCodeStub {
return static_cast<ExtraICState>(minor_key_);
}
- virtual Major MajorKey() const OVERRIDE { return LoadICTrampoline; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
private:
LoadIC::State state() const {
@@ -1952,7 +1928,7 @@ class KeyedLoadICTrampolineStub : public LoadICTrampolineStub {
return Code::KEYED_LOAD_IC;
}
- virtual Major MajorKey() const OVERRIDE { return KeyedLoadICTrampoline; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
private:
virtual void Generate(MacroAssembler* masm);
@@ -1986,7 +1962,7 @@ class VectorLoadStub : public HydrogenCodeStub {
}
private:
- virtual Major MajorKey() const OVERRIDE { return VectorLoad; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
LoadIC::State state() const { return LoadIC::State(GetExtraICState()); }
@@ -2010,9 +1986,9 @@ class VectorKeyedLoadStub : public VectorLoadStub {
return Code::KEYED_LOAD_IC;
}
- virtual Major MajorKey() const OVERRIDE { return VectorKeyedLoad; }
-
private:
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
+
DISALLOW_COPY_AND_ASSIGN(VectorKeyedLoadStub);
};
@@ -2035,7 +2011,7 @@ class DoubleToIStub : public PlatformCodeStub {
virtual bool SometimesSetsUpAFrame() { return false; }
private:
- virtual Major MajorKey() const OVERRIDE { return DoubleToI; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
Register source() const {
return Register::from_code(SourceRegisterBits::decode(minor_key_));
@@ -2090,7 +2066,7 @@ class LoadFastElementStub : public HydrogenCodeStub {
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE { return LoadElement; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class ElementsKindBits: public BitField<ElementsKind, 0, 8> {};
class IsJSArrayBits: public BitField<bool, 8, 1> {};
@@ -2125,7 +2101,7 @@ class StoreFastElementStub : public HydrogenCodeStub {
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE { return StoreElement; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class ElementsKindBits: public BitField<ElementsKind, 0, 8> {};
class StoreModeBits: public BitField<KeyedAccessStoreMode, 8, 4> {};
@@ -2160,7 +2136,7 @@ class TransitionElementsKindStub : public HydrogenCodeStub {
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE { return TransitionElementsKind; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class FromKindBits: public BitField<ElementsKind, 8, 8> {};
class ToKindBits: public BitField<ElementsKind, 0, 8> {};
@@ -2230,9 +2206,7 @@ class ArrayNoArgumentConstructorStub : public ArrayConstructorStubBase {
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE {
- return ArrayNoArgumentConstructor;
- }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
virtual void PrintName(OStream& os) const OVERRIDE { // NOLINT
BasePrintName(os, "ArrayNoArgumentConstructorStub");
@@ -2257,9 +2231,7 @@ class ArraySingleArgumentConstructorStub : public ArrayConstructorStubBase {
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE {
- return ArraySingleArgumentConstructor;
- }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
virtual void PrintName(OStream& os) const { // NOLINT
BasePrintName(os, "ArraySingleArgumentConstructorStub");
@@ -2284,9 +2256,7 @@ class ArrayNArgumentsConstructorStub : public ArrayConstructorStubBase {
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE {
- return ArrayNArgumentsConstructor;
- }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
virtual void PrintName(OStream& os) const { // NOLINT
BasePrintName(os, "ArrayNArgumentsConstructorStub");
@@ -2333,9 +2303,7 @@ class InternalArrayNoArgumentConstructorStub : public
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE {
- return InternalArrayNoArgumentConstructor;
- }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
DISALLOW_COPY_AND_ASSIGN(InternalArrayNoArgumentConstructorStub);
};
@@ -2354,9 +2322,7 @@ class InternalArraySingleArgumentConstructorStub : public
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE {
- return InternalArraySingleArgumentConstructor;
- }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
DISALLOW_COPY_AND_ASSIGN(InternalArraySingleArgumentConstructorStub);
};
@@ -2374,9 +2340,7 @@ class InternalArrayNArgumentsConstructorStub : public
CodeStubInterfaceDescriptor* descriptor) OVERRIDE;
private:
- virtual Major MajorKey() const OVERRIDE {
- return InternalArrayNArgumentsConstructor;
- }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
DISALLOW_COPY_AND_ASSIGN(InternalArrayNArgumentsConstructorStub);
};
@@ -2392,7 +2356,7 @@ class StoreElementStub : public PlatformCodeStub {
void Generate(MacroAssembler* masm);
private:
- virtual Major MajorKey() const OVERRIDE { return StoreElement; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
ElementsKind elements_kind() const {
return ElementsKindBits::decode(minor_key_);
@@ -2488,13 +2452,13 @@ class ToBooleanStub: public HydrogenCodeStub {
}
private:
- virtual Major MajorKey() const OVERRIDE { return ToBoolean; }
-
ToBooleanStub(Isolate* isolate, InitializationState init_state)
: HydrogenCodeStub(isolate, init_state) {
set_sub_minor_key(ResultModeBits::encode(RESULT_AS_SMI));
}
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
+
class TypesBits : public BitField<byte, 0, NUMBER_OF_TYPES> {};
class ResultModeBits : public BitField<ResultMode, NUMBER_OF_TYPES, 2> {};
@@ -2551,9 +2515,7 @@ class ElementsTransitionAndStoreStub : public HydrogenCodeStub {
}
private:
- virtual Major MajorKey() const OVERRIDE {
- return ElementsTransitionAndStore;
- }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
class FromBits : public BitField<ElementsKind, 0, 8> {};
class ToBits : public BitField<ElementsKind, 8, 8> {};
@@ -2570,9 +2532,7 @@ class StoreArrayLiteralElementStub : public PlatformCodeStub {
: PlatformCodeStub(isolate) { }
private:
- virtual Major MajorKey() const OVERRIDE {
- return StoreArrayLiteralElement;
- }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
void Generate(MacroAssembler* masm);
@@ -2590,7 +2550,7 @@ class StubFailureTrampolineStub : public PlatformCodeStub {
static void GenerateAheadOfTime(Isolate* isolate);
private:
- virtual Major MajorKey() const OVERRIDE { return StubFailureTrampoline; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
StubFunctionMode function_mode() const {
return FunctionModeField::decode(minor_key_);
@@ -2619,7 +2579,7 @@ class ProfileEntryHookStub : public PlatformCodeStub {
intptr_t stack_pointer,
Isolate* isolate);
- virtual Major MajorKey() const OVERRIDE { return ProfileEntryHook; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
void Generate(MacroAssembler* masm);
@@ -2640,7 +2600,7 @@ class StoreBufferOverflowStub : public PlatformCodeStub {
virtual bool SometimesSetsUpAFrame() { return false; }
private:
- Major MajorKey() const OVERRIDE { return StoreBufferOverflow; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
bool save_doubles() const { return SaveDoublesBits::decode(minor_key_); }
@@ -2655,7 +2615,7 @@ class SubStringStub : public PlatformCodeStub {
explicit SubStringStub(Isolate* isolate) : PlatformCodeStub(isolate) {}
private:
- Major MajorKey() const OVERRIDE { return SubString; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
void Generate(MacroAssembler* masm);
@@ -2668,12 +2628,20 @@ class StringCompareStub : public PlatformCodeStub {
explicit StringCompareStub(Isolate* isolate) : PlatformCodeStub(isolate) {}
private:
- virtual Major MajorKey() const { return StringCompare; }
+ virtual inline Major MajorKey() const FINAL OVERRIDE;
virtual void Generate(MacroAssembler* masm);
DISALLOW_COPY_AND_ASSIGN(StringCompareStub);
};
+
+
+#define DEFINE_MAJOR_KEY(NAME) \
+ CodeStub::Major NAME##Stub::MajorKey() const { return NAME; }
+
+CODE_STUB_LIST(DEFINE_MAJOR_KEY)
+
+#undef DEFINE_MAJOR_KEY
} } // namespace v8::internal
#endif // V8_CODE_STUBS_H_

Powered by Google App Engine
This is Rietveld 408576698