Home | History | Annotate | Download | only in arm

Lines Matching refs:scratch

197                           Register scratch,
199 if (scratch.is(no_reg)) {
204 mov(scratch, reg1, LeaveCC, cond);
206 mov(reg2, scratch, LeaveCC, cond);
321 Register scratch,
328 DCHECK(!scratch.is(dst));
333 and_(scratch, src, Operand((1 << width) - 1));
334 mov(scratch, Operand(scratch, LSL, lsb));
335 orr(dst, dst, scratch);
447 Register scratch,
451 and_(scratch, object, Operand(ExternalReference::new_space_mask(isolate())));
452 cmp(scratch, Operand(ExternalReference::new_space_start(isolate())));
539 map, // Used as scratch.
579 // Will clobber 4 registers: object, address, scratch, ip. The
613 value, // Used as scratch.
619 value, // Used as scratch.
653 Register scratch,
659 JumpIfNotInNewSpace(object, scratch, &ok);
667 ldr(scratch, MemOperand(ip));
669 str(address, MemOperand(scratch, kPointerSize, PostIndex));
671 str(scratch, MemOperand(ip));
674 tst(scratch, Operand(StoreBuffer::kStoreBufferOverflowBit));
836 void MacroAssembler::VFPEnsureFPSCRState(Register scratch) {
839 vmrs(scratch);
842 tst(scratch, Operand(kVFPRoundingModeMask));
848 tst(scratch, Operand(kVFPDefaultNaNModeControlBit));
850 orr(scratch, scratch, Operand(kVFPDefaultNaNModeControlBit));
851 vmsr(scratch);
898 const Register scratch) {
908 vmov(dst, imm, scratch);
1345 Register scratch,
1348 IsInstanceJSObjectType(map, scratch, fail);
1353 Register scratch,
1355 ldrb(scratch, FieldMemOperand(map, Map::kInstanceTypeOffset));
1356 cmp(scratch, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE));
1358 cmp(scratch, Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE));
1364 Register scratch,
1368 ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
1369 ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
1370 tst(scratch, Operand(kIsNotStringMask));
1376 Register scratch,
1378 ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
1379 ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
1380 cmp(scratch, Operand(LAST_NAME_TYPE));
1533 Register scratch,
1537 DCHECK(!holder_reg.is(scratch));
1539 DCHECK(!scratch.is(ip));
1542 ldr(scratch, MemOperand(fp, StandardFrameConstants::kContextOffset));
1545 cmp(scratch, Operand::Zero());
1552 ldr(scratch, FieldMemOperand(scratch, offset));
1553 ldr(scratch, FieldMemOperand(scratch, GlobalObject::kNativeContextOffset));
1561 ldr(holder_reg, FieldMemOperand(scratch, HeapObject::kMapOffset));
1570 cmp(scratch, Operand(ip));
1599 ldr(scratch, FieldMemOperand(scratch, token_offset));
1601 cmp(scratch, Operand(ip));
1611 void MacroAssembler::GetNumberHash(Register t0, Register scratch) {
1612 // First of all we assign the hash seed to scratch.
1613 LoadRoot(scratch, Heap::kHashSeedRootIndex);
1614 SmiUntag(scratch);
1617 eor(t0, t0, Operand(scratch));
1623 mvn(scratch, Operand(t0));
1624 add(t0, scratch, Operand(t0, LSL, 15));
1632 mov(scratch, Operand(t0, LSL, 11));
1634 add(t0, t0, scratch);
1660 // Scratch registers:
1943 Register scratch) {
1951 mov(scratch, Operand(new_space_allocation_top));
1952 ldr(scratch, MemOperand(scratch));
1953 cmp(object, scratch);
1957 mov(scratch, Operand(new_space_allocation_top));
1958 str(object, MemOperand(scratch));
2128 Register scratch,
2134 ldrb(scratch, FieldMemOperand(map, Map::kBitField2Offset));
2135 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue));
2141 Register scratch,
2147 ldrb(scratch, FieldMemOperand(map, Map::kBitField2Offset));
2148 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue));
2150 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleyElementValue));
2156 Register scratch,
2160 ldrb(scratch, FieldMemOperand(map, Map::kBitField2Offset));
2161 cmp(scratch, Operand(Map::kMaximumBitField2FastHoleySmiElementValue));
2208 Register scratch,
2211 ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
2212 CompareMap(scratch, map, early_success);
2224 Register scratch,
2233 CompareMap(obj, scratch, map, &success);
2240 Register scratch,
2247 ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
2249 cmp(scratch, ip);
2255 Register scratch,
2263 ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
2265 cmp(scratch, ip);
2273 Register scratch,
2282 CompareObjectType(function, result, scratch, JS_FUNCTION_TYPE);
2285 ldr(scratch,
2287 ldr(scratch,
2288 FieldMemOperand(scratch, SharedFunctionInfo::kCompilerHintsOffset));
2289 tst(scratch,
2294 ldrb(scratch, FieldMemOperand(result, Map::kBitFieldOffset));
2295 tst(scratch, Operand(1 << Map::kHasNonInstancePrototype));
2312 CompareObjectType(result, scratch, scratch, MAP_TYPE);
2902 Register scratch,
2905 ldr(scratch,
2907 ldr(scratch, FieldMemOperand(scratch, GlobalObject::kNativeContextOffset));
2910 ldr(scratch,
2911 MemOperand(scratch,
2915 ldr(ip, FieldMemOperand(scratch, offset));
2922 ldr(map_in_out, FieldMemOperand(scratch, offset));
2940 Register scratch) {
2945 CheckMap(map, scratch, Heap::kMetaMapRootIndex, &fail, DO_SMI_CHECK);
2956 Register scratch,
2958 sub(scratch, reg, Operand(1), SetCC);
2960 tst(scratch, reg);
2967 Register scratch,
2970 sub(scratch, reg, Operand(1), SetCC);
2972 tst(scratch, reg);
3060 Register scratch) {
3066 ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
3067 CompareRoot(scratch, Heap::kAllocationSiteMapRootIndex);
3084 Register scratch,
3086 ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
3088 cmp(scratch, heap_number_map);
3152 Register scratch = scratch1;
3153 and_(scratch, mask, Operand(object, ASR, 1));
3156 add(scratch,
3158 Operand(scratch, LSL, kPointerSizeLog2 + 1));
3161 ldr(probe, FieldMemOperand(scratch, FixedArray::kHeaderSize));
3167 ldr(result, FieldMemOperand(scratch, FixedArray::kHeaderSize + kPointerSize));
3282 Register scratch) {
3292 ldrb(scratch, MemOperand(src, 1, PostIndex));
3293 strb(scratch, MemOperand(dst, 1, PostIndex));
3304 ldr(scratch, MemOperand(src, kPointerSize, PostIndex));
3306 str(scratch, MemOperand(dst, kPointerSize, PostIndex));
3308 strb(scratch, MemOperand(dst, 1, PostIndex));
3309 mov(scratch, Operand(scratch, LSR, 8));
3310 strb(scratch, MemOperand(dst, 1, PostIndex));
3311 mov(scratch, Operand(scratch, LSR, 8));
3312 strb(scratch, MemOperand(dst, 1, PostIndex));
3313 mov(scratch, Operand(scratch, LSR, 8));
3314 strb(scratch, MemOperand(dst, 1, PostIndex));
3324 ldrb(scratch, MemOperand(src, 1, PostIndex));
3325 strb(scratch, MemOperand(dst, 1, PostIndex));
3345 void MacroAssembler::CheckFor32DRegs(Register scratch) {
3346 mov(scratch, Operand(ExternalReference::cpu_features()));
3347 ldr(scratch, MemOperand(scratch));
3348 tst(scratch, Operand(1u << VFP32DREGS));
3352 void MacroAssembler::SaveFPRegs(Register location, Register scratch) {
3353 CheckFor32DRegs(scratch);
3360 void MacroAssembler::RestoreFPRegs(Register location, Register scratch) {
3361 CheckFor32DRegs(scratch);
3385 Register scratch,
3391 and_(scratch, type, Operand(kFlatOneByteStringMask));
3392 cmp(scratch, Operand(kFlatOneByteStringTag));
3460 Register scratch) {
3467 mov(scratch, sp);
3471 str(scratch, MemOperand(sp, stack_passed_arguments * kPointerSize));
3479 Register scratch) {
3480 PrepareCallCFunction(num_reg_arguments, 0, scratch);
3576 Register scratch) {
3582 and_(scratch, result, Operand(GetConsantPoolLoadMask()));
3583 teq(scratch, Operand(GetConsantPoolLoadPattern()));
3604 and_(scratch, result, Operand(0xfff));
3607 orr(result, scratch, Operand(ip));
3609 ldr(scratch, MemOperand(ldr_location, kInstrSize));
3610 and_(ip, scratch, Operand(0xf0000));
3612 and_(scratch, scratch, Operand(0xfff));
3613 orr(result, result, Operand(scratch, LSL, 16));
3645 Register scratch,
3649 Bfc(scratch, object, 0, kPageSizeBits);
3650 ldr(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset));
3651 tst(scratch, Operand(mask));
3657 Register scratch,
3660 mov(scratch, Operand(map));
3661 ldr(scratch, FieldMemOperand(scratch, Map::kBitField3Offset));
3662 tst(scratch, Operand(Map::Deprecated::kMask));
3710 Register scratch,
3713 ldr(scratch, FieldMemOperand(value, HeapObject::kMapOffset));
3714 CompareRoot(scratch, Heap::kHeapNumberMapRootIndex);
3720 ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
3721 tst(scratch, Operand(kIsIndirectStringMask | kIsNotStringMask));
3979 // scratch contained elements pointer.