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 "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
8 #include "src/field-index.h" | 8 #include "src/field-index.h" |
9 #include "src/hydrogen.h" | 9 #include "src/hydrogen.h" |
10 #include "src/lithium.h" | 10 #include "src/lithium.h" |
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 | 596 |
597 | 597 |
598 Handle<Code> StringLengthStub::GenerateCode() { | 598 Handle<Code> StringLengthStub::GenerateCode() { |
599 return DoGenerateCode(this); | 599 return DoGenerateCode(this); |
600 } | 600 } |
601 | 601 |
602 | 602 |
603 template <> | 603 template <> |
604 HValue* CodeStubGraphBuilder<KeyedStoreFastElementStub>::BuildCodeStub() { | 604 HValue* CodeStubGraphBuilder<KeyedStoreFastElementStub>::BuildCodeStub() { |
605 BuildUncheckedMonomorphicElementAccess( | 605 BuildUncheckedMonomorphicElementAccess( |
606 GetParameter(0), GetParameter(1), GetParameter(2), | 606 GetParameter(StoreIC::kReceiverIndex), |
| 607 GetParameter(StoreIC::kNameIndex), |
| 608 GetParameter(StoreIC::kValueIndex), |
607 casted_stub()->is_js_array(), casted_stub()->elements_kind(), | 609 casted_stub()->is_js_array(), casted_stub()->elements_kind(), |
608 STORE, NEVER_RETURN_HOLE, casted_stub()->store_mode()); | 610 STORE, NEVER_RETURN_HOLE, casted_stub()->store_mode()); |
609 | 611 |
610 return GetParameter(2); | 612 return GetParameter(2); |
611 } | 613 } |
612 | 614 |
613 | 615 |
614 Handle<Code> KeyedStoreFastElementStub::GenerateCode() { | 616 Handle<Code> KeyedStoreFastElementStub::GenerateCode() { |
615 return DoGenerateCode(this); | 617 return DoGenerateCode(this); |
616 } | 618 } |
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1021 | 1023 |
1022 | 1024 |
1023 template <> | 1025 template <> |
1024 HValue* CodeStubGraphBuilder<StoreGlobalStub>::BuildCodeInitializedStub() { | 1026 HValue* CodeStubGraphBuilder<StoreGlobalStub>::BuildCodeInitializedStub() { |
1025 StoreGlobalStub* stub = casted_stub(); | 1027 StoreGlobalStub* stub = casted_stub(); |
1026 Handle<Object> hole(isolate()->heap()->the_hole_value(), isolate()); | 1028 Handle<Object> hole(isolate()->heap()->the_hole_value(), isolate()); |
1027 Handle<Object> placeholer_value(Smi::FromInt(0), isolate()); | 1029 Handle<Object> placeholer_value(Smi::FromInt(0), isolate()); |
1028 Handle<PropertyCell> placeholder_cell = | 1030 Handle<PropertyCell> placeholder_cell = |
1029 isolate()->factory()->NewPropertyCell(placeholer_value); | 1031 isolate()->factory()->NewPropertyCell(placeholer_value); |
1030 | 1032 |
1031 HParameter* value = GetParameter(2); | 1033 HParameter* value = GetParameter(StoreIC::kValueIndex); |
1032 | 1034 |
1033 if (stub->check_global()) { | 1035 if (stub->check_global()) { |
1034 // Check that the map of the global has not changed: use a placeholder map | 1036 // Check that the map of the global has not changed: use a placeholder map |
1035 // that will be replaced later with the global object's map. | 1037 // that will be replaced later with the global object's map. |
1036 Handle<Map> placeholder_map = isolate()->factory()->meta_map(); | 1038 Handle<Map> placeholder_map = isolate()->factory()->meta_map(); |
1037 HValue* global = Add<HConstant>( | 1039 HValue* global = Add<HConstant>( |
1038 StoreGlobalStub::global_placeholder(isolate())); | 1040 StoreGlobalStub::global_placeholder(isolate())); |
1039 Add<HCheckMaps>(global, placeholder_map); | 1041 Add<HCheckMaps>(global, placeholder_map); |
1040 } | 1042 } |
1041 | 1043 |
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1723 return Pop(); | 1725 return Pop(); |
1724 } | 1726 } |
1725 | 1727 |
1726 | 1728 |
1727 Handle<Code> KeyedLoadGenericElementStub::GenerateCode() { | 1729 Handle<Code> KeyedLoadGenericElementStub::GenerateCode() { |
1728 return DoGenerateCode(this); | 1730 return DoGenerateCode(this); |
1729 } | 1731 } |
1730 | 1732 |
1731 | 1733 |
1732 } } // namespace v8::internal | 1734 } } // namespace v8::internal |
OLD | NEW |