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 <> |
967 HValue* CodeStubGraphBuilder<LoadConstantStub>::BuildCodeStub() { | 979 HValue* CodeStubGraphBuilder<LoadConstantStub>::BuildCodeStub() { |
968 HValue* map = AddLoadMap(GetParameter(0), NULL); | 980 HValue* map = AddLoadMap(GetParameter(0), NULL); |
969 HObjectAccess descriptors_access = HObjectAccess::ForObservableJSObjectOffset( | 981 HObjectAccess descriptors_access = HObjectAccess::ForObservableJSObjectOffset( |
970 Map::kDescriptorsOffset, Representation::Tagged()); | 982 Map::kDescriptorsOffset, Representation::Tagged()); |
971 HValue* descriptors = Add<HLoadNamedField>(map, nullptr, descriptors_access); | 983 HValue* descriptors = Add<HLoadNamedField>(map, nullptr, descriptors_access); |
972 HObjectAccess value_access = HObjectAccess::ForObservableJSObjectOffset( | 984 HObjectAccess value_access = HObjectAccess::ForObservableJSObjectOffset( |
973 DescriptorArray::GetValueOffset(casted_stub()->constant_index())); | 985 DescriptorArray::GetValueOffset(casted_stub()->constant_index())); |
974 return Add<HLoadNamedField>(descriptors, nullptr, value_access); | 986 return Add<HLoadNamedField>(descriptors, nullptr, value_access); |
975 } | 987 } |
976 | 988 |
(...skipping 1202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2179 return Pop(); | 2191 return Pop(); |
2180 } | 2192 } |
2181 | 2193 |
2182 | 2194 |
2183 Handle<Code> KeyedLoadGenericStub::GenerateCode() { | 2195 Handle<Code> KeyedLoadGenericStub::GenerateCode() { |
2184 return DoGenerateCode(this); | 2196 return DoGenerateCode(this); |
2185 } | 2197 } |
2186 | 2198 |
2187 } // namespace internal | 2199 } // namespace internal |
2188 } // namespace v8 | 2200 } // namespace v8 |
OLD | NEW |