- 13 Oct, 2020 3 commits
-
-
Zhao Jiazhong authored
Change-Id: I3f5dbb0fbae3862a6da4146b83e49986c8be3bdc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2467015Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#70469}
-
Javad Amiri authored
This disables the following features for --enable-third-party-heap: - inline allocation: all allocation are directed to runtime for now until we have support for TPH inline allocation. - allocation site pretenuring: this feature relies on ephemeral memento objects placed after ordinary objects and is tightly coupled with V8's GC. - allocation folding in TurboFan: this feature assumes that objects of different size and type can be allocated on the same page using bump-pointer allocation. Bug: v8:9533 Change-Id: Idbdf1dac566f37db379e5d4b43e0741886f4e69b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463004 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70468}
-
mathetake authored
CreateFrameFromInternal always creates StackFrame from the frame at the index zero, which is fine for the usage in Trap::origin, but is a bug for Trap::trace Change-Id: Ia9471f600c5165ffc1c165b2f114b40acbe5b1e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465353 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70465}
-
- 12 Oct, 2020 21 commits
-
-
Ng Zhi An authored
These are still not in proposal, so they should be behind the post-mvp flag. Bug: v8:10972 Change-Id: I1b53307f334ddd8e21a095c13d7f7abb8ce05203 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465654 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#70463}
-
Ng Zhi An authored
On AVX, many instructions can have 3 operands, unlike SSE which only has 2. So on SSE we use DefineSameAsFirst on the dst. But on AVX, using that will cause some unnecessary moves. This patch changes a couple of F32x4 and S128 instructions to remove this restriction when AVX is supported. We can't use AvxHelper since it duplicates the dst for the call to the AVX instruction, which isn't what we want. The alternative is to redefine Mulps and other functions here, but there are other callsites that depend on this duplicated-dst behavior, so it's harder to change. We can migrate this as we move more logic over to non-DefineSameAsFirst for AVX. With the meshopt_decoder.js in the linked bug, it removes 8 SIMD movs (from a function that has 300+ lines of assembly.) Note that from agner's microarchitecture.pdf, page 127, "Elimination of move instructions", many times such moves can be eliminated by the processor. So this change won't speed up perf, but it helps a bit with binary size, and decoder pressure. Bug: v8:10116,v8:9561 Change-Id: I125bfd44e728ef08312620bc00f6433f376e69e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465653Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70462}
-
Ng Zhi An authored
This implements i8x16.popcnt on arm64 and interpreter. Bug: v8:11002 Change-Id: Ia94a053d7e0a0c800057ac80865ba6f86ac7caf8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461058Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70461}
-
Ng Zhi An authored
Implement on interpreter and x64. Bug: v8:10997 Change-Id: I3537ce54e1b56cc3b04d91cb07c430c35b88c3aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459109 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#70459}
-
Zhi An Ng authored
This reverts commit 5e5eaf79. Reason for revert: Failure on V8 Linux gcc https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20gcc/8929? Original change's description: > [csa] Fix semantics of PopAndReturn > > This CL prohibits using PopAndReturn from the builtins that > have calling convention with arguments on the stack. > > This CL also updates the PopAndReturn tests so that even off-by-one > errors in the number of poped arguments are caught which was not the > case before. > > Motivation: > > PopAndReturn is supposed to be using ONLY in CSA/Torque builtins for > dropping ALL JS arguments that are currently located on the stack. > Disallowing PopAndReturn in builtins with stack arguments simplifies > semantics of this instruction because in case of presence of declared > stack parameters it's impossible to distinguish the following cases: > 1) stack parameter is included in JS arguments (and therefore it will > be dropped as a part of 'pop' number of arguments), > 2) stack parameter is NOT included in JS arguments (and therefore it > should be dropped in ADDITION to the 'pop' number of arguments). > > This issue wasn't noticed before because builtins with stack parameters > relied on adapter frames machinery to ensure that the expected > parameters are present on the stack, but on the same time the adapter > frame tearing down code was effectively recovering the stack pointer > potentially broken by the CSA builtin. > > Once we get rid of the arguments adapter frames keeping stack pointer > in a valid state becomes crucial. > > Bug: v8:5269, v8:10201 > Change-Id: Id3ea9730bb0d41d17999c73136c4dfada374a822 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460819 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70454} TBR=tebbi@chromium.org,ishell@chromium.org Change-Id: I2673982a8f51cbecf421af11b0ce5ad5031fb406 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5269 Bug: v8:10201 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465656Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70458}
-
Ng Zhi An authored
This flag allows you to filter printing Wasm code to one particular function index. Bug: v8:10791 Change-Id: I400ccaadb8330e5e31e2faefdeddb169cdc85f71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459259 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70457}
-
Ng Zhi An authored
Load lane loads a value from memory and replaces a single lane of a simd value. This implements the load (no stores yet) for x64 and interpreter. Bug: v8:10975 Change-Id: I95d1b5e781ee9adaec23dda749e514f2485eda10 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2444578 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#70456}
-
Ng Zhi An authored
These instructions are not in the proposal, and will be unlikely to be requested (poor performance, insufficient use cases). As we get more instruction suggestions, these are sitting around on useful opcodes and we have to play musical chairs every time we prototype a new instruction. Bug: v8:10933 Change-Id: Ic7ce4e514c343d821f76b8c071e41f9bddfbd1ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2457669Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70455}
-
Igor Sheludko authored
This CL prohibits using PopAndReturn from the builtins that have calling convention with arguments on the stack. This CL also updates the PopAndReturn tests so that even off-by-one errors in the number of poped arguments are caught which was not the case before. Motivation: PopAndReturn is supposed to be using ONLY in CSA/Torque builtins for dropping ALL JS arguments that are currently located on the stack. Disallowing PopAndReturn in builtins with stack arguments simplifies semantics of this instruction because in case of presence of declared stack parameters it's impossible to distinguish the following cases: 1) stack parameter is included in JS arguments (and therefore it will be dropped as a part of 'pop' number of arguments), 2) stack parameter is NOT included in JS arguments (and therefore it should be dropped in ADDITION to the 'pop' number of arguments). This issue wasn't noticed before because builtins with stack parameters relied on adapter frames machinery to ensure that the expected parameters are present on the stack, but on the same time the adapter frame tearing down code was effectively recovering the stack pointer potentially broken by the CSA builtin. Once we get rid of the arguments adapter frames keeping stack pointer in a valid state becomes crucial. Bug: v8:5269, v8:10201 Change-Id: Id3ea9730bb0d41d17999c73136c4dfada374a822 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460819 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#70454}
-
Ng Zhi An authored
Use a doubly-nested switch on SimdType for conversions, this ensures that we handle all possible cases (and we actually missed one, converting i64x2 -> f32x4, which is added in this patch.) Bug: v8:10507 Change-Id: I493becb2616c51d02d5868f235653baba5a0b4af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464144 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#70453}
-
Ng Zhi An authored
Manual copy and paste of all code found in the namespace base. I didn't change any of the implementation code. Pull in a new file for optimized ARM implementation. Added a list of adaptions made to document what is different from chromium. Change-Id: I88b4af45437506cf57755e48fdfc88027a5aed33 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436610 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#70452}
-
Mythri A authored
For turboprop, it's a better tradeoff to reuse the code than specialising the code for a particular closure especially given we optimize quite early when compared to Turbofan. Bug: v8:9684 Change-Id: Icf5d8548bbdcac9e202dcf44c68e06cc4c732ba7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461242 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#70451}
-
Zhao Jiazhong authored
Bug: v8:10201 Change-Id: I86cd6b73787cea307013dd311d048b20459ad573 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465052Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#70447}
-
Ross McIlroy authored
Cleanup code to factor out bit-checks on register allocations to a seperate RegisterBitVector class. BUG=v8:9684 Change-Id: I33306a858da252d0be76eecaa9ea47b9b53f088b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464936Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#70446}
-
Anna Henningsen authored
Fix a crash/hang that occurred when deleting a snapshot during the GC that is part of taking another one. Specifically, when deleting the only other snapshot in such a situation, the `v8::HeapSnapshot::Delete()` method sees that there is only one (complete) snapshot at that point, and decides that it is okay to perform “delete all snapshots” instead of just deleting the requested one. That resets the internal string lookup table of the heap profiler, but the new snapshot that is currently in progress still holds references to the old string lookup table, leading to a use-after-free segfault or infinite loop. Fix this by guarding against resetting the string table while another heap snapshot is being taken, and add a test that would crash before this fix. This can be triggered in Node.js by repeatedly calling `v8.getHeapSnapshot()`, which provides heap snapshots as weakly held host objects. Change-Id: If9ac3728bf79114000982f1e7bb05e8034299e3c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464823Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70445}
-
gengjiawen authored
See: https://github.com/nodejs/node/pull/35415 Change-Id: I5d77ae202d4bbfb0971246fe5de9c0ad17c485ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459491Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Jiawen Geng <technicalcute@gmail.com> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#70444}
-
Jakob Gruber authored
This is a reland of e2408c25 Changes since last time: also accept CRASH test results. For some reason, the CHECK failure is detected as a CRASH on mac bots. Original change's description: > [regexp] Protect against reentrant RegExpStack use > > Irregexp, and in particular the RegExpStack, are not reentrant. > Explicitly guard against reentrancy. > > Bug: chromium:1125934 > Change-Id: I0fc295f6986a89221982e6a2ccefed46193974f6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460820 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Auto-Submit: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70436} Tbr: yangguo@chromium.org Bug: chromium:1125934 Change-Id: I2116ca5944c49f6114228d4402847bdd426bdd7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465823Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70441}
-
Santiago Aboy Solanes authored
A handful of methods were loading the same member twice in the same method. Bug: v8:7790 Change-Id: I20a1a95ed9dae2ff75bfdbf4c571d26ad02b1f94 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2454717Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#70440}
-
Ulan Degenbaev authored
This removes redundant worklist draining in the fix-point iteration. It may discover more ephemerons and break the assertion. The draining is not needed because FinishConcurrentMarking ensures that all background threads drain their worklists. Bug: chromium:1136405 Tbr: etiennep@chromium.org Change-Id: I3a311dca36dd2f88ab5006f995be235c74c1a0f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464933Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70439}
-
Nico Hartmann authored
This reverts commit e2408c25. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64/36733?1 Original change's description: > [regexp] Protect against reentrant RegExpStack use > > Irregexp, and in particular the RegExpStack, are not reentrant. > Explicitly guard against reentrancy. > > Bug: chromium:1125934 > Change-Id: I0fc295f6986a89221982e6a2ccefed46193974f6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460820 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Auto-Submit: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70436} TBR=yangguo@chromium.org,jgruber@chromium.org Change-Id: I7b51659d21fe2d49ff343f4de0f6bb9720281b86 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1125934 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465822Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#70437}
-
Jakob Gruber authored
Irregexp, and in particular the RegExpStack, are not reentrant. Explicitly guard against reentrancy. Bug: chromium:1125934 Change-Id: I0fc295f6986a89221982e6a2ccefed46193974f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460820 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#70436}
-
- 09 Oct, 2020 13 commits
-
-
Ng Zhi An authored
Lowering for f32x4 and f64x2 pmin and pmax. Bug: v8:10501,v8:10507 Change-Id: I2d92d337835a62e6adb979ed573b616cc2b86c25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461453Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70434}
-
Samuel Groß authored
This change tags pointers in the external pointer table with a type dependent value in order to prevent type confusions between different external pointers. Bug: v8:10391 Change-Id: I5a83178e5ac46d49a99c91047816926120d801d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2443133Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Samuel Groß <saelo@google.com> Cr-Commit-Position: refs/heads/master@{#70430}
-
Omer Katz authored
Tracing JSMembers uses the bailout mechanism. The bailout is implemented as a dynamic mechanism named DeferTraceToMutatorThreadIfConcurrent that is called from relevant Trace methods. Bug: chromium:1056170 Change-Id: I90e6feae25c4c832be256693f9e44a963a6794b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2426613 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#70429}
-
Michael Lippautz authored
Adds a cross-thread reference for strongly and weakly retaining objects on a thread other than the thread that owns the object. The intended use of the reference is by setting it up on the originating thread, holding the object alive from another thread, and ultimately accessing the object again on the originating thread. The reference has known caveats: - It's unsafe to use when the heap may terminate; - It's unsafe to transitively reach through the graph because of compaction; Change-Id: I84fbdde69a099eb54af5b93c34e2169915b17e64 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436449 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#70428}
-
Ross McIlroy authored
BUG=v8:9684 Change-Id: I064b552b021597a80e57303cab3c2fbf552be6a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463228 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#70427}
-
Clemens Backes authored
Always install the Abort builtin first, because heap validation might get triggered while we compile the wasm-to-js wrapper, and it would find an illegal WasmJSFunctionData object otherwise. TBR=manoskouk@chromium.org Bug: v8:9495 Change-Id: I959eb3b6e9944db8b7ad7ecd0a51eefdab98c751 No-Tree-Checks: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463230Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70426}
-
Ulan Degenbaev authored
Since GC can now happen during deserialization, object fields may contain the Smi sentinel value instead of pointers. This adds the required guards to methods of NativeContextInferrer Bug: chromium:1136801 Change-Id: I7338f31bf6ee34b8dee8431b8250d2cc2978e0c2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461241 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#70425}
-
Marja Hölttä authored
(Thanks jbroman@ for the strawperson fix.) Bug: chromium:1136800 Change-Id: I4aee55ef40069b460f59ef5b7ba7fc50ab7033cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463225 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#70423}
-
Mythri A authored
HandleBase::is_identical_to() is_identical_to in handle base is used to do the exact comparison by just comparing the locations. When the locations are different the values are compared. For Smis it compares 64 bits which might lead to incorrect behaviour. Smis loaded as a TaggedField has the root address added. It is expexted that we don't use higher order bits on Smi. Hence, is_identical_to shouldn't use these bits when comparing Smis. This cl fixes it by comparing the objects created from the given location. That takes care of correctly comparing the required bits. Change-Id: I574dfbea4c1fffc7a9e3a6a10ad7631d40c518ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461743 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#70422}
-
Manos Koukoutos authored
Changes: - Add wasm-to-js wrapper field to WasmJSFunction. A WasmJSFunction might be called with call_ref without being imported to a module, and this provides a call target for this scenario. The wrapper is only compiled if --experimental-wasm-typed-funcref is set. - Add CompileWasmToJSWrapper in wasm-compiler. - Rename BuildLoadFunctionDataFromExportedFunction -> BuildLoadFunctionDataFromJSFunction to reflect its wider usage. - Rename BuildWasmImportCallWrapper -> BuildWasmToJsWrapper to reflect this function is now also used by CompileWasmToJSWrapper (unrelated to imports). - (Drive-by) Remove dead arguments from wasm-module-builder.js. Bug: v8:9495 Change-Id: I23468b69d42310cb8e96da5286ce68c701188876 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459371Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#70421}
-
Camillo Bruni authored
Return undefined instead of hard-crashing. Bug: chromium:1130213 Change-Id: I7e573f46607fc0e7b91db62d881b4209b919028e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2456087 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#70420}
-
Etienne Pierre-doray authored
This is a reland of 84eec6e9 Original change's description: > [wasm] Use NumOutstandingCompilations() in BackgroundCompileJob:GetMaxConcurrency() > > This simplifies current_compile_job_ since ScheduleCompileJobForNewUnits > is only called on the main thread. > > From pinpoint: > v8:wasm:sync_instantiate:wall_time: 19.1% improvement > v8-gc-incremental-step: 20.5% improvement > https://pinpoint-dot-chromeperf.appspot.com/job/152920d8520000 > > Change-Id: Id560080937f5439cf3321ce9306c7cae49e74798 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2442383 > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70386} Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Change-Id: Ic989b64f130a00ce52228cdd2f57f4c1ade354f2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2458147 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70418}
-
Etienne Pierre-doray authored
This is a reland of 4848de2a Issue 1136405: non empty ephemeron list after FinishConcurrentMarking Fix: COMPLETE_TASKS_FOR_TESTING Join()s instead of Cancel() Issue: Failing TSAN failures Fix: Safe to reland after https://chromium-review.googlesource.com/c/v8/v8/+/2461726 Original change's description: > Reland "[Heap]: Marking use Jobs." > > This is a reland of 4a2b2b2e > > Original change's description: > > [Heap]: Marking use Jobs. > > > > StopRequest is removed in favor of: > > COMPLETE_TASKS_FOR_TESTING -> JoinForTesting() > > PREEMPT_TASKS -> Pause() > > COMPLETE_ONGOING_TASKS now has the same behavior as PREEMPT_TASKS > > - we should avoid waiting on the main thread as much as possible. > > > > Change-Id: Icceeb4f0c0fda2ed234b2f26fe308b11410fcfb7 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2376166 > > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#70037} > > Change-Id: I386f619501ad07997278543868bc889a60afcc8b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423938 > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70387} Bug: chromium:1136405 Change-Id: I511c3d1747ef79ed6e7066c9a5bba052f9d4cd37 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2458246 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70416}
-
- 08 Oct, 2020 3 commits
-
-
Ng Zhi An authored
Missed this earlier when it was merged into the proposal. f32x4 and f64x2 ceil, floor, trunc, nearestint. Also enable cctests. Bug: v8:10507,v8:10906 Change-Id: I2de00e615cd63d81303649774db2a2ab800f6f72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461451Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70415}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I4214978f31ae754e4940dfca4182ada202d17c01 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2456688Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70412}
-
Leszek Swirski authored
Create a HandleScope when serializing an object's contents, to reduce the number of live handles during serialization. There's only a couple of cases where these handles have to outlive the serialized contents, and for these cases we introduce GlobalHandleVector or similar manual strong root mechanisms. In particular, backrefs don't actually need to exist as a handle vector (the object addresses are already referred to by the reference map's IdentityMap), except for DCHECKs, so this becomes a DEBUG-only global handle vector. To support this manual strong-rooting, the HotObjectList is split up into a strong-rooted find-only class in Serializer, and a Handle vector in Deserializer. Bug: chromium:1075999 Change-Id: I586eeeb543e3f6c934c168961b068f2c34e72456 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2449980Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#70411}
-