1. 16 May, 2018 4 commits
    • Vaclav Brozek's avatar
      Fix array.indexOf for negative fromIndex · be5cfb22
      Vaclav Brozek authored
      Array.indexOf accepts an optional fromIndex argument. When non-negative,
      this argument restricts the searched indices to those starting at
      fromIndex:
      [1, 2, 1].indexOf(1,1) == 2
      When negative, it is meant to be added to the array length to provide
      such initial index for the search:
      [1, 2, 1].indexOf(1, -2) == 2
      
      This transformation has been done by the non-optimised builtin but not
      by the reducer. The CL adds this construction to the reducer.
      
      Bug: chromium:842612
      Change-Id: I0ff089997f4ebb4dc3c2923e52c382a8a96cd711
      Reviewed-on: https://chromium-review.googlesource.com/1059628Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Commit-Queue: Vaclav Brozek <vabr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53197}
      be5cfb22
    • Dan Elphick's avatar
      [heap] Start making ReadOnlySpace Pages relocatable · 7485b129
      Dan Elphick authored
      Adds Page::MakeHeaderRelocatable that clears pointers to objects
      outside the space. In this case relocatable means the entire page
      heading is position independent in memory, meaning it could be saved to
      disk and reloaded at a different memory location in a new process
      without there being any invalid pointers.
      
      Currently this only affects mutex_, locate_tracker_ and reservation_.
      
      Additionally makes VerifyHeap work when there's no mutex in a Page.
      
      This is just a stepping stone to making the Pages headers relocatable
      since heap_ and owner_ still point out of the Page.
      
      Also removes the empty ReadOnlySpace destructor.
      
      Bug: v8:7464
      Change-Id: Ife3c06575fa73a5818c4991fb9bec30a5f43901d
      Reviewed-on: https://chromium-review.googlesource.com/1054879Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53196}
      7485b129
    • Georg Neis's avatar
      [serializer] Fix ExternalReferenceEncoder::NameOfAddress. · b1fb9e90
      Georg Neis authored
      This function didn't account for addresses of api-provided external
      references, leading to out-of-bound reads on external_reference_table.
      (This happened to me when printing a code object in gdb, I'm not sure
      how to easily test it.)
      
      Also remove an unused method from the private Value class.
      
      R=jgruber@chromium.org
      
      Change-Id: Id14fed3fb3866df750bcad8f4a02c61748b07ad3
      Reviewed-on: https://chromium-review.googlesource.com/1060035Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53195}
      b1fb9e90
    • jgruber's avatar
      [builtins] Reduce lifetime of builtins constant table builder · 50b2ecf9
      jgruber authored
      Code generation introduces indirections if a builder exists (and the
      serializer is active). These indirections are not necessary outside of
      embedded builtins (e.g. in bytecode handlers), so let's reduce its
      lifetime.
      
      Bug: v8:6666
      Change-Id: I57207012997786f599f79f0982da61eea26f3e22
      Reviewed-on: https://chromium-review.googlesource.com/1059114
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53194}
      50b2ecf9
  2. 15 May, 2018 24 commits
  3. 14 May, 2018 12 commits