Home | History | Annotate | Download | only in ia32

Lines Matching full:eax

47   //  -- eax                : number of arguments excluding receiver
54 // -- esp[4 * argc] : first argument (argc == eax)
70 // JumpToExternalReference expects eax to contain the number of arguments
72 __ add(Operand(eax), Immediate(num_extra_args + 1));
79 // -- eax: number of arguments
98 // eax: number of arguments
100 // Set expected number of arguments to zero (not changing eax).
119 __ SmiTag(eax);
120 __ push(eax);
140 __ mov(eax, FieldOperand(edi, JSFunction::kPrototypeOrInitialMapOffset));
142 __ test(eax, Immediate(kSmiTagMask));
145 // eax: initial map (if proven valid below)
146 __ CmpObjectType(eax, MAP_TYPE, ebx);
153 // eax: initial map
154 __ CmpInstanceType(eax, JS_FUNCTION_TYPE);
164 __ push(eax);
172 __ pop(eax);
179 // eax: initial map
180 __ movzx_b(edi, FieldOperand(eax, Map::kInstanceSizeOffset));
184 // eax: initial map
187 __ mov(Operand(ebx, JSObject::kMapOffset), eax);
193 // eax: initial map
217 // eax: initial map
224 // eax: initial map
228 __ movzx_b(edx, FieldOperand(eax, Map::kUnusedPropertyFieldsOffset));
229 __ movzx_b(ecx, FieldOperand(eax, Map::kPreAllocatedPropertyFieldsOffset));
232 __ movzx_b(ecx, FieldOperand(eax, Map::kInObjectPropertiesOffset));
257 __ mov(eax, factory->fixed_array_map());
258 __ mov(Operand(edi, FixedArray::kMapOffset), eax); // setup the map
268 __ lea(eax, Operand(edi, FixedArray::kHeaderSize));
271 __ mov(Operand(eax, 0), edx);
272 __ add(Operand(eax), Immediate(kPointerSize));
274 __ cmp(eax, Operand(ecx));
305 __ mov(ebx, Operand(eax)); // store result in ebx
314 __ mov(eax, Operand(esp, 0));
315 __ SmiUntag(eax);
328 __ mov(ecx, Operand(eax));
345 ParameterCount actual(eax);
358 __ test(eax, Immediate(kSmiTagMask));
363 __ CmpObjectType(eax, FIRST_JS_OBJECT_TYPE, ecx);
369 __ mov(eax, Operand(esp, 0));
421 __ mov(eax, Operand(ebx, EntryFrameConstants::kArgcOffset));
433 __ cmp(ecx, Operand(eax));
437 __ mov(edi, Operand(esp, eax, times_4, +1 * kPointerSize)); // +1 ~ receiver
444 ParameterCount actual(eax);
481 __ lea(ecx, FieldOperand(eax, Code::kHeaderSize));
501 __ lea(ecx, FieldOperand(eax, Code::kHeaderSize));
529 __ mov(eax, Operand(esp, 2 * kPointerSize));
532 __ ret(2 * kPointerSize); // Remove state, eax.
570 __ test(eax, Operand(eax));
575 __ inc(eax);
583 __ mov(edi, Operand(esp, eax, times_4, 1 * kPointerSize));
603 __ mov(ebx, Operand(esp, eax, times_4, 0)); // First argument.
621 __ SmiTag(eax);
622 __ push(eax);
626 __ mov(ebx, eax);
628 __ pop(eax);
629 __ SmiUntag(eax);
632 __ mov(edi, Operand(esp, eax, times_4, 1 * kPointerSize));
646 __ mov(Operand(esp, eax, times_4, 0), ebx);
656 __ mov(Operand(esp, eax, times_4, 0), edi);
665 __ mov(ecx, eax);
672 __ dec(eax); // One fewer argument (first argument is new receiver).
694 __ cmp(eax, Operand(ebx));
723 __ mov(edx, Operand(eax));
731 __ push(eax);
740 __ push(eax); // limit
780 __ mov(ebx, Operand(eax));
798 __ mov(eax, Operand(ebp, kIndexOffset));
812 __ push(eax);
814 // Update the index on the stack and in register eax.
815 __ mov(eax, Operand(ebp, kIndexOffset));
816 __ add(Operand(eax), Immediate(1 << kSmiTagSize));
817 __ mov(Operand(ebp, kIndexOffset), eax);
820 __ cmp(eax, Operand(ebp, kLimitOffset));
824 ParameterCount actual(eax);
825 __ SmiUntag(eax);
952 ASSERT(!fill_with_hole || !result.is(eax)); // result is never eax
1010 __ mov(eax, factory->the_hole_value());
1035 // eax: argc
1042 // preserved for entering the generic code. In both cases argc in eax needs to
1058 __ push(eax);
1061 __ test(eax, Operand(eax));
1068 eax,
1084 __ cmp(eax, 1);
1098 __ mov(eax, Operand(esp, i * kPointerSize));
1099 __ mov(Operand(esp, (i + 1) * kPointerSize), eax);
1125 eax,
1132 __ mov(eax, ebx);
1142 __ SmiTag(eax); // Convet argc to a smi.
1143 // eax: array_size (smi)
1151 eax,
1159 __ mov(eax, ebx);
1164 __ push(eax);
1165 // eax: JSArray
1189 __ mov(eax, Operand(edi, ecx, times_pointer_size, 0));
1190 __ mov(Operand(edx, 0), eax);
1201 __ pop(eax);
1209 __ pop(eax);
1219 // -- eax : argc
1252 // -- eax : argc
1286 // -- eax : number of arguments
1301 // Load the first argument into eax and get rid of the rest
1304 __ test(eax, Operand(eax));
1306 __ mov(ebx, Operand(esp, eax, times_pointer_size, 0));
1308 __ lea(esp, Operand(esp, eax, times_pointer_size, kPointerSize));
1310 __ mov(eax, ebx);
1316 eax, // Input.
1330 // Allocate a JSValue and put the tagged pointer into eax.
1333 eax, // Result.
1348 __ mov(FieldOperand(eax, HeapObject::kMapOffset), ecx);
1353 __ mov(FieldOperand(eax, JSObject::kPropertiesOffset), ecx);
1354 __ mov(FieldOperand(eax, JSObject::kElementsOffset), ecx);
1357 __ mov(FieldOperand(eax, JSValue::kValueOffset), ebx);
1370 __ test(eax, Immediate(kSmiTagMask));
1372 Condition is_string = masm->IsObjectStringType(eax, ebx, ecx);
1374 __ mov(ebx, eax);
1383 __ push(eax);
1387 __ mov(ebx, eax);
1422 // eax and ebx because these registers are used when copying the
1425 __ lea(ecx, Operand(eax, eax, times_1, kSmiTag));
1447 // -- eax : actual number of arguments
1456 __ cmp(eax, Operand(ebx));
1467 __ lea(eax, Operand(ebp, eax, times_4, offset));
1473 __ push(Operand(eax, 0));
1474 __ sub(Operand(eax), Immediate(kPointerSize));
1486 __ lea(edi, Operand(ebp, eax, times_4, offset));
1494 __ cmp(ecx, Operand(eax));
1533 // a test(eax, depth) instruction right after the call.
1538 __ Assert(equal, "test eax instruction not found after loop stack check");
1546 __ mov(eax, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
1547 __ mov(ecx, FieldOperand(eax, JSFunction::kSharedFunctionInfoOffset));
1555 __ push(eax);
1562 __ cmp(Operand(eax), Immediate(Smi::FromInt(-1)));
1582 __ SmiUntag(eax);
1583 __ push(eax);