Lines Matching refs:scratch
155 Register scratch,
159 And(scratch, object, Operand(ExternalReference::new_space_mask(isolate())));
160 Branch(branch, cc, scratch,
253 map, // Used as scratch.
293 // Will clobber 4 registers: object, address, scratch, ip. The
330 value, // Used as scratch.
336 value, // Used as scratch.
370 Register scratch,
376 JumpIfNotInNewSpace(object, scratch, &ok);
384 lw(scratch, MemOperand(t8));
386 sw(address, MemOperand(scratch));
387 Addu(scratch, scratch, kPointerSize);
389 sw(scratch, MemOperand(t8));
392 And(t8, scratch, Operand(StoreBuffer::kStoreBufferOverflowBit));
415 Register scratch,
419 DCHECK(!holder_reg.is(scratch));
421 DCHECK(!scratch.is(at));
424 lw(scratch, MemOperand(fp, StandardFrameConstants::kContextOffset));
428 scratch, Operand(zero_reg));
434 lw(scratch, FieldMemOperand(scratch, offset));
435 lw(scratch, FieldMemOperand(scratch, GlobalObject::kNativeContextOffset));
441 lw(holder_reg, FieldMemOperand(scratch, HeapObject::kMapOffset));
450 Branch(&same_contexts, eq, scratch, Operand(at));
476 lw(scratch, FieldMemOperand(scratch, token_offset));
478 Branch(miss, ne, scratch, Operand(at));
487 void MacroAssembler::GetNumberHash(Register reg0, Register scratch) {
488 // First of all we assign the hash seed to scratch.
489 LoadRoot(scratch, Heap::kHashSeedRootIndex);
490 SmiUntag(scratch);
493 xor_(reg0, reg0, scratch);
499 nor(scratch, reg0, zero_reg);
501 addu(reg0, scratch, at);
516 sll(scratch, reg0, 11);
519 addu(reg0, reg0, scratch);
548 // Scratch registers:
1193 FPURegister scratch) {
1196 Cvt_d_uw(fd, t8, scratch);
1202 FPURegister scratch) {
1207 DCHECK(!fd.is(scratch));
1229 mtc1(zero_reg, scratch);
1230 Mthc1(at, scratch);
1232 add_d(fd, fd, scratch);
1240 FPURegister scratch) {
1241 Trunc_uw_d(fs, t8, scratch);
1292 FPURegister scratch) {
1293 DCHECK(!fd.is(scratch));
1296 // Load 2^31 into scratch as its float representation.
1298 mtc1(zero_reg, scratch);
1299 Mthc1(at, scratch);
1300 // Test if scratch > fd.
1303 BranchF(&simple_convert, NULL, lt, fd, scratch);
1307 sub_d(scratch, fd, scratch);
1308 trunc_w_d(scratch, scratch);
1309 mfc1(rs, scratch);
1316 trunc_w_d(scratch, fd);
1317 mfc1(rs, scratch);
1526 Register scratch = t8;
1530 cfc1(scratch, FCSR);
1531 // For the MIPS I, II and III architectures, the contents of scratch is
1534 srl(scratch, scratch, 16);
1535 andi(scratch, scratch, 0x0080);
1536 Branch(&done, eq, scratch, Operand(zero_reg));
1552 Register scratch = t8;
1556 cfc1(scratch, FCSR);
1557 // For the MIPS I, II and III architectures, the contents of scratch is
1560 srl(scratch, scratch, 16);
1561 andi(scratch, scratch, 0x0080);
1562 Branch(&done, ne, scratch, Operand(zero_reg));
1575 Register scratch = t9;
1581 and_(scratch, at, mask);
1582 Branch(&end, ne, scratch, Operand(zero_reg));
1596 Register scratch,
1600 DCHECK(!result.is(scratch));
1602 DCHECK(!except_flag.is(scratch));
1623 cfc1(scratch, FCSR);
1646 ctc1(scratch, FCSR);
1661 Register scratch = at;
1671 cfc1(scratch, FCSR);
1674 And(scratch,
1675 scratch,
1678 Branch(done, eq, scratch, Operand(zero_reg));
1730 Register scratch,
1736 JumpIfNotHeapNumber(object, heap_number_map, scratch, not_number);
1854 Register scratch = at;
1876 slt(scratch, r2, rs);
1877 bne(scratch, zero_reg, offset);
1884 slt(scratch, rs, r2);
1885 beq(scratch, zero_reg, offset);
1892 slt(scratch, rs, r2);
1893 bne(scratch, zero_reg, offset);
1900 slt(scratch, r2, rs);
1901 beq(scratch, zero_reg, offset);
1909 sltu(scratch, r2, rs);
1910 bne(scratch, zero_reg, offset);
1917 sltu(scratch, rs, r2);
1918 beq(scratch, zero_reg, offset);
1926 sltu(scratch, rs, r2);
1927 bne(scratch, zero_reg, offset);
1934 sltu(scratch, r2, rs);
1935 beq(scratch, zero_reg, offset);
1951 // We don't want any other register but scratch clobbered.
1952 DCHECK(!scratch.is(rs));
1953 r2 = scratch;
1958 // We don't want any other register but scratch clobbered.
1959 DCHECK(!scratch.is(rs));
1960 r2 = scratch;
1969 r2 = scratch;
1971 slt(scratch, r2, rs);
1972 bne(scratch, zero_reg, offset);
1979 slti(scratch, rs, rt.imm32_);
1980 beq(scratch, zero_reg, offset);
1982 r2 = scratch;
1984 slt(scratch, rs, r2);
1985 beq(scratch, zero_reg, offset);
1992 slti(scratch, rs, rt.imm32_);
1993 bne(scratch, zero_reg, offset);
1995 r2 = scratch;
1997 slt(scratch, rs, r2);
1998 bne(scratch, zero_reg, offset);
2005 r2 = scratch;
2007 slt(scratch, r2, rs);
2008 beq(scratch, zero_reg, offset);
2016 r2 = scratch;
2018 sltu(scratch, r2, rs);
2019 bne(scratch, zero_reg, offset);
2026 sltiu(scratch, rs, rt.imm32_);
2027 beq(scratch, zero_reg, offset);
2029 r2 = scratch;
2031 sltu(scratch, rs, r2);
2032 beq(scratch, zero_reg, offset);
2040 sltiu(scratch, rs, rt.imm32_);
2041 bne(scratch, zero_reg, offset);
2043 r2 = scratch;
2045 sltu(scratch, rs, r2);
2046 bne(scratch, zero_reg, offset);
2053 r2 = scratch;
2055 sltu(scratch, r2, rs);
2056 beq(scratch, zero_reg, offset);
2088 Register scratch = at;
2114 slt(scratch, r2, rs);
2116 bne(scratch, zero_reg, offset);
2124 slt(scratch, rs, r2);
2126 beq(scratch, zero_reg, offset);
2134 slt(scratch, rs, r2);
2136 bne(scratch, zero_reg, offset);
2144 slt(scratch, r2, rs);
2146 beq(scratch, zero_reg, offset);
2155 sltu(scratch, r2, rs);
2157 bne(scratch, zero_reg, offset);
2165 sltu(scratch, rs, r2);
2167 beq(scratch, zero_reg, offset);
2175 sltu(scratch, rs, r2);
2177 bne(scratch, zero_reg, offset);
2185 sltu(scratch, r2, rs);
2187 beq(scratch, zero_reg, offset);
2204 DCHECK(!scratch.is(rs));
2205 r2 = scratch;
2211 DCHECK(!scratch.is(rs));
2212 r2 = scratch;
2223 DCHECK(!scratch.is(rs));
2224 r2 = scratch;
2226 slt(scratch, r2, rs);
2228 bne(scratch, zero_reg, offset);
2236 slti(scratch, rs, rt.imm32_);
2238 beq(scratch, zero_reg, offset);
2240 DCHECK(!scratch.is(rs));
2241 r2 = scratch;
2243 slt(scratch, rs, r2);
2245 beq(scratch, zero_reg, offset);
2253 slti(scratch, rs, rt.imm32_);
2255 bne(scratch, zero_reg, offset);
2257 DCHECK(!scratch.is(rs));
2258 r2 = scratch;
2260 slt(scratch, rs, r2);
2262 bne(scratch, zero_reg, offset);
2270 DCHECK(!scratch.is(rs));
2271 r2 = scratch;
2273 slt(scratch, r2, rs);
2275 beq(scratch, zero_reg, offset);
2284 DCHECK(!scratch.is(rs));
2285 r2 = scratch;
2287 sltu(scratch, r2, rs);
2289 bne(scratch, zero_reg, offset);
2297 sltiu(scratch, rs, rt.imm32_);
2299 beq(scratch, zero_reg, offset);
2301 DCHECK(!scratch.is(rs));
2302 r2 = scratch;
2304 sltu(scratch, rs, r2);
2306 beq(scratch, zero_reg, offset);
2314 sltiu(scratch, rs, rt.imm32_);
2316 bne(scratch, zero_reg, offset);
2318 DCHECK(!scratch.is(rs));
2319 r2 = scratch;
2321 sltu(scratch, rs, r2);
2323 bne(scratch, zero_reg, offset);
2331 DCHECK(!scratch.is(rs));
2332 r2 = scratch;
2334 sltu(scratch, r2, rs);
2336 beq(scratch, zero_reg, offset);
2425 Register scratch = at;
2430 r2 = scratch;
2453 slt(scratch, r2, rs);
2454 addiu(scratch, scratch, -1);
2455 bgezal(scratch, offset);
2458 slt(scratch, rs, r2);
2459 addiu(scratch, scratch, -1);
2460 bltzal(scratch, offset);
2463 slt(scratch, rs, r2);
2464 addiu(scratch, scratch, -1);
2465 bgezal(scratch, offset);
2468 slt(scratch, r2, rs);
2469 addiu(scratch, scratch, -1);
2470 bltzal(scratch, offset);
2475 sltu(scratch, r2, rs);
2476 addiu(scratch, scratch, -1);
2477 bgezal(scratch, offset);
2480 sltu(scratch, rs, r2);
2481 addiu(scratch, scratch, -1);
2482 bltzal(scratch, offset);
2485 sltu(scratch, rs, r2);
2486 addiu(scratch, scratch, -1);
2487 bgezal(scratch, offset);
2490 sltu(scratch, r2, rs);
2491 addiu(scratch, scratch, -1);
2492 bltzal(scratch, offset);
2518 slt(scratch, r2, rs);
2519 beq(scratch, zero_reg, 2);
2525 slt(scratch, rs, r2);
2526 bne(scratch, zero_reg, 2);
2532 slt(scratch, rs, r2);
2533 bne(scratch, zero_reg, 2);
2539 slt(scratch, r2, rs);
2540 bne(scratch, zero_reg, 2);
2549 sltu(scratch, r2, rs);
2550 beq(scratch, zero_reg, 2);
2556 sltu(scratch, rs, r2);
2557 bne(scratch, zero_reg, 2);
2563 sltu(scratch, rs, r2);
2564 bne(scratch, zero_reg, 2);
2570 sltu(scratch, r2, rs);
2571 bne(scratch, zero_reg, 2);
2602 Register scratch = at;
2606 r2 = scratch;
2632 slt(scratch, r2, rs);
2633 addiu(scratch, scratch, -1);
2635 bgezal(scratch, offset);
2638 slt(scratch, rs, r2);
2639 addiu(scratch, scratch, -1);
2641 bltzal(scratch, offset);
2644 slt(scratch, rs, r2);
2645 addiu(scratch, scratch, -1);
2647 bgezal(scratch, offset);
2650 slt(scratch, r2, rs);
2651 addiu(scratch, scratch, -1);
2653 bltzal(scratch, offset);
2658 sltu(scratch, r2, rs);
2659 addiu(scratch, scratch, -1);
2661 bgezal(scratch, offset);
2664 sltu(scratch, rs, r2);
2665 addiu(scratch, scratch, -1);
2667 bltzal(scratch, offset);
2670 sltu(scratch, rs, r2);
2671 addiu(scratch, scratch, -1);
2673 bgezal(scratch, offset);
2676 sltu(scratch, r2, rs);
2677 addiu(scratch, scratch, -1);
2679 bltzal(scratch, offset);
2708 slt(scratch, r2, rs);
2709 beq(scratch, zero_reg, 2);
2716 slt(scratch, rs, r2);
2717 bne(scratch, zero_reg, 2);
2724 slt(scratch, rs, r2);
2725 bne(scratch, zero_reg, 2);
2732 slt(scratch, r2, rs);
2733 bne(scratch, zero_reg, 2);
2743 sltu(scratch, r2, rs);
2744 beq(scratch, zero_reg, 2);
2751 sltu(scratch, rs, r2);
2752 bne(scratch, zero_reg, 2);
2759 sltu(scratch, rs, r2);
2760 bne(scratch, zero_reg, 2);
2767 sltu(scratch, r2, rs);
2768 bne(scratch, zero_reg, 2);
3074 Register scratch) {
3075 if (scratch.is(no_reg)) {
3080 mov(scratch, reg1);
3082 mov(reg2, scratch);
3450 Register scratch) {
3458 li(scratch, Operand(new_space_allocation_top));
3459 lw(scratch, MemOperand(scratch));
3461 object, Operand(scratch));
3464 li(scratch, Operand(new_space_allocation_top));
3465 sw(object, MemOperand(scratch));
3665 Register scratch) {
3671 And(scratch, src, kPointerSize - 1);
3672 Branch(&word_loop, eq, scratch, Operand(zero_reg));
3673 lbu(scratch, MemOperand(src));
3675 sb(scratch, MemOperand(dst));
3683 And(scratch, src, kPointerSize - 1);
3685 scratch, Operand(zero_reg));
3688 lw(scratch, MemOperand(src));
3694 sb(scratch, MemOperand(dst, 0));
3695 srl(scratch, scratch, 8);
3696 sb(scratch, MemOperand(dst, 1));
3697 srl(scratch, scratch, 8);
3698 sb(scratch, MemOperand(dst, 2));
3699 srl(scratch, scratch, 8);
3700 sb(scratch, MemOperand(dst, 3));
3702 sb(scratch, MemOperand(dst, 3));
3703 srl(scratch, scratch, 8);
3704 sb(scratch, MemOperand(dst, 2));
3705 srl(scratch, scratch, 8);
3706 sb(scratch, MemOperand(dst, 1));
3707 srl(scratch, scratch, 8);
3708 sb(scratch, MemOperand(dst, 0));
3720 lbu(scratch, MemOperand(src));
3722 sb(scratch, MemOperand(dst));
3744 Register scratch,
3750 lbu(scratch, FieldMemOperand(map, Map::kBitField2Offset));
3751 Branch(fail, hi, scratch,
3757 Register scratch,
3763 lbu(scratch, FieldMemOperand(map, Map::kBitField2Offset));
3764 Branch(fail, ls, scratch,
3766 Branch(fail, hi, scratch,
3772 Register scratch,
3776 lbu(scratch, FieldMemOperand(map, Map::kBitField2Offset));
3777 Branch(fail, hi, scratch,
3854 Register scratch,
3859 lw(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
3860 CompareMapAndBranch(scratch, map, early_success, cond, branch_to);
3874 Register scratch,
3882 CompareMapAndBranch(obj, scratch
3888 Register scratch,
3896 lw(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
3897 Jump(success, RelocInfo::CODE_TARGET, eq, scratch, Operand(map));
3903 Register scratch,
3910 lw(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
3912 Branch(fail, ne, scratch, Operand(at));
4156 Register scratch,
4159 IsInstanceJSObjectType(map, scratch, fail);
4164 Register scratch,
4166 lbu(scratch, FieldMemOperand(map, Map::kInstanceTypeOffset));
4167 Branch(fail, lt, scratch, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE));
4168 Branch(fail, gt, scratch, Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE));
4173 Register scratch,
4177 lw(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
4178 lbu(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
4179 And(scratch, scratch, Operand(kIsNotStringMask));
4180 Branch(fail, ne, scratch, Operand(zero_reg));
4185 Register scratch,
4187 lw(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
4188 lbu(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
4189 Branch(fail, hi, scratch, Operand(LAST_NAME_TYPE));
4199 Register scratch,
4208 GetObjectType(function, result, scratch);
4209 Branch(miss, ne, scratch, Operand(JS_FUNCTION_TYPE));
4211 lw(scratch,
4213 lw(scratch,
4214 FieldMemOperand(scratch, SharedFunctionInfo::kCompilerHintsOffset));
4215 And(scratch, scratch,
4217 Branch(miss, ne, scratch, Operand(zero_reg));
4220 lbu(scratch, FieldMemOperand(result, Map::kBitFieldOffset));
4221 And(scratch, scratch, Operand(1 << Map::kHasNonInstancePrototype));
4222 Branch(&non_instance, ne, scratch, Operand(zero_reg));
4237 GetObjectType(result, scratch, scratch);
4238 Branch(&done, ne, scratch, Operand(MAP_TYPE));
4484 Register scratch) {
4486 DCHECK(!dst.is(scratch));
4487 DCHECK(!overflow_dst.is(scratch));
4493 DCHECK(!scratch.is(t9));
4502 mov(scratch, left); // Preserve left.
4504 xor_(scratch, dst, scratch); // Original left.
4506 and_(overflow_dst, overflow_dst, scratch);
4508 mov(scratch, right); // Preserve right.
4510 xor_(scratch, dst, scratch); // Original right.
4512 and_(overflow_dst, overflow_dst, scratch);
4516 xor_(scratch, dst, right);
4517 and_(overflow_dst, scratch, overflow_dst);
4526 Register scratch) {
4528 DCHECK(!dst.is(scratch));
4529 DCHECK(!overflow_dst.is(scratch));
4532 DCHECK(!scratch.is(left));
4533 DCHECK(!scratch.is(right));
4544 mov(scratch, left); // Preserve left.
4546 xor_(overflow_dst, dst, scratch); // scratch is original left.
4547 xor_(scratch, scratch, right); // scratch is original left.
4548 and_(overflow_dst, scratch, overflow_dst);
4550 mov(scratch, right); // Preserve right.
4553 xor_(scratch, left, scratch); // Original right.
4554 and_(overflow_dst, scratch, overflow_dst);
4558 xor_(scratch, left, right);
4559 and_(overflow_dst, scratch, overflow_dst);
4804 Register scratch,
4807 lw(scratch,
4809 lw(scratch, FieldMemOperand(scratch, GlobalObject::kNativeContextOffset));
4812 lw(scratch,
4813 MemOperand(scratch,
4817 lw(at, FieldMemOperand(scratch, offset));
4823 lw(map_in_out, FieldMemOperand(scratch, offset));
4841 Register scratch) {
4846 CheckMap(map, scratch, Heap::kMetaMapRootIndex, &fail, DO_SMI_CHECK);
5080 Register scratch,
5082 Subu(scratch, reg, Operand(1));
5084 scratch, Operand(zero_reg));
5085 and_(at, scratch, reg); // In the delay slot.
5131 Register scratch,
5134 andi(scratch, value, kSmiTagMask);
5135 Branch(bd, smi_label, eq, scratch, Operand(zero_reg));
5140 Register scratch,
5143 andi(scratch, value, kSmiTagMask);
5144 Branch(bd, not_smi_label, ne, scratch, Operand(zero_reg));
5216 Register scratch) {
5220 LoadRoot(scratch, Heap::kUndefinedValueRootIndex);
5221 Branch(&done_checking, eq, object, Operand(scratch));
5224 LoadRoot(scratch, Heap::kAllocationSiteMapRootIndex);
5225 Assert(eq, kExpectedUndefinedOrCell, object, Operand(scratch));
5243 Register scratch,
5245 lw(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
5247 Branch(on_not_heap_number, ne, scratch, Operand(heap_number_map));
5307 Register scratch
5308 sra(scratch, object, 1); // Shift away the tag.
5309 And(scratch, mask, Operand(scratch));
5313 sll(scratch, scratch, kPointerSizeLog2 + 1);
5314 Addu(scratch, number_string_cache, scratch);
5317 lw(probe, FieldMemOperand(scratch, FixedArray::kHeaderSize));
5322 lw(result, FieldMemOperand(scratch, FixedArray::kHeaderSize + kPointerSize));
5376 Register scratch,
5382 And(scratch, type, Operand(kFlatOneByteStringMask));
5383 Branch(failure, ne, scratch, Operand(kFlatOneByteStringTag));
5406 Register scratch,
5416 li(scratch, Operand(encoding_mask));
5417 Check(eq, kUnexpectedStringType, at, Operand(scratch));
5423 TrySmiTag(index, scratch, &index_tag_bad);
5441 Register scratch) {
5454 mov(scratch, sp);
5458 sw(scratch, MemOperand(sp, stack_passed_arguments * kPointerSize));
5466 Register scratch) {
5467 PrepareCallCFunction(num_reg_arguments, 0, scratch);
5551 Register scratch,
5553 lw(scratch, MemOperand(li_location));
5554 // At this point scratch is a lui(at, ...) instruction.
5556 And(scratch, scratch, kOpcodeMask);
5558 scratch, Operand(LUI));
5559 lw(scratch, MemOperand(li_location));
5562 Ins(scratch, t9, 0, kImm16Bits);
5563 sw(scratch, MemOperand(li_location));
5565 lw(scratch, MemOperand(li_location, kInstrSize));
5566 // scratch is now ori(at, ...).
5568 And(scratch, scratch, kOpcodeMask);
5570 scratch, Operand(ORI));
5571 lw(scratch, MemOperand(li_location, kInstrSize));
5573 Ins(scratch, new_value, 0, kImm16Bits);
5574 sw(scratch, MemOperand(li_location, kInstrSize));
5582 Register scratch) {
5594 lw(scratch, MemOperand(li_location, kInstrSize));
5596 And(scratch, scratch, kOpcodeMask);
5598 scratch, Operand(ORI));
5599 lw(scratch, MemOperand(li_location, kInstrSize));
5601 // "scratch" now holds an ori instruction. Extract the immediate.
5602 andi(scratch, scratch, kImm16Mask);
5605 or_(value, value, scratch);
5611 Register scratch,
5615 And(scratch, object, Operand(~Page::kPageAlignmentMask));
5616 lw(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset));
5617 And(scratch, scratch, Operand(mask));
5618 Branch(condition_met, cc, scratch, Operand(zero_reg));
5623 Register scratch,
5626 li(scratch, Operand(map));
5627 lw(scratch, FieldMemOperand(scratch, Map::kBitField3Offset));
5628 And(scratch, scratch, Operand(Map::Deprecated::kMask));
5629 Branch(if_deprecated, ne, scratch, Operand(zero_reg));
5677 Register scratch,
5679 DCHECK(!AreAliased(value, scratch, t8, no_reg));
5681 lw(scratch, FieldMemOperand(value, HeapObject::kMapOffset));
5683 Branch(&is_data_object, eq, t8, Operand(scratch));
5688 lbu(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
5689 And(t8, scratch, Operand(kIsIndirectStringMask | kIsNotStringMask));
5981 // Scratch contained elements pointer.