- 24 Aug, 2021 1 commit
-
-
Dan Elphick authored
This is a reland of d1b27019 Fixes include: Adding missing file to bazel build Forward-declaring classing before friend-classing them to fix win/gcc Add missing v8-isolate.h include for vtune builds Original change's description: > [include] Split out v8.h > > This moves every single class/function out of include/v8.h into a > separate header in include/, which v8.h then includes so that > externally nothing appears to have changed. > > Every include of v8.h from inside v8 has been changed to a more > fine-grained include. > > Previously inline functions defined at the bottom of v8.h would call > private non-inline functions in the V8 class. Since that class is now > in v8-initialization.h and is rarely included (as that would create > dependency cycles), this is not possible and so those methods have been > moved out of the V8 class into the namespace v8::api_internal. > > None of the previous files in include/ now #include v8.h, which means > if embedders were relying on this transitive dependency then it will > give compile failures. > > v8-inspector.h does depend on v8-scripts.h for the time being to ensure > that Chrome continue to compile but that change will be reverted once > those transitive #includes in chrome are changed to include it directly. > > Full design: > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing > > Bug: v8:11965 > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76424} Cq-Include-Trybots: luci.v8.try:v8_linux_vtunejit Bug: v8:11965 Change-Id: I99f5d3a73bf8fe25b650adfaf9567dc4e44a09e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113629Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/main@{#76460}
-
- 23 Aug, 2021 2 commits
-
-
Dan Elphick authored
This reverts commit d1b27019. Reason for revert: Broke vtune build, tsan build and possibly others Original change's description: > [include] Split out v8.h > > This moves every single class/function out of include/v8.h into a > separate header in include/, which v8.h then includes so that > externally nothing appears to have changed. > > Every include of v8.h from inside v8 has been changed to a more > fine-grained include. > > Previously inline functions defined at the bottom of v8.h would call > private non-inline functions in the V8 class. Since that class is now > in v8-initialization.h and is rarely included (as that would create > dependency cycles), this is not possible and so those methods have been > moved out of the V8 class into the namespace v8::api_internal. > > None of the previous files in include/ now #include v8.h, which means > if embedders were relying on this transitive dependency then it will > give compile failures. > > v8-inspector.h does depend on v8-scripts.h for the time being to ensure > that Chrome continue to compile but that change will be reverted once > those transitive #includes in chrome are changed to include it directly. > > Full design: > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing > > Bug: v8:11965 > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76424} Bug: v8:11965 Change-Id: Id57313ae992e720c8b19abc975cd69729e1344aa No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113627 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#76428}
-
Dan Elphick authored
This moves every single class/function out of include/v8.h into a separate header in include/, which v8.h then includes so that externally nothing appears to have changed. Every include of v8.h from inside v8 has been changed to a more fine-grained include. Previously inline functions defined at the bottom of v8.h would call private non-inline functions in the V8 class. Since that class is now in v8-initialization.h and is rarely included (as that would create dependency cycles), this is not possible and so those methods have been moved out of the V8 class into the namespace v8::api_internal. None of the previous files in include/ now #include v8.h, which means if embedders were relying on this transitive dependency then it will give compile failures. v8-inspector.h does depend on v8-scripts.h for the time being to ensure that Chrome continue to compile but that change will be reverted once those transitive #includes in chrome are changed to include it directly. Full design: https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing Bug: v8:11965 Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/main@{#76424}
-
- 16 Aug, 2021 1 commit
-
-
Georg Neis authored
- Remove flag --block-concurrent-recompilation and its implementation, including %UnblockConcurrentCompilation. - Rewrite tests that used it in terms of the primitives introduced in my previous CL: https://chromium-review.googlesource.com/c/v8/v8/+/3071400/ - Remove "sync"/"no sync" arguments from %GetOptimizationStatus, assertOptimized, etc. These are now always "no sync": they don't do any magic. - Remove "if %IsConcurrentRecompilationSupported then quit" from some tests in favor of --concurrent-recompilation in their Flags line. Bug: v8:12041, v8:7790 Change-Id: I966aae4fec85e6f9e7aeed2ba2c12e9198a3991f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3077149Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#76298}
-
- 10 Aug, 2021 1 commit
-
-
Georg Neis authored
Some tests want to invalidate part of the VM state after an optimization has consumed the old state but before the code is installed. The existing mechanism for this is --block-concurrent-recompilation and %UnblockConcurrentRecompilation(). The former suspends optimization right after PrepareJob, before the background ExecuteJob phase. The intrinsic can then be used to unblock it again. This was good enough so far because the main "consume" work used to happen on the main thread. With concurrent inlining this is no longer true and we need something else. This CL introduces three intrinsics: %DisableOptimizationFinalization turns off automatic finalization of background optimizations. %FinalizeOptimization() can then be called at an appropriate time to manually finalize (and thus install) the code and reenable automatic finalization. In case one wants to perform some action on the main thread after the concurrent optimization has finished but before it is finalized, one can do so with the help of %WaitForBackgroundOptimization() (see tests). In a followup CL I'm removing the old mechanism since it now seems redundant. Bug: v8:12041, v8:7790 Change-Id: Ib7195789105922eb7e4bff86dc5bc11e96a4f97b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3071400 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76190}
-
- 29 Jul, 2021 1 commit
-
-
Thibaud Michaud authored
The JS API constructor was renamed to "WebAssembly.Tag" to match the spec: https://github.com/WebAssembly/exception-handling/issues/159 Rename "exception" to "tag" throughout the codebase for consistency with the JS API, and to match the spec terminology (e.g. "tag section"). R=clemensb@chromium.org,nicohartmann@chromium.org Bug: v8:11992 Change-Id: I63f9f3101abfeefd49117461bd59c594ca5dab70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3053583Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75994}
-
- 23 Jul, 2021 2 commits
-
-
Leszek Swirski authored
Change the folded interrupt check to be on JumpLoop only, to avoid calling it from Return. The call from Return could cause spurious stack overflows, which interacted poorly with async functions that had already resolved their promise. Now the bytecode budget interrupt function is split into two functions, one which does the stack check and one which doesn't. The former is still called from JumpLoop, the latter is called from Return. Bug: chromium:1231952, chromium:1232105 Change-Id: I8c4e2937f64b5f8fdbd6c1fcb2a76ec5f090ae3c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3049076Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#75891}
-
Danil Somsikov authored
devtools Bug: chromium:1213374 Change-Id: Ie064873e8a3998aad01120022e39e93dba0cb729 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3041424 Commit-Queue: Danil Somsikov <dsv@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#75874}
-
- 22 Jul, 2021 1 commit
-
-
Ross McIlroy authored
And use it to remove the set of TurboProp test skips. BUG=v8:9684,v8:12013 Change-Id: I878e2b9c595449c954735290959d3b38eead5a5b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3043963 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#75865}
-
- 05 Jul, 2021 1 commit
-
-
Yang Guo authored
Bug: none Change-Id: Icbc00fcdba6e408f34ac487b05e36deb71976e11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3001357 Commit-Queue: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#75550}
-
- 17 Jun, 2021 2 commits
-
-
Toon Verwaest authored
This isn't used outside of tests, so let's just remove it. Change-Id: I06b7ec11911fd8ebc3bbabcba16d0c2a3fafddab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2968413Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#75220}
-
Toon Verwaest authored
This also removes intrinsics that were just used in tests. It keeps InlineIncBlockCounter for now because it's a less straightforward. Change-Id: I77e55d7a746294892d0fd7ab577ebf8eb42f1f08 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2953195 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#75217}
-
- 02 Jun, 2021 2 commits
-
-
Deepti Gandluri authored
Bug: chromium:1190951 Change-Id: I2c314a143c77a9fee288f7822fea84f900c3059b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2921033Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#74930}
-
Jakob Kummerow authored
This instruction is a non-standard V8-only experiment for now, hidden behind the --experimental-wasm-gc-experiments flag. The motivation is to provide a way to set up non-canonicalized RTT hierarchies, to enable expressing the type system of Java-like languages in terms of WasmGC constructs. Bug: v8:7748 Change-Id: Idf1c18e9944c983f40f1e01b2032ee5fdc2fd81b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2930478Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#74920}
-
- 27 May, 2021 1 commit
-
-
Manos Koukoutos authored
Changes: - Add --experimental-wasm-gc-experiments flag. - Add array.copy opcode. Implement it in decoding and code generation behind the new flag. - Add WasmCodeBuilder::BoundsCheckArrayCopy. Move BoundsCheckArray to the private section. - Add WasmArrayCopy and WasmArrayCopyWithChecks builtin. - Add WasmArrayCopy runtime function. - Add WasmArray::ElementSlot. - Always print two hex digits in CHECK_PROTOTYPE_OPCODE. - In test-gc, print the thrown-error message if the function should not throw. - In test-gc, add GetResultObject with one argument. Bug: v8:7748 Change-Id: I58f4d37e254154596cdef5e78482b55260dd3782 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2912729 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#74806}
-
- 14 May, 2021 1 commit
-
-
Vicky Kontoura authored
This CL adds support for regular expressions. To serialize a regular expression, the pattern and flags are extracted and serialized as strings. Also, JSRegExp::StringFromFlags() is introduced to allow for transforming back from JSRegExp::Flags to the corresponding flag string. To verify that this implementation is on par with RegExp.prototype.flags, unittests are introduced under regexp/regexp-unittest.cc and RegExpBuiltinsAssembler::FlagsGetter() is updated to include a slow path that calls JSRegExp::StringFromFlags() through a runtime function. Bug: v8:11525, v8:11706 Change-Id: I9cad4c464129ba1cbf64672130d8410730d7d679 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878751 Commit-Queue: Vicky Kontoura <vkont@google.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74566}
-
- 11 May, 2021 1 commit
-
-
Luis Fernando Pardo Sixtos authored
This change adds support for `const` redeclaration on REPL mode with the semantincs recommended in the design doc: 1) REPL scripts should not be able to reassign bindings to `const` variables. 2) Re-declaring `const` variables of page scripts is not allowed in REPL scripts. 3) Re-declearing `const` variables is not allowed in the same REPL script. 4) `const` re-declaration is allowed across separate REPL scripts. 5) Old references to previously declared variables get updated with the new value, even those references from within optimized functions. Design doc: https://goo.gle/devtools-const-repl Bug: chromium:1076427 Change-Id: Ic73d2ae7fcfbfc1f5b58f61e0c3c69e9c4d85d77 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2865721Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Luis Fernando Pardo Sixtos <lpardosixtos@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74510}
-
- 10 May, 2021 2 commits
-
-
Igor Sheludko authored
This CL also allows reusing slow case for API callbacks. Bug: chromium:1201781 Change-Id: Ib5f81c510404060c888ba30c82357d6ed1a95cf5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2882809 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74470}
-
Marja Hölttä authored
Detailed list of changes: https://docs.google.com/document/d/15i4-SZDzFDW7FfclIYuZEhFn-q-KpobCBy23x9zZZLc/edit?usp=sharing Bug: v8:11111 Change-Id: I931003bd4552cf91d57de95af04a427a9e6d6ac9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814259Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74459}
-
- 05 May, 2021 1 commit
-
-
Nico Hartmann authored
This CL adds a new %VerifyType compiler intrinsic that can be used by tests and fuzzers to generate a runtime type check of the given input value. Internally, %VerifyType is lowered to %AssertType which is why checks are currently limited to range types. tests to be const-correct. Drive-by: Add a few consts to NodeProperties accessors to allow Bug: v8:11724 Change-Id: I06842062d0e8278a5ba011d5a09947fe05b6e85e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859959 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#74377}
-
- 03 May, 2021 1 commit
-
-
Igor Sheludko authored
When fast deleting properties generalize all outgoing transitions to mutable instead of generalizing when property is reconfigured. Bug: chromium:1201938 Change-Id: I080f2f43de1691a742be2a2bec5cd20d02d78dbc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859960 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#74334}
-
- 23 Apr, 2021 2 commits
-
-
Leszek Swirski authored
The ToString intrinsic isn't used anymore, since there is now a ToString bytecode, so we can remove it. Change-Id: I5ed121ae4d117660e1ee8a64a2b30e1fb054a886 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848465 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74151}
-
Nico Hartmann authored
This CL applies the following changes: - JSCallReducer no longer generates a CheckBigInt in front of the generated BigIntAsUintN. - This results in a slight change of the semantics of the latter, which now includes the necessary type check. Typer and Verifier are changed accordingly. - The BigIntAsUintN operator is now effectful, since it can now deopt. - IrOpcode::kBigIntAsUintN is now lowered in SimplifedLowering instead of EffectControlLinearizer, the necessary type check is introduced by the RepresentationChanger. - Adds a small mjsunit test to check the correct deoptimization behavior of optimized BigInt.asUintN. ==> Remove UseInfo::TruncatingWord64()! Drive-by: Fix an issue in ChangeUnaryToPureBinaryOp when the new_input is at index 1. Drive-by: Introduce an %Is64Bit() intrinsic to allow tests to distinguish 32 and 64 bit architectures. Bug: v8:11682 Change-Id: I448f892d3bd2280d731ae5b248c833de8faf1bd5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843816 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#74147}
-
- 20 Apr, 2021 1 commit
-
-
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}
-
- 19 Apr, 2021 2 commits
-
-
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}
-
Patrick Thier authored
- 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}
-
- 15 Apr, 2021 1 commit
-
-
Jakob Gruber authored
Some logic still remains, notably in compiler/. Bug: v8:8888 Change-Id: I7e7f10a487e1bc8b90bbbfedbc46bf09bae0717e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2825589 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#73969}
-
- 13 Apr, 2021 1 commit
-
-
Patrick Thier authored
- Add %BaselineOsr to manually trigger OSR to Baseline. - Add flags to %GetOptimizationStatus to check if the topmost frame is an Interpreter/Baseline frame. - Add mjsunit test. Bug: v8:11420 Change-Id: Id80421ad97ee719a67ef299cc700da9c44f23bae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814567 Auto-Submit: Patrick Thier <pthier@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#73937}
-
- 08 Apr, 2021 1 commit
-
-
Victor Gomes authored
https://github.com/tc39/proposal-error-cause Bug: chromium:1192162 Change-Id: If6e2d1f105bb520104bb832ccbc7f660bb8115a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784681 Auto-Submit: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#73855}
-
- 25 Mar, 2021 2 commits
-
-
Frank Emrich authored
This CL adapts some existing dictionary-related operations in CSA to support SwissNameDictionary, too. This is needed to make the CSA version of the SwissNameDictionary test suite working. Bug: v8:11330 Change-Id: Ieb315a0806d8910e50f3643abb9a68200485e4fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784689 Commit-Queue: Frank Emrich <emrich@google.com> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#73681}
-
Frank Emrich authored
This CL adds: a) FindEntry, Add, and Delete operations on SwissNameDictionary in Torque b) Helpers needed for that on both the CSA and Torque side Bug: v8:11330 Change-Id: I549b9039108217a34ec1e95af84eb28af7dfc9d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2778175Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Frank Emrich <emrich@google.com> Cr-Commit-Position: refs/heads/master@{#73674}
-
- 18 Mar, 2021 1 commit
-
-
Frank Emrich authored
This CL is part of a series that adds the C++ implementation of SwissNameDictionary, a deterministic property backing store based on Swiss Tables. This CL adds test-swiss-name-dictionary-infra.[h|cc], which contain the infrastructure for writing tests that simulatenously check the C++ and CSA/Torque implementation of SwissNameDictionary operations. The actual tests are added in a subsequent CL, which will be the last of this series. Bug: v8:11388 Change-Id: I89cbc7e575ed694fe34cb66c0e1ec70683504bd8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742574Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Frank Emrich <emrich@google.com> Cr-Commit-Position: refs/heads/master@{#73516}
-
- 12 Mar, 2021 1 commit
-
-
Clemens Backes authored
A little cleanup after https://crrev.com/c/2752867. R=jkummerow@chromium.org Bug: v8:11238 Change-Id: I6e8b29c852ce6f8267f4b2fb4afe404659503a64 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2756527Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73380}
-
- 11 Mar, 2021 3 commits
-
-
Clemens Backes authored
This is a reland of 80f5dfda. A condition in pipeline.cc was inverted, which lead to a CSA verifier error. Original change's description: > [no-wasm] Exclude src/wasm from compilation > > This is the biggest chunk, including > - all of src/wasm, > - torque file for wasm objects, > - torque file for wasm builtins, > - wasm builtins, > - wasm runtime functions, > - int64 lowering, > - simd scala lowering, > - WasmGraphBuilder (TF graph construction for wasm), > - wasm frame types, > - wasm interrupts, > - the JSWasmCall opcode, > - wasm backing store allocation. > > Those components are all recursively entangled, so I found no way to > split this change up further. > > Some includes that were recursively included by wasm headers needed to > be added explicitly now. > > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc > because it only tests wasm backing stores. This file is excluded from > no-wasm builds then. > > R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org > > Bug: v8:11238 > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73344} TBR=jgruber@chromium.org Bug: v8:11238 Change-Id: I20bd2847a59c68738b5a336cd42582b7b1499585 Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Cq-Include-Trybots: luci.v8.try:v8_linux_verify_csa_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_verify_csa_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752867Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73348}
-
Clemens Backes authored
This reverts commit 80f5dfda. Reason for revert: Fails CSA verification: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20verify%20csa/21766/overview Original change's description: > [no-wasm] Exclude src/wasm from compilation > > This is the biggest chunk, including > - all of src/wasm, > - torque file for wasm objects, > - torque file for wasm builtins, > - wasm builtins, > - wasm runtime functions, > - int64 lowering, > - simd scala lowering, > - WasmGraphBuilder (TF graph construction for wasm), > - wasm frame types, > - wasm interrupts, > - the JSWasmCall opcode, > - wasm backing store allocation. > > Those components are all recursively entangled, so I found no way to > split this change up further. > > Some includes that were recursively included by wasm headers needed to > be added explicitly now. > > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc > because it only tests wasm backing stores. This file is excluded from > no-wasm builds then. > > R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org > > Bug: v8:11238 > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73344} Bug: v8:11238 Change-Id: I93672002c1faa36bb0bb5b4a9cc2032ee2ccd814 Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752866 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@{#73346}
-
Clemens Backes authored
This is the biggest chunk, including - all of src/wasm, - torque file for wasm objects, - torque file for wasm builtins, - wasm builtins, - wasm runtime functions, - int64 lowering, - simd scala lowering, - WasmGraphBuilder (TF graph construction for wasm), - wasm frame types, - wasm interrupts, - the JSWasmCall opcode, - wasm backing store allocation. Those components are all recursively entangled, so I found no way to split this change up further. Some includes that were recursively included by wasm headers needed to be added explicitly now. backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc because it only tests wasm backing stores. This file is excluded from no-wasm builds then. R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org Bug: v8:11238 Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#73344}
-
- 05 Mar, 2021 1 commit
-
-
Andreas Haas authored
This CL implements table.fill in Liftoff. For that I also changed the TurboFan implementation to call the runtime through a builtin instead of calling the runtime function directly. This has the advantage that we don't have to convert the parameters to Smi in the generated code. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: I26793509f8d44582d6a46d25d0c2fc933068f4fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2735314Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#73214}
-
- 03 Mar, 2021 1 commit
-
-
Frank Emrich authored
This CL is part of a series that adds the C++ implementation of SwissNameDictionary, a deterministic property backing store based on Swiss Tables. This CL contains: 1. Copy and equality functions used for testing 2. Runtime functions corresponding to most dictionary operations, which are used temporarily while the CSA/Torque implementation is work in progress 3. Some minor changes to SwissNameDictionary needed for testing (adding template instantiations, V8_EXPORT_PRIVATE, ...) Bug: v8:11388 Change-Id: Iea5f4650b0a443edf563565138ea86fcb45af13a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2722094 Commit-Queue: Frank Emrich <emrich@google.com> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#73153}
-
- 22 Feb, 2021 1 commit
-
-
Toon Verwaest authored
Bug: v8:11429 Change-Id: I626a30d44eca5e2b636d528a9fe0824b8608f4fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712568 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#72914}
-
- 18 Feb, 2021 1 commit
-
-
Clemens Backes authored
... for creating a FixedArray. Calling builtins is generally cheaper than calling into the runtime, and this also saves us a int->Smi conversion. The builtin still has the "Wasm" prefix, since it's only used in wasm for now. R=thibaudm@chromium.org Bug: v8:11453 Change-Id: I0c5b6b71ae1b07608f51e685014a0e8dc0034111 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698674Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72839}
-