| 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 "v8.h" | 5 #include "v8.h" |
| 6 | 6 |
| 7 #include "double.h" | 7 #include "double.h" |
| 8 #include "factory.h" | 8 #include "factory.h" |
| 9 #include "hydrogen-infer-representation.h" | 9 #include "hydrogen-infer-representation.h" |
| 10 #include "property-details-inl.h" | 10 #include "property-details-inl.h" |
| (...skipping 3931 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3942 | 3942 |
| 3943 void HAllocate::CreateFreeSpaceFiller(int32_t free_space_size) { | 3943 void HAllocate::CreateFreeSpaceFiller(int32_t free_space_size) { |
| 3944 ASSERT(filler_free_space_size_ == NULL); | 3944 ASSERT(filler_free_space_size_ == NULL); |
| 3945 Zone* zone = block()->zone(); | 3945 Zone* zone = block()->zone(); |
| 3946 HInstruction* free_space_instr = | 3946 HInstruction* free_space_instr = |
| 3947 HInnerAllocatedObject::New(zone, context(), dominating_allocate_, | 3947 HInnerAllocatedObject::New(zone, context(), dominating_allocate_, |
| 3948 dominating_allocate_->size(), type()); | 3948 dominating_allocate_->size(), type()); |
| 3949 free_space_instr->InsertBefore(this); | 3949 free_space_instr->InsertBefore(this); |
| 3950 HConstant* filler_map = HConstant::CreateAndInsertAfter( | 3950 HConstant* filler_map = HConstant::CreateAndInsertAfter( |
| 3951 zone, Unique<Map>::CreateImmovable( | 3951 zone, Unique<Map>::CreateImmovable( |
| 3952 isolate()->factory()->free_space_map()), free_space_instr); | 3952 isolate()->factory()->free_space_map()), true, free_space_instr); |
| 3953 HInstruction* store_map = HStoreNamedField::New(zone, context(), | 3953 HInstruction* store_map = HStoreNamedField::New(zone, context(), |
| 3954 free_space_instr, HObjectAccess::ForMap(), filler_map); | 3954 free_space_instr, HObjectAccess::ForMap(), filler_map); |
| 3955 store_map->SetFlag(HValue::kHasNoObservableSideEffects); | 3955 store_map->SetFlag(HValue::kHasNoObservableSideEffects); |
| 3956 store_map->InsertAfter(filler_map); | 3956 store_map->InsertAfter(filler_map); |
| 3957 | 3957 |
| 3958 // We must explicitly force Smi representation here because on x64 we | 3958 // We must explicitly force Smi representation here because on x64 we |
| 3959 // would otherwise automatically choose int32, but the actual store | 3959 // would otherwise automatically choose int32, but the actual store |
| 3960 // requires a Smi-tagged value. | 3960 // requires a Smi-tagged value. |
| 3961 HConstant* filler_size = HConstant::CreateAndInsertAfter( | 3961 HConstant* filler_size = HConstant::CreateAndInsertAfter( |
| 3962 zone, context(), free_space_size, Representation::Smi(), store_map); | 3962 zone, context(), free_space_size, Representation::Smi(), store_map); |
| (...skipping 813 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4776 break; | 4776 break; |
| 4777 case kExternalMemory: | 4777 case kExternalMemory: |
| 4778 stream->Add("[external-memory]"); | 4778 stream->Add("[external-memory]"); |
| 4779 break; | 4779 break; |
| 4780 } | 4780 } |
| 4781 | 4781 |
| 4782 stream->Add("@%d", offset()); | 4782 stream->Add("@%d", offset()); |
| 4783 } | 4783 } |
| 4784 | 4784 |
| 4785 } } // namespace v8::internal | 4785 } } // namespace v8::internal |
| OLD | NEW |