Home | History | Annotate | Download | only in x64

Lines Matching refs:SMI

130   __ Move(FieldOperand(rax, FixedArray::kLengthOffset), Smi::FromInt(length));
179 __ Move(FieldOperand(rax, FixedArray::kLengthOffset), Smi::FromInt(length));
181 // If this block context is nested in the global context we get a smi
188 const char* message = "Expected 0 as a Smi sentinel";
423 if (types_.Contains(SMI)) {
434 // If we need a map later and have a Smi -> patch.
534 // same register as the result, because we never see Smi-zero here.
545 __ Push(Smi::FromInt(tos_.code()));
546 __ Push(Smi::FromInt(types_.ToByte()));
578 // This fails if either argument is not a Smi nor a HeapNumber,
580 // losslessly to a Smi. In that case, control transitions to the
585 // On success, both first and second holds Smi tagged values.
586 // One of first or second must be non-Smi when entering.
671 case UnaryOpIC::SMI:
688 __ Push(Smi::FromInt(op_));
689 __ Push(Smi::FromInt(mode_));
690 __ Push(Smi::FromInt(operand_type_));
845 // Do the bitwise operation and smi tag the result.
926 __ Push(Smi::FromInt(MinorKey()));
927 __ Push(Smi::FromInt(op_));
928 __ Push(Smi
951 case BinaryOpIC::SMI:
956 // The int32 case is identical to the Smi case. We avoid creating this
1012 // Smi check of both operands. If op is BIT_OR, the check is delayed
1019 Comment smi_check_comment(masm, "-- Smi check arguments");
1026 Comment perform_smi(masm, "-- Perform smi operation");
1101 // overflowed the smi range).
1133 // 7. Non-smi operands reach the end of the code generated by
1136 // But first we check if non-smi values are HeapNumbers holding
1137 // values that could be smi.
1139 Comment done_comment(masm, "-- Enter non-smi code");
1202 // Tag smi result and return.
1207 // an int32, and so is not in the smi range. Allocate a heap number
1329 result_type_ == BinaryOpIC::SMI) {
1330 // Only allow smi results.
1338 // Code falls through if the result is not returned as either a smi or heap
1521 // Input is a smi. Untag and load it onto the FPU stack.
1655 __ Push(Smi::FromInt(2 * kDoubleSize));
1857 // Here r8 has the untagged integer, rax has a Smi or a heap number.
1859 // Test if arg2 is a Smi.
1961 // Convert HeapNumber to smi if possible.
1976 // Second should be non-smi if we get here.
1981 // Convert second to smi, if possible.
2214 // input was a smi. We reset it with exponent value before bailing out.
2263 // Check that the key is a smi.
2269 // Smi instead of the context. We can't use SmiCompare here, because that
2274 Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR));
2305 // Slow-case: Handle non-smi or out-of-bounds access to arguments
2335 __ Cmp(rcx, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR));
2415 // Use the length (smi tagged) and set that as an in-object property too.
2460 __ Move(r8, Smi::FromInt(Context::MIN_CONTEXT_SLOTS));
2474 __ SmiSubConstant(r9, r9, Smi::FromInt(1));
2484 __ SmiAddConstant(r8, r8, Smi::FromInt(1));
2542 __ Cmp(rcx, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR));
2568 __ Cmp(rcx, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR));
2611 // Get the length (smi tagged) and set that as an in-object property too.
2731 // Check that the third argument is a positive smi less than the string
2848 // smi (code flushing support)
3025 // Read the value from the static offsets vector buffer and make it a smi.
3028 // Store the smi value in the last match info.
3101 // Smi-tagging is equivalent to multiplying by 2.
3105 // JSArray: [Map][empty properties][Elements][Length-smi][index][input]
3117 // r8: Number of array elements as smi.
3199 // number string cache for smis is just the smi value, and the hash for
3238 // Check if the entry is the smi we are looking for.
3314 __ Abort("CompareStub: smi operands");
3320 // NOTICE! This code is only reached after a smi-fast-case check, so
3321 // it is certain that at least one operand isn't a smi.
3386 // and oddballs. Non-smi numbers and strings still go through the usual
3389 // If either is a Smi (we know that not both are), then they can only
3395 // Check if the non-smi operand is a heap number.
3515 // At most one is a smi, so we can test for smi by adding the two.
3516 // A smi plus a heap object has the low bit set, a heap object plus
3554 __ Push(Smi::FromInt(NegativeComparisonResult(cc_)));
3717 // Check that function is not a smi.
4026 // Cannot use smi-register for loading yet.
4028 reinterpret_cast<uint64_t>(Smi::FromInt(marker)),
4045 // Set up the roots and smi constant registers.
4046 // Needs to be done before any further smi loads.
4065 __ Push(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME));
4071 __ Push(Smi::FromInt(StackFrame::INNER_JSENTRY_FRAME));
4121 __ Cmp(rbx, Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME));
4182 // Get the object - go slow case if it's a smi.
4261 // Store bitwise zero in the cache. This is a Smi in GC terms.
4371 // If the receiver is a smi trigger the non-string case.
4381 // If the index is non-smi trigger the non-smi case.
4405 // Index is not a smi.
4432 // If index is still not a smi, it must be out of range.
4462 __ SmiCompare(code_, Smi::FromInt(String::kMaxAsciiCharCode));
4587 STATIC_ASSERT(String::kMaxLength <= Smi::kMaxValue / 2);
4591 __ SmiCompare(rbx, Smi::FromInt(2));
4626 __ SmiCompare(rbx, Smi::FromInt(ConsString::kMinLength));
4630 __ SmiCompare(rbx, Smi::FromInt(String::kMaxLength));
4682 // rbx: length of resulting flat string as smi
5000 Smi::FromInt(2));
5114 // Calculate length of sub string using the smi values.
5140 // rdx: from index (smi)
5144 __ SmiToInteger32(rdx, rdx); // From index is no longer smi.
5168 // rdx: from index (smi)
5210 // rdx: adjusted start index (smi)
5246 // rdx: adjusted start index (smi)
5338 __ Move(rax, Smi::FromInt(NOT_EQUAL));
5347 __ Move(rax, Smi::FromInt(EQUAL));
5357 __ Move(rax, Smi::FromInt(EQUAL));
5362 __ Move(rax, Smi::FromInt(NOT_EQUAL));
5413 __ Move(rax, Smi::FromInt(EQUAL));
5422 __ Move(rax, Smi::FromInt(LESS));
5427 __ Move(rax, Smi::FromInt(GREATER));
5477 __ Move(rax, Smi::FromInt(EQUAL));
5617 __ Move(rax, Smi::FromInt(EQUAL));
5661 __ Move(rax, Smi::FromInt(EQUAL));
5763 __ Push(Smi::FromInt(op_));
5792 // Capacity is smi 2^n.
6282 // -- rcx : element index as smi
6330 // FAST_ELEMENTS, and value is Smi.