- 18 Apr, 2019 1 commit
-
-
Frederik Gossen authored
Add tests for tiering and lazy compilation with compilation hints. The tests build modules and verify the {WasmCode}'s tier internally. The module builder now supports compilation hints in CCTests. Bug: v8:9003 Change-Id: I18d926c3b1ef3508835a51a9d1d86bfadcb5216e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1566522Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Frederik Gossen <frgossen@google.com> Cr-Commit-Position: refs/heads/master@{#60916}
-
- 18 Mar, 2019 1 commit
-
-
Frederik Gossen authored
Implements decoding of compilation hints section in {ModuleDecoderImpl}. The {wasm-module-builder.js} supports the creation of that section. The feature can be enabled with {--experimental-wasm-compilation-hints}. Bug: v8:9003 Change-Id: Ic87e19d916f2ce316de453ea8c7c48c236a6d673 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521115Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Frederik Gossen <frgossen@google.com> Cr-Commit-Position: refs/heads/master@{#60299}
-
- 26 Feb, 2019 1 commit
-
-
Michael Starzinger authored
This flips the section codes for the exception section (part of the exception handling proposal) and the data-count section (part of the bulk memory proposal). Also see the following discussions for the underlying motivation: https://github.com/WebAssembly/bulk-memory-operations/pull/42 https://github.com/WebAssembly/exception-handling/issues/70 R=binji@chromium.org BUG=v8:8868 Change-Id: I9f5f524e7aec067720346a5bb8d45c7c80a4c7a2 Reviewed-on: https://chromium-review.googlesource.com/c/1478207Reviewed-by:
Ben Smith <binji@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59856}
-
- 29 Nov, 2018 2 commits
-
-
Ben Smith authored
The bulk-memory proposal adds a new DataCount section that declares the number of data segments that are expected to be seen in the Data section. This is similar to the way the number of functions is split between the Function and Code sections. The DataCount section occurs before the Code section, so we can do single-pass validation of the new `memory.init` and `memory.drop` instructions, which have data segment indices as immediates. Bug: v8:7747 Change-Id: Ibc5a7ee9336dbc5d0fd667572c42cb065c048e00 Reviewed-on: https://chromium-review.googlesource.com/c/1352792 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57951}
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:8091 Change-Id: Ib0e0b50d1fe24b0e528a3dd9849829799b33f1bc Reviewed-on: https://chromium-review.googlesource.com/c/1355139Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57945}
-
- 12 Nov, 2018 1 commit
-
-
Ben Smith authored
See the WebAssembly bulk memory proposal here: https://github.com/WebAssembly/bulk-memory-operations This initial CL adds a wasm experimental flag: `--experimental-wasm-bulk-memory`, and also parsing of passive segments. A passive segment is one that is not copied into the table/memory on instantiation, but instead later via the `{table,memory}.init` instructions. The binary format of passive data segments is unlikely to change, but the format for passive element segments may change (see https://github.com/WebAssembly/bulk-memory-operations/pull/39). Bug: v8:7747 Change-Id: I2a7fb9bc7648a722a8c4aab4185c68d3d0843858 Reviewed-on: https://chromium-review.googlesource.com/c/1330015 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#57451}
-
- 22 Oct, 2018 1 commit
-
-
Michael Starzinger authored
This adds an attribute field to the binary encoding of exception types in the exceptions and import section. Currently the attribute value is not used and expected to be zero, but it ensures the binary encoding is extensible for future changes. R=clemensh@chromium.org TEST=unittests/WasmModuleVerifyTest BUG=v8:8153 Change-Id: I6f0e10cb1b6515177d8200ebf1f4f0b122832868 Reviewed-on: https://chromium-review.googlesource.com/c/1291075 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56841}
-
- 21 Sep, 2018 1 commit
-
-
Aseem Garg authored
This CL ignores multiple name sections in wasm modules instead throwing an error. This is in line with the spec with regards to custom sections. BUG=v8:8186 R=clemensh@chromium.org,adamk@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I8c6610afe389d8f8d03f9fca164bd46cb5fb030d Reviewed-on: https://chromium-review.googlesource.com/1232676 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56152}
-
- 17 Sep, 2018 3 commits
-
-
Michael Starzinger authored
This is a reland of a4105a43 Original change's description: > [wasm] Implement handling of exported/imported exceptions. > > This implements the proper semantics for matching exported/imported > exceptions by using the notion of an "exception tag" that is global to > the system. It can be used to match exceptions in one module against > exceptions declared and/or thrown in another module (or instance). > > R=clemensh@chromium.org > TEST=mjsunit/wasm/exceptions-shared > BUG=v8:8091 > > Change-Id: I37586d7be5d5e6169b3418dfbc415b26dd4750dd > Reviewed-on: https://chromium-review.googlesource.com/1226976 > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55940} Bug: v8:8091 Change-Id: Ib85f099b26a8323a8a00299b5aaeb05aaff3c3c6 Reviewed-on: https://chromium-review.googlesource.com/1227975Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55959}
-
Leszek Swirski authored
This reverts commit a4105a43. Reason for revert: GC stress failures (https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Mac64%20GC%20Stress/3097) Original change's description: > [wasm] Implement handling of exported/imported exceptions. > > This implements the proper semantics for matching exported/imported > exceptions by using the notion of an "exception tag" that is global to > the system. It can be used to match exceptions in one module against > exceptions declared and/or thrown in another module (or instance). > > R=clemensh@chromium.org > TEST=mjsunit/wasm/exceptions-shared > BUG=v8:8091 > > Change-Id: I37586d7be5d5e6169b3418dfbc415b26dd4750dd > Reviewed-on: https://chromium-review.googlesource.com/1226976 > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55940} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: I5ef19ea3b67f470f2d7807810110d75415ba9ed6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8091 Reviewed-on: https://chromium-review.googlesource.com/1227933Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#55942}
-
Michael Starzinger authored
This implements the proper semantics for matching exported/imported exceptions by using the notion of an "exception tag" that is global to the system. It can be used to match exceptions in one module against exceptions declared and/or thrown in another module (or instance). R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions-shared BUG=v8:8091 Change-Id: I37586d7be5d5e6169b3418dfbc415b26dd4750dd Reviewed-on: https://chromium-review.googlesource.com/1226976 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55940}
-
- 13 Sep, 2018 1 commit
-
-
Aseem Garg authored
This CL enables source maps support for wasm. Devtools should be able to pick up source_mapping_url parsed here and load the corresponding source maps. R=kozyatinskiy@chromium.org,clemensh@chromium.org,titzer@chromium.org,yangguo@chromium.org BUG=v8:8081 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I1db0ff597d229e7db8d383fe9ee081c7fa4e7648 Reviewed-on: https://chromium-review.googlesource.com/1185973 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#55878}
-
- 06 Sep, 2018 1 commit
-
-
Michael Starzinger authored
This adds the ability to add exception types to the export section of a module and reference them via the local exception index. Currently the export object then just contains the local index as a number, which is only temporary until we have proper export wrappers for exceptions. Also note that this tightens the restriction for the modules exception section to be located in between the import and the export section. R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions-export BUG=v8:8091 Change-Id: Ie26081c3f94e71cb576057db7e45ec5bd0e112f9 Reviewed-on: https://chromium-review.googlesource.com/1206873 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55679}
-
- 04 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
Since https://crrev.com/c/1112003, the memory size is stored as size_t instead of uint32_t in order to support 4GB memories. Loading it as uint32_t only works on little-endian systems, and only for memory sizes <4GB. This CL fixes this to load and process the memory size as pointer-sized value. Additional platform-specific methods are added to perform a shift by a constant value. This can be reused to improve the generated code for other shifts. R=titzer@chromium.org Bug: v8:8130, v8:6600 Change-Id: Ifa688a3ed0e2809190571f24bdf47a7f53880b3d Reviewed-on: https://chromium-review.googlesource.com/1203950 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55609}
-
- 30 Aug, 2018 1 commit
-
-
Michael Starzinger authored
This adds experimental support for an 'except_ref' value type for caught exceptions as per the exception handling proposal. In the current for it is only allowed to have such types in the stack or in a local, support for having it as part of any signature was left out. The default value for a local of type 'except_ref' is the 'ref_null' value for now. Since this value cannot escape a wasm function, the concrete value is not actually observable. R=ahaas@chromium.org TEST=unittests/LocalDeclDecoderTest.ExceptRef,mjsunit/wasm/exceptions BUG=v8:8091 Change-Id: I7bd65274327a833262f8749cbe0e24e737f6e0c1 Reviewed-on: https://chromium-review.googlesource.com/1196510Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55526}
-
- 24 Jul, 2018 2 commits
-
-
Clemens Hammacher authored
R=titzer@chromium.org Bug: v8:7965 Change-Id: I5e44e8a4dd522703e7a20e32abae1f66ba44451e Reviewed-on: https://chromium-review.googlesource.com/1148566Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54661}
-
Ben L. Titzer authored
This is a preparatory CL that refactors the WASM memory allocation path, the WasmGraphBuilder, and several points of contact for ArrayBuffers to allow them to eventually be up to 4GiB. 1.) Refactor definition of constants to prepare for memories of size 2^32 2.) Refactor WasmInstanceObject fields memory_size and memory_mask to be stored as uintptr_t 3.) Refactor WasmGraphBuilder to use 64-bit comparisons for bounds checks 4.) Refactor JSArrayBuffer accessor methods to use size_t properly. 5.) Add empirical maximum memory and array buffer size tests R=mstarzinger@chromium.org BUG=v8:7881 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I78a49069cfa89757cc93f0a30b1c1a99c4b2edba Reviewed-on: https://chromium-review.googlesource.com/1112003 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54646}
-
- 10 Jul, 2018 1 commit
-
-
Andreas Haas authored
Allow the decoding of multiple tables, and allow these tables to have any reference type. In addition, rename function-tables (in different occurrences) to tables. R=titzer@chromium.org Bug: v8:7581 Change-Id: I191ea8e303b76563f9d91ae7447b373c4760d8b8 Reviewed-on: https://chromium-review.googlesource.com/1019581 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54355}
-
- 09 Jul, 2018 1 commit
-
-
Andreas Haas authored
With this CL we now also support the decoding of the AnyFunc type. I will add the type more deeply in subsequent CLs. R=titzer@chromium.org Bug: v8:7581 Change-Id: I9f30706a442462f915adfd8f720eb65168b80bb8 Reviewed-on: https://chromium-review.googlesource.com/1014111 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54318}
-
- 22 Mar, 2018 1 commit
-
-
Andreas Haas authored
R=titzer@chromium.org Bug: v8:7581 Change-Id: I51c585aafa71cbc20565974929cba8327d7f8427 Reviewed-on: https://chromium-review.googlesource.com/973305 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52133}
-
- 02 Feb, 2018 1 commit
-
-
jgruber authored
This check verifies that all .h files in the src/ directory have an include guard of the form #ifndef V8_PATH_TO_FILE_H_ #define V8_PATH_TO_FILE_H_ // ... #endif // V8_PATH_TO_FILE_H_ The check can be skipped with a magic comment: // PRESUBMIT_INTENTIONALLY_MISSING_INCLUDE_GUARD Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I0a7b96abec289ad60f64ba8418f1892a6969596d Reviewed-on: https://chromium-review.googlesource.com/897487Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51079}
-
- 11 Jan, 2018 1 commit
-
-
Ben L. Titzer authored
This CL centralizes constants related to decoding from several places into one place and makes it no longer necessary to include wasm-opcodes.h for some simple constants. R=clemensh@chromium.org Bug: Change-Id: I53aa81e34167df467bc7455b717bf67083033943 Reviewed-on: https://chromium-review.googlesource.com/859764 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50503}
-