Lines Matching full:eax
73 __ test(eax, Immediate(delta_to_patch_site));
134 __ mov(eax, Immediate(isolate()->factory()->undefined_value()));
136 __ push(eax);
156 // Context is returned in both eax and esi. It replaces the context
168 __ mov(eax, Operand(ebp, parameter_offset));
171 __ mov(Operand(esi, context_offset), eax);
176 __ RecordWrite(ecx, context_offset, eax, ebx);
207 __ mov(ecx, eax); // Duplicate result.
210 Move(arguments->AsSlot(), eax, ebx, edx);
255 __ mov(eax, isolate()->factory()->undefined_value());
262 __ Set(eax, Immediate(Smi::FromInt(0)));
285 __ test(eax, Immediate(Min(loop_depth(), Code::kMaxLoopNestingMarker)));
304 __ push(eax);
559 __ test(eax, Operand(eax));
596 return Operand(eax, 0);
642 __ cmp(eax, isolate()->factory()->true_value());
731 __ push(eax);
735 __ mov(edx, eax);
736 __ mov(eax, isolate()->factory()->the_hole_value());
805 __ or_(ecx, Operand(eax));
808 __ cmp(edx, Operand(eax));
819 __ test(eax, Operand(eax));
861 __ cmp(eax, isolate()->factory()->undefined_value());
863 __ cmp(eax, isolate()->factory()->null_value());
868 __ test(eax, Immediate(kSmiTagMask));
870 __ CmpObjectType(eax, FIRST_JS_OBJECT_TYPE, ecx);
873 __ push(eax);
876 __ push(eax);
883 __ mov(ecx, eax);
909 __ cmp(ecx, Operand(eax));
924 __ mov(eax, FieldOperand(eax, HeapObject::kMapOffset));
929 __ push(eax); // Duplicate the enumerable object on the stack.
936 __ cmp(FieldOperand(eax, HeapObject::kMapOffset),
940 // We got a map in register eax. Get the enumeration cache from it.
942 __ mov(ecx, FieldOperand(eax, Map::kInstanceDescriptorsOffset));
947 __ push(eax); // Map.
949 __ mov(eax, FieldOperand(edx, FixedArray::kLengthOffset));
950 __ push(eax); // Enumeration cache length (as smi).
954 // We got a fixed array in register eax. Iterate through that.
957 __ push(eax);
958 __ mov(eaxeax, FixedArray::kLengthOffset));
959 __ push(eax); // Fixed array length (as smi).
964 __ mov(eax, Operand(esp, 0 * kPointerSize)); // Get the current index.
965 __ cmp(eax, Operand(esp, 1 * kPointerSize)); // Compare to the array length.
970 __ mov(ebx, FieldOperand(ebx, eax, times_2, FixedArray::kHeaderSize));
989 __ test(eax, Operand(eax));
991 __ mov(ebx, Operand(eax));
1047 context()->Plug(eax);
1110 __ mov(eax, GlobalObjectOperand());
1170 __ mov(eax,
1173 __ cmp(eax, isolate()->factory()->the_hole_value());
1175 __ mov(eax, isolate()->factory()->undefined_value());
1194 __ SafeSet(eax, Immediate(key_literal->handle()));
1217 __ mov(eax, GlobalObjectOperand());
1221 context()->Plug(eax);
1237 context()->Plug(eax);
1247 MemOperand slot_operand = EmitSlotSearch(slot, eax);
1248 __ mov(eax, slot_operand);
1249 __ cmp(eax, isolate()->factory()->the_hole_value());
1251 __ mov(eax, isolate()->factory()->undefined_value());
1253 context()->Plug(eax);
1270 MemOperand object_loc = EmitSlotSearch(object_slot, eax);
1279 __ SafeSet(eax, Immediate(key_literal->handle()));
1286 context()->Plug(eax);
1298 // eax = regexp literal clone.
1308 // Result will be in eax.
1314 __ mov(ebx, eax);
1319 __ AllocateInNewSpace(size, eax, ecx, edx, &runtime_allocate, TAG_OBJECT);
1334 __ mov(FieldOperand(eax, i), edx);
1335 __ mov(FieldOperand(eax, i + kPointerSize), ecx);
1339 __ mov(FieldOperand(eax, size - kPointerSize), edx);
1341 context()->Plug(eax);
1365 // result_saved is false the result is in eax.
1380 __ push(eax); // Save result on the stack
1438 context()->Plug(eax);
1484 __ push(eax);
1504 context()->Plug(eax);
1550 __ SafeSet(eax, Immediate(property->key()->AsLiteral()->handle()));
1556 __ push(eax);
1594 __ push(eax); // Left operand goes on the stack.
1627 context()->Plug(eax);
1662 // stack. Right operand is in eax.
1665 __ mov(ecx, eax);
1666 __ or_(eax, Operand(edx));
1668 patch_site.EmitJumpIfSmi(eax, &smi_case);
1671 __ mov(eax, ecx);
1678 __ mov(eax, edx); // Copy left operand in case of a stub call.
1682 __ SmiUntag(eax);
1684 __ sar_cl(eax); // No checks of result necessary
1685 __ SmiTag(eax);
1689 __ SmiUntag(eax);
1691 __ shl_cl(eax);
1693 __ cmp(eax, 0xc0000000);
1698 __ SmiTag(eax);
1703 __ SmiUntag(eax);
1705 __ shr_cl(eax);
1706 __ test(eax, Immediate(0xc0000000));
1711 __ SmiTag(eax);
1715 __ add(eax, Operand(ecx));
1719 __ sub(eax, Operand(ecx));
1723 __ SmiUntag(eax);
1724 __ imul(eax, Operand(ecx));
1726 __ test(eax, Operand(eax));
1734 __ or_(eax, Operand(ecx));
1737 __ and_(eax, Operand(ecx));
1740 __ xor_(eax, Operand(ecx));
1747 context()->Plug(eax);
1756 context()->Plug(eax);
1787 __ push(eax); // Preserve value.
1789 __ mov(edx, eax);
1790 __ pop(eax); // Restore value.
1799 __ push(eax); // Preserve value.
1806 __ mov(edx, eax);
1811 __ mov(ecx, eax);
1814 __ pop(eax); // Restore value.
1823 context()->Plug(eax);
1837 // assignment. Right-hand-side value is passed in eax, variable name in
1862 __ mov(Operand(ebp, SlotOffset(slot)), eax);
1869 __ mov(ContextOperand(ecx, slot->index()), eax);
1871 __ mov(edx, eax); // Preserve the stored value in eax.
1876 __ push(eax);
1892 __ mov(Operand(ebp, SlotOffset(slot)), eax);
1898 __ mov(target, eax);
1899 // The value of the assignment is in eax. RecordWrite clobbers its
1901 __ mov(edx, eax);
1909 __ push(eax); // Value.
1951 __ push(eax); // Result of assignment, saved even if not needed.
1954 __ pop(eax);
1958 context()->Plug(eax);
1992 __ push(eax); // Result of assignment, saved even if not needed.
1995 __ pop(eax);
1999 context()->Plug(eax);
2010 context()->Plug(eax);
2016 context()->Plug(eax);
2042 context()->Plug(eax);
2055 __ push(eax);
2076 context()->DropAndPlug(1, eax); // Drop the key still on the stack.
2097 context()->DropAndPlug(1, eax);
2161 __ push(eax);
2175 // The runtime call returns a pair of values in eax (function) and
2178 __ mov(Operand(esp, (arg_count + 1) * kPointerSize), eax);
2188 context()->DropAndPlug(1, eax);
2208 // Call the runtime to find the function to call (returned in eax)
2213 __ push(eax); // Function.
2224 __ push(eax);
2257 __ mov(eax, prop->key()->AsLiteral()->handle());
2265 __ push(eax);
2317 // Load function and argument count into edi and eax.
2318 __ SafeSet(eax, Immediate(arg_count));
2324 context()->Plug(eax);
2341 __ test(eax, Immediate(kSmiTagMask));
2361 __ test(eax, Immediate(kSmiTagMask | 0x80000000));
2380 __ test(eax, Immediate(kSmiTagMask));
2382 __ cmp(eax, isolate()->factory()->null_value());
2384 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
2412 __ test(eax, Immediate(kSmiTagMask));
2414 __ CmpObjectType(eax, FIRST_JS_OBJECT_TYPE, ebx);
2434 __ test(eax, Immediate(kSmiTagMask));
2436 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
2459 if (FLAG_debug_code) __ AbortIfSmi(eax);
2463 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
2469 __ mov(ecx, FieldOperand(eax, JSObject::kPropertiesOffset));
2504 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
2542 __ test(eax, Immediate(kSmiTagMask));
2544 __ CmpObjectType(eax, JS_FUNCTION_TYPE, ebx);
2564 __ test(eax, Immediate(kSmiTagMask));
2566 __ CmpObjectType(eax, JS_ARRAY_TYPE, ebx);
2586 __ test(eax, Immediate(kSmiTagMask));
2588 __ CmpObjectType(eax, JS_REGEXP_TYPE, ebx);
2608 __ mov(eax, Operand(ebp, StandardFrameConstants::kCallerFPOffset));
2612 __ cmp(Operand(eax, StandardFrameConstants::kContextOffset),
2615 __ mov(eax, Operand(eax, StandardFrameConstants::kCallerFPOffset));
2619 __ cmp(Operand(eax, StandardFrameConstants::kMarkerOffset),
2643 __ cmp(eax, Operand(ebx));
2655 // parameter count in eax.
2657 __ mov(edx, eax);
2658 __ SafeSet(eax, Immediate(Smi::FromInt(scope()->num_parameters())));
2661 context()->Plug(eax);
2670 __ SafeSet(eax, Immediate(Smi::FromInt(scope()->num_parameters())));
2680 __ mov(eax, Operand(ebx, ArgumentsAdaptorFrameConstants::kLengthOffset));
2683 if (FLAG_debug_code) __ AbortIfNotSmi(eax);
2684 context()->Plug(eax);
2695 __ test(eax, Immediate(kSmiTagMask));
2700 __ CmpObjectType(eax, FIRST_JS_OBJECT_TYPE, eax); // Map is now in eax.
2708 __ CmpInstanceType(eax, JS_FUNCTION_TYPE);
2712 __ mov(eax, FieldOperand(eax, Map::kConstructorOffset));
2713 __ CmpObjectType(eax, JS_FUNCTION_TYPE, ebx);
2716 // eax now contains the constructor function. Grab the
2718 __ mov(eax, FieldOperand(eax, JSFunction::kSharedFunctionInfoOffset));
2719 __ mov(eax, FieldOperand(eax, SharedFunctionInfo::kInstanceClassNameOffset));
2724 __ mov(eax, isolate()->factory()->function_class_symbol());
2729 __ mov(eax, isolate()->factory()->Object_symbol());
2734 __ mov(eax, isolate()->factory()->null_value());
2739 context()->Plug(eax);
2760 __ mov(eax, isolate()->factory()->undefined_value());
2761 context()->Plug(eax);
2777 __ mov(edi, eax);
2786 // Convert 32 random bits in eax to 0.(32 random bits) in a double
2794 __ movd(xmm0, Operand(eax));
2803 __ mov(FieldOperand(edi, HeapNumber::kMantissaOffset), eax);
2810 __ mov(eax, edi);
2811 context()->Plug(eax);
2823 context()->Plug(eax);
2836 context()->Plug(eax);
2847 __ test(eax, Immediate(kSmiTagMask));
2850 __ CmpObjectType(eax, JS_VALUE_TYPE, ebx);
2852 eax, FieldOperand(eax, JSValue::kValueOffset));
2855 context()->Plug(eax);
2871 context()->Plug(eax);
2880 __ pop(ebx); // eax = value. ebx = object.
2892 __ mov(FieldOperand(ebx, JSValue::kValueOffset), eax);
2895 __ mov(edx, eax);
2899 context()->Plug(eax);
2911 context()->Plug(eax);
2921 StringCharFromCodeGenerator generator(eax, ebx);
2940 Register index = eax;
2987 Register index = eax;
2990 Register result = eax;
3037 context()->Plug(eax);
3049 context()->Plug(eax);
3060 context()->Plug(eax);
3071 context()->Plug(eax);
3082 context()->Plug(eax);
3091 context()->Plug(eax);
3110 context()->Plug(eax);
3122 context()->Plug(eax);
3133 Register object = eax;
3189 __ mov(eax, isolate()->factory()->undefined_value());
3196 context()->Plug(eax);
3210 __ mov(eax, isolate()->factory()->undefined_value());
3211 context()->Plug(eax);
3217 Register key = eax;
3234 __ mov(eax, CodeGenerator::FixedArrayElementOperand(cache, tmp, 1));
3244 context()->Plug(eax);
3251 Register right = eax;
3276 __ mov(eax, Immediate(isolate()->factory()->false_value()));
3279 __ mov(eax, Immediate(isolate()->factory()->true_value()));
3282 context()->Plug(eax);
3292 __ AbortIfNotString(eax);
3302 __ test(FieldOperand(eax, String::kHashFieldOffset),
3316 __ AbortIfNotString(eax);
3319 __ mov(eax, FieldOperand(eax, String::kHashFieldOffset));
3320 __ IndexFromHash(eax, eax);
3322 context()->Plug(eax);
3334 // Load this to eax (= array)
3337 Register array = eax;
3338 Register elements = no_reg; // Will be eax.
3585 __ mov(eax, result_operand);
3590 context()->Plug(eax);
3607 __ mov(eax, GlobalObjectOperand());
3608 __ push(FieldOperand(eax, GlobalObject::kBuiltinsOffset));
3630 context()->Plug(eax);
3651 context()->Plug(eax);
3662 context()->Plug(eax);
3674 context()->Plug(eax);
3720 context()->Plug(eax);
3744 // accumulator register eax.
3747 context()->Plug(eax);
3754 // in the accumulator register eax.
3760 __ test(eax, Immediate(kSmiTagMask));
3762 __ lea(eax, Operand(eax, kSmiTagMask));
3763 __ not_(eax);
3776 context()->Plug(eax);
3822 __ push(eax);
3830 __ SafeSet(eax, Immediate(prop->key()->AsLiteral()->handle()));
3836 __ push(eax);
3852 __ test(eax, Immediate(kSmiTagMask));
3867 __ push(eax);
3870 __ mov(Operand(esp, kPointerSize), eax);
3873 __ mov(Operand(esp, 2 * kPointerSize), eax);
3885 __ add(Operand(eax), Immediate(Smi::FromInt(1)));
3887 __ sub(Operand(eax), Immediate(Smi::FromInt(1)));
3892 patch_site.EmitJumpIfSmi(eax, &done);
3897 __ sub(Operand(eax), Immediate(Smi::FromInt(1)));
3899 __ add(Operand(eax), Immediate(Smi::FromInt(1)));
3907 __ mov(edx, eax);
3908 __ mov(eax, Immediate(Smi::FromInt(1)));
3913 // Store the value returned in eax.
3922 context.Plug(eax);
3934 context()->Plug(eax);
3950 context()->Plug(eax);
3968 context()->Plug(eax);
3983 __ mov(eax, GlobalObjectOperand());
3990 context()->Plug(eax);
4008 context()->Plug(eax);
4039 __ JumpIfSmi(eax, if_true);
4040 __ cmp(FieldOperand(eax, HeapObject::kMapOffset),
4044 __ JumpIfSmi(eax, if_false);
4045 __ CmpObjectType(eax, FIRST_NONSTRING_TYPE, edx);
4052 __ cmp(eax, isolate()->factory()->true_value());
4054 __ cmp(eax, isolate()->factory()->false_value());
4057 __ cmp(eax, isolate()->factory()->undefined_value());
4059 __ JumpIfSmi(eax, if_false);
4061 __ mov(edx, FieldOperand(eax, HeapObject::kMapOffset));
4066 __ JumpIfSmi(eax, if_false);
4067 __ CmpObjectType(eax, FIRST_FUNCTION_CLASS_TYPE, edx);
4070 __ JumpIfSmi(eax, if_false);
4071 __ cmp(eax, isolate()->factory()->null_value());
4073 __ CmpObjectType(eax, FIRST_JS_OBJECT_TYPE, edx);
4119 __ cmp(eax, isolate()->factory()->true_value());
4128 __ test(eax, Operand(eax));
4154 __ pop(eax);
4160 __ pop(eax);
4177 __ or_(ecx, Operand(eax));
4179 __ cmp(edx, Operand(eax));
4190 __ test(eax, Operand(eax));
4212 __ cmp(eax, isolate()->factory()->null_value());
4217 __ cmp(eax, isolate()->factory()->undefined_value());
4219 __ test(eax, Immediate(kSmiTagMask));
4222 __ mov(edx, FieldOperand(eax, HeapObject::kMapOffset));
4232 __ mov(eax, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
4233 context()->Plug(eax);
4238 return eax;