1. 08 Jan, 2021 1 commit
  2. 07 Jan, 2021 2 commits
  3. 05 Jan, 2021 1 commit
  4. 16 Dec, 2020 1 commit
    • Andreas Haas's avatar
      [wasm][liftoff] Fix stack check safepoints for arm, arm64, and ia32 · 8656a594
      Andreas Haas authored
      Registers are spilled differently on arm and intel platforms.
      Additionally, on arm64 registers are spilled with padding. Therefore
      the code for safepoint information for spilled registers is platform-
      dependent now.
      
      Additionally the alignment of the frame size is done before the
      out-of-line code now, so that the safepoint indices can be calculated
      correctly for spilled registers in out-of-line code.
      
      Finally, some code was unimplemented on ia32 and arm, which I added
      now.
      
      R=thibaudm@chromium.org
      
      Bug: v8:7581, v8:10929
      Change-Id: Ia9b824dfc74cafa9ec3cc0d308fb18b485afd715
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2584952
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71786}
      8656a594
  5. 15 Dec, 2020 1 commit
  6. 04 Dec, 2020 1 commit
  7. 03 Dec, 2020 1 commit
  8. 01 Dec, 2020 1 commit
  9. 30 Nov, 2020 1 commit
  10. 25 Nov, 2020 1 commit
  11. 23 Nov, 2020 3 commits
  12. 06 Nov, 2020 1 commit
  13. 28 Oct, 2020 1 commit
  14. 23 Oct, 2020 1 commit
    • Clemens Backes's avatar
      [wasm] Reduce memory reservation without trap handlers · d5720c74
      Clemens Backes authored
      If trap handlers are disabled, we don't need guard regions around wasm
      memories. Hence use the dynamic {trap_handler::IsTrapHandlerEnabled()}
      check, instead of always reserving guard regions on all 64-bit
      platforms.
      This will allow to reserve pretty much arbitrarily many wasm memories if
      trap handlers are disabled.
      
      Two tests are added to test the number of memories that can be
      allocated: With trap handlers, at least 50 memories should always be
      possible. Without trap handlers, 10000 small memories should not be a
      problem (each one is taking 64kB, so it's 640MB overall).
      
      Drive-by: Improve tracing.
      
      R=ahaas@chromium.org
      
      Bug: v8:11017
      Change-Id: Ic4c620f63dfbef571e64df0b3372b83a1db566ab
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491034Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70732}
      d5720c74
  15. 22 Oct, 2020 1 commit
    • Manos Koukoutos's avatar
      Reland "[wasm-gc] Implement call_ref on WasmJSFunction" · 40ad9116
      Manos Koukoutos authored
      This is a reland of 6227c95e
      
      Fixes compared to original landing:
      - Decode a WASM_TO_JS_FUNCTION Code object as a WASM_TO_JS frame.
      - Enable call_ref on WasmJSFunctions with arity mismatch.
      - Use builtin pointer in BuildWasmToJSWrapper, to avoid having to
        resolve the relocatable constant.
      
      Original change's description:
      > [wasm-gc] Implement call_ref on WasmJSFunction
      >
      > Changes:
      > - Introduce turbofan builtin WasmAllocatePair.
      > - Implement call_ref for WasmJSFunction in wasm-compiler.cc.
      > - Remove WasmJSFunction trap.
      > - Improve and extend call-ref.js test.
      >
      > Bug: v8:9495
      > Change-Id: I8b4d1ab70cbbe9ae37887a6241d409eec638fd28
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463226
      > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#70535}
      
      Bug: v8:9495
      Cq-Include-Trybots: luci.v8.try:v8_mac64_gc_stress_dbg_ng
      Cq-Include-Trybots: luci.v8.try:v8_linux_gc_stress_dbg_ng
      Change-Id: I294947059e612d417d92614a43cb7383cd5f3b92
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2476314
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70719}
      40ad9116
  16. 21 Oct, 2020 3 commits
  17. 16 Oct, 2020 1 commit
  18. 15 Oct, 2020 3 commits
  19. 13 Oct, 2020 1 commit
  20. 09 Oct, 2020 1 commit
    • Manos Koukoutos's avatar
      [wasm-gc] Cleanup/preparation to enable call_ref with WasmJSFunction · da3c7318
      Manos Koukoutos authored
      Changes:
      - Add wasm-to-js wrapper field to WasmJSFunction. A WasmJSFunction might
        be called with call_ref without being imported to a module, and this
        provides a call target for this scenario. The wrapper is only compiled
        if --experimental-wasm-typed-funcref is set.
      - Add CompileWasmToJSWrapper in wasm-compiler.
      - Rename  BuildLoadFunctionDataFromExportedFunction ->
        BuildLoadFunctionDataFromJSFunction to reflect its wider usage.
      - Rename BuildWasmImportCallWrapper -> BuildWasmToJsWrapper to reflect
        this function is now also used by CompileWasmToJSWrapper (unrelated to
        imports).
      - (Drive-by) Remove dead arguments from wasm-module-builder.js.
      
      Bug: v8:9495
      Change-Id: I23468b69d42310cb8e96da5286ce68c701188876
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459371Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70421}
      da3c7318
  21. 05 Oct, 2020 1 commit
  22. 30 Sep, 2020 2 commits
  23. 29 Sep, 2020 1 commit
  24. 28 Sep, 2020 2 commits
  25. 25 Sep, 2020 1 commit
  26. 24 Sep, 2020 1 commit
  27. 23 Sep, 2020 1 commit
  28. 22 Sep, 2020 1 commit
  29. 21 Sep, 2020 1 commit
  30. 18 Sep, 2020 2 commits
    • Manos Koukoutos's avatar
      [wasm-gc] Preparation for typed function tables · a5f68abe
      Manos Koukoutos authored
      Changes:
      - Rename IsSignatureEqual -> MatchesSignature for consistency
      - Add WasmInstanceObject field to WasmTableObject.
      - Improve some error messages related to tables in
        function-body-decoder-impl.h.
      - Introduce WasmTable::IsValidTableType. Use it wherever appropriate.
      - Overload equality operators in HeapType to work with
        HeapType::Representation.
      - Rename DynamicTypeCheckRef -> TypecheckJSObject.
      - Handle WasmCapiFunctions in TypecheckJSObject.
      - Use TypecheckJSObject in WasmTableObject::IsValidElement.
      - A few more minor improvements.
      
      Bug: v8:9495
      Change-Id: I2867dd3486d7c31717ac26b87a50e15cf2b898be
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416491
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70001}
      a5f68abe
    • Tobias Tebbi's avatar
      Reland^5 "[flags] warn about contradictory flags" · 0832a109
      Tobias Tebbi authored
      This is a reland of 2000aea5
      Changes compared to last reland:
      - Add rule in variants.py for --enable_experimental_regexp_engine.
      - Make sure --abort-on-contradictory-flags works as well as --fuzzing
        to disable the checking for fuzzers, including for d8 flags.
      
      Original change's description:
      > Reland^4 "[flags] warn about contradictory flags"
      >
      > This is a reland of 0ba115e6
      > Changes compared to last reland:
      > - Fix Python code trying to write to expected_outcomes, which is now a
      >   computed property.
      > - Fix remaining place in d8.cc that ignored the --fuzzing flag.
      > - Expect flag contradictions for --cache in code_serializer variant.
      >
      > Original change's description:
      > > Reland^3 "[flags] warn about contradictory flags"
      > >
      > > Changes:
      > > - Also allow second parameter influenced by --cache to be reassigned.
      > > - Fix --stress-opt to only --always-opt in the last iteration as before.
      > >
      > > Original change's description:
      > > > Reland^2 "[flags] warn about contradictory flags"
      > > >
      > > > This is a reland of d8f8a7e2
      > > > Change compared to last reland:
      > > > - Do not check for d8 flag contradictions in the presence of --fuzzing
      > > > - Allow identical re-declaration of --cache=*
      > > >
      > > > Original change's description:
      > > > > Reland "[flags] warn about contradictory flags"
      > > > >
      > > > > This is a reland of b8f91666
      > > > > Difference to previous CL: Additional functionality to specify
      > > > > incompatible flags based on GN variables and extra-flags, used
      > > > > to fix the issues that came up on the waterfall.
      > > > >
      > > > > This also changes the rules regarding repeated flags: While
      > > > > explicitly repeated flags are allowed for boolean values as long
      > > > > as they are identical, repeated flags or explicit flags in the
      > > > > presence of an active implication are disallowed for non-boolean
      > > > > flags. The latter simplifies specifying conflict rules in
      > > > > variants.py. Otherwise a rule like
      > > > >
      > > > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = {
      > > > >   "--gc-interval=*": ["--gc-interval=*"],
      > > > > }
      > > > >
      > > > > wouldn't work because specifying the same GC interval twice
      > > > > wouldn't actually count as a conflict. This was an issue with
      > > > > test/mjsunit/wasm/gc-buffer.js, which specifies
      > > > > --gc-interval=500 exactly like the extra flag by the stress bot.
      > > > >
      > > > > Also, this now expands contradictory flags checking to d8 flags
      > > > > for consistency.
      > > > >
      > > > > Original change's description:
      > > > > > [flags] warn about contradictory flags
      > > > > >
      > > > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/
      > > > > >
      > > > > > Bug: v8:10577
      > > > > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab
      > > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792
      > > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > > > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > > > > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > > > > Cr-Commit-Position: refs/heads/master@{#68168}
      > > > >
      > > > > Bug: v8:10577
      > > > > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341
      > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115
      > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > > > Cr-Commit-Position: refs/heads/master@{#68989}
      > > >
      > > > Bug: v8:10577
      > > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464
      > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#69339}
      > >
      > > Bug: v8:10577
      > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
      > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
      > > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770
      > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#69433}
      >
      > Change-Id: Ib6d2aeb495210f581ac671221c265df58e8e5e70
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398640
      > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69954}
      
      Bug: v8:10577
      TBR: clemensb@chromium.org, tmrts@chromium.org
      Change-Id: Iab2d32cdcc2648934fc52255ccf3ae3ec9ca4d9b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416386Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70000}
      0832a109