- 10 May, 2022 1 commit
-
-
Camillo Bruni authored
URLs can be fairly long and the original 512 char limit is not enough for many google pages. Change-Id: Id4f81214e3fedebc80f26c49034c0997397e10fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3634779Reviewed-by: Marja Hölttä <marja@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#80439}
-
- 09 May, 2022 6 commits
-
-
Marja Hölttä authored
Builtins are not snapshotted, but instead we insert "builtin wrappers" into the snapshot, and create references to the corresponding builtin when deserializing. Subclassing builtins will be implemented in a follow-up CL. First version: https://chromium-review.googlesource.com/c/v8/v8/+/3630080 Fix: initialize builtin_objects_handle_ Bug: v8:11525,v8:12820 Change-Id: Ia2b5d41af5d7f577f1b02356b22a8760963009e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3635718Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#80430}
-
henrika authored
Bug: v8:11043 Change-Id: I8cbdd8a5f68bdadbe7fc44414c6d46cdd57e6802 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3627512Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Henrik Andreasson <henrika@chromium.org> Cr-Commit-Position: refs/heads/main@{#80429}
-
Camillo Bruni authored
In preparation of renaming i::CodeEventDispatcher to i::Logger Bug: v8:12795, chromium:1316443 Change-Id: I28e129130852d41cf5e464e083bc27cff97a0fff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3623543Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80427}
-
Clemens Backes authored
This reverts commit 71dbb03e. Reason for revert: gc-stress failures: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/38357 Original change's description: > [web snapshot] Recognize builtins > > Builtins are not snapshotted, but instead we insert "builtin wrappers" > into the snapshot, and create references to the corresponding builtin > when deserializing. > > Subclassing builtins will be implemented in a follow-up CL. > > Bug: v8:11525,v8:12820 > Change-Id: If72695d46bdfc8bf7e477471be1264b668551854 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630080 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80419} Bug: v8:11525,v8:12820 Change-Id: I49f65103ad7b367c5bccb498f698e9afb29b1fec No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3634799 Auto-Submit: Clemens Backes <clemensb@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#80422}
-
jameslahm authored
... Profiler::Remove. In Profiler::Insert and Profiler::Remove, TSAN cannot figure out that when head_ and tail_ equals, Profiler::Insert will always execute before Profiler::Remove, and tsan will report data race between buffer_[head] write and buffer_[base::Relaxed_Load(&tail_)]. This CL changes the tail_ atomic load and store memory order to gurantee that buffer_ read and write always after and before tail_ load and store, which gives tsan more constraint. Bug: v8:12838 Change-Id: I50296ffa4606b288e9ad9edc15d42f21ca1c7d2a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3626454Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#80421}
-
Marja Hölttä authored
Builtins are not snapshotted, but instead we insert "builtin wrappers" into the snapshot, and create references to the corresponding builtin when deserializing. Subclassing builtins will be implemented in a follow-up CL. Bug: v8:11525,v8:12820 Change-Id: If72695d46bdfc8bf7e477471be1264b668551854 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630080Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#80419}
-
- 03 May, 2022 1 commit
-
-
Marja Hölttä authored
Fix: copy-paste error in raw ptr GC update function. Bug: v8:11525 Change-Id: I915ae92191b2add60962395a2d0ad28f57e02fd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3622915 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80328}
-
- 02 May, 2022 2 commits
-
-
Leszek Swirski authored
This reverts commit 1267e518. Reason for revert: Turned out to not support them: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket/8815278972589078465/+/u/Bisect_1267e518/Retry/web-snapshot-4 Original change's description: > [web snap] Support Symbols > > Bug: v8:11525,v8:12820 > Change-Id: Ie8b1bbe209d8bb6f759623ea01223a05d11090aa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3616514 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80299} Bug: v8:11525,v8:12820 Change-Id: Ia0107dfec12e72dc976348985e5c35dac28c170a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3620278 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#80302}
-
Marja Hölttä authored
Bug: v8:11525,v8:12820 Change-Id: Ie8b1bbe209d8bb6f759623ea01223a05d11090aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3616514 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80299}
-
- 29 Apr, 2022 1 commit
-
-
George Wort authored
Introduce get_hints.py and combine_hints.py in order to make the interpretation of basic block counts into hints more configurable and explicit, as well as allowing more accurate and consistent methods of combining multiple profiles. get_hints.py allows for the minimum count and threshold ratio values to be easily altered for different profiles, while combine_hints.py allows the hints produced from different benchmarks and threshold values to be easily and sensibly combined. Simply summing together basic block counts from different benchmarks could previously lead to a longer running benchmark overshadowing multiple shorter benchmarks with conflicting hints. Allowing alteration of the current threshold values gives a doubling of performance, while the new method of combining distinct profiles can double the performance improvement of the secondary benchmark while losing as little as 4% of the improvement gained in the primary benchmark. Design doc: https://docs.google.com/document/d/1OhwZnIZom47IX0lyceyt-S9i8AApDB0UqJdvQD6NuKQ/edit?usp=sharing Bug: v8:10470 Change-Id: I1c09d1eabfdda5ed6794592e2c13ff8b461be361 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3545181Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: George Wort <george.wort@arm.com> Cr-Commit-Position: refs/heads/main@{#80282}
-
- 27 Apr, 2022 2 commits
-
-
Camillo Bruni authored
Change-Id: Iec93e286c8067453cc1f9a978fa09b8734999f83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596159Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#80236}
-
Camillo Bruni authored
Bug: v8:12795, chromium:1316443 Change-Id: I0ecaf8ebbf1a83d0d5b305fd014bc5a765c0d2f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3610446Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80222}
-
- 25 Apr, 2022 1 commit
-
-
Tobias Tebbi authored
TurboShaft is a new, CFG-based IR for TurboFan. This CL adds the basic IR and bidirectional translation from/to TurboFan's sea-of-nodes-based IR for some common operators (still incomplete even for JS). Bug: v8:12783 Change-Id: I162fdf10d583a9275a9f655f5b44b888faf813f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563562Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#80136}
-
- 19 Apr, 2022 2 commits
-
-
jameslahm authored
Isolates all have difference perf_output_handle_ for perf dump file, which will corrupt when perfing multiple isolate within one process. And we could use the same perf_output_handle_ between isolates within one process to avoid the corrupt. We also use the mutex to protect the perf_output_handle_ change. Bug: v8:10278 Change-Id: If10a677e4df7d4cd577bbb85bcefe75d76aaf26b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585491 Commit-Queue: 王澳 <wangao.james@bytedance.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80019}
-
Camillo Bruni authored
i::Logger => i::V8Log i::PerfJitLogger => i::LinuxPerfJitLogger i::PerfBasicLogger => i::LinuxPerfBasicLogger Note: V8Log is currently still managing instances of other loggers, this functionality will be moved to a separate class in the future. Bug: v8:12795, chromium:1316443 Change-Id: Id1b44e65abb7819eb6d6c718a1baa9ed61ad51aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3593133Reviewed-by: Jakob Linke <jgruber@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80016}
-
- 14 Apr, 2022 1 commit
-
-
Camillo Bruni authored
- Rename CodeEventDispatcher to LogEventDispatcher - Use std::vector instead of std::unordered_set, dispatching speed is more important than addition/removal of listeners - Changing the LogEventDispatcher code to be more code-search friendly - Use a raw pointer for the LogEventDispatcher instance on the isolate it's a single-owned entity Bug: v8:12795 Change-Id: I139f05431519c18cba33d1506467be918f52658c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3582125Reviewed-by: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#79990}
-
- 13 Apr, 2022 2 commits
-
-
Nikolaos Papaspyrou authored
Tracer scopes are used in numerous places in src/heap to track time spent during various phases of the garbage collection. Usually, they are introduced with the TRACE_GC* family of macros, taking the scope identifier as a parameter. At most call sites, the scope identifier is known at compile time. This CL inlines the constructor and destructor of GCTracer::Scope, in order to enable the C++ compiler to properly optimize the introduction of such scopes when the scope identifier is known at compile time, using constant propagation. This is expected to have a performance impact for short-lived and frequently used scopes, e.g., in incremental marking and sweeping steps. Change-Id: I6f1a2954a437de1fa6dab5e464c20c952d84ffd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3581774Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#79957}
-
henrika authored
Goal is to ensure that the JitLogger for ETW (on Windows) is more inline with other CodeEventLoggers such as PerfJitLogger. The new design ensures that initial Builtin and BytecodHandler events are emitted to and received by the ETWJITInterface::EventHandler. Bug: v8:11043 Change-Id: I5741053c387b9ac63a42de61c99f4ea4ae4bdb96 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3581769Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Henrik Andreasson <henrika@chromium.org> Cr-Commit-Position: refs/heads/main@{#79949}
-
- 11 Apr, 2022 1 commit
-
-
Camillo Bruni authored
API logging has not been used in a while and we have valid alternatives: - Runtime call stats - Profiling - Timer events Together they make --log-api superfluous and we can remove it and reduce the number of branches when calling into the V8 API. Change-Id: Ie10f70b61ebdb82166270e7630ebcf20a27c4902 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574549Reviewed-by: Marja Hölttä <marja@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79904}
-
- 07 Apr, 2022 2 commits
-
-
henrika authored
Local tests on Windows using the --enable-system-instrumentation flag in combination with ETW have shown that parts of the JS stack miss symbols and most of these missing parts comes from code-creation,Bytecodehandler events. The CL fixes this issue. Bug: v8:11043 Change-Id: I77b150742e689a4002dbc5937d6daa08a0795ab9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574545Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Henrik Andreasson <henrika@chromium.org> Cr-Commit-Position: refs/heads/main@{#79858}
-
Camillo Bruni authored
Change-Id: I97d29623e163ceee450814f03fba745d478082ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574550 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#79839}
-
- 06 Apr, 2022 1 commit
-
-
Camillo Bruni authored
This is no longer actively used. Change-Id: I88b0695732ead8652a21ed5d59f3d9752c0c88d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574551Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#79826}
-
- 04 Apr, 2022 1 commit
-
-
Jakob Gruber authored
.. since they are the same as eager deopts (% an unused counter). Fixed: v8:12765 Change-Id: I2be6210e476ead4ac6629a49259f28321e965867 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565717Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79729}
-
- 30 Mar, 2022 1 commit
-
-
Jakob Gruber authored
.. with readability and simplicity in mind. - Rename OptimizationMarker to the (shorter) TieringState. 'Tiering' also matches 'TieringManager' terminology. - Rename the values: kNone -> kNone kInOptimizationQueue -> kInProgress kCompileFoo_NotConcurrent -> kRequestFoo_Synchronous kCompileFoo_Concurrent -> kRequestFoo_Concurrent - Likewise rename ConcurrencyMode::kNotConcurrent to kSynchronous. - Add predicates to test enum values. - Consistent lower case names for accessors on JSFunction and FeedbackVector. - Instead of having to call HasOptimizationMarker() before using any other accessor, simply have optimization_marker() return kNone if no feedback vector exists. - Drive-by: Enable the Unreachable() in MaybeOptimizeCode() unconditionally - this should never happen, there's no reason not to protect against this in release builds as well. Bug: v8:12161 Change-Id: I67c03e2b7bd0a6b86d0c64f504ad8cb47e9e26ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3555774Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Auto-Submit: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79669}
-
- 25 Mar, 2022 1 commit
-
-
legendecas authored
Implement WrappedFunction properties name/length. Bug: v8:11989 Change-Id: I050af5814537552ef6c2077802ffc726f2e08fa3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3507201Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Chengzhong Wu <legendecas@gmail.com> Cr-Commit-Position: refs/heads/main@{#79628}
-
- 22 Mar, 2022 1 commit
-
-
Darius M authored
This is a reland of 6b690a6b. The previous version of this CL was a bit too aggressive in the duplication of branch conditions. This caused an increase in register pressure in some cases, thus reducing performance. In fact, duplicating branch conditions that require an "== 0" to be added provides no benefits. We are thus now a bit less aggressive, and only duplicate comparisons. Original change's description: > Reland [compiler] Simplify "==0" branches in MachineOperatorReducer > > This is a reland of 48b443f6. > > While fixing the initial CL, we stumbled upon a few bugs that > we had to fix: > > - CommonOperatorReducer and SimplifiedOperatorReducer were applied > before and after SimplifiedLowering, but always assumed that it > was before SimplifiedLowering, and thus had the wrong semantics > for branches in some cases. They now have an added parameter to > know which semantics of branch they should use. > > - The lowering of StaticAssert was wrong and could leave kHeapConstant > in the assert (instead of machine Booleans). > > Original change's description: > > [compiler] Simplify "==0" branches in MachineOperatorReducer > > > > Bug: v8:12484 > > Change-Id: I0667c7464c0dd71338bc199a24a69248a7a0a525 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497303 > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > Owners-Override: Tobias Tebbi <tebbi@chromium.org> > > Commit-Queue: Darius Mercadier <dmercadier@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#79379} > > Bug: v8:12484 > Change-Id: Ibbf5df96fce5ccb04868dc517539479bf69f5703 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3516869 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Darius Mercadier <dmercadier@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79528} Bug: v8:12484 Change-Id: I31f575a59811a83c7c1acb4c14bf5ded63a8f536 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3540102Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#79560}
-
- 21 Mar, 2022 1 commit
-
-
Darius Mercadier authored
This reverts commit 6b690a6b. Reason for revert: causes a few regressions here https://chromeperf.appspot.com/group_report?rev=79528 Original change's description: > Reland [compiler] Simplify "==0" branches in MachineOperatorReducer > > This is a reland of 48b443f6. > > While fixing the initial CL, we stumbled upon a few bugs that > we had to fix: > > - CommonOperatorReducer and SimplifiedOperatorReducer were applied > before and after SimplifiedLowering, but always assumed that it > was before SimplifiedLowering, and thus had the wrong semantics > for branches in some cases. They now have an added parameter to > know which semantics of branch they should use. > > - The lowering of StaticAssert was wrong and could leave kHeapConstant > in the assert (instead of machine Booleans). > > Original change's description: > > [compiler] Simplify "==0" branches in MachineOperatorReducer > > > > Bug: v8:12484 > > Change-Id: I0667c7464c0dd71338bc199a24a69248a7a0a525 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497303 > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > Owners-Override: Tobias Tebbi <tebbi@chromium.org> > > Commit-Queue: Darius Mercadier <dmercadier@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#79379} > > Bug: v8:12484 > Change-Id: Ibbf5df96fce5ccb04868dc517539479bf69f5703 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3516869 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Darius Mercadier <dmercadier@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79528} Bug: v8:12484 Change-Id: I457464d793e9c5af8448564aa3b46be863b96fbb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3540148 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#79552}
-
- 18 Mar, 2022 1 commit
-
-
Darius M authored
This is a reland of 48b443f6. While fixing the initial CL, we stumbled upon a few bugs that we had to fix: - CommonOperatorReducer and SimplifiedOperatorReducer were applied before and after SimplifiedLowering, but always assumed that it was before SimplifiedLowering, and thus had the wrong semantics for branches in some cases. They now have an added parameter to know which semantics of branch they should use. - The lowering of StaticAssert was wrong and could leave kHeapConstant in the assert (instead of machine Booleans). Original change's description: > [compiler] Simplify "==0" branches in MachineOperatorReducer > > Bug: v8:12484 > Change-Id: I0667c7464c0dd71338bc199a24a69248a7a0a525 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497303 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Owners-Override: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Darius Mercadier <dmercadier@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79379} Bug: v8:12484 Change-Id: Ibbf5df96fce5ccb04868dc517539479bf69f5703 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3516869Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#79528}
-
- 11 Mar, 2022 1 commit
-
-
Lu Yahan authored
vector register has different register file from float register in Risc64 rvv extension. So this cl add third FPalising kind INDEPENDENT to allocate independently simd register. Bug: v8:11976 doc: https://docs.google.com/document/d/1UwmUwOI3eeIMYzZFRmeXmfyNXRFHNZAQ4BcN0ODdMmo/edit?usp=sharing Change-Id: I0fb8901294b4bc44b0bee55e630b60460e42bef2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3383513Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#79449}
-
- 09 Mar, 2022 1 commit
-
-
Darius Mercadier authored
This reverts commit 48b443f6. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=1303902 Original change's description: > [compiler] Simplify "==0" branches in MachineOperatorReducer > > Bug: v8:12484 > Change-Id: I0667c7464c0dd71338bc199a24a69248a7a0a525 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497303 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Owners-Override: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Darius Mercadier <dmercadier@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79379} Bug: v8:12484 Change-Id: I5114b2871a14444a84f6230aa1bd2113d32a2a83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3510390 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#79414}
-
- 07 Mar, 2022 1 commit
-
-
Darius M authored
Bug: v8:12484 Change-Id: I0667c7464c0dd71338bc199a24a69248a7a0a525 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497303Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Owners-Override: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#79379}
-
- 28 Feb, 2022 1 commit
-
-
Nikolaos Papaspyrou authored
The following histograms have been deprecated, as they are superseded by V8.GC.Cycle.*.Young or not needed anymore (next to each, the corresponding isolate counter): - V8.GCScavenger (gc_scavenger) - V8.GCScavengerBackground (gc_scavenger_background) - V8.GCScavengeReason (scavenge_reason) - V8.GCScavengerForeground (gc_scavenger_foreground) - V8.GCBackgroundScavenger (background_scavenger) - V8.GCMarkCompactor (gc_mark_compactor) This CL removes the corresponding instrumentation in the code and the isolate counters. Bug: chromium:1154636 Bug: chromium:1299555 Change-Id: I62d28ff60ef47a058fe148c7855af8e2c1cc0aed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3487548Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#79308}
-
- 24 Feb, 2022 1 commit
-
-
Leszek Swirski authored
Maglev is mid-tier optimising compiler designed mainly for compilation speed that can still generate good code for straightforward JS. This initial commit is an MVP for Maglev which can compile and run some very simple code, and sets up a framework that we can build upon. Design: https://docs.google.com/document/d/13CwgSL4yawxuYg3iNlM-4ZPCB8RgJya6b8H_E2F-Aek/edit# Bug: v8:7700 Change-Id: I5ae074ae099126c2c0d50864ac9b3d6fa5c9e85a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3483664Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79247}
-
- 16 Feb, 2022 2 commits
-
-
Jakob Gruber authored
Now that different tiers use dedicated interrupt_budgets (which determine how often the runtime profiler (now tiering manager) is called), I don't see a meaningful way to use results from this counter. Bug: v8:7700 Change-Id: I2ec2242d3c7f6c2b9deab075a6f0500cc1350e96 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3467595Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79117}
-
Jakob Gruber authored
This predicate is just confusing - it's a renamed version of HasBytecodeArray; but HasBytecodeArray also returns true if the SFI has attached Sparkplug code - and is thus not interpreted. Simply replace it by HasBytecodeArray. Bug: v8:7700 Change-Id: Id4be2048a625142ade1096044133d9cd2896b51d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3461935Reviewed-by: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79115}
-
- 15 Feb, 2022 2 commits
-
-
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}
-
Jakob Gruber authored
.. to resolve the overloaded 'runtime' term and overall pick a more meaningful name for this class. It's neither very related to runtime (instead it's called periodically when the bytecode interrupt budget is exhausted); nor is profiling its main purpose. This class is responsible for controlling tiering decisions, hence the new name 'TieringManager'. Bug: v8:7700 Change-Id: Id6f1edf4ebe016d0d81903d0a13e0e1fe6e02142 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3463716Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79101}
-
- 04 Feb, 2022 1 commit
-
-
Clemens Backes authored
TimeTicks::HighResolutionNow is identical to TimeTicks::Now since 2018 (https://crrev.com/c/997153), but the declaration still has a wrong comment about a non-existing DCHECK. In order to avoid confusion, remove the redundant method and just use TimeTicks::Now everywhere. Drive-by: Make IsHighResolutionTimer "inline" instead of "V8_INLINE" because it will only be called once anyway. R=mlippautz@chromium.org Bug: v8:12425 Change-Id: I31dc65f8c1ac910862e070e60e928054d4921154 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3439909Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#78944}
-
- 31 Jan, 2022 1 commit
-
-
Samuel Groß authored
This guarantees that they are smaller than the maximum external pointer table index when shifted to the right on load. Bug: v8:10391 Change-Id: I601f37fbb9640ee4b5215958afcc474c5e0eb9af Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3359631Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#78873}
-