- 16 Dec, 2021 1 commit
-
-
Igor Sheludko authored
This CL * removes Builtins::codet() and Builtins::codet_handle() returning builtins as CodeT objects in favor of code() and code_handle(), * removes BUILTIN_CODET macro in favor of BUILTIN_CODE, * removes CodeDataContainer table. Bug: v8:11880 Change-Id: Ic868549030744b0ff3ea5d5edbfcacf77c6de96d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3344650Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78399}
-
- 27 Sep, 2021 1 commit
-
-
Andreas Haas authored
Bug: v8:12244 Change-Id: Ia99fac6e7001bb6bce12256d3fcce28e45222f7d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3182229Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#77094}
-
- 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}
-
- 19 Feb, 2021 1 commit
-
-
Mike Stanton authored
Code objects are exposed through JSFunction and SharedFunctionInfo. If they are builtins, we don't have to worry about background threads seeing partially initialized code objects. If they are optimized code objects, we may. Background threads read the code fields with AcquireLoad semantics. The fields are set on the main thread with ReleaseStore semantics when appropriate. Special care is taken when setting an optimized code object in a closure in the interpreter entry stub. Since the MacroAssembler doesn't support ReleaseStore semantics, this CL ensures that the optimized code object is stored with those semantics in the feedback vector, where the interpreter entry stub finds it. Bug: v8:7790 Change-Id: I41ecedfe0e9d1ad5091cbe9a97f66c66ca9e07dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2676633 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#72869}
-
- 30 Sep, 2020 1 commit
-
-
Jakob Gruber authored
CodeKind::OPTIMIZED_CODE -> TURBOFAN Kinds are now more fine-grained and distinguish between TF, TP, NCI. CodeKind::STUB -> DEOPT_ENTRIES_OR_FOR_TESTING Code stubs (like builtins, but generated at runtime) were removed from the codebase years ago, this is the last remnant. This kind is used only for deopt entries (which should be converted into builtins) and for tests. Change-Id: I67beb15377cb60f395e9b051b25f3e5764982e93 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2440335 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#70234}
-
- 05 Aug, 2020 1 commit
-
-
Jakob Gruber authored
With the new Turbofan variants (NCI and Turboprop), we need a way to distinguish between them both during and after compilation. We initially introduced CompilationTarget to track the variant during compilation, but decided to reuse the code kind as the canonical spot to store this information instead. Why? Because it is an established mechanism, already available in most of the necessary spots (inside the pipeline, on Code objects, in profiling traces). This CL removes CompilationTarget and adds a new NATIVE_CONTEXT_INDEPENDENT kind, plus helper functions to determine various things about a given code kind (e.g.: does this code kind deopt?). As a (very large) drive-by, refactor both Code::Kind and AbstractCode::Kind into a new CodeKind enum class. Bug: v8:8888 Change-Id: Ie858b9a53311b0731630be35cf5cd108dee95b39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336793 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69244}
-
- 15 Jun, 2020 1 commit
-
-
Jakob Gruber authored
... to OptimizedCompilationInfo, BytecodeGraphBuilder, and JSHeapBroker. Also add first uses of these flags in pipeline.cc by skipping certain phases when nci is enabled. With this change, tests in the NCI variant will start to fail since generic lowering is not fully implemented. These implementations will follow incrementally in the next days. Bug: v8:8888 Change-Id: I3f570fb92f09059d1f1f4015f88ffe80ccf746ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2239572 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68339}
-
- 10 Jun, 2020 1 commit
-
-
Jakob Gruber authored
... for more consistent naming and less boilerplate. Getters now use the `lower_case_flag()` style. Setters now use the `set_lower_case_flag()` style. Bug: v8:8888 Change-Id: I5af35b13a013bf303c4ca8d86f926754af28bfce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2237139 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68293}
-
- 23 May, 2019 3 commits
-
-
Yang Guo authored
TBR=bmeurer@chromium.org,leszeks@chromium.org Bug: v8:9247 Change-Id: I8d14d0192ea8c705f8274e8e61a162531826edb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624220Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61769}
-
Clemens Hammacher authored
This CL was generated by an automatic clang AST rewriter using this matcher expression: callExpr( callee( cxxMethodDecl( hasName("operator->"), ofClass(isSameOrDerivedFrom("v8::internal::Object")) ) ), argumentCountIs(1) ) The "->" at the expression location was then rewritten to ".". R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org Bug: v8:9183, v8:3770 No-Try: true No-Tree-Checks: true Change-Id: I0a7ecabdeafe51d0cf427f5280af0c7cab96869e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624209Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61764}
-
Yang Guo authored
Bug: v8:9247 Change-Id: I0023200c54fa6499ae4e2cf5e4c89407cc35f187 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624218Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61762}
-
- 22 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I79e0553e8a0d6dac2aa16b94a6c0e05b6ccde4a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621934 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61725}
-
- 21 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 17 May, 2019 1 commit
-
-
Yang Guo authored
TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Bug: v8:9247 Change-Id: I7ffc2bd4a5fdf7c20cc3283bb5545cbf9ffd4e53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617254Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61609}
-
- 16 May, 2019 2 commits
-
-
Maya Lekova authored
This reverts commit 9ac8b200. Reason for revert: Breaks CFI bot https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20cfi/20442 Original change's description: > Move API-related files > > NOPRESUBMIT=true > TBR=verwaest@chromium.org > > Bug: v8:9247 > Change-Id: I45bfe0782ba92aa7ed27a9e308d0aab9ba1bac7f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613988 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61579} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Change-Id: I28ee9174a1cbc1dae9711977bf9369253ef43058 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615463Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61583}
-
Yang Guo authored
NOPRESUBMIT=true TBR=verwaest@chromium.org Bug: v8:9247 Change-Id: I45bfe0782ba92aa7ed27a9e308d0aab9ba1bac7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613988Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61579}
-
- 29 Jan, 2019 3 commits
-
-
Maya Lekova authored
This is a reland of acb60162 Original change's description: > [test] Add testing facility for SerializerForBackgroundCompilation > > R=neis@chromium.org > > Bug: v8:7790 > Change-Id: Id759112d0c780ff857eb094102245b38fcbb1709 > Reviewed-on: https://chromium-review.googlesource.com/c/1434375 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59153} Bug: v8:7790 Change-Id: I1593a768c77c563707b498d47b34a2b1e7fa5dea Reviewed-on: https://chromium-review.googlesource.com/c/1442234 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59171}
-
Maya Lekova authored
This reverts commit acb60162. Reason for revert: Breaks arm build - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm%20-%20sim%20-%20lite/2035 Original change's description: > [test] Add testing facility for SerializerForBackgroundCompilation > > R=neis@chromium.org > > Bug: v8:7790 > Change-Id: Id759112d0c780ff857eb094102245b38fcbb1709 > Reviewed-on: https://chromium-review.googlesource.com/c/1434375 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59153} TBR=neis@chromium.org,mslekova@chromium.org Change-Id: I5e6a3b94a9b177242aebb582c5184bb35e999314 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7790 Reviewed-on: https://chromium-review.googlesource.com/c/1442232Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#59154}
-
Maya Lekova authored
R=neis@chromium.org Bug: v8:7790 Change-Id: Id759112d0c780ff857eb094102245b38fcbb1709 Reviewed-on: https://chromium-review.googlesource.com/c/1434375Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#59153}
-
- 19 Dec, 2018 1 commit
-
-
Sigurd Schneider authored
This refactoring reduces the LoC after preprocessor expansion by 370,322 gen ( 21 files): 71,503 to 1,631,168 ( 23x) src ( 624 files): 367,639 to 53,231,764 ( 145x) test ( 392 files): 490,770 to 37,450,839 ( 76x) third_party ( 432 files): 239,085 to 9,547,902 ( 40x) total ( 1521 files): 1,183,681 to 102,836,194 ( 87x) gen ( 21 files): 71,503 to 1,613,222 ( 23x) src ( 624 files): 367,634 to 52,964,046 ( 144x) test ( 392 files): 490,771 to 37,366,181 ( 76x) third_party ( 432 files): 239,085 to 9,547,902 ( 40x) total ( 1521 files): 1,183,677 to 102,465,872 ( 87x) Bug: v8:8562 Change-Id: Ib4e771c37471a2ff19c5538e62c038943cc74eaf Reviewed-on: https://chromium-review.googlesource.com/c/1382469Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58349}
-
- 08 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: I1d74ffe9e5478b4b8bc0acbf088d20919d458d50 Reviewed-on: https://chromium-review.googlesource.com/c/1363822 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58112}
-
- 30 Nov, 2018 3 commits
-
-
Ross McIlroy authored
This is a reland of 10ea3f8a Original change's description: > [Compiler] Introduce IsCompiledScope which prevents flushing of compiled code > > Introduces a IsCompiledScope object which can be used to check whether a > function is compiled, and ensure it remains compiled for the lifetime > of the scope without being uncompiled by bytecode flushing. The Compile > functions are modified to take a scope so that calling code can ensure > the function remains compiled for the lifetime they require. > > Also, don't allocate a feedback vector for asm-wasm code as this > is never used, and will be reallocated if the asm-wasm code fails to > instantiate the module and we fallback to regular JavaScript. > > Also restructure Compiler::PostInstantiation() to allocate the feedback > vector once, and do the optimized code check before optimizing for > always opt. > > BUG=v8:8395 > > Change-Id: I3f1a71143fcae3d1a0c01eefe91ebb4b8594221a > Reviewed-on: https://chromium-review.googlesource.com/c/1352295 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57971} TBR=jgruber@chromium.org,mstarzinger@chromium.org Bug: v8:8395 Change-Id: I8dc00798a5680997990c879c3380fe4febd47297 Reviewed-on: https://chromium-review.googlesource.com/c/1357045 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57982}
-
Ross McIlroy authored
This reverts commit 10ea3f8a. Reason for revert: Causing failure on gc_stress bot: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8928421099411850688/+/steps/Bisect_10ea3f8a/0/steps/Retry/0/logs/collections-construct../0 Original change's description: > [Compiler] Introduce IsCompiledScope which prevents flushing of compiled code > > Introduces a IsCompiledScope object which can be used to check whether a > function is compiled, and ensure it remains compiled for the lifetime > of the scope without being uncompiled by bytecode flushing. The Compile > functions are modified to take a scope so that calling code can ensure > the function remains compiled for the lifetime they require. > > Also, don't allocate a feedback vector for asm-wasm code as this > is never used, and will be reallocated if the asm-wasm code fails to > instantiate the module and we fallback to regular JavaScript. > > Also restructure Compiler::PostInstantiation() to allocate the feedback > vector once, and do the optimized code check before optimizing for > always opt. > > BUG=v8:8395 > > Change-Id: I3f1a71143fcae3d1a0c01eefe91ebb4b8594221a > Reviewed-on: https://chromium-review.googlesource.com/c/1352295 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57971} TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org Change-Id: I1449a02a0aceb9757440757628e586df33972a40 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8395 Reviewed-on: https://chromium-review.googlesource.com/c/1357042Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57974}
-
Ross McIlroy authored
Introduces a IsCompiledScope object which can be used to check whether a function is compiled, and ensure it remains compiled for the lifetime of the scope without being uncompiled by bytecode flushing. The Compile functions are modified to take a scope so that calling code can ensure the function remains compiled for the lifetime they require. Also, don't allocate a feedback vector for asm-wasm code as this is never used, and will be reallocated if the asm-wasm code fails to instantiate the module and we fallback to regular JavaScript. Also restructure Compiler::PostInstantiation() to allocate the feedback vector once, and do the optimized code check before optimizing for always opt. BUG=v8:8395 Change-Id: I3f1a71143fcae3d1a0c01eefe91ebb4b8594221a Reviewed-on: https://chromium-review.googlesource.com/c/1352295Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57971}
-
- 23 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: I07f48b1ee8814a006e6787ad8261fa8388b4298d Reviewed-on: https://chromium-review.googlesource.com/c/1345327 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57771}
-
- 15 Nov, 2018 1 commit
-
-
Ross McIlroy authored
With Bytecode flushing, the a SharedFunctionInfo's bytecode might be flushed while the compiler is expecting it to still exist. Rather than continually getting the bytecode from the SFI, instead bottleneck the points where we get BytecodeArray from SFIs and maintain an explicit strong reference to the BytecodeArray from that point onwards to prevent flushing. BUG=v8:8395 Change-Id: I6a18adec99402838690971eb37ee0617cdc15920 Reviewed-on: https://chromium-review.googlesource.com/c/1309763 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#57536}
-
- 31 Jul, 2018 1 commit
-
-
Georg Neis authored
The heap broker expects that handles get canonicalized. R=jarin@chromium.org Bug: v8:7790 Change-Id: If6162316bb2a256e783a8175ac7d4172d040b28b Reviewed-on: https://chromium-review.googlesource.com/1155123 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54823}
-
- 23 Jul, 2018 1 commit
-
-
Stephan Herhut authored
api.h had an implicit dependency on objects-inl.h. Bug: v8:7490 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I56ef7abefed7205bdbff2aa5f451f1a843bef9f9 Reviewed-on: https://chromium-review.googlesource.com/1145191Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#54616}
-
- 06 Jul, 2018 3 commits
-
-
Georg Neis authored
- Move the CompilationDependencies member of OptimizedCompilationInfo to Turbofan's PipelineData (and thus into the compiler namespace). - Move compilation-dependencies.{cc,h} to the compiler directory. Bug: v8:7902 Change-Id: I5471d0923daf83abe975357325db5bc5ad0a8571 Reviewed-on: https://chromium-review.googlesource.com/1127793 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54295}
-
Sigurd Schneider authored
This CL surfaces AssemblerOptions to CodeAssembler::GenerateCode and to pipeline methods. To allow forward declaring AssemblerOptions, AssemblerBase::Options was moved out of the AssemblerBase class. Bug: v8:6666 Change-Id: If9fc50d3d4767bb5dd39a0c3b6e094021f4cae2b Reviewed-on: https://chromium-review.googlesource.com/1127039 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54286}
-
Georg Neis authored
This is a reland of 4b9b9b68, which accidentally disabled optimization after dependency changes (instead of retrying). TBR=jarin@chromium.org TBR=mstarzinger@chromium.org Original change's description: > Reland "[turbofan] Rewrite CompilationDependencies" > > This is a reland of 52a10e50, after > eliminating an invalid assumption about maps. > > TBR=jarin@chromium.org > TBR=mstarzinger@chromium.org > > Original change's description: > > [turbofan] Rewrite CompilationDependencies > > > > Instead of installing code dependencies during graph reduction, > > install them after code generation. > > > > Bug: v8:7902, v8:7790 > > Change-Id: I8a3798254abb5b9ec7c295a1592aeb6b51f24c7a > > Reviewed-on: https://chromium-review.googlesource.com/1119913 > > Commit-Queue: Georg Neis <neis@chromium.org> > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#54170} > > Bug: v8:7902, v8:7790 > Change-Id: I9cbaf98980379b9b17464af5952ec0c47e1cdc6f > Reviewed-on: https://chromium-review.googlesource.com/1126999 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54254} Bug: v8:7902, v8:7790 Change-Id: I2b7a7d186e03990350e375470569177e3309683c Reviewed-on: https://chromium-review.googlesource.com/1127579 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54280}
-
- 05 Jul, 2018 2 commits
-
-
Georg Neis authored
This reverts commit 4b9b9b68. Reason for revert: Regresses Octane. Original change's description: > Reland "[turbofan] Rewrite CompilationDependencies" > > This is a reland of 52a10e50, after > eliminating an invalid assumption about maps. > > TBR=jarin@chromium.org > TBR=mstarzinger@chromium.org > > Original change's description: > > [turbofan] Rewrite CompilationDependencies > > > > Instead of installing code dependencies during graph reduction, > > install them after code generation. > > > > Bug: v8:7902, v8:7790 > > Change-Id: I8a3798254abb5b9ec7c295a1592aeb6b51f24c7a > > Reviewed-on: https://chromium-review.googlesource.com/1119913 > > Commit-Queue: Georg Neis <neis@chromium.org> > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#54170} > > Bug: v8:7902, v8:7790 > Change-Id: I9cbaf98980379b9b17464af5952ec0c47e1cdc6f > Reviewed-on: https://chromium-review.googlesource.com/1126999 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54254} TBR=mstarzinger@chromium.org,jarin@chromium.org,neis@chromium.org Change-Id: Iece193046c48ee96ab7952d2b3bd7ad05f39b190 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7902, v8:7790 Reviewed-on: https://chromium-review.googlesource.com/1127119Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54260}
-
Georg Neis authored
This is a reland of 52a10e50, after eliminating an invalid assumption about maps. TBR=jarin@chromium.org TBR=mstarzinger@chromium.org Original change's description: > [turbofan] Rewrite CompilationDependencies > > Instead of installing code dependencies during graph reduction, > install them after code generation. > > Bug: v8:7902, v8:7790 > Change-Id: I8a3798254abb5b9ec7c295a1592aeb6b51f24c7a > Reviewed-on: https://chromium-review.googlesource.com/1119913 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54170} Bug: v8:7902, v8:7790 Change-Id: I9cbaf98980379b9b17464af5952ec0c47e1cdc6f Reviewed-on: https://chromium-review.googlesource.com/1126999Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54254}
-
- 04 Jul, 2018 2 commits
-
-
Michael Starzinger authored
R=jarin@chromium.org Change-Id: I3a6759468f1a21b84ab9a294a2ca41d70b9cec99 Reviewed-on: https://chromium-review.googlesource.com/1123829Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54222}
-
Yang Guo authored
This reverts commit 52a10e50. Reason for revert: https://test-results.appspot.com/data/layout_results/V8-Blink_Linux_64__dbg_/12434/layout-test-results/results.html Crash e.g. in http/tests/devtools/oopif/oopif-performance-cpu-profiles.js crash log for devtools (pid <unknown>): STDOUT: <empty> STDERR: STDERR: STDERR: # STDERR: # Fatal error in ../../v8/src/compilation-dependencies.cc, line 281 STDERR: # Debug check failed: descriptor == owner->LastAdded() (10 vs. 22). STDERR: # STDERR: # STDERR: # STDERR: #FailureMessage Object: 0x7fff86878630#0 0x0000031c642c base::debug::StackTrace::StackTrace() STDERR: #1 0x0000046a56bb gin::(anonymous namespace)::PrintStackTrace() STDERR: #2 0x00000469c528 V8_Fatal() STDERR: #3 0x00000469c285 v8::base::(anonymous namespace)::DefaultDcheckHandler() STDERR: #4 0x000001cc5253 v8::internal::CompilationDependencies::DependOnFieldType() STDERR: #5 0x000001cdcc46 v8::internal::compiler::AccessInfoFactory::ComputePropertyAccessInfo() STDERR: #6 0x000001cde661 v8::internal::compiler::AccessInfoFactory::ComputePropertyAccessInfos() STDERR: #7 0x000001dd982b v8::internal::compiler::JSNativeContextSpecialization::ReduceNamedAccess() STDERR: #8 0x000001ddb715 v8::internal::compiler::JSNativeContextSpecialization::ReduceNamedAccessFromNexus() STDERR: #9 0x000001dd656d v8::internal::compiler::JSNativeContextSpecialization::ReduceJSLoadNamed() STDERR: #10 0x000001d53872 v8::internal::compiler::GraphReducer::Reduce() STDERR: #11 0x000001d534a5 v8::internal::compiler::GraphReducer::ReduceTop() STDERR: #12 0x000001d52e58 v8::internal::compiler::GraphReducer::ReduceNode() STDERR: #13 0x000001e4c201 v8::internal::compiler::InliningPhase::Run() STDERR: #14 0x000001e44f79 v8::internal::compiler::PipelineImpl::Run<>() STDERR: #15 0x000001e41058 v8::internal::compiler::PipelineImpl::CreateGraph() STDERR: #16 0x000001e40c75 v8::internal::compiler::PipelineCompilationJob::PrepareJobImpl() STDERR: #17 0x000001ccd437 v8::internal::OptimizedCompilationJob::PrepareJob() STDERR: #18 0x000001cd071e v8::internal::(anonymous namespace)::GetOptimizedCode() STDERR: #19 0x000001cd0c6f v8::internal::Compiler::CompileOptimized() STDERR: #20 0x00000231fb62 v8::internal::__RT_impl_Runtime_CompileOptimized_Concurrent() STDERR: #21 0x00000288e535 <unknown> Original change's description: > [turbofan] Rewrite CompilationDependencies > > Instead of installing code dependencies during graph reduction, > install them after code generation. > > Bug: v8:7902, v8:7790 > Change-Id: I8a3798254abb5b9ec7c295a1592aeb6b51f24c7a > Reviewed-on: https://chromium-review.googlesource.com/1119913 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54170} TBR=mstarzinger@chromium.org,jarin@chromium.org,neis@chromium.org Change-Id: Ic58c2bfadbd34bb6ba7dc0d2b74871cc90b0a74f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7902, v8:7790 Reviewed-on: https://chromium-review.googlesource.com/1125680Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54192}
-
- 03 Jul, 2018 1 commit
-
-
Georg Neis authored
Instead of installing code dependencies during graph reduction, install them after code generation. Bug: v8:7902, v8:7790 Change-Id: I8a3798254abb5b9ec7c295a1592aeb6b51f24c7a Reviewed-on: https://chromium-review.googlesource.com/1119913 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54170}
-
- 23 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Access Isolate* and Heap* wherever already available. Roughly: GetIsolate(): -20 GetHeap(): -22 Handle<>(HeapObject): -315 handle(HeapObject): -21 Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2da36ed1909d849812a1cb6bf94cb735eedca45b Reviewed-on: https://chromium-review.googlesource.com/1111707 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53987}
-
- 19 Jun, 2018 1 commit
-
-
Sigurd Schneider authored
TurboFan returned null handles if compilation did not succeed. This CL changes that to a MaybeHandle to make it explicit that client code needs to handle the error. Bug: v8:7856 Change-Id: I6087e6263faa1150b9788213dd22c398b4a2fc2d Reviewed-on: https://chromium-review.googlesource.com/1104688 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#53824}
-