Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 70 V(CreateAllocationSite) \ | 70 V(CreateAllocationSite) \ |
| 71 V(ToBoolean) \ | 71 V(ToBoolean) \ |
| 72 V(ToNumber) \ | 72 V(ToNumber) \ |
| 73 V(ArgumentsAccess) \ | 73 V(ArgumentsAccess) \ |
| 74 V(RegExpConstructResult) \ | 74 V(RegExpConstructResult) \ |
| 75 V(NumberToString) \ | 75 V(NumberToString) \ |
| 76 V(DoubleToI) \ | 76 V(DoubleToI) \ |
| 77 V(CEntry) \ | 77 V(CEntry) \ |
| 78 V(JSEntry) \ | 78 V(JSEntry) \ |
| 79 V(KeyedLoadElement) \ | 79 V(KeyedLoadElement) \ |
| 80 V(KeyedLoadGeneric) \ | |
| 80 V(ArrayNoArgumentConstructor) \ | 81 V(ArrayNoArgumentConstructor) \ |
| 81 V(ArraySingleArgumentConstructor) \ | 82 V(ArraySingleArgumentConstructor) \ |
| 82 V(ArrayNArgumentsConstructor) \ | 83 V(ArrayNArgumentsConstructor) \ |
| 83 V(InternalArrayNoArgumentConstructor) \ | 84 V(InternalArrayNoArgumentConstructor) \ |
| 84 V(InternalArraySingleArgumentConstructor) \ | 85 V(InternalArraySingleArgumentConstructor) \ |
| 85 V(InternalArrayNArgumentsConstructor) \ | 86 V(InternalArrayNArgumentsConstructor) \ |
| 86 V(KeyedStoreElement) \ | 87 V(KeyedStoreElement) \ |
| 87 V(DebuggerStatement) \ | 88 V(DebuggerStatement) \ |
| 88 V(NameDictionaryLookup) \ | 89 V(NameDictionaryLookup) \ |
| 89 V(ElementsTransitionAndStore) \ | 90 V(ElementsTransitionAndStore) \ |
| (...skipping 1772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1862 void Generate(MacroAssembler* masm); | 1863 void Generate(MacroAssembler* masm); |
| 1863 | 1864 |
| 1864 private: | 1865 private: |
| 1865 Major MajorKey() { return KeyedLoadElement; } | 1866 Major MajorKey() { return KeyedLoadElement; } |
| 1866 int MinorKey() { return DICTIONARY_ELEMENTS; } | 1867 int MinorKey() { return DICTIONARY_ELEMENTS; } |
| 1867 | 1868 |
| 1868 DISALLOW_COPY_AND_ASSIGN(KeyedLoadDictionaryElementPlatformStub); | 1869 DISALLOW_COPY_AND_ASSIGN(KeyedLoadDictionaryElementPlatformStub); |
| 1869 }; | 1870 }; |
| 1870 | 1871 |
| 1871 | 1872 |
| 1873 class KeyedLoadGenericElementStub : public HydrogenCodeStub { | |
| 1874 public: | |
| 1875 KeyedLoadGenericElementStub() {} | |
| 1876 | |
| 1877 virtual Handle<Code> GenerateCode(Isolate* isolate) V8_OVERRIDE; | |
| 1878 | |
| 1879 virtual void InitializeInterfaceDescriptor( | |
| 1880 Isolate* isolate, | |
| 1881 CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE; | |
| 1882 | |
| 1883 static void InstallDescriptors(Isolate* isolate); | |
| 1884 | |
| 1885 virtual Code::Kind GetCodeKind() const { return Code::KEYED_LOAD_IC; } | |
| 1886 virtual InlineCacheState GetICState() { return MEGAMORPHIC; } | |
|
Toon Verwaest
2013/12/04 17:29:26
This should be GENERIC instead of MEGAMORPHIC.
danno
2014/06/06 15:43:50
Done.
| |
| 1887 | |
| 1888 private: | |
| 1889 Major MajorKey() { return KeyedLoadGeneric; } | |
| 1890 int NotMissMinorKey() { return 0; } | |
| 1891 | |
| 1892 DISALLOW_COPY_AND_ASSIGN(KeyedLoadGenericElementStub); | |
| 1893 }; | |
| 1894 | |
| 1895 | |
| 1872 class DoubleToIStub : public PlatformCodeStub { | 1896 class DoubleToIStub : public PlatformCodeStub { |
| 1873 public: | 1897 public: |
| 1874 DoubleToIStub(Register source, | 1898 DoubleToIStub(Register source, |
| 1875 Register destination, | 1899 Register destination, |
| 1876 int offset, | 1900 int offset, |
| 1877 bool is_truncating, | 1901 bool is_truncating, |
| 1878 bool skip_fastpath = false) : bit_field_(0) { | 1902 bool skip_fastpath = false) : bit_field_(0) { |
| 1879 bit_field_ = SourceRegisterBits::encode(source.code_) | | 1903 bit_field_ = SourceRegisterBits::encode(source.code_) | |
| 1880 DestinationRegisterBits::encode(destination.code_) | | 1904 DestinationRegisterBits::encode(destination.code_) | |
| 1881 OffsetBits::encode(offset) | | 1905 OffsetBits::encode(offset) | |
| (...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2512 int MinorKey() { return 0; } | 2536 int MinorKey() { return 0; } |
| 2513 | 2537 |
| 2514 void Generate(MacroAssembler* masm); | 2538 void Generate(MacroAssembler* masm); |
| 2515 | 2539 |
| 2516 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); | 2540 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); |
| 2517 }; | 2541 }; |
| 2518 | 2542 |
| 2519 } } // namespace v8::internal | 2543 } } // namespace v8::internal |
| 2520 | 2544 |
| 2521 #endif // V8_CODE_STUBS_H_ | 2545 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |