Lines Matching refs:a1

48   //  -- a1 : target function (preserved for callee)
102 // -- a1 : constructor function
130 // a1: constructor function
132 __ InvokeFunctionWithNewTarget(a1, a3, a0, InvokeType::kCall);
153 // -- a1: constructor function
167 __ Push(cp, a0, a1);
174 // -- a1 and sp[2*kPointerSize]: constructor function
179 __ lw(t2, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset));
237 __ lw(a1, MemOperand(fp, ConstructFrameConstants::kConstructorOffset));
260 __ InvokeFunctionWithNewTarget(a1, a3, a0, InvokeType::kCall);
294 __ lw(a1, MemOperand(fp, ConstructFrameConstants::kLengthOffset));
299 __ DropArguments(a1, TurboAssembler::kCountIsSmi,
335 __ Push(a1);
380 // Passes through a0, a1, a2, a3 and stack to JSEntryTrampoline.
485 // Preserve a1, a2 and a3 passed by C++ and pass them to the trampoline.
552 // -- a1: new.target
592 // a1: function
594 __ mov(a3, a1);
595 __ mov(a1, a2);
630 // a1: microtask_queue
631 __ mov(RunMicrotasksDescriptor::MicrotaskQueueRegister(), a1);
673 // -- a1 : the JSGeneratorObject to resume
678 __ sw(v0, FieldMemOperand(a1, JSGeneratorObject::kInputOrDebugPosOffset));
679 __ RecordWriteField(a1, JSGeneratorObject::kInputOrDebugPosOffset, v0, a3,
682 // Check that a1 is still valid, RecordWrite might have clobbered it.
683 __ AssertGeneratorObject(a1);
686 __ lw(t0, FieldMemOperand(a1, JSGeneratorObject::kFunctionOffset));
703 __ Branch(&prepare_step_in_suspended_generator, eq, a1, Operand(t1));
714 // -- a1 : the JSGeneratorObject to resume
727 FieldMemOperand(a1, JSGeneratorObject::kParametersAndRegistersOffset));
739 __ Lw(kScratchReg, FieldMemOperand(a1, JSGeneratorObject::kReceiverOffset));
763 __ Move(a3, a1);
764 __ Move(a1, t0);
766 __ lw(a2, FieldMemOperand(a1, JSFunction::kCodeOffset));
774 __ Push(a1, t0);
778 __ Pop(a1);
781 __ lw(t0, FieldMemOperand(a1, JSGeneratorObject::kFunctionOffset));
786 __ Push(a1);
788 __ Pop(a1);
791 __ lw(t0, FieldMemOperand(a1, JSGeneratorObject::kFunctionOffset));
864 // -- a1 : target function (preserved for callee if needed, and caller)
866 DCHECK(!AreAliased(optimized_code_entry, a1, a3, scratch1, scratch2));
868 Register closure = a1;
907 // -- a1 : target function (preserved for callee if needed, and caller)
913 DCHECK(!AreAliased(feedback_vector, a1, a3, tiering_state));
1203 // o a1: the JS function object being called.
1213 Register closure = a1;
1356 __ Addu(a1, kInterpreterBytecodeArrayRegister,
1358 __ lbu(a1, MemOperand(a1));
1360 kInterpreterBytecodeOffsetRegister, a1, a2, a3,
1461 // -- a1 : the target to call (can be any Object).
1514 // -- a1 : constructor to call
1545 __ AssertFunction(a1);
1552 // Call the constructor with a0, a1, and a3 unmodified.
1557 // Call the constructor with a0, a1, and a3 unmodified.
1616 __ GetObjectType(kInterpreterBytecodeArrayRegister, a1, a1);
1619 a1, Operand(BYTECODE_ARRAY_TYPE));
1637 __ Addu(a1, kInterpreterBytecodeArrayRegister,
1639 __ lbu(t3, MemOperand(a1));
1640 __ Lsa(a1, kInterpreterDispatchTableRegister, t3, kPointerSizeLog2);
1641 __ lw(kJavaScriptCallCodeStartRegister, MemOperand(a1));
1661 __ Addu(a1, kInterpreterBytecodeArrayRegister,
1663 __ lbu(a1, MemOperand(a1));
1668 kInterpreterBytecodeOffsetRegister, a1, a2, a3,
1808 __ lw(a1, MemOperand(v0, Code::kDeoptimizationDataOrInterpreterDataOffset -
1813 __ lw(a1, MemOperand(a1, FixedArray::OffsetOfElementAt(
1816 __ SmiUntag(a1);
1820 __ Addu(v0, v0, a1);
1844 // 1. Load receiver into a1, argArray into a2 (if present), remove all
1852 __ lw(a1, MemOperand(sp)); // receiver
1864 // -- a1 : receiver
1893 __ Pop(a1);
1921 // 1. Load target into a1 (if present), argumentsList into a0 (if present),
1926 __ LoadRoot(a1, RootIndex::kUndefinedValue);
1927 __ mov(a2, a1);
1928 __ mov(a3, a1);
1930 __ lw(a1, MemOperand(sp, kSystemPointerSize)); // target
1942 // -- a1 : target
1964 // 1. Load target into a1 (if present), argumentsList into a2 (if present),
1970 __ LoadRoot(a1, RootIndex::kUndefinedValue);
1971 __ mov(a2, a1);
1972 __ mov(t0, a1);
1974 __ lw(a1, MemOperand(sp, kSystemPointerSize)); // target
1975 __ mov(a3, a1); // new.target defaults to target
1988 // -- a1 : target
2048 // -- a1 : target
2113 // -- a1 : the target to call (can be any Object)
2189 // -- a1 : the function to call (checked to be a JSFunction)
2191 __ AssertCallableFunction(a1);
2193 __ lw(a2, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset));
2198 __ lw(cp, FieldMemOperand(a1, JSFunction::kContextOffset));
2209 // -- a1 : the function to call (checked to be a JSFunction)
2242 __ Push(a0, a1);
2249 __ Pop(a0, a1);
2252 __ lw(a2, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset));
2261 // -- a1 : the function to call (checked to be a JSFunction)
2268 __ InvokeFunctionCode(a1, no_reg, a2, a0, InvokeType::kJump);
2275 // -- a1 : the function to call (checked to be a JSBoundFunction)
2277 __ AssertBoundFunction(a1);
2281 __ lw(t0, FieldMemOperand(a1, JSBoundFunction::kBoundThisOffset));
2286 __ lw(a2, FieldMemOperand(a1, JSBoundFunction::kBoundArgumentsOffset));
2292 // -- a1 : the function to call (checked to be a JSBoundFunction)
2337 __ lw(a1, FieldMemOperand(a1, JSBoundFunction::kBoundTargetFunctionOffset));
2346 // -- a1 : the target to call (can be any Object).
2350 Register target = a1;
2424 // -- a1 : the constructor to call (checked to be a JSFunction)
2427 __ AssertConstructor(a1);
2428 __ AssertFunction(a1);
2437 __ lw(t0, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset));
2454 // -- a1 : the function to call (checked to be a JSBoundFunction)
2457 __ AssertConstructor(a1);
2458 __ AssertBoundFunction(a1);
2461 __ lw(a2, FieldMemOperand(a1, JSBoundFunction::kBoundArgumentsOffset));
2467 // -- a1 : the function to call (checked to be a JSBoundFunction)
2515 __ Branch(&skip_load, ne, a1, Operand(a3));
2516 __ lw(a3, FieldMemOperand(a1, JSBoundFunction::kBoundTargetFunctionOffset));
2521 __ lw(a1, FieldMemOperand(a1, JSBoundFunction::kBoundTargetFunctionOffset));
2529 // -- a1 : the constructor to call (can be any Object)
2535 Register target = a1;
2717 // a1: pointer to builtin function
2747 __ mov(s2, a1);
2749 // We are calling compiled C/C++ code. a0 and a1 hold our two arguments. We
2754 // a0 = argc, a1 = argv, a2 = isolate
2756 __ mov(a1, s1);
2814 __ mov(a1, zero_reg);
2996 DCHECK(function_address == a1 || function_address == a2);
3040 __ lw(a1, MemOperand(s5, kLevelOffset));
3041 __ Check(eq, AbortReason::kUnexpectedLevelAfterReturnFromApiCall, a1,
3098 // -- a1 : api function address
3108 Register api_function_address = a1;
3260 __ Addu(a1, a0, Operand(1 * kPointerSize)); // a1 = v8::PCI::args_
3268 __ sw(a1, MemOperand(sp, 1 * kPointerSize));
3269 __ Addu(a1, sp, Operand(1 * kPointerSize)); // a1 = v8::PropertyCallbackInfo&
3358 __ xor_(t8, a1, a0);
3359 __ andi(t8, t8, loadstore_chunk - 1); // t8 is a0/a1 word-displacement.
3363 __ andi(a3, a3, loadstore_chunk - 1); // Copy a3 bytes to align a0/a1.
3368 __ lwr(t8, MemOperand(a1));
3369 __ addu(a1, a1, a3);
3373 __ lwl(t8, MemOperand(a1));
3374 __ addu(a1, a1, a3);
3381 // copied. We will loop, incrementing a0 and a1 until a0 equals a3.
3398 __ Pref(pref_hint_load, MemOperand(a1, 0 * pref_chunk));
3399 __ Pref(pref_hint_load, MemOperand(a1, 1 * pref_chunk));
3400 __ Pref(pref_hint_load, MemOperand(a1, 2 * pref_chunk));
3401 __ Pref(pref_hint_load, MemOperand(a1, 3 * pref_chunk));
3409 __ lw(t0, MemOperand(a1));
3415 __ lw(t1, MemOperand(a1, 1, loadstore_chunk)); // Maybe in delay slot.
3421 __ lw(t2, MemOperand(a1, 2, loadstore_chunk));
3422 __ lw(t3, MemOperand(a1, 3, loadstore_chunk));
3423 __ lw(t4, MemOperand(a1, 4, loadstore_chunk));
3424 __ lw(t5, MemOperand(a1, 5, loadstore_chunk));
3425 __ lw(t6, MemOperand(a1, 6, loadstore_chunk));
3426 __ lw(t7, MemOperand(a1, 7, loadstore_chunk));
3427 __ Pref(pref_hint_load, MemOperand(a1, 4 * pref_chunk));
3438 __ lw(t0, MemOperand(a1, 8, loadstore_chunk));
3439 __ lw(t1, MemOperand(a1, 9, loadstore_chunk));
3440 __ lw(t2, MemOperand(a1, 10, loadstore_chunk));
3441 __ lw(t3, MemOperand(a1, 11, loadstore_chunk));
3442 __ lw(t4, MemOperand(a1, 12, loadstore_chunk));
3443 __ lw(t5, MemOperand(a1, 13, loadstore_chunk));
3444 __ lw(t6, MemOperand(a1, 14, loadstore_chunk));
3445 __ lw(t7, MemOperand(a1, 15, loadstore_chunk));
3446 __ Pref(pref_hint_load, MemOperand(a1, 5 * pref_chunk));
3458 __ addiu(a1, a1, 16 * loadstore_chunk); // In delay slot.
3465 __ Pref(pref_hint_load, MemOperand(a1, 0 * pref_chunk));
3469 __ lw(t0, MemOperand(a1));
3470 __ lw(t1, MemOperand(a1, 1, loadstore_chunk));
3471 __ lw(t2, MemOperand(a1, 2, loadstore_chunk));
3472 __ lw(t3, MemOperand(a1, 3, loadstore_chunk));
3473 __ lw(t4, MemOperand(a1, 4, loadstore_chunk));
3474 __ lw(t5, MemOperand(a1, 5, loadstore_chunk));
3475 __ lw(t6, MemOperand(a1, 6, loadstore_chunk));
3476 __ lw(t7, MemOperand(a1, 7, loadstore_chunk));
3477 __ addiu(a1, a1, 8 * loadstore_chunk);
3492 // and a1 until a0 equals a3.
3500 __ lw(t3, MemOperand(a1));
3502 __ addiu(a1, a1, loadstore_chunk);
3511 __ lb(v1, MemOperand(a1));
3513 __ addiu(a1, a1, 1);
3525 __ andi(a3, a3, loadstore_chunk - 1); // Copy a3 bytes to align a0/a1.
3530 __ lwr(v1, MemOperand(a1));
3532 MemOperand(a1, 1, loadstore_chunk, MemOperand::offset_minus_one));
3533 __ addu(a1, a1, a3);
3537 __ lwl(v1, MemOperand(a1));
3539 MemOperand(a1, 1, loadstore_chunk, MemOperand::offset_minus_one));
3540 __ addu(a1, a1, a3);
3548 // loop, incrementing a0 and a1 until a0 equals a3.
3560 __ Pref(pref_hint_load, MemOperand(a1, 0 * pref_chunk));
3561 __ Pref(pref_hint_load, MemOperand(a1, 1 * pref_chunk));
3562 __ Pref(pref_hint_load, MemOperand(a1, 2 * pref_chunk));
3571 __ Pref(pref_hint_load, MemOperand(a1, 3 * pref_chunk));
3573 __ lwr(t0, MemOperand(a1));
3574 __ lwr(t1, MemOperand(a1, 1, loadstore_chunk));
3575 __ lwr(t2, MemOperand(a1, 2, loadstore_chunk));
3581 __ lwr(t3, MemOperand(a1, 3, loadstore_chunk)); // Maybe in delay slot.
3587 __ lwr(t4, MemOperand(a1, 4, loadstore_chunk));
3588 __ lwr(t5, MemOperand(a1, 5, loadstore_chunk));
3589 __ lwr(t6, MemOperand(a1, 6, loadstore_chunk));
3590 __ lwr(t7, MemOperand(a1, 7, loadstore_chunk));
3592 MemOperand(a1, 1, loadstore_chunk, MemOperand::offset_minus_one));
3594 MemOperand(a1, 2, loadstore_chunk, MemOperand::offset_minus_one));
3596 MemOperand(a1, 3, loadstore_chunk, MemOperand::offset_minus_one));
3598 MemOperand(a1, 4, loadstore_chunk, MemOperand::offset_minus_one));
3600 MemOperand(a1, 5, loadstore_chunk, MemOperand::offset_minus_one));
3602 MemOperand(a1, 6, loadstore_chunk, MemOperand::offset_minus_one));
3604 MemOperand(a1, 7, loadstore_chunk, MemOperand::offset_minus_one));
3606 MemOperand(a1, 8, loadstore_chunk, MemOperand::offset_minus_one));
3608 __ lwl(t0, MemOperand(a1));
3609 __ lwl(t1, MemOperand(a1, 1, loadstore_chunk));
3610 __ lwl(t2, MemOperand(a1, 2, loadstore_chunk));
3616 __ lwl(t3, MemOperand(a1, 3, loadstore_chunk)); // Maybe in delay slot.
3622 __ lwl(t4, MemOperand(a1, 4, loadstore_chunk));
3623 __ lwl(t5, MemOperand(a1, 5, loadstore_chunk));
3624 __ lwl(t6, MemOperand(a1, 6, loadstore_chunk));
3625 __ lwl(t7, MemOperand(a1, 7, loadstore_chunk));
3627 MemOperand(a1, 1, loadstore_chunk, MemOperand::offset_minus_one));
3629 MemOperand(a1, 2, loadstore_chunk, MemOperand::offset_minus_one));
3631 MemOperand(a1, 3, loadstore_chunk, MemOperand::offset_minus_one));
3633 MemOperand(a1, 4, loadstore_chunk, MemOperand::offset_minus_one));
3635 MemOperand(a1, 5, loadstore_chunk, MemOperand::offset_minus_one));
3637 MemOperand(a1, 6, loadstore_chunk, MemOperand::offset_minus_one));
3639 MemOperand(a1, 7, loadstore_chunk, MemOperand::offset_minus_one));
3641 MemOperand(a1, 8, loadstore_chunk, MemOperand::offset_minus_one));
3643 __ Pref(pref_hint_load, MemOperand(a1, 4 * pref_chunk));
3653 __ lwr(t0, MemOperand(a1, 8, loadstore_chunk));
3654 __ lwr(t1, MemOperand(a1, 9, loadstore_chunk));
3655 __ lwr(t2, MemOperand(a1, 10, loadstore_chunk));
3656 __ lwr(t3, MemOperand(a1, 11, loadstore_chunk));
3657 __ lwr(t4, MemOperand(a1, 12, loadstore_chunk));
3658 __ lwr(t5, MemOperand(a1, 13, loadstore_chunk));
3659 __ lwr(t6, MemOperand(a1, 14, loadstore_chunk));
3660 __ lwr(t7, MemOperand(a1, 15, loadstore_chunk));
3662 MemOperand(a1, 9, loadstore_chunk, MemOperand::offset_minus_one));
3664 MemOperand(a1, 10, loadstore_chunk, MemOperand::offset_minus_one));
3666 MemOperand(a1, 11, loadstore_chunk, MemOperand::offset_minus_one));
3668 MemOperand(a1, 12, loadstore_chunk, MemOperand::offset_minus_one));
3670 MemOperand(a1, 13, loadstore_chunk, MemOperand::offset_minus_one));
3672 MemOperand(a1, 14, loadstore_chunk, MemOperand::offset_minus_one));
3674 MemOperand(a1, 15, loadstore_chunk, MemOperand::offset_minus_one));
3676 MemOperand(a1, 16, loadstore_chunk, MemOperand::offset_minus_one));
3678 __ lwl(t0, MemOperand(a1, 8, loadstore_chunk));
3679 __ lwl(t1, MemOperand(a1, 9, loadstore_chunk));
3680 __ lwl(t2, MemOperand(a1, 10, loadstore_chunk));
3681 __ lwl(t3, MemOperand(a1, 11, loadstore_chunk));
3682 __ lwl(t4, MemOperand(a1, 12, loadstore_chunk));
3683 __ lwl(t5, MemOperand(a1, 13, loadstore_chunk));
3684 __ lwl(t6, MemOperand(a1, 14, loadstore_chunk));
3685 __ lwl(t7, MemOperand(a1, 15, loadstore_chunk));
3687 MemOperand(a1, 9, loadstore_chunk, MemOperand::offset_minus_one));
3689 MemOperand(a1, 10, loadstore_chunk, MemOperand::offset_minus_one));
3691 MemOperand(a1, 11, loadstore_chunk, MemOperand::offset_minus_one));
3693 MemOperand(a1, 12, loadstore_chunk, MemOperand::offset_minus_one));
3695 MemOperand(a1, 13, loadstore_chunk, MemOperand::offset_minus_one));
3697 MemOperand(a1, 14, loadstore_chunk, MemOperand::offset_minus_one));
3699 MemOperand(a1, 15, loadstore_chunk, MemOperand::offset_minus_one));
3701 MemOperand(a1, 16, loadstore_chunk, MemOperand::offset_minus_one));
3703 __ Pref(pref_hint_load, MemOperand(a1, 5 * pref_chunk));
3714 __ addiu(a1, a1, 16 * loadstore_chunk); // In delay slot.
3721 __ Pref(pref_hint_load, MemOperand(a1));
3727 __ lwr(t0, MemOperand(a1));
3728 __ lwr(t1, MemOperand(a1, 1, loadstore_chunk));
3729 __ lwr(t2, MemOperand(a1, 2, loadstore_chunk));
3730 __ lwr(t3, MemOperand(a1, 3, loadstore_chunk));
3731 __ lwr(t4, MemOperand(a1, 4, loadstore_chunk));
3732 __ lwr(t5, MemOperand(a1, 5, loadstore_chunk));
3733 __ lwr(t6, MemOperand(a1, 6, loadstore_chunk));
3734 __ lwr(t7, MemOperand(a1, 7, loadstore_chunk));
3736 MemOperand(a1, 1, loadstore_chunk, MemOperand::offset_minus_one));
3738 MemOperand(a1, 2, loadstore_chunk, MemOperand::offset_minus_one));
3740 MemOperand(a1, 3, loadstore_chunk, MemOperand::offset_minus_one));
3742 MemOperand(a1, 4, loadstore_chunk, MemOperand::offset_minus_one));
3744 MemOperand(a1, 5, loadstore_chunk, MemOperand::offset_minus_one));
3746 MemOperand(a1, 6, loadstore_chunk, MemOperand::offset_minus_one));
3748 MemOperand(a1, 7, loadstore_chunk, MemOperand::offset_minus_one));
3750 MemOperand(a1, 8, loadstore_chunk, MemOperand::offset_minus_one));
3752 __ lwl(t0, MemOperand(a1));
3753 __ lwl(t1, MemOperand(a1, 1, loadstore_chunk));
3754 __ lwl(t2, MemOperand(a1, 2, loadstore_chunk));
3755 __ lwl(t3, MemOperand(a1, 3, loadstore_chunk));
3756 __ lwl(t4, MemOperand(a1, 4, loadstore_chunk));
3757 __ lwl(t5, MemOperand(a1, 5, loadstore_chunk));
3758 __ lwl(t6, MemOperand(a1, 6, loadstore_chunk));
3759 __ lwl(t7, MemOperand(a1, 7, loadstore_chunk));
3761 MemOperand(a1, 1, loadstore_chunk, MemOperand::offset_minus_one));
3763 MemOperand(a1, 2, loadstore_chunk, MemOperand::offset_minus_one));
3765 MemOperand(a1, 3, loadstore_chunk, MemOperand::offset_minus_one));
3767 MemOperand(a1, 4, loadstore_chunk, MemOperand::offset_minus_one));
3769 MemOperand(a1, 5, loadstore_chunk, MemOperand::offset_minus_one));
3771 MemOperand(a1, 6, loadstore_chunk, MemOperand::offset_minus_one));
3773 MemOperand(a1, 7, loadstore_chunk, MemOperand::offset_minus_one));
3775 MemOperand(a1, 8, loadstore_chunk, MemOperand::offset_minus_one));
3777 __ addiu(a1, a1, 8 * loadstore_chunk);
3798 __ lwr(v1, MemOperand(a1));
3800 MemOperand(a1, 1, loadstore_chunk, MemOperand::offset_minus_one));
3802 __ lwl(v1, MemOperand(a1));
3804 MemOperand(a1, 1, loadstore_chunk, MemOperand::offset_minus_one));
3807 __ addiu(a1, a1, loadstore_chunk);
3817 __ lb(v1, MemOperand(a1));
3819 __ addiu(a1, a1, 1);
3884 __ lw(a1, MemOperand(fp, CommonFrameConstants::kContextOrFrameTypeOffset));
3885 __ JumpIfSmi(a1, &context_check);
3888 __ li(a1, Operand(static_cast<int>(deopt_kind)));
3900 // frame descriptor pointer to a1 (deoptimizer->input_);
3903 __ lw(a1, MemOperand(v0, Deoptimizer::input_offset()));
3911 __ sw(a2, MemOperand(a1, offset));
3914 __ sw(a2, MemOperand(a1, offset));
3926 __ Sdc1(f0, MemOperand(a1, dst_offset));
3934 __ lw(a2, MemOperand(a1, FrameDescription::frame_size_offset()));
3940 __ Addu(a3, a1, Operand(FrameDescription::frame_content_offset()));
3953 // a0: deoptimizer object; a1: scratch.
3954 __ PrepareCallCFunction(1, a1);
3967 // a1 = one past the last FrameDescription**.
3968 __ lw(a1, MemOperand(a0, Deoptimizer::output_count_offset()));
3970 __ Lsa(a1, t0, a1, kPointerSizeLog2);
3987 __ BranchShort(&outer_push_loop, lt, t0, Operand(a1));
3989 __ lw(a1, MemOperand(a0, Deoptimizer::input_offset()));
3994 __ Ldc1(fpu_reg, MemOperand(a1, src_offset));
4048 Register closure = a1;
4141 Register arg_reg_2 = a1;