- 20 Apr, 2021 20 commits
-
-
Ng Zhi An authored
Bug: v8:11589 Change-Id: I13c57e1dcc77345bcc9d95a14cf878db6dd60e02 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2837589Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#74073}
-
Dan Elphick authored
Moves the platform-specific interface-descriptors-<platform>-inl.h into the v8_internal_headers target so interface-descriptors-inl.h can include them. (Fixes 1 gn check error). Bug: v8:7330 Change-Id: Id07635e93a4574b733d258ddba558b106d95c05f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2840448 Commit-Queue: Dan Elphick <delphick@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#74072}
-
Stephen Belanger authored
This is a reland of d5457f5f after a speculative revert. Additionally it fixes an issue with throwing promise hooks. Original change's description: > [api] JSFunction PromiseHook for v8::Context > > This will enable Node.js to get much better performance from async_hooks > as currently PromiseHook delegates to C++ for the hook function and then > Node.js delegates it right back to JavaScript, introducing several > unnecessary barrier hops in code that gets called very, very frequently > in modern, promise-heavy applications. > > This API mirrors the form of the original C++ function based PromiseHook > API, however it is intentionally separate to allow it to use JSFunctions > triggered within generated code to, as much as possible, avoid entering > runtime functions entirely. > > Because PromiseHook has internal use also, beyond just the Node.js use, > I have opted to leave the existing API intact and keep this separate to > avoid conflicting with any possible behaviour expectations of other API > users. > > The design ideas for this new API stemmed from discussion with some V8 > team members at a previous Node.js Diagnostics Summit hosted by Google > in Munich, and the relevant documentation of the discussion can be found > here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e > > A summary of the reasons for why this new design is important can be > found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing > > Bug: v8:11025 > Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73858} Bug: v8:11025 Bug: chromium:1197475 Change-Id: I73a71e97d9c3dff89a2b092c3fe4adff81ede8ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2823917Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74071}
-
Junliang Yan authored
Change-Id: I2925b0d1378736d3b357e5be7070b6b37510cbff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2840325Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#74070}
-
QiuJi authored
Change-Id: I34d31032b8f1704ddea6334398a4ff2198cc192d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2822631Reviewed-by: Brice Dobry <brice.dobry@futurewei.com> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Brice Dobry <brice.dobry@futurewei.com> Cr-Commit-Position: refs/heads/master@{#74069}
-
Liu Yu authored
Port: 2871e05c Bug: v8:11420 Change-Id: Id4e060ba95d7eb19c0a0a3f5eb224be5eb46fa8e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839017Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/master@{#74068}
-
Camillo Bruni authored
Change-Id: Ia553e38ca65587c16c36c736c2b9ca9b686ed3e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839561 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#74067}
-
Santiago Aboy Solanes authored
Mistakenly had its set as non-atomic when it was modifying maps the concurrent compiler could see. Since this accessor is set after map initialization, but it is not necessary for synchronization we can set it as relaxed write. Bug: v8:7790, v8:11668 Change-Id: I605935e96b3da47ed6abfb6676bf14456feeeddd Fixed: v8:11668 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839548Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#74066}
-
Ulan Degenbaev authored
The test fails because of the race condition between concurrent GC threads and the destructor of the test. Bug: v8:11413 Change-Id: I5a138a61c16ddf2398e7c54defe6cc4008ca3330 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839552Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#74065}
-
Maya Lekova authored
This is a reland of 6124a534 It fixes a UAF issue in the d8 test by moving the test API object constructor to PerIsolateData. It also fixes a crash in Chromium caused by current usage of v8::ApiObject, which should be migrated to v8::Value*. Original change's description: > [fastcall] Add support for leaf interface type checks > > This CL adds an IsTemplateForApiObject method to FunctionTemplate > allowing the embedder to check whether a given API object was > instantiated by this template without including parent templates > in the search. It also replaces the v8::ApiObject in the fast API > with a raw v8::Value pointer to allow use of standard C++ casts. > > Bug: chromium:1052746 > Change-Id: I0812ec8b4daaa5f5005aabf10b63e1e84e0b8f03 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595310 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73999} Bug: chromium:1052746, chromium:1199900 Change-Id: I4b7f0c9e9152919dde4a1d0c48fbf5ac8c5b13d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835711Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74064}
-
Jochen Eisinger authored
Change-Id: Iae17977cec9520cf0194b5686ec31f0501f866f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839556 Auto-Submit: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74063}
-
Patrick Thier authored
This is a reland of df52b65d Skip test with variant stress-concurrent-allocation. The test manually triggers pretenuring for allocation sites, but with --stress-concurrent-allocation these pretenuring decisions are reset due to low survival rate in old generation. Original change's description: > [test] Rework Allocation Site Pretenruing Tests > > - Add %PretenureAllocationSite to manually force pretenuring for an > allocation site during the next GC. > - Replace cctest test-compiler/DecideToPretenureDuringCompilation, which > was not triggering the tested behaviour anymore with mjsunit test > - Add tests for deoptimizations due to pretenuring decision changes > during OSR. > > Bug: chromium:1193094 > Change-Id: I5d6c35e2914b705bf96f27051a4a286413b6fe26 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2825593 > Commit-Queue: Patrick Thier <pthier@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74032} Bug: chromium:1193094 Change-Id: I366a4a074435ebffcf2b3af84152067731cd2a5e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839550Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#74062}
-
Dominik Inführ authored
This allows using --track-retaining-path with incremental marking enabled. This CL will also track when an object was kept alive through the write barrier or the RetainMaps feature. Bug: v8:11645 Change-Id: I08ab5e500ae3580aead0c188c2caeb8f2a5f9f07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2829440Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#74061}
-
Jakob Gruber authored
Introduced in crrev.com/c/2833919. Tbr: mslekova@chromium.org Bug: v8:7790 Change-Id: I885aa1034f0edb99a6cb698f08361f5c1bf26389 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839549Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#74060}
-
Sathya Gunasekaran authored
This reverts commit f2741b13. Reason for revert: breaks blink linux bot https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Blink%20Linux%20Debug/9089/blamelist Original change's description: > Resolving or rejecting promises doesn't execute script > > It just enqueues a microtask. > > Bug: chromium:728583 > Change-Id: Iecbc6f33db8a94acd10d9ae1f2173700d872ac50 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2827906 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Jochen Eisinger <jochen@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74036} Bug: chromium:728583 Change-Id: I09a750b9c5cf43adedb395949e246421eeaf0a09 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839547 Auto-Submit: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@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@{#74059}
-
Nico Hartmann authored
This is a reland of 7c7cdec5 Original change's description: > [TurboFan] Fix SpeculativeNumberEqual[Number] with undefined > > Bug: chromium:1198309, v8:5660 > Change-Id: I9cb5f66643c0c0ab9b18ca953cf85d2f6aa84b42 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2827899 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74038} Bug: chromium:1198309 Bug: v8:5660 Change-Id: Ibf9b3abfb62778a970b791432458076cff46d033 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839544Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#74058}
-
Jakob Gruber authored
This splits up js-heap-broker.cc into - js-heap-broker.cc: the JSHeapBroker impl, and - heap-refs.cc: ObjectRef and ObjectData impls, as well as two JSHeapBroker functions that closely deal with refs/data objects. Bug: v8:7790 Change-Id: I7e097b60cdec4fd61b39d7de9752d536ac313cbe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2833919Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#74057}
-
Sathya Gunasekaran authored
This is a reland of c83c9590 Changes since revert: nothing, issue was crbug.com/v8/11666 Original change's description: > [ic] Add a new MegaDOM IC > > This patch implements the MegaDOM IC setup and access. A new MegaDOM > IC state indicates that we've seen only DOM accessors at this access > site. > > This CL only adds support for DOM getters in LoadIC, other kinds of > access will be added in follow on CLs. > > Still remaining TODO before shipping: > 1. Have a mechanism to invalidate the protector > 2. Have a mechanism to find the accessors that aren't overloaded > 3. Use a new builtin to miss to runtime on access check failure > > Change-Id: Ie12efe5e9fa284f023043b996d61e7d74e710ee2 > Bug: v8:11321 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2618239 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Mythri Alle <mythria@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73733} Bug: v8:11321 Change-Id: I2bec54465542b5b40c42adb6eb12b6ce72cce5bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794439Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#74056}
-
Camillo Bruni authored
- Add v8_code_comments to allow runtime-enabled code comments with --code-comments - v8_code_comments is enable by default in debug mode - Make MacroAssembler::RecordComment helper inlineable to remove call and check overheads when v8_code_comments = false - Make FLAG_code_comments readonly if v8_code_comments = false and benefit from dead-code elimination This saves roughly 5% CompileBaselineVisit time in sparkplug on a 5MiB JS file. Bug: v8:11420 Change-Id: I1174ab37b4bbe1ff8880416c1f6a6e28377a962c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2824428Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74055}
-
Jakob Gruber authored
Tbr: gsathya@chromium.org Bug: v8:11668,v8:11649,v8:11576 Change-Id: I8bd0cb97d7682a8d752c5b78af6dfccd426be1d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839543Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#74054}
-
- 19 Apr, 2021 20 commits
-
-
Ng Zhi An authored
Bug: v8:11542 Change-Id: Ib2f369cbbd91f3da07bd8f60476321ec99265872 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2836825 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#74053}
-
Ng Zhi An authored
Bug: v8:11589 Change-Id: I871ec1aecbac065e80c05309e478d814675c0d44 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2828700 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#74052}
-
Deepti Gandluri authored
Bug: v8:11613 Change-Id: Ica7fe5ca63fa3729614eb09ace26e679a88577ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2826728 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#74051}
-
Zhi An Ng authored
This reverts commit b824d853. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20debug/36784/overview Original change's description: > [wasm-simd][x64][ia32] Factor f64x2.replace_lane into shared code > > This pblendw/movlhps combination has lower latency and requires less > unop than pinsrq (1 v.s. 2). > > Bug: v8:11589 > Change-Id: I770b0c20a286774afefbac5ef0adffe463318f21 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2828871 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74049} Bug: v8:11589 Change-Id: I1be96e59fdb844db1e228be3a09d4a06798a16c3 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2837805 Auto-Submit: Zhi An Ng <zhin@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@{#74050}
-
Ng Zhi An authored
This pblendw/movlhps combination has lower latency and requires less unop than pinsrq (1 v.s. 2). Bug: v8:11589 Change-Id: I770b0c20a286774afefbac5ef0adffe463318f21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2828871Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#74049}
-
Shu-yu Guo authored
The plan is to use VirtualMemoryCage both for the pointer compression cage as well as the code range in a future CL. The PtrComprCage class is removed in favor of using VirtualMemoryCage directly. Bug: v8:11460 Change-Id: I4e34a3db1359319e3539ede587f6a73e0af03eec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2824098 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Junliang Yan <junyan@redhat.com> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#74048}
-
Milad Fa authored
After https://crrev.com/c/2831872 Baseline and Compare_Baseline functions need to return proper registers as placeholders. More details can be found on comment section of this port: https://crrev.com/c/2830897 Change-Id: I7f91a85f9c85ce1813540b4d525f2dce5faaf279 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2836705Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#74047}
-
Junliang Yan authored
Change-Id: I358d4e811f47cb0975c488fc6c9c0c57648fe42e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2836325Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#74046}
-
Jakob Kummerow authored
Also replace the schoolbook algorithm with an optimized version that runs about twice as fast. This also adds infrastructure to support interrupt checks from BigInt library code. Bug: v8:11515 Change-Id: I5f812913697384afca98937e1fb7361b4ec22d62 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2773043 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#74045}
-
Santiago Aboy Solanes authored
We can hardcode the result and to make sure we are using the correct offset, we now have a static_assert. Change-Id: Ic04ce9f8e46847504d3d0a5921f55cb750f7f3ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2831473 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#74044}
-
Clemens Backes authored
This saves quite some code space on wasm functions, which often do not spill any tagged values (hence the safepoints will just be empty). It also often saves a few bytes on code that actually spills tagged values, but not to the highest frame slots. R=jkummerow@chromium.org Bug: v8:11630 Change-Id: I3bd77b3afcd2cf86a92ce5b302b5aa06ec0ed223 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2831873Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74043}
-
Milad Fa authored
Port ede5e814 Original Commit Message: This reverts commit d16eefe0. It is not correct to check for node equality during the graph construction phase, because we can have optimizations that will combine same nodes. So it can happen that in wasm-compiler, the inputs to shuffle are not the same, so we canonicalize using that knowledge that it will not be the same, and allow indices > 15. But later we can have optimizations that combine the 2 inputs (e.g. splat of the same constants), and the instruction selector will see that the input nodes are the same. R=zhin@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I0d388c814dc1c45f978d749218b8120bfd53bb03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835397Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#74042}
-
Daniel Lehmann authored
The --wasm-write-protect-code-memory flag previously enforced W^X, that is the WebAssembly code space was either writable or executable, but never both at the same time. With compilation in background threads concurrent to execution in the main thread, this simple scheme is no longer viable because the same memory page can indeed be written to and executed at the same time. Hence, this flag is currently broken and disabled and the code space is always writable AND executable. As a first step towards more security, we at least want to write-protect the code space (when not required writable by compilation threads) but at the same time keep it always executable (because of concurrent execution in the main thread). That is, we no longer switch between RX and RW (W^X), but rather between RX and RWX (write-protection only). This CL starts to change from W^X (which was broken) to write-protection only when enabling --wasm-write-protect-code-memory. This is the first of two CLs, where the followup CL will fix the feature, and this CL merely prepares and cleans up the code. In particular, this CL changes the permissions from RW to RWX (due to concurrent execution) and renames `WasmCodeAllocator::SetExecutable()` to `WasmCodeAllocator::SetWritable()` (and similarly named callers) to be consistent with that change. Since the code space is now always executable, this CL also removes now unneeded calls to `SetExecutable(true)` in tests. R=clemensb@chromium.org CC=jkummerow@chromium.org Bug: v8:11663 Change-Id: I2065eed6770215892b81daefbddf74a349e783cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835237Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Daniel Lehmann <dlehmann@google.com> Cr-Commit-Position: refs/heads/master@{#74041}
-
Sathya Gunasekaran authored
This reverts commit 7c7cdec5. Reason for revert: speculative revert for https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8849515345192311664/+/u/Check_-_stress_concurrent_allocation/deopt-pretenure Original change's description: > [TurboFan] Fix SpeculativeNumberEqual[Number] with undefined > > Bug: chromium:1198309, v8:5660 > Change-Id: I9cb5f66643c0c0ab9b18ca953cf85d2f6aa84b42 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2827899 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74038} Bug: chromium:1198309 Bug: v8:5660 Change-Id: I91eef4a6bb85245b82086c91798ca3d650854f52 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2836097Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#74040}
-
Clemens Backes authored
This reverts commit df52b65d. Reason for revert: fails on TSan: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN/36351/overview Original change's description: > [test] Rework Allocation Site Pretenruing Tests > > - Add %PretenureAllocationSite to manually force pretenuring for an > allocation site during the next GC. > - Replace cctest test-compiler/DecideToPretenureDuringCompilation, which > was not triggering the tested behaviour anymore with mjsunit test > - Add tests for deoptimizations due to pretenuring decision changes > during OSR. > > Bug: chromium:1193094 > Change-Id: I5d6c35e2914b705bf96f27051a4a286413b6fe26 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2825593 > Commit-Queue: Patrick Thier <pthier@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74032} Bug: chromium:1193094 Change-Id: I0cd526984d467c4e1e3637ac642f630e3cffea41 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835715 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@{#74039}
-
Nico Hartmann authored
Bug: chromium:1198309, v8:5660 Change-Id: I9cb5f66643c0c0ab9b18ca953cf85d2f6aa84b42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2827899Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#74038}
-
Ross McIlroy authored
Objects that have kind() kBackgroundSerializedHeapObject also should have been serialized. Change-Id: I2a3f17df61477409e94b8858e720e1a2ec720091 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835709 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#74037}
-
Jochen Eisinger authored
It just enqueues a microtask. Bug: chromium:728583 Change-Id: Iecbc6f33db8a94acd10d9ae1f2173700d872ac50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2827906Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#74036}
-
Georg Neis authored
Bug: v8:11666 Change-Id: I7ccb1a888d16202895aa6288b141d3e41b524572 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835708 Auto-Submit: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#74035}
-
Milad Fa authored
Port 2871e05c Original Commit Message: This is a reland of ae0752df Reland fixes: * Remove UNREACHABLE() from constexpr switch, since we don't have a CONSTEXPR_UNREACHABLE() (it's ok, the switch is exhaustive for the enum anyway). * Fix IsRegisterArray trait to use public inheritance and size_t for std::array size. Original change's description: > [codegen] Add static interface descriptors > > Add a new CRTP StaticCallInterfaceDescriptor class, which provides > static constexpr getters for a descriptor's registers, parameter counts, > and so on. Each CallInterfaceDescriptor subclass is changed to extend > StaticCallInterfaceDescriptor, with StaticCallInterfaceDescriptor itself > extending CallInterfaceDescriptor to still provide a dynamic lookup > where needed. > > StaticCallInterfaceDescriptor provides a couple of customisation points, > where it reads its CRTP derived descriptor's static fields and > functions, with default fallbacks where appropriate. With these > customisation points, the definition of CallInterfaceDescriptor > subclasses is simplified to: > > a) Providing parameter names (as before) > b) Providing parameter types (as before) > c) Optionally setting flags (like kNoContext or kAllowVarArgs) as > static booleans on the class. > d) Optionally providing a `registers()` method that returns a > std::array<Register, N> of registers that may be used for > parameters (if not provided, this defaults to the implementation > specific default register set). > > Parameter registers (and register count) are automagically set based on > the number of parameters and number of given registers, with extra magic > to ignore no_reg registers (to reduce ia32 special casing). The > CallInterfaceDescriptorData is initialized based on these static > functions, rather than manual per-descriptor initializers. > > This allows us to skip loading descriptors dynamically for CallBuiltin > in Sparkplug, and instead lets us use a bit of template magic to > statically set up arguments for the calls. Any other users of statically > known descriptors will also benefit, thanks to C++ picking the static > methods over the dynamic methods on the base class when available. > > Because we can remove various virtual functions and trigger heavier > inlining of constantly known values, binary size slightly decreases with > this change. > > Note that torque-generated descriptors are changed to use the same magic, > rather than having Torque-specific magic, for consistency. > > Bug: v8:11420 > Change-Id: Icc5e238b6313a08734feb564204a13226b450c22 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814518 > Auto-Submit: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73996} R=leszeks@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Id854bb901df72787ed225fc8790c3f626121ab3a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2830897Reviewed-by: Junliang Yan <junyan@redhat.com> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#74034}
-