Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Side by Side Diff: src/arm64/macro-assembler-arm64.cc

Issue 1226203011: Remove unused byte from Map::instance_sizes field. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Ported to all architectures. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm64/macro-assembler-arm64.h ('k') | src/bailout-reason.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_ARM64 7 #if V8_TARGET_ARCH_ARM64
8 8
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/base/division-by-constant.h" 10 #include "src/base/division-by-constant.h"
(...skipping 3205 matching lines...) Expand 10 before | Expand all | Expand 10 after
3216 B(hi, gc_required); 3216 B(hi, gc_required);
3217 Str(scratch3, MemOperand(top_address)); 3217 Str(scratch3, MemOperand(top_address));
3218 3218
3219 // Tag the object if requested. 3219 // Tag the object if requested.
3220 if ((flags & TAG_OBJECT) != 0) { 3220 if ((flags & TAG_OBJECT) != 0) {
3221 ObjectTag(result, result); 3221 ObjectTag(result, result);
3222 } 3222 }
3223 } 3223 }
3224 3224
3225 3225
3226 void MacroAssembler::UndoAllocationInNewSpace(Register object,
3227 Register scratch) {
3228 ExternalReference new_space_allocation_top =
3229 ExternalReference::new_space_allocation_top_address(isolate());
3230
3231 // Make sure the object has no tag before resetting top.
3232 Bic(object, object, kHeapObjectTagMask);
3233 #ifdef DEBUG
3234 // Check that the object un-allocated is below the current top.
3235 Mov(scratch, new_space_allocation_top);
3236 Ldr(scratch, MemOperand(scratch));
3237 Cmp(object, scratch);
3238 Check(lt, kUndoAllocationOfNonAllocatedMemory);
3239 #endif
3240 // Write the address of the object to un-allocate as the current top.
3241 Mov(scratch, new_space_allocation_top);
3242 Str(object, MemOperand(scratch));
3243 }
3244
3245
3246 void MacroAssembler::AllocateTwoByteString(Register result, 3226 void MacroAssembler::AllocateTwoByteString(Register result,
3247 Register length, 3227 Register length,
3248 Register scratch1, 3228 Register scratch1,
3249 Register scratch2, 3229 Register scratch2,
3250 Register scratch3, 3230 Register scratch3,
3251 Label* gc_required) { 3231 Label* gc_required) {
3252 DCHECK(!AreAliased(result, length, scratch1, scratch2, scratch3)); 3232 DCHECK(!AreAliased(result, length, scratch1, scratch2, scratch3));
3253 // Calculate the number of bytes needed for the characters in the string while 3233 // Calculate the number of bytes needed for the characters in the string while
3254 // observing object alignment. 3234 // observing object alignment.
3255 STATIC_ASSERT((SeqTwoByteString::kHeaderSize & kObjectAlignmentMask) == 0); 3235 STATIC_ASSERT((SeqTwoByteString::kHeaderSize & kObjectAlignmentMask) == 0);
(...skipping 1893 matching lines...) Expand 10 before | Expand all | Expand 10 after
5149 } 5129 }
5150 5130
5151 5131
5152 #undef __ 5132 #undef __
5153 5133
5154 5134
5155 } // namespace internal 5135 } // namespace internal
5156 } // namespace v8 5136 } // namespace v8
5157 5137
5158 #endif // V8_TARGET_ARCH_ARM64 5138 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm64/macro-assembler-arm64.h ('k') | src/bailout-reason.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698