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 "allocation.h" | 8 #include "allocation.h" |
9 #include "assembler.h" | 9 #include "assembler.h" |
10 #include "codegen.h" | 10 #include "codegen.h" |
(...skipping 800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
811 virtual InlineCacheState GetICState() V8_FINAL V8_OVERRIDE { | 811 virtual InlineCacheState GetICState() V8_FINAL V8_OVERRIDE { |
812 return state_.GetICState(); | 812 return state_.GetICState(); |
813 } | 813 } |
814 | 814 |
815 virtual ExtraICState GetExtraICState() V8_FINAL V8_OVERRIDE { | 815 virtual ExtraICState GetExtraICState() V8_FINAL V8_OVERRIDE { |
816 return state_.GetExtraICState(); | 816 return state_.GetExtraICState(); |
817 } | 817 } |
818 | 818 |
819 protected: | 819 protected: |
820 virtual int MinorKey() { return GetExtraICState(); } | 820 virtual int MinorKey() { return GetExtraICState(); } |
821 virtual void PrintState(StringStream* stream) V8_FINAL V8_OVERRIDE; | 821 virtual void PrintState(StringStream* stream) V8_OVERRIDE; |
822 | 822 |
823 virtual CodeStub::Major MajorKey() { return CallIC; } | 823 virtual CodeStub::Major MajorKey() { return CallIC; } |
824 | 824 |
825 // Code generation helpers. | 825 // Code generation helpers. |
826 void GenerateMiss(MacroAssembler* masm, IC::UtilityId id); | 826 void GenerateMiss(MacroAssembler* masm, IC::UtilityId id); |
827 | 827 |
828 const CallIC::State state_; | 828 const CallIC::State state_; |
829 }; | 829 }; |
830 | 830 |
831 | 831 |
832 class CallIC_ArrayStub: public CallICStub { | 832 class CallIC_ArrayStub: public CallICStub { |
833 public: | 833 public: |
834 CallIC_ArrayStub(Isolate* isolate, const CallIC::State& state_in) | 834 CallIC_ArrayStub(Isolate* isolate, const CallIC::State& state_in) |
835 : CallICStub(isolate, state_in) {} | 835 : CallICStub(isolate, state_in) {} |
836 | 836 |
837 virtual void Generate(MacroAssembler* masm); | 837 virtual void Generate(MacroAssembler* masm); |
838 | 838 |
839 protected: | 839 protected: |
840 virtual void PrintState(StringStream* stream) V8_FINAL V8_OVERRIDE; | 840 virtual void PrintState(StringStream* stream) V8_OVERRIDE; |
841 | 841 |
842 virtual CodeStub::Major MajorKey() { return CallIC_Array; } | 842 virtual CodeStub::Major MajorKey() { return CallIC_Array; } |
843 }; | 843 }; |
844 | 844 |
845 | 845 |
846 class FunctionPrototypeStub: public ICStub { | 846 class FunctionPrototypeStub: public ICStub { |
847 public: | 847 public: |
848 FunctionPrototypeStub(Isolate* isolate, Code::Kind kind) | 848 FunctionPrototypeStub(Isolate* isolate, Code::Kind kind) |
849 : ICStub(isolate, kind) { } | 849 : ICStub(isolate, kind) { } |
850 virtual void Generate(MacroAssembler* masm); | 850 virtual void Generate(MacroAssembler* masm); |
(...skipping 1658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2509 | 2509 |
2510 | 2510 |
2511 class CallDescriptors { | 2511 class CallDescriptors { |
2512 public: | 2512 public: |
2513 static void InitializeForIsolate(Isolate* isolate); | 2513 static void InitializeForIsolate(Isolate* isolate); |
2514 }; | 2514 }; |
2515 | 2515 |
2516 } } // namespace v8::internal | 2516 } } // namespace v8::internal |
2517 | 2517 |
2518 #endif // V8_CODE_STUBS_H_ | 2518 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |