- 30 Mar, 2022 1 commit
-
-
Pan, Tao authored
There are two kinds of method to get native context of JSFunction object, directly calling to native_context() and calling context().native_context(). Replace all context().native_context() with native_context(). Change-Id: Ia7a7e64648446002717d38fafecd2420f622325e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541468Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Linke <jgruber@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Tao Pan <tao.pan@intel.com> Cr-Commit-Position: refs/heads/main@{#79663}
-
- 29 Mar, 2022 1 commit
-
-
Leszek Swirski authored
All architectures have kSupportsFixedDeoptExitSizes = true, so we can remove kSupportsFixedDeoptExitSizes entirely and always have fixed-size deopts. Change-Id: Ib696f6d2431f60677cc7fa2193ee27b9b0f80bc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3550268Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79654}
-
- 24 Mar, 2022 1 commit
-
-
Jakob Gruber authored
This reverts part of crrev.com/c/2413252 since std::unique_ptr does not satisfy is_standard_layout; and is_standard_layout is needed to use offsetof: error: offset of on non-standard-layout type [-Werror,-Winvalid-offsetof] Fixed: v8:12721 Change-Id: Ifbb1235fc3b8d1d855d41a226117fed88c506078 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3540141Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79597}
-
- 23 Mar, 2022 1 commit
-
-
Lu Yahan authored
Port b2978927 Bug: v8:12552 Change-Id: I73e76fc5cc8905a0fbfc801b2f794735866d19e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3544725 Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Commit-Queue: ji qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#79561}
-
- 22 Mar, 2022 1 commit
-
-
Liu Yu authored
Port commit b2978927 Fixed: v8:12552 Change-Id: Ic2fbded9a662ed840a0350e3ce049e147fbf03a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541527 Auto-Submit: Yu Liu <liuyu@loongson.cn> Reviewed-by:
Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/main@{#79557}
-
- 21 Mar, 2022 2 commits
-
-
Milad Fa authored
Port b2978927 Original Commit Message: This CL removes: - Dynamic map checks aka minimorphic property loads (TF support, builtins). - "Bailout" deopts (= drop to the interpreter once, but don't throw out optimized code). - "EagerWithResume" deopts (= part of dynamic map check functionality, we call a builtin for the deopt check and deopt or resume based on the result). R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I64476f73810774c2c592231d82c4a2cbfa2bf94e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3537881Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79551}
-
Jakob Gruber authored
This CL removes: - Dynamic map checks aka minimorphic property loads (TF support, builtins). - "Bailout" deopts (= drop to the interpreter once, but don't throw out optimized code). - "EagerWithResume" deopts (= part of dynamic map check functionality, we call a builtin for the deopt check and deopt or resume based on the result). Fixed: v8:12552 Change-Id: I492cf1667e0f54586690b2f72a65ea804224b840 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401585 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#79544}
-
- 10 Mar, 2022 1 commit
-
-
Jakob Gruber authored
This reverts commit 190b5d95. Reason for revert: We should understand & fix regressions, see crbug.com/1304870#c9. Original change's description: > [compiler] Don't remove OSR code cache if deoptimizing at out of loop > > The main purpose of OSR compilation is fasten inner loop execution, the > OSR code cache is still correct for loop if optimizing at out of loop, > keep OSR code cache can reduce unnecessary slow bytecode execution with > feedback collection and avoid re-OSR compilation. > This CL can improve JetStream2 case navier-stokes by ~6%. > > Change-Id: I9518317fb922071b131cab5b56998a0fc198804a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3494981 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Tao Pan <tao.pan@intel.com> > Cr-Commit-Position: refs/heads/main@{#79413} Bug: chromium:1304870 Change-Id: I8791edc34b66ef9dd0b477d3e340e85b0617ef59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3515732 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79435}
-
- 09 Mar, 2022 1 commit
-
-
Pan, Tao authored
The main purpose of OSR compilation is fasten inner loop execution, the OSR code cache is still correct for loop if optimizing at out of loop, keep OSR code cache can reduce unnecessary slow bytecode execution with feedback collection and avoid re-OSR compilation. This CL can improve JetStream2 case navier-stokes by ~6%. Change-Id: I9518317fb922071b131cab5b56998a0fc198804a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3494981Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tao Pan <tao.pan@intel.com> Cr-Commit-Position: refs/heads/main@{#79413}
-
- 08 Mar, 2022 1 commit
-
-
Nikolaos Papaspyrou authored
Before a young GC, the scavenger finalizes a pending full GC sweeping, in case there are no more running sweeping jobs, to avoid unnecessarily pausing sweeping and then resuming it. This CL moves this sweeping finalization from ScavengerCollector::CollectGarbage to Heap::CompleteSweepingYoung, so that it is also performed for the minor mark-compactor and that sweeping is correctly attributed to the previous full GC cycle (instead of the beginning young cycle). Furthermore, it also finalizes CppGC sweeping if there are no more running sweeping jobs. Bug: chromium:1154636 Change-Id: Ic9ba4803f49db32c0a539f080329f012859bc8bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3508011Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#79407}
-
- 03 Mar, 2022 1 commit
-
-
Leszek Swirski authored
Store the free registers as a RegList rather than stack of Register values. This allows us to simplify some of the register freeing logic, including passing the current free set to nodes for use as temporaries. Drive-by: Replace ALWAYS_ALLOCATABLE_GENERAL_REGISTERS with ALLOCATABLE_GENERAL_REGISTERS, which is the more general list (the former is an implementation detail for optionally reserving a register for the cage register). Bug: v8:7700 Change-Id: I666e9a7547c2f4f4e578fbcbb4bd3fe3cb06dac5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497767Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79344}
-
- 21 Feb, 2022 2 commits
-
-
Leszek Swirski authored
This reverts commit 9f902b74. Reason for revert: Reverting due to various fuzzing issues (numfuzz issues listed in original CL comments, ochang fuzzer in https://bugs.chromium.org/p/chromium/issues/detail?id=1299418) Original change's description: > [turbofan] Making OSR concurrent > > ... to reduce compilation overhead on the main thread for OSR > > Bug: v8:12161 > Change-Id: I54ca5fa6201405daf92dac9cf51d5de4b46577b3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3369361 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Fanchen Kong <fanchen.kong@intel.com> > Cr-Commit-Position: refs/heads/main@{#79188} Bug: v8:12161 Change-Id: Id6f6086517cd77fb1aa60b20fd03528b8e2ca686 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3477104 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79194}
-
Fanchen Kong authored
... to reduce compilation overhead on the main thread for OSR Bug: v8:12161 Change-Id: I54ca5fa6201405daf92dac9cf51d5de4b46577b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3369361Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Fanchen Kong <fanchen.kong@intel.com> Cr-Commit-Position: refs/heads/main@{#79188}
-
- 15 Feb, 2022 1 commit
-
-
Jakob Gruber authored
This was mostly unused. We should simply be able to use CodeKind plus related predicates instead. Replace FeedbackVector::optimization_tier with maybe_has_optimized_code, which states whether the optimized code cache is filled. The value is updated lazily and may lag behind the actual code cache state. We only use this field for quick cache-empty? checks from generated code. Bug: v8:7700,v8:12552 Change-Id: Ibfc5c0128eac56167a68ecba5690eab2e9369640 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460741Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79107}
-
- 20 Jan, 2022 1 commit
-
-
Jakob Gruber authored
Bug: v8:12552 Change-Id: I99e4d8e8aeba5460f11e54cc1b2bcaea98a5276d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3400964Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#78698}
-
- 17 Jan, 2022 1 commit
-
-
Patrick Thier authored
The receiver is included unconditionally on all platforms (kJSArgcIncludesReceiver is always true). Remove all usages of kJSArgcIncludesReceiver from the code. Bug: v8:11112 Change-Id: I7d62e6de65b73fe6d8c3293f32b500b760b08a3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3322980Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#78642}
-
- 16 Dec, 2021 1 commit
-
-
Igor Sheludko authored
This CL * removes Builtins::codet() and Builtins::codet_handle() returning builtins as CodeT objects in favor of code() and code_handle(), * removes BUILTIN_CODET macro in favor of BUILTIN_CODE, * removes CodeDataContainer table. Bug: v8:11880 Change-Id: Ic868549030744b0ff3ea5d5edbfcacf77c6de96d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3344650Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78399}
-
- 14 Dec, 2021 1 commit
-
-
Igor Sheludko authored
This CL migrates JSFunction's code accessors to CodeT. Bug: v8:11880 Change-Id: I8cf367eb79cc1d59548dd4f3e18c010f76f101cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3330466Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78365}
-
- 02 Dec, 2021 1 commit
-
-
Igor Sheludko authored
... as a prerequisite for adding InstructionStream heap object. Bug: v8:11880 Change-Id: I22b4832cedd46bee4a4c5a0d7b5032eba10b2a7b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3310900Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78204}
-
- 18 Nov, 2021 1 commit
-
-
Clemens Backes authored
This removes the redundant {Safepoint::kNoDeoptimizationIndex} definition, and uses {SafepointEntry::kNoDeoptIndex} consistently. R=jkummerow@chromium.org Bug: v8:12401 Change-Id: I4e12862d96a2b97245f8dde62243013425e53ff1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3289159Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#77979}
-
- 12 Nov, 2021 1 commit
-
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I4a57fbd187ffebb1c1f170865641caef7b193926 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3274017 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77880}
-
- 09 Nov, 2021 1 commit
-
-
Seth Brenith authored
The GC already treats some embedded object pointers in Code as weak, based on Code::IsWeakObject. If one of those embedded objects ends up unmarked during a full mark-collect GC, then the Code is marked for lazy deoptimization and the embedded objects are cleared. However, many of those same objects are often held strongly by the deoptimization literal array for the Code, which causes memory leaks. This change updates the deoptimization literals array to store those objects weakly. Any Code currently executing on the stack might need those deoptimization literals in order to deoptimize, so the deoptimization literal array is marked strongly in that case. Design document: https://docs.google.com/document/d/1gFRBYCeqz9Mysx8CVYQkldBbk3AZLo8UX0DMLZV_7qw/edit?usp=sharing Bug: v8:4578 Change-Id: I02e86683c59371e9f88ecf523750c9c6afebdb39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160299Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#77805}
-
- 26 Oct, 2021 1 commit
-
-
Clemens Backes authored
R=hpayer@chromium.org CC=neis@chromium.org Change-Id: Ic9fef5f964b548bc3dc7bd0f7abfe8e1a6c777e1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3231338 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/main@{#77544}
-
- 22 Sep, 2021 1 commit
-
-
Lu Yahan authored
Port 3162142:[isolate-data] Split builtin tables into tiers Change-Id: I0f506d75eb75bed9afc7e1971e61f2bdf9bf5740 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3174613 Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn> Reviewed-by:
Ji Qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#76982}
-
- 21 Sep, 2021 1 commit
-
-
Junliang Yan authored
Port 06af754c Original Message: .. for more efficient access to builtins from generated code. Root-relative accesses tend to be faster and produce more compact code when the root-relative offset is small. IsolateData contains a few large tables (roots, external references, builtins), resulting in very large offsets in general. This CL starts by splitting the builtin table into tiers: tier 0 is a minimal set of perf-critical builtins that should be cheap to access. The offset to tier 0 builtins is guaranteed to be small. The full builtin table also remains in IsolateData for occasions in which we need to lookup builtins by index. In future work, we can also split external references and roots into tiers. On x64, this reduces deopt exit sizes from 7 to 4 bytes and from 12 to 9 bytes (dynamic map checks / EagerWithResume deopts). Change-Id: I021d60b20b783da170987ffcf0327b93206f7e5d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172917Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#76967}
-
- 20 Sep, 2021 1 commit
-
-
Jakob Gruber authored
.. for more efficient access to builtins from generated code. Root-relative accesses tend to be faster and produce more compact code when the root-relative offset is small. IsolateData contains a few large tables (roots, external references, builtins), resulting in very large offsets in general. This CL starts by splitting the builtin table into tiers: tier 0 is a minimal set of perf-critical builtins that should be cheap to access. The offset to tier 0 builtins is guaranteed to be small. The full builtin table also remains in IsolateData for occasions in which we need to lookup builtins by index. In future work, we can also split external references and roots into tiers. On x64, this reduces deopt exit sizes from 7 to 4 bytes and from 12 to 9 bytes (dynamic map checks / EagerWithResume deopts). Bug: v8:12203,v8:8661 Change-Id: I5a9ed22b0e00682aca1abcf15892ae1458dbdd70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3162142 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#76947}
-
- 14 Sep, 2021 2 commits
-
-
Deepti Gandluri authored
This reverts commit 0adc1410. Reason for revert: Reverting due to fail on V8 Linux - noi18n - debug https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket/8836095186331011153/+/u/Check_-_default/function-exist Original change's description: > [Temporal] Part 1 - Skeleton > > 1. Expose all the functions to empty buildins. > 2. Wire up basic structure of classes and internal slots. > > Design Doc: https://docs.google.com/document/d/1Huu2OUlmveBh4wjgx0D7ouC9O9vSdiZWaRK3OwkQZU0/ > > This is just a CL to establish a skeleton for Temporal. > The Temporal is very big. The prototype CL is in > https://chromium-review.googlesource.com/c/v8/v8/+/2967755 > but too big to be reviewed so I break up the basic structure here first. > > Cq-Include-Trybots: luci.v8.try:v8_linux64_bazel > Bug: v8:11544 > Change-Id: I10d09e3c2530e5b1a6ba60014a2294e138879ff3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3092561 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Frank Tang <ftang@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76819} Bug: v8:11544 Change-Id: I358f671452a986c8e87d1f831ab5eb1550a38441 Cq-Include-Trybots: luci.v8.try:v8_linux64_bazel No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160467 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Auto-Submit: Deepti Gandluri <gdeepti@chromium.org> Owners-Override: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/main@{#76821}
-
Frank Tang authored
1. Expose all the functions to empty buildins. 2. Wire up basic structure of classes and internal slots. Design Doc: https://docs.google.com/document/d/1Huu2OUlmveBh4wjgx0D7ouC9O9vSdiZWaRK3OwkQZU0/ This is just a CL to establish a skeleton for Temporal. The Temporal is very big. The prototype CL is in https://chromium-review.googlesource.com/c/v8/v8/+/2967755 but too big to be reviewed so I break up the basic structure here first. Cq-Include-Trybots: luci.v8.try:v8_linux64_bazel Bug: v8:11544 Change-Id: I10d09e3c2530e5b1a6ba60014a2294e138879ff3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3092561Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#76819}
-
- 07 Sep, 2021 1 commit
-
-
Patrick Thier authored
The receiver is now always included in the actual argument count and the formal parameter count. kDontAdaptArgumentsSentinel is changed from UINT16_MAX to 0 to preserve the maximum allowed declared parameters. The build flag activating the changes is not set for any architecture yet. Bug: v8:11112 Change-Id: I48a4969137949a1b4d1f47545209bb22b64e7e05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140608 Commit-Queue: Patrick Thier <pthier@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#76699}
-
- 06 Sep, 2021 1 commit
-
-
Leszek Swirski authored
Remove the BaselineData intermediate structure for baseline code, and write the baseline Code object into the SharedFunctionInfo directly. We still need a pointer to the BytecodeArray/InterpreterData, so re-use the Code object's deoptimization data slot for this (baseline code doesn't have deoptimization data). A consequence of this is that the BytecodeArray pointer becomes immutable when there is baseline code. This means that we cannot install a debug BytecodeArray while baseline code is active (we have to flush it first), and we can't tier-up code with debug BytecodeArray to baseline. Change-Id: I53b93ec4d4c64b833603d7992f246982fcd97596 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3118548 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#76675}
-
- 02 Sep, 2021 1 commit
-
-
Patrick Thier authored
- Replace CodeStubArguments::GetLength() with GetLengthWithReceiver() and GetLengthWithoutReceiver() - Introduce and use Torque macros to load the formal parameter count (with and without receiver). - Add actual_count to Torque arguments structure for cases where the argument count is not used, but just forwarded to other builtins. Bug: v8:11112 Change-Id: I32278efeffa2fb08361989c6df8de56c74add8b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3124804Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#76637}
-
- 16 Aug, 2021 1 commit
-
-
Yu Yin authored
Bug: v8:12008 Change-Id: I2e1d918a1370dae1e15919fbf02d69cbe48f63bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3089095Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76308}
-
- 11 Aug, 2021 1 commit
-
-
Nico Hartmann authored
When running d8 with --trace-deopt, any deopt will contain the id of the node that caused this deopt. These ids also show up in the deoptimization data table of when using --print-opt-code. Change-Id: I412ca7a4ff20427100fa63101d78ee3846569a8e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3024144Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#76220}
-
- 27 Jul, 2021 1 commit
-
-
Georg Neis authored
Bug: chromium:1228036 Change-Id: I5abe7009920d2c8f81f024c9ae7bb6b13607da1a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3054119 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#75932}
-
- 20 Jul, 2021 1 commit
-
-
Mythri A authored
This is a reland of ea55438a. Relanding after a fix lands here: https://chromium-review.googlesource.com/c/v8/v8/+/3030711. The failures were caused because baseline code could be flushed during the process of deoptimization after we choose which entry (InterpreterEnterAt* / BaselineEnterAt* ) builtin to use. BaselineEnterAt* builtins expect baseline code but it could be flushed before we execute the builtin. The fix is to defer the decision. 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: I63dce4cd9f6271c54049cc09f95d12e2795f15d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3035774Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#75810}
-
- 19 Jul, 2021 1 commit
-
-
Mythri A authored
This is in preparation for baseline code flushing. After a deopt we choose to execute baseline or bytecode based on whether SharedFunctionInfo has any baseline code. With baseline code flushing, it is possible that baseline code is flushed after this point and before we start executing the unoptimized code (for ex: materializing objects). To handle such situations this CL updates the BaselineEnterAt* builtins to check for baseline code and restart either at baseline / bytecode. Bug: v8:11947 Change-Id: I2084e38196c882f802d1186ff8c9ab881a35b16b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3030711 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#75783}
-
- 12 Jul, 2021 2 commits
-
-
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}
-
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}
-
- 01 Jul, 2021 1 commit
-
-
Peter Kasting authored
There are still a few cases remaining that seem more controversial; I'll upload those separately. Bug: chromium:1066980 Change-Id: Iabbaf23f9bbe97781857c0c589f2b3db685dfdc2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2994804 Commit-Queue: Peter Kasting <pkasting@chromium.org> Auto-Submit: Peter Kasting <pkasting@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#75494}
-
- 30 Jun, 2021 1 commit
-
-
Ross McIlroy authored
Adds support for a seperate dynamic map checks trampoline that takes the feedback vector as an argument rather than reading it from the stack frame, to enable it to work for inlined functions. Plumbs the logic through the compiler to select between these trampolines based on the framestate. BUG=v8:9684,chromium:1224367 Change-Id: Ibc7facdc78930aedec4a102693a926f64f6de7e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992724 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#75461}
-