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

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

Issue 886503002: Extract LoadAccessor into a masm function. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix whitespace Created 5 years, 10 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/ia32/macro-assembler-ia32.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 1435 matching lines...) Expand 10 before | Expand all | Expand 10 after
1446 And(dst, dst, Map::EnumLengthBits::kMask); 1446 And(dst, dst, Map::EnumLengthBits::kMask);
1447 } 1447 }
1448 1448
1449 1449
1450 void MacroAssembler::EnumLengthSmi(Register dst, Register map) { 1450 void MacroAssembler::EnumLengthSmi(Register dst, Register map) {
1451 EnumLengthUntagged(dst, map); 1451 EnumLengthUntagged(dst, map);
1452 SmiTag(dst, dst); 1452 SmiTag(dst, dst);
1453 } 1453 }
1454 1454
1455 1455
1456 void MacroAssembler::LoadAccessor(Register dst, Register holder,
1457 int accessor_index,
1458 AccessorComponent accessor) {
1459 Ldr(dst, FieldMemOperand(holder, HeapObject::kMapOffset));
1460 LoadInstanceDescriptors(dst, dst);
1461 Ldr(dst,
1462 FieldMemOperand(dst, DescriptorArray::GetValueOffset(accessor_index)));
1463 int offset = accessor == ACCESSOR_GETTER ? AccessorPair::kGetterOffset
1464 : AccessorPair::kSetterOffset;
1465 Ldr(dst, FieldMemOperand(dst, offset));
1466 }
1467
1468
1456 void MacroAssembler::CheckEnumCache(Register object, 1469 void MacroAssembler::CheckEnumCache(Register object,
1457 Register null_value, 1470 Register null_value,
1458 Register scratch0, 1471 Register scratch0,
1459 Register scratch1, 1472 Register scratch1,
1460 Register scratch2, 1473 Register scratch2,
1461 Register scratch3, 1474 Register scratch3,
1462 Label* call_runtime) { 1475 Label* call_runtime) {
1463 DCHECK(!AreAliased(object, null_value, scratch0, scratch1, scratch2, 1476 DCHECK(!AreAliased(object, null_value, scratch0, scratch1, scratch2,
1464 scratch3)); 1477 scratch3));
1465 1478
(...skipping 3777 matching lines...) Expand 10 before | Expand all | Expand 10 after
5243 } 5256 }
5244 } 5257 }
5245 5258
5246 5259
5247 #undef __ 5260 #undef __
5248 5261
5249 5262
5250 } } // namespace v8::internal 5263 } } // namespace v8::internal
5251 5264
5252 #endif // V8_TARGET_ARCH_ARM64 5265 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm64/macro-assembler-arm64.h ('k') | src/ia32/macro-assembler-ia32.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698