| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_CODE_STUBS_H_ | 5 #ifndef V8_CODE_STUBS_H_ |
| 6 #define V8_CODE_STUBS_H_ | 6 #define V8_CODE_STUBS_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
| (...skipping 1847 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1858 private: | 1858 private: |
| 1859 Major MajorKey() const { return LoadElement; } | 1859 Major MajorKey() const { return LoadElement; } |
| 1860 int MinorKey() const { return DICTIONARY_ELEMENTS; } | 1860 int MinorKey() const { return DICTIONARY_ELEMENTS; } |
| 1861 | 1861 |
| 1862 DISALLOW_COPY_AND_ASSIGN(LoadDictionaryElementPlatformStub); | 1862 DISALLOW_COPY_AND_ASSIGN(LoadDictionaryElementPlatformStub); |
| 1863 }; | 1863 }; |
| 1864 | 1864 |
| 1865 | 1865 |
| 1866 class KeyedLoadGenericStub : public HydrogenCodeStub { | 1866 class KeyedLoadGenericStub : public HydrogenCodeStub { |
| 1867 public: | 1867 public: |
| 1868 explicit KeyedLoadGenericStub(Isolate* isolate) : HydrogenCodeStub(isolate) {} | 1868 explicit KeyedLoadGenericStub(Isolate* isolate, LoadIC::PropertyLookupMode loo
kup_mode) |
| 1869 : HydrogenCodeStub(isolate), |
| 1870 lookup_mode_(lookup_mode) {} |
| 1869 | 1871 |
| 1870 virtual Handle<Code> GenerateCode() V8_OVERRIDE; | 1872 virtual Handle<Code> GenerateCode() V8_OVERRIDE; |
| 1871 | 1873 |
| 1872 virtual void InitializeInterfaceDescriptor( | 1874 virtual void InitializeInterfaceDescriptor( |
| 1873 CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE; | 1875 CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE; |
| 1874 | 1876 |
| 1875 static void InstallDescriptors(Isolate* isolate); | 1877 static void InstallDescriptors(Isolate* isolate); |
| 1876 | 1878 |
| 1877 virtual Code::Kind GetCodeKind() const { return Code::KEYED_LOAD_IC; } | 1879 virtual Code::Kind GetCodeKind() const { return Code::KEYED_LOAD_IC; } |
| 1878 virtual InlineCacheState GetICState() const { return GENERIC; } | 1880 virtual InlineCacheState GetICState() const { return GENERIC; } |
| 1881 virtual ExtraICState GetExtraICState() const { |
| 1882 return LoadIC::ComputeExtraICState(NOT_CONTEXTUAL, lookup_mode_); |
| 1883 } |
| 1879 | 1884 |
| 1880 private: | 1885 private: |
| 1881 Major MajorKey() const { return KeyedLoadGeneric; } | 1886 Major MajorKey() const { return KeyedLoadGeneric; } |
| 1882 int NotMissMinorKey() const { return 0; } | 1887 int NotMissMinorKey() const { |
| 1888 return lookup_mode_ == LoadIC::NORMAL_LOOKUP ? 0 : 1; |
| 1889 } |
| 1890 |
| 1891 LoadIC::PropertyLookupMode lookup_mode_; |
| 1883 | 1892 |
| 1884 DISALLOW_COPY_AND_ASSIGN(KeyedLoadGenericStub); | 1893 DISALLOW_COPY_AND_ASSIGN(KeyedLoadGenericStub); |
| 1885 }; | 1894 }; |
| 1886 | 1895 |
| 1887 | 1896 |
| 1888 class DoubleToIStub : public PlatformCodeStub { | 1897 class DoubleToIStub : public PlatformCodeStub { |
| 1889 public: | 1898 public: |
| 1890 DoubleToIStub(Isolate* isolate, | 1899 DoubleToIStub(Isolate* isolate, |
| 1891 Register source, | 1900 Register source, |
| 1892 Register destination, | 1901 Register destination, |
| (...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2525 | 2534 |
| 2526 | 2535 |
| 2527 class CallDescriptors { | 2536 class CallDescriptors { |
| 2528 public: | 2537 public: |
| 2529 static void InitializeForIsolate(Isolate* isolate); | 2538 static void InitializeForIsolate(Isolate* isolate); |
| 2530 }; | 2539 }; |
| 2531 | 2540 |
| 2532 } } // namespace v8::internal | 2541 } } // namespace v8::internal |
| 2533 | 2542 |
| 2534 #endif // V8_CODE_STUBS_H_ | 2543 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |