OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/crankshaft/hydrogen.h" | 5 #include "src/crankshaft/hydrogen.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/allocation-site-scopes.h" | 9 #include "src/allocation-site-scopes.h" |
10 #include "src/ast/ast-numbering.h" | 10 #include "src/ast/ast-numbering.h" |
(...skipping 10182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10193 byte_offset); | 10193 byte_offset); |
10194 Add<HStoreNamedField>( | 10194 Add<HStoreNamedField>( |
10195 obj, | 10195 obj, |
10196 HObjectAccess::ForJSArrayBufferViewByteLength(), | 10196 HObjectAccess::ForJSArrayBufferViewByteLength(), |
10197 byte_length); | 10197 byte_length); |
10198 Add<HStoreNamedField>(obj, HObjectAccess::ForJSArrayBufferViewBuffer(), | 10198 Add<HStoreNamedField>(obj, HObjectAccess::ForJSArrayBufferViewBuffer(), |
10199 buffer); | 10199 buffer); |
10200 } | 10200 } |
10201 | 10201 |
10202 | 10202 |
10203 void HOptimizedGraphBuilder::GenerateDataViewInitialize( | |
10204 CallRuntime* expr) { | |
10205 ZoneList<Expression*>* arguments = expr->arguments(); | |
10206 | |
10207 DCHECK(arguments->length()== 4); | |
10208 CHECK_ALIVE(VisitForValue(arguments->at(0))); | |
10209 HValue* obj = Pop(); | |
10210 | |
10211 CHECK_ALIVE(VisitForValue(arguments->at(1))); | |
10212 HValue* buffer = Pop(); | |
10213 | |
10214 CHECK_ALIVE(VisitForValue(arguments->at(2))); | |
10215 HValue* byte_offset = Pop(); | |
10216 | |
10217 CHECK_ALIVE(VisitForValue(arguments->at(3))); | |
10218 HValue* byte_length = Pop(); | |
10219 | |
10220 { | |
10221 NoObservableSideEffectsScope scope(this); | |
10222 BuildArrayBufferViewInitialization<JSDataView>( | |
10223 obj, buffer, byte_offset, byte_length); | |
10224 } | |
10225 } | |
10226 | |
10227 | |
10228 HValue* HOptimizedGraphBuilder::BuildAllocateExternalElements( | 10203 HValue* HOptimizedGraphBuilder::BuildAllocateExternalElements( |
10229 ExternalArrayType array_type, | 10204 ExternalArrayType array_type, |
10230 bool is_zero_byte_offset, | 10205 bool is_zero_byte_offset, |
10231 HValue* buffer, HValue* byte_offset, HValue* length) { | 10206 HValue* buffer, HValue* byte_offset, HValue* length) { |
10232 Handle<Map> external_array_map( | 10207 Handle<Map> external_array_map( |
10233 isolate()->heap()->MapForFixedTypedArray(array_type)); | 10208 isolate()->heap()->MapForFixedTypedArray(array_type)); |
10234 | 10209 |
10235 // The HForceRepresentation is to prevent possible deopt on int-smi | 10210 // The HForceRepresentation is to prevent possible deopt on int-smi |
10236 // conversion after allocation but before the new object fields are set. | 10211 // conversion after allocation but before the new object fields are set. |
10237 length = AddUncasted<HForceRepresentation>(length, Representation::Smi()); | 10212 length = AddUncasted<HForceRepresentation>(length, Representation::Smi()); |
(...skipping 3322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13560 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13535 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13561 } | 13536 } |
13562 | 13537 |
13563 #ifdef DEBUG | 13538 #ifdef DEBUG |
13564 graph_->Verify(false); // No full verify. | 13539 graph_->Verify(false); // No full verify. |
13565 #endif | 13540 #endif |
13566 } | 13541 } |
13567 | 13542 |
13568 } // namespace internal | 13543 } // namespace internal |
13569 } // namespace v8 | 13544 } // namespace v8 |
OLD | NEW |