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 "src/bailout-reason.h" | 7 #include "src/bailout-reason.h" |
8 #include "src/crankshaft/hydrogen.h" | 8 #include "src/crankshaft/hydrogen.h" |
9 #include "src/crankshaft/lithium.h" | 9 #include "src/crankshaft/lithium.h" |
10 #include "src/field-index.h" | 10 #include "src/field-index.h" |
(...skipping 946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
957 return BuildLoadNamedField(GetParameter(0), casted_stub()->index()); | 957 return BuildLoadNamedField(GetParameter(0), casted_stub()->index()); |
958 } | 958 } |
959 | 959 |
960 | 960 |
961 Handle<Code> LoadFieldStub::GenerateCode() { | 961 Handle<Code> LoadFieldStub::GenerateCode() { |
962 return DoGenerateCode(this); | 962 return DoGenerateCode(this); |
963 } | 963 } |
964 | 964 |
965 | 965 |
966 template <> | 966 template <> |
967 HValue* CodeStubGraphBuilder<ArrayBufferViewLoadFieldStub>::BuildCodeStub() { | |
968 return BuildArrayBufferViewFieldAccessor(GetParameter(0), nullptr, | |
969 casted_stub()->index()); | |
970 } | |
971 | |
972 | |
973 Handle<Code> ArrayBufferViewLoadFieldStub::GenerateCode() { | |
974 return DoGenerateCode(this); | |
975 } | |
976 | |
977 | |
978 template <> | |
979 HValue* CodeStubGraphBuilder<LoadConstantStub>::BuildCodeStub() { | 967 HValue* CodeStubGraphBuilder<LoadConstantStub>::BuildCodeStub() { |
980 HValue* map = AddLoadMap(GetParameter(0), NULL); | 968 HValue* map = AddLoadMap(GetParameter(0), NULL); |
981 HObjectAccess descriptors_access = HObjectAccess::ForObservableJSObjectOffset( | 969 HObjectAccess descriptors_access = HObjectAccess::ForObservableJSObjectOffset( |
982 Map::kDescriptorsOffset, Representation::Tagged()); | 970 Map::kDescriptorsOffset, Representation::Tagged()); |
983 HValue* descriptors = Add<HLoadNamedField>(map, nullptr, descriptors_access); | 971 HValue* descriptors = Add<HLoadNamedField>(map, nullptr, descriptors_access); |
984 HObjectAccess value_access = HObjectAccess::ForObservableJSObjectOffset( | 972 HObjectAccess value_access = HObjectAccess::ForObservableJSObjectOffset( |
985 DescriptorArray::GetValueOffset(casted_stub()->constant_index())); | 973 DescriptorArray::GetValueOffset(casted_stub()->constant_index())); |
986 return Add<HLoadNamedField>(descriptors, nullptr, value_access); | 974 return Add<HLoadNamedField>(descriptors, nullptr, value_access); |
987 } | 975 } |
988 | 976 |
(...skipping 1202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2191 return Pop(); | 2179 return Pop(); |
2192 } | 2180 } |
2193 | 2181 |
2194 | 2182 |
2195 Handle<Code> KeyedLoadGenericStub::GenerateCode() { | 2183 Handle<Code> KeyedLoadGenericStub::GenerateCode() { |
2196 return DoGenerateCode(this); | 2184 return DoGenerateCode(this); |
2197 } | 2185 } |
2198 | 2186 |
2199 } // namespace internal | 2187 } // namespace internal |
2200 } // namespace v8 | 2188 } // namespace v8 |
OLD | NEW |