Lines Matching refs:start_i
199 function SmartSlice(array, start_i, del_count, len, deleted_elements) {
202 var intervals = %GetArrayKeys(array, start_i + del_count);
209 if (j < start_i) {
210 j = start_i;
219 deleted_elements[j - start_i] = current;
224 if (key >= start_i) {
231 deleted_elements[key - start_i] = current;
242 function SmartMove(array, start_i, del_count, len, num_additional_args) {
252 while (j < start_i && j < interval_limit) {
262 j = start_i + del_count;
276 if (key < start_i) {
284 } else if (key >= start_i + del_count) {
305 function SimpleSlice(array, start_i, del_count, len, deleted_elements) {
307 var index = start_i + i;
318 function SimpleMove(array, start_i, del_count, len, num_additional_args) {
323 for (var i = len - del_count; i > start_i; i--) {
337 for (var i = start_i; i < len - del_count; i++) {
549 var start_i = TO_INTEGER(start);
554 if (start_i < 0) {
555 start_i += len;
556 if (start_i < 0) start_i = 0;
558 if (start_i > len) start_i = len;
570 if (end_i < start_i) return result;
573 SmartSlice(this, start_i, end_i - start_i, len, result);
575 SimpleSlice(this, start_i, end_i - start_i, len, result);
578 result.length = end_i - start_i;
588 var start_i = TO_INTEGER(start);
590 if (start_i < 0) {
591 start_i += len;
592 if (start_i < 0) start_i = 0;
594 if (start_i > len) start_i = len;
604 del_count = len - start_i;
608 if (del_count > len - start_i) del_count = len - start_i;
627 if (len > 20 && (estimated_non_hole_elements >> 2) < (len - start_i)) {
633 SimpleSlice(this, start_i, del_count, len, deleted_elements);
634 SimpleMove(this, start_i, del_count, len, num_additional_args);
636 SmartSlice(this, start_i, del_count, len, deleted_elements);
637 SmartMove(this, start_i, del_count, len, num_additional_args);
642 var i = start_i;