- 18 Feb, 2022 2 commits
-
-
Samuel Groß authored
Previously, V8_OS_MACOSX was, somewhat confusingly, also used for iOS. With this CL, V8_OS_DARWIN will be set on both macOS and iOS, V8_OS_MACOS only on macOS, and V8_OS_IOS only on iOS. This CL also renames V8_TARGET_OS_MACOSX to V8_TARGET_OS_MACOS and renames platform-xnu.cc to platform-darwin.cc. Change-Id: I4bcafc7c337586662114144f6c7ccf47d978da1f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3468577Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79167}
-
Benedikt Meurer authored
When a terminate_exception is raised while executing one of the promise related jobs on the microtask queue, we don't clean up properly, leaving the async stack in the inspector in an inconsistent state, not cleaning up the promise stack on the Isolate, and also not resetting the global current_microtask slot. This CL adds appropriate logic to perform the correct cleanup. Fixed: chromium:1297964 Change-Id: I4ec64405d4c66bfe1f0115e7039866447fb10f02 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3471815 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/main@{#79162}
-
- 15 Feb, 2022 2 commits
-
-
Clemens Backes authored
Data segments were missing in the output of --wasm-fuzzer-gen-test. R=manoskouk@chromium.org Bug: v8:11863 Change-Id: I40e60ef8626125ca9df6bead688607215d9e5b58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3461932Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79106}
-
Clemens Backes authored
The --wasm-fuzzer-gen-test functionality didn't handle imported functions correctly. R=manoskouk@chromium.org Bug: v8:11863 Change-Id: I0486e15465bfabead7bc352d1a94326a39439e43 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460412Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79091}
-
- 14 Feb, 2022 1 commit
-
-
Manos Koukoutos authored
Since we do not yet have canonicalization for types, when emitting ref.func in the fuzzer, it is not enough to pick a function whose signature is equivalent with the requested type; we have to pick a function that is declared exactly with the requested signature index. Bug: chromium:1296936 Change-Id: Ie307a9a370bb9ba2c8c334ddf05268ed9c7077d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460411Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79081}
-
- 11 Feb, 2022 1 commit
-
-
Manos Koukoutos authored
Changes: - GenerateInitExpr should emit a function reference to a function that is known to exist when funcref is expected. - Add functions by signature index to the WasmModuleBuilder, so we avoid signature canonicalization, which currently does not work for wasm-gc. - Remove printing of recursive groups in the WasmModuleBuilder. Instead, restrict type definitions to only refer to previous types. - Some local restructuring of code, comments. Bug: chromium:1296162 Change-Id: I5abd9bf8ec21ef6a51f00bc960b78519f2ec94f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3452433Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79054}
-
- 10 Feb, 2022 1 commit
-
-
Thibaud Michaud authored
NaN detection is implemented on arm and arm64, so we can enable fuzzing with Liftoff as the reference implementation on these architectures. R=manoskouk@chromium.org Bug: v8:11856, v8:11954 Change-Id: If80c2f16f52af59705d914396cfe029cb85e7293 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3451718Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#79031}
-
- 09 Feb, 2022 1 commit
-
-
Manos Koukoutos authored
As a temporary solution to reenable wasm-gc fuzzing, we modify {WasmModuleBuilder} to optionally wrap all types in a recursive group. Bug: v8:7748 Change-Id: Ib0f8ab17c48ecbe04b51da2b1d01502be77ad35a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3450414Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79015}
-
- 31 Jan, 2022 1 commit
-
-
Manos Koukoutos authored
We temporarily disable fuzzing for wasm-gc until we update the fuzzer to the isorecursive hybrid type system. Bug: chromium:1291959 Change-Id: I2238c37bc49cbac2bf1c4085815a2283db982ab3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3423782Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78869}
-
- 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}
-
- 26 Jan, 2022 1 commit
-
-
Manos Koukoutos authored
Bug: v8:7748 Change-Id: Iee5afc3ce21f3a09fdb810beb6a73123bf21afdf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401594Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78766}
-
- 12 Jan, 2022 2 commits
-
-
Clemens Backes authored
The last update (using tools/wasm/update-wasm-fuzzers.sh) was in November 2020, thus update again to add modules from all existing tests to the corpus used by ClusterFuzz. This increases the number of files in the corpus from 47196 to 53779. R=ahaas@chromium.org Change-Id: Ie293bda0b4d5d7c34d5b7c53d8115d9d3883f1db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3379813Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#78590}
-
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}
-
- 11 Jan, 2022 1 commit
-
-
Manos Koukoutos authored
We introduce a type arrayref, which is a supertype of all array types and a subtype of dataref. We change array.len to accept values of type (ref null array). Drive-by: Fix kEq/kData case in TypecheckJSObject. Bug: v8:7748 Change-Id: I47c6a4487ddf5e7280c1427f43abe87a97c896bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3368105Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78565}
-
- 04 Jan, 2022 1 commit
-
-
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}
-
- 20 Dec, 2021 1 commit
-
-
Clemens Backes authored
Shared array buffers are not tracked by the garbage collector, which makes the fuzzer run out of memory pretty quickly. Since shared memory is not needed any more for testing atomics, we can just make the memory non-shared again. This also improves the performance of the fuzzer (execs/s) by more than 2x locally. R=ahaas@chromium.org Bug: chromium:1281419 Change-Id: Ic7803617d6a14aaa698d9181327ec20b21d29faa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3350764Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#78418}
-
- 15 Dec, 2021 1 commit
-
-
Samuel Groß authored
This CL renames a number of things related to the V8 sandbox. Mainly, what used to be under V8_HEAP_SANDBOX is now under V8_SANDBOXED_EXTERNAL_POINTERS, while the previous V8 VirtualMemoryCage is now simply the V8 Sandbox: V8_VIRTUAL_MEMORY_CAGE => V8_SANDBOX V8_HEAP_SANDBOX => V8_SANDBOXED_EXTERNAL_POINTERS V8_CAGED_POINTERS => V8_SANDBOXED_POINTERS V8VirtualMemoryCage => Sandbox CagedPointer => SandboxedPointer fake cage => partially reserved sandbox src/security => src/sandbox This naming scheme should simplify things: the sandbox is now the large region of virtual address space inside which V8 mainly operates and which should be considered untrusted. Mechanisms like sandboxed pointers are then used to attempt to prevent escapes from the sandbox (i.e. corruption of memory outside of it). Furthermore, the new naming scheme avoids the confusion with the various other "cages" in V8, in particular, the VirtualMemoryCage class, by dropping that name entirely. Future sandbox features are developed under their own V8_SANDBOX_X flag, and will, once final, be merged into V8_SANDBOX. Current future features are sandboxed external pointers (using the external pointer table), and sandboxed pointers (pointers guaranteed to point into the sandbox, e.g. because they are encoded as offsets). This CL then also introduces a new build flag, v8_enable_sandbox_future, which enables all future features. Bug: v8:10391 Change-Id: I5174ea8f5ab40fb96a04af10853da735ad775c96 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3322981Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#78384}
-
- 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}
-
- 08 Dec, 2021 1 commit
-
-
Leszek Swirski authored
Introduce a ReusableUnoptimizedCompileState class, passed to ParseInfo, which stores a couple of pointers and most importantly the Zone and AstValueFactory of the parse. This allows the Zone and AstValueFactory to be reused across multiple parses, rather than re-initialising per-Parse. With this, we can amend the LazyCompileDispatcher to initialise one LocalIsolate, Zone and AstValueFactory per background thread loop, rather than one per compile task, which allows us to reduce per-task costs and re-use the AstValueFactory's string table and previous String internalizations. Change-Id: Ia0e29c4e31fbe29af57674ebb10916865d38b2ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3313106Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#78289}
-
- 30 Nov, 2021 1 commit
-
-
Camillo Bruni authored
- V8::Deprecate ShutdownPlatform in favor of V8::DisposePlatform - Rename i::V8::TearDown to i::V8::Dispose - Clean up i::V8::Initialize - Remove needless V8::Initialize() calls in cctests - Remove CcTest::DisableAutomaticDispose() - Add checks to Isolate::Allocate and Isolate::Dispose that there is and active platform Change-Id: Iac84f9ade9d1781e9e8b8c88ea8fe74013f51c4a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306482 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78162}
-
- 17 Nov, 2021 2 commits
-
-
Maria Tîmbur authored
Use recursion scope only for nullable references in the GenerateRef function. We declare the recursion scope as an optional and only initialize it if the reference type is nullable. Bug: v8:11954, chromium:1270126 Change-Id: I1548290cc9d48167f6fd56ff653744d472f65635 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3284894Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Maria Tîmbur <mtimbur@google.com> Cr-Commit-Position: refs/heads/main@{#77943}
-
Maria Tîmbur authored
Add the numeric conversion logic in ConsumeAndGenerate function. Bug: v8:11954 Change-Id: I24a97dade0485315d21f280a6b99a4d5377f09f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3260509 Commit-Queue: Maria Tîmbur <mtimbur@google.com> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77942}
-
- 16 Nov, 2021 1 commit
-
-
Clemens Backes authored
This CL refactors how the first byte(s) of the input are used to set internal configuration, like which compiler to use and whether Liftoff will be used as reference instead of the interpreter. We now always use exactly one byte, and use it for all internal configuration. If more bits are needed in the future we can either extend to two bytes, or use the same bits for multiple things, while avoiding to lose coverage of all interesting configurations. For now, we use the first byte to derive - which compiler to use per function, - whether to use Liftoff as reference, and - (new) whether to globally enable the mid-tier register allocator. R=thibaudm@chromium.org Bug: v8:12330 Change-Id: I2cae6628554ca8f7e08115015b36f9f0a6b8c34f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3253156 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#77929}
-
- 05 Nov, 2021 1 commit
-
-
Manos Koukoutos authored
We enable struct.new and array.init initializer expressions in the JS testcase generated by --wasm-fuzzer-gen-test. We needed to make some changes in the WasmInitExpr class, and to implement a new interface for the WasmFullDecoder, which constructs a WasmInitExpr. Changes: - Make WasmInitExpr a ZoneObject. Use a pointer for its operands_ field. This is needed so WasmInitExpr is trivially copiable, and thus usable as a Value type in WasmFullDecoder. - Implement a WasmFullDecoder interface in wasm-fuzzer-common that constructs a WasmInitExpr. Use it to decode initializers in the module generated by the fuzzer. - Change AppendInitExpr to take a WasmInitExpr as argument. - Fix an issue with printing of struct definitions. - Change initializer expression used for structs to struct.new_with_rtt. This is consistent with the currently used structural types. Bug: v8:11954 Change-Id: I65a87cc98701a54f32500be192b3b6eef2ff6c8c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257712Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77730}
-
- 02 Nov, 2021 2 commits
-
-
Maria Tîmbur authored
Add support for non-nullable reference types. Refactor the GetValueType function. Emit a meaningful initializer for every ref type in globals instead of an empty one. Avoid the non-nullable recursive type by only allowing indices that are strictly less than the current index. Bug: v8:11954 Change-Id: Id1a405525080de7eb9dbbd4f2b8aea5f05684665 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3251171 Commit-Queue: Maria Tîmbur <mtimbur@google.com> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#77659}
-
Thibaud Michaud authored
Apply a "modulo" (i32.rem_s) operator to the array size before allocating the array. The unbounded array allocations frequently lead to out-of-memory crashes in the fuzzer. R=manoskouk@chromium.org Bug: chromium:1238063, chromium:1258319 Change-Id: Ie344f783323294c711d75b6e004ff2dca4da5923 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3256548 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77657}
-
- 26 Oct, 2021 1 commit
-
-
Maria Tîmbur authored
Add support for immutable arrays. Bug: v8:11954 Change-Id: Ia343247d5fbc960e0e5b1f9b7cb75e734a747d0e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3240827Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Maria Tîmbur <mtimbur@google.com> Cr-Commit-Position: refs/heads/main@{#77541}
-
- 18 Oct, 2021 1 commit
-
-
Maria Tîmbur authored
Change the logic behind GenerateOneOf so that not only ref_null would appear almost everytime. Increase the probability of other alternatives to appear as well. Change the name of GenerateOptRef to GenerateRef. Bug: v8:11954 Change-Id: I8bff1661c3d3a91105bca1ffa68e1e9b0b662240 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3229367 Commit-Queue: Maria Tîmbur <mtimbur@google.com> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77438}
-
- 13 Oct, 2021 2 commits
-
-
Manos Koukoutos authored
The purpose of this CL is: - To include all the logic of this function within the bit case switch. - To make it more clear what the probabilities for each generated subtype are. - To fix bugs where anyref fell back to unsupported types in interpreter mode. Bug: v8:11954 Change-Id: Ibc2d487c3fd66ec44a2a4f0eee874c8d3591be52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3220347Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77385}
-
Manos Koukoutos authored
Instead, pass a return parameter to store the error message, if any. Change-Id: Ie71910149271a4268799ee41a8873df51812c505 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218989 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#77375}
-
- 12 Oct, 2021 1 commit
-
-
Maria Tîmbur authored
We add support for i31.new, i31.get_u and i31.get_s to the fuzzed module. Bug: v8:11954 Change-Id: Ic6cdb5ced1b56507083d91e5c0c7f21d59a18acf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218980Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Maria Tîmbur <mtimbur@google.com> Cr-Commit-Position: refs/heads/main@{#77354}
-
- 08 Oct, 2021 1 commit
-
-
Manos Koukoutos authored
For debugging purposes, we print the validation error if the module generated by WasmCompileFuzzer fails to validate. Change-Id: I79d2827e489194d02150484ab5a196e979a302af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211574Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77295}
-
- 07 Oct, 2021 1 commit
-
-
Maria Tîmbur authored
Add support for the i8 and i16 packed types. Because i8 and i16 do not exist as value types we need an i32 to instantiate a packed field. Bug: v8:11954 Change-Id: Ib311fee537c4c9e4aed0ac366172b9b5fb1ee88e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3210267 Commit-Queue: Maria Tîmbur <mtimbur@google.com> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#77288}
-
- 04 Oct, 2021 1 commit
-
-
Maria Tîmbur authored
Add the array.get and struct.get functions to GenerateOptRef. Bug: v8:11954 Change-Id: I39b03f909abfd19d89d7d6a76cdef5f0d5219b8e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3197689Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Maria Tîmbur <mtimbur@google.com> Cr-Commit-Position: refs/heads/main@{#77217}
-
- 01 Oct, 2021 1 commit
-
-
Maria Tîmbur authored
When we generate identical signatures in the fuzzer, we generate one function for each of the copies. However, when these functions are added to WasmModulBuilder, all will be assigned the same signature index. Therefore, when ref.func tries to find a function corresponding to a signature index, it will fail, despite a matching signature existing in the module. This CL fixes this issue by looking up functions by signature over signature index. Bug: v8:11954, chromium:1254387 Change-Id: Iac8d5444d4914d993da63d0630ca4d95e671630c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3197711Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Maria Tîmbur <mtimbur@google.com> Cr-Commit-Position: refs/heads/main@{#77187}
-
- 28 Sep, 2021 2 commits
-
-
Maria Tîmbur authored
As now struct and array types are generated arbitrary, struct.set should only pick mutable fields. Bug: v8:11954, chromium:1253031 Change-Id: Ic248e93b09ffefd4f5547e102c8ea4d56bb2bd90 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3186439 Commit-Queue: Maria Tîmbur <mtimbur@google.com> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77128}
-
Maria Tîmbur authored
Because there can be fewer function signatures than there are functions a new ForceAddSignature function was added which does not deduplicate. Bug: v8:11954 Change-Id: Ib028de47962dd1e797ead1b1f05a4e6815029487 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3186431 Commit-Queue: Maria Tîmbur <mtimbur@google.com> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77126}
-
- 27 Sep, 2021 1 commit
-
-
Ng Zhi An authored
Don't really have a good name for this inner TryCatch. Bug: v8:12244 Change-Id: I4c1353bcd98e78e49d0354e285249302a8ee0dd8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3183522Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77097}
-
- 23 Sep, 2021 1 commit
-
-
Maria Tîmbur authored
Generate arbitrary struct and array types based on the fuzzer random input stream. They replace the hard-coded types. Generated types include nested reference types and recursive types. Bug: v8:11954 Change-Id: I2e40697f2ace3eb818360213e8a4dd40037e580e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3173683 Commit-Queue: Maria Tîmbur <mtimbur@google.com> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#77010}
-