- 07 Jul, 2022 1 commit
-
-
Manos Koukoutos authored
Mostly src/codegen, src/compiler, src/snapshot, src/utils. Bug: v8:13006 Change-Id: I2fb31acc749a7376e6f2a7424ed2e67ff479d971 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3749178 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#81575}
-
- 06 Jul, 2022 2 commits
-
-
Clemens Backes authored
The streaming decoder did not properly check the ordering of sections relative to the code section. This CL fixes that for both empty and non-empty code sections. The special path for empty code sections is not actually needed, so remove it to simplify code paths. Drive-by: 1. Refactor the existing code for checking section ordering to make it more structured and readable. 2. Ensure that we either call {DecodeCodeSection} or {StartCodeSection}, but not both. 3. Remove {set_code_section}, merge it into {StartCodeSection}. 4. Simplify calls to {CalculateGlobalOffsets} (make them unconditional and remove one redundant one). R=ahaas@chromium.org Bug: chromium:1336380 Change-Id: Ia2c5c115d43d2b5315e3b3c9e4a21175a36aa326 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3747860Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#81554}
-
Jakob Kummerow authored
Speculative fix as I can't repro the failures locally. Change-Id: I0a06ee02435e5131c44c7b4bef142cb4385d3243 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3747861 Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#81549}
-
- 05 Jul, 2022 3 commits
-
-
Andy Wingo authored
To make an array from a string, we were passing an interior pointer to the array's contents to NewStringFromUtf8 -- but the allocation could cause that interior pointer to become invalid. As part of the fix, also start to refactor to put the notion of UTF-8 variants closer to unibrow. This will allow us to unify more UTF-8/WTF-8/sloppy UTF-8 code paths. Bug: v8:12868, v8:13028, v8:13036 Change-Id: I61f53a6882b5ebe1d0b38594412cb35ff0e28a94 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3742701 Commit-Queue: Andy Wingo <wingo@igalia.com> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#81536}
-
Jakob Kummerow authored
Fixed: chromium:1341180 Change-Id: Ib475310b18c31e5e3e0fc5e52dab736ebb6ac55a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738745Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#81527}
-
Jakob Kummerow authored
Initial feature: list functions in a module, as follows: $ gm x64.release wami $ out/x64.release/wami --list-functions my_module.wasm More to come. Change-Id: I9580437d51153e1b5ccc291fdb6a6a67315be07d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3742700 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#81515}
-
- 01 Jul, 2022 1 commit
-
-
Jakob Kummerow authored
Ctrl+X, Ctrl+V. No change in behavior. This is a preparational step for templatizing the module decoder for disassembler purposes. Bug: v8:12917 Change-Id: I08a5d2e666cd16a207e9862b2691446c0473ddb0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738221 Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#81489}
-
- 30 Jun, 2022 2 commits
-
-
Jakob Kummerow authored
This is a performance improvement; no change in functional behavior is intended. AdaptiveMap is an abstraction over a std::map or a std::vector: after being initialized iteratively with a set of entries, it can switch to dense vector-based storage if that would be more efficient. The motivation is that we expect most name sections, if they are present at all, to give fairly complete information, so the dense mode will likely be the typical case. However, it's easy enough to support sparse mode as well, and parsing the name section into a std::map at first is particularly convenient for cases where we can't guess the expected number of entries, such as for function locals. Change-Id: Ia17f27576a3061eb05c912f7081411d6f38137e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726150Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#81474}
-
Manos Koukoutos authored
Change-Id: I6e84533581917afe90796265c563868fa1ab4448 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3734810 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#81464}
-
- 29 Jun, 2022 1 commit
-
-
Jakob Kummerow authored
NamesProvider class: This consolidates logic used so far for the debugger interface. It also adds support for the "extended name section" proposal: https://github.com/WebAssembly/extended-name-section StringBuilder class: Like std::ostringstream, but 4x faster for this use case. This lays the groundwork for an updated Wasm disassembler. Bug: v8:12917 Change-Id: I98aa258147834bc0e314ba98c5927b4cd6070b8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3720714Reviewed-by:
Philip Pfaffe <pfaffe@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#81446}
-
- 27 Jun, 2022 1 commit
-
-
Manos Koukoutos authored
Change-Id: I6f2e5fa04eba1b3c97212be945b776ebc2be5915 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726210Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#81399}
-
- 16 Jun, 2022 1 commit
-
-
Manos Koukoutos authored
Changes: - Rename InitExpression -> ConstantExpression in places which reference the ConstantExpression type. - Move ConstantExpression to its own file, along with ValueOrError and EvaluateConstantExpression. Change-Id: Ife572d783531216b6ea3d2626e4fbf4048463253 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3702798Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#81204}
-
- 10 Jun, 2022 1 commit
-
-
Clemens Backes authored
Add a missing check to reject illegal sections. The test is added in three forms, to give fuzzers more food: A fuzzer regression test for the streaming fuzzer, a unit test for the streaming decoder, and an mjsunit test for streaming compilation. Drive-by: Remove a redundant line in the synchronous decoder (this is already handled by the following statement. R=ahaas@chromium.org Bug: chromium:1335023 Change-Id: Ic8c3b301f1b58981c7d68eafcffc89531ed2c64c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3698549Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#81071}
-
- 08 Jun, 2022 1 commit
-
-
Andy Wingo authored
No functional change. Bug: v8:12868 Change-Id: I5f09861e2b5beb400dcc1656f80230404cf544b4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3693704Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Andy Wingo <wingo@igalia.com> Cr-Commit-Position: refs/heads/main@{#80996}
-
- 07 Jun, 2022 1 commit
-
-
Manos Koukoutos authored
Most notable: - Suggest '--experimental-wasm-gc' for wasm-gc type definitions. - Remove unused/useless fields from WasmTypeInfo. - Put more wasm Turbofan optimizations behind '--wasm-opt'. Change-Id: Ia298a58c2cf03964472a1445460d12ae72a5b04d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3688404Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#80973}
-
- 20 May, 2022 1 commit
-
-
Andy Wingo authored
Bug: v8:12868 Also adds wtf8.cc, wtf8.h to src/wasm, to implement WTF-8 validation and possibly other utilities. Also fixes a bug when parsing the string literals section; I had misunderstood the way the unordered/ordered sections mechanism worked. Change-Id: I3c4205e0872379a69575f84ba33e0090a9d8d656 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3652789 Commit-Queue: Andy Wingo <wingo@igalia.com> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#80674}
-
- 13 May, 2022 2 commits
-
-
Andy Wingo authored
Bug: v8:12868 Change-Id: I69e149aa607ee77dd00267a0bbe4e5828dceb75e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3647350Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Andy Wingo <wingo@igalia.com> Cr-Commit-Position: refs/heads/main@{#80526}
-
Clemens Backes authored
Now that we require C++17 support, we can just use the standard static_assert without message, instead of our STATIC_ASSERT macro. R=leszeks@chromium.org Bug: v8:12425 Change-Id: I1d4e39c310b533bcd3a4af33d027827e6c083afe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3647353Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80524}
-
- 08 Apr, 2022 2 commits
-
-
Thibaud Michaud authored
Rename element_size_bytes() to value_kind_size(), and add the uncompressed version: value_kind_full_size(). R=clemensb@chromium.org Change-Id: I956142937fd1134ecbdaaa617c402ed8fff2cf17 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568477Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#79884}
-
Manos Koukoutos authored
We need this because read_heap_type uses the type vector capacity as out-of-bounds limit. Bug: chromium:1314496, v8:7748 Change-Id: Id76c8a143c32b20b24356f361d554cb212576c09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3578654Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79882}
-
- 31 Mar, 2022 1 commit
-
-
Manos Koukoutos authored
This is a reland of commit e76ad5c6 Changes compared to original: - Move invocation of LAZY_INSTANCE_INITIALIZER to a static global variable, as some builds were failing with a function-level static. - Drive-by: Improve documentation a bit. Original change's description: > [wasm-gc] Implement isorecursive canonicalization > > This implements isorecursive canonicalization for static types. > > Not implemented in this CL: > - Runtime type canonicalization. > - Cross-module signature canonicalization for purposes of call_indirect. > > Bug: v8:7748 > Change-Id: I6214f947444eea8d7b15a29b35c94c3d07ddb525 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541925 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79665} Bug: v8:7748 Change-Id: I493fba1906491762f7d8bae50108e3e4a743391d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3560480Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79692}
-
- 30 Mar, 2022 2 commits
-
-
Nico Hartmann authored
This reverts commit e76ad5c6. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20shared/19438/overview Original change's description: > [wasm-gc] Implement isorecursive canonicalization > > This implements isorecursive canonicalization for static types. > > Not implemented in this CL: > - Runtime type canonicalization. > - Cross-module signature canonicalization for purposes of call_indirect. > > Bug: v8:7748 > Change-Id: I6214f947444eea8d7b15a29b35c94c3d07ddb525 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541925 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79665} Bug: v8:7748 Change-Id: I9e26696a7113b1bacafa800c8d6ef24df38c41fd No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557233 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#79667}
-
Manos Koukoutos authored
This implements isorecursive canonicalization for static types. Not implemented in this CL: - Runtime type canonicalization. - Cross-module signature canonicalization for purposes of call_indirect. Bug: v8:7748 Change-Id: I6214f947444eea8d7b15a29b35c94c3d07ddb525 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541925Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79665}
-
- 24 Mar, 2022 1 commit
-
-
Clemens Backes authored
Before productionizing this, we probably want to just ignore the whole section if it contains invalid data, but for now failing with a decode error is more consistent with existing checks. R=ecmziegler@chromium.org Bug: v8:12537 Change-Id: I7fc5933573a4d6eddd039bf51361c5bee5c5170d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3545177Reviewed-by:
Emanuel Ziegler <ecmziegler@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79593}
-
- 01 Mar, 2022 1 commit
-
-
Manos Koukoutos authored
According to the latest changes in wasm-gc, externref will be renamed to anyref, and will be assigned as the top of the reference type hierarchy. Since in the current wasm type system funcref is not a subtype of anyref, subtyping is now dependent on whether wasm-gc is enabled. Bug: v8:7748 Change-Id: I0c0ae3dd5523e624d4490ca33d1fba4c2ae59393 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3468345Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79322}
-
- 25 Feb, 2022 1 commit
-
-
Yuri Iozzelli authored
The main change is the section name, which is now 'metadata.code.branch_hint'. The binary format has also a couple of minor changes. Semantics remain unchanged. Change-Id: I056c9f672ae494979e8ea55266fa766139b71d38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3487788Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#79292}
-
- 31 Jan, 2022 1 commit
-
-
Manos Koukoutos authored
For backwards compatibility, we do not impose this restriction on nominal modules. Bug: v8:7748 Change-Id: I42c4dc824fc9824280527522b05fa3bf68c8929b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3422638Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78868}
-
- 27 Jan, 2022 2 commits
-
-
Manos Koukoutos authored
This CL replaces the equirecursive type system for wasm-gc with the isorecursive hybrid type system presented here: https://github.com/WebAssembly/gc/issues/257. In broad strokes, this includes the following changes: - In the module decoder, remove equirecursive types. Implement recursive type groups, subtype definitions, and function/struct/array definitions. Treat nominal modules as syntactic sugar of an isorecursive module, where all types belong in the same recursive group. - Remove rtt.sub and all related infrastructure. - Change subtyping to work with explicit supertypes only. - Add ValidSubtypeDefinition in subtyping, to check that subtype declarations are valid during decoding. - Remove the subtyping cache. - Add support for functions to have specific signature index in WasmModuleBuilder and in test-gc.cc. - Adapt tests. Current restrictions: - Recursive groups are not stored beyond decoding. - Type canonicalization is not implemented. No tests relying on types being considered identical post-canonicalization. - No cross-module subtyping is possible. Tests relying on cross-module subtyping have been commented out. Bug: v8:7748 Change-Id: I69fd04ecc5611f6230c95d5c89d1c520163fffae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3416239Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78816}
-
Manos Koukoutos authored
Changes: - Introduce {TypeDefinition} for wasm modules. - Introduce an enum {TypeDefinition::Kind} to represent the three different definition types. - Collapse the {types}, {type_kinds} and {supertypes} vectors into a single vector of {TypeDefinition}s. - Use {TypeDefinition} in WasmModuleBuilder. - Drive-by: Remove {kNullIndex} in WasmModuleBuilder. - Drive-by: Tidy-up wasm-module.h. Change-Id: I97c2c268bcad745176243c693cf169bfa5714f94 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3416233Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78813}
-
- 24 Jan, 2022 1 commit
-
-
Manos Koukoutos authored
Changes: - Rename kWasmTrapDataSegmentDropped to the more accurate ~OutOfBounds. - Drop unused argument from {WasmCompiler::ArrayInit}. - Rename {Factory::NewWasmArray} -> NewWasmArrayFromElements. - Add error handling to {InitExprInterface}. - Allow the data count section to appear anywhere in the module under --experimental-wasm-gc. Add the same capability in wasm-module-builder.js. - Add {WasmArray::MaxLength(uint32_t element_size_log2)}. - Add kTrapArrayTooLarge in wasm-module-builder.js. - Small test improvements in gc-nominal.js. Bug: v8:7748 Change-Id: I68ca0e8b08f906503f0d82e5866395018d216382 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401593Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78730}
-
- 19 Jan, 2022 1 commit
-
-
Manos Koukoutos authored
This is a reland of f1c2a208 Changes compared to original: Revert test change which used simd and caused problems in multiple test configurations. Original change's description: > [wasm] Various small cleanups/fixes > > Changes: > - Fix a bug in objects-printer where array elements were not treated as > tagged pointers. > - Fix a few TODOs, mainly in the wasm interpreter. > - Improve documentation, small refactorings. > > Change-Id: I1d70ad454b3a0693b9b784b17395434d81d01b61 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3383136 > Reviewed-by: Nikolaos Papaspyrou <nikolaos@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78656} Change-Id: I91f4fed5fbc91acb8b42413a6f40a8202bd43096 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3398111Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78677}
-
- 18 Jan, 2022 1 commit
-
-
Maya Lekova authored
This reverts commit f1c2a208. Reason for revert: Breaks some tests on no-sse configuration, please see https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux/45243/overview Original change's description: > [wasm] Various small cleanups/fixes > > Changes: > - Fix a bug in objects-printer where array elements were not treated as > tagged pointers. > - Fix a few TODOs, mainly in the wasm interpreter. > - Improve documentation, small refactorings. > > Change-Id: I1d70ad454b3a0693b9b784b17395434d81d01b61 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3383136 > Reviewed-by: Nikolaos Papaspyrou <nikolaos@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78656} Change-Id: Ic698177259bb14b4c251a4212c79cc0d945b07f8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3398109 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Maya Lekova <mslekova@chromium.org> Owners-Override: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#78657}
-
- 17 Jan, 2022 1 commit
-
-
Manos Koukoutos authored
Changes: - Fix a bug in objects-printer where array elements were not treated as tagged pointers. - Fix a few TODOs, mainly in the wasm interpreter. - Improve documentation, small refactorings. Change-Id: I1d70ad454b3a0693b9b784b17395434d81d01b61 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3383136Reviewed-by:
Nikolaos Papaspyrou <nikolaos@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78656}
-
- 12 Jan, 2022 1 commit
-
-
Manos Koukoutos authored
We introduce {ConstantExpression}, which represents the most frequent constant expression types directly, and falls back to a {WireBytesRef} for the rest. During module decoding, we decode the most common expressions separately and store them as {ConstantExpression}, so we do not have to decode them again during module instantiation. Bug: chromium:1284557 Change-Id: Ie411bbe9811d0d9f6e750ba202bb0ccff801dfee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3378347Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78576}
-
- 10 Jan, 2022 1 commit
-
-
Manos Koukoutos authored
This is a reland of be6bd4f4. The reason for revert was two bots timing out. On further inspection, the timeouts seem unrelated. Original change's description: > [wasm] Fast paths in EvaluateInitExpression > > We add fast paths for the most common types of expressions in > {EvaluateInitExpression} to improve instantiation time. We fall back to > full expression decoding for less common operators, or for expressions > with operands. > > Bug: chromium:1284557 > Change-Id: I39a1816176974058b801cdad6eaaa6da156cea04 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3367627 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78497} Bug: chromium:1284557 Change-Id: I209458c1fa36ae41899434b90759ebe3fe5e2a57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3375545Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78529}
-
- 05 Jan, 2022 2 commits
-
-
Shu-yu Guo authored
This reverts commit be6bd4f4. Reason for revert: Consistent timeouts on Linux and Mac, e.g. https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20debug/37973/overview https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64%20-%20debug/37346/overview Original change's description: > [wasm] Fast paths in EvaluateInitExpression > > We add fast paths for the most common types of expressions in > {EvaluateInitExpression} to improve instantiation time. We fall back to > full expression decoding for less common operators, or for expressions > with operands. > > Bug: chromium:1284557 > Change-Id: I39a1816176974058b801cdad6eaaa6da156cea04 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3367627 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78497} Bug: chromium:1284557 Change-Id: If09468eb1e790d4359573ddff8b653fe84b0e11e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3368602 Auto-Submit: Shu-yu Guo <syg@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shu-yu Guo <syg@chromium.org> Owners-Override: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#78502}
-
Manos Koukoutos authored
We add fast paths for the most common types of expressions in {EvaluateInitExpression} to improve instantiation time. We fall back to full expression decoding for less common operators, or for expressions with operands. Bug: chromium:1284557 Change-Id: I39a1816176974058b801cdad6eaaa6da156cea04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3367627Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78497}
-
- 04 Jan, 2022 2 commits
-
-
Manos Koukoutos authored
We unify the implementation of element segment expression entries with other initializer expressions: we represent them with a {WireBytesRef} and decode them with {InitExprInterface}. Except for reducing code duplication, this also fixes a bug where {global.get} entries in element segments could reference invalid globals. Changes: - Change {WasmElemSegment::Entry} to a union of a {WireBytesRef} initializer expression and a {uint32_t} function index. - In module-decoder, change parsing of expression entries to use {consume_init_expr}. Add type checking to {consume_element_func_index}, to complement type checking happening in {consume_init_expr}. - In module-instantiate.cc: - Move instantiation of indirect tables before loading of element segments. This way, when we call {UpdateDispatchTables} in {SetTableEntry}, the indirect table for the current table will also be updated. - Consolidate table entry instantiation into {SetTableEntry}, which handles lazily instantiated functions, or dispatches to {WasmTableObject::Set}. - Rename {InitializeIndirectFunctionTables} to {InitializeNonDefaultableTables}. - Change {InitializeNonDefaultableTables} and {LoadElemSegmentImpl} to use {EvaluateInitExpression}. - Add a test to exclude mutable/non-imported globals from the element section. - Update tests as needed. - Update .js module emission in wasm-fuzzer-common. Change-Id: I29c541bbca8531e8d0312ed95869c8e78a5a0c57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3364082Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78476}
-
Manos Koukoutos authored
See related CL for context. Changes: - In InitExprInterface, add the ability to evaluate function references as index only. Remove the global buffers and use the ones passed with the instance object instead. - In WasmElemSegment, add a field indicating if elements should be parsed as expressions or indices. Change module-decoder.cc to reflect this change. - In module-instantiate, change the signatures of LoadElemSegment, LoadElemSegmentImpl, and EvaluateInitExpr. Move the latter out of InstanceBuilder. Change-Id: I1df54393b2005fba49380654bdd40429bd4869dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3364081Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78470}
-
- 13 Dec, 2021 1 commit
-
-
Manos Koukoutos authored
Since the reftypes proposal has shipped, we remove the respective flag and the code that handled its absence. We maintain a WasmFeature for reftypes for feature detection purposes. We remove the flag declaration from tests, and adapt some tests that make no sense without the flag. Bug: v8:7581 Change-Id: Icf2f8d0feae8f30ec68d5560f1e7ee5959481483 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3329781Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78351}
-