| 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 #if V8_TARGET_ARCH_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 |
| 6 | 6 |
| 7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
| 8 #include "src/base/division-by-constant.h" | 8 #include "src/base/division-by-constant.h" |
| 9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
| (...skipping 3072 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3083 // Load allocation limit. Result already contains allocation top. | 3083 // Load allocation limit. Result already contains allocation top. |
| 3084 Ldr(alloc_limit, MemOperand(top_address, limit - top)); | 3084 Ldr(alloc_limit, MemOperand(top_address, limit - top)); |
| 3085 } | 3085 } |
| 3086 | 3086 |
| 3087 // We can ignore DOUBLE_ALIGNMENT flags here because doubles and pointers have | 3087 // We can ignore DOUBLE_ALIGNMENT flags here because doubles and pointers have |
| 3088 // the same alignment on ARM64. | 3088 // the same alignment on ARM64. |
| 3089 STATIC_ASSERT(kPointerAlignment == kDoubleAlignment); | 3089 STATIC_ASSERT(kPointerAlignment == kDoubleAlignment); |
| 3090 | 3090 |
| 3091 // Calculate new top and bail out if new space is exhausted. | 3091 // Calculate new top and bail out if new space is exhausted. |
| 3092 Adds(result_end, result, object_size); | 3092 Adds(result_end, result, object_size); |
| 3093 Ccmp(result_end, alloc_limit, CFlag, cc); | 3093 Ccmp(result_end, alloc_limit, NoFlag, cc); |
| 3094 B(hi, gc_required); | 3094 B(hi, gc_required); |
| 3095 Str(result_end, MemOperand(top_address)); | 3095 Str(result_end, MemOperand(top_address)); |
| 3096 | 3096 |
| 3097 // Tag the object if requested. | 3097 // Tag the object if requested. |
| 3098 if ((flags & TAG_OBJECT) != 0) { | 3098 if ((flags & TAG_OBJECT) != 0) { |
| 3099 ObjectTag(result, result); | 3099 ObjectTag(result, result); |
| 3100 } | 3100 } |
| 3101 } | 3101 } |
| 3102 | 3102 |
| 3103 | 3103 |
| (...skipping 1977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5081 } | 5081 } |
| 5082 | 5082 |
| 5083 | 5083 |
| 5084 #undef __ | 5084 #undef __ |
| 5085 | 5085 |
| 5086 | 5086 |
| 5087 } // namespace internal | 5087 } // namespace internal |
| 5088 } // namespace v8 | 5088 } // namespace v8 |
| 5089 | 5089 |
| 5090 #endif // V8_TARGET_ARCH_ARM64 | 5090 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |