1. 17 Aug, 2020 1 commit
  2. 11 Aug, 2020 1 commit
    • Clemens Backes's avatar
      Reland "[wasm] Ensure that only TurboFan code is serialized" · cdd984ef
      Clemens Backes authored
      This is a reland of 60ee70bb.
      The wasm c-api flakes were fixed in https://crrev.com/c/2349293.
      
      Original change's description:
      > [wasm] Ensure that only TurboFan code is serialized
      >
      > We have the implicit assumption that Liftoff code will never be
      > serialized, and we start relying on that when implementing new features
      > (debugging, dynamic tiering).
      >
      > This CL makes the serializer fail if the module contains any Liftoff
      > code. Existing tests are changed to ensure that we fully tiered up
      > before serializing a module (similar to the logic in Chromium).
      > The "wasm-clone-module" test needs to serialize the module before
      > enabling the debugger.
      >
      > Note that chrome currently only serializes a module after it fully
      > tiered up, so that should be fine. If other embedders need the ability
      > to serialize a module in an arbitrary state, we will have to fix this
      > later. With this CL we will be on the safe side though and (gracefully)
      > fail serialization instead of accidentally serializing Liftoff code.
      >
      > R=ahaas@chromium.org
      >
      > Bug: v8:10777
      > Change-Id: I1245e5f7fda3447a544c1e3525e1239cde759174
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336799
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69276}
      
      Bug: v8:10777
      Change-Id: I2a7c1429812ca46d88a2902b8e0a7b7e3d638b56
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349290Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69335}
      cdd984ef
  3. 31 Jul, 2020 1 commit
  4. 30 Jul, 2020 1 commit
  5. 09 Jul, 2020 1 commit
    • Manos Koukoutos's avatar
      [wasm-gc] Refactoring in preparation of generalizing WasmInitExpr · 01e59c4b
      Manos Koukoutos authored
      Motivation: With rtt.sub now allowed in constant expressions, we have
      to generalize WasmInitExpr to be able to handle expressions with
      operands. This CL prepares the ground for this change and adds no
      functionality.
      
      Changes:
      - ValueType::heap_representation and HeapType::representation now
        return HeapType::Representation.
      - Add ValueType::is_rtt().
      - WasmInitExpr:
        - Make kind private. Rename val -> operator, make it private. Add
          accessors.
        - Rename kGlobalIndex -> kGlobalGet.
        - Squash global_index and function_index into index.
        - Add heap_type Immediate. Use it for RefNullConst. TypeOf in
          module-decoder.cc can now fully determine the type of a
          WasmInitExpr.
        - Add class constructors/static method constructors for each Operator
          kind.
        - Delete copy constructor. WasmInitExpr will use std::unique_ptr for
          its operands.
      - consume_init_expr now uses a stack.
      - A few minor improvements.
      
      Bug: v8:7748
      Change-Id: I3ba3ee7ac2d6bc58e887790c37110ceb80658985
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284483
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#68759}
      01e59c4b
  6. 10 Jun, 2020 1 commit
  7. 09 Jun, 2020 1 commit
  8. 03 Jun, 2020 1 commit
  9. 06 May, 2020 1 commit
    • Jakob Gruber's avatar
      [snapshot] Clear reconstructable data prior to d8 stress_snapshot run · 3c422d1c
      Jakob Gruber authored
      The serializer currently cannot handle a heap state containing
      arbitrary compiled Code objects. As a quick fix for the
      --stress-snapshot d8 flag, we clear compiled data from the isolate
      prior to the serialize-deserialize-verify pass.
      
      With this change, mjsunit tests pass on x64.
      
      The %SerializeDeserializeNow() runtime function would require more
      work, since it is not possible to mutate the heap to this extent while
      still preserving a runnable host context and isolate. We will need
      another solution there.
      
      Drive-by: Skip the stress_snapshot variant except for the mjsunit
      suite.
      
      Tbr: machenbach@chromium.org
      Bug: v8:10493,v8:10416
      Change-Id: Ie110da8b51613fcd69c7f391d3cf8589d6b04dd8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182429Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67585}
      3c422d1c
  10. 30 Apr, 2020 1 commit
    • Michael Lippautz's avatar
      heap: Rework forced GCs · fe0c91cb
      Michael Lippautz authored
      Forced GCs can either be invoked internally or communicate the fact that
      they are forced externally via API. Before this CL, all uses were
      passing kGCCallbackFlagForced to indicate that the GC was forced.
      
      This flag is used by embedders though to trigger followup actions. E.g.,
      it can be used to trigger a follow up call to
      GarbageCollectionForTesting() call which requires --expose-gc.
      
      This patch changes the semantics as follows:
      - Internal forced GCs use a Heap GC flag (kForcedGC)
      - External forced GCs and GC extension use kGCCallbackFlagForced
      
      Bug: chromium:1074061
      Change-Id: Ide7ea0ccdf88b8c8cac002289aef5b7eb0f9748c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172747Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67498}
      fe0c91cb
  11. 28 Nov, 2019 1 commit
    • Clemens Backes's avatar
      [wasm] Clean up WASM_CALL_INDIRECT macros · a183b8be
      Clemens Backes authored
      Fix a TODO from Ben to change the macro argument order to match the
      actual order in wasm code.
      After this fix, we can remove the individual {WASM_CALL_INDIRECT[0-5]}
      macros and implement them via a common variadic macro.
      
      Also, rename {WASM_CALL_INDIRECT_TABLE0} to {WASM_CALL_INDIRECT_TABLE}.
      The name was confusing, because this macro explictly allows to set a
      table index different from 0. Thus, just drop the "0" in the name.
      
      The individual test changes were done via a vim macro, to avoid manual
      errors.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:10021
      Change-Id: I9f0f31511c5c6e20a0b07524bf75fe9cf1598eba
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1940265Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65242}
      a183b8be
  12. 26 Nov, 2019 1 commit
  13. 22 Oct, 2019 1 commit
  14. 26 Aug, 2019 1 commit
    • Jakob Kummerow's avatar
      [wasm-c-api] Roll bf31edf: Fix life times of host info · 3aa4f05d
      Jakob Kummerow authored
      Host info used to be stored on the global reference underlying a Ref;
      now it is stored in a JSWeakMap and hence tied to the lifetime of the
      actual object on V8's heap.
      Additionally, the internal metadata needed for C-API functions is now
      stored on the SharedFunctionInfo and no longer overlaps with the host
      info mechanism.
      
      Bonus content:
      Roll 6db391e: Remove a few more leftover uses of _enum types
      
      Change-Id: Ibb1fa4b0dd5157fef15c030bac705a11aa3beaea
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1768368Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63400}
      3aa4f05d
  15. 23 Aug, 2019 1 commit
  16. 21 Aug, 2019 1 commit
  17. 20 Aug, 2019 2 commits
  18. 19 Aug, 2019 1 commit
  19. 09 Aug, 2019 1 commit
  20. 08 Aug, 2019 1 commit
  21. 07 Aug, 2019 1 commit
  22. 12 Jul, 2019 3 commits
  23. 11 Jul, 2019 4 commits
  24. 09 Jul, 2019 1 commit
  25. 08 Jul, 2019 2 commits
  26. 03 Jul, 2019 1 commit
  27. 02 Jul, 2019 1 commit
  28. 27 Jun, 2019 1 commit
  29. 24 Jun, 2019 1 commit
  30. 14 Jun, 2019 1 commit
  31. 28 May, 2019 1 commit