Home | History | Annotate | Download | only in arm64

Lines Matching refs:scratch

720     Register scratch = temps.AcquireX();
728 movz(scratch, 0);
1101 // Ensure that we don't unintentially modify scratch or debug registers.
1141 // Ensure that we don't unintentially modify scratch or debug registers.
1260 // Ensure that the macro-assembler doesn't use any scratch registers.
1284 // Ensure that the macro-assembler doesn't use any scratch registers.
1313 // can't check the alignment of csp without using a scratch register (or
1694 Register scratch) {
1699 Ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
1700 CompareRoot(scratch, Heap::kAllocationSiteMapRootIndex);
2338 Register scratch = scratch1;
2339 And(scratch, mask, Operand::UntagSmi(object));
2342 Add(scratch, number_string_cache,
2343 Operand(scratch, LSL, kPointerSizeLog2 + 1));
2346 Ldr(probe, FieldMemOperand(scratch, FixedArray::kHeaderSize));
2352 Ldr(result, FieldMemOperand(scratch, FixedArray::kHeaderSize + kPointerSize));
2447 // Untag src and dst into scratch registers.
2486 // Untag src and dst into scratch registers.
2515 // Untag src and dst into scratch registers.
2536 // For high 'count' values where many scratch registers are available:
2537 // Untag src and dst into scratch registers.
2540 // For low 'count' values or where few scratch registers are available:
2541 // Untag src and dst into scratch registers.
2557 // enough scratch registers).
2588 Register scratch,
2593 DCHECK(!AreAliased(src, dst, length, scratch, tmp1, tmp2));
2602 Add(scratch, src, length); // Calculate end of src buffer.
2603 Cmp(scratch, dst);
2604 Add(scratch, dst, length); // Calculate end of dst buffer.
2605 Ccmp(scratch, src, ZFlag, gt);
2612 Register bulk_length = scratch;
2722 Register scratch,
2728 And(scratch, type, kFlatOneByteStringMask);
2729 Cmp(scratch, kFlatOneByteStringTag);
3120 const Register& scratch,
3125 Mov(scratch, Operand(CodeObject()));
3128 Push(xzr, scratch);
3141 Mov(scratch, Operand(ExternalReference(Isolate::kCEntryFPAddress,
3143 Str(fp, MemOperand(scratch));
3144 Mov(scratch, Operand(ExternalReference(Isolate::kContextAddress,
3146 Str(cp, MemOperand(scratch));
3183 Add(scratch, csp, kXRegSize);
3184 Str(scratch, MemOperand(fp, ExitFrameConstants::kSPOffset));
3190 const Register& scratch,
3200 Mov(scratch, Operand(ExternalReference(Isolate::kContextAddress,
3202 Ldr(cp, MemOperand(scratch));
3207 Mov(scratch, Operand(ExternalReference(Isolate::kContextAddress,
3209 Str(xzr, MemOperand(scratch));
3212 Mov(scratch, Operand(ExternalReference(Isolate::kCEntryFPAddress,
3214 Str(xzr, MemOperand(scratch));
3487 Register scratch) {
3495 Mov(scratch, new_space_allocation_top);
3496 Ldr(scratch, MemOperand(scratch));
3497 Cmp(object, scratch);
3501 Mov(scratch, new_space_allocation_top);
3502 Str(object, MemOperand(scratch));
3731 void MacroAssembler::CompareObjectMap(Register obj, Register scratch,
3733 Ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
3734 CompareMap(scratch, map);
3745 Register scratch,
3753 CompareObjectMap(obj, scratch, map);
3759 Register scratch,
3766 Ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
3767 JumpIfNotRoot(scratch, index, fail);
3785 Register scratch,
3793 Ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
3794 Cmp(scratch, Operand(map));
3820 Register scratch,
3823 DCHECK(!AreAliased(function, result, scratch));
3831 JumpIfNotObjectType(function, result, scratch, JS_FUNCTION_TYPE, miss);
3833 Register scratch_w = scratch.W();
3834 Ldr(scratch,
3839 FieldMemOperand(scratch, SharedFunctionInfo::kCompilerHintsOffset));
3840 Tbnz(scratch, SharedFunctionInfo::kBoundFunction, miss);
3843 Ldrb(scratch, FieldMemOperand(result, Map::kBitFieldOffset));
3844 Tbnz(scratch, Map::kHasNonInstancePrototype, &non_instance);
3858 JumpIfNotObjectType(result, scratch, scratch, MAP_TYPE, &done);
3945 Register scratch,
3951 Ldrb(scratch, FieldMemOperand(map, Map::kBitField2Offset));
3952 Cmp(scratch, Map::kMaximumBitField2FastHoleyElementValue);
3958 Register scratch,
3964 Ldrb(scratch, FieldMemOperand(map, Map::kBitField2Offset));
3965 Cmp(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue));
3967 Ccmp(scratch,
4031 Register scratch,
4033 DCHECK(!AreAliased(string, index, scratch));
4043 Ldr(scratch, FieldMemOperand(string, HeapObject::kMapOffset));
4044 Ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
4046 And(scratch, scratch, kStringRepresentationMask | kStringEncodingMask);
4047 Cmp(scratch, encoding_mask);
4050 Ldr(scratch, FieldMemOperand(string, String::kLengthOffset));
4051 Cmp(index, index_type == kIndexIsSmi ? scratch : Operand::UntagSmi(scratch));
4097 // We're short on scratch registers here, so use holder_reg as a scratch.
4128 void MacroAssembler::GetNumberHash(Register key, Register scratch) {
4129 DCHECK(!AreAliased(key, scratch));
4132 LoadRoot(scratch, Heap::kHashSeedRootIndex);
4133 Eor(key, key, Operand::UntagSmi(scratch));
4137 scratch = scratch.W();
4143 Mvn(scratch, key);
4144 Add(key, scratch, Operand(key, LSL, 15));
4152 Mov(scratch, Operand(key, LSL, 11));
4154 Add(key, key, scratch);
4333 const Register& scratch,
4336 And(scratch, object, ~Page::kPageAlignmentMask);
4337 Ldr(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset));
4338 TestAndBranchIfAnySet(scratch, mask, if_any_set);
4343 const Register& scratch,
4346 And(scratch, object, ~Page::kPageAlignmentMask);
4347 Ldr(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset));
4348 TestAndBranchIfAllClear(scratch, mask, if_all_clear);
4356 Register scratch,
4375 Add(scratch, object, offset - kHeapObjectTag);
4378 Tst(scratch, (1 << kPointerSizeLog2) - 1);
4385 scratch,
4399 Mov(scratch, Operand(bit_cast<int64_t>(kZapValue + 8)));
4444 map, // Used as scratch.
4513 value, // Used as scratch.
4518 value, // Used as scratch.
4630 Register scratch,
4633 Mov(scratch, Operand(map));
4634 Ldrsw(scratch, FieldMemOperand(scratch, Map::kBitField3Offset));
4635 TestAndBranchIfAnySet(scratch, Map::Deprecated::kMask, if_deprecated);
4659 // Scratch contains elements pointer.
4874 // We need some scratch registers for the MacroAssembler, so make sure we have
4956 Register scratch) {
4961 CheckMap(map, scratch, Heap::kMetaMapRootIndex, &fail, DO_SMI_CHECK);
4994 // We can use caller-saved registers as scratch values, except for the
5005 // Override the MacroAssembler's scratch register list. The lists will be
5018 // scratch register, then move everything back.
5039 // appropriate scratch register and then move it out of the way.
5145 // available as scratch registers until we've preserved them.
5157 // We can use caller-saved registers as scratch values (except for argN).