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_IC_H_ | 5 #ifndef V8_IC_H_ |
6 #define V8_IC_H_ | 6 #define V8_IC_H_ |
7 | 7 |
8 #include "src/macro-assembler.h" | 8 #include "src/macro-assembler.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
643 Handle<Object> name, | 643 Handle<Object> name, |
644 Handle<Object> value); | 644 Handle<Object> value); |
645 | 645 |
646 // Code generators for stub routines. Only called once at startup. | 646 // Code generators for stub routines. Only called once at startup. |
647 static void GenerateInitialize(MacroAssembler* masm) { GenerateMiss(masm); } | 647 static void GenerateInitialize(MacroAssembler* masm) { GenerateMiss(masm); } |
648 static void GeneratePreMonomorphic(MacroAssembler* masm) { | 648 static void GeneratePreMonomorphic(MacroAssembler* masm) { |
649 GenerateMiss(masm); | 649 GenerateMiss(masm); |
650 } | 650 } |
651 static void GenerateMiss(MacroAssembler* masm); | 651 static void GenerateMiss(MacroAssembler* masm); |
652 static void GenerateSlow(MacroAssembler* masm); | 652 static void GenerateSlow(MacroAssembler* masm); |
653 static void GenerateRuntimeSetProperty(MacroAssembler* masm, | |
654 StrictMode strict_mode); | |
655 static void GenerateGeneric(MacroAssembler* masm, StrictMode strict_mode); | 653 static void GenerateGeneric(MacroAssembler* masm, StrictMode strict_mode); |
656 static void GenerateSloppyArguments(MacroAssembler* masm); | 654 static void GenerateSloppyArguments(MacroAssembler* masm); |
657 | 655 |
658 protected: | 656 protected: |
659 virtual Handle<Code> pre_monomorphic_stub() const { | 657 virtual Handle<Code> pre_monomorphic_stub() const { |
660 return pre_monomorphic_stub(isolate(), strict_mode()); | 658 return pre_monomorphic_stub(isolate(), strict_mode()); |
661 } | 659 } |
662 static Handle<Code> pre_monomorphic_stub(Isolate* isolate, | 660 static Handle<Code> pre_monomorphic_stub(Isolate* isolate, |
663 StrictMode strict_mode) { | 661 StrictMode strict_mode) { |
664 if (strict_mode == STRICT) { | 662 if (strict_mode == STRICT) { |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
955 | 953 |
956 // Support functions for interceptor handlers. | 954 // Support functions for interceptor handlers. |
957 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptorOnly); | 955 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptorOnly); |
958 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptor); | 956 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptor); |
959 DECLARE_RUNTIME_FUNCTION(LoadElementWithInterceptor); | 957 DECLARE_RUNTIME_FUNCTION(LoadElementWithInterceptor); |
960 DECLARE_RUNTIME_FUNCTION(StorePropertyWithInterceptor); | 958 DECLARE_RUNTIME_FUNCTION(StorePropertyWithInterceptor); |
961 } | 959 } |
962 } // namespace v8::internal | 960 } // namespace v8::internal |
963 | 961 |
964 #endif // V8_IC_H_ | 962 #endif // V8_IC_H_ |
OLD | NEW |