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

Side by Side Diff: src/code-stubs.h

Issue 685123007: Restore special interceptor stub for keyed loads. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/builtins.cc ('k') | src/ic/handler-compiler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 20 matching lines...) Expand all
31 V(CallIC_Array) \ 31 V(CallIC_Array) \
32 V(CEntry) \ 32 V(CEntry) \
33 V(CompareIC) \ 33 V(CompareIC) \
34 V(DoubleToI) \ 34 V(DoubleToI) \
35 V(FunctionPrototype) \ 35 V(FunctionPrototype) \
36 V(Instanceof) \ 36 V(Instanceof) \
37 V(InternalArrayConstructor) \ 37 V(InternalArrayConstructor) \
38 V(JSEntry) \ 38 V(JSEntry) \
39 V(KeyedLoadICTrampoline) \ 39 V(KeyedLoadICTrampoline) \
40 V(LoadICTrampoline) \ 40 V(LoadICTrampoline) \
41 V(LoadIndexedInterceptor) \
42 V(LoadIndexedString) \ 41 V(LoadIndexedString) \
43 V(MathPow) \ 42 V(MathPow) \
44 V(ProfileEntryHook) \ 43 V(ProfileEntryHook) \
45 V(RecordWrite) \ 44 V(RecordWrite) \
46 V(RegExpExec) \ 45 V(RegExpExec) \
47 V(StoreArrayLiteralElement) \ 46 V(StoreArrayLiteralElement) \
48 V(StoreBufferOverflow) \ 47 V(StoreBufferOverflow) \
49 V(StoreElement) \ 48 V(StoreElement) \
50 V(StringCompare) \ 49 V(StringCompare) \
51 V(StubFailureTrampoline) \ 50 V(StubFailureTrampoline) \
(...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after
862 if (FLAG_vector_ics) { 861 if (FLAG_vector_ics) {
863 return VectorLoadICDescriptor(isolate()); 862 return VectorLoadICDescriptor(isolate());
864 } 863 }
865 return LoadDescriptor(isolate()); 864 return LoadDescriptor(isolate());
866 } 865 }
867 866
868 DEFINE_PLATFORM_CODE_STUB(FunctionPrototype, PlatformCodeStub); 867 DEFINE_PLATFORM_CODE_STUB(FunctionPrototype, PlatformCodeStub);
869 }; 868 };
870 869
871 870
872 // TODO(mvstanton): Translate to hydrogen code stub.
873 class LoadIndexedInterceptorStub : public PlatformCodeStub {
874 public:
875 explicit LoadIndexedInterceptorStub(Isolate* isolate)
876 : PlatformCodeStub(isolate) {}
877
878 virtual Code::Kind GetCodeKind() const { return Code::HANDLER; }
879 virtual Code::StubType GetStubType() { return Code::FAST; }
880
881 DEFINE_CALL_INTERFACE_DESCRIPTOR(Load);
882 DEFINE_PLATFORM_CODE_STUB(LoadIndexedInterceptor, PlatformCodeStub);
883 };
884
885
886 class LoadIndexedStringStub : public PlatformCodeStub { 871 class LoadIndexedStringStub : public PlatformCodeStub {
887 public: 872 public:
888 explicit LoadIndexedStringStub(Isolate* isolate) 873 explicit LoadIndexedStringStub(Isolate* isolate)
889 : PlatformCodeStub(isolate) {} 874 : PlatformCodeStub(isolate) {}
890 875
891 virtual Code::Kind GetCodeKind() const { return Code::HANDLER; } 876 virtual Code::Kind GetCodeKind() const { return Code::HANDLER; }
892 virtual Code::StubType GetStubType() { return Code::FAST; } 877 virtual Code::StubType GetStubType() { return Code::FAST; }
893 878
894 DEFINE_CALL_INTERFACE_DESCRIPTOR(Load); 879 DEFINE_CALL_INTERFACE_DESCRIPTOR(Load);
895 DEFINE_PLATFORM_CODE_STUB(LoadIndexedString, PlatformCodeStub); 880 DEFINE_PLATFORM_CODE_STUB(LoadIndexedString, PlatformCodeStub);
(...skipping 1630 matching lines...) Expand 10 before | Expand all | Expand 10 after
2526 2511
2527 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR 2512 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR
2528 #undef DEFINE_PLATFORM_CODE_STUB 2513 #undef DEFINE_PLATFORM_CODE_STUB
2529 #undef DEFINE_HANDLER_CODE_STUB 2514 #undef DEFINE_HANDLER_CODE_STUB
2530 #undef DEFINE_HYDROGEN_CODE_STUB 2515 #undef DEFINE_HYDROGEN_CODE_STUB
2531 #undef DEFINE_CODE_STUB 2516 #undef DEFINE_CODE_STUB
2532 #undef DEFINE_CODE_STUB_BASE 2517 #undef DEFINE_CODE_STUB_BASE
2533 } } // namespace v8::internal 2518 } } // namespace v8::internal
2534 2519
2535 #endif // V8_CODE_STUBS_H_ 2520 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « src/builtins.cc ('k') | src/ic/handler-compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698