Lines Matching defs:rax
20 // -- rax : number of arguments excluding receiver
40 // JumpToExternalReference expects rax to contain the number of arguments
43 __ addp(rax, Immediate(num_extra_args + 1));
48 __ Integer32ToSmi(rax, rax);
49 __ Push(rax);
50 __ SmiToInteger32(rax, rax);
71 // -- rax : argument count (preserved for callee)
78 __ Integer32ToSmi(rax, rax);
79 __ Push(rax);
87 __ movp(rbx, rax);
92 __ Pop(rax);
93 __ SmiToInteger32(rax, rax);
121 // -- rax: number of arguments
132 __ Integer32ToSmi(rcx, rax);
142 __ movp(rbx, rax);
153 __ SmiToInteger32(rax, Operand(rsp, 0 * kPointerSize));
171 __ movp(rcx, rax);
180 ParameterCount actual(rax);
198 __ JumpIfSmi(rax, &use_receiver, Label::kNear);
203 __ CmpObjectType(rax, FIRST_JS_RECEIVER_TYPE, rcx);
209 __ movp(rax, Operand(rsp, 0));
227 __ JumpIfNotSmi(rax, &dont_throw);
277 // rax : the number of items to be pushed to the stack
291 __ PositiveSmiTimesPowerOfTwoToInteger64(r11, rax, kPointerSizeLog2);
294 __ movp(r11, rax);
323 // register rax and rbx holds the argument count and argument array,
348 __ movp(rax, r9);
385 __ movp(rax, rcx);
397 // rax : argc
404 // Expects argument count in rax. Clobbers rcx, r11.
418 __ cmpp(rcx, rax);
447 // -- rax : the value to pass to the generator
455 __ movp(FieldOperand(rbx, JSGeneratorObject::kInputOrDebugPosOffset), rax);
456 __ RecordWriteField(rbx, JSGeneratorObject::kInputOrDebugPosOffset, rax, rcx,
486 __ PopReturnAddressTo(rax);
492 // -- rax : return address
526 __ PushReturnAddressFrom(rax);
527 __ movp(rax, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
529 rax, rax, SharedFunctionInfo::kFormalParameterCountOffset);
543 __ PushReturnAddressFrom(rax); // Return address.
551 __ SmiToInteger32(rax, FieldOperand(rsi, FixedArray::kLengthOffset));
556 __ cmpl(rcx, rax);
580 __ movp(rax, rbx); // Continuation expects generator object in rax.
659 __ movp(rax, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
662 __ cmpp(FieldOperand(rax, SharedFunctionInfo::kDebugInfoOffset),
666 FieldOperand(rax, SharedFunctionInfo::kFunctionDataOffset));
672 __ cmpp(rcx, FieldOperand(rax, SharedFunctionInfo::kCodeOffset));
688 rax);
744 // The return value is in rax.
751 __ movp(debug_info, FieldOperand(rax, SharedFunctionInfo::kDebugInfoOffset));
815 // -- rax : the number of arguments (not including the receiver)
824 __ Move(rcx, rax);
863 // -- rax : the number of arguments (not including the receiver)
875 Generate_StackOverflowCheck(masm, rax, r8, r9, &stack_overflow);
884 Generate_InterpreterPushArgs(masm, rax, rcx, r8);
898 // Jump to the constructor function (rax, rbx, rdx passed on).
902 // Call the constructor (rax, rdx, rdi passed on).
919 // -- rax : the number of arguments (not including the receiver)
929 __ Move(r8, rax);
1014 __ Move(rdx, rax); // Result is the new bytecode offset.
1028 // -- rax : argument count (preserved for callee)
1161 // -- rax : argument count (preserved for callee)
1169 __ movp(kScratchRegister, rax);
1171 __ Integer32ToSmi(rax, rax);
1172 __ Push(rax);
1204 __ JumpIfSmi(rax, &failed, Label::kNear);
1221 __ Pop(rax);
1222 __ SmiToInteger32(rax, rax);
1352 DCHECK_EQ(kInterpreterAccumulatorRegister.code(), rax.code());
1353 __ movp(rax, Operand(rsp, kPCOnStackSize + kPointerSize));
1357 __ ret(2 * kPointerSize); // Remove state, rax.
1378 // -- rax : argc
1385 // 1. Load receiver into rdi, argArray into rax (if present), remove all
1390 StackArgumentsAccessor args(rsp, rax);
1394 __ testp(rax, rax);
1398 __ cmpp(rax, Immediate(1));
1405 __ leap(rsp, Operand(rsp, rax, times_pointer_size, kPointerSize));
1408 __ movp(rax, rbx);
1412 // -- rax : argArray
1428 __ JumpIfRoot(rax, Heap::kNullValueRootIndex, &no_arguments, Label::kNear);
1429 __ JumpIfRoot(rax, Heap::kUndefinedValueRootIndex, &no_arguments,
1442 __ Set(rax, 0);
1465 // rax contains the number of arguments, n, not counting the receiver.
1470 __ testp(rax, rax);
1475 __ incp(rax);
1481 StackArgumentsAccessor args(rsp, rax);
1490 __ movp(rcx, rax);
1498 __ decp(rax); // One fewer argument (first argument is new receiver).
1509 // -- rax : argc
1517 // 1. Load target into rdi (if present), argumentsList into rax (if present),
1522 StackArgumentsAccessor args(rsp, rax);
1526 __ cmpp(rax, Immediate(1));
1531 __ cmpp(rax, Immediate(3));
1536 __ leap(rsp, Operand(rsp, rax, times_pointer_size, kPointerSize));
1539 __ movp(rax, rbx);
1543 // -- rax : argumentsList
1573 // -- rax : argc
1581 // 1. Load target into rdi (if present), argumentsList into rax (if present),
1587 StackArgumentsAccessor args(rsp, rax);
1591 __ cmpp(rax, Immediate(1));
1597 __ cmpp(rax, Immediate(3));
1602 __ leap(rsp, Operand(rsp, rax, times_pointer_size, kPointerSize));
1605 __ movp(rax, rbx);
1609 // -- rax : argumentsList
1654 // -- rax : argc
1683 // -- rax : argc
1714 // -- rax : number of arguments
1731 __ Move(rcx, rax);
1753 __ Integer32ToSmi(rax, rax);
1755 __ EnterBuiltinFrame(rsi, rdi, rax);
1758 __ movp(rax, rbx);
1760 __ movp(rbx, rax);
1763 __ LeaveBuiltinFrame(rsi, rdi, rax);
1765 __ SmiToInteger32(rax, rax);
1818 __ leap(rsp, Operand(rsp, rax, times_pointer_size, kPointerSize));
1820 __ movp(rax, rdx);
1827 // -- rax : number of arguments
1838 StackArgumentsAccessor args(rsp, rax);
1839 __ testp(rax, rax);
1847 __ Integer32ToSmi(rax, rax);
1848 __ EnterBuiltinFrame(rsi, rdi, rax);
1849 __ movp(rax, rbx);
1863 // 2b. No arguments, return +0 (already in rax).
1871 // -- rax : number of arguments
1884 __ Integer32ToSmi(r8, rax);
1888 StackArgumentsAccessor args(rsp, rax);
1890 __ testp(rax, rax);
1910 __ Move(rax, rbx);
1912 __ Move(rbx, rax);
1925 __ AllocateJSValue(rax, rdi, rbx, rcx, &new_object);
1936 __ Pop(FieldOperand(rax, JSValue::kValueOffset));
1954 // -- rax : number of arguments
1962 // 1. Load the first argument into rax.
1965 StackArgumentsAccessor args(rsp, rax);
1966 __ Integer32ToSmi(r8, rax); // Store argc in r8.
1967 __ testp(rax, rax);
1969 __ movp(rax, args.GetArgumentOperand(1));
1972 // 2a. At least one argument, return rax if it's a string, otherwise
1976 __ JumpIfSmi(rax, &to_string, Label::kNear);
1978 __ CmpObjectType(rax, FIRST_NONSTRING_TYPE, rdx);
1987 __ LoadRoot(rax, Heap::kempty_stringRootIndex);
1991 // 3a. Convert rax to a string.
2001 // 3b. Convert symbol in rax to a string.
2007 __ Push(rax);
2026 // -- rax : number of arguments
2039 __ Integer32ToSmi(r8, rax);
2043 StackArgumentsAccessor args(rsp, rax);
2045 __ testp(rax, rax);
2065 __ Move(rax, rbx);
2067 __ Move(rbx, rax);
2080 __ AllocateJSValue(rax, rdi, rbx, rcx, &new_object);
2091 __ Pop(FieldOperand(rax, JSValue::kValueOffset));
2116 // Preserve the number of arguments on the stack. Must preserve rax,
2119 __ Integer32ToSmi(r8, rax);
2182 // -- rax : actual number of arguments
2193 __ cmpp(rax, rbx);
2206 __ leap(rax, Operand(rbp, rax, times_pointer_size, offset));
2212 __ Push(Operand(rax, 0));
2213 __ subp(rax, Immediate(kPointerSize));
2228 __ leap(rdi, Operand(rbp, rax, times_pointer_size, offset));
2236 __ cmpp(r8, rax);
2254 __ movp(rax, rbx);
2255 // rax : expected number of arguments
2286 // -- rax : argumentsList
2296 __ JumpIfSmi(rax, &create_runtime);
2299 __ movp(rcx, FieldOperand(rax, HeapObject::kMapOffset));
2320 __ Push(rax);
2324 __ SmiToInteger32(rbx, FieldOperand(rax, FixedArray::kLengthOffset));
2330 __ movp(rbx, FieldOperand(rax, JSArgumentsObject::kLengthOffset));
2331 __ movp(rcx, FieldOperand(rax, JSObject::kElementsOffset));
2335 __ movp(rax, rcx);
2349 __ SmiToInteger32(rbx, FieldOperand(rax, JSArray::kLengthOffset));
2350 __ movp(rax, FieldOperand(rax, JSArray::kElementsOffset));
2375 // -- rax : args (a FixedArray built from argumentsList)
2391 FieldOperand(rax, rcx, times_pointer_size, FixedArray::kHeaderSize));
2396 __ Move(rax, rcx);
2500 // -- rax : the number of arguments (not including the receiver)
2503 StackArgumentsAccessor args(rsp, rax);
2515 // -- rax : the number of arguments (not including the receiver)
2534 // -- rax : the number of arguments (not including the receiver)
2569 __ Integer32ToSmi(rax, rax);
2570 __ Push(rax);
2572 __ movp(rax, rcx);
2577 __ movp(rcx, rax);
2579 __ Pop(rax);
2580 __ SmiToInteger32(rax, rax);
2590 // -- rax : the number of arguments (not including the receiver)
2597 PrepareForTailCall(masm, rax, rbx, rcx, r8);
2602 ParameterCount actual(rax);
2621 // -- rax : the number of arguments (not including the receiver)
2634 // -- rax : the number of arguments (not including the receiver)
2662 __ incl(rax);
2673 __ cmpl(rcx, rax);
2686 __ movp(Operand(rsp, rax, times_pointer_size, 0), kScratchRegister);
2687 __ leal(rax, Operand(rax, 1));
2691 // Adjust effective number of arguments (rax contains the number of
2694 __ decl(rax);
2705 // -- rax : the number of arguments (not including the receiver)
2711 PrepareForTailCall(masm, rax, rbx, rcx, r8);
2715 StackArgumentsAccessor args(rsp, rax);
2734 // -- rax : the number of arguments (not including the receiver)
2737 StackArgumentsAccessor args(rsp, rax);
2759 PrepareForTailCall(masm, rax, rbx, rcx, r8);
2768 __ addp(rax, Immediate(2));
2796 // -- rax : the number of arguments (not including the receiver)
2817 // -- rax : the number of arguments (not including the receiver)
2846 // -- rax : the number of arguments (not including the receiver)
2858 __ addp(rax, Immediate(3));
2866 // -- rax : the number of arguments (not including the receiver)
2871 StackArgumentsAccessor args(rsp, rax);
2982 // -- rax : number of arguments (not including the receiver)
2988 // -- rsp[rax * 8] : first argument
2989 // -- rsp[(rax + 1) * 8] : receiver
2992 StackArgumentsAccessor args(rsp, rax);
3014 __ leap(rax, Operand(rax, times_pointer_size, 1 * kPointerSize));
3015 __ addp(rsp, rax);
3027 __ movp(rax, Operand(rbp, StandardFrameConstants::kCallerFPOffset));
3028 __ movp(rax, Operand(rax, JavaScriptFrameConstants::kFunctionOffset));
3030 __ movp(rax, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset));
3036 __ Push(rax);
3042 __ cmpp(rax, Immediate(0));
3055 __ movp(rbx, Operand(rax, Code::kDeoptimizationDataOffset - kHeapObjectTag));
3064 __ leap(rax, Operand(rax, rbx, times_1, Code::kHeaderSize - kHeapObjectTag));
3067 __ movq(StackOperandForReturnAddress(0), rax);