1. 20 Oct, 2017 1 commit
    • Mathias Bynens's avatar
      [js] Remove CHECK_OBJECT_COERCIBLE for Array methods · 35b6aa38
      Mathias Bynens authored
      The spec got rid of `CheckObjectCoercible` a while back, and so should
      we. This change is not observable in most of the affected cases since
      `ToObject` is up near the top of most Array method algorithms. An
      example of an observable effect of this change occurs for the following
      input:
      
          Array.prototype.sort.call(null, 1);
      
      Behavior before applying the patch (incorrect message):
      
          TypeError: Array.prototype.sort called on null or undefined
      
      Expected behavior:
      
          TypeError: The comparison function must be either a function or
                     undefined
      
      This patch removes `CheckObjectCoercible` and adds tests to ensure the
      few observable cases are addressed correctly.
      
      The patch also adds a missing `ToObject(this)` to
      `Array.prototype.lastIndexOf` which would otherwise become observable
      as a result of `CheckObjectCoercible` being removed.
      
      BUG=v8:3577,v8:6921
      
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Ia086095076c4bf4d8d58dab26bc28df02994ed01
      Reviewed-on: https://chromium-review.googlesource.com/718577Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48800}
      35b6aa38
  2. 15 Sep, 2017 1 commit