1. 29 Sep, 2017 1 commit
  2. 28 Sep, 2017 2 commits
    • Ben L. Titzer's avatar
      [wasm] Move compilation methods to module-compiler.h · afb7bdc4
      Ben L. Titzer authored
      Note that this also makes it possible to move several classes
      into the module-compiler.cc file and inline their implementations.
      
      This also allows removing several uses of wasm-module.h from
      other places in V8 that include wasm-objects.h.
      
      R=yangguo@chromium.org,clemensh@chromium.org,ahaas@chromium.org
      
      Bug: 
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I303ee2bb49dc53c951d377a1b65699c1e0e91da7
      Reviewed-on: https://chromium-review.googlesource.com/687494Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48204}
      afb7bdc4
    • Peter Marshall's avatar
      [cleanup] Remove List. · 690d52af
      Peter Marshall authored
      ZoneList still used List as a base class, so this CL merges the two
      classes together. We also remove unused functions in List and ZoneList.
      
      We keep the inline header but move it to src/zone/zone-list-inl.h. The
      includes that use this header are still quite tangled, but we can fix
      that later.
      
      Bug: v8:6333
      Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
      Change-Id: Ia809813834b2328ff616623f8a843812a1eb42a7
      Reviewed-on: https://chromium-review.googlesource.com/681658
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48200}
      690d52af
  3. 27 Sep, 2017 1 commit
  4. 26 Sep, 2017 1 commit
    • Michael Starzinger's avatar
      [asm.js] Fix Math.abs signature to return unsigned. · 02d999ab
      Michael Starzinger authored
      This fixes the signature of "Math.abs" from "(signed) -> signed" to
      "(signed) -> unsigned" and hence fixes cases where the absolute value
      would overflow the range of signed 32-bit values. This is in sync with
      spec erratas (and ECMAScript semantics).
      
      Note that this also switches the underlying implementation of the above
      absolute value function to a branch-free version.
      
      R=clemensh@chromium.org
      TEST=mjsunit/regress/regress-6838-3
      BUG=v8:6838
      
      Change-Id: Ib13b7ecd336ae386cbde7c574e727bf52f841e00
      Reviewed-on: https://chromium-review.googlesource.com/684181
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48169}
      02d999ab
  5. 25 Sep, 2017 2 commits
  6. 15 Sep, 2017 1 commit
    • Andreas Haas's avatar
      [wasm] Streaming compilation for WebAssembly. · 549692cb
      Andreas Haas authored
      In this CL I implement streaming compilation for WebAssembly,
      as described in the design doc I have sent out already.
      
      In this implementation the decoding of sections other than the
      code section is done immediately on the foreground thread.
      Eventually all decoding should happen in the background. I
      think it is acceptable to do the decoding on the foreground
      thread for now because I have finished it already, and
      decoding in the background would add even more complexity to
      this CL.
      
      Bug:v8:6785
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I285e1e5e1a5a243113c92571b25ee9bae551d0ed
      Reviewed-on: https://chromium-review.googlesource.com/631721Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48022}
      549692cb
  7. 13 Sep, 2017 1 commit
  8. 07 Sep, 2017 1 commit
  9. 06 Sep, 2017 1 commit
  10. 31 Aug, 2017 1 commit
  11. 28 Aug, 2017 1 commit
    • Michael Starzinger's avatar
      [asm.js] Correctly set minimum memory size to zero. · 89f839e5
      Michael Starzinger authored
      This makes sure the minimum memory size for WebAssembly modules derived
      from asm.js is set to zero. It allows instatiation without allocating an
      underlying memory, when such memory is unused. It also fixes a bug in
      patching of embedded memory sizes for asm.js modules.
      
      R=ahaas@chromium.org
      TEST=mjsunit/regress/regress-crbug-759327
      BUG=chromium:759327
      
      Change-Id: If5a965b96a03cbb5ba15bc41fbaf359f74961f41
      Reviewed-on: https://chromium-review.googlesource.com/637912
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47646}
      89f839e5
  12. 25 Aug, 2017 2 commits
  13. 23 Aug, 2017 1 commit
  14. 22 Aug, 2017 2 commits
  15. 14 Aug, 2017 1 commit
  16. 09 Aug, 2017 1 commit
  17. 07 Aug, 2017 2 commits
  18. 03 Aug, 2017 1 commit
  19. 01 Aug, 2017 1 commit
    • jgruber's avatar
      Reland "[builtins] Remove Builtins::Name() accessors" · fcaa2c2e
      jgruber authored
      This is a reland of 2f79e035
      Original change's description:
      > [builtins] Remove Builtins::Name() accessors
      > 
      > Instead of auto-generating the Name() convenience accessor, use a macro to
      > avoid wasting code space.
      > 
      >   BUILTIN_CODE(isolate, Name)
      > 
      > expands to
      > 
      >   isolate->builtins()->builtin_handle(Builtins::kName);
      > 
      > This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      > 
      > Bug: v8:6624
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      > Reviewed-on: https://chromium-review.googlesource.com/593607
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47010}
      
      TBR=bmeurer@chromium.org,ahaas@chromium.org
      
      Bug: v8:6624
      Change-Id: I4733731e56dc8873ee06c2b36cac1918c0a658b2
      Reviewed-on: https://chromium-review.googlesource.com/594087
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47037}
      fcaa2c2e
  20. 31 Jul, 2017 2 commits
    • Jakob Gruber's avatar
      Revert "[builtins] Remove Builtins::Name() accessors" · 17a26c0b
      Jakob Gruber authored
      This reverts commit 2f79e035.
      
      Reason for revert: Conflicts with successor CL.
      
      Original change's description:
      > [builtins] Remove Builtins::Name() accessors
      > 
      > Instead of auto-generating the Name() convenience accessor, use a macro to
      > avoid wasting code space.
      > 
      >   BUILTIN_CODE(isolate, Name)
      > 
      > expands to
      > 
      >   isolate->builtins()->builtin_handle(Builtins::kName);
      > 
      > This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      > 
      > Bug: v8:6624
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      > Reviewed-on: https://chromium-review.googlesource.com/593607
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47010}
      
      TBR=yangguo@chromium.org,ahaas@chromium.org,jgruber@chromium.org,bmeurer@chromium.org
      
      Change-Id: Ia9ef5c755b26c3f4e143d87a7c51033614ea435e
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6624
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/594048Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47012}
      17a26c0b
    • jgruber's avatar
      [builtins] Remove Builtins::Name() accessors · 2f79e035
      jgruber authored
      Instead of auto-generating the Name() convenience accessor, use a macro to
      avoid wasting code space.
      
        BUILTIN_CODE(isolate, Name)
      
      expands to
      
        isolate->builtins()->builtin_handle(Builtins::kName);
      
      This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      
      Bug: v8:6624
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      Reviewed-on: https://chromium-review.googlesource.com/593607Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47010}
      2f79e035
  21. 26 Jul, 2017 1 commit
  22. 25 Jul, 2017 1 commit
  23. 13 Jul, 2017 1 commit
  24. 10 Jul, 2017 1 commit
  25. 30 Jun, 2017 1 commit
  26. 09 Jun, 2017 1 commit
    • Clemens Hammacher's avatar
      [base] Introduce base::Optional, cloned from chromium · 58ca2115
      Clemens Hammacher authored
      base::Optional is a replacement for std::optional, until we switch to
      C++17 and can use std::optional directly.
      The implementation is copied from chromium's base::Optional, but put in
      the {v8::base} namespace instead of just {base}. Also, the
      specialization of std::hash for base::Optional is omitted, since it's
      disallowed in the style guide.
      
      A first use in the AsmJsParser is introduced, if that one sticks, I
      will refactor more uses of std::unique_ptr to use base::Optional
      instead, avoiding the heap allocation.
      
      R=mstarzinger@chromium.org
      BUG=v8:6474
      
      Change-Id: I019599d4bf9ff0105bf592dfb96d6050feba18ae
      Reviewed-on: https://chromium-review.googlesource.com/528884
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45810}
      58ca2115
  27. 01 Jun, 2017 1 commit
  28. 31 May, 2017 1 commit
  29. 30 May, 2017 1 commit
    • Clemens Hammacher's avatar
      [asm] Use ZoneVector instead of std::vector · f6f33f6f
      Clemens Hammacher authored
      This CL replaces the last usages of std::vector in the AsmJsParser by
      ZoneVector. This allows to also measure the memory consumption of these
      vectors, since it is now contained in the zone memory.
      ZoneVectors are reused to avoid accumulating lots of unused memory.
      
      This also saves 2.6% performance (avg over 1000 runs) on my local
      workstation.
      
      R=mstarzinger@chromium.org
      
      Change-Id: I04c96db558d9c362b1494ddd9e975edf2783403c
      Reviewed-on: https://chromium-review.googlesource.com/516985Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45591}
      f6f33f6f
  30. 23 May, 2017 1 commit
  31. 22 May, 2017 3 commits
  32. 19 May, 2017 1 commit