| 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 |