1. 21 May, 2019 1 commit
  2. 20 May, 2019 1 commit
  3. 17 May, 2019 2 commits
  4. 15 May, 2019 1 commit
  5. 13 May, 2019 1 commit
  6. 07 May, 2019 1 commit
  7. 03 May, 2019 1 commit
  8. 18 Apr, 2019 1 commit
  9. 09 Apr, 2019 1 commit
  10. 08 Apr, 2019 1 commit
    • Michael Starzinger's avatar
      [wasm] Support reference types on interpreter entry. · 0bed5887
      Michael Starzinger authored
      This adds preliminary support for references types as argument or return
      values to functions that are redirected to the interpreter. The current
      interpreter entry stub remains unchanged, using one buffer area that is
      hidden from the GC. The corresponding {Runtime_WasmRunInterpreter} now
      correctly boxes/un-boxes reference types into handles. This switch to a
      handlified representation happens before any method that potentially
      triggers a GC is called.
      
      R=clemensh@chromium.org
      TEST=mjsunit/wasm/exceptions-anyref-interpreter
      BUG=v8:8091,v8:7581
      
      Change-Id: I41c766ed5ac877042d5964e72f3fd7df390c4e98
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1557147
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60684}
      0bed5887
  11. 21 Mar, 2019 1 commit
    • Andreas Haas's avatar
      Reland: [wasm][anyref] Add support of call-indirect for multiple tables · 2d9ec0a4
      Andreas Haas authored
      The reason for the revert was that Liftoff did not bail out on indirect
      calls to tables other than table 0. Whenever the Liftoff code got
      executed, the test would fail.
      
      Original message:
      With this CL it is possible to use any anyfunc table in call-indirect,
      not just the first table.
      
      The current implementation is based on runtime calls. This is just an
      initial implementation which should be replaced by a
      dispatch-table-based eventually. However, this implementation allows
      us to move forward with the anyref proposal implementation.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:7581
      Change-Id: Iedd56ee7acb281441bca32ffd3dc7157203ee1ac
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532072
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Auto-Submit: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60382}
      2d9ec0a4
  12. 20 Mar, 2019 2 commits
  13. 18 Mar, 2019 1 commit
  14. 11 Mar, 2019 1 commit
    • Clemens Hammacher's avatar
      [wasm] Call via jump table after lazy compile · 67770d61
      Clemens Hammacher authored
      The WasmCompileLazy runtime function used to return the start of the
      instructions of the newly compiled function. With garbage collection of
      wasm code, it would be tricky to keep this wasm code object alive until
      it is being called. Thus make the runtime function not return anything,
      and call via the jump table instead. The jump table was patched as part
      of lazy compilation to point to the compiled code.
      
      Drive-by: Merge {LazyCompileFunction} into single caller {CompileLazy}.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:8217
      Change-Id: Id3c02f4dfe2c536e335af2e7e1b9700203d48675
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1509472
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60163}
      67770d61
  15. 09 Mar, 2019 1 commit
  16. 22 Feb, 2019 1 commit
  17. 31 Jan, 2019 1 commit
  18. 25 Jan, 2019 1 commit
    • Mythri's avatar
      Defer inferring language mode as far as possible · 592aeefa
      Mythri authored
      Inferring the language mode involves iterating the stack to find the
      closure. This is an expensive operation and should be done only when
      required. This cl changes the implementation to infer the language
      mode only when we can't defer it any further. Currently, we infer the
      language mode when throwing an exception or when passing this
      information to PropertyCallbackArguments.
      
      This cl also changes the language mode parameter to SetProperty
      related methods to Maybe<ShouldThrow>. We only use the language mode to
      decide if we need to throw and using ShouldThrow instead of language
      mode simplifies the code by avoiding conversions from Maybe<ShouldThrow>
      to Maybe<LanguageMode> and vice-versa.
      
      Bug: v8:8580, chromium:923820, chromium:925289
      Change-Id: I72497497f62fe0d86fcecd57b06b3183b7531f7b
      Reviewed-on: https://chromium-review.googlesource.com/c/1425912
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59094}
      592aeefa
  19. 24 Jan, 2019 1 commit
    • Mythri's avatar
      Reland "Change SetProperty/SetSuperProperty to infer language mode when possible" · e2846ea6
      Mythri authored
      This is a reland of 0896599f with a fix for
      failing layout test.
      
      Original change's description:
      > Change SetProperty/SetSuperProperty to infer language mode when possible
      >
      > In most cases, the language mode can be inferred from the closure and
      > the context. Computing the language mode instead of passing it around
      > simplifies the ICs and will make it possible to go towards lazily
      > allocating feedback vectors. Currently ICs obtain the language mode from
      > the feedback vectors and with lazy feedback allocation we may not always
      > have feedback vectors. Since computing language mode is a bit expensive
      > we want to defer it as far as possible.
      >
      > In Array builtins and other builtins like Reflect.Set we need to force a
      > language mode when setting the properties. To support these cases the
      > SetProperty methods allow the language mode to be overridden when needed.
      >
      > This is a first cl in a series of cls, that will defer the language mode
      > computation further and remove language mode where it is not needed.
      >
      > BUG: v8:8580
      > Change-Id: I9c2396e3bcfe77c3c9d6760c46d86954d54744b9
      > Reviewed-on: https://chromium-review.googlesource.com/c/1409426
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Commit-Queue: Mythri Alle <mythria@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58893}
      
      TBR: ahaas@chromium.org
      Change-Id: Id5d81eae91b55638dbc72168f0e5203e684869fb
      Reviewed-on: https://chromium-review.googlesource.com/c/1421077
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59075}
      e2846ea6
  20. 23 Jan, 2019 2 commits
    • Ben L. Titzer's avatar
      [wasm] Implement table.init bytecode · 61ea7c48
      Ben L. Titzer authored
      The table.init bytecode copies a range of elements from an element
      segment into a table, trapping if the segment is not passive, is
      dropped, or would cause out-of-bounds accesses.
      
      R=mstarzinger@chromium.org
      CC=binji@chromium.org
      BUG=v8:7747
      
      Change-Id: Ib27af9cca45a464fd1f876ddd092e99941481896
      Reviewed-on: https://chromium-review.googlesource.com/c/1430063
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59037}
      61ea7c48
    • Michael Starzinger's avatar
      [wasm] Implement interpreter support for "throw". · 87773260
      Michael Starzinger authored
      This implements support for the "throw" operation in the interpreter.
      Note that support for catching/handling exceptions is still missing
      from the interpreter in will be done separately.
      
      This also introduces a {WasmExceptionPackage} class to the object model
      that acts as an interface for allocating and accessing exceptions that
      originate from WebAssembly. It does not represent a new instance type
      however as exceptions are instances of {WebAssembly.RuntimeError} for
      now.
      
      R=clemensh@chromium.org
      TEST=mjsunit/wasm/exceptions
      BUG=v8:8091
      
      Change-Id: I1f0cb548efb798e3c1488d42e4a31421c3c1aada
      Reviewed-on: https://chromium-review.googlesource.com/c/1430099Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59033}
      87773260
  21. 18 Jan, 2019 1 commit
    • Maya Lekova's avatar
      Revert "Change SetProperty/SetSuperProperty to infer language mode when possible" · 697885b9
      Maya Lekova authored
      This reverts commit 0896599f.
      
      Reason for revert: Speculative revert, seems to cause a layout test failure blocking the LKGR - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/29320
      
      Original change's description:
      > Change SetProperty/SetSuperProperty to infer language mode when possible
      > 
      > In most cases, the language mode can be inferred from the closure and
      > the context. Computing the language mode instead of passing it around
      > simplifies the ICs and will make it possible to go towards lazily
      > allocating feedback vectors. Currently ICs obtain the language mode from
      > the feedback vectors and with lazy feedback allocation we may not always
      > have feedback vectors. Since computing language mode is a bit expensive
      > we want to defer it as far as possible.
      > 
      > In Array builtins and other builtins like Reflect.Set we need to force a
      > language mode when setting the properties. To support these cases the
      > SetProperty methods allow the language mode to be overridden when needed.
      > 
      > This is a first cl in a series of cls, that will defer the language mode
      > computation further and remove language mode where it is not needed.
      > 
      > BUG: v8:8580
      > Change-Id: I9c2396e3bcfe77c3c9d6760c46d86954d54744b9
      > Reviewed-on: https://chromium-review.googlesource.com/c/1409426
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Commit-Queue: Mythri Alle <mythria@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58893}
      
      TBR=mlippautz@chromium.org,mythria@chromium.org,jgruber@chromium.org,verwaest@chromium.org
      
      Change-Id: I2e0f80a4577a8ca86c05a62205f9dfa488418a52
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/1420758Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58911}
      697885b9
  22. 17 Jan, 2019 2 commits
    • Mythri's avatar
      Change SetProperty/SetSuperProperty to infer language mode when possible · 0896599f
      Mythri authored
      In most cases, the language mode can be inferred from the closure and
      the context. Computing the language mode instead of passing it around
      simplifies the ICs and will make it possible to go towards lazily
      allocating feedback vectors. Currently ICs obtain the language mode from
      the feedback vectors and with lazy feedback allocation we may not always
      have feedback vectors. Since computing language mode is a bit expensive
      we want to defer it as far as possible.
      
      In Array builtins and other builtins like Reflect.Set we need to force a
      language mode when setting the properties. To support these cases the
      SetProperty methods allow the language mode to be overridden when needed.
      
      This is a first cl in a series of cls, that will defer the language mode
      computation further and remove language mode where it is not needed.
      
      BUG: v8:8580
      Change-Id: I9c2396e3bcfe77c3c9d6760c46d86954d54744b9
      Reviewed-on: https://chromium-review.googlesource.com/c/1409426Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58893}
      0896599f
    • Andreas Haas's avatar
      [wasm] Implement anyfunc parameters · b565cda4
      Andreas Haas authored
      Implementation of anyfunc parameters. Different to anyref parameters we
      have to do a validation in the js-to-wasm wrapper: Only exported wasm
      functions are allowed. I implemented this check in a runtime function.
      
      R=titzer@chromium.org
      
      Bug: v8:7581
      Change-Id: I6145782fb8578124ddc21b50133c82235d666f19
      Reviewed-on: https://chromium-review.googlesource.com/c/1417470Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58885}
      b565cda4
  23. 16 Jan, 2019 1 commit
  24. 14 Jan, 2019 1 commit
    • Ben L. Titzer's avatar
      [wasm] Add runtime call plumbing for Table operations. · 6d3d8f7b
      Ben L. Titzer authored
      This CL adds two new runtime calls for table operations:
        - Runtime_WasmTableInit
        - Runtime_WasmTableCopy
      
      These runtime calls (will) implement the semantics for the corresponding
      bytecodes from the bulk memory proposal. The actual implementation
      of these runtime calls will be done in further CLs.
      
      The third table operation, table.drop, will be implemented with inline
      code, similar to memory.drop. This is also be done in a further CL.
      
      R=mstarzinger@chromium.org
      CC=​binji@chromium.org
      BUG=v8:7747
      
      Change-Id: I498aa054329baf9f72ae55d245b12c3ccd4157b7
      Reviewed-on: https://chromium-review.googlesource.com/c/1408994
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58786}
      6d3d8f7b
  25. 26 Dec, 2018 1 commit
  26. 08 Dec, 2018 1 commit
  27. 30 Nov, 2018 1 commit
  28. 29 Nov, 2018 1 commit
    • Aseem Garg's avatar
      Revert "[wasm] Add I64AtomicWait implementation" · f4775f1c
      Aseem Garg authored
      This reverts commit 9436e8a8.
      
      Reason for revert: Breaks TSAN.
      
      Original change's description:
      > [wasm] Add I64AtomicWait implementation
      > 
      > Bug=v8:8075
      > R=​adamk@chromium.org,binji@chromium.org
      > 
      > Change-Id: I11ef5daccd043123b23e60c93ee0df79cabe9ccd
      > Reviewed-on: https://chromium-review.googlesource.com/c/1342948
      > Reviewed-by: Adam Klein <adamk@chromium.org>
      > Reviewed-by: Ben Smith <binji@chromium.org>
      > Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57917}
      
      TBR=binji@chromium.org,adamk@chromium.org,aseemgarg@chromium.org
      
      Change-Id: Ic82ce8794410a0d4d19de07abd9bb8a7aaff1c1c
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/1351303Reviewed-by: 's avatarAseem Garg <aseemgarg@chromium.org>
      Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57919}
      f4775f1c
  29. 28 Nov, 2018 1 commit
  30. 23 Nov, 2018 1 commit
  31. 20 Nov, 2018 1 commit
  32. 19 Nov, 2018 1 commit
  33. 13 Nov, 2018 1 commit
  34. 29 Oct, 2018 1 commit
  35. 22 Oct, 2018 2 commits