Lines Matching defs:rax
47 // -- rax : number of arguments excluding receiver
54 // -- rsp[8 * argc] : first argument (argc == rax)
69 // JumpToExternalReference expects rax to contain the number of arguments
71 __ addq(rax, Immediate(num_extra_args + 1));
80 // -- rax: number of arguments
92 __ Integer32ToSmi(rax, rax);
93 __ push(rax);
115 __ movq(rax, FieldOperand(rdi, JSFunction::kPrototypeOrInitialMapOffset));
118 __ JumpIfSmi(rax, &rt_call);
120 // rax: initial map (if proven valid below)
121 __ CmpObjectType(rax, MAP_TYPE, rbx);
128 // rax: initial map
129 __ CmpInstanceType(rax, JS_FUNCTION_TYPE);
140 __ push(rax);
148 __ pop(rax);
154 __ movzxbq(rdi, FieldOperand(rax, Map::kInstanceSizeOffset));
164 // rax: initial map
167 __ movq(Operand(rbx, JSObject::kMapOffset), rax);
172 // rax: initial map
179 FieldOperand(rax, Map::kPreAllocatedPropertyFieldsOffset));
197 // rax: initial map
204 // rax: initial map
208 __ movzxbq(rdx, FieldOperand(rax, Map::kUnusedPropertyFieldsOffset));
210 FieldOperand(rax, Map::kPreAllocatedPropertyFieldsOffset));
213 __ movzxbq(rcx, FieldOperand(rax, Map::kInObjectPropertiesOffset));
228 rax,
237 // rax: start of next object
246 // rax: start of next object
256 __ cmpq(rcx, rax);
287 __ movq(rbx, rax); // store result in rbx
296 __ movq(rax, Operand(rsp, 0));
297 __ SmiToInteger32(rax, rax);
310 __ movq(rcx, rax);
327 ParameterCount actual(rax);
345 __ JumpIfSmi(rax, &use_receiver);
350 __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rcx);
356 __ movq(rax, Operand(rsp, 0));
405 // register rax and rbx holds the argument count and argument array,
429 __ movq(rax, r9);
457 __ movq(rax, rcx);
466 // rax : argc
482 __ cmpq(rcx, rax);
491 ParameterCount actual(rax);
538 __ lea(rax, FieldOperand(rax, Code::kHeaderSize));
539 __ jmp(rax);
565 __ lea(rax, FieldOperand(rax, Code::kHeaderSize));
566 __ jmp(rax);
593 __ movq(rax, Operand(rsp, 2 * kPointerSize));
596 __ ret(2 * kPointerSize); // Remove state, rax.
636 // rax contains the number of arguments, n, not counting the receiver.
640 __ testq(rax, rax);
645 __ incq(rax);
653 __ movq(rdi, Operand(rsp, rax, times_pointer_size, 1 * kPointerSize));
678 __ movq(rbx, Operand(rsp, rax, times_pointer_size, 0));
694 __ Integer32ToSmi(rax, rax);
695 __ push(rax);
699 __ movq(rbx, rax);
702 __ pop(rax);
703 __ SmiToInteger32(rax, rax);
707 __ movq(rdi, Operand(rsp, rax, times_pointer_size, 1 * kPointerSize));
721 __ movq(Operand(rsp, rax, times_pointer_size, 0), rbx);
738 __ movq(Operand(rsp, rax, times_pointer_size, 0), rdi);
745 __ movq(rcx, rax);
752 __ decq(rax); // One fewer argument (first argument is new receiver).
768 __ incq(rax);
789 __ cmpq(rax, rbx);
833 __ PositiveSmiTimesPowerOfTwoToInteger64(rdx, rax, kPointerSizeLog2);
840 __ push(rax);
849 __ push(rax); // limit
893 __ movq(rbx, rax);
911 __ movq(rax, Operand(rbp, kIndexOffset));
926 __ push(rax);
928 // Update the index on the stack and in register rax.
929 __ movq(rax, Operand(rbp, kIndexOffset));
930 __ SmiAddConstant(rax, rax, Smi::FromInt(1));
931 __ movq(Operand(rbp, kIndexOffset), rax);
934 __ cmpq(rax, Operand(rbp, kLimitOffset));
939 ParameterCount actual(rax);
940 __ SmiToInteger32(rax, rax);
953 __ incq(rax);
1156 // rax: argc
1162 // entering the generic code. In both cases argc in rax needs to be preserved.
1171 __ testq(rax, rax);
1185 __ movq(rax, rbx);
1191 __ cmpq(rax, Immediate(1));
1200 __ movq(rax, Immediate(0)); // Treat this as a call with argc of zero.
1211 // rax: argc
1226 __ movq(rax, rbx);
1231 __ movq(rdx, rax);
1233 // rax: argc
1249 // rax: argc
1263 // rax: argc
1270 __ movq(rcx, rax);
1284 // rax: argc
1290 __ lea(rsp, Operand(rsp, rax, times_pointer_size, 1 * kPointerSize));
1292 __ movq(rax, rbx);
1333 // -- rax : argc
1368 // -- rax : argc
1402 // -- rax : argc
1436 // -- rax : number of arguments
1451 // Load the first argument into rax and get rid of the rest
1454 __ testq(rax, rax);
1456 __ movq(rbx, Operand(rsp, rax, times_pointer_size, 0));
1458 __ lea(rsp, Operand(rsp, rax, times_pointer_size, kPointerSize));
1460 __ movq(rax, rbx);
1466 rax, // Input.
1481 // Allocate a JSValue and put the tagged pointer into rax.
1484 rax, // Result.
1499 __ movq(FieldOperand(rax, HeapObject::kMapOffset), rcx);
1503 __ movq(FieldOperand(rax, JSObject::kPropertiesOffset), rcx);
1504 __ movq(FieldOperand(rax, JSObject::kElementsOffset), rcx);
1507 __ movq(FieldOperand(rax, JSValue::kValueOffset), rbx);
1520 __ JumpIfSmi(rax, &convert_argument);
1521 Condition is_string = masm->IsObjectStringType(rax, rbx, rcx);
1523 __ movq(rbx, rax);
1533 __ push(rax);
1537 __ movq(rbx, rax);
1572 // Preserve the number of arguments on the stack. Must preserve rax,
1575 __ Integer32ToSmi(r8, rax);
1598 // -- rax : actual number of arguments
1609 __ cmpq(rax, rbx);
1620 __ lea(rax, Operand(rbp, rax, times_pointer_size, offset));
1626 __ push(Operand(rax, 0));
1627 __ subq(rax, Immediate(kPointerSize));
1639 __ lea(rdi, Operand(rbp, rax, times_pointer_size, offset));
1647 __ cmpq(r8, rax);
1684 // a test(rax, depth) instruction right after the call.
1693 __ movq(rax, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset));
1694 __ movq(rcx, FieldOperand(rax, JSFunction::kSharedFunctionInfoOffset));
1703 __ push(rax);
1710 __ SmiCompare(rax, Smi::FromInt(-1));
1731 __ SmiToInteger32(rax, rax);
1732 __ push(rax);