Lines Matching defs:eax
78 __ test(eax, Immediate(delta_to_patch_site));
174 __ mov(eax, Immediate(isolate()->factory()->undefined_value()));
176 __ push(eax);
196 // Context is returned in both eax and esi. It replaces the context
208 __ mov(eax, Operand(ebp, parameter_offset));
211 __ mov(Operand(esi, context_offset), eax);
212 // Update the write barrier. This clobbers eax and ebx.
215 eax,
253 SetVar(arguments, eax, ebx, edx);
303 __ mov(eax, isolate()->factory()->undefined_value());
310 __ Set(eax, Immediate(Smi::FromInt(0)));
380 __ test(eax, Immediate(Min(loop_depth(), Code::kMaxLoopNestingMarker)));
403 __ push(eax);
419 __ push(eax);
427 __ pop(eax);
759 __ cmp(eax, isolate()->factory()->true_value());
905 __ or_(ecx, eax);
908 __ cmp(edx, eax);
920 __ test(eax, eax);
962 __ cmp(eax, isolate()->factory()->undefined_value());
964 __ cmp(eax, isolate()->factory()->null_value());
971 __ JumpIfSmi(eax, &convert, Label::kNear);
972 __ CmpObjectType(eax, FIRST_SPEC_OBJECT_TYPE, ecx);
975 __ push(eax);
978 __ push(eax);
983 __ CmpObjectType(eax, LAST_JS_PROXY_TYPE, ecx);
992 __ mov(eax, FieldOperand(eax, HeapObject::kMapOffset));
997 __ push(eax);
999 __ cmp(FieldOperand(eax, HeapObject::kMapOffset),
1004 // We got a map in register eax. Get the enumeration cache from it.
1006 __ LoadInstanceDescriptors(eax, ecx);
1011 __ push(eax); // Map.
1013 __ mov(eax, FieldOperand(edx, FixedArray::kLengthOffset));
1014 __ push(eax); // Enumeration cache length (as smi).
1018 // We got a fixed array in register eax. Iterate through that.
1039 __ push(eax); // Array
1040 __ mov(eax, FieldOperand(eax, FixedArray::kLengthOffset));
1041 __ push(eax); // Fixed array length (as smi).
1047 __ mov(eax, Operand(esp, 0 * kPointerSize)); // Get the current index.
1048 __ cmp(eax, Operand(esp, 1 * kPointerSize)); // Compare to the array length.
1053 __ mov(ebx, FieldOperand(ebx, eax, times_2, FixedArray::kHeaderSize));
1078 __ test(eax, eax);
1080 __ mov(ebx, eax);
1137 context()->Plug(eax);
1197 __ mov(eax, GlobalObjectOperand());
1251 __ mov(eax, ContextSlotOperandCheckExtensions(local, slow));
1255 __ cmp(eax, isolate()->factory()->the_hole_value());
1258 __ mov(eax, isolate()->factory()->undefined_value());
1280 // object in eax.
1281 __ mov(eax, GlobalObjectOperand());
1285 context()->Plug(eax);
1333 GetVar(eax, var);
1334 __ cmp(eax, isolate()->factory()->the_hole_value());
1344 __ mov(eax, isolate()->factory()->undefined_value());
1347 context()->Plug(eax);
1366 context()->Plug(eax);
1380 // eax = regexp literal clone.
1390 // Result will be in eax.
1396 __ mov(ebx, eax);
1401 __ AllocateInNewSpace(size, eax, ecx, edx, &runtime_allocate, TAG_OBJECT);
1416 __ mov(FieldOperand(eax, i), edx);
1417 __ mov(FieldOperand(eax, i + kPointerSize), ecx);
1421 __ mov(FieldOperand(eax, size - kPointerSize), edx);
1423 context()->Plug(eax);
1462 // result_saved is false the result is in eax.
1478 __ push(eax); // Save result on the stack
1546 context()->Plug(eax);
1609 __ push(eax);
1643 context()->Plug(eax);
1687 __ push(eax);
1718 __ push(eax); // Left operand goes on the stack.
1750 context()->Plug(eax);
1785 // stack. Right operand is in eax.
1788 __ mov(ecx, eax);
1789 __ or_(eax, edx);
1791 patch_site.EmitJumpIfSmi(eax, &smi_case, Label::kNear);
1794 __ mov(eax, ecx);
1802 __ mov(eax, edx); // Copy left operand in case of a stub call.
1806 __ SmiUntag(eax);
1808 __ sar_cl(eax); // No checks of result necessary
1809 __ SmiTag(eax);
1813 __ SmiUntag(eax);
1815 __ shl_cl(eax);
1817 __ cmp(eax, 0xc0000000);
1822 __ SmiTag(eax);
1827 __ SmiUntag(eax);
1829 __ shr_cl(eax);
1830 __ test(eax, Immediate(0xc0000000));
1835 __ SmiTag(eax);
1839 __ add(eax, ecx);
1843 __ sub(eax, ecx);
1847 __ SmiUntag(eax);
1848 __ imul(eax, ecx);
1850 __ test(eax, eax);
1858 __ or_(eax, ecx);
1861 __ and_(eax, ecx);
1864 __ xor_(eax, ecx);
1871 context()->Plug(eax);
1883 context()->Plug(eax);
1914 __ push(eax); // Preserve value.
1916 __ mov(edx, eax);
1917 __ pop(eax); // Restore value.
1926 __ push(eax); // Preserve value.
1929 __ mov(ecx, eax);
1931 __ pop(eax); // Restore value.
1939 context()->Plug(eax);
1962 __ mov(StackOperand(var), eax);
1971 __ push(eax);
1980 __ push(eax); // Value.
1995 __ mov(location, eax);
1997 __ mov(edx, eax);
2015 __ mov(location, eax);
2017 __ mov(edx, eax);
2023 __ push(eax); // Value.
2065 __ push(eax); // Result of assignment, saved even if not needed.
2068 __ pop(eax);
2072 context()->Plug(eax);
2106 __ push(eax); // Result of assignment, saved even if not needed.
2109 __ pop(eax);
2113 context()->Plug(eax);
2124 context()->Plug(eax);
2130 context()->Plug(eax);
2165 context()->Plug(eax);
2177 __ push(eax);
2197 context()->DropAndPlug(1, eax); // Drop the key still on the stack.
2231 context()->DropAndPlug(1, eax);
2288 // The runtime call returns a pair of values in eax (function) and
2291 __ mov(Operand(esp, (arg_count + 1) * kPointerSize), eax);
2301 context()->DropAndPlug(1, eax);
2317 // Call the runtime to find the function to call (returned in eax) and
2322 __ push(eax); // Function.
2332 __ push(eax);
2397 // Load function and argument count into edi and eax.
2398 __ SafeSet(eax, Immediate(arg_count));
2418 context()->Plug(eax);
2436 __ test(eax, Immediate(kSmiTagMask));
2457 __ test(eax, Immediate(kSmiTagMask | 0x80000000));
2477 __ JumpIfSmi(eax, if_false);
2478 __ cmp(eax, isolate()->factory()->null_value());
2480 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
2509 __ JumpIfSmi(eax, if_false);
2510 __ CmpObjectType(eax, FIRST_SPEC_OBJECT_TYPE, ebx);
2531 __ JumpIfSmi(eax, if_false);
2532 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
2556 if (FLAG_debug_code) __ AbortIfSmi(eax);
2560 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
2566 __ mov(ecx, FieldOperand(eax, JSObject::kPropertiesOffset));
2601 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
2639 __ JumpIfSmi(eax, if_false);
2640 __ CmpObjectType(eax, JS_FUNCTION_TYPE, ebx);
2661 __ JumpIfSmi(eax, if_false);
2662 __ CmpObjectType(eax, JS_ARRAY_TYPE, ebx);
2683 __ JumpIfSmi(eax, if_false);
2684 __ CmpObjectType(eax, JS_REGEXP_TYPE, ebx);
2704 __ mov(eax, Operand(ebp, StandardFrameConstants::kCallerFPOffset));
2708 __ cmp(Operand(eax, StandardFrameConstants::kContextOffset),
2711 __ mov(eax, Operand(eax, StandardFrameConstants::kCallerFPOffset));
2715 __ cmp(Operand(eax, StandardFrameConstants::kMarkerOffset),
2740 __ cmp(eax, ebx);
2753 // parameter count in eax.
2755 __ mov(edx, eax);
2756 __ SafeSet(eax, Immediate(Smi::FromInt(info_->scope()->num_parameters())));
2759 context()->Plug(eax);
2768 __ SafeSet(eax, Immediate(Smi::FromInt(info_->scope()->num_parameters())));
2778 __ mov(eax, Operand(ebx, ArgumentsAdaptorFrameConstants::kLengthOffset));
2781 if (FLAG_debug_code) __ AbortIfNotSmi(eax);
2782 context()->Plug(eax);
2794 __ JumpIfSmi(eax, &null);
2801 __ CmpObjectType(eax, FIRST_SPEC_OBJECT_TYPE, eax);
2802 // Map is now in eax.
2808 __ CmpInstanceType(eax, LAST_SPEC_OBJECT_TYPE);
2816 __ mov(eax, FieldOperand(eax, Map::kConstructorOffset));
2817 __ CmpObjectType(eax, JS_FUNCTION_TYPE, ebx);
2820 // eax now contains the constructor function. Grab the
2822 __ mov(eax, FieldOperand(eax, JSFunction::kSharedFunctionInfoOffset));
2823 __ mov(eax, FieldOperand(eax, SharedFunctionInfo::kInstanceClassNameOffset));
2828 __ mov(eax, isolate()->factory()->function_class_symbol());
2833 __ mov(eax, isolate()->factory()->Object_symbol());
2838 __ mov(eax, isolate()->factory()->null_value());
2843 context()->Plug(eax);
2863 __ mov(eax, isolate()->factory()->undefined_value());
2864 context()->Plug(eax);
2880 __ mov(edi, eax);
2885 __ mov(eax, ContextOperand(context_register(), Context::GLOBAL_INDEX));
2886 __ mov(eax, FieldOperand(eax, GlobalObject::kGlobalContextOffset));
2887 __ mov(Operand(esp, 0), eax);
2890 // Convert 32 random bits in eax to 0.(32 random bits) in a double
2898 __ movd(xmm0, eax);
2907 __ mov(FieldOperand(edi, HeapNumber::kMantissaOffset), eax);
2914 __ mov(eax, edi);
2915 context()->Plug(eax);
2928 context()->Plug(eax);
2942 context()->Plug(eax);
2954 __ JumpIfSmi(eax, &done, Label::kNear);
2956 __ CmpObjectType(eax, JS_VALUE_TYPE, ebx);
2958 __ mov(eax, FieldOperand(eax, JSValue::kValueOffset));
2961 context()->Plug(eax);
2974 Register object = eax;
2975 Register result = eax;
3020 context()->Plug(eax);
3030 __ pop(ebx); // eax = value. ebx = object.
3041 __ mov(FieldOperand(ebx, JSValue::kValueOffset), eax);
3045 __ mov(edx, eax);
3049 context()->Plug(eax);
3062 context()->Plug(eax);
3073 StringCharFromCodeGenerator generator(eax, ebx);
3093 Register index = eax;
3139 Register index = eax;
3141 Register result = eax;
3188 context()->Plug(eax);
3201 context()->Plug(eax);
3213 context()->Plug(eax);
3225 context()->Plug(eax);
3237 context()->Plug(eax);
3249 context()->Plug(eax);
3259 context()->Plug(eax);
3275 __ CmpObjectType(eax, JS_FUNCTION_PROXY_TYPE, ebx);
3287 __ push(eax);
3291 context()->Plug(eax);
3304 context()->Plug(eax);
3319 __ mov(eax, isolate()->factory()->undefined_value());
3320 context()->Plug(eax);
3326 Register key = eax;
3343 __ mov(eax
3353 context()->Plug(eax);
3361 Register right = eax;
3385 __ mov(eax, Immediate(isolate()->factory()->false_value()));
3388 __ mov(eax, Immediate(isolate()->factory()->true_value()));
3391 context()->Plug(eax);
3402 __ AbortIfNotString(eax);
3412 __ test(FieldOperand(eax, String::kHashFieldOffset),
3427 __ AbortIfNotString(eax);
3430 __ mov(eax, FieldOperand(eax, String::kHashFieldOffset));
3431 __ IndexFromHash(eax, eax);
3433 context()->Plug(eax);
3446 // Load this to eax (= array)
3449 Register array = eax;
3450 Register elements = no_reg; // Will be eax.
3692 __ mov(eax, result_operand);
3697 context()->Plug(eax);
3714 __ mov(eax, GlobalObjectOperand());
3715 __ push(FieldOperand(eax, GlobalObject::kBuiltinsOffset));
3737 context()->Plug(eax);
3755 context()->Plug(eax);
3766 context()->Plug(eax);
3778 context()->Plug(eax);
3824 __ mov(eax, isolate()->factory()->true_value());
3832 __ mov(eax, isolate()->factory()->false_value());
3847 context()->Plug(eax);
3885 // accumulator register eax.
3889 context()->Plug(eax);
3929 __ push(eax);
3935 __ push(eax);
3951 __ JumpIfSmi(eax, &no_conversion, Label::kNear);
3965 __ push(eax);
3968 __ mov(Operand(esp, kPointerSize), eax);
3971 __ mov(Operand(esp, 2 * kPointerSize), eax);
3983 __ add(eax, Immediate(Smi::FromInt(1)));
3985 __ sub(eax, Immediate(Smi::FromInt(1)));
3990 patch_site.EmitJumpIfSmi(eax, &done, Label::kNear);
3995 __ sub(eax, Immediate(Smi::FromInt(1)));
3997 __ add(eax, Immediate(Smi::FromInt(1)));
4005 __ mov(edx, eax);
4006 __ mov(eax, Immediate(Smi::FromInt(1)));
4012 // Store the value returned in eax.
4021 context.Plug(eax);
4033 context()->Plug(eax);
4049 context()->Plug(eax);
4067 context()->Plug(eax);
4082 __ mov(eax, GlobalObjectOperand());
4089 context()->Plug(eax);
4104 context()->Plug(eax);
4128 __ JumpIfSmi(eax, if_true);
4129 __ cmp(FieldOperand(eax, HeapObject::kMapOffset),
4133 __ JumpIfSmi(eax, if_false);
4134 __ CmpObjectType(eax, FIRST_NONSTRING_TYPE, edx);
4141 __ cmp(eax, isolate()->factory()->true_value());
4143 __ cmp(eax, isolate()->factory()->false_value());
4147 __ cmp(eax, isolate()->factory()->null_value());
4150 __ cmp(eax, isolate()->factory()->undefined_value());
4152 __ JumpIfSmi(eax, if_false);
4154 __ mov(edx, FieldOperand(eax, HeapObject::kMapOffset));
4159 __ JumpIfSmi(eax, if_false);
4161 __ CmpObjectType(eax, JS_FUNCTION_TYPE, edx);
4166 __ JumpIfSmi(eax, if_false);
4168 __ cmp(eax, isolate()->factory()->null_value());
4171 __ CmpObjectType(eax, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, edx);
4210 __ cmp(eax, isolate()->factory()->true_value());
4219 __ test(eax, eax);
4257 __ or_(ecx, eax);
4259 __ cmp(edx, eax);
4271 __ test(eax, eax);
4297 __ cmp(eax, nil_value);
4305 __ cmp(eax, other_nil_value);
4307 __ JumpIfSmi(eax, if_false);
4309 __ mov(edx, FieldOperand(eax, HeapObject::kMapOffset));
4319 __ mov(eax, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
4320 context()->Plug(eax);
4325 return eax;