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/code-stubs.h" | 5 #include "src/code-stubs.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/crankshaft/hydrogen.h" | 10 #include "src/crankshaft/hydrogen.h" |
(...skipping 959 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
970 return value; | 970 return value; |
971 } | 971 } |
972 | 972 |
973 | 973 |
974 Handle<Code> StoreTransitionStub::GenerateCode() { | 974 Handle<Code> StoreTransitionStub::GenerateCode() { |
975 return DoGenerateCode(this); | 975 return DoGenerateCode(this); |
976 } | 976 } |
977 | 977 |
978 | 978 |
979 template <> | 979 template <> |
980 HValue* CodeStubGraphBuilder<StoreFastElementStub>::BuildCodeStub() { | |
981 BuildUncheckedMonomorphicElementAccess( | |
982 GetParameter(Descriptor::kReceiver), GetParameter(Descriptor::kName), | |
983 GetParameter(Descriptor::kValue), casted_stub()->is_js_array(), | |
984 casted_stub()->elements_kind(), STORE, NEVER_RETURN_HOLE, | |
985 casted_stub()->store_mode()); | |
986 | |
987 return GetParameter(Descriptor::kValue); | |
988 } | |
989 | |
990 | |
991 Handle<Code> StoreFastElementStub::GenerateCode() { | |
992 return DoGenerateCode(this); | |
993 } | |
994 | |
995 | |
996 template <> | |
997 HValue* CodeStubGraphBuilder<TransitionElementsKindStub>::BuildCodeStub() { | 980 HValue* CodeStubGraphBuilder<TransitionElementsKindStub>::BuildCodeStub() { |
998 ElementsKind const from_kind = casted_stub()->from_kind(); | 981 ElementsKind const from_kind = casted_stub()->from_kind(); |
999 ElementsKind const to_kind = casted_stub()->to_kind(); | 982 ElementsKind const to_kind = casted_stub()->to_kind(); |
1000 HValue* const object = GetParameter(Descriptor::kObject); | 983 HValue* const object = GetParameter(Descriptor::kObject); |
1001 HValue* const map = GetParameter(Descriptor::kMap); | 984 HValue* const map = GetParameter(Descriptor::kMap); |
1002 | 985 |
1003 // The {object} is known to be a JSObject (otherwise it wouldn't have elements | 986 // The {object} is known to be a JSObject (otherwise it wouldn't have elements |
1004 // anyways). | 987 // anyways). |
1005 object->set_type(HType::JSObject()); | 988 object->set_type(HType::JSObject()); |
1006 | 989 |
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1652 return Pop(); | 1635 return Pop(); |
1653 } | 1636 } |
1654 | 1637 |
1655 | 1638 |
1656 Handle<Code> KeyedLoadGenericStub::GenerateCode() { | 1639 Handle<Code> KeyedLoadGenericStub::GenerateCode() { |
1657 return DoGenerateCode(this); | 1640 return DoGenerateCode(this); |
1658 } | 1641 } |
1659 | 1642 |
1660 } // namespace internal | 1643 } // namespace internal |
1661 } // namespace v8 | 1644 } // namespace v8 |
OLD | NEW |