code: function InnerArrayFill(value, start, end, array, length) {
    var i = IS_UNDEFINED(start) ? 0 : TO_INTEGER(start);
    var end = IS_UNDEFINED(end) ? length : TO_INTEGER(end);
  
    if (i < 0) {
      i += length;
      if (i < 0) i = 0;
    } else {
      if (i > length) i = length;
    }
  
    if (end < 0) {
      end += length;
      if (end < 0) end = 0;
    } else {
      if (end > length) end = length;
    }
  
    if ((end - i) > 0 && %object_is_frozen(array)) {
      throw MakeTypeError(kArrayFunctionsOnFrozen);
    }
  
    for (; i < end; i++)
      array[i] = value;
    return array;
  }
docs: ES6, draft 04-05-14, section 22.1.3.6