Lines Matching refs:index

26 #include "src/objects/field-index-inl.h"
1550 Node* node, Node* index, Node* value, KeyedAccessMode const& keyed_mode) {
1569 // if the {index} is out of bounds (depending on the {load_mode}).
1570 value = BuildIndexedStringLoad(receiver, index, length, &effect, &control,
1627 Node* node, Node* index, Node* value,
1656 node, index, access_mode, refined_feedback.keyed_mode().load_mode());
1662 return ReduceElementAccessOnString(node, index, value,
1753 BuildElementAccess(receiver, index, value, effect, control, access_info,
1771 Node* this_index = index;
1878 const uint32_t index = static_cast<uint32_t>(mkey.ResolvedValue());
1886 element = jsobject_ref.GetOwnConstantElement(*elements, index,
1892 element = receiver_ref.AsJSArray().GetOwnCowElement(*elements, index);
1908 element = receiver_ref.AsString().GetCharAsStringOrUndefined(index);
2057 Node* index = name.index();
2101 enum_indices, index, effect, control);
2260 int index = 6 + argc;
2261 inputs[index++] = context;
2262 inputs[index++] = frame_state;
2263 inputs[index++] = *effect;
2264 inputs[index++] = *control;
2272 graph()->NewNode(common()->Call(call_descriptor), index, inputs);
2605 return ReducePropertyAccess(node, n.index(), base::nullopt, n.value(),
2643 Node* receiver, Node* index, Node* value, Node* effect, Node* control,
2735 // Only check that the {index} is in SignedSmall range. We do the actual
2738 index = effect = graph()->NewNode(
2739 simplified()->CheckSmi(FeedbackSource()), index, effect, control);
2741 // Cast the {index} to Unsigned32 range, so that the bounds checks
2744 index = graph()->NewNode(simplified()->NumberToUint32(), index);
2747 // Check that the {index} is in the valid range for the {receiver}.
2748 index = effect = graph()->NewNode(
2751 index, length, effect, control);
2763 graph()->NewNode(simplified()->NumberLessThan(), index, length);
2774 index = etrue = graph()->NewNode(
2779 index, length, etrue, if_true);
2784 buffer_or_receiver, base_pointer, external_pointer, index,
2807 buffer_or_receiver, base_pointer, external_pointer, index, effect,
2835 graph()->NewNode(simplified()->NumberLessThan(), index, length);
2845 index = etrue = graph()->NewNode(
2850 index, length, etrue, if_true);
2855 buffer_or_receiver, base_pointer, external_pointer, index,
2873 buffer_or_receiver, base_pointer, external_pointer, index, value,
2883 index, length, effect, control);
2925 // For growing stores we validate the {index} below.
2929 // Check that the {index} is a valid array index, we do the actual
2932 index = effect = graph()->NewNode(
2935 index, jsgraph()->Constant(Smi::kMaxValue), effect, control);
2937 // Check that the {index} is in the valid range for the {receiver}.
2938 index = effect = graph()->NewNode(
2941 index, length, effect, control);
2975 graph()->NewNode(simplified()->NumberLessThan(), index, length);
2986 index = etrue =
2991 index, length, etrue, if_true);
2996 elements, index, etrue, if_true);
3034 elements, index, effect, control);
3069 index, length, effect, control);
3071 // If the index is in bounds, do a load and hole check.
3093 index, length, etrue, if_true);
3165 // Validate the {index} depending on holeyness:
3167 // For HOLEY_*_ELEMENTS the {index} must not exceed the {elements}
3172 // For PACKED_*_ELEMENTS the {index} must be within the range
3173 // [0,length+1[ to be valid. In case {index} equals {length},
3181 index = effect = graph()->NewNode(
3184 index, limit, effect, control);
3193 receiver, elements, index, elements_length, effect, control);
3207 graph()->NewNode(simplified()->NumberLessThan(), index, length);
3213 // We don't need to do anything, the {index} is within
3223 simplified()->NumberAdd(), index, jsgraph()->OneConstant());
3238 elements, index, value, effect, control);
3246 Node* receiver, Node* index, Node* length, Node** effect, Node** control,
3250 // Ensure that the {index} is a valid String length.
3251 index = *effect = graph()->NewNode(
3254 index, jsgraph()->Constant(String::kMaxLength), *effect, *control);
3257 // undefined if the {index} is not within the valid bounds.
3259 graph()->NewNode(simplified()->NumberLessThan(), index, length);
3267 Node* etrue = index = graph()->NewNode(
3271 index, length, *effect, if_true);
3273 receiver, index, etrue, if_true);
3285 // Ensure that {index} is less than {receiver} length.
3286 index = *effect = graph()->NewNode(
3289 index, length, *effect, *control);
3293 simplified()->StringCharCodeAt(), receiver, index, *effect, *control);