• Home
  • Raw
  • Download

Lines Matching refs:Operand

128   __ add(r3, r3, Operand(Code::kHeaderSize - kHeapObjectTag));  in Generate()
160 __ mov(r2, Operand(Smi::FromInt(length))); in Generate()
166 __ mov(r1, Operand(Smi::FromInt(0))); in Generate()
210 __ mov(r2, Operand(Smi::FromInt(length))); in Generate()
221 __ cmp(r3, Operand::Zero()); in Generate()
244 __ add(sp, sp, Operand(2 * kPointerSize)); in Generate()
293 __ add(r2, r0, Operand(JSArray::kSize)); in GenerateFastCloneShallowArrayCommon()
314 __ add(r3, r3, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); in Generate()
329 __ add(sp, sp, Operand(3 * kPointerSize)); in Generate()
338 __ add(sp, sp, Operand(3 * kPointerSize)); in Generate()
371 __ add(sp, sp, Operand(3 * kPointerSize)); in Generate()
392 __ add(r3, r3, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); in Generate()
402 __ cmp(r0, Operand(size >> kPointerSizeLog2)); in Generate()
414 __ add(sp, sp, Operand(4 * kPointerSize)); in Generate()
467 __ mov(source_, Operand(source_, ASR, kSmiTagSize)); in Generate()
472 __ and_(exponent, source_, Operand(HeapNumber::kSignMask), SetCC); in Generate()
474 __ rsb(source_, source_, Operand(0, RelocInfo::NONE), LeaveCC, ne); in Generate()
479 __ cmp(source_, Operand(1)); in Generate()
485 __ orr(exponent, exponent, Operand(exponent_word_for_1), LeaveCC, eq); in Generate()
487 __ mov(mantissa, Operand(0, RelocInfo::NONE)); in Generate()
499 __ rsb(mantissa, zeros_, Operand(31 + HeapNumber::kExponentBias - fudge)); in Generate()
500 __ add(mantissa, mantissa, Operand(fudge)); in Generate()
503 Operand(mantissa, LSL, HeapNumber::kExponentShift)); in Generate()
505 __ add(zeros_, zeros_, Operand(1)); in Generate()
507 __ mov(source_, Operand(source_, LSL, zeros_)); in Generate()
509 __ mov(mantissa, Operand(source_, LSL, HeapNumber::kMantissaBitsInTopWord)); in Generate()
513 Operand(source_, LSR, 32 - HeapNumber::kMantissaBitsInTopWord)); in Generate()
524 __ mov(scratch1, Operand(r0, ASR, kSmiTagSize)); in LoadSmis()
527 __ mov(scratch1, Operand(r1, ASR, kSmiTagSize)); in LoadSmis()
537 __ mov(scratch1, Operand(r0)); in LoadSmis()
542 __ mov(scratch1, Operand(r1)); in LoadSmis()
596 __ sub(scratch1, object, Operand(kHeapObjectTag)); in LoadNumber()
619 __ mov(scratch1, Operand(object)); in LoadNumber()
699 __ cmp(int_scratch, Operand::Zero()); in ConvertIntToDouble()
705 __ and_(dst2, int_scratch, Operand(HeapNumber::kSignMask), SetCC); in ConvertIntToDouble()
707 __ rsb(int_scratch, int_scratch, Operand::Zero(), SetCC, mi); in ConvertIntToDouble()
713 __ rsb(dst1, dst1, Operand(31)); in ConvertIntToDouble()
716 __ add(scratch2, dst1, Operand(HeapNumber::kExponentBias)); in ConvertIntToDouble()
721 __ mov(scratch2, Operand(1)); in ConvertIntToDouble()
722 __ bic(int_scratch, int_scratch, Operand(scratch2, LSL, dst1)); in ConvertIntToDouble()
724 __ cmp(dst1, Operand(HeapNumber::kMantissaBitsInTopWord)); in ConvertIntToDouble()
726 __ sub(scratch2, dst1, Operand(HeapNumber::kMantissaBitsInTopWord), SetCC); in ConvertIntToDouble()
729 __ orr(dst2, dst2, Operand(int_scratch, LSR, scratch2)); in ConvertIntToDouble()
730 __ rsb(scratch2, scratch2, Operand(32)); in ConvertIntToDouble()
731 __ mov(dst1, Operand(int_scratch, LSL, scratch2)); in ConvertIntToDouble()
735 __ rsb(scratch2, dst1, Operand(HeapNumber::kMantissaBitsInTopWord)); in ConvertIntToDouble()
736 __ mov(scratch2, Operand(int_scratch, LSL, scratch2)); in ConvertIntToDouble()
739 __ mov(dst1, Operand::Zero()); in ConvertIntToDouble()
782 __ sub(scratch1, object, Operand(kHeapObjectTag)); in LoadNumberAsInt32Double()
805 __ bic(scratch1, dst1, Operand(HeapNumber::kSignMask)); in LoadNumberAsInt32Double()
806 __ orr(scratch1, scratch1, Operand(dst2)); in LoadNumberAsInt32Double()
807 __ cmp(scratch1, Operand::Zero()); in LoadNumberAsInt32Double()
854 __ sub(scratch1, object, Operand(kHeapObjectTag)); in LoadNumberAsInt32()
875 __ bic(dst, scratch1, Operand(HeapNumber::kSignMask)); in LoadNumberAsInt32()
876 __ orr(dst, scratch2, Operand(dst)); in LoadNumberAsInt32()
877 __ cmp(dst, Operand::Zero()); in LoadNumberAsInt32()
887 __ mov(dst, Operand(dst, LSR, scratch3)); in LoadNumberAsInt32()
889 __ rsb(scratch3, scratch3, Operand(32)); in LoadNumberAsInt32()
890 __ orr(dst, dst, Operand(scratch2, LSL, scratch3)); in LoadNumberAsInt32()
893 __ tst(scratch1, Operand(HeapNumber::kSignMask)); in LoadNumberAsInt32()
894 __ rsb(dst, dst, Operand::Zero(), LeaveCC, mi); in LoadNumberAsInt32()
914 __ sub(scratch, scratch, Operand(HeapNumber::kExponentBias), SetCC); in DoubleIs32BitInteger()
929 __ sub(tmp, scratch, Operand(src1, LSR, 31)); in DoubleIs32BitInteger()
930 __ cmp(tmp, Operand(30)); in DoubleIs32BitInteger()
933 __ tst(src2, Operand(0x3fffff)); in DoubleIs32BitInteger()
949 Operand(src1, LSL, HeapNumber::kNonMantissaBitsInTopWord)); in DoubleIs32BitInteger()
952 __ rsb(scratch, scratch, Operand(32)); in DoubleIs32BitInteger()
953 __ mov(src2, Operand(1)); in DoubleIs32BitInteger()
954 __ mov(src1, Operand(src2, LSL, scratch)); in DoubleIs32BitInteger()
955 __ sub(src1, src1, Operand(1)); in DoubleIs32BitInteger()
1001 __ mov(r0, Operand(heap_number_result)); in CallCCodeForDoubleOperation()
1036 __ cmp(the_int_, Operand(0x80000000u)); in Generate()
1042 __ mov(scratch_, Operand(non_smi_exponent)); in Generate()
1044 __ orr(scratch_, scratch_, Operand(HeapNumber::kSignMask), LeaveCC, cs); in Generate()
1046 __ rsb(the_int_, the_int_, Operand(0, RelocInfo::NONE), LeaveCC, cs); in Generate()
1053 __ orr(scratch_, scratch_, Operand(the_int_, LSR, shift_distance)); in Generate()
1056 __ mov(scratch_, Operand(the_int_, LSL, 32 - shift_distance)); in Generate()
1067 __ mov(ip, Operand(HeapNumber::kSignMask | non_smi_exponent)); in Generate()
1069 __ mov(ip, Operand(0, RelocInfo::NONE)); in Generate()
1102 __ cmp(r4, Operand(FIRST_SPEC_OBJECT_TYPE)); in EmitIdenticalObjectComparison()
1108 __ cmp(r4, Operand(ODDBALL_TYPE)); in EmitIdenticalObjectComparison()
1115 __ mov(r0, Operand(GREATER)); in EmitIdenticalObjectComparison()
1118 __ mov(r0, Operand(LESS)); in EmitIdenticalObjectComparison()
1128 __ mov(r0, Operand(GREATER)); // Things aren't less than themselves. in EmitIdenticalObjectComparison()
1130 __ mov(r0, Operand(LESS)); // Things aren't greater than themselves. in EmitIdenticalObjectComparison()
1132 __ mov(r0, Operand(EQUAL)); // Things are <=, >=, ==, === themselves. in EmitIdenticalObjectComparison()
1152 __ cmp(r3, Operand(-1)); in EmitIdenticalObjectComparison()
1156 __ mov(r2, Operand(r2, LSL, HeapNumber::kNonMantissaBitsInTopWord)); in EmitIdenticalObjectComparison()
1159 __ orr(r0, r3, Operand(r2), SetCC); in EmitIdenticalObjectComparison()
1168 __ mov(r0, Operand(GREATER)); // NaN <= NaN should fail. in EmitIdenticalObjectComparison()
1170 __ mov(r0, Operand(LESS)); // NaN >= NaN should fail. in EmitIdenticalObjectComparison()
1202 __ mov(r0, Operand(NOT_EQUAL), LeaveCC, ne); in EmitSmiNonsmiComparison()
1217 __ sub(r7, rhs, Operand(kHeapObjectTag)); in EmitSmiNonsmiComparison()
1222 __ mov(r7, Operand(lhs)); in EmitSmiNonsmiComparison()
1242 __ mov(r0, Operand(NOT_EQUAL), LeaveCC, ne); in EmitSmiNonsmiComparison()
1255 __ sub(r7, lhs, Operand(kHeapObjectTag)); in EmitSmiNonsmiComparison()
1264 __ mov(r7, Operand(rhs)); in EmitSmiNonsmiComparison()
1286 __ cmp(r4, Operand(-1)); in EmitNanCheck()
1289 Operand(lhs_exponent, LSL, HeapNumber::kNonMantissaBitsInTopWord), in EmitNanCheck()
1292 __ cmp(lhs_mantissa, Operand(0, RelocInfo::NONE)); in EmitNanCheck()
1301 __ cmp(r4, Operand(-1)); in EmitNanCheck()
1304 Operand(rhs_exponent, LSL, HeapNumber::kNonMantissaBitsInTopWord), in EmitNanCheck()
1307 __ cmp(rhs_mantissa, Operand(0, RelocInfo::NONE)); in EmitNanCheck()
1314 __ mov(r0, Operand(GREATER)); in EmitNanCheck()
1316 __ mov(r0, Operand(LESS)); in EmitNanCheck()
1337 __ cmp(rhs_mantissa, Operand(lhs_mantissa)); in EmitTwoNonNanDoubleComparison()
1338 __ orr(r0, rhs_mantissa, Operand(lhs_mantissa), LeaveCC, ne); in EmitTwoNonNanDoubleComparison()
1342 __ sub(r0, rhs_exponent, Operand(lhs_exponent), SetCC); in EmitTwoNonNanDoubleComparison()
1352 __ orr(r4, lhs_mantissa, Operand(lhs_exponent, LSL, kSmiTagSize), SetCC); in EmitTwoNonNanDoubleComparison()
1353 __ mov(r0, Operand(r4), LeaveCC, ne); in EmitTwoNonNanDoubleComparison()
1357 __ mov(r0, Operand(rhs_exponent, LSL, kSmiTagSize)); in EmitTwoNonNanDoubleComparison()
1402 __ cmp(r2, Operand(ODDBALL_TYPE)); in EmitStrictTwoHeapObjectCompare()
1409 __ cmp(r3, Operand(ODDBALL_TYPE)); in EmitStrictTwoHeapObjectCompare()
1416 __ and_(r2, r2, Operand(r3)); in EmitStrictTwoHeapObjectCompare()
1417 __ tst(r2, Operand(kIsSymbolMask)); in EmitStrictTwoHeapObjectCompare()
1442 __ sub(r7, rhs, Operand(kHeapObjectTag)); in EmitCheckForTwoHeapNumbers()
1444 __ sub(r7, lhs, Operand(kHeapObjectTag)); in EmitCheckForTwoHeapNumbers()
1467 __ tst(r2, Operand(kIsNotStringMask)); in EmitCheckForSymbolsOrObjects()
1469 __ tst(r2, Operand(kIsSymbolMask)); in EmitCheckForSymbolsOrObjects()
1473 __ tst(r3, Operand(kIsSymbolMask)); in EmitCheckForSymbolsOrObjects()
1478 __ mov(r0, Operand(NOT_EQUAL)); in EmitCheckForSymbolsOrObjects()
1482 __ cmp(r2, Operand(FIRST_SPEC_OBJECT_TYPE)); in EmitCheckForSymbolsOrObjects()
1492 __ and_(r0, r2, Operand(r3)); in EmitCheckForSymbolsOrObjects()
1493 __ and_(r0, r0, Operand(1 << Map::kIsUndetectable)); in EmitCheckForSymbolsOrObjects()
1494 __ eor(r0, r0, Operand(1 << Map::kIsUndetectable)); in EmitCheckForSymbolsOrObjects()
1518 __ mov(mask, Operand(mask, ASR, kSmiTagSize + 1)); in GenerateLookupNumberStringCache()
1519 __ sub(mask, mask, Operand(1)); // Make mask. in GenerateLookupNumberStringCache()
1541 Operand(HeapNumber::kValueOffset - kHeapObjectTag)); in GenerateLookupNumberStringCache()
1543 __ eor(scratch1, scratch1, Operand(scratch2)); in GenerateLookupNumberStringCache()
1544 __ and_(scratch1, scratch1, Operand(mask)); in GenerateLookupNumberStringCache()
1550 Operand(scratch1, LSL, kPointerSizeLog2 + 1)); in GenerateLookupNumberStringCache()
1556 __ sub(scratch2, object, Operand(kHeapObjectTag)); in GenerateLookupNumberStringCache()
1558 __ sub(probe, probe, Operand(kHeapObjectTag)); in GenerateLookupNumberStringCache()
1570 __ and_(scratch, mask, Operand(object, ASR, 1)); in GenerateLookupNumberStringCache()
1575 Operand(scratch, LSL, kPointerSizeLog2 + 1)); in GenerateLookupNumberStringCache()
1601 __ add(sp, sp, Operand(1 * kPointerSize)); in Generate()
1624 __ mov(r1, Operand(r1, ASR, 1)); in Generate()
1625 __ sub(r0, r1, Operand(r0, ASR, 1)); in Generate()
1630 __ tst(r2, Operand(kSmiTagMask)); in Generate()
1645 __ and_(r2, lhs_, Operand(rhs_)); in Generate()
1670 __ mov(r0, Operand(EQUAL), LeaveCC, eq); in Generate()
1671 __ mov(r0, Operand(LESS), LeaveCC, lt); in Generate()
1672 __ mov(r0, Operand(GREATER), LeaveCC, gt); in Generate()
1680 __ mov(r0, Operand(GREATER)); in Generate()
1682 __ mov(r0, Operand(LESS)); in Generate()
1767 __ mov(r0, Operand(Smi::FromInt(ncr))); in Generate()
1800 __ tst(tos_, Operand(kSmiTagMask)); in Generate()
1813 __ tst(ip, Operand(1 << Map::kIsUndetectable)); in Generate()
1815 __ mov(tos_, Operand(0, RelocInfo::NONE), LeaveCC, ne); in Generate()
1844 __ mov(tos_, Operand(0, RelocInfo::NONE), LeaveCC, eq); // for FP_ZERO in Generate()
1845 __ mov(tos_, Operand(0, RelocInfo::NONE), LeaveCC, vs); // for FP_NAN in Generate()
1866 __ mov(tos_, Operand(0, RelocInfo::NONE), LeaveCC, eq); in CheckOddball()
1875 __ mov(r3, Operand(tos_)); in GenerateTypeTransition()
1877 __ mov(r2, Operand(Smi::FromInt(tos_.code()))); in GenerateTypeTransition()
1878 __ mov(r1, Operand(Smi::FromInt(types_.ToByte()))); in GenerateTypeTransition()
1896 __ sub(sp, sp, Operand(kDoubleSize * DwVfpRegister::kNumRegisters)); in Generate()
1908 __ mov(r0, Operand(ExternalReference::isolate_address())); in Generate()
1918 __ add(sp, sp, Operand(kDoubleSize * DwVfpRegister::kNumRegisters)); in Generate()
1958 __ mov(r3, Operand(r0)); // the operand in GenerateTypeTransition()
1959 __ mov(r2, Operand(Smi::FromInt(op_))); in GenerateTypeTransition()
1960 __ mov(r1, Operand(Smi::FromInt(mode_))); in GenerateTypeTransition()
1961 __ mov(r0, Operand(Smi::FromInt(operand_type_))); in GenerateTypeTransition()
2007 __ bic(ip, r0, Operand(0x80000000), SetCC); in GenerateSmiCodeSub()
2011 __ rsb(r0, r0, Operand(0, RelocInfo::NONE)); in GenerateSmiCodeSub()
2021 __ mvn(r0, Operand(r0)); in GenerateSmiCodeBitNot()
2022 __ bic(r0, r0, Operand(kSmiTagMask)); in GenerateSmiCodeBitNot()
2069 __ eor(r2, r2, Operand(HeapNumber::kSignMask)); // Flip sign. in GenerateHeapNumberCodeSub()
2081 __ mov(r1, Operand(r0)); in GenerateHeapNumberCodeSub()
2089 __ eor(r2, r2, Operand(HeapNumber::kSignMask)); // Flip sign. in GenerateHeapNumberCodeSub()
2091 __ mov(r0, Operand(r1)); in GenerateHeapNumberCodeSub()
2107 __ mvn(r1, Operand(r1)); in GenerateHeapNumberCodeBitNot()
2108 __ add(r2, r1, Operand(0x40000000), SetCC); in GenerateHeapNumberCodeBitNot()
2112 __ mov(r0, Operand(r1, LSL, kSmiTagSize)); in GenerateHeapNumberCodeBitNot()
2137 __ mvn(r1, Operand(r1)); in GenerateHeapNumberCodeBitNot()
2148 __ sub(r2, r0, Operand(kHeapObjectTag)); in GenerateHeapNumberCodeBitNot()
2221 __ mov(r2, Operand(Smi::FromInt(MinorKey()))); in GenerateTypeTransition()
2222 __ mov(r1, Operand(Smi::FromInt(op_))); in GenerateTypeTransition()
2223 __ mov(r0, Operand(Smi::FromInt(operands_type_))); in GenerateTypeTransition()
2304 __ add(right, left, Operand(right), SetCC); // Add optimistically. in GenerateSmiSmiOperation()
2306 __ sub(right, right, Operand(left)); // Revert optimistic add. in GenerateSmiSmiOperation()
2309 __ sub(right, left, Operand(right), SetCC); // Subtract optimistically. in GenerateSmiSmiOperation()
2311 __ sub(right, left, Operand(right)); // Revert optimistic subtract. in GenerateSmiSmiOperation()
2323 __ mov(ip, Operand(scratch1, ASR, 31)); in GenerateSmiSmiOperation()
2324 __ cmp(ip, Operand(scratch2)); in GenerateSmiSmiOperation()
2327 __ cmp(scratch1, Operand(0)); in GenerateSmiSmiOperation()
2328 __ mov(right, Operand(scratch1), LeaveCC, ne); in GenerateSmiSmiOperation()
2332 __ add(scratch2, right, Operand(left), SetCC); in GenerateSmiSmiOperation()
2333 __ mov(right, Operand(Smi::FromInt(0)), LeaveCC, pl); in GenerateSmiSmiOperation()
2342 __ orr(scratch2, scratch1, Operand(0x80000000u)); in GenerateSmiSmiOperation()
2348 __ rsb(scratch1, scratch1, Operand(31)); in GenerateSmiSmiOperation()
2349 __ mov(right, Operand(left, LSR, scratch1)); in GenerateSmiSmiOperation()
2354 __ orr(scratch1, left, Operand(right)); in GenerateSmiSmiOperation()
2355 __ tst(scratch1, Operand(0x80000000u | kSmiTagMask)); in GenerateSmiSmiOperation()
2362 __ and_(right, left, Operand(scratch1)); in GenerateSmiSmiOperation()
2366 __ orr(right, left, Operand(right)); in GenerateSmiSmiOperation()
2370 __ and_(right, left, Operand(right)); in GenerateSmiSmiOperation()
2374 __ eor(right, left, Operand(right)); in GenerateSmiSmiOperation()
2380 __ mov(right, Operand(left, ASR, scratch1)); in GenerateSmiSmiOperation()
2382 __ bic(right, right, Operand(kSmiTagMask)); in GenerateSmiSmiOperation()
2390 __ mov(scratch1, Operand(scratch1, LSR, scratch2)); in GenerateSmiSmiOperation()
2393 __ tst(scratch1, Operand(0xc0000000)); in GenerateSmiSmiOperation()
2403 __ mov(scratch1, Operand(scratch1, LSL, scratch2)); in GenerateSmiSmiOperation()
2405 __ add(scratch2, scratch1, Operand(0x40000000), SetCC); in GenerateSmiSmiOperation()
2490 __ sub(r0, result, Operand(kHeapObjectTag)); in GenerateFPOperation()
2492 __ add(r0, r0, Operand(kHeapObjectTag)); in GenerateFPOperation()
2540 __ orr(r2, r3, Operand(r2)); in GenerateFPOperation()
2543 __ eor(r2, r3, Operand(r2)); in GenerateFPOperation()
2546 __ and_(r2, r3, Operand(r2)); in GenerateFPOperation()
2551 __ mov(r2, Operand(r3, ASR, r2)); in GenerateFPOperation()
2556 __ mov(r2, Operand(r3, LSR, r2), SetCC); in GenerateFPOperation()
2570 __ mov(r2, Operand(r3, LSL, r2)); in GenerateFPOperation()
2577 __ add(r3, r2, Operand(0x40000000), SetCC); in GenerateFPOperation()
2598 __ mov(r0, Operand(r5)); in GenerateFPOperation()
2610 __ sub(r3, r0, Operand(kHeapObjectTag)); in GenerateFPOperation()
2643 __ orr(scratch1, left, Operand(right)); in GenerateSmiCode()
2829 __ add(scratch2, scratch1, Operand(0x40000000), SetCC); in GenerateInt32Stub()
2834 __ cmp(scratch1, Operand::Zero()); in GenerateInt32Stub()
2837 __ tst(scratch2, Operand(HeapNumber::kSignMask)); in GenerateInt32Stub()
2861 __ sub(r0, heap_number_result, Operand(kHeapObjectTag)); in GenerateInt32Stub()
2938 __ orr(r2, r3, Operand(r2)); in GenerateInt32Stub()
2941 __ eor(r2, r3, Operand(r2)); in GenerateInt32Stub()
2944 __ and_(r2, r3, Operand(r2)); in GenerateInt32Stub()
2947 __ and_(r2, r2, Operand(0x1f)); in GenerateInt32Stub()
2948 __ mov(r2, Operand(r3, ASR, r2)); in GenerateInt32Stub()
2951 __ and_(r2, r2, Operand(0x1f)); in GenerateInt32Stub()
2952 __ mov(r2, Operand(r3, LSR, r2), SetCC); in GenerateInt32Stub()
2970 __ and_(r2, r2, Operand(0x1f)); in GenerateInt32Stub()
2971 __ mov(r2, Operand(r3, LSL, r2)); in GenerateInt32Stub()
2978 __ add(scratch1, r2, Operand(0x40000000), SetCC); in GenerateInt32Stub()
3007 __ sub(r0, heap_number_result, Operand(kHeapObjectTag)); in GenerateInt32Stub()
3054 __ mov(r1, Operand(Smi::FromInt(0))); in GenerateOddballStub()
3063 __ mov(r0, Operand(Smi::FromInt(0))); in GenerateOddballStub()
3194 __ mov(result, Operand(overwritable_operand)); in GenerateHeapResultAllocation()
3256 __ eor(r1, r2, Operand(r3)); in Generate()
3257 __ eor(r1, r1, Operand(r1, ASR, 16)); in Generate()
3258 __ eor(r1, r1, Operand(r1, ASR, 8)); in Generate()
3260 __ And(r1, r1, Operand(TranscendentalCache::SubCache::kCacheSize - 1)); in Generate()
3268 __ mov(cache_entry, Operand(cache_array)); in Generate()
3275 __ cmp(cache_entry, Operand(0, RelocInfo::NONE)); in Generate()
3294 __ add(r1, r1, Operand(r1, LSL, 1)); in Generate()
3295 __ add(cache_entry, cache_entry, Operand(r1, LSL, 2)); in Generate()
3308 __ mov(r0, Operand(r6)); in Generate()
3377 __ mov(scratch0, Operand(4 * kPointerSize)); in Generate()
3585 __ cmp(scratch, Operand(0)); in Generate()
3586 __ mov(scratch2, Operand(0), LeaveCC, mi); in Generate()
3591 __ mov(scratch, Operand(scratch, ASR, 1), SetCC); in Generate()
3596 __ cmp(exponent, Operand(0)); in Generate()
3704 __ mov(r0, Operand(scope_depth)); in GenerateCore()
3706 __ add(r1, r1, Operand(1)); in GenerateCore()
3712 __ mov(r0, Operand(r4)); in GenerateCore()
3713 __ mov(r1, Operand(r6)); in GenerateCore()
3722 __ tst(sp, Operand(frame_alignment_mask)); in GenerateCore()
3731 __ mov(r2, Operand(ExternalReference::isolate_address())); in GenerateCore()
3740 masm->add(lr, pc, Operand(4)); in GenerateCore()
3747 __ mov(r2, Operand(scope_depth)); in GenerateCore()
3749 __ sub(r3, r3, Operand(1)); in GenerateCore()
3757 __ add(r2, r0, Operand(1)); in GenerateCore()
3758 __ tst(r2, Operand(kFailureTagMask)); in GenerateCore()
3773 __ tst(r0, Operand(((1 << kFailureTypeTagSize) - 1) << kFailureTagSize)); in GenerateCore()
3778 __ cmp(r0, Operand(reinterpret_cast<int32_t>(out_of_memory))); in GenerateCore()
3782 __ mov(r3, Operand(isolate->factory()->the_hole_value())); in GenerateCore()
3783 __ mov(ip, Operand(ExternalReference(Isolate::kPendingExceptionAddress, in GenerateCore()
3790 __ cmp(r0, Operand(isolate->factory()->termination_exception())); in GenerateCore()
3816 __ add(r6, sp, Operand(r0, LSL, kPointerSizeLog2)); in Generate()
3817 __ sub(r6, r6, Operand(kPointerSize)); in Generate()
3824 __ mov(r4, Operand(r0)); in Generate()
3825 __ mov(r5, Operand(r1)); in Generate()
3853 __ mov(r0, Operand(reinterpret_cast<int32_t>(failure))); in Generate()
3866 __ mov(r0, Operand(false, RelocInfo::NONE)); in Generate()
3867 __ mov(r2, Operand(external_caught)); in Generate()
3872 __ mov(r0, Operand(reinterpret_cast<int32_t>(out_of_memory))); in Generate()
3873 __ mov(r2, Operand(ExternalReference(Isolate::kPendingExceptionAddress, in Generate()
3928 __ mov(r8, Operand(-1)); // Push a bad frame pointer to fail if it is used. in GenerateBody()
3930 __ mov(r7, Operand(Smi::FromInt(marker))); in GenerateBody()
3931 __ mov(r6, Operand(Smi::FromInt(marker))); in GenerateBody()
3933 Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate))); in GenerateBody()
3938 __ add(fp, sp, Operand(-EntryFrameConstants::kCallerFPOffset)); in GenerateBody()
3943 __ mov(r5, Operand(ExternalReference(js_entry_sp))); in GenerateBody()
3945 __ cmp(r6, Operand::Zero()); in GenerateBody()
3948 __ mov(ip, Operand(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME))); in GenerateBody()
3952 __ mov(ip, Operand(Smi::FromInt(StackFrame::INNER_JSENTRY_FRAME))); in GenerateBody()
3965 __ mov(ip, Operand(ExternalReference(Isolate::kPendingExceptionAddress, in GenerateBody()
3968 __ mov(r0, Operand(reinterpret_cast<int32_t>(Failure::Exception()))); in GenerateBody()
3982 __ mov(r5, Operand(isolate->factory()->the_hole_value())); in GenerateBody()
3983 __ mov(ip, Operand(ExternalReference(Isolate::kPendingExceptionAddress, in GenerateBody()
4000 __ mov(ip, Operand(construct_entry)); in GenerateBody()
4003 __ mov(ip, Operand(entry)); in GenerateBody()
4010 __ mov(lr, Operand(pc)); in GenerateBody()
4011 masm->add(pc, ip, Operand(Code::kHeaderSize - kHeapObjectTag)); in GenerateBody()
4020 __ cmp(r5, Operand(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME))); in GenerateBody()
4022 __ mov(r6, Operand::Zero()); in GenerateBody()
4023 __ mov(r5, Operand(ExternalReference(js_entry_sp))); in GenerateBody()
4030 Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate))); in GenerateBody()
4034 __ add(sp, sp, Operand(-EntryFrameConstants::kCallerFPOffset)); in GenerateBody()
4039 __ mov(lr, Operand(pc)); in GenerateBody()
4140 __ cmp(scratch, Operand(prototype)); in Generate()
4150 __ mov(r0, Operand(Smi::FromInt(0))); in Generate()
4155 __ add(inline_site, inline_site, Operand(kDeltaToLoadBoolResult)); in Generate()
4161 __ mov(r0, Operand(Smi::FromInt(0))); in Generate()
4168 __ mov(r0, Operand(Smi::FromInt(1))); in Generate()
4173 __ add(inline_site, inline_site, Operand(kDeltaToLoadBoolResult)); in Generate()
4179 __ mov(r0, Operand(Smi::FromInt(1))); in Generate()
4193 __ cmp(scratch, Operand(masm->isolate()->factory()->null_value())); in Generate()
4195 __ mov(r0, Operand(Smi::FromInt(1))); in Generate()
4201 __ mov(r0, Operand(Smi::FromInt(1))); in Generate()
4207 __ mov(r0, Operand(Smi::FromInt(1))); in Generate()
4223 __ cmp(r0, Operand::Zero()); in Generate()
4251 __ cmp(r3, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); in GenerateReadElement()
4262 __ add(r3, fp, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize)); in GenerateReadElement()
4276 __ add(r3, r2, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize)); in GenerateReadElement()
4297 __ cmp(r2, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); in GenerateNewNonStrictSlow()
4303 __ add(r3, r3, Operand(r2, LSL, 1)); in GenerateNewNonStrictSlow()
4304 __ add(r3, r3, Operand(StandardFrameConstants::kCallerSPOffset)); in GenerateNewNonStrictSlow()
4329 __ cmp(r2, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); in GenerateNewNonStrictFast()
4339 __ add(r3, r3, Operand(r2, LSL, 1)); in GenerateNewNonStrictFast()
4340 __ add(r3, r3, Operand(StandardFrameConstants::kCallerSPOffset)); in GenerateNewNonStrictFast()
4346 __ cmp(r1, Operand(r2)); in GenerateNewNonStrictFast()
4347 __ mov(r1, Operand(r2), LeaveCC, gt); in GenerateNewNonStrictFast()
4356 __ cmp(r1, Operand(Smi::FromInt(0))); in GenerateNewNonStrictFast()
4357 __ mov(r9, Operand::Zero(), LeaveCC, eq); in GenerateNewNonStrictFast()
4358 __ mov(r9, Operand(r1, LSL, 1), LeaveCC, ne); in GenerateNewNonStrictFast()
4359 __ add(r9, r9, Operand(kParameterMapHeaderSize), LeaveCC, ne); in GenerateNewNonStrictFast()
4362 __ add(r9, r9, Operand(r2, LSL, 1)); in GenerateNewNonStrictFast()
4363 __ add(r9, r9, Operand(FixedArray::kHeaderSize)); in GenerateNewNonStrictFast()
4366 __ add(r9, r9, Operand(Heap::kArgumentsObjectSize)); in GenerateNewNonStrictFast()
4381 __ cmp(r1, Operand::Zero()); in GenerateNewNonStrictFast()
4411 __ add(r4, r0, Operand(Heap::kArgumentsObjectSize)); in GenerateNewNonStrictFast()
4420 __ cmp(r1, Operand(Smi::FromInt(0))); in GenerateNewNonStrictFast()
4428 __ add(r6, r1, Operand(Smi::FromInt(2))); in GenerateNewNonStrictFast()
4431 __ add(r6, r4, Operand(r1, LSL, 1)); in GenerateNewNonStrictFast()
4432 __ add(r6, r6, Operand(kParameterMapHeaderSize)); in GenerateNewNonStrictFast()
4446 __ add(r9, r9, Operand(Smi::FromInt(Context::MIN_CONTEXT_SLOTS))); in GenerateNewNonStrictFast()
4447 __ sub(r9, r9, Operand(r1)); in GenerateNewNonStrictFast()
4449 __ add(r3, r4, Operand(r6, LSL, 1)); in GenerateNewNonStrictFast()
4450 __ add(r3, r3, Operand(kParameterMapHeaderSize)); in GenerateNewNonStrictFast()
4461 __ sub(r6, r6, Operand(Smi::FromInt(1))); in GenerateNewNonStrictFast()
4462 __ mov(r5, Operand(r6, LSL, 1)); in GenerateNewNonStrictFast()
4463 __ add(r5, r5, Operand(kParameterMapHeaderSize - kHeapObjectTag)); in GenerateNewNonStrictFast()
4465 __ sub(r5, r5, Operand(kParameterMapHeaderSize - FixedArray::kHeaderSize)); in GenerateNewNonStrictFast()
4467 __ add(r9, r9, Operand(Smi::FromInt(1))); in GenerateNewNonStrictFast()
4469 __ cmp(r6, Operand(Smi::FromInt(0))); in GenerateNewNonStrictFast()
4484 __ sub(r4, r4, Operand(r9, LSL, 1)); in GenerateNewNonStrictFast()
4488 __ sub(r4, r4, Operand(kPointerSize)); in GenerateNewNonStrictFast()
4490 __ add(r5, r3, Operand(r9, LSL, 1)); in GenerateNewNonStrictFast()
4492 __ add(r9, r9, Operand(Smi::FromInt(1))); in GenerateNewNonStrictFast()
4495 __ cmp(r9, Operand(r2)); in GenerateNewNonStrictFast()
4499 __ add(sp, sp, Operand(3 * kPointerSize)); in GenerateNewNonStrictFast()
4518 __ cmp(r3, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); in GenerateNewStrict()
4529 __ add(r3, r2, Operand(r1, LSL, kPointerSizeLog2 - kSmiTagSize)); in GenerateNewStrict()
4530 __ add(r3, r3, Operand(StandardFrameConstants::kCallerSPOffset)); in GenerateNewStrict()
4537 __ cmp(r1, Operand(0, RelocInfo::NONE)); in GenerateNewStrict()
4539 __ mov(r1, Operand(r1, LSR, kSmiTagSize)); in GenerateNewStrict()
4540 __ add(r1, r1, Operand(FixedArray::kHeaderSize / kPointerSize)); in GenerateNewStrict()
4542 __ add(r1, r1, Operand(Heap::kArgumentsObjectSizeStrict / kPointerSize)); in GenerateNewStrict()
4570 __ cmp(r1, Operand(0, RelocInfo::NONE)); in GenerateNewStrict()
4578 __ add(r4, r0, Operand(Heap::kArgumentsObjectSizeStrict)); in GenerateNewStrict()
4584 __ mov(r1, Operand(r1, LSR, kSmiTagSize)); in GenerateNewStrict()
4589 __ add(r4, r4, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); in GenerateNewStrict()
4596 __ sub(r1, r1, Operand(1)); in GenerateNewStrict()
4597 __ cmp(r1, Operand(0, RelocInfo::NONE)); in GenerateNewStrict()
4602 __ add(sp, sp, Operand(3 * kPointerSize)); in GenerateNewStrict()
4647 __ mov(r0, Operand(address_of_regexp_stack_memory_size)); in Generate()
4649 __ cmp(r0, Operand(0)); in Generate()
4662 __ tst(regexp_data, Operand(kSmiTagMask)); in Generate()
4671 __ cmp(r0, Operand(Smi::FromInt(JSRegExp::IRREGEXP))); in Generate()
4682 __ add(r2, r2, Operand(2)); // r2 was a smi. in Generate()
4684 __ cmp(r2, Operand(OffsetsVector::kStaticOffsetsVectorSize)); in Generate()
4705 __ cmp(r3, Operand(r0)); in Generate()
4726 __ add(r2, r2, Operand(RegExpImpl::kLastMatchOverhead)); in Generate()
4727 __ cmp(r2, Operand(r0, ASR, kSmiTagSize)); in Generate()
4731 __ mov(r9, Operand(0)); in Generate()
4742 Operand(kIsNotStringMask | in Generate()
4763 __ cmp(r1, Operand(kExternalStringTag)); in Generate()
4769 __ tst(r1, Operand(kIsNotStringMask | kShortExternalStringMask)); in Generate()
4774 __ mov(r9, Operand(r9, ASR, kSmiTagSize)); in Generate()
4789 __ tst(r0, Operand(kStringRepresentationMask)); in Generate()
4799 __ and_(r0, r0, Operand(kStringEncodingMask)); in Generate()
4800 __ mov(r3, Operand(r0, ASR, 2), SetCC); in Generate()
4816 __ mov(r1, Operand(r1, ASR, kSmiTagSize)); in Generate()
4835 __ mov(r0, Operand(ExternalReference::isolate_address())); in Generate()
4839 __ mov(r0, Operand(1)); in Generate()
4843 __ mov(r0, Operand(address_of_regexp_stack_memory_address)); in Generate()
4845 __ mov(r2, Operand(address_of_regexp_stack_memory_size)); in Generate()
4847 __ add(r0, r0, Operand(r2)); in Generate()
4852 Operand(ExternalReference::address_of_static_offsets_vector(isolate))); in Generate()
4857 __ add(r8, subject, Operand(SeqString::kHeaderSize - kHeapObjectTag)); in Generate()
4858 __ eor(r3, r3, Operand(1)); in Generate()
4868 __ add(r9, r8, Operand(r9, LSL, r3)); in Generate()
4869 __ add(r2, r9, Operand(r1, LSL, r3)); in Generate()
4872 __ mov(r8, Operand(r8, ASR, kSmiTagSize)); in Generate()
4873 __ add(r3, r9, Operand(r8, LSL, r3)); in Generate()
4882 __ add(r7, r7, Operand(Code::kHeaderSize - kHeapObjectTag)); in Generate()
4896 __ cmp(r0, Operand(NativeRegExpMacroAssembler::SUCCESS)); in Generate()
4899 __ cmp(r0, Operand(NativeRegExpMacroAssembler::FAILURE)); in Generate()
4901 __ cmp(r0, Operand(NativeRegExpMacroAssembler::EXCEPTION)); in Generate()
4908 __ mov(r1, Operand(isolate->factory()->the_hole_value())); in Generate()
4909 __ mov(r2, Operand(ExternalReference(Isolate::kPendingExceptionAddress, in Generate()
4930 __ mov(r0, Operand(masm->isolate()->factory()->null_value())); in Generate()
4931 __ add(sp, sp, Operand(4 * kPointerSize)); in Generate()
4941 __ add(r1, r1, Operand(2)); // r1 was a smi. in Generate()
4946 __ mov(r2, Operand(r1, LSL, kSmiTagSize + kSmiShiftSize)); // To smi. in Generate()
4973 __ mov(r2, Operand(address_of_static_offsets_vector)); in Generate()
4982 Operand(RegExpImpl::kFirstCaptureOffset - kHeapObjectTag)); in Generate()
4984 __ sub(r1, r1, Operand(1), SetCC); in Generate()
4989 __ mov(r3, Operand(r3, LSL, kSmiTagSize)); in Generate()
4996 __ add(sp, sp, Operand(4 * kPointerSize)); in Generate()
5007 __ tst(r0, Operand(kIsIndirectStringMask)); in Generate()
5016 Operand(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); in Generate()
5036 __ cmp(r1, Operand(Smi::FromInt(kMaxInlineLength))); in Generate()
5046 __ mov(r5, Operand(r1, LSR, kSmiTagSize + kSmiShiftSize)); in Generate()
5047 __ add(r2, r5, Operand(objects_size)); in Generate()
5064 __ add(r3, r0, Operand(JSRegExpResult::kSize)); in Generate()
5065 __ mov(r4, Operand(factory->empty_fixed_array())); in Generate()
5086 __ mov(r2, Operand(factory->fixed_array_map())); in Generate()
5089 __ mov(r6, Operand(r5, LSL, kSmiTagSize)); in Generate()
5092 __ mov(r2, Operand(factory->the_hole_value())); in Generate()
5093 __ add(r3, r3, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); in Generate()
5100 __ cmp(r5, Operand(0)); in Generate()
5103 __ sub(r5, r5, Operand(1), SetCC); in Generate()
5108 __ add(sp, sp, Operand(3 * kPointerSize)); in Generate()
5209 __ cmp(r2, Operand(JS_FUNCTION_PROXY_TYPE)); in Generate()
5212 __ mov(r0, Operand(argc_ + 1, RelocInfo::NONE)); in Generate()
5213 __ mov(r2, Operand(0, RelocInfo::NONE)); in Generate()
5226 __ mov(r0, Operand(argc_)); // Set up the number of arguments. in Generate()
5227 __ mov(r2, Operand(0, RelocInfo::NONE)); in Generate()
5254 __ add(pc, r2, Operand(Code::kHeaderSize - kHeapObjectTag)); in Generate()
5261 __ cmp(r3, Operand(JS_FUNCTION_PROXY_TYPE)); in Generate()
5270 __ mov(r2, Operand(0, RelocInfo::NONE)); in Generate()
5333 __ tst(result_, Operand(kIsNotStringMask)); in GenerateFast()
5342 __ cmp(ip, Operand(index_)); in GenerateFast()
5345 __ mov(index_, Operand(index_, ASR, kSmiTagSize)); in GenerateFast()
5353 __ mov(result_, Operand(result_, LSL, kSmiTagSize)); in GenerateFast()
5399 __ mov(index_, Operand(index_, LSL, kSmiTagSize)); in GenerateSlow()
5419 Operand(kSmiTagMask | in GenerateFast()
5426 __ add(result_, result_, Operand(code_, LSL, kPointerSizeLog2 - kSmiTagSize)); in GenerateFast()
5479 __ add(count, count, Operand(count), SetCC); in GenerateCopyCharacters()
5481 __ cmp(count, Operand(0, RelocInfo::NONE)); in GenerateCopyCharacters()
5489 __ sub(count, count, Operand(1), SetCC); in GenerateCopyCharacters()
5520 __ tst(dest, Operand(kPointerAlignmentMask)); in GenerateCopyCharactersLong()
5534 __ add(count, count, Operand(count), SetCC); in GenerateCopyCharactersLong()
5536 __ cmp(count, Operand(0, RelocInfo::NONE)); in GenerateCopyCharactersLong()
5543 __ cmp(count, Operand(8)); in GenerateCopyCharactersLong()
5544 __ add(count, dest, Operand(count)); in GenerateCopyCharactersLong()
5550 __ and_(scratch4, dest, Operand(kReadAlignmentMask), SetCC); in GenerateCopyCharactersLong()
5553 __ cmp(scratch4, Operand(2)); in GenerateCopyCharactersLong()
5565 __ sub(scratch4, dest, Operand(src)); in GenerateCopyCharactersLong()
5566 __ and_(scratch4, scratch4, Operand(0x03), SetCC); in GenerateCopyCharactersLong()
5575 __ mov(scratch4, Operand(scratch4, LSL, 3)); in GenerateCopyCharactersLong()
5577 __ and_(src, src, Operand(~3)); // Round down to load previous word. in GenerateCopyCharactersLong()
5581 __ rsb(scratch2, left_shift, Operand(32)); in GenerateCopyCharactersLong()
5583 __ mov(scratch1, Operand(scratch1, LSR, right_shift)); in GenerateCopyCharactersLong()
5587 __ sub(scratch5, limit, Operand(dest)); in GenerateCopyCharactersLong()
5588 __ orr(scratch1, scratch1, Operand(scratch3, LSL, left_shift)); in GenerateCopyCharactersLong()
5590 __ mov(scratch1, Operand(scratch3, LSR, right_shift)); in GenerateCopyCharactersLong()
5593 __ sub(scratch5, scratch5, Operand(8), SetCC); in GenerateCopyCharactersLong()
5603 __ add(scratch5, scratch5, Operand(4), SetCC); in GenerateCopyCharactersLong()
5605 __ cmp(scratch4, Operand(scratch5, LSL, 3), ne); in GenerateCopyCharactersLong()
5607 __ mov(scratch5, Operand(scratch4, LSR, 3), LeaveCC, lt); in GenerateCopyCharactersLong()
5610 __ cmp(scratch5, Operand(2)); in GenerateCopyCharactersLong()
5612 __ mov(scratch1, Operand(scratch1, LSR, 8), LeaveCC, ge); in GenerateCopyCharactersLong()
5614 __ mov(scratch1, Operand(scratch1, LSR, 8), LeaveCC, gt); in GenerateCopyCharactersLong()
5627 __ sub(scratch3, limit, Operand(dest)); in GenerateCopyCharactersLong()
5631 __ cmp(scratch3, Operand(8)); in GenerateCopyCharactersLong()
5637 __ cmp(dest, Operand(limit)); in GenerateCopyCharactersLong()
5662 __ sub(scratch, c1, Operand(static_cast<int>('0'))); in GenerateTwoCharacterSymbolTableProbe()
5663 __ cmp(scratch, Operand(static_cast<int>('9' - '0'))); in GenerateTwoCharacterSymbolTableProbe()
5665 __ sub(scratch, c2, Operand(static_cast<int>('0'))); in GenerateTwoCharacterSymbolTableProbe()
5666 __ cmp(scratch, Operand(static_cast<int>('9' - '0'))); in GenerateTwoCharacterSymbolTableProbe()
5671 __ orr(c1, c1, Operand(c2, LSL, kBitsPerByte), LeaveCC, ls); in GenerateTwoCharacterSymbolTableProbe()
5683 __ orr(chars, chars, Operand(c2, LSL, kBitsPerByte)); in GenerateTwoCharacterSymbolTableProbe()
5699 __ mov(mask, Operand(mask, ASR, 1)); in GenerateTwoCharacterSymbolTableProbe()
5700 __ sub(mask, mask, Operand(1)); in GenerateTwoCharacterSymbolTableProbe()
5705 Operand(SymbolTable::kElementsStartOffset - kHeapObjectTag)); in GenerateTwoCharacterSymbolTableProbe()
5724 __ add(candidate, hash, Operand(SymbolTable::GetProbeOffset(i))); in GenerateTwoCharacterSymbolTableProbe()
5729 __ and_(candidate, candidate, Operand(mask)); in GenerateTwoCharacterSymbolTableProbe()
5763 __ cmp(scratch, Operand(Smi::FromInt(2))); in GenerateTwoCharacterSymbolTableProbe()
5790 __ add(hash, character, Operand(hash, LSR, kSmiTagSize)); in GenerateHashInit()
5792 __ add(hash, hash, Operand(hash, LSL, 10)); in GenerateHashInit()
5794 __ eor(hash, hash, Operand(hash, LSR, 6)); in GenerateHashInit()
5802 __ add(hash, hash, Operand(character)); in GenerateHashAddCharacter()
5804 __ add(hash, hash, Operand(hash, LSL, 10)); in GenerateHashAddCharacter()
5806 __ eor(hash, hash, Operand(hash, LSR, 6)); in GenerateHashAddCharacter()
5813 __ add(hash, hash, Operand(hash, LSL, 3)); in GenerateHashGetHash()
5815 __ eor(hash, hash, Operand(hash, LSR, 11)); in GenerateHashGetHash()
5817 __ add(hash, hash, Operand(hash, LSL, 15)); in GenerateHashGetHash()
5819 __ and_(hash, hash, Operand(String::kHashBitMask), SetCC); in GenerateHashGetHash()
5822 __ mov(hash, Operand(StringHasher::kZeroHash), LeaveCC, eq); in GenerateHashGetHash()
5852 __ mov(r2, Operand(r2, ASR, 1), SetCC); in Generate()
5853 __ mov(r3, Operand(r3, ASR, 1), SetCC, cc); in Generate()
5860 __ sub(r2, r2, Operand(r3), SetCC, pl); in Generate()
5875 __ cmp(r2, Operand(r4, ASR, 1)); in Generate()
5881 __ cmp(r2, Operand(2)); in Generate()
5888 __ add(r0, r0, Operand(r3)); in Generate()
5916 __ tst(r1, Operand(kIsIndirectStringMask)); in Generate()
5919 __ tst(r1, Operand(kSlicedNotConsMask)); in Generate()
5935 __ add(r3, r3, Operand(r4, ASR, 1)); // Add offset to index. in Generate()
5953 __ cmp(r2, Operand(SlicedString::kMinLength)); in Generate()
5964 __ tst(r1, Operand(kStringEncodingMask)); in Generate()
5971 __ mov(r3, Operand(r3, LSL, 1)); in Generate()
5986 __ tst(r1, Operand(kExternalStringTag)); in Generate()
5992 __ tst(r1, Operand(kShortExternalStringTag)); in Generate()
6001 __ add(r5, r5, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); in Generate()
6006 __ tst(r1, Operand(kStringEncodingMask)); in Generate()
6015 __ add(r1, r0, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); in Generate()
6032 __ add(r5, r5, Operand(r3, LSL, 1)); in Generate()
6034 __ add(r1, r0, Operand(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); in Generate()
6047 __ add(sp, sp, Operand(3 * kPointerSize)); in Generate()
6071 __ mov(r0, Operand(Smi::FromInt(NOT_EQUAL))); in GenerateFlatAsciiStringEquals()
6078 __ cmp(length, Operand(0)); in GenerateFlatAsciiStringEquals()
6080 __ mov(r0, Operand(Smi::FromInt(EQUAL))); in GenerateFlatAsciiStringEquals()
6090 __ mov(r0, Operand(Smi::FromInt(EQUAL))); in GenerateFlatAsciiStringEquals()
6106 __ sub(scratch3, scratch1, Operand(scratch2), SetCC); in GenerateCompareFlatAsciiStrings()
6111 __ cmp(min_length, Operand(0)); in GenerateCompareFlatAsciiStrings()
6123 __ mov(r0, Operand(length_delta), SetCC); in GenerateCompareFlatAsciiStrings()
6127 __ mov(r0, Operand(Smi::FromInt(GREATER)), LeaveCC, gt); in GenerateCompareFlatAsciiStrings()
6128 __ mov(r0, Operand(Smi::FromInt(LESS)), LeaveCC, lt); in GenerateCompareFlatAsciiStrings()
6146 Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); in GenerateAsciiCharsCompareLoop()
6147 __ add(left, left, Operand(scratch1)); in GenerateAsciiCharsCompareLoop()
6148 __ add(right, right, Operand(scratch1)); in GenerateAsciiCharsCompareLoop()
6149 __ rsb(length, length, Operand::Zero()); in GenerateAsciiCharsCompareLoop()
6159 __ add(index, index, Operand(1), SetCC); in GenerateAsciiCharsCompareLoop()
6179 __ mov(r0, Operand(Smi::FromInt(EQUAL))); in Generate()
6181 __ add(sp, sp, Operand(2 * kPointerSize)); in Generate()
6191 __ add(sp, sp, Operand(2 * kPointerSize)); in Generate()
6225 __ tst(r4, Operand(kIsNotStringMask)); in Generate()
6226 __ tst(r5, Operand(kIsNotStringMask), eq); in Generate()
6255 __ cmp(r2, Operand(Smi::FromInt(0))); // Test if first string is empty. in Generate()
6256 __ mov(r0, Operand(r1), LeaveCC, eq); // If first is empty, return second. in Generate()
6259 __ cmp(r3, Operand(Smi::FromInt(0)), ne); in Generate()
6263 __ add(sp, sp, Operand(2 * kPointerSize)); in Generate()
6269 __ mov(r2, Operand(r2, ASR, kSmiTagSize)); in Generate()
6270 __ mov(r3, Operand(r3, ASR, kSmiTagSize)); in Generate()
6282 __ add(r6, r2, Operand(r3)); in Generate()
6285 __ cmp(r6, Operand(2)); in Generate()
6308 __ add(sp, sp, Operand(2 * kPointerSize)); in Generate()
6317 __ mov(r6, Operand(2)); in Generate()
6321 __ add(sp, sp, Operand(2 * kPointerSize)); in Generate()
6326 __ cmp(r6, Operand(ConsString::kMinLength)); in Generate()
6332 __ cmp(r6, Operand(String::kMaxLength + 1)); in Generate()
6345 __ tst(r4, Operand(kStringEncodingMask)); in Generate()
6346 __ tst(r5, Operand(kStringEncodingMask), ne); in Generate()
6356 __ mov(r0, Operand(r7)); in Generate()
6358 __ add(sp, sp, Operand(2 * kPointerSize)); in Generate()
6366 __ tst(r4, Operand(kAsciiDataHintMask)); in Generate()
6367 __ tst(r5, Operand(kAsciiDataHintMask), ne); in Generate()
6369 __ eor(r4, r4, Operand(r5)); in Generate()
6371 __ and_(r4, r4, Operand(kAsciiStringTag | kAsciiDataHintTag)); in Generate()
6372 __ cmp(r4, Operand(kAsciiStringTag | kAsciiDataHintTag)); in Generate()
6400 __ eor(r7, r4, Operand(r5)); in Generate()
6401 __ tst(r7, Operand(kStringEncodingMask)); in Generate()
6405 __ tst(r4, Operand(kStringRepresentationMask)); in Generate()
6409 Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag), in Generate()
6415 __ tst(r4, Operand(kShortExternalStringMask)); in Generate()
6421 __ tst(r5, Operand(kStringRepresentationMask)); in Generate()
6425 Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag), in Generate()
6431 __ tst(r5, Operand(kShortExternalStringMask)); in Generate()
6444 __ tst(r5, Operand(kStringEncodingMask)); in Generate()
6448 __ add(r6, r0, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); in Generate()
6459 __ add(sp, sp, Operand(2 * kPointerSize)); in Generate()
6464 __ add(r6, r0, Operand(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); in Generate()
6475 __ add(sp, sp, Operand(2 * kPointerSize)); in Generate()
6527 scratch2, Operand(1 << Map::kStringWrapperSafeForDefaultValueOf)); in GenerateConvertArgument()
6529 Operand(1 << Map::kStringWrapperSafeForDefaultValueOf)); in GenerateConvertArgument()
6565 __ and_(r2, r1, Operand(r0)); in GenerateHeapNumbers()
6579 __ sub(r2, r1, Operand(kHeapObjectTag)); in GenerateHeapNumbers()
6581 __ sub(r2, r0, Operand(kHeapObjectTag)); in GenerateHeapNumbers()
6591 __ mov(r0, Operand(EQUAL), LeaveCC, eq); in GenerateHeapNumbers()
6592 __ mov(r0, Operand(LESS), LeaveCC, lt); in GenerateHeapNumbers()
6593 __ mov(r0, Operand(GREATER), LeaveCC, gt); in GenerateHeapNumbers()
6641 __ and_(tmp1, tmp1, Operand(tmp2)); in GenerateSymbols()
6642 __ tst(tmp1, Operand(kIsSymbolMask)); in GenerateSymbols()
6652 __ mov(r0, Operand(Smi::FromInt(EQUAL)), LeaveCC, eq); in GenerateSymbols()
6685 __ tst(tmp3, Operand(kIsNotStringMask)); in GenerateStrings()
6692 __ mov(r0, Operand(Smi::FromInt(EQUAL)), LeaveCC, eq); in GenerateStrings()
6702 __ and_(tmp3, tmp1, Operand(tmp2)); in GenerateStrings()
6703 __ tst(tmp3, Operand(kIsSymbolMask)); in GenerateStrings()
6741 __ and_(r2, r1, Operand(r0)); in GenerateObjects()
6750 __ sub(r0, r0, Operand(r1)); in GenerateObjects()
6760 __ and_(r2, r1, Operand(r0)); in GenerateKnownObjects()
6764 __ cmp(r2, Operand(known_map_)); in GenerateKnownObjects()
6766 __ cmp(r3, Operand(known_map_)); in GenerateKnownObjects()
6769 __ sub(r0, r0, Operand(r1)); in GenerateKnownObjects()
6788 __ mov(ip, Operand(Smi::FromInt(op_))); in GenerateMiss()
6792 __ add(r2, r0, Operand(Code::kHeaderSize - kHeapObjectTag)); in GenerateMiss()
6810 __ mov(r2, Operand(function)); in GenerateCall()
6817 __ mov(lr, Operand(reinterpret_cast<intptr_t>(GetCode().location()), in GenerateCall()
6823 __ add(ip, pc, Operand(Assembler::kInstrSize)); in GenerateCall()
6849 __ sub(index, index, Operand(1)); in GenerateNegativeLookup()
6850 __ and_(index, index, Operand( in GenerateNegativeLookup()
6855 __ add(index, index, Operand(index, LSL, 1)); // index *= 3. in GenerateNegativeLookup()
6861 __ add(tmp, properties, Operand(index, LSL, 1)); in GenerateNegativeLookup()
6874 __ cmp(entity_name, Operand(Handle<String>(name))); in GenerateNegativeLookup()
6885 __ tst(entity_name, Operand(kIsSymbolMask)); in GenerateNegativeLookup()
6902 __ mov(r1, Operand(Handle<String>(name))); in GenerateNegativeLookup()
6905 __ cmp(r0, Operand(0)); in GenerateNegativeLookup()
6934 __ mov(scratch1, Operand(scratch1, ASR, kSmiTagSize)); // convert smi to int in GeneratePositiveLookup()
6935 __ sub(scratch1, scratch1, Operand(1)); in GeneratePositiveLookup()
6949 __ add(scratch2, scratch2, Operand( in GeneratePositiveLookup()
6952 __ and_(scratch2, scratch1, Operand(scratch2, LSR, String::kHashShift)); in GeneratePositiveLookup()
6957 __ add(scratch2, scratch2, Operand(scratch2, LSL, 1)); in GeneratePositiveLookup()
6960 __ add(scratch2, elements, Operand(scratch2, LSL, 2)); in GeneratePositiveLookup()
6962 __ cmp(name, Operand(ip)); in GeneratePositiveLookup()
6982 __ cmp(r0, Operand(0)); in GeneratePositiveLookup()
6983 __ mov(scratch2, Operand(r2)); in GeneratePositiveLookup()
7015 __ mov(mask, Operand(mask, ASR, kSmiTagSize)); in Generate()
7016 __ sub(mask, mask, Operand(1)); in Generate()
7031 __ add(index, hash, Operand( in Generate()
7034 __ mov(index, Operand(hash)); in Generate()
7036 __ and_(index, mask, Operand(index, LSR, String::kHashShift)); in Generate()
7040 __ add(index, index, Operand(index, LSL, 1)); // index *= 3. in Generate()
7043 __ add(index, dictionary, Operand(index, LSL, 2)); in Generate()
7047 __ cmp(entry_key, Operand(undefined)); in Generate()
7051 __ cmp(entry_key, Operand(key)); in Generate()
7059 __ tst(entry_key, Operand(kIsSymbolMask)); in Generate()
7069 __ mov(result, Operand::Zero()); in Generate()
7074 __ mov(result, Operand(1)); in Generate()
7078 __ mov(result, Operand::Zero()); in Generate()
7262 __ mov(r2, Operand(ExternalReference::isolate_address())); in InformIncrementalMarker()
7390 __ add(r6, r5, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize)); in Generate()
7391 __ add(r6, r6, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); in Generate()
7402 __ add(r6, r5, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize)); in Generate()