- 13 Jul, 2021 23 commits
-
-
Georg Neis authored
Bug: chromium:1228407 Change-Id: I20941e8aaa4a1d82b035a5387cdd1b08b8994c2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3024153 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#75712}
-
Junliang Yan authored
Drive-by: clean up SubS64/AddS64 macroassembler Change-Id: I31a15b1f3f3825122f6857861845c8961ece3649 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3024152 Commit-Queue: Junliang Yan <junyan@redhat.com> Reviewed-by: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#75711}
-
Maya Lekova authored
Bug: v8:11745 Change-Id: Icacc3ff58d50bdf02f00a41643c9b6ef54e74d50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3024145 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#75710}
-
Paolo Severini authored
For CopyAndConvertArrayToCppBuffer<T, type_info>(src, dst, length), type `T` can be deducible from `dst`, but `type_info` cannot be deducible so it's better to rewrite it as CopyAndConvertArrayToCppBuffer<type_info, T>(src, dst, length). Bug: v8:11739 Change-Id: Ic3a28671cf7576672dad2f21bf6acf87807c3b48 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3023006Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#75709}
-
Victor Gomes authored
Constant pool doc: shorturl.at/txS08 Bug: v8:11872 Change-Id: Idd36b4c1ef0dc634a7411f530cdfc50681d7e875 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3024146 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#75708}
-
Clemens Backes authored
This is a reland of dacce720 Original change's description: > [wasm] Fix fallback from PKU to mprotect > > The {WasmCodeManager::SetThreadWritable} method would return true if > called in a nested scope, even if PKU is not available. The caller > cannot tell then whether permission switching happened or not. > > This CL refactors the code to do an explicit check for PKU support, and > removes the boolean return value from {SetThreadWritable}. > > R=jkummerow@chromium.org > > Bug: v8:11959, v8:11974 > Change-Id: I2d45f1fa240305c6f92f63cdf190131d637bfe95 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021383 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75699} Bug: v8:11959, v8:11974 Change-Id: I7086aa3f1cd12615e6f12bbd061084ecd325eb11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021180Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75707}
-
Mike Stanton authored
Added a parameter to Object::FitsRepresentation() to disallow coercion. Normally, when we ask if a Smi can "fit" into a Double representation we'd answer yes, because the Smi can be converted to a HeapNumber. However, from the compilers perspective, the object is found in a field with a particular representation. In this case, finding a Smi in a field with representation Double means something is awry. Therefore, it's useful for the compiler to be able to ask if the object fits the field without coercion. Bug: chromium:1227324, v8:7790 Change-Id: I12033736030d904ef9c29516c07999600a5f508a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015570 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#75706}
-
Maya Lekova authored
Mark --turbo-fast-api-calls flag as incompatible with stress_snapshot variant to avoid listing all related tests in the status file. Change-Id: If130780461e50e72ea6a43d750b2f7ad7764db2e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3024147 Commit-Queue: Maya Lekova <mslekova@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Maya Lekova <mslekova@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#75705}
-
Ross McIlroy authored
When there are multiple entries into a deferred block region, ensure that we freeze the set of deferred spill virtual registers when we have processed the first entry point to that deferred block. This ensures that we don't add another vreg into the set of deferred spills, and then specify that that deferred spill slot is live across the whole deferred block, when it is only live from certain entry points. BUG=chromium:1227568,v8:9684 Change-Id: I647851be9a00fba262768e4f1a7846669b585a2e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021178Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#75704}
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: I7a658215ba2dbb12e90b651bce7ff08109b03b8e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2987831 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#75703}
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: Ia31d2fb11b60f94ec1a67331e4395dbc57678c03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2985241 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#75702}
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: I1fbf64a2b26154b9c6108920f4e7263eb583e074 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983213 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#75701}
-
Clemens Backes authored
This reverts commit dacce720. Reason for revert: Needs a fix. Original change's description: > [wasm] Fix fallback from PKU to mprotect > > The {WasmCodeManager::SetThreadWritable} method would return true if > called in a nested scope, even if PKU is not available. The caller > cannot tell then whether permission switching happened or not. > > This CL refactors the code to do an explicit check for PKU support, and > removes the boolean return value from {SetThreadWritable}. > > R=jkummerow@chromium.org > > Bug: v8:11959, v8:11974 > Change-Id: I2d45f1fa240305c6f92f63cdf190131d637bfe95 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021383 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75699} Bug: v8:11959, v8:11974 Change-Id: I199cf6dd6e12a209649fcf86f922e2500b50bbde No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021179 Auto-Submit: Clemens Backes <clemensb@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#75700}
-
Clemens Backes authored
The {WasmCodeManager::SetThreadWritable} method would return true if called in a nested scope, even if PKU is not available. The caller cannot tell then whether permission switching happened or not. This CL refactors the code to do an explicit check for PKU support, and removes the boolean return value from {SetThreadWritable}. R=jkummerow@chromium.org Bug: v8:11959, v8:11974 Change-Id: I2d45f1fa240305c6f92f63cdf190131d637bfe95 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021383 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75699}
-
Michael Lippautz authored
A human-readable name is in Blink only available for C++ types with JS wrapper objects and for manually annotated types that are interesting for the snapshot. Return the proper C++ shallow size of the object in this case. (Merge nodes will have their JS+C++ sizes added.) Bug: chromium:1228411, chromium:1056170 Change-Id: Ib2b1b7b9dec80e5cccccb1aad8c4c035715612ec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021169Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#75698}
-
Clemens Backes authored
This CL cleans up the trap handler code on POSIX before making additions for arm64 simulator support. In particular, - it extends a comment about restoring the signal mask before restoring the "thread in wasm" flag, and fixes the code to actually implement that again; - it renames "SigUnmaskStack" to "UnmaskOobSignalScope", to make the intent clear, and it moves the signal masking code to the constructor of that class; - it replaces a call to "IsThreadInWasm" by just reading "g_thread_in_wasm_code" to make it more transparent what is happening (note that the next instruction will just write to that flag); - it replaces an if block by another early exit for consistency; and lastly - it avoids curly braces for single-line conditions, to increase readability and to match the rest of V8. R=ahaas@chromium.org, mseaborn@chromium.org Bug: v8:11955 Change-Id: I023381f8b8e4640e2b21ac617fe301ec9f130783 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015562 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75697}
-
Victor Gomes authored
To enable all V8 debugging features, compile with: bazel build --config=debug :d8 No-Try: true Bug: v8:11234 Change-Id: I83209b1b4ceff95cc25a26488a55fb026cb5bc04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3018082 Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#75696}
-
Omer Katz authored
Reporting an event requires virtual calls. Frequent incremental events seem to cause performance regression. Mitigate by batching events reporting. See usage in crrev.com/c/2992193 Bug: chromium:1214693 Change-Id: Iff212d0e9f90a2716956458c6e828fbe87a7b780 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992712 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#75695}
-
Clemens Backes authored
Since PKU-based switching always switches the permissions for all wasm code memory in the process, the method should not be on the {NativeModule} or {WasmCodeAllocator}, but instead on the process-wide {WasmCodeManager}. R=jkummerow@chromium.org Bug: v8:11974 Change-Id: I75a82e51401b2572977c134077e1669cf5077049 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021382 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75694}
-
Clemens Backes authored
This refactors the {GetMemOp} function once again: Instead of computing (mem_start + (offset_reg + offset_imm)), do compute ((mem_start + offset_imm) + offset_reg). This avoids an overflow in (offset_reg + offset_imm) when using 32-bit computations, which hides OOB memory accesses when relying on the trap handler. As a nice side-effect, this change makes the whole method a lot nicer to read. We also need to change {StoreTaggedPointer} now, which was relying on the inner working of {GetMemOp}. The new version makes the semantics more transparent at the cost of repeating some logic from (the previous version of) {GetMemOp}. R=jkummerow@chromium.org Bug: v8:11955, chromium:1227465, v8:11951 Change-Id: Ia068ca7c4f7db89b81529edd3438b0e4eee7d23d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015566 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75693}
-
Michael Lippautz authored
Low memory notification is historically used by Chromium to request forced GCs during benchmarking. These should be more aggressive than the regular GCs and thus we should also discard on such forced GCs. Bug: chromium:1056170 Change-Id: Ic503e1f440f2b941ae60646b5984fe473bf26410 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021384 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#75692}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/70f5848..9c63d2e Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/f691b8d..4a3ec12 Rolling v8/third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/199485d..f376b41 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/3fa8198..aca9f71 Rolling v8/tools/luci-go: git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86..git_revision:01aa19ce019f7bf94712f3dd2538cf72a2a3451b Rolling v8/tools/luci-go: git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86..git_revision:01aa19ce019f7bf94712f3dd2538cf72a2a3451b Rolling v8/tools/luci-go: git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86..git_revision:01aa19ce019f7bf94712f3dd2538cf72a2a3451b TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I275acfa108759d3b1a37d96d041f5444f50dd435 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3022426Reviewed-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@{#75691}
-
Lu Yahan authored
- Implement f32/f64 fcopysign - Implement f32/f64 type conversion - enable some test cases that now pass. Change-Id: Ia36299484adac885349df25d7c233dd7e43dded4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992914 Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/master@{#75690}
-
- 12 Jul, 2021 17 commits
-
-
Andrew Comminos authored
Now that code entries outlive our CodeMap, it's safe to avoid storing CodeMap metadata after the last active profiler stops. This simplifies lifecycle logic, and avoids retaining stale data. Bug: v8:11054 Change-Id: If30fc0835e2033b5bcca204565e05a5cba7823ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3000526 Commit-Queue: Andrew Comminos <acomminos@fb.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#75689}
-
Milad Fa authored
Port fb28cfe6 Original Commit Message: So far, discarded size was maintained by the sweeper but not wired up anywere. Changes in this patch: - Wire up resident size in heap statistics collection. - Fix bugs in reporting committed and resident size. - Sweeper test: Enforce some internal details. The details should not not be checked broadly but be kept as a detail to the sweeper itself. - Stats collection: Test that committed and resident set size are reported and differ after discarding GCs. R=mlippautz@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I19be251596ccc955f5c4cd43a46e566001a36ac4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021468Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#75688}
-
Nico Weber authored
lld is part of the main clang package as of https://chromium-review.googlesource.com/c/chromium/src/+/2977792 Also, this hook has been a no-op since https://chromium-review.googlesource.com/c/chromium/src/+/2976635 Bug: chromium:1149587 Change-Id: I5663d54dffc65da9bf413bede5ad25412dc33dbe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3022041Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#75687}
-
Ng Zhi An authored
Code event handler relies on having WasmEngine having an isolate, which happens during Snapshot::Initialize. Note that this fixes a crash (that the WasmEngine doesn't have an isolate), but does not get gdbjit integration with Wasm working yet (see https://crbug.com/v8/11908). Bug: v8:11967,v8:11930 Change-Id: I56c753d3b66d58e49020688bd387a7c040feb0af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3018054Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#75686}
-
Seth Brenith authored
Most Torque-defined extern classes already use @generateCppClass. As Nico pointed out in [1], it would be nice to convert the remaining classes and remove this option. This change converts about a third of those remaining classes. I know that the future of Torque-defined classes is a subject of some debate right now, but I think that it's worth doing a few mechanical changes to reduce the existing variety of options. [1] https://docs.google.com/document/d/1q_gZLnXd4bGnCx3IUfbln46K3bSs9UHBGasy9McQtHI/edit# Bug: v8:8952 Change-Id: Ic96f9b16397149099f87380f68e01b1f2a6d5b90 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3018056Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#75685}
-
Michael Lippautz authored
So far, discarded size was maintained by the sweeper but not wired up anywere. Changes in this patch: - Wire up resident size in heap statistics collection. - Fix bugs in reporting committed and resident size. - Sweeper test: Enforce some internal details. The details should not not be checked broadly but be kept as a detail to the sweeper itself. - Stats collection: Test that committed and resident set size are reported and differ after discarding GCs. Bug: chromium:1056170 Change-Id: Icf8871c7ea3b28253233485c736b2ca4816fd6f2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3020971Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#75684}
-
Georg Neis authored
Monotonicity of typing of arithmetic operations could fail in the presence of optimized_out Oddball inputs, which can arise in dead code in resumable functions. The CL fixes these with a small change to BinaryNumberOpTyper. Bug: chromium:1227677 Change-Id: I1e1d2e174b757e839d776685f52f7c4ac900844b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3020972Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#75683}
-
Igor Sheludko authored
Bug: chromium:1224142 Change-Id: I42ed4ad23057837972cdbebb10e861948da9ddb2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3017813 Auto-Submit: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#75682}
-
Peter Kasting authored
These need some consideration. Clang apparently considers V8_UNLIKELY to mean "always false", which seems questionable to me (possibly a bug?). That said, removing it in the cases here doesn't seem likely to cause problems -- the logging instance seems fine, and the other used to not have the macro and gained it in a commit that seemed to have nothing to do with performance. The trampoline register change is safe, but perhaps V8 will support an architecture in the future which needs this conditional? I'd leave these as-is, but it also seems a shame not to enable -Wunreachable-code-aggressive just because of these... Bug: chromium:1066980 Change-Id: Ib819298cecba082666c26fa7010009f8e9441bf8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2994805 Auto-Submit: Peter Kasting <pkasting@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#75681}
-
Clemens Backes authored
When porting to MacOS (in https://crrev.com/c/1282960), we forgot to update signal masking to unmask SIGBUS instead of SIGSEGV. R=mseaborn@chromium.org, ahaas@chromium.org Bug: chromium:906565 Change-Id: I486a204f33139f1da4a074a07878921692b713e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015565 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75680}
-
Mythri Alle authored
This reverts commit ea55438a. Reason for revert: Likely culprit for these failures: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20NumFuzz/15494/overview Original change's description: > [sparkplug] Support bytecode / baseline code flushing with sparkplug > > Currently with sparkplug we don't flush bytecode / baseline code of > functions that were tiered up to sparkplug. This CL adds the support to > flush baseline code / bytecode of functions that have baseline code too. > This CL: > 1. Updates the BodyDescriptor of JSFunction to treat the Code field of > JSFunction as a custom weak pointer where the code is treated as weak if > the bytecode corresponding to this function is old. > 2. Updates GC to handle the functions that had a weak code object during > the atomic phase of GC. > 3. Updates the check for old bytecode to also consider when there is > baseline code on the function. > > This CL doesn't change any heuristics for flushing. The baseline code > will be flushed at the same time as bytecode. > > Change-Id: I6b51e06ebadb917b9f4b0f43f2afebd7f64cd26a > Bug: v8:11947 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992715 > Commit-Queue: Mythri Alle <mythria@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75674} Bug: v8:11947 Change-Id: I50535b9a6c6fc39eceb4f6c0e0c84c55bb92f30a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3017811Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#75679}
-
Jakob Kummerow authored
A single ClusterFuzz report flushed out two minor issues in the bit fiddling routines. Bug: chromium:1227752,v8:11515 Change-Id: I16ab914b7c3859f55aa141ced371dd80171d0cb5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3017809Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75678}
-
Michael Lippautz authored
Add discarded of memory on memory reducing garbage collections. In addition, add tracking of discarded memory and properly adjust the resident memory of heap dumps. - Memory is discarded during sweeping and the counter is persistent across garbage collection cycles. - Subsequent sweep calls are not supposed to touch the memory anymore. - As a simplification, discarded memory is tracked on page granularity and assumed to be fully paged in as soon as a page's free list entries are reused for allocation. Change-Id: Icfd58f49f3400c4df0d482e20326a0c43c1ca9f5 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015563 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#75677}
-
Jakob Kummerow authored
The recently added experimental support for non-nullable locals (https://chromium-review.googlesource.com/c/v8/v8/+/3010283) made DecodeLocalGet slightly bigger, which caused Clang not to inline it any more, which has a measurable performance impact because this is one of the hottest decoding functions. Forcibly inlining it fixes the regression. Bug: chromium:1227332 Change-Id: Ifb85f7f5a43ad1c0376bbf37e4af84fb4903371f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3018206Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75676}
-
Victor Gomes authored
- Enumerates the flags currently noy supported. - Enables pointer compression. No-Try: true Bug: v8:11234 Change-Id: I030ca5a18a2ccf1e3484b2c69d5c1b1c91579c7e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015571 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75675}
-
Mythri A authored
Currently with sparkplug we don't flush bytecode / baseline code of functions that were tiered up to sparkplug. This CL adds the support to flush baseline code / bytecode of functions that have baseline code too. This CL: 1. Updates the BodyDescriptor of JSFunction to treat the Code field of JSFunction as a custom weak pointer where the code is treated as weak if the bytecode corresponding to this function is old. 2. Updates GC to handle the functions that had a weak code object during the atomic phase of GC. 3. Updates the check for old bytecode to also consider when there is baseline code on the function. This CL doesn't change any heuristics for flushing. The baseline code will be flushed at the same time as bytecode. Change-Id: I6b51e06ebadb917b9f4b0f43f2afebd7f64cd26a Bug: v8:11947 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992715 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#75674}
-
Thibaud Michaud authored
Instantiation was inside a DCHECK and therefore did not happen in non-debug modes. Turn the DCHECK into a CHECK. R=clemensb@chromium.org Bug: chromium:1227685 Change-Id: I13240109326a2c94576f6651963543187d96ad3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3017806Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#75673}
-