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/crankshaft/hydrogen-instructions.h" | 5 #include "src/crankshaft/hydrogen-instructions.h" |
6 | 6 |
7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
8 #include "src/base/safe_math.h" | 8 #include "src/base/safe_math.h" |
9 #include "src/crankshaft/hydrogen-infer-representation.h" | 9 #include "src/crankshaft/hydrogen-infer-representation.h" |
10 #include "src/double.h" | 10 #include "src/double.h" |
(...skipping 3235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3246 } | 3246 } |
3247 | 3247 |
3248 dominator_allocate->UpdateSize(new_dominator_size_value); | 3248 dominator_allocate->UpdateSize(new_dominator_size_value); |
3249 | 3249 |
3250 if (MustAllocateDoubleAligned()) { | 3250 if (MustAllocateDoubleAligned()) { |
3251 if (!dominator_allocate->MustAllocateDoubleAligned()) { | 3251 if (!dominator_allocate->MustAllocateDoubleAligned()) { |
3252 dominator_allocate->MakeDoubleAligned(); | 3252 dominator_allocate->MakeDoubleAligned(); |
3253 } | 3253 } |
3254 } | 3254 } |
3255 | 3255 |
3256 bool keep_new_space_iterable = FLAG_log_gc || FLAG_heap_stats; | 3256 bool keep_heap_iterable = FLAG_log_gc || FLAG_heap_stats; |
3257 #ifdef VERIFY_HEAP | 3257 #ifdef VERIFY_HEAP |
3258 keep_new_space_iterable = keep_new_space_iterable || FLAG_verify_heap; | 3258 keep_heap_iterable = keep_heap_iterable || FLAG_verify_heap; |
3259 #endif | 3259 #endif |
3260 | 3260 |
3261 if (keep_new_space_iterable && dominator_allocate->IsNewSpaceAllocation()) { | 3261 if (keep_heap_iterable) { |
3262 dominator_allocate->MakePrefillWithFiller(); | 3262 dominator_allocate->MakePrefillWithFiller(); |
3263 } else { | 3263 } else { |
3264 // TODO(hpayer): This is a short-term hack to make allocation mementos | 3264 // TODO(hpayer): This is a short-term hack to make allocation mementos |
3265 // work again in new space. | 3265 // work again in new space. |
3266 dominator_allocate->ClearNextMapWord(original_object_size); | 3266 dominator_allocate->ClearNextMapWord(original_object_size); |
3267 } | 3267 } |
3268 | 3268 |
3269 dominator_allocate->UpdateClearNextMapWord(MustClearNextMapWord()); | 3269 dominator_allocate->UpdateClearNextMapWord(MustClearNextMapWord()); |
3270 | 3270 |
3271 // After that replace the dominated allocate instruction. | 3271 // After that replace the dominated allocate instruction. |
(...skipping 857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4129 case HObjectAccess::kExternalMemory: | 4129 case HObjectAccess::kExternalMemory: |
4130 os << "[external-memory]"; | 4130 os << "[external-memory]"; |
4131 break; | 4131 break; |
4132 } | 4132 } |
4133 | 4133 |
4134 return os << "@" << access.offset(); | 4134 return os << "@" << access.offset(); |
4135 } | 4135 } |
4136 | 4136 |
4137 } // namespace internal | 4137 } // namespace internal |
4138 } // namespace v8 | 4138 } // namespace v8 |
OLD | NEW |