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 #include "v8.h" | 5 #include "v8.h" |
6 | 6 |
7 #include "bootstrapper.h" | 7 #include "bootstrapper.h" |
8 #include "code-stubs.h" | 8 #include "code-stubs.h" |
9 #include "cpu-profiler.h" | 9 #include "cpu-profiler.h" |
10 #include "stub-cache.h" | 10 #include "stub-cache.h" |
11 #include "factory.h" | 11 #include "factory.h" |
12 #include "gdb-jit.h" | 12 #include "gdb-jit.h" |
13 #include "macro-assembler.h" | 13 #include "macro-assembler.h" |
14 | 14 |
15 namespace v8 { | 15 namespace v8 { |
16 namespace internal { | 16 namespace internal { |
17 | 17 |
18 | 18 |
19 CodeStubInterfaceDescriptor::CodeStubInterfaceDescriptor() | 19 CodeStubInterfaceDescriptor::CodeStubInterfaceDescriptor() |
20 : register_param_count_(-1), | 20 : register_param_count_(-1), |
21 stack_parameter_count_(no_reg), | 21 stack_parameter_count_(no_reg), |
22 hint_stack_parameter_count_(-1), | 22 hint_stack_parameter_count_(-1), |
23 function_mode_(NOT_JS_FUNCTION_STUB_MODE), | 23 function_mode_(NOT_JS_FUNCTION_STUB_MODE), |
24 register_params_(NULL), | 24 register_params_(NULL), |
25 register_param_representations_(NULL), | |
26 deoptimization_handler_(NULL), | 25 deoptimization_handler_(NULL), |
27 handler_arguments_mode_(DONT_PASS_ARGUMENTS), | 26 handler_arguments_mode_(DONT_PASS_ARGUMENTS), |
28 miss_handler_(), | 27 miss_handler_(), |
29 has_miss_handler_(false) { } | 28 has_miss_handler_(false) { } |
30 | 29 |
31 | 30 |
32 bool CodeStub::FindCodeInCache(Code** code_out) { | 31 bool CodeStub::FindCodeInCache(Code** code_out) { |
33 UnseededNumberDictionary* stubs = isolate()->heap()->code_stubs(); | 32 UnseededNumberDictionary* stubs = isolate()->heap()->code_stubs(); |
34 int index = stubs->FindEntry(GetKey()); | 33 int index = stubs->FindEntry(GetKey()); |
35 if (index != UnseededNumberDictionary::kNotFound) { | 34 if (index != UnseededNumberDictionary::kNotFound) { |
(...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 | 726 |
728 | 727 |
729 void FastNewContextStub::InstallDescriptors(Isolate* isolate) { | 728 void FastNewContextStub::InstallDescriptors(Isolate* isolate) { |
730 FastNewContextStub stub(isolate, FastNewContextStub::kMaximumSlots); | 729 FastNewContextStub stub(isolate, FastNewContextStub::kMaximumSlots); |
731 InstallDescriptor(isolate, &stub); | 730 InstallDescriptor(isolate, &stub); |
732 } | 731 } |
733 | 732 |
734 | 733 |
735 // static | 734 // static |
736 void FastCloneShallowArrayStub::InstallDescriptors(Isolate* isolate) { | 735 void FastCloneShallowArrayStub::InstallDescriptors(Isolate* isolate) { |
737 FastCloneShallowArrayStub stub(isolate, DONT_TRACK_ALLOCATION_SITE); | 736 FastCloneShallowArrayStub stub(isolate, |
| 737 FastCloneShallowArrayStub::CLONE_ELEMENTS, |
| 738 DONT_TRACK_ALLOCATION_SITE, 0); |
738 InstallDescriptor(isolate, &stub); | 739 InstallDescriptor(isolate, &stub); |
739 } | 740 } |
740 | 741 |
741 | 742 |
742 // static | 743 // static |
743 void BinaryOpICStub::InstallDescriptors(Isolate* isolate) { | 744 void BinaryOpICStub::InstallDescriptors(Isolate* isolate) { |
744 BinaryOpICStub stub(isolate, Token::ADD, NO_OVERWRITE); | 745 BinaryOpICStub stub(isolate, Token::ADD, NO_OVERWRITE); |
745 InstallDescriptor(isolate, &stub); | 746 InstallDescriptor(isolate, &stub); |
746 } | 747 } |
747 | 748 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
798 InstallDescriptor(isolate, &stub3); | 799 InstallDescriptor(isolate, &stub3); |
799 } | 800 } |
800 | 801 |
801 InternalArrayConstructorStub::InternalArrayConstructorStub( | 802 InternalArrayConstructorStub::InternalArrayConstructorStub( |
802 Isolate* isolate) : PlatformCodeStub(isolate) { | 803 Isolate* isolate) : PlatformCodeStub(isolate) { |
803 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); | 804 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); |
804 } | 805 } |
805 | 806 |
806 | 807 |
807 } } // namespace v8::internal | 808 } } // namespace v8::internal |
OLD | NEW |