Lines Matching full:scratch
61 Register scratch) {
68 Move(scratch, target);
69 return Operand(scratch, 0);
130 // Operand is leap(scratch, Operand(kRootRegister, delta));
208 Register scratch,
213 JumpIfNotInNewSpace(object, scratch, &ok, Label::kNear);
218 LoadRoot(scratch, Heap::kStoreBufferTopRootIndex);
220 movp(Operand(scratch, 0), addr);
222 addp(scratch, Immediate(kPointerSize));
224 StoreRoot(scratch, Heap::kStoreBufferTopRootIndex);
228 testp(scratch, Immediate(StoreBuffer::kStoreBufferOverflowBit));
250 Register scratch,
259 if (scratch.is(object)) {
261 andp(scratch, kScratchRegister);
263 Move(scratch, ExternalReference::new_space_mask(isolate()));
264 andp(scratch, object);
267 cmpp(scratch, kScratchRegister);
277 if (scratch.is(object)) {
278 addp(scratch, kScratchRegister);
280 leap(scratch, Operand(object, kScratchRegister, times_1, 0));
282 andp(scratch,
416 map, // Used as scratch.
478 value, // Used as scratch.
486 value, // Used as scratch.
1388 Register scratch) {
1392 if (scratch.is(second)) {
1393 andl(scratch, first);
1395 if (!scratch.is(first)) {
1396 movl(scratch, first);
1398 andl(scratch, second);
1400 testb(scratch, Immediate(kSmiTagMask));
2297 // If src1 is a smi, then scratch register all 1s, else it is all 0s.
2396 void MacroAssembler::PushRegisterAsTwoSmis(Register src, Register scratch) {
2397 DCHECK(!src.is(scratch));
2398 movp(scratch, src);
2404 shlp(scratch, Immediate(kSmiShift));
2405 Push(scratch);
2409 void MacroAssembler::PopRegisterAsTwoSmis(Register dst, Register scratch) {
2410 DCHECK(!dst.is(scratch));
2411 Pop(scratch);
2413 shrp(scratch, Immediate(kSmiShift));
2418 orp(dst, scratch);
2478 Register instance_type, Register scratch, Label* failure,
2480 if (!scratch.is(instance_type)) {
2481 movl(scratch, instance_type);
2487 andl(scratch, Immediate(kFlatOneByteStringMask));
2488 cmpl(scratch, Immediate(kStringTag | kSeqStringTag | kOneByteStringTag));
2905 Register scratch) {
2906 Move(scratch, cell, RelocInfo::EMBEDDED_OBJECT);
2907 cmpp(value, FieldOperand(scratch, WeakCell::kValueOffset));
2932 Register scratch) {
2939 PopReturnAddressTo(scratch);
2941 PushReturnAddressFrom(scratch);
3014 Register scratch = dst.AddressUsesRegister(kScratchRegister)
3016 movp(scratch, Operand(rsp, 0));
3017 movp(dst, scratch);
3019 if (scratch.is(kRootRegister)) {
3479 void MacroAssembler::Ret(int bytes_dropped, Register scratch) {
3483 PopReturnAddressTo(scratch);
3485 PushReturnAddressFrom(scratch);
3698 XMMRegister scratch,
4398 Register scratch,
4402 DCHECK(!holder_reg.is(scratch));
4403 DCHECK(!scratch.is(kScratchRegister));
4405 movp(scratch, Operand(rbp, StandardFrameConstants::kContextOffset));
4409 cmpp(scratch, Immediate(0));
4413 movp(scratch, ContextOperand(scratch, Context::NATIVE_CONTEXT_INDEX));
4417 Cmp(FieldOperand(scratch, HeapObject::kMapOffset),
4423 cmpp(scratch, FieldOperand(holder_reg, JSGlobalProxy::kNativeContextOffset));
4451 movp(scratch, FieldOperand(scratch, token_offset));
4452 cmpp(scratch, FieldOperand(kScratchRegister, token_offset));
4462 void MacroAssembler::GetNumberHash(Register r0, Register scratch) {
4463 // First of all we assign the hash seed to scratch.
4464 LoadRoot(scratch, Heap::kHashSeedRootIndex);
4465 SmiToInteger32(scratch, scratch);
4468 xorl(r0, scratch);
4474 movl(scratch, r0);
4476 shll(scratch, Immediate(15));
4477 addl(r0, scratch);
4479 movl(scratch, r0);
4480 shrl(scratch, Immediate(12));
4481 xorl(r0, scratch);
4485 movl(scratch, r0);
4486 shrl(scratch, Immediate(4));
4487 xorl(r0, scratch);
4491 movl(scratch, r0);
4492 shrl(scratch, Immediate(16));
4493 xorl(r0, scratch);
4514 // Scratch registers:
4579 Register scratch,
4586 // No use of scratch if allocation top is provided.
4587 DCHECK(!scratch.is_valid());
4597 // Move address of new object to result. Use scratch register if available,
4598 // and keep address in scratch until call to UpdateAllocationTopHelper.
4599 if (scratch.is_valid()) {
4600 LoadAddress(scratch, allocation_top);
4601 movp(result, Operand(scratch, 0));
4609 Register scratch,
4622 // Make sure scratch is not clobbered by this function as it might be
4624 DCHECK(!scratch.is(kScratchRegister));
4643 Register scratch,
4654 if (scratch.is_valid()) {
4655 // Scratch already contains address of allocation top.
4656 movp(Operand(scratch, 0), result_end);
4666 Register scratch,
4678 if (scratch.is_valid()) {
4679 movl(scratch, Immediate(0x7291));
4688 LoadAllocationTopHelper(result, scratch, flags);
4691 MakeSureDoubleAlignedHelper(result, scratch, gc_required, flags);
4710 UpdateAllocationTopHelper(top_reg, scratch, flags);
4732 Register scratch,
4737 Allocate(result_end, result, result_end, scratch, gc_required, flags);
4744 Register scratch,
4753 if (scratch.is_valid()) {
4754 movl(scratch, Immediate(0x7291));
4764 LoadAllocationTopHelper(result, scratch, flags);
4767 MakeSureDoubleAlignedHelper(result, scratch, gc_required, flags);
4783 UpdateAllocationTopHelper(result_end, scratch, flags);
4793 Register scratch,
4797 Allocate(HeapNumber::kSize, result, scratch, no_reg, gc_required, TAG_OBJECT);
4944 Register value, Register scratch,
4947 DCHECK(!result.is(scratch));
4951 Allocate(JSValue::kSize, result, scratch, no_reg, gc_required, TAG_OBJECT);
4954 LoadGlobalFunctionInitialMap(constructor, scratch);
4955 movp(FieldOperand(result, HeapObject::kMapOffset), scratch);
4956 LoadRoot(scratch, Heap::kEmptyFixedArrayRootIndex);
4957 movp(FieldOperand(result, JSObject::kPropertiesOffset), scratch);
4958 movp(FieldOperand(result, JSObject::kElementsOffset), scratch);
4965 // long or aligned copies. The contents of scratch and length are destroyed.
4966 // Destination is incremented by length, source, length and scratch are
4975 Register scratch) {
5005 movp(scratch, length);
5009 andl(scratch, Immediate(kPointerSize - 1));
5010 movp(length, Operand(source, scratch, times_1, -kPointerSize));
5011 movp(Operand(destination, scratch, times_1, -kPointerSize), length);
5012 addp(destination, scratch);
5017 movp(scratch, Operand(source, 2 * kPointerSize));
5018 movp(Operand(destination, 2 * kPointerSize), scratch);
5020 movp(scratch, Operand(source, kPointerSize));
5021 movp(Operand(destination, kPointerSize), scratch);
5023 movp(scratch, Operand(source, 0));
5024 movp(Operand(destination, 0), scratch);
5026 movp(scratch, Operand(source, length, times_1, -kPointerSize));
5027 movp(Operand(destination, length, times_1, -kPointerSize), scratch);
5038 movb(scratch, Operand(source, 0));
5039 movb(Operand(destination, 0), scratch);
5094 Register scratch,
5100 movp(scratch, NativeContextOperand());
5102 ContextOperand(scratch, Context::ArrayMapIndex(expected_kind)));
5107 ContextOperand(scratch, Context::ArrayMapIndex(transitioned_kind)));
5282 Register scratch,
5288 if (scratch.is(object)) {
5289 andp(scratch, Immediate(~Page::kPageAlignmentMask));
5291 movp(scratch, Immediate(~Page::kPageAlignmentMask));
5292 andp(scratch, object);
5295 testb(Operand(scratch, MemoryChunk::kFlagsOffset),
5298 testl(Operand(scratch, MemoryChunk::kFlagsOffset), Immediate(mask));