- 22 Jan, 2020 28 commits
-
-
Deepti Gandluri authored
Bug: v8:10021 Change-Id: I23a693064c44cd620a874787bcc00cb42bc5874f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1999158 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#65933}
-
Steve Blackburn authored
Bug: v8:9533 Change-Id: Ia2239a591abf68f64efe4a993671b7184a5cf5cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013115 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#65932}
-
Clemens Backes authored
This flag was used for IndexedDB support. Last uses in chrome were removed in https://crrev.com/c/2013046, hence the API method can be deprecated. Also remove deserializer tests that were disabled by default or just test that random bytes (from the deserializer's perspective) fail to decode. R=adamk@chromium.org Bug: v8:10146 Change-Id: I8596849c3b51ab1c60272a49ff3fdaa0946452bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013104 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#65931}
-
Clemens Backes authored
Both the API wrapper as well as the internal object are named "WasmModuleObject". This CL renames the object type check from "IsWebAssemblyCompiledModule" to "IsWasmModuleObject" to be consistent. R=adamk@chromium.org Bug: v8:10021 Change-Id: I6d5814421f38bc5f5bd73a492ff4a36f552ff763 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013109Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65930}
-
Z Nguyen-Huu authored
This is a reland of faccc95b Since 1c9bb77d, async jobs use existing entry in native module cache and skip recompilation so we need to fix the test. Original change's description: > Reland "[wasm] Perform NativeModule tier down in parallel." > > This is a reland of 3352fcc9 > > Disable stress-opt for test and check recompilation before clearing > callbacks. > > Original change's description: > > [wasm] Perform NativeModule tier down in parallel. > > > > Reuse logic in {CompileNativeModule} function in module-compiler.cc: > > initialize parallel compile jobs, then wait for them to finish while > > taking part in this compilation. > > > > Bug: v8:9654 > > Change-Id: I9974d9f8b516e9faec716a592c7c0ee9c7077d8e > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1977041 > > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#65763} > > Bug: v8:9654 > Change-Id: I8e8830f05e189596207365b7332a2cc25e493e47 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002945 > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65901} Bug: v8:9654 Change-Id: Ia63b86d4275088d93202046bc9823e6202b7991a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2012986Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#65929}
-
Andreas Haas authored
R=clemensb@chromium.org Bug: v8:10108 Change-Id: I6c1cb975c38542ae3811963fe08d9155f7ecef13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011826Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#65928}
-
Ng Zhi An authored
Take care of the case when loading from stack slot into registers during PrepareCall. register_loads_ knows nothing of fp pair (it calls liftoff_code, which is nonsense for an fp pair), so we pass it dst.low(). Earlier on in LoadStackSlot, we call load_dst_regs_.set(dst). This is implement to set both dst.low() and dst.high(). Later when we iterate over load_dst_regs_ (in ExecuteLoads), we special case loads of kWasmS128, and reconstruct a LiftoffRegister that is a fp pair (only when required), since LiftoffAssembler::Fill knows how to handle loading of s128 values. However, since we also set dst.high(), we will iterate over it too, but end up getting a RegisterLoad of nonsense values. This is not handled in the switch cases at all, so it works. Instead of this, we could transform a s128 load into two f64 load, and PrepareCall will be the only place that does this, since other callers of Fill will use kWasmS128. And we would have to do 2 loads instead of 1 add and 1 load. Bug: v8:9909 Change-Id: I20f69de48a650b457a199fde02c8e58641b2c176 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013920Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#65927}
-
Andreas Haas authored
R=clemensb@chromium.org Bug: v8:10108 Change-Id: Ia4fb73e1771971638ca646702838b5722dafe140 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2010112 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65926}
-
Ng Zhi An authored
In both PrepareCall and ProcessParameter, we were incorrectly passing the reg code of a Q register into LiftoffRegister::ForFpPair, which takes a D register. Similar to the F32 case (the reg code was halved), the reg code needs to be doubled (q1 -> d2) before constructing the LiftoffRegister. Bug: v8:9909 Change-Id: Id4df9e99b92546f68be0d99d98f0a1ac25ee7e5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013492Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#65925}
-
Jakob Kummerow authored
The actual allocatable size still depends on the allocator; in particular Blink's ArrayBufferAllocator is currently limited to 2GB. WebAssembly memories are not affected by this change (i.e. still capped at 2GB as well). For 32-bit platforms, the limit remains at 2**30-1 (=max smi) elements. Bug: v8:4153 Change-Id: If0d6047dd4061028688d85a3dc0a2684dcca8693 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2007495Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65924}
-
Ng Zhi An authored
Add a case for is_fp_pair in StackTransferRecipe, when moving registers. This is similar to the is_gp_pair case, but we only need to check the low fp register, and move both low and high if the low fp register is different. Bug: v8:9909 Change-Id: I02f72f6390a1b2802afce5e91ed227b749d838ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013223 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65923}
-
Clemens Backes authored
Serialization of WasmModuleObject was our first implementation for postMessage, and was used for IndexedDB. IndexedDB support is removed since a long time, and postMessage works by just messaging an identifier and reusing the underlying NativeModule when receiving this. Thus the logic to serialize the actual code is unused, and thus should be removed together with all tests. R=ahaas@chromium.org Bug: v8:10146 Change-Id: I599296736dabd486c45ced2b6e5996e490fa40c8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013110Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65922}
-
Clemens Backes authored
This CL adds a --debug-in-liftoff flag, which takes another path in {WasmScript::SetBreakPointForFunction}, and sets the breakpoint via {wasm::DebugInfo} (Liftoff-related) instead of {WasmDebugInfo} (C++ interpreter related). Actual breakpoint support is not there yet, so the new test which sets this flag does not currently break anywhere. This will change with a future CL. R=thibaudm@chromium.org Bug: v8:10147 Change-Id: I95a905e666b8f502366d2c7273c8f25a267ee184 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2012920 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#65921}
-
Toon Verwaest authored
Changing script context handling from bytecode based to metadata on the function. This fixes the debugger to explicitly check the code rather than implicitly relying on a NewScriptContext bytecode causing side effects. Bug: chromium:1043151 Tbr: ulan@chromium.org Change-Id: I38c5c04d7c76155e0a055ae6efd57f25986bdb7d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013117Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#65920}
-
Shiyu Zhang authored
This is a reland of 3b753563 Original change's description: > Reland "[runtime] Cache prototype chain enumerable keys in PrototypeInfo" > > This is a reland of 5253d7bf > > Original change's description: > > [runtime] Cache prototype chain enumerable keys in PrototypeInfo > > > > This CL adds a prototype_chain_enum_cache to cache the enumeration of a > > prototype and its entire chain on the PrototypeInfo. It can improve for-in > > performance via simply merging the receiver enumeration with this cache. > > > > It improves the score of JetStream2-tagcloud-SP case by ~9% on IA Chromebook. > > > > Contributed by tao.pan@intel.com > > > > Change-Id: Ib40bfe41e772672337155584672f06fa1ba1e70d > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1870844 > > Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com> > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#65224} > > Change-Id: I93b74727c46abbaab163324c50fbd977fcc9bb36 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955232 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com> > Cr-Commit-Position: refs/heads/master@{#65377} Change-Id: If4b4631e1b8a3d2df748b6be8500f838836a3291 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2008253 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#65919}
-
Georg Neis authored
... and consult it there from the various reducers. The flag makes no sense without the broker and the reducers already have access to the broker, so we can avoid an additional flag per reducer. Bug: v8:7790 Change-Id: I448050a55951b94d5313c1a79a502be906b98b25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013108 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#65918}
-
Peter Marshall authored
This flag enables the CPU profiler before running any scripts in D8. This is so that we can turn the flag on during fuzzing to help us find security and stability issues. Right now this flag has problems with a bunch of tests under mjsunit/asm which fail in the stack walker when the flag is on. I'll address these in a follow-up before we turn this on for fuzzing. Bug: v8:10150 Change-Id: Ief8134ab2e9da63851b9c235f47ba217d1dce348 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013111Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#65917}
-
Peter Marshall authored
Add a test that const declarations are recognized as having side- effects in REPL mode. Bug: chromium:1043151 Change-Id: I6f8038ab4a5ee446d23904ed46637223157db5c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013114Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#65916}
-
Peter Marshall authored
Reason: Breaks side-effect free debug evaluate for let/const declarations Revert "[interpreter/runtime] Create ScriptContext before Script invocation" This reverts commit 9e51f79e. Revert "[interpreter/runtime] Hole script let/const requiring initialization in NewScriptContext" This reverts commit a128e38f. TBR=verwaest@chromium.org,leszeks@chromium.org,szuend@chromium.org,ulan@chromium.org Bug: chromium:1043151 Change-Id: Ib802789f45f8d7dbb4c2ccc30c6246e32155a92b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013112 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#65915}
-
Philip Pfaffe authored
Get rid of two left-over special-cases for wasm scripts that have (or don't have) a SourceMapURL attached to them. Bug: chromium:1013527 Change-Id: I51bab8074011299e6f0d1fd32d93e4cb559bd476 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013113Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#65914}
-
Philip Pfaffe authored
In the debugger, wasm scripts currently do not contain meaningful column informations. Fix that by keeping track of the offset and size of the wasm code section inthe module and reporting that to the debugger. Bug: chromium:1042636 Change-Id: Ie2b5d3a50952a467d256f815c16e459cb0ae600e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011083 Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65913}
-
Andreas Haas authored
The instruction selector assumed for Word32AtomicPairLoad node that if there exists a Projection(1) user, then there also exists a Projection(0) user. This, however, is not the case, because TurboFan eliminates unreachable nodes. The missing projection node lead to a failed DCHECK in the register allocator. To fix the problem I use now the Word32AtomicPairLoad node directly to allocate the register. On ia32 I stop additionally to allocate unneeded temp registers. R=gdeepti@chromium.org CC=zhin@chromium.org Bug: chromium:1042379 Change-Id: I79bd9f3f4672e147246a71c32b7c9b4dbd79b17f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002547 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#65912}
-
Joey Gouly authored
A port of https://chromium-review.googlesource.com/c/v8/v8/+/2011103 for arm64. Saves 2784 bytes (0.2%) in the arm64.release embedded.S Change-Id: Ifae6b3f220356ab286b49750c7ae422e4b6d4306 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013107Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Joey Gouly <joey.gouly@arm.com> Cr-Commit-Position: refs/heads/master@{#65911}
-
Georg Neis authored
Bug: chromium:1027130 Change-Id: Ifd1f355ce266e672183f337f114432f11a866a52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011835 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#65910}
-
Johannes Henkel authored
Instead, serialize to CBOR, then convert to JSON. I plan to remove the JSON serialization support from protocol::Value and from the generated types. We're close - three files here, four files in Chromium. Change-Id: I067dc896dad1bb7cd95914b3dcc86597f136251b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2008751 Commit-Queue: Johannes Henkel <johannes@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#65909}
-
Clemens Backes authored
This API was used for IndexedDB support and for transferring modules by serializing and deserializing (before we were sharing code between isolates). Last uses were removed in https://crrev.com/c/1847366, thus this whole API is unused by now. This CL deprecates the API and refactors tests to use the internal APIs instead. R=adamk@chromium.org Bug: v8:10146 Change-Id: I838039b4be7ea4eebe6769f31f48e51e7bcd4645 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2006090 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#65908}
-
Michael Achenbach authored
Otherwise, the last tests that ran in a worker keep sitting on their sigterm handlers without any running processes. This creates exceptions when workers terminate. Bug: v8:8292 Change-Id: Iefb9a4a353399c1e3168eae2916e3cedca4e09b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011831Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#65907}
-
Clemens Backes authored
The previous link does not use http, and redirects to http://developers.google.com/v8/?csw=1, which again redirects to https://v8.dev/. Thus place the proper link directly. R=ulan@chromium.org No-Try: true Change-Id: Ifb4fa7cbb5727bab1a2e46ce1801fdef7c70a5ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2010797Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65906}
-
- 21 Jan, 2020 12 commits
-
-
Clemens Backes authored
Since we create the asm offset table ourselves, we can skip all decoder error checks when decoding it. We keep DCHECKs though to catch errors early and give fuzzers a change to find inconsistencies in our encoding and decoding. R=jkummerow@chromium.org Bug: chromium:667678 Change-Id: I2c77f3857548057ce5c432d1c6f5576d66ca5cd1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011086 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65905}
-
Ng Zhi An authored
Add a case for kWasmS128 in Spill. We encounter this in the wasm-trace-memory-liftoff test, but that test was skipped on ARM and ARM64 due to insufficient implementation of Liftoff on those archs. But with recent changes, they are now capable of running this particular test, so we enable it. Drive-by fix for incorrect size used in vld1 for filling S128 values. Bug: v8:9909 Change-Id: I8addd06ba3c9a40364e432180cd5dbc48debca23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2007901 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65904}
-
Zhi An Ng authored
This reverts commit faccc95b. Reason for revert: Causing some failures, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20verify%20csa/15741 and https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64/35635 and https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64/32736 Original change's description: > Reland "[wasm] Perform NativeModule tier down in parallel." > > This is a reland of 3352fcc9 > > Disable stress-opt for test and check recompilation before clearing > callbacks. > > Original change's description: > > [wasm] Perform NativeModule tier down in parallel. > > > > Reuse logic in {CompileNativeModule} function in module-compiler.cc: > > initialize parallel compile jobs, then wait for them to finish while > > taking part in this compilation. > > > > Bug: v8:9654 > > Change-Id: I9974d9f8b516e9faec716a592c7c0ee9c7077d8e > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1977041 > > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#65763} > > Bug: v8:9654 > Change-Id: I8e8830f05e189596207365b7332a2cc25e493e47 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002945 > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65901} TBR=clemensb@chromium.org,duongn@microsoft.com Change-Id: I99f5a5455a022d0cbff3da54610cedfe6380a094 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9654 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2012985Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#65903}
-
Clemens Backes authored
This is a pure refactoring to make the {GraphAssembler} available in all of {WasmGraphBuilder}, including {WasmWrapperGraphBuilder}. Future CLs will use more features of the {GraphAssembler} for building wasm graphs. The {WasmGraphAssembler} class will be extended to contain functionality only needed (or making sense) in the context of wasm. Drive-by: Move fields to the end of the {WasmGraphBuilder} class. R=jkummerow@chromium.org Bug: v8:10123 Change-Id: Idf44915944882adec75ef002ec577f63b2317a17 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011825Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65902}
-
Z Nguyen-Huu authored
This is a reland of 3352fcc9 Disable stress-opt for test and check recompilation before clearing callbacks. Original change's description: > [wasm] Perform NativeModule tier down in parallel. > > Reuse logic in {CompileNativeModule} function in module-compiler.cc: > initialize parallel compile jobs, then wait for them to finish while > taking part in this compilation. > > Bug: v8:9654 > Change-Id: I9974d9f8b516e9faec716a592c7c0ee9c7077d8e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1977041 > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65763} Bug: v8:9654 Change-Id: I8e8830f05e189596207365b7332a2cc25e493e47 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002945 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65901}
-
Clemens Backes authored
The asm.js offset table exists in two forms: Delta-encoded in a byte array, as generated during asm translation, and decoded, for faster lookup. This CL moves the encoded version from the {AsmWasmData} and {WasmModuleObject} to the {WasmModule}, and stores it off-heap in a C++ array instead of a {ByteArray}. Also, it moves the decoded version off-heap by storing it in a C++ data structure that makes lookup easy, instead of encoding it again in another {ByteArray}. This change is a nice refactoring in itself, but it also prepares adding more information to the offset table. For reconstructing the source code of an asm.js function, we will need to store the start and end offsets of the whole function as well (see linked bug). R=jkummerow@chromium.org Bug: chromium:667678 Change-Id: I79b789c3122dd8ba803cedc6bfdcc3d4b1fa0fd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011108 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65900}
-
Joshua Litt authored
Bug: v8:9838 Change-Id: I04383cba6dcb5fc61c82cb8018160aff6fed3b15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988794 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#65899}
-
Clemens Backes authored
The test was supposed to manipulate the serialized bytes to make them invalid, but the value at the manipulated position was already 0, hence the bytes stayed valid. This went unnoticed before https://crrev.com/c/2010786, since there was a fallback anyway to re-compile the module if deserialization fails. This CL fixes this by using the right offset, and checking that the value there is not already zero. R=thibaudm@chromium.org Change-Id: Ie0eaf2c8ee9e8c4c477f717f3d8aed8564b3adbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2007493 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#65898}
-
Milad Farazmand authored
Change-Id: I6586dc2b681b93cb5401b3e990786ee407baff73 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2012520Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#65897}
-
Andreas Haas authored
R=clemensb@chromium.org Bug: v8:10108 Change-Id: Icbb00a268c311b133195a2ffbcb66dc8f1c72a0d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1997142 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65896}
-
Thibaud Michaud authored
Move caching logic out of the {WasmEngine} and in its own {NativeModuleCache} class, with its own mutex. R=clemensb@chromium.org Bug: v8:6847 Change-Id: I73067fd9f0556e57c28782088dcb772a14265154 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2004613Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#65895}
-
Clemens Backes authored
There is not really a reason to guard the first by the latter. Just emit a hint if --trace-liftoff is used without --trace-wasm-decoder, but still make it work. Also, used DEFINE_DEBUG_BOOL instead of guarding the output by another "#ifdef DEBUG". R=ahaas@chromium.org Change-Id: Ia7d3f504df92779447877612e98b9c2a847b9f6b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011828Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65894}
-