- 19 Mar, 2021 1 commit
-
-
Clemens Backes authored
If memory64 is enabled, memory.grow should consume and return an i64 instead of i32. This CL implements this for both TurboFan and Liftoff, and adds validation and execution tests at different layers. R=manoskouk@chromium.org Bug: v8:10949 Change-Id: I0b725dbd0d5767bda4609747c1f4aad163c35304 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2773800Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73542}
-
- 05 Mar, 2021 1 commit
-
-
Jakob Kummerow authored
This adds support for WasmGC objects (structs/arrays) to the inspector backend. For prettier printing, it also adds support for reading the "type" and "field" subsections of the "name" section in Wasm modules. This patch includes a revert of most of commit crrev.com/987a7f4a because types are more complicated now. Bug: v8:7748, chromium:1177784 Change-Id: Icec52cbbb32291b0e773b40be6771a678c6ec79b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2715193 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73212}
-
- 04 Feb, 2021 1 commit
-
-
Clemens Backes authored
Instead of passing a bunch of objects and pointers to {GenerateLiftoffDebugSideTable}, just pass the WasmCode pointer for which the debug sidetable should be created. This requires changing the corresponding cctests to actually compile code, such that we can get a WasmCode pointer. R=thibaudm@chromium.org Bug: chromium:1172299 Change-Id: If42f06a545feb590f9c2377ce95e6214bbc6f566 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2674006Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72526}
-
- 11 Jan, 2021 1 commit
-
-
Clemens Backes authored
This adds a first execution test for memory64 in the form of a cctest. Several things are still not working correctly, hence this test only checks TurboFan on 64-bit systems, and Liftoff. Bounds checks in Liftoff are fixed to work correctly on 32-bit. Follow-up CLs will extend the test to also test TurboFan on 32-bit, the interpreter, and traps. All of those features still have issues. R=manoskouk@chromium.org Bug: v8:10949 Change-Id: Ic7edcf3783421634fe2ec99eac6f257c557a29b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2610968Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72014}
-
- 16 Dec, 2020 2 commits
-
-
Clemens Backes authored
We were storing the pointer to the WasmModule both as a shared_ptr and as a raw pointer. Maybe this had historical reasons, but now it's just redundant. R=thibaudm@chromium.org Change-Id: Id72d102b6df804f93e3ab0235eeceef91a6dd8fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2593334Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71782}
-
Clemens Backes authored
This moves some fields and methods from the WasmRunner template to the WasmRunnerBase base class. This avoids repeated compilation for the different instantiations of the WasmRunner template. Additional changes: - SetUpTrapCallback, SetThreadInWasmFlag, and ClearThreadInWasmFlag are static now. - CheckUsedExecutionTier is unused, and did not even compile any more. In the template class this was OK, because it's only compiled on first use. R=thibaudm@chromium.org Change-Id: I485729cf4a1fd93fe6abb0be269694f0179fc4ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2593331Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71781}
-
- 05 Oct, 2020 2 commits
-
-
Manos Koukoutos authored
We used not to emit canonical indexes for arrays and structs into WasmModule::signature_ids, which resulted in signature_ids not referring to the correct type indices in a WasmModule. Changes: - Rename signature_ids to canonical_type_ids. - Emit trivial canonical type ids for structs and arrays. - Add a test to catch the existing bug. - Improve DCHECKs for module type accessors. Bug: v8:7748 Change-Id: I67ad58865e35b459b21db12557564b652035db75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2444989 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#70318}
-
Manos Koukoutos authored
This was not happening when there was no need to typecheck the entry. Additional changes: - Add tests with null table entries for typed and untyped function tables. - Allow AddIndirectFunctionTable in wasm-run-utils to specify table type. - Add possibility to define tables in test-gc.cc. - Merge trapTableOutOfBounds with trapInvalidFunc. - Use trapTableOutOfBounds in call_indirect as appropriate. - Fix emission of table types in wasm-module-builder.cc. Bug: v8:9495 Change-Id: I4a857ff4378e5a87dc0646d94b4c75635a43c55b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2442622Reviewed-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/master@{#70311}
-
- 06 Aug, 2020 1 commit
-
-
Clemens Backes authored
The interpreter is not an execution tier in production any more. It's only used in tests. Thus, remove {ExecutionTier::kInterpreter} and instead add a {TestExecutionTier} that still has {kInterpreter}. If needed (in {TestingModuleBuilder::execution_tier()}), we translate back from {TestExecutionTier} to {ExecutionTier} (for {kLiftoff} and {kTurboFan} only). The {TraceMemoryOperation} method, which is shared between interpreter and production code, now receives a {base::Optional<ExecutionTier>}, and we will just pass en empty optional if called from the interpreter. R=thibaudm@chromium.org Bug: v8:10389 Change-Id: Ibe133b91e8dca6d6edbfaee5ffa0d7fe72ed6d64 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335186Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69260}
-
- 24 Jul, 2020 1 commit
-
-
Igor Sheludko authored
... that controls whether the TF graph zones should support compression. Bug: v8:9923 Change-Id: Ifbe237b75e9c92e62eb32b69d6b3b1a818269b83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308347 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#69036}
-
- 23 Jun, 2020 1 commit
-
-
Clemens Backes authored
The interpreter is not used in production code any more, hence move it from src/wasm to test/common/wasm. It's still used in unit tests, cctests, and in fuzzers. Because of this move, a few more methods had to be exported via V8_EXPORT_PRIVATE. R=ahaas@chromium.org, yangguo@chromium.org Bug: v8:10389 Change-Id: If626b940a721146c596fd7df4faaea633e710272 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2257226 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68480}
-
- 09 Jun, 2020 1 commit
-
-
Clemens Backes authored
Avoid going through the {WasmDebugInfo}, which existed for debugging in the interpreter in production. Instead, tests now instantiate the interpreter directly. This will unblock the removal of the whole {WasmDebugInfo}, and finally moving the interpreter to the test directory. R=ahaas@chromium.org Bug: v8:10389 Change-Id: I8ae76a1d5bff716c129781b11a15369a80b13603 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235543Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68258}
-
- 05 Jun, 2020 2 commits
-
-
Clemens Backes authored
When the last debugger is disabled, we tier up the module to TurboFan. Doing this in the background creates problems with profiling, where the debugger is disabled before starting to profile, in order to guarantee profiling of top-tier code. Hence this CL changes the logic such that we only return from the {TierUpAllModulesPerIsolate} methods once tier up is complete. Since the DevTools frontend disables all debuggers before starting a profile, this will ensure that all new calls execute TurboFan code. Because of this change, the {TriggerRecompilation} method is renamed to {RecompileForTiering}. The test cases stay unchanged (do a busy wait until tier up is done), because in the multi-isolates tests it is not guaranteed that tier up is complete after disabling a single debugger. R=thibaudm@chromium.org Bug: v8:10580 Change-Id: I75c4b97825f856f562cfa656c11293d3b964898b Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2232539 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#68212}
-
Clemens Backes authored
The wasm interpreter was always single-threaded, and there are no plans to change this. Still, there was a concept of threads, but with the hard-coded constraint that there is always exactly one of them. In order to clean up the code, and as a preparation to remove more unneeded functionality before moving the interpreter over to the test directory, this CL removes the concept of threads and merges the {ThreadImpl} class into {WasmInterpreterInternals}. Drive-by: Remove the dead {GetFrameCount} method. R=ahaas@chromium.org Bug: v8:10389 Change-Id: If65cdd21b34ce8debf8ba0f24dbeacec15e0a1d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2231354Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68204}
-
- 12 May, 2020 1 commit
-
-
Clemens Backes authored
This is a reland of 902f48bd, fixed to avoid lock inversion problems detected by TSan. Original change's description: > [wasm][debug] Fix tier down for multiple isolates > > If multiple isolates are using the same module, we need to keep it > tiered down as long as any isolate still has a debugger open. > Also, we cannot short-cut the {NativeModule::TierDown} method, since the > previously triggered tier down might not have finished yet. > For now, each isolate starts an independent tier down (i.e. a full > recompilation). We could optimize this later by skipping functions that > are already tiered down, or are already scheduled for tier down, but we > still need to wait for tier-down to finish on each isolate. > > R=thibaudm@chromium.org > > Bug: v8:10359 > Change-Id: I7ea6a6f5d3977e48718ac5bc94f9831541f6173f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2190758 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67716} Bug: v8:10359 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Change-Id: Ie98cf073fc79e5c6991df6d4466de7b560274070 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2194451 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67754}
-
- 11 May, 2020 1 commit
-
-
Clemens Backes authored
Passing an isolate to {RecompileNativeModule} feels wrong, since compilation and the generated code are totally isolate-independent. In fact, the isolate is only used for updating counters. Instead of passing the counters instead, this CL just refactors the code to support a nullptr for the counters everywhere (some code paths already supported that). The few recompilation would not make a significant difference in the histograms anyway, and even have the risk of skewing the data. Drive-by 1: Rename {TierUp} to {StartTierUp} and update comments. Drive-by 2: Remove non-actionable TODO. R=thibaudm@chromium.org Bug: v8:10359 Change-Id: Ic027f939bbc55398b90784922130fe1fe5573b0c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2187638Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67708}
-
- 06 May, 2020 1 commit
-
-
Clemens Backes authored
Avoid templates, just encode all wasm opcodes as 2-byte LEB instead. R=zhin@chromium.org Bug: v8:10258 Change-Id: I3bfd5235b235a5d9366e0007e915a2c02a09b0d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182638Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67625}
-
- 24 Apr, 2020 1 commit
-
-
Clemens Backes authored
The cctests for breakpoints were still executing in the interpreter. This CL moves them over to Liftoff. Note that the additional methods on {DebugInfo} will be reused for other purposes, see https://crrev.com/c/1941139. R=jkummerow@chromium.org Bug: v8:10389 Change-Id: Ia88150612377d6e7db0514af1efe091124b3ddce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162852Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67360}
-
- 20 Apr, 2020 1 commit
-
-
Jakob Kummerow authored
Behind --experimental-wasm-gc flag. Bug: v8:7748 Change-Id: Ib96af9c5bde33f1b88862286a37872dbe70d856b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154198 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67251}
-
- 16 Apr, 2020 1 commit
-
-
Ng Zhi An authored
SIMD opcodes consist of the prefix byte, then an LEB128 encoded int. We were decoding this incorrectly as a fixed uint8. This fixes the decoder to properly handle multi bytes. In some cases, the multi byte logic is applied to all prefixed opcodes. This is not a problem, since for values < 0x80, the LEB encoding is a single byte, and decodes to the same int. If the prefix opcode has instructions with index >= 0x80, it would be required to be LEB128 encoded anyway. There are a bunch of trivial changes to test-run-wasm-simd, to change the macro from BUILD to BUILD_V, the former only works for single byte opcodes, the latter is a new template-based macro that correct handles multi-byte opcodes. The only unchanged test is the shuffle fuzzer test, which builds its own sequence of bytes without using the BUILD macro. Bug: v8:10258 Change-Id: Ie7377e899a7eab97ecf28176fd908babc08d0f19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2118476 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#67186}
-
- 14 Apr, 2020 1 commit
-
-
Clemens Backes authored
Before the "debug" flag was stored on the {CompilationEnv}. But each background compilation task only gets the {CompilationEnv} once when starting compilation, so by the time it picks up the "Liftoff for debugging" compilation jobs, it might still compile them without the debug flag being set. This leads to flakes in the "debug-step-into-wasm" test, because we won't stop in the function prologue when stepping in (because the function prologue does not check the "hook on function call" flag if debug mode was not enabled). This CL does not increase the size of a compilation unit, since both the tier and the debug flag only need a single byte each. As a nice side effect, this change allows us to remove the lock in {CreateCompilationEnv}, because no modifyable flag is read any more. R=thibaudm@chromium.org Bug: v8:10410 Change-Id: Ic296ea0c4dd1d4dedde119f0536e87e5d301b5a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144116Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67115}
-
- 27 Mar, 2020 1 commit
-
-
Clemens Backes authored
There are only three tests with differing behaviour if Liftoff is used for debugging. This CL thus stages the --debug-in-liftoff flag behind --future (tested by the "future" variant) and excludes the three tests. This allows us to test the other (already working) tests for regressions, and iteratively shrinking down the list of failing tests. Drive-by: Tier down modules in tests before testing debugging features to avoid hitting a DCHECK in Liftoff recompilation for debugging. R=thibaudm@chromium.org, ecmziegler@chromium.org Bug: v8:10351 Change-Id: I3b1dd1a29258ecf13c1f60020fb06358005558d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122021Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66889}
-
- 23 Mar, 2020 1 commit
-
-
Clemens Backes authored
The spec was changed such that traps are not catchable in wasm: https://github.com/WebAssembly/exception-handling/pull/93 This CL implements this in V8 by adding a private symbol as a property to all uncatchable exceptions. It also adds a number of tests. R=jkummerow@chromium.org CC=aheejin@chromium.org Bug: v8:10194 Change-Id: I498531762e8876f809d3b8aeb72ccc053e0e3cd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2113375 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66824}
-
- 20 Mar, 2020 1 commit
-
-
Ng Zhi An authored
Introduces a new macro BUILD_V (v is for vector) that pushes bytes into a vector (instead of directly in an array initializer, see BUILD). This has the positive effect of being able to handle opcodes of multiple bytes (e.g. SIMD opcodes bigger that 0xfd80). Because of this "API" change, our helper macros in test-run-wasm-simd.cc and wasm-run-utils.h need to change too. So, we introduce new macros (suffixed by _V), that will call the appropriate lambdas defined in BUILD_V, that knows how to push bytes into the vector, and also can handle multi-byte opcodes. This design has a bit of duplication and ugliness, but was chosen to reduce the impact of existing tests. No restructuring of test code is required, we only need to add suffix _V. Note that we do not have multi-byte opcodes yet (in wasm-opcodes.h), this change will be breaking, and requires all the tests to be updated to use _V macros first. Bug: v8:10258 Change-Id: I86638a548fe2f9714c1cfb3bd691fb7b49bfd652 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107650 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66812}
-
- 19 Mar, 2020 1 commit
-
-
Philip Pfaffe authored
This implements the first part of WebAssembly debug evaluate. The patch includes the foundation required to execute evaluator modules. It only implements the first of the APIs of the evaluator module spec. Bug: chromium:1020120 Change-Id: I06ec98a63d0a0ec8d81c2eac4319c4b85d3e16c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2089936 Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66787}
-
- 12 Mar, 2020 1 commit
-
-
Jakob Kummerow authored
In preparation for adding reference types, which need an additional parameter to indicate the referenced type. Bug: v8:7748 Change-Id: If4023f3d9c7f42ed603b69c43356d2e8b81a0daa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2091471 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66687}
-
- 27 Feb, 2020 1 commit
-
-
Clemens Backes authored
Most function signatures are created once and never changed. Hence pass them as const pointer. This makes it clear in function signatures that these parameters will not be modified. This also avoids a few ugly const_casts where we were passing pointers to constexpr FunctionSigs via non-const pointers. R=jkummerow@chromium.org Bug: v8:10155 Change-Id: Ieb658ab5582bff276f76babdaf7ddb8f72bd4790 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072739Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66478}
-
- 24 Feb, 2020 1 commit
-
-
Clemens Backes authored
This extends the debug side table to also store register locations in addition to constants and stack values. Previously, every value that was not constant was assumed to be spilled to the stack. This made sense, because without breakpoints we would only emit debug side table entries at call sites, where all registers are spilled. With breakpoints, this changes. At break locations, values might be live in registers. The logic to decide whether a value will live in the register or on the stack is extended, because we sometimes generate the debug side table entry at a point where the registers are not spilled yet. The debug side table entry creation needs to account for that, and assume that these registers will still be spilled. R=thibaudm@chromium.org Bug: v8:10147, v8:10222 Change-Id: I3b020dfaa29fc007047663706ee286180a996bfd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2066960 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#66407}
-
- 03 Feb, 2020 1 commit
-
-
Thibaud Michaud authored
This is a reland of 9781aa07 Original change's description: > Reland "[wasm] Cache streaming compilation result" > > This is a reland of 015f379a > > Original change's description: > > [wasm] Cache streaming compilation result > > > > Before compiling the code section, check whether the > > bytes received so far match a cached module. If they do, delay > > compilation until we receive the full bytes, since we are likely to find > > a cache entry for them. > > > > R=clemensb@chromium.org > > > > Bug: v8:6847 > > Change-Id: Ie5170d1274da3da6d52ff1b408abc7cb441bbe3c > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002823 > > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#66000} > > Bug: v8:6847 > Change-Id: I0b5acffa01aeb7dade3dc966392814383d900015 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2022951 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66047} Bug: v8:6847 Change-Id: I272f56eee28010f34cc99df475164581c8b63036 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030741 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66081}
-
- 30 Jan, 2020 2 commits
-
-
Thibaud Michaud authored
This reverts commit 9781aa07. Reason for revert: tsan bot failure: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/30110 Original change's description: > Reland "[wasm] Cache streaming compilation result" > > This is a reland of 015f379a > > Original change's description: > > [wasm] Cache streaming compilation result > > > > Before compiling the code section, check whether the > > bytes received so far match a cached module. If they do, delay > > compilation until we receive the full bytes, since we are likely to find > > a cache entry for them. > > > > R=clemensb@chromium.org > > > > Bug: v8:6847 > > Change-Id: Ie5170d1274da3da6d52ff1b408abc7cb441bbe3c > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002823 > > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#66000} > > Bug: v8:6847 > Change-Id: I0b5acffa01aeb7dade3dc966392814383d900015 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2022951 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66047} TBR=clemensb@chromium.org,thibaudm@chromium.org Change-Id: I76e3561835815ac3d5bca74e76079e82f9f3d581 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6847 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030727Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#66050}
-
Thibaud Michaud authored
This is a reland of 015f379a Original change's description: > [wasm] Cache streaming compilation result > > Before compiling the code section, check whether the > bytes received so far match a cached module. If they do, delay > compilation until we receive the full bytes, since we are likely to find > a cache entry for them. > > R=clemensb@chromium.org > > Bug: v8:6847 > Change-Id: Ie5170d1274da3da6d52ff1b408abc7cb441bbe3c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002823 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66000} Bug: v8:6847 Change-Id: I0b5acffa01aeb7dade3dc966392814383d900015 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2022951 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66047}
-
- 27 Jan, 2020 2 commits
-
-
Clemens Backes authored
This reverts commit 015f379a. Reason for revert: Msan is unhappy: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/30702 Original change's description: > [wasm] Cache streaming compilation result > > Before compiling the code section, check whether the > bytes received so far match a cached module. If they do, delay > compilation until we receive the full bytes, since we are likely to find > a cache entry for them. > > R=clemensb@chromium.org > > Bug: v8:6847 > Change-Id: Ie5170d1274da3da6d52ff1b408abc7cb441bbe3c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002823 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66000} TBR=clemensb@chromium.org,thibaudm@chromium.org Change-Id: Idfa5b3f354816eb600ae7aab7857063d5d0d27ca No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6847 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2022949Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66001}
-
Thibaud Michaud authored
Before compiling the code section, check whether the bytes received so far match a cached module. If they do, delay compilation until we receive the full bytes, since we are likely to find a cache entry for them. R=clemensb@chromium.org Bug: v8:6847 Change-Id: Ie5170d1274da3da6d52ff1b408abc7cb441bbe3c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002823 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66000}
-
- 24 Jan, 2020 2 commits
-
-
Ng Zhi An authored
Remove the execution tier check for simd tests. On archs without Liftoff, those tests that are configured to run on Liftoff will fail with this check, since they bail out to TF. We remove this check for now, but will think of a way to enforce this in a more platform specific way. Bug: v8:9909 Change-Id: Id56f841fe6e342434af3dbcdaef0a8a284614994 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2019924Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#65983}
-
Ng Zhi An authored
This relands commit 009993ad. The fix is in liftoff-assembler-ia32.h, the codegen was incorrect. Original change's description: > Implement f32x4.splat and enable handling this in Liftoff. > > We add a new macro for defining test cases to run on TurboFan, Liftoff, > interpreter, and scalar lowering. > > Also add an assertion that the execution tier used is what we expected > it to be. This is useful for Liftoff, because by default it falls back > to TurboFan when it encounters an unimplemented opcode. > > Bug: v8:9909 Bug: v8:9909 Change-Id: I7daacbe8b195d9212367190c515b0babbc457a88 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2018043Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#65963}
-
- 23 Jan, 2020 2 commits
-
-
Clemens Backes authored
This reverts commit 009993ad. Reason for revert: New test fails, see https://ci.chromium.org/p/v8/builders/ci/V8%20Linux/35534 and https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/23778 Original change's description: > [liftoff][wasm-simd] Implement f32x4.splat > > Implement f32x4.splat and enable handling this in Liftoff. > > We add a new macro for defining test cases to run on TurboFan, Liftoff, > interpreter, and scalar lowering. > > Also add an assertion that the execution tier used is what we expected > it to be. This is useful for Liftoff, because by default it falls back > to TurboFan when it encounters an unimplemented opcode. > > Bug: v8:9909 > Change-Id: I594955fce778173191fc44c38c4f956a05e77839 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2014753 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65954} TBR=clemensb@chromium.org,zhin@chromium.org Change-Id: Ie6970a8c29baab149150dd734a95f89be5fd89ff No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9909 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2017722Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65958}
-
Ng Zhi An authored
Implement f32x4.splat and enable handling this in Liftoff. We add a new macro for defining test cases to run on TurboFan, Liftoff, interpreter, and scalar lowering. Also add an assertion that the execution tier used is what we expected it to be. This is useful for Liftoff, because by default it falls back to TurboFan when it encounters an unimplemented opcode. Bug: v8:9909 Change-Id: I594955fce778173191fc44c38c4f956a05e77839 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2014753 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65954}
-
- 14 Jan, 2020 1 commit
-
-
Ng Zhi An authored
Add kWasmS128 to the list of supported types, and implement Fill for all the architectures so that LocalGet works. Add a new test file to contain tests that run only on Liftoff, and assert that the code is indeed compiled by Liftoff. We cannot rely on the nooptimization variant for testing because by default, if Liftoff compilation fails, it will fall back to Turbofan, and we accidentally get a test passing. We skip these tests on mips architecture that don't support SIMD, since there is no way to implement these, and we don't have a "lowering" phase for Liftoff. As we implement more of SIMD in Liftoff, we can add more tests to this file and ensure correctness. Future patches will introduce support for globals and params. Bug: v8:9909 Change-Id: I7fc911f2d588d60c709ddb258b2efc1f22805fab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1999470 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65768}
-
- 03 Dec, 2019 1 commit
-
-
Emanuel Ziegler authored
The following changes were introduced with the recent proposal update: - OOB access with 0 length traps - Double drop of segments is allowed - Dropped segments are treated like having size 0 (OOB error) - Active segments are dropped right after initialization R=ahaas@chromium.org Change-Id: I4e9fc4d9212841c7d858585c672143f99287520d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1946355Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#65305}
-
- 19 Jul, 2019 1 commit
-
-
Michael Starzinger authored
This makes sure the language mode of the module is correctly propagated through the WebAssembly module, so that exported functions are allocated with the correct language mode. It extends the existing {ModuleOrigin} enum to consist of three values now. R=clemensh@chromium.org TEST=mjsunit/regress/wasm/regress-985154 BUG=chromium:985154 Change-Id: Id7b566738b1e710cc5001b894022bcd0f2c01bc3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708484 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#62826}
-