- 23 Oct, 2020 14 commits
-
-
Omer Katz authored
This is a reland of 90ea9b35 Original change's description: > cppgc: Port backing store compaction. > > This CL ports the existing backing store compaction algorithm from > blink. It does not attempt to improve on the existing algorithm. > > Currently only unified heap uses the compaction implementation. It is > never triggered through standalone GCs. > > The compaction implementation resides within an internal "subtle" namespace. > > Bug: v8:10990 > Change-Id: I4aa781db1b711e7aafc34234c4fb142de84394d7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485228 > Commit-Queue: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70714} Bug: v8:10990 Change-Id: I527c2042a26648d058bfe4d355527cce9a3eeadc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2492331 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70736}
-
Michael Lippautz authored
Enables following JS references for unified heap snapshots. Any object that's referencing a JS objects is marked as visible. Followup: - Handling (merging) of wrapper/wrappable pairs. Change-Id: I02d41a3224265f38d934dcb2686ac24b49c1dbd7 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2489698Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70735}
-
Clemens Backes authored
1. Remove {kOneGiB}, use the global {GB} instead. 2. Inline {GetGuardedRegion} into the single caller {GetRegion}, to remove another "#if V8_TARGET_ARCH_64_BIT". 3. Rename {GetRegion} to {GetReservedRegion}. R=ahaas@chromium.org Bug: v8:10933 Change-Id: I3b26ae0036db0d910165ed4d993d27262f2cb5ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491035Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70734}
-
Leszek Swirski authored
Increase --finalize-streaming-on-background test coverage by enabling it on the stress_js_bg_compile_wasm_code_gc variant. Bug: chromium:1011762 Change-Id: I0df1ae9a1e73a9ce26f84c87136da1f89e9b18b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494929 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#70733}
-
Clemens Backes authored
If trap handlers are disabled, we don't need guard regions around wasm memories. Hence use the dynamic {trap_handler::IsTrapHandlerEnabled()} check, instead of always reserving guard regions on all 64-bit platforms. This will allow to reserve pretty much arbitrarily many wasm memories if trap handlers are disabled. Two tests are added to test the number of memories that can be allocated: With trap handlers, at least 50 memories should always be possible. Without trap handlers, 10000 small memories should not be a problem (each one is taking 64kB, so it's 640MB overall). Drive-by: Improve tracing. R=ahaas@chromium.org Bug: v8:11017 Change-Id: Ic4c620f63dfbef571e64df0b3372b83a1db566ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491034Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70732}
-
Ross McIlroy authored
The TryMigrateInstance should be passed the instance object to migrate, not the map of the object. Also make the runtime function explicitly check for JSObjects. BUG=v8:9684 Change-Id: I03605d9f3103b618243c12ad0b63035484ef4134 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2487270 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#70731}
-
Camillo Bruni authored
- Display spinner properly again - Defer loadding additional App and subsequent modules - Preload file reader module and template Change-Id: Ifc81a93864d61c282db90df25f93dc0eefef4373 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494925 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#70730}
-
Omer Katz authored
CppHeap is currently set up to always finalize with no stack. Finalizing with actual current stack state breaks our unified heap unittests. This is fixed by having test specify which stack state to pass CppHeap. Bug: chromium:1056170 Change-Id: I1a6c3870abbdf56917c20c6a75580b6c516d828c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494924 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70729}
-
Manos Koukoutos authored
The code already checks wether decoder.failed(), so checking whether AnalyzeLoopAssignment returned null is redundant. Change-Id: Ia6e8b22011b28c76974aca8a6119466fe343079e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2492329Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#70728}
-
Ross McIlroy authored
Change-Id: I8ae417b5f3bd2e19bbddc841bcd99044b8d14467 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485090Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Auto-Submit: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#70727}
-
Michael Achenbach authored
This reverts commit a0a569e8. Reason for revert: https://crbug.com/1141795 Original change's description: > Update V8 DEPS. > > Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/27ce505..a941569 > > Rolling v8/third_party/aemu-linux-x64: dfMpR8E7Ie1gS4Mf_DWloGOmZIegnZWNA0kcMr7jPlkC..qUVP_lovvTAIvdwUUdt2FBZQjKisQycbEzp2A67oxskC > > Rolling v8/third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/fc6c684..ef64306 > > Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/982bf51..ef69704 > > Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/b3a1dba..bf66f2d > > Rolling v8/third_party/markupsafe: https://chromium.googlesource.com/chromium/src/third_party/markupsafe/+log/f2fb0f2..0944e71 > > Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/df55bc4..151bbd6 > > TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com > > Change-Id: Id79c6cf673f56c3da93967abff836c041794cddc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2493351 > Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> > Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> > Cr-Commit-Position: refs/heads/master@{#70724} TBR=machenbach@chromium.org,v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: Ia69dd87d442b547850d5764cc21690e4e0967f07 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1141795 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494921Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#70726}
-
Maya Lekova authored
This reverts commit 757f0431. Reason for revert: Suspected for a roll failure at https://chromium-review.googlesource.com/c/chromium/src/+/2490026 Original change's description: > [wasm] Enable --wasm-opt > > This CL enables basic optimizations in TurboFan for WebAssembly code, > like dead code elimination (DeadCodeElimination), constant folding > (MachineOperatorReducer), and control flow optimizations > (CommonOperatorReducer). > > These optimizations were disabled originally to improve startup time, > at the expense of slower generated code. However, with Liftoff as the > baseline compiler, startup time is not so important anymore for > TurboFan. > > R=clemensb@chromium.org > CC=manoskouk@chromium.org > > Change-Id: I2a81f66929c43fbbdfc3625359772c8ea0f2235f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2488684 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70691} TBR=ahaas@chromium.org,clemensb@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: If4cc504cec6bdc4a4cc1d7178003199e99bb66c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494700Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#70725}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/27ce505..a941569 Rolling v8/third_party/aemu-linux-x64: dfMpR8E7Ie1gS4Mf_DWloGOmZIegnZWNA0kcMr7jPlkC..qUVP_lovvTAIvdwUUdt2FBZQjKisQycbEzp2A67oxskC Rolling v8/third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/fc6c684..ef64306 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/982bf51..ef69704 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/b3a1dba..bf66f2d Rolling v8/third_party/markupsafe: https://chromium.googlesource.com/chromium/src/third_party/markupsafe/+log/f2fb0f2..0944e71 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/df55bc4..151bbd6 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: Id79c6cf673f56c3da93967abff836c041794cddc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2493351Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#70724}
-
Pan, Tao authored
This CL can improve the performance of below microbench by ~40%. // touch worker.js in shell is needed let json_obj = ${content of v8_trace.json}; let worker = new Worker("worker.js"); let start = performance.now(); for (let i = 0; i < 1e5; i++) { worker.postMessage(json_obj); } console.log(performance.now() - start; Change-Id: I69b40e4d7e0b49ab90c01c21c5d03b02e292d246 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2489329Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Tao Pan <tao.pan@intel.com> Cr-Commit-Position: refs/heads/master@{#70723}
-
- 22 Oct, 2020 26 commits
-
-
Omer Katz authored
The test was not flaky. Instead it seems compiiler optimizations discarded of the test-allocated object such that stack scanning could no longer find it. Bug: v8:11052 Change-Id: Ie8018ccecb03b22e6c4f2dada3e6663b04c551fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2493160 Commit-Queue: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70722}
-
Andreas Haas authored
The register that holds the {new_value} for the AtomicCompareExchange8U has to be a byte register on ia32. There was code to guarantee that, but after that code there was code that frees the {eax} register, and that code moved the {new_value} to a different register again. With this CL we first free {eax}, and then find a byte register for the {new_value}. R=clemensb@chromium.org Bug: chromium:1140549 Change-Id: I1679f3f9ab26c5416ea251c7925366ff43336d85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491031Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70721}
-
Milad Fa authored
Port ba564604 Original Commit Message: The uint32_t type can easily be confused with the memory offsets that are currently 32 bit and will become 64 bit with the memory64 proposal. Since the offsets into the instance are always small anyway, the type of the integer does not really matter, and we should stick to the default 'int'. R=clemensb@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Icfc3b4172984c81355ca4b69b67433892cca7408 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491107Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#70720}
-
Manos Koukoutos authored
This is a reland of 6227c95e Fixes compared to original landing: - Decode a WASM_TO_JS_FUNCTION Code object as a WASM_TO_JS frame. - Enable call_ref on WasmJSFunctions with arity mismatch. - Use builtin pointer in BuildWasmToJSWrapper, to avoid having to resolve the relocatable constant. Original change's description: > [wasm-gc] Implement call_ref on WasmJSFunction > > Changes: > - Introduce turbofan builtin WasmAllocatePair. > - Implement call_ref for WasmJSFunction in wasm-compiler.cc. > - Remove WasmJSFunction trap. > - Improve and extend call-ref.js test. > > Bug: v8:9495 > Change-Id: I8b4d1ab70cbbe9ae37887a6241d409eec638fd28 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463226 > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70535} Bug: v8:9495 Cq-Include-Trybots: luci.v8.try:v8_mac64_gc_stress_dbg_ng Cq-Include-Trybots: luci.v8.try:v8_linux_gc_stress_dbg_ng Change-Id: I294947059e612d417d92614a43cb7383cd5f3b92 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2476314 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70719}
-
Georg Neis authored
This reverts half of commit 8f0ab471. Reason for revert: some performance regressions, possibly due to 'leave' needing MSROM on some microarchitectures. The half that is not reverted is the removal of 'enter'. Original change's description: > [ia32,x64] Make more use of the 'leave' instruction > > It is a little shorter and cheaper[1] than the equivalent > "mov sp,bp; pop bp". > > Also remove support for the 'enter' instruction, since > - it is unused, > - it is neither shorter nor cheaper than the corresponding > push and mov (in fact more expensive[1]), and > - our disassembler doesn't support it. > > [1] See https://www.agner.org/optimize/instruction_tables.pdf > > Change-Id: I6c99c2f3e53081aea55445a54e18eaf45baa79c2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2482822 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Victor Gomes <victorgomes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70660} TBR=neis@chromium.org,victorgomes@chromium.org Bug: chromium:1141069 # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I5c9ad64ee06b71c93eff256044ce49d1523737fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2492327 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#70718}
-
Camillo Bruni authored
- Move map stats into a separate panel - Don't handle selection events twice - Simplify map-stats panel html Change-Id: I0cd135727e69c8e42d34af3b75d42861ce06f8e4 Bug: v8:10644 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485075Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#70717}
-
Omer Katz authored
This reverts commit 90ea9b35. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64%20-%20debug/31274? Original change's description: > cppgc: Port backing store compaction. > > This CL ports the existing backing store compaction algorithm from > blink. It does not attempt to improve on the existing algorithm. > > Currently only unified heap uses the compaction implementation. It is > never triggered through standalone GCs. > > The compaction implementation resides within an internal "subtle" namespace. > > Bug: v8:10990 > Change-Id: I4aa781db1b711e7aafc34234c4fb142de84394d7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485228 > Commit-Queue: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70714} TBR=mlippautz@chromium.org,bikineev@chromium.org,omerkatz@chromium.org Change-Id: Iadae1ee0c6c0400f0e1a0a3805be5316a1d4b979 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10990 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2492330Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70716}
-
Omer Katz authored
The test WeakContainerTest.ConservativeGCTracesWeakContainer failed on one of the bots: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64%20ASAN/29755? This seems like flakiness related to stack scanning. Bug: v8:11052 Change-Id: Ia60d64e63a071335c4c3f648a4ba0c1823841617 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2492324 Commit-Queue: Omer Katz <omerkatz@chromium.org> Auto-Submit: Omer Katz <omerkatz@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#70715}
-
Omer Katz authored
This CL ports the existing backing store compaction algorithm from blink. It does not attempt to improve on the existing algorithm. Currently only unified heap uses the compaction implementation. It is never triggered through standalone GCs. The compaction implementation resides within an internal "subtle" namespace. Bug: v8:10990 Change-Id: I4aa781db1b711e7aafc34234c4fb142de84394d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485228 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70714}
-
Camillo Bruni authored
Object.assign should not normalize JSGlobalProxy objects. Bug: chromium:1139769 Change-Id: Ie7e24f6498267966b7553b0c5994307f5b632b0d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485505Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#70713}
-
Clemens Backes authored
The uint32_t type can easily be confused with the memory offsets that are currently 32 bit and will become 64 bit with the memory64 proposal. Since the offsets into the instance are always small anyway, the type of the integer does not really matter, and we should stick to the default 'int'. R=manoskouk@chromium.org Bug: v8:10949 Change-Id: I742334483bbc80c4cc03f40f046b5d2d3b17d1d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2489691 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#70712}
-
Etienne Pierre-doray authored
GetMaxConcurrency() uses queue size to ensure enough threads. Change-Id: I1f091da91928c196813630fbabf54f7e68f87ead Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2480942 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70711}
-
Simon Zünd authored
R=petermarshall@chromium.org, yangguo@chromium.org Change-Id: I3d1cb354f6aeae10fda56f4c51bcb43c9fa5462c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491028Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#70710}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I697a33f51618c0b7b3b60a9a2abcb7bf4ab1d033 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491032 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70709}
-
Omer Katz authored
This CL adds TraceWeakContainer and VisitWeakContainer to the Visitor api. It also introduces the weak_container_worklist_ used to force re-tracing of weak containers that are reachable from stack. Bug: chromium:1056170 Change-Id: I4ba75bd64939b8df9ece7422828a5ac647b03fd1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491022 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70708}
-
Dominik Inführ authored
Measure time from requesting GC on background thread until the main thread starts the collection. Also add trace event for the GC on the background thread. Bug: v8:10315 Change-Id: I765ce0df8a1c31e4f64661ea8dc0b6a4685a3132 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2489681Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70707}
-
Maya Lekova authored
Refactor the {options} output parameter of the fast callback to a reference, since it can never be nullptr for functions created with MakeWithFallbackSupport. This allows embedders to spare the nullptr check. Bug: chromium:1052746 Change-Id: I3e22f07af4740ebe8522691da51b6addbc980f24 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491026Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#70706}
-
Santiago Aboy Solanes authored
From `FIELD_ADDR(*this, abc)`, to `field_address(abc)`; Bug: v8:10933 Change-Id: I49c3b19db3ca05947fbe7113642a85ba59da6cef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491029Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#70705}
-
Victor Gomes authored
Since JS arguments are always reversed now (https://crrev.com/c/2466116), the logic for skipping the arguments adapter is dead. It has been subsumed by the complete removal of the adaptor frame (https://crrev.com/c/2440098). Doc: bit.ly/v8-faster-calls-with-arguments-mismatch Change-Id: Ia02e0807b7d23a9de371650fa6357113e409d338 Bug: v8:10201 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2489684Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#70704}
-
Sathya Gunasekaran authored
This is a reland of 517a3069 Original change's description: > [ic] Append deprecated maps after appending new map > > Previously, we would append the deprecated maps and then append the > new valid map causing minimorphic map checks to miss this new map in > the case that we exceeded the FLAG_max_minimorphic_map_checks size. > > Bug: v8:10582 > Change-Id: Ie3d7da73f7bdbdd822241fae7879817889a72b43 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2484513 > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Reviewed-by: Mythri Alle <mythria@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70676} Bug: v8:10582 Change-Id: Ie951f364406063becb659a0151093e6c9f69e0f8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491283Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#70703}
-
johnx authored
The Cobalt project has its own Starboard equivalent of libc APIs like `malloc` and `free`. This CL introduces the wrappers for some libc functions. In followup CLs, for example occurences of malloc will all be replaced by base::Malloc in V8. See b/156155426 for more information. Bug: v8:10927 Change-Id: Ida3d161a1da56755b681e18b4827e277e6cb4c4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416150 Commit-Queue: John Xu <johnx@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: John Xu <johnx@google.com> Cr-Commit-Position: refs/heads/master@{#70702}
-
Jakob Gruber authored
No major functional changes in this CL, mostly it moves code around to make follow-up CLs less messy. - Document Code layout. - New concepts: 'body' and 'metadata' areas of Code objects. The metadata area contains metadata tables, the body area includes both instructions and metadata (this is currently the 'instructions' area). Add accessors for these new areas. - An interesting detail: embedded builtins will have non-adjacent instruction and metadata areas, thus a concept of 'body' doesn't make sense there. - Also add raw_instruction_X_future accessors; these are used where we are actually interested in the instructions range, not the entire body. In a follow-up, current raw_instruction_X accessors will be replaced by raw_body_X, and raw_instruction_X_future by raw_instruction_X. Bug: v8:11036 Change-Id: I1d85146b652e0c097c3602d4db1862d5d3898a7e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491023 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#70701}
-
Clemens Backes authored
The offset (also called "address") passed to the atomic builtins was 32-bit until now. With memory64, we will have to also accept 64-bit values there, or at least values within the allocatable memory range. This CL thus changes the builtins to receive uintptr values instead of uint32, and pass them on to the runtime functions as double (as before). The runtime then casts them back to uintptr_t instead of uint32_t. Liftoff is extended to zero-extend the uint32 value if needed. TurboFan already passed a machine-word sized integer before. Drive-by: Rename some "address" to "offset" to make the semantics more clear. R=ahaas@chromium.org CC=manoskouk@chromium.org Bug: v8:10949 Change-Id: I66968cc99a908775156c952da46d2f26219ffb58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2489685 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70700}
-
Zhao Jiazhong authored
Port d6c586f7 https://chromium-review.googlesource.com/c/v8/v8/+/2472000 Change-Id: I1dce1dcdcc80897371c122aa73ef8fc290e923ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491600Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#70699}
-
Seth Brenith authored
Originally, the Torque-generated verifier for a field with type Undefined|Zero|NonNullForeign would check `f.IsUndefined() || f.IsZero() || f.IsNonNullForeign()`. At some point, we changed Torque so that it now generates the much weaker `f.IsOddball() || f.IsSmi() || f.IsForeign()`. This change returns the verifiers to their initial precision. Mostly we can use the names of abstract types to build up the correct type check expression, but a few abstract types like PodArrayOfWasmValueType have no way that we can tell them apart from their parent type at runtime. It would be confusing to have a function Object::IsPodArrayOfWasmValueType which actually just checks whether the object is a ByteArray, so this change introduces a new annotation which allows abstract type declarations to state that they should use their parent type during verification. This change also adds new test cases to help avoid future regressions of this logic. Bug: v8:7793 Change-Id: Ie5046d742fd45e0e0f6c2ba387d909e9f2ac6df1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2469960Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#70698}
-
Sathya Gunasekaran authored
This reverts commit 517a3069. Reason for revert: regresses perf Original change's description: > [ic] Append deprecated maps after appending new map > > Previously, we would append the deprecated maps and then append the > new valid map causing minimorphic map checks to miss this new map in > the case that we exceeded the FLAG_max_minimorphic_map_checks size. > > Bug: v8:10582 > Change-Id: Ie3d7da73f7bdbdd822241fae7879817889a72b43 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2484513 > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Reviewed-by: Mythri Alle <mythria@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70676} TBR=mythria@chromium.org,gsathya@chromium.org Change-Id: Ifcb45e2cca16929f9f43f0116994f913bfb34730 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10582 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491281Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#70697}
-