1. 20 Aug, 2019 6 commits
  2. 19 Aug, 2019 27 commits
  3. 18 Aug, 2019 1 commit
  4. 17 Aug, 2019 1 commit
  5. 16 Aug, 2019 5 commits
    • Ng Zhi An's avatar
      Add SSE4_2 to list of CpuFeatures printed · 9b05b7a8
      Ng Zhi An authored
      Change-Id: Icc9a88012cd785a7676259e15da2a1bc6a6e26ba
      Bug: v8:9510
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1756854Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63228}
      9b05b7a8
    • Ng Zhi An's avatar
      Formatting fixes for test file · a539478a
      Ng Zhi An authored
      - Move undef closer to end of usage
      - Move I64x2ExtractWithF64x2 closer to Extract tests, and into ifdef
      scope so it runs on arm64 builds
      
      Change-Id: I7138c44097975d02e97f4b2b9bfcddd8eb9735c8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1754544Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63227}
      a539478a
    • Georg Schmid's avatar
      [turbofan] Track field owner maps during load elimination · f85826ea
      Georg Schmid authored
      This CL adds additional information in PropertyAccessInfos and FieldAccesses about the map that introduced the accessed field. We use this information to prevent load elimination from incorrectly optimizing certain accesses marked const.
      
      Prior to this CL, load elimination simply stored information about eliminatable field accesses based on objects (identified by nodes in the graph) and offsets (i.e., statically known ones). In the presence of const stores and loads this is insufficient, since a single object (in the above sense) may contain distinct *const* properties at the same offset throughout its lifetime. As an example, consider the following piece of code:
      
          let obj = {};
          obj.a = 0;
          obj[1024] = 1;  // An offset of >=1024 forces an elements-kind transition
          delete obj.a;
          obj.b = 2;
          assertEquals(obj.b, 2);
      
      In this scenario, *both* the first ('obj.a = 0') and the second ('obj.b = 2') store to a field will be marked const by the runtime. The reason that storing to 'a' above ends up being marked const, is that 'a' before and after the elements-kind transition is encoded in separate transition trees. Removing 'a' ('delete obj.a') only invalidates const-ness in the dictionary-elements transition tree; not the holey-elements one used at the time of 'obj.a = 0'.
      
      The above situation on its own violates an invariant in load elimination. Namely, we assume that for the same object and offset, we will never encounter two const stores. One can extend the above snippet to coax load-elimination into producing incorrect results. For instance, by "hiding" 'obj.b = 2' in an unoptimized function call, the consecutive load from 'b' will incorrectly produce 0, violating the assert.
      
      R=neis@chromium.org, tebbi@chromium.org
      
      Bug: chromium:980183, chromium:983764
      Change-Id: I576a9c7efd416fa9db6daff1f42d483e4bd369b4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1751346
      Commit-Queue: Georg Schmid <gsps@google.com>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63226}
      f85826ea
    • Daryl Haresign's avatar
      [api] TracedGlobal not V8_EXPORT · 35558d38
      Daryl Haresign authored
      V8_EXPORT is not required for public class templates, and using it may
      lead to linker errors when users attempt to dllimport V8.
      
      Change-Id: I0b2db2371d0fcbf50af94ba629670486b8f2bc00
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1757284Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63225}
      35558d38
    • Mike Stanton's avatar
      [TurboFan] Apply early lowering logic to the GetIterator bytecode · 3815fc19
      Mike Stanton authored
      GetIterator currently acts as a property load of the iterator symbol
      (soon it will also call it). It makes sense to apply the same early
      lowering logic as we do for property loads in the bytecode graph
      builder. This also brings our treatment of the bytecode in-line with
      the way it's treated in the serializer, which already respects the
      early-lowering semantics.
      
      Bug: v8:7790
      Change-Id: Ieadc4b307b9f6d9a5aa77ca10c7c818026776f33
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758304
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63224}
      3815fc19