- 22 Sep, 2021 3 commits
-
-
Marja Hölttä authored
Bug: v8:11111 Change-Id: I6a86dd1313a7bfb72024e9857a0c18dd6c83fe3c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160518 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#76980}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/1037128..66bad00 Rolling v8/third_party/aemu-linux-x64: bOp0PE8R9VUQxsHclvuA10P4iOaWjRRpsK8ZQKtAZCAC..UnrNXrNKJtnUOqrH_BbjXgZ_Ns1v0PZ9WNtFgoHrQZwC Rolling v8/third_party/android_sdk/public: yODElY4RdHopNEfpOnqjRcrpa6JMzbhYYqGD53-DjJwC..AuYa11pULKT8AI14_owabJrkZoRGuovL-nvwmiONlYEC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/8ec776f..25814bb Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/c1fd44b..eff810e Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/7ea32d7..948efd2 TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I9bc3a48c310c9364a3cd2e24e1fdc6fcd5e6d934 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172719Reviewed-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/main@{#76979}
-
Hao Xu authored
Bug: v8:12018, v8:12163 Change-Id: I87f779b4a355fa0638885db88fd0ebff0f930443 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141034 Commit-Queue: Hao A Xu <hao.a.xu@intel.com> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#76978}
-
- 21 Sep, 2021 29 commits
-
-
Ng Zhi An authored
DISALLOW_COPY_AND_ASSIGN is no longer in our codebase, and the compilers mentioned in the comments are (probably) no longer supported. Bug: v8:12244 Change-Id: I432bd56ca3ddd870be140032f11d94ddb60ce1a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3171974Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#76977}
-
Michael Lippautz authored
This reverts commit f2e25f8a. Reason for revert: Breaks GCC 8.4.0 compilation, see bug. Original change's description: > [base] Replace base::Optional with Abseil > > Change base::Optional to an alias of absl::optional. Eventually we > should remove it entirely. > > Bug: v8:11006 > Change-Id: I687d44cc7e7cd0a49a84bcc207231eb6808eef2d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2476318 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76913} Bug: v8:11006, v8:12252 Change-Id: I8048dee676a36551d15f25a31d1e171dae00d975 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3173672 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#76976}
-
Clemens Backes authored
Add another "#if V8_ENABLE_WEBASSEMBLY" block to fix compilation if wasm is disabled. TBR=jkummerow@chromium.org Bug: v8:11974 Change-Id: If889814e16dfb51d5b78122e6957bb2c41cefe5b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172758Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#76975}
-
Junliang Yan authored
Change-Id: I65c60a17c0f8fe19b49f0661b9d57b5a504abe07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3168283Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#76974}
-
Ng Zhi An authored
Drive-by edit to use ASM_CODE_COMMENT for better code comments for all the more complicated macro-assembler functions. Also undef macros (AVX_OP et al) since they are not longer used outside of shared-macro-assembler. Bug: v8:11589 Change-Id: I424f27b5b742a8efb26ccef87dbffb01eae60335 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3173892Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#76973}
-
Ng Zhi An authored
Previously it generates a mvoq+pinsrq, now it generates a single punpcklqdq. punpcklqdq is smaller in code size, and also faster on most arch (latency 1, rthroughput of 1, 1 uop, uses 1 port) than pinsrq (latency 2, 2 uop, uses 2 port) (from https://uops.info/table.html) punpcklqdq is mean to work on int domain, and although we can't be certain what v128.const will be used for, the movq is considered an integer domain instruction, so we can avoid unnecessary transitions by using punpcklqdq (instead of movddup, which is similar in perf and code size). Bug: v8:11033 Change-Id: Iab81168ffad84488b90ff307d440bed15c9f90a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3169322Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#76972}
-
Omer Katz authored
This is a reland of adb6276f Causes for previous revert was addressed by crbug.com/3140387 and crbug.com/3163579. Original change's description: > Reland "cppgc: Enable checks for assignments in prefinalizers" > > This is a reland of edcc8ff5 > > Cause for previous revert was addressed by crbug.com/1241773. > > Original change's description: > > cppgc: Enable checks for assignments in prefinalizers > > > > Bug: v8:11749 > > Change-Id: Ic027f732030fb6a2befeffeca9db2eacfd0830a5 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3099953 > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > Commit-Queue: Omer Katz <omerkatz@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#76370} > > Bug: v8:11749 > Change-Id: I57fc138ace002d41e54f7f70250e4d19bc9262b0 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3122153 > Auto-Submit: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Omer Katz <omerkatz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76553} Bug: v8:11749 Change-Id: I138ca374314108f0f23e234a8fd90d15d912120d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3168280Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#76971}
-
Ng Zhi An authored
We move some instructions from the test that just disassembles them, to the test that checks for expected output. Bug: v8:12207 Change-Id: Ide8954e36c6ad016150bfe45abc1717bed55eb19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3171972Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#76970}
-
Samuel Groß authored
This CL exposes the size of the virtual memory cage to the embedder through V8::GetVirtualMemoryCageSizeInBytes(). This will for example be useful to collect metrics about the cage reservation, such as how frequently it fails, in the future. While collecting these metrics directly in V8 would also be possible, it would require access to an Isolate, which is not yet available when the cage is initialized. As such, it is easier to enable the embedder to collect these metrics. Bug: chromium:1218005 Change-Id: Ie9c9ca7d1cd158ec024be6ab2418f50083b06d6e Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172762Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#76969}
-
Georg Neis authored
The NowIs operator doesn't exist anymore. R=mslekova@chromium.org Change-Id: Id081c7e0cf5b122a77598fc0b886a2d1c09c881f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172767Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#76968}
-
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}
-
Andreas Haas authored
The shipping version was incorrect in the original CL. R=ecmziegler@chromium.org Bug: v8:7581 Change-Id: Ib382cdacb8f6aa80718e6917b535c026b83d88cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172766Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#76966}
-
Andreas Haas authored
The function index encoded into the serialized module is already offset by num_imported_functions. For lazy compilation, however, we added the number of imported functions another time, which was incorrect. R=clemensb@chromium.org Change-Id: I56380e21e74b4d1935ebdbab6ef8cc388de49f2c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172761 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#76965}
-
Clemens Backes authored
Conditions are usually used in binary comparisons, and are named for that purpose. When used in a unary comparison, {kEqual} means "equal to zero" and {kUnequal} means "not equal to zero". This is noted in several comments in {LiftoffCompiler}. This CL introduces the alternative names {kEqualZero} and {kNotEqualZero} to avoid the repeated comments and increase readability. R=thibaudm@chromium.org Bug: v8:12244 Change-Id: I720a3d91ea95a26a38a48c68161f1b0552937cd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172763Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#76964}
-
Sathya Gunasekaran authored
Change-Id: Ibb8de6e2df6eaee5413d9d6b197a9490dfa8ff07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172756Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/main@{#76963}
-
Sathya Gunasekaran authored
Change-Id: Ibcfdfa7c6f8e5c13f6f2a5098fc7fde4fa15f3c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172757 Auto-Submit: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#76962}
-
Sathya Gunasekaran authored
Useful for debugging errors Change-Id: Ibab5acec4a8e927262dbc12d5d4cc4cd27ebf0ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172754 Auto-Submit: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#76961}
-
Andreas Haas authored
Spec tests were fixed in the meantime. R=ecmziegler@chromium.org Bug: v8:7581 Change-Id: If8e192ea94f9908ec469ebd5ccd876f51e4ea6f3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3167492 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/main@{#76960}
-
Victor Gomes authored
No-Try: true Bug: v8:11880 Change-Id: If16fe503a7fda39ccbec745d6c75959e7d2f5433 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172755 Auto-Submit: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#76959}
-
Clemens Backes authored
Most call signatures are small enough to keep them on the stack. This CL adds a little optimization to avoid two Zone allocations for such small signatures (and one in the general case). R=thibaudm@chromium.org Change-Id: I20ea7b77bfe8f1c86f8aa66450baa3561d564de1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3168279 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#76958}
-
Clemens Backes authored
The fix is released now, so we can add the tests to the public repo. R=ahaas@chromium.org Bug: chromium:1239116 Change-Id: Ie1489f6bcd934f84222b4631921475c389f778dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172752Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#76957}
-
Clemens Backes authored
Use <iosfwd> where possible, in particular in public headers (include/v8-*.h). R=cbruni@chromium.org Bug: v8:11879 Change-Id: I9d6095e6385229763d667f5064a794d67952b2b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160517Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#76956}
-
Georg Neis authored
Bug: chromium:1228407, chromium:1234764, chromium:1234770, chromium:1247763 Change-Id: I1e8ffaa04eeda22b71ece2f59038e5c92861fde0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172751 Commit-Queue: Georg Neis <neis@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#76955}
-
Andreas Haas authored
This CL sets the prototype for the other WebAssembly API objects, Module, Instance, Table, and Memory. For Instance, the WebAssemblyInstanceImpl function got inlined, as there was only one caller, and it made setting the prototype complicated. R=jkummerow@chromium.org Bug: v8:12227 Change-Id: I93b459d69b917b099b27f957fb0e04b7e021bd59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3168282 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#76954}
-
Clemens Backes authored
This adds a few DCHECKs to ensure that the process-wide memory protection key is not writable (per thread) in a few strategic places: - Before switching it to writable (which implicitly checks the initial state), - when entering compiled code, and - in the explicit unit test. R=jkummerow@chromium.org CC=mpdenton@chromium.org Bug: v8:11974 Change-Id: I6037f599afe9009d5e48794eb382eb1979f3ce9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3165060Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#76953}
-
Georg Neis authored
It didn't take the recently added --stress-concurrent-inlining-attach-code feature into account. Bug: chromium:1250547 Change-Id: I657b030308158353b72b9b38db7909a1e4190b6c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3171153 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#76952}
-
v8-ci-autoroll-builder authored
Rolling v8/third_party/google_benchmark/src: https://chromium.googlesource.com/external/github.com/google/benchmark/+log/713b917..0baacde Update policy to match reality (Dominic Hamon) https://chromium.googlesource.com/external/github.com/google/benchmark/+/0baacde TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,mlippautz@chromium.org Change-Id: I84c57d1fba5010c878abf79010c508c5516d121a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3171724Reviewed-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/main@{#76951}
-
v8-ci-autoroll-builder authored
Rolling v8/third_party/aemu-linux-x64: 17S2VQDv3RUfAsW4s0c53HyKMVsd-i_1DocJS0aHWu4C..bOp0PE8R9VUQxsHclvuA10P4iOaWjRRpsK8ZQKtAZCAC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/fb69904..8ec776f Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/6550ec9..c1fd44b TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I990498d25f3d74d37050a37ab98be3d8bb68d722 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3171721Reviewed-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/main@{#76950}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/ae8cb5d..1037128 Rolling v8/third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/6569bfc..48418f3 Rolling v8/third_party/android_sdk/public: ZT3JmI6GMG4YVcZ1OtECRVMOLLJAWAdPbi-OclubJLMC..yODElY4RdHopNEfpOnqjRcrpa6JMzbhYYqGD53-DjJwC Rolling v8/third_party/android_sdk/public: qi_k82nm6j9nz4dQosOoqXew4_TFAy8rcGOHDLptx1sC..g7n_-r6yJd_SGRklujGB1wEt8iyr77FZTUJVS9w6O34C Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/fa2350f..fb69904 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/cf9d643..6550ec9 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/6f44cf5..7ea32d7 TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: Id62cd6c728dcc4bfc422632afdf47cef3db2bee1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3171717Reviewed-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/main@{#76949}
-
- 20 Sep, 2021 8 commits
-
-
Samuel Groß authored
At least for the initial rollout, we will gracefully handle cage reservation failures by shrinking the size of the cage until the reservation succeeds or the size drops below the mimimum cage size. This will allow collecting statistics on how often cage reservation failures occur in practice for different cage sizes, which will in turn influence the decision on how to handle them in the future. Bug: chromium:1218005 Change-Id: Ica58951ba51ac01bc2c387b34dfc8d9051ed4d75 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3168347Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#76948}
-
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}
-
Georg Neis authored
This is a reland of 5dde281c, after also fixing the ic-migrated-... test, in which an object died too early. Original change's description: > [compiler] Fix a few test flakes and reenable the tests > > Bug: v8:12173 > Change-Id: I2983be9133f8ff4d1740e8eba05a3c29d603dfc3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3168270 > Auto-Submit: Georg Neis <neis@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76939} Bug: v8:12173 Change-Id: If385e5c826b8470ef67f12705c5171f330f6cd57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3171353 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#76946}
-
Ng Zhi An authored
When dst != lhs, we moved lhs to dst, but dst can be == rhs, so we would overwrite rhs, and end up comparing lhs with itself, always returning false. We handle the different aliasing cases in the macro-assembler function I64x2GtS, to simplify the checks in Liftoff a little bit. TurboFan does not need to change as it will require dst == lhs when AVX is not supported. Bug: v8:12237 Change-Id: Icefa6eb79083c003e93dbbd11ccc419aae4b15d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3169312Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#76945}
-
Ng Zhi An authored
We move some instructions from the test that just disassembles them, to the test that checks for expected output. Bug: v8:12207 Change-Id: I913237427d795ed44539c7294ebbe69330c41dfa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3163278Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#76944}
-
Ng Zhi An authored
This is similar to x64, these SSE operations take 2 operands, and their AVX version also takes 2 operands. Bug: v8:11879 Change-Id: I98885a7b69f3b61ee89e713b5d7cf2f4fd2406db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3169315 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/main@{#76943}
-
Leszek Swirski authored
Copy the initial allowlist (and banned list) from relevant entries in the Chromium guidelines. Change-Id: Id22566ffe97e36f0c139d05218e94448f10a790f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3168281 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#76942}
-
Clemens Backes authored
This reverts commit 5dde281c. Reason for revert: Test still fails on gc-stress: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64%20GC%20Stress/19821/overview Original change's description: > [compiler] Fix a few test flakes and reenable the tests > > Bug: v8:12173 > Change-Id: I2983be9133f8ff4d1740e8eba05a3c29d603dfc3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3168270 > Auto-Submit: Georg Neis <neis@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76939} Bug: v8:12173 Change-Id: I402982540d6a06dc1ca8bbd87ae5f58a000f0c1a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3171352 Auto-Submit: Clemens Backes <clemensb@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@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/main@{#76941}
-