Lines Matching refs:scratch
114 void TurboAssembler::CompareRoot(Register with, Register scratch,
121 lea(scratch,
123 cmp(with, Operand(scratch, RootRegisterOffsetForRootIndex(index)));
151 // TODO(v8:6666): Add a scratch register or remove all uses.
162 unsigned higher_limit, Register scratch) {
166 lea(scratch, Operand(value, 0u - lower_limit));
167 cmp(scratch, Immediate(higher_limit - lower_limit));
174 unsigned higher_limit, Register scratch,
177 CompareRange(value, lower_limit, higher_limit, scratch);
181 void TurboAssembler::PushArray(Register array, Register size, Register scratch,
184 DCHECK(!AreAliased(array, size, scratch));
185 Register counter = scratch;
208 Register scratch) {
223 mov(scratch, Operand(kRootRegister,
226 return Operand(scratch, 0);
229 Move(scratch, Immediate(reference));
230 return Operand(scratch, 0);
555 value, // Used as scratch.
559 value, // Used as scratch.
620 void TurboAssembler::Cvtui2sd(XMMRegister dst, Operand src, Register scratch) {
626 addsd(dst, ExternalReferenceAsOperand(uint32_bias, scratch));
727 Register scratch,
733 CompareRange(instance_type_out, lower_limit, higher_limit, scratch);
758 void MacroAssembler::AssertFunction(Register object, Register scratch) {
765 CmpInstanceTypeRange(object, scratch, scratch, FIRST_JS_FUNCTION_TYPE,
772 void MacroAssembler::AssertCallableFunction(Register object, Register scratch) {
779 CmpInstanceTypeRange(object, scratch, scratch,
832 Register scratch) {
837 CompareRoot(object, scratch, RootIndex::kUndefinedValue);
839 LoadRoot(scratch, RootIndex::kAllocationSiteWithWeakNextMap);
840 cmp(FieldOperand(object, 0), scratch);
900 void TurboAssembler::DropArguments(Register count, Register scratch,
903 DCHECK(!AreAliased(count, scratch));
904 PopReturnAddressTo(scratch);
906 PushReturnAddressFrom(scratch);
911 Register scratch,
914 DCHECK(!AreAliased(argc, receiver, scratch));
915 PopReturnAddressTo(scratch);
918 PushReturnAddressFrom(scratch);
923 Register scratch,
926 DCHECK(!AreAliased(argc, scratch));
927 DCHECK(!receiver.is_reg(scratch));
928 PopReturnAddressTo(scratch);
931 PushReturnAddressFrom(scratch);
993 Register scratch) {
1021 DCHECK(!AreAliased(scratch, ebp, esi, edx));
1022 mov(ExternalReferenceAsOperand(c_entry_fp_address, scratch), ebp);
1023 mov(ExternalReferenceAsOperand(context_address, scratch), esi);
1024 mov(ExternalReferenceAsOperand(c_function_address, scratch), edx);
1068 void MacroAssembler::EnterApiExitFrame(int argc, Register scratch) {
1069 EnterExitFramePrologue(StackFrame::EXIT, scratch);
1129 void MacroAssembler::PushStackHandler(Register scratch) {
1140 push(ExternalReferenceAsOperand(handler_address, scratch));
1143 mov(ExternalReferenceAsOperand(handler_address, scratch), esp);
1146 void MacroAssembler::PopStackHandler(Register scratch) {
1151 pop(ExternalReferenceAsOperand(handler_address, scratch));
1227 void MacroAssembler::StackOverflowCheck(Register num_args, Register scratch,
1231 DCHECK_NE(num_args, scratch);
1237 // Compute the space that is left as a negative number in scratch. If
1239 mov(scratch, ExternalReferenceAsOperand(real_stack_limit, scratch));
1240 sub(scratch, esp);
1243 lea(scratch, Operand(scratch, num_args, times_system_pointer_size, 0));
1245 add(scratch, Immediate(kSystemPointerSize));
1247 // See if we overflowed, i.e. scratch is positive.
1248 cmp(scratch, Immediate(0));
1284 Register scratch = esi;
1292 lea(scratch,
1294 AllocateStackSpace(scratch);
1302 mov(scratch, Operand(src, current, times_system_pointer_size, 0));
1303 mov(Operand(dest, current, times_system_pointer_size, 0), scratch);
1313 LoadRoot(scratch, RootIndex::kUndefinedValue);
1319 scratch);
1462 void TurboAssembler::Ret(int bytes_dropped, Register scratch) {
1466 pop(scratch);
1468 push(scratch);
1509 // Since there's no scratch register available, take a detour through the
1607 // We don't have an xmm scratch register, so move the data via the stack. This
1619 // We don't have an xmm scratch register, so move the data via the stack. This
1682 Register scratch) {
1687 ExternalReferenceAsOperand(ExternalReference::Create(counter), scratch);
1697 Register scratch) {
1702 ExternalReferenceAsOperand(ExternalReference::Create(counter), scratch);
1779 void TurboAssembler::PrepareCallCFunction(int num_arguments, Register scratch) {
1785 mov(scratch, esp);
1789 mov(Operand(esp, num_arguments * kSystemPointerSize), scratch);
1813 // Find two caller-saved scratch registers.
1815 Register scratch = ecx;
1817 if (function == ecx) scratch = edx;
1827 scratch),
1833 scratch),
1843 scratch),
1996 void TurboAssembler::CheckPageFlag(Register object, Register scratch, int mask,
2001 if (scratch == object) {
2002 and_(scratch, Immediate(~kPageAlignmentMask));
2004 mov(scratch, Immediate(~kPageAlignmentMask));
2005 and_(scratch, object);
2008 test_b(Operand(scratch, BasicMemoryChunk::kFlagsOffset), Immediate(mask));
2010 test(Operand(scratch, BasicMemoryChunk::kFlagsOffset), Immediate(mask));