Home | History | Annotate | Download | only in arm

Lines Matching refs:SMI

160   __ mov(r2, Operand(Smi::FromInt(length)));
166 __ mov(r1, Operand(Smi::FromInt(0)));
210 __ mov(r2, Operand(Smi::FromInt(length)));
213 // If this block context is nested in the global context we get a smi
220 const char* message = "Expected 0 as a Smi sentinel";
422 // Takes a Smi and converts to an IEEE 64 bit floating point value in two
466 // Convert from Smi to integer.
470 // the 2's complement sign bit in a Smi.
536 // Write Smi from r0 to r3 and r2 in double format.
541 // Write Smi from r1 to r1 and r0 in double format.
586 // Smi-check
605 // Handle loading a double from a smi.
609 // Convert smi to double using VFP instructions.
613 // Load the converted smi to dst1 and dst2 in double format.
618 // Write smi to dst1 and dst2 double format.
1032 // the_int_ has the answer which is a signed int32 but not a Smi.
1038 // Set up the correct exponent in scratch_. All non-Smi int32s have the same.
1039 // A non-Smi integer is 1.xxx * 2^30 so the exponent is 30 (biased).
1195 // Lhs is a Smi. Check whether the rhs is a heap number.
1198 // If rhs is not a number and lhs is a Smi then strict equality cannot
1206 // Smi compared non-strictly with a non-Smi non-heap-number. Call
1211 // Lhs is a smi, rhs is a number.
1231 // since it's a smi.
1235 // Rhs is a smi. Check whether the non-smi lhs is a heap number.
1238 // If lhs is not a number and rhs is a smi then strict equality cannot
1246 // Smi compared non-strictly with a non-smi non-heap-number. Call
1251 // Rhs is a smi, lhs is a heap number.
1517 // Divide length by two (length is a smi).
1522 // number string cache for smis is just the smi value, and the hash for
1577 // Check if the entry is the smi we are looking for.
1631 __ Assert(ne, "CompareStub: unexpected smi operands.");
1634 // NOTICE! This code is only reached after a smi-fast-case check, so
1635 // it is certain that at least one operand isn't a smi.
1641 // If either is a Smi (we know that not both are), then they can only
1644 ASSERT_EQ(0, Smi::FromInt(0));
1647 // One operand is a smi. EmitSmiNonsmiComparison generates code that can:
1696 // and neither of them is a Smi. The objects are in rhs_ and lhs_.
1767 __ mov(r0, Operand(Smi::FromInt(ncr)));
1798 if (types_.Contains(SMI)) {
1804 // If we need a map later and have a Smi -> patch.
1877 __ mov(r2, Operand(Smi::FromInt(tos_.code())));
1878 __ mov(r1, Operand(Smi::FromInt(types_.ToByte())));
1944 case UnaryOpIC::SMI:
1959 __ mov(r2, Operand(Smi::FromInt(op_)));
1960 __ mov(r1, Operand(Smi::FromInt(mode_)));
1961 __ mov(r0, Operand(Smi::FromInt(operand_type_)));
2006 // The result of negating zero or the smallest negative smi is not a smi.
2020 // Flip bits and revert inverted smi-tag.
2105 // Do the bitwise operation and check if the result fits in a smi.
2111 // Tag the result as a smi and we're done.
2221 __ mov(r2, Operand(Smi::FromInt(MinorKey())));
2222 __ mov(r1, Operand(Smi::FromInt(op_)));
2223 __ mov(r0, Operand(Smi::FromInt(operands_type_)));
2249 case BinaryOpIC::SMI:
2315 // will be a smi if it fits the smi range.
2321 // Check for overflowing the smi range - no overflow if higher 33 bits of
2333 __ mov(right, Operand(Smi::FromInt(0)), LeaveCC, pl);
2334 __ Ret(pl); // Return smi 0 if the non-zero one was positive.
2381 // Smi tag result.
2392 // check the sign bit and the sign bit after Smi tagging.
2395 // Smi tag result.
2404 // Check that the signed result fits in a Smi.
2576 // Check that the *signed* result fits in a smi.
2627 // Generate the smi code. If the operation on smis are successful this return is
2628 // generated. If the result is not a smi and heap number allocation is not
2642 // Perform combined smi check on both operands.
2647 // If the smi-smi operation results in a smi return is generated.
2663 result_type_ == BinaryOpIC::SMI) {
2664 // Only allow smi results.
2675 // Code falls through if the result is not returned as either a smi or heap
2744 // Smi-smi fast case.
2749 // Fall through if the result is not a smi.
2811 // Try to return a smi if we can.
2827 // Check if the result fits in a smi.
2977 // Check if the result fits in a smi.
3054 __ mov(r1, Operand(Smi::FromInt(0)));
3063 __ mov(r0, Operand(Smi::FromInt(0)));
3228 // Load argument and check if it is a smi.
3231 // Input is a smi. Convert to double and load the low and high words
3605 // smi. We set it with exponent value before bailing out.
3930 __ mov(r7, Operand(Smi::FromInt(marker)));
3931 __ mov(r6, Operand(Smi::FromInt(marker)));
3948 __ mov(ip, Operand(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME)));
3952 __ mov(ip, Operand(Smi::FromInt(StackFrame::INNER_JSENTRY_FRAME)));
4020 __ cmp(r5, Operand(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME)));
4150 __ mov(r0, Operand(Smi::FromInt(0)));
4161 __ mov(r0, Operand(Smi::FromInt(0)));
4168 __ mov(r0, Operand(Smi::FromInt(1)));
4179 __ mov(r0, Operand(Smi::FromInt(1)));
4186 // Before null, smi and string value checks, check that the rhs is a function
4195 __ mov(r0, Operand(Smi::FromInt(1)));
4199 // Smi values are not instances of anything.
4201 __ mov(r0, Operand(Smi::FromInt(1)));
4207 __ mov(r0, Operand(Smi::FromInt(1)));
4243 // Check that the key is a smi.
4251 __ cmp(r3, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
4280 // Slow-case: Handle non-smi or out-of-bounds access to arguments
4297 __ cmp(r2, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
4329 __ cmp(r2, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
4356 __ cmp(r1, Operand(Smi::FromInt(0)));
4402 // Use the length (smi tagged) and set that as an in-object property too.
4420 __ cmp(r1, Operand(Smi::FromInt(0)));
4428 __ add(r6, r1, Operand(Smi::FromInt(2)));
4446 __ add(r9, r9, Operand(Smi::FromInt(Context::MIN_CONTEXT_SLOTS)));
4461 __ sub(r6, r6, Operand(Smi::FromInt(1)));
4467 __ add(r9, r9, Operand(Smi::FromInt(1)));
4469 __ cmp(r6, Operand(Smi::FromInt(0)));
4492 __ add(r9, r9, Operand(Smi::FromInt(1)));
4518 __ cmp(r3, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
4562 // Get the length (smi tagged) and set that as an in-object property too.
4671 __ cmp(r0, Operand(Smi::FromInt(JSRegExp::IRREGEXP)));
4682 __ add(r2, r2, Operand(2)); // r2 was a smi.
4698 // r3: Length of subject string as a smi
4701 // Check that the third argument is a positive smi less than the subject
4776 // r9: offset of sliced string, smi-tagged.
4806 // a smi (code flushing support).
4941 __ add(r1, r1, Operand(2)); // r1 was a smi.
4946 __ mov(r2, Operand(r1, LSL, kSmiTagSize + kSmiShiftSize)); // To smi.
4988 // Store the smi value in the last match info.
5036 __ cmp(r1, Operand(Smi::FromInt(kMaxInlineLength)));
5038 // Smi-tagging is equivalent to multiplying by 2.
5040 // JSArray: [Map][empty properties][Elements][Length-smi][index][input]
5056 // r1: Number of elements in array, as smi.
5241 // Check that the function is not a smi.
5326 // If the receiver is a smi trigger the non-string case.
5336 // If the index is non-smi trigger the non-smi case.
5363 // Index is not a smi.
5389 // If index is still not a smi, it must be out of range.
5424 // At this point code register contains smi tagged ASCII char code.
5763 __ cmp(scratch, Operand(Smi::FromInt(2)));
5789 // Untag smi seed and add the character.
5851 // I.e., arithmetic shift right by one un-smi-tags.
5854 // If either to or from had the smi tag bit set, then carry is set now.
5855 __ b(cs, &runtime); // Either "from" or "to" is not a smi.
6071 __ mov(r0, Operand(Smi::FromInt(NOT_EQUAL)));
6080 __ mov(r0, Operand(Smi::FromInt(EQUAL)));
6090 __ mov(r0, Operand(Smi::FromInt(EQUAL)));
6121 ASSERT(Smi::FromInt(EQUAL) == static_cast<Smi*>(0));
6127 __ mov(r0, Operand(Smi::FromInt(GREATER)), LeaveCC, gt);
6128 __ mov(r0, Operand(Smi::FromInt(LESS)), LeaveCC, lt);
6179 __ mov(r0, Operand(Smi::FromInt(EQUAL)));
6255 __ cmp(r2, Operand(Smi::FromInt(0))); // Test if first string is empty.
6259 __ cmp(r3, Operand(Smi::FromInt(0)), ne);
6652 __ mov(r0, Operand(Smi::FromInt(EQUAL)), LeaveCC, eq);
6692 __ mov(r0, Operand(Smi::FromInt(EQUAL)), LeaveCC, eq);
6788 __ mov(ip, Operand(Smi::FromInt(op_)));
6847 // Capacity is smi 2^n.
6851 Smi::FromInt(name->Hash() + StringDictionary::GetProbeOffset(i))));
6934 __ mov(scratch1, Operand(scratch1, ASR, kSmiTagSize)); // convert smi to int
7024 // Capacity is smi 2^n.
7362 // -- r3 : element index as smi
7363 // -- r4 : array literal index in function as smi
7399 // FAST_ELEMENTS, and value is Smi.