- 02 Jun, 2020 1 commit
-
-
Clemens Backes authored
In production, we will always pass a pointer to the decoded module. The only reason for the existance of the nullptr checks is that tests sometimes don't pass a module here. Hence we pay in production code for a test-only feature. This CL fixes this by always passing a module pointer from the decoder tests. This even simplifies the code a lot by removing redundant code. The {TestModuleBuilder} class was moved before the definitions of the {FunctionBodyDecoderTest} class in order to be able to reuse it there. It's unmodified otherwise. R=ahaas@chromium.org Bug: v8:10576 Change-Id: I7d876bfc8a27b50fe713afb8848fb4f642287cfa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2226749Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68116}
-
- 29 May, 2020 1 commit
-
-
Manos Koukoutos authored
Bug: v8:7748, chronium:1080444 Change-Id: I8d7e3cb8b3ea06001794fdda44faaff8e509e1b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219930 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68071}
-
- 20 May, 2020 1 commit
-
-
Andreas Haas authored
The implementation of the StreamingDecoder depends on async compilation. However, when the --single-threaded flag is set, async compilation is not available. Therefore V8 does not support streaming compilation at the moment if the --single-threaded flag is set. This CL is the first step to support streaming compilation in --single-threaded mode. This CL makes the StreamingDecoder an abstract class, and the current implementation a sub-class called AsyncStreamingDecoder. A follow-up CL will provided a second sub-class implementation for streaming compilation in --single-threaded mode. Bug: v8:10548 Change-Id: Ice5c01340d3df18f836a4a05d30571207ca8ccf6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2208869 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67931}
-
- 18 May, 2020 1 commit
-
-
Manos Koukoutos authored
Changes: Cleanup: - Make sure read_value_type has the same interface as other read_* functions, i.e., returns the decoded value and writes the consumed length into a pointer. - DecodeLocals is now an instance method. - DecodeLocals should fail when given a wrong number of locals. Add tests to catch that. - Fix a buggy test. Refactoring in preparation of introducing the 'let' instruction as per [wasm-gc]: - DecodeLocals does not consume any input and can start from any pc. - DecodeLocals gives the option of not appending the decoded locals to local_types_. - Separate locals initialization from signature. Bug: v8:7748 Change-Id: Iaaff87fdb9abe0ddd716484ea3fa87779d2d1a2f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202992 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67845}
-
- 06 May, 2020 1 commit
-
-
Manos Koukoutos authored
Motivation: There were three versions of type decoding for wasm in the codebase. Not all of them decoded gc types with immediates (reference types) correctly. Changes: - Refactor the wasm binary decoder for unify type decoding. - Update BranchTypeImmediate and SelectTypeImmediate to handle reference types. Reference: https://github.com/WebAssembly/gc R=jkummerow@chromium.org Bug: v8:7748 Change-Id: I33b38c911d366570ca6ef2723ded5205698e1979 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2179003 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#67614}
-
- 05 May, 2020 1 commit
-
-
Philip Pfaffe authored
Wasm modules generated by emscripten today have two ways to point to debug symbol files, the source mapping url and external debug info custom sections. To support both, this CL extends CDP to appropriately report the symbol type and location. Bug: chromium:1064248 Change-Id: I9076034f6d73901d8a9c5cfd7c2988fb30bb14c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116208Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#67571}
-
- 30 Apr, 2020 1 commit
-
-
Clemens Backes authored
The interpreter will be un-shipped soon, hence we cannot have a compilation hint for interpreted execution. This CL removes the respective enum value, removes a test which specifically tested this one option, and adapts other code to use one of the remaining hints. R=ahaas@chromium.org Bug: v8:10389 Change-Id: Ia754f7de95be271000a9e4e10ef2a3ee171da627 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172748Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67491}
-
- 22 Apr, 2020 1 commit
-
-
Clemens Backes authored
When compiling modules with many functions, the list of regions in the {DisjointAllocationPool} can become quite large if the functions die in a random order (which they typically do, since the order of Liftoff compilation is different than the order to TurboFan compilation; which work stealing, both are nondeterministic). Iterating the list of regions in the {DisjointAllocationPool} was thus linear in the number of regions, which is linear in the number of functions of the module. Since we insert new regions one by one, overall runtime was quadratic. This CL fixes this by switching from a linked list to a std::set. Merging a new region is thus logarithmic instead of linear, and overall we are {n*log(n)} instead of {n^2}. Note: For {AllocateInRegion} we still need to linearly iterate all regions that overlap the requested region, but this has not shown to be a problem so far. R=ahaas@chromium.org Bug: v8:10432 Change-Id: I193e56c2abab782e386194fbe64dadfa250916f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154797 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67303}
-
- 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}
-
- 17 Apr, 2020 3 commits
-
-
Jakob Kummerow authored
These opcodes are not officially specified yet, they are defined in the "prototype implementation spec" at https://bit.ly/3cWcm6Q. Drive-by: drop a unit test whose entire coverage can be provided by a compile-time check. Bug: v8:7748 Change-Id: Icefa6dd321802c8a01c4561178b9d21eca1fbaa3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2152841Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#67208}
-
Paolo Severini authored
This changelist adds to the GDB stub (in class wasm::gdb_server::Target) the logic to decode and execute GDB-remote commands and to format response packets to be sent back to the debugger. Here most of the commands still act as a NOOP; the actual implementation requires interactions with the Wasm engine and will be implemented in the next CL of this series. Build with: v8_enable_wasm_gdb_remote_debugging = true Run with: --wasm-gdb-remote Bug: chromium:1010467 Change-Id: Icfa63be9e1eaa657c05876d0d4e86927e0885b90 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1938466 Commit-Queue: Paolo Severini <paolosev@microsoft.com> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67200}
-
Paolo Severini authored
This changelist adds the logic to format, decode, sends and receive packets in the format specified by the GDB-remote protocol (https://sourceware.org/gdb/onlinedocs/gdb/Overview.html#Overview). Build with: v8_enable_wasm_gdb_remote_debugging = true Run with: --wasm-gdb-remote Bug: chromium:1010467 Change-Id: Ibc9c6713c561d06847b472fab591c208c193199f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1929409 Commit-Queue: Paolo Severini <paolosev@microsoft.com> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67196}
-
- 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}
-
- 23 Mar, 2020 1 commit
-
-
Clemens Backes authored
Before, it was specified between the globals and the exports section. This changed with https://github.com/WebAssembly/exception-handling/issues/98. The event section is now placed between the memory and the globals section. R=jkummerow@chromium.org CC=aheejin@chromium.org Bug: v8:10176 Change-Id: Icafeaae4ff7796273c73d61ed417c028fcbcb02d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116032Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66833}
-
- 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}
-
- 26 Feb, 2020 1 commit
-
-
Emanuel Ziegler authored
Added a type field to elements to distinguish anyref, funcref and nullref elements and do a proper type checking at compile time as the spec requires. R=ahaas@chromium.org Change-Id: I31be7aa1170439859ca7ec5e20aabb2720c290b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2069330 Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#66448}
-
- 25 Feb, 2020 1 commit
-
-
Andreas Haas authored
This is a reland of 03d5a7ba Nothing changed here compared to the original test. The tests on the blink side were invalid, I fixed them in https://crrev.com/c/2066907. Original change's description: > [wasm] The name of a custom section can cause a validation error > > The WebAssembly spec defines that the name of a custom section can cause > a validation error. The streaming decoder, however, used a separate > Decoder object to decode the name, and thereby avoided a validation > error. With this CL the streaming decoder uses the main decoder to > decode the name of the custom section. > > In addition this CL removes the test mjsunit/regress/wasm/regress-789952. > This test defined an invalid WebAssembly module and expected it to > compile. As it is a regression test, it makes no sense to fix the test. > The module is invalid because it defines the length of the custom section > to be '0', so there are no bytes in the custom section for its name. > > R=clemensb@chromium.org > CC=thibaudm@chromium.org > > Bug: v8:10126 > Change-Id: I8cfc77c9a5916570d5362d5922e0179a29774da8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2041446 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66348} Bug: v8:10126 Change-Id: I48aaed8eb9899da1703030fb6809fe46a6e66191 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2069325 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66431}
-
- 19 Feb, 2020 2 commits
-
-
Michael Achenbach authored
This reverts commit 03d5a7ba. Reason for revert: Needs rebaseline: https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux/3243 Original change's description: > [wasm] The name of a custom section can cause a validation error > > The WebAssembly spec defines that the name of a custom section can cause > a validation error. The streaming decoder, however, used a separate > Decoder object to decode the name, and thereby avoided a validation > error. With this CL the streaming decoder uses the main decoder to > decode the name of the custom section. > > In addition this CL removes the test mjsunit/regress/wasm/regress-789952. > This test defined an invalid WebAssembly module and expected it to > compile. As it is a regression test, it makes no sense to fix the test. > The module is invalid because it defines the length of the custom section > to be '0', so there are no bytes in the custom section for its name. > > R=clemensb@chromium.org > CC=thibaudm@chromium.org > > Bug: v8:10126 > Change-Id: I8cfc77c9a5916570d5362d5922e0179a29774da8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2041446 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66348} TBR=ahaas@chromium.org,clemensb@chromium.org Change-Id: I5a7ea265ce47b9e685a5056bb83db6dc58f774a9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10126 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2065168Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66356}
-
Andreas Haas authored
The WebAssembly spec defines that the name of a custom section can cause a validation error. The streaming decoder, however, used a separate Decoder object to decode the name, and thereby avoided a validation error. With this CL the streaming decoder uses the main decoder to decode the name of the custom section. In addition this CL removes the test mjsunit/regress/wasm/regress-789952. This test defined an invalid WebAssembly module and expected it to compile. As it is a regression test, it makes no sense to fix the test. The module is invalid because it defines the length of the custom section to be '0', so there are no bytes in the custom section for its name. R=clemensb@chromium.org CC=thibaudm@chromium.org Bug: v8:10126 Change-Id: I8cfc77c9a5916570d5362d5922e0179a29774da8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2041446 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66348}
-
- 17 Feb, 2020 1 commit
-
-
Emanuel Ziegler authored
Implement the latest spec changes: - Allow declarative segments to behave like passive & dropped segments. - Enforce that only declared functions may be returned or used in globals as funcref. - Ensure that table fill does not modify any entries if OOB. Spec tests for select and br_table are still failing due to proposal issue Bug: v8:10156 R=ahaas@chromium.org Change-Id: I5b95be36a67bc7482a84b848908cc4cbdf94af03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2027458Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#66297}
-
- 23 Jan, 2020 1 commit
-
-
Ben Smith authored
The following instructions are affected: memory.init, data.drop, table.init, table.drop. A segment index should be decoded as an unsigned number, but these instructions were decoding as signed. This works properly up to 63, but fails at 64 (which is decoded as -64 = 4294967232). Bug: v8:10151 Change-Id: I742b74cf0bcadf2ff2f606beb65b7bae3e816530 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015960Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#65957}
-
- 17 Jan, 2020 1 commit
-
-
Clemens Backes authored
This was used for debugging only. The DevTools frontend now receives the raw wasm bytes, and disassembles the functions it needed. The inspector change was done in https://crrev.com/c/1991481. This CL removes all code which is now dead in v8. R=ahaas@chromium.org, bmeurer@chromium.org Change-Id: I2d433613f1270a1ddac9af0bae8d990ef190712a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2005072Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65831}
-
- 15 Jan, 2020 1 commit
-
-
Emanuel Ziegler authored
Add decoding of ref.null as a valid argument for references in TurboFan, LiftOff and the interpreter. R=ahaas@chromium.org R=jkummerow@chromium.org Bug: chromium:10063 Change-Id: I1e2d9c76f616dacb3aa06f8b535543bdcdcf0783 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991485 Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#65788}
-
- 08 Jan, 2020 1 commit
-
-
Jakob Kummerow authored
Add jkummerow, thibaudm, zhin; drop titzer. Also make src/wasm/OWNERS the source of truth and let test-specific OWNERS files refer to that. No-Try: true Change-Id: I9862ae452970e20b7842269721ad6a7953f275fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1989827 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65636}
-
- 06 Dec, 2019 1 commit
-
-
Deepti Gandluri authored
Change-Id: I607e9565e29b2159c1783cd58fb5a2e19c02b221 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955524 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65365}
-
- 05 Dec, 2019 1 commit
-
-
Almothana Athamneh authored
This CL attempts to run unittests on Fuchsia using Infra Bug: chromium:934932 Change-Id: I4b7cb740e17e65e91ca8c6ba6dfd07719e473e20 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1948709 Commit-Queue: Almothana Athamneh <almuthanna@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#65349}
-
- 28 Nov, 2019 1 commit
-
-
Clemens Backes authored
Fix a TODO from Ben to change the macro argument order to match the actual order in wasm code. After this fix, we can remove the individual {WASM_CALL_INDIRECT[0-5]} macros and implement them via a common variadic macro. Also, rename {WASM_CALL_INDIRECT_TABLE0} to {WASM_CALL_INDIRECT_TABLE}. The name was confusing, because this macro explictly allows to set a table index different from 0. Thus, just drop the "0" in the name. The individual test changes were done via a vim macro, to avoid manual errors. R=mstarzinger@chromium.org Bug: v8:10021 Change-Id: I9f0f31511c5c6e20a0b07524bf75fe9cf1598eba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1940265Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65242}
-
- 26 Nov, 2019 2 commits
-
-
Clemens Backes authored
Make WasmFeatures a proper class which uses an EnumSet under the hood. This way, it inherits all behaviour of EnumSet like comparison, merge, etc. Accesses change from being simple field access into the struct to actually bit tests in the EnumSet. R=mstarzinger@chromium.org Bug: v8:10019 Change-Id: I768f92b90ac0294156f4482defba5ce00bc70165 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1934334 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#65184}
-
Clemens Backes authored
This renames the macro parameter {index} to {sig_index} to make clear that this should be the index of a signature. It also fixes some tests that wrongly passed a function index here (with no observable difference in the test outcome unfortunately). It also renames some {f[0-3]} variables to {sig[0-3]} to make it clear that they refer to signatures. R=mstarzinger@chromium.org Bug: v8:10021 Change-Id: Ia4f697acd5d6a2e6f2fb45b680dac20f24ea1b08 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1936471 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#65178}
-
- 14 Nov, 2019 1 commit
-
-
Clemens Backes authored
In Liftoff, we have a good estimate about how big the generated code might get. Also, we often compile hundreds of functions which each hold an assembler buffer alive until we finally add that code to the wasm module. In order to reduce memory consumption in Liftoff, this CL reduces {AssemblerBase::kMinimalBufferSize} from 4096 to 128, and adds {AssemblerBase::kDefaultBufferSize} to be used instead. R=jkummerow@chromium.org Change-Id: I7029bf501244770f4824a86b233d7f99c4b7910b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914559Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64958}
-
- 08 Nov, 2019 2 commits
-
-
David Carlier authored
Using proper register (RIP) on this platform. Change-Id: Iaa0a25e328bd82c152db0ef3632523fd7d621020 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857221Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64863}
-
Clemens Backes authored
In streaming compilation, we were computing a way too low code size estimate, since all {WasmFunction::code} fields were still zero when we were calling {EstimateNativeModuleCodeSize}. This lead to many separate code spaces being created during compilation, creating significant performance and memory overhead. This CL fixes this by passing the code section length when creating the {NativeModule}. From this, we can compute the code size estimate just as before. Drive-by: Rename "functions_count" to "num_functions" in {ProcessCodeSectionHeader} to be consistent with the declaration. R=ahaas@chromium.org Bug: v8:9950 Change-Id: I30a54c01ed24d0dfecb8a4b6d123015f1803ddeb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903439 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64849}
-
- 31 Oct, 2019 1 commit
-
-
Z Nguyen-Huu authored
Currently, when debugging wasm, the internal script URL is shown, which has the form wasm://wasm/wasm-<hex-script-id>. With this change, if the module specifies a module name, it would report the URL as wasm://wasm/<module-name>-<hex-script-id>, as this will help the user identify what they are debugging. Bug: chromium:1017678 Change-Id: I26ff6249bd1e832d62402619a68b61c115c24640 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1888810 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64703}
-
- 30 Oct, 2019 1 commit
-
-
Michael Starzinger authored
This fixes the streaming decoder to report the correct error position for repeating code sections (i.e. only one code section per module). R=clemensb@chromium.org Change-Id: Ie02d704d74b4e051fa9b00288dd6d1e46e2418a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890094 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64654}
-
- 08 Oct, 2019 2 commits
-
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set)Global' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set)Global\b/kExprGlobal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I064a6448cd95bc24d31a5931b5b4ef2464ea88b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847355 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64163}
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set|Tee)Local' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set|Tee)Local\b/kExprLocal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I1617f1b2a100685a3bf56218e76845a9481959c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847354Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64161}
-
- 01 Oct, 2019 1 commit
-
-
Andreas Haas authored
Apparently this is necessary. R=ulan@chromium.org Bug: v8:9396 Change-Id: Ia7c439308fb7edbb901f595aeb9fbf9389858daa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832161Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64056}
-
- 26 Sep, 2019 1 commit
-
-
Clemens Backes authored
R=adamk@chromium.org No-Try: true Change-Id: Idedb3d80382c876f09c545cf0f1cc7387b9ad805 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825242 Auto-Submit: Clemens Backes [né Hammacher] <clemensb@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63979}
-
- 24 Sep, 2019 1 commit
-
-
Clemens Hammacher authored
In the {Fixed} variant, the {WasmCodeManagerTest} always reserves 1GB of memory. This makes the test run OOM on many 32-bit platforms. Instead of skipping it selectively, this CL just removes the whole test. It caused a lot of trouble in the past, and needs two test-only methods in the WasmCodeManager. Also, the {Fixed} variant will not be needed any more with the wasm far jump table, since modules can always grow then. Drive-by: Clean up the unittests status file a bit. R=mstarzinger@chromium.org Bug: v8:9477 Change-Id: I5b6f8ed9f800863575c69d49d5df82f21fd23030 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815251Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes [né Hammacher] <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63942}
-