Lines Matching refs:scratch
201 Register scratch,
203 if (scratch.is(no_reg)) {
208 mov(scratch, reg1, LeaveCC, cond);
210 mov(reg2, scratch, LeaveCC, cond);
325 Register scratch,
332 ASSERT(!scratch.is(dst));
337 and_(scratch, src, Operand((1 << width) - 1));
338 mov(scratch, Operand(scratch, LSL, lsb));
339 orr(dst, dst, scratch);
451 Register scratch,
455 and_(scratch, object, Operand(ExternalReference::new_space_mask(isolate())));
456 cmp(scratch, Operand(ExternalReference::new_space_start(isolate())));
547 map, // Used as scratch.
583 // Will clobber 4 registers: object, address, scratch, ip. The
621 value, // Used as scratch.
627 value, // Used as scratch.
656 Register scratch,
662 JumpIfNotInNewSpace(object, scratch, &ok);
670 ldr(scratch, MemOperand(ip));
672 str(address, MemOperand(scratch, kPointerSize, PostIndex));
674 str(scratch, MemOperand(ip));
677 tst(scratch, Operand(StoreBuffer::kStoreBufferOverflowBit));
873 void MacroAssembler::VFPEnsureFPSCRState(Register scratch) {
876 vmrs(scratch);
879 tst(scratch, Operand(kVFPRoundingModeMask));
885 tst(scratch, Operand(kVFPDefaultNaNModeControlBit));
887 orr(scratch, scratch, Operand(kVFPDefaultNaNModeControlBit));
888 vmsr(scratch);
935 const Register scratch) {
945 vmov(dst, imm, scratch);
1382 Register scratch,
1385 IsInstanceJSObjectType(map, scratch, fail);
1390 Register scratch,
1392 ldrb(scratch, FieldMemOperand(map, Map::kInstanceTypeOffset));
1393 cmp(scratch, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE));
1395 cmp(scratch, Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE));
1401 Register scratch,
1405 ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
1406 ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
1407 tst(scratch, Operand(kIsNotStringMask));
1413 Register scratch,
1415 ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
1416 ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
1417 cmp(scratch, Operand(LAST_NAME_TYPE));
1570 Register scratch,
1574 ASSERT(!holder_reg.is(scratch));
1576 ASSERT(!scratch.is(ip));
1579 ldr(scratch, MemOperand(fp, StandardFrameConstants::kContextOffset));
1582 cmp(scratch, Operand::Zero());
1589 ldr(scratch, FieldMemOperand(scratch, offset));
1590 ldr(scratch, FieldMemOperand(scratch, GlobalObject::kNativeContextOffset));
1598 ldr(holder_reg, FieldMemOperand(scratch, HeapObject::kMapOffset));
1607 cmp(scratch, Operand(ip));
1636 ldr(scratch, FieldMemOperand(scratch, token_offset));
1638 cmp(scratch, Operand(ip));
1648 void MacroAssembler::GetNumberHash(Register t0, Register scratch) {
1649 // First of all we assign the hash seed to scratch.
1650 LoadRoot(scratch, Heap::kHashSeedRootIndex);
1651 SmiUntag(scratch);
1654 eor(t0, t0, Operand(scratch));
1660 mvn(scratch, Operand(t0));
1661 add(t0, scratch, Operand(t0, LSL, 15));
1669 mov(scratch, Operand(t0, LSL, 11));
1671 add(t0, t0, scratch);
1697 // Scratch registers:
1980 Register scratch) {
1988 mov(scratch, Operand(new_space_allocation_top));
1989 ldr(scratch, MemOperand(scratch));
1990 cmp(object, scratch);
1994 mov(scratch, Operand(new_space_allocation_top));
1995 str(object, MemOperand(scratch));
2177 Register scratch,
2183 ldrb(scratch, FieldMemOperand(map, Map::kBitField2Offset));
2184 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue));
2190 Register scratch,
2196 ldrb(scratch, FieldMemOperand(map, Map::kBitField2Offset));
2197 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue));
2199 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue));
2205 Register scratch,
2209 ldrb(scratch, FieldMemOperand(map, Map::kBitField2Offset));
2210 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue));
2257 Register scratch,
2260 ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
2261 CompareMap(scratch, map, early_success);
2273 Register scratch,
2282 CompareMap(obj, scratch, map, &success);
2289 Register scratch,
2296 ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
2298 cmp(scratch, ip);
2304 Register scratch,
2312 ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
2314 cmp(scratch, ip);
2322 Register scratch,
2329 CompareObjectType(function, result, scratch, JS_FUNCTION_TYPE);
2333 ldr(scratch,
2335 ldr(scratch,
2336 FieldMemOperand(scratch, SharedFunctionInfo::kCompilerHintsOffset));
2337 tst(scratch,
2344 ldrb(scratch, FieldMemOperand(result, Map::kBitFieldOffset));
2345 tst(scratch, Operand(1 << Map::kHasNonInstancePrototype));
2361 CompareObjectType(result, scratch, scratch, MAP_TYPE);
2948 Register scratch,
2951 ldr(scratch,
2953 ldr(scratch, FieldMemOperand(scratch, GlobalObject::kNativeContextOffset));
2956 ldr(scratch,
2957 MemOperand(scratch,
2961 ldr(ip, FieldMemOperand(scratch, offset));
2968 ldr(map_in_out, FieldMemOperand(scratch, offset));
2986 Register scratch) {
2991 CheckMap(map, scratch, Heap::kMetaMapRootIndex, &fail, DO_SMI_CHECK);
3002 Register scratch,
3004 sub(scratch, reg, Operand(1), SetCC);
3006 tst(scratch, reg);
3013 Register scratch,
3016 sub(scratch, reg, Operand(1), SetCC);
3018 tst(scratch, reg);
3106 Register scratch) {
3112 ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
3113 CompareRoot(scratch, Heap::kAllocationSiteMapRootIndex);
3130 Register scratch,
3132 ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
3134 cmp(scratch, heap_number_map);
3198 Register scratch = scratch1;
3199 and_(scratch, mask, Operand(object, ASR, 1));
3202 add(scratch,
3204 Operand(scratch, LSL, kPointerSizeLog2 + 1));
3207 ldr(probe, FieldMemOperand(scratch, FixedArray::kHeaderSize));
3213 ldr(result, FieldMemOperand(scratch, FixedArray::kHeaderSize + kPointerSize));
3332 Register scratch) {
3342 ldrb(scratch, MemOperand(src, 1, PostIndex));
3343 strb(scratch, MemOperand(dst, 1, PostIndex));
3354 ldr(scratch, MemOperand(src, kPointerSize, PostIndex));
3356 str(scratch, MemOperand(dst, kPointerSize, PostIndex));
3358 strb(scratch, MemOperand(dst, 1, PostIndex));
3359 mov(scratch, Operand(scratch, LSR, 8));
3360 strb(scratch, MemOperand(dst, 1, PostIndex));
3361 mov(scratch, Operand(scratch, LSR, 8));
3362 strb(scratch, MemOperand(dst, 1, PostIndex));
3363 mov(scratch, Operand(scratch, LSR, 8));
3364 strb(scratch, MemOperand(dst, 1, PostIndex));
3374 ldrb(scratch, MemOperand(src, 1, PostIndex));
3375 strb(scratch, MemOperand(dst, 1, PostIndex));
3395 void MacroAssembler::CheckFor32DRegs(Register scratch) {
3396 mov(scratch, Operand(ExternalReference::cpu_features()));
3397 ldr(scratch, MemOperand(scratch));
3398 tst(scratch, Operand(1u << VFP32DREGS));
3402 void MacroAssembler::SaveFPRegs(Register location, Register scratch) {
3403 CheckFor32DRegs(scratch);
3410 void MacroAssembler::RestoreFPRegs(Register location, Register scratch) {
3411 CheckFor32DRegs(scratch);
3438 Register scratch,
3444 and_(scratch, type, Operand(kFlatAsciiStringMask));
3445 cmp(scratch, Operand(kFlatAsciiStringTag));
3513 Register scratch) {
3520 mov(scratch, sp);
3524 str(scratch, MemOperand(sp, stack_passed_arguments * kPointerSize));
3532 Register scratch) {
3533 PrepareCallCFunction(num_reg_arguments, 0, scratch);
3658 Register scratch,
3662 Bfc(scratch, object, 0, kPageSizeBits);
3663 ldr(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset));
3664 tst(scratch, Operand(mask));
3670 Register scratch,
3673 mov(scratch, Operand(map));
3674 ldr(scratch, FieldMemOperand(scratch, Map::kBitField3Offset));
3675 tst(scratch, Operand(Map::Deprecated::kMask));
3723 Register scratch,
3726 ldr(scratch, FieldMemOperand(value, HeapObject::kMapOffset));
3727 CompareRoot(scratch, Heap::kHeapNumberMapRootIndex);
3733 ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
3734 tst(scratch, Operand(kIsIndirectStringMask | kIsNotStringMask));
3992 // scratch contained elements pointer.