- 15 Feb, 2019 1 commit
-
-
Jakob Kummerow authored
This takes heap-inl.h out of the "Giant Include Cluster". Naturally, that means adding a bunch of explicit includes in a bunch of places that relied on transitively including them before. As of this patch, no header file outside src/heap/ includes heap-inl.h. Bug: v8:8562,v8:8499 Change-Id: I65fa763f90e66afc30d105b9277792721f05a6d4 Reviewed-on: https://chromium-review.googlesource.com/c/1459659 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59617}
-
- 28 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: If405611d359d29ae1958beebd9202e068434a621 Reviewed-on: https://chromium-review.googlesource.com/c/1350286 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57918}
-
- 09 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
This extracts the lambda tasks to an own compilation unit and header file. Additionally, it addresses the TODO to avoid templates and just store the function to execute in an std::function. Third, it provides the same functionality for pure (non-cancellable non-idle) tasks. Last, it removes the "Lambda" part from the methods, because we can actually instantiate it with anything that is invocable (function pointer, lambda, functor, ...). R=ahaas@chromium.org Bug: v8:8238 Change-Id: I2f613f5b15ee208f215bbf74bd6d1d41889fd637 Reviewed-on: https://chromium-review.googlesource.com/c/1328923 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57397}
-
- 31 Oct, 2018 3 commits
-
-
Jakob Kummerow authored
and reland "[ubsan] More Object** replacements" This reverts commit 162d4e6d. Reason for revert: Not the culprit, test failed before. Original change's description: > Revert "[ubsan] Replace Object** in GlobalHandles" > > This reverts commit 93927279. > > Reason for revert: Speculative revert, seems the most probable cause of > https://bugs.chromium.org/p/v8/issues/detail?id=8396 > > Revert "[ubsan] More Object** replacements" > > This reverts commit 5cce694d. > > Speculative revert. > > NOTRY=true > > Bug: v8:8396 > Change-Id: I9c2866a9db707cd03e4cf90822acde20813cebf0 > Reviewed-on: https://chromium-review.googlesource.com/c/1309761 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57174} TBR=yangguo@chromium.org,mstarzinger@chromium.org,mslekova@chromium.org Bug: v8:8396 Change-Id: I64fc80804b4ec324cef80ac528d08b724963f7f7 Reviewed-on: https://chromium-review.googlesource.com/c/1311813Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#57194}
-
Maya Lekova authored
This reverts commit 93927279. Reason for revert: Speculative revert, seems the most probable cause of https://bugs.chromium.org/p/v8/issues/detail?id=8396 Revert "[ubsan] More Object** replacements" This reverts commit 5cce694d. Speculative revert. NOTRY=true Bug: v8:8396 Change-Id: I9c2866a9db707cd03e4cf90822acde20813cebf0 Reviewed-on: https://chromium-review.googlesource.com/c/1309761 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57174}
-
Jakob Kummerow authored
as part of the continuing quest to get rid of Object*/Object** entirely. Since it fits nicely, this CL as a bonus includes the planned change to make Handle::location() return an Address*, in the process dropping the temporarily needed duplicate Handle::location_as_address_ptr(). Bug: v8:3770 Change-Id: I87480289ce2a62ea1ae503e73d179256b7108c5c Reviewed-on: https://chromium-review.googlesource.com/c/1298389Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#57153}
-
- 15 Oct, 2018 1 commit
-
-
Ross McIlroy authored
Some jobs might need to be aborted, e.g., if a function is a default parameter in an arrow function it will be re-scoped and won't have a SFI to register. Adds support to abort jobs without having to block if the job is currently running on the background thread. BUG=v8:8041 Change-Id: I9149740401cbaaa31c21be9d79d4e3f5c450bfcf Reviewed-on: https://chromium-review.googlesource.com/c/1278497 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#56637}
-
- 12 Oct, 2018 3 commits
-
-
Clemens Hammacher authored
LockGuard is mostly used with Mutex. Since both are defined outside the internal namespace, we often have to write {base::LockGuard<base::Mutex>}. This CL shortens this to {base::MutexGuard} across the code base R=mlippautz@chromium.org Bug: v8:8238 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I020d5933b73aafb98c4b72e3bb2dfd07c979ba73 Reviewed-on: https://chromium-review.googlesource.com/c/1278796Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56612}
-
Ross McIlroy authored
The memory pressure notification logic wasn't correct and given the current users of the compiler dispatcher aren't posting speculative tasks, it isn't particularly useful. After removing this, the abort logic can also be simplified significantly by removing the non-blocking abort logic. BUG=v8:8041 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I584533b58fb717fdca46cc620822914d6bdb28b8 Reviewed-on: https://chromium-review.googlesource.com/c/1278495Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#56609}
-
Ross McIlroy authored
There was a small race where an idle task could be posted after the compiler dispatcher had aborted and the CancellableTaskRunner had been cancelled. This was causing flakyness on the bots. This fixes this by moving the idle task posting into the same lock block as the notification to the main thread that the background task has completed. BUG=v8:8041 Change-Id: I43ca4cea807bfdfeb13f6d1c4a67a4d8a4f6291f Reviewed-on: https://chromium-review.googlesource.com/c/1278494Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#56607}
-
- 09 Oct, 2018 1 commit
-
-
Ross McIlroy authored
Simplify the logic in the CompilerDispatcher to use BackgroundCompileTasks directly, rather than having a (now unecessary) CompilerDispatcherJob abstraction. In the process, the CompilerDispatcherTracer is removed, and the idle task logic is simplified finalize already compiled jobs until the idle task deadline. BUG=v8:8238, v8:8041 Change-Id: I1ea2366f959b6951de222d62fde80725b3cc70ff Reviewed-on: https://chromium-review.googlesource.com/c/1260123 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#56473}
-
- 04 Oct, 2018 2 commits
-
-
Andreas Haas authored
We want to replace all uses of CallOnForegroundThread eventually by the new TaskRunner API so that we can eventually deprecate the old API and remove it. R=leszeks@chromium.org Bug: v8:8238 Change-Id: I6a1e55fe431225ffe4c77cd3387f3b060eb43edf Reviewed-on: https://chromium-review.googlesource.com/c/1256866Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#56375}
-
Clemens Hammacher authored
Often, tasks just need to call a single API method. By implementing such tasks via a lambda, we save a lot of boilerplate. Additionally, since lambdas are defined inside other function bodies, they have access to private methods, which sometimes allows for better encapsulation. This CL introduces {CancelableLambdaTask} and {CancelableIdleLambdaTask} and uses them to replace some custom tasks. More can be refactored later. R=ahaas@chromium.org Bug: v8:8238 Change-Id: I88bd2c9bd57ebc32d082528f2e4251d741a0d021 Reviewed-on: https://chromium-review.googlesource.com/c/1256773 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56367}
-
- 25 Sep, 2018 1 commit
-
-
Ross McIlroy authored
This CL makes UnoptimizedCompilationJob a simple proxy for BackgroundCompilerTask. A follow-up CL will remove UnoptimizedCompilationJob entirely and have CompilerDispatcher deal directly with BackgroundCompilerTasks BUG=v8:8041, v8:8015 Change-Id: Ia53d05c015c4ca2ee32a4d1c5d0c65edb3caeda8 Reviewed-on: https://chromium-review.googlesource.com/1236257 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#56212}
-
- 20 Sep, 2018 1 commit
-
-
Ross McIlroy authored
Refactors the CompilerDispatcher to be able to enqueue eager inner functions for off-thread compilation during top-level compilation of a script. Unoptimized compile jobs are simplified to only have two phases - compile and finalization. Only finalization requires heap access (and therefore needs to be run on the main thread). The change also introduces a requirement to register a SFI with a given compile job after that job is posted, this is due to the fact that an SFI won't necessarily exist at the point the job is posted, but is created later when top-level compile is being finalized. Logic in the compile dispatcher is update to deal with the fact that a job may not be able to progress if it doesn't yet have an associated SFI registered with it. BUG=v8:8041 Change-Id: I66cccd626136738304a7cab0e501fc65cf342514 Reviewed-on: https://chromium-review.googlesource.com/1215782 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#56088}
-
- 14 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: I41b3d7c41ee9f8ff12f70feddcf38f2c9efc5049 Reviewed-on: https://chromium-review.googlesource.com/1224056Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55917}
-
- 18 Jul, 2018 1 commit
-
-
Leszek Swirski authored
ReadOnlyRoots means that some added Isolate parameters are no longer needed. So, we can remove them. This patch was generated mostly automatically with a bespoke tool. Bug: v8:7786 Bug: v8:7754 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ia44fd2a66652253f780e3674bf7fb431caef0493 Reviewed-on: https://chromium-review.googlesource.com/1136305 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54526}
-
- 20 Apr, 2018 1 commit
-
-
jgruber authored
The existing signature is problematic for two reasons: 1. The void* -> V cast is invalid if sizeof(V) < sizeof(void*) 2. It's impossible to distinguish between a returned value of 0 and nullptr, designating failure. Bug: v8:6666 Change-Id: I71e8fc9119256c24a15b5bb73438f024f1af4f88 Reviewed-on: https://chromium-review.googlesource.com/1018466Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52708}
-
- 04 Apr, 2018 1 commit
-
-
Ross McIlroy authored
With the Ignition + Turbofan pipeline there is very little overlap between the data needed for unoptimized compilation and optimized compilation. As a result, it is cleaner to split up the CompilationInfo into UnoptimizedCompilationInfo and OptimizedCompilationInfo. Doing so also necessitate splitting up CompilationJob into UnoptimizedCompilationJob and OptimizedCompilationJob - again there is not much overlap so this seems cleaner. Change-Id: I1056ad520937b7f8582e4fc3ca8f4910742de30a Reviewed-on: https://chromium-review.googlesource.com/995895 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52369}
-
- 26 Mar, 2018 1 commit
-
-
Gabriel Charette authored
This is done now while embedders have yet to adapt to the new API before it becomes hard to migrate. Also renamed variable/methods to use "worker threads" rather than "background" nomenclature. Extracted from https://chromium-review.googlesource.com/c/v8/v8/+/978443/7 while resolving the more contentious bits around using task runners. TBR=rmcilroy@chromium.org Bug: chromium:817421 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ie3ddf15a708e829c0f718d89bebf3e96d1990c16 Reviewed-on: https://chromium-review.googlesource.com/980953 Commit-Queue: Gabriel Charette <gab@chromium.org> Reviewed-by: Gabriel Charette <gab@chromium.org> Cr-Commit-Position: refs/heads/master@{#52231}
-
- 01 Mar, 2018 2 commits
-
-
Gabriel Charette authored
Follow-up to https://chromium-review.googlesource.com/c/v8/v8/+/941442. "background" refers to a priority and is inappropriate to refer to worker threads as many tasks posted to worker threads by v8 are in fact high priority. Also took advantage of this rename to make NumberOfWorkerThreads() return an int instead of size_t. While it is never negative, int is simpler and Google C++ style guide states to avoid unsigned integers in such cases (ref. "On Unsigned Integers" @ https://google.github.io/styleguide/cppguide.html#Integer_Types). The Chromium embedder for that call provided an int which was converted to size_t for this override and most often casted back down to int on the v8 side, adding churn, and readability overhead. R=ahaas@chromium.org Bug: v8:7310 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ib5280df73d2846b111d985be65a10b049995ea6a Reviewed-on: https://chromium-review.googlesource.com/941944 Commit-Queue: Gabriel Charette <gab@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#51662}
-
Gabriel Charette authored
With a temporary intermediate step to allow adapting embedders before getting rid of the ExpectedRuntime method altogether. The method is being renamed to CallOnWorkerThread() as an effort to go away from "background" nomenclature for worker threads ("background" usually refers to a priority but worker threads are commonly used for high priority tasks in v8). Other CLs will follow to rename other "background" APIs. Bug: v8:7310 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I2fd4eac7458708d4eacb0f4871c982a567a3865e Reviewed-on: https://chromium-review.googlesource.com/941442 Commit-Queue: Gabriel Charette <gab@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#51645}
-
- 20 Feb, 2018 1 commit
-
-
Sigurd Schneider authored
This ensures that breaking on inlined builtins works, even when compiling concurrently. This CL also introduces the member Isolate::AbortConcurrentOptimization. R=sigurds@chromium.org Bug: v8:178 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ie6cbb48ebde18036888af2dd715862e7a14ddf9d Reviewed-on: https://chromium-review.googlesource.com/912468 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51384}
-
- 30 Nov, 2017 1 commit
-
-
Ulan Degenbaev authored
Currently RuntimeCallStats stores CounterIds as inner pointers. This patch replaces them with enums and removes static table. Bug: chromium:758183 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Icb4030fc3ad3dd02e9c2648ce7c43b6f2d47fa9d Reviewed-on: https://chromium-review.googlesource.com/796477Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49743}
-
- 16 Nov, 2017 1 commit
-
-
Ross McIlroy authored
Now that UnoptimizedCompileJob only has three stages, move the logic for stepping between these stages out of UnoptimizedCompileJob and back into CompilerDispatcher. BUG=v8:5203 Change-Id: I3bb776e14ef9da801dc9792e9e643b8026135060 Reviewed-on: https://chromium-review.googlesource.com/774743Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49422}
-
- 21 Aug, 2017 1 commit
-
-
Michael Starzinger authored
R=jarin@chromium.org BUG=v8:5653,v8:6409 Change-Id: I3a7e7173afbcba9bb0bb7b1baafe9e78e22bb696 Reviewed-on: https://chromium-review.googlesource.com/612174 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47473}
-
- 18 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Parse tasks are not currently used, and will need to be changed significantly for background compilation, so we remove them for now. BUG=v8:6093,v8:5203 Change-Id: I44559a94ecca85668f0117629d35aaa5f4075745 Reviewed-on: https://chromium-review.googlesource.com/617140 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47446}
-
- 10 Aug, 2017 1 commit
-
-
Michael Starzinger authored
This is in preparation to the removal of the FullCodeGenerator, we no longer need the ability to stress the underlying implementation. R=rmcilroy@chromium.org BUG=v8:6409 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: Iad3177d6de4a68b57c12a770b6e85ed7a9710254 Reviewed-on: https://chromium-review.googlesource.com/584747Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47276}
-
- 31 Jul, 2017 1 commit
-
-
Leszek Swirski authored
Also enforce that it is called on the main thread. Change-Id: I827beefe625bebf6c03fce5220cfbbd68e807984 Reviewed-on: https://chromium-review.googlesource.com/591372Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#47000}
-
- 28 Jul, 2017 1 commit
-
-
Leszek Swirski authored
Rather than storing the isolate in compiler dispatcher jobs, which gets weird for jobs that are entirely off-thread, instead pass the isolate in when stepping on the main thread. This makes it clearer which steps must be executed on the main thread, as they require the caller to explicitly give them access to the isolate. Bug: v8:6537 Change-Id: I02fff7c77fdcdbfb099a38235f94d8c1040699ac Reviewed-on: https://chromium-review.googlesource.com/589437 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46962}
-
- 27 Jul, 2017 4 commits
-
-
Ross McIlroy authored
The approach to creating compiler dispatcher jobs for inner functions after they had been parsed didn't provide the startup benifits we hoped for due to the need to hold onto the whole zone memory AST while waiting for the jobs to complete. This CL removes the ability to create these compilation jobs (which was never enabled by default anyway). Going forward we will potentially use the parser task approach to parse+compile inner functions in their own job. BUG=v8:5203 Change-Id: I63134746aa23b4aa6e3bfa17c539954890fd9b0f Reviewed-on: https://chromium-review.googlesource.com/590007Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46948}
-
Leszek Swirski authored
Reland of https://chromium-review.googlesource.com/c/558290/ Makes compiler dispatcher jobs an abstract interface, with unoptimized compile jobs as an implementation of this interface. Bug: v8:6537 Change-Id: Ia85781f72c7aaca497896ca4efa91ada97e43b1c Reviewed-on: https://chromium-review.googlesource.com/589154 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46940}
-
Leszek Swirski authored
This reverts commit e4bbf92b. Reason for revert: Crashes: https://build.chromium.org/p/client.v8/builders/V8%20Linux64/builds/19156 Original change's description: > [compiler-dispatcher] Make compiler jobs abstract > > Makes compiler dispatcher jobs an abstract interface, with unoptimized > compile jobs as an implementation of this interface. > > Bug: v8:6537 > Change-Id: I6569060a89c92d35e4bc7962623f77082a354934 > Reviewed-on: https://chromium-review.googlesource.com/558290 > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46931} TBR=rmcilroy@chromium.org,neis@chromium.org,leszeks@chromium.org Change-Id: I023c0455929180fdcde3caf581f483f794ca2368 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6537 Reviewed-on: https://chromium-review.googlesource.com/589153Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46932}
-
Leszek Swirski authored
Makes compiler dispatcher jobs an abstract interface, with unoptimized compile jobs as an implementation of this interface. Bug: v8:6537 Change-Id: I6569060a89c92d35e4bc7962623f77082a354934 Reviewed-on: https://chromium-review.googlesource.com/558290Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46931}
-
- 26 Jul, 2017 1 commit
-
-
Ross McIlroy authored
Moves parser internalization of ast values out of ParseAny/Program/Function and instead internalizes during compile finalization. Currently also internalizes during scope analysis if there is a ScopeInfo to enable variable name lookups. We also internalize early for FCG / AstGraphBuilder. BUG=v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ia766795947d847517b87cd5ea39797347083174b Reviewed-on: https://chromium-review.googlesource.com/582407Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46904}
-
- 13 Jul, 2017 1 commit
-
-
Ross McIlroy authored
Removes the --ignition flag which is now on by default. Adds a --stress-fullcodegen flag which enables running all functions supported by fullcodegen to be compiled by fullcodegen. This will enable moving parser internalization later when we are not stressing fullcodegen or compiling asm.js functions. BUG=v8:5203, v8:6409, v8:6589 Change-Id: I7fa68016d4e734755434ec0b4e749ef65ffa7f4e Reviewed-on: https://chromium-review.googlesource.com/565569 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46635}
-
- 04 Jul, 2017 1 commit
-
-
Leszek Swirski authored
Instead of having the "next step" state machine logic in the compiler dispatcher, move it to the compiler dispatcher job. This is a prerequisite to having more generic jobs with slightly different state sets, such as an optimizing compile job. Bug: v8:6537 Change-Id: Ib7319222f26dbc0e2afc95573b06d813825afde3 Reviewed-on: https://chromium-review.googlesource.com/554751 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46396}
-
- 26 May, 2017 1 commit
-
-
Andreas Haas authored
This CL removes the isolate_ property from the Cancelable class. The isolate is actually not used in the class itself, only in sub-classes which can store the isolate themselves. R=jochen@chromium.org, mlippautz@chromium.org Change-Id: If102fdea41b81fb3cb25782728f7fcbce9642815 Reviewed-on: https://chromium-review.googlesource.com/516704Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#45535}
-
- 02 May, 2017 2 commits
-
-
Wiktor Garbacz authored
As jobs are picked up in the same order by background tasks as they are when FinishAll is called it may happen that the main thread just waits for background threads without doing any work. So first run jobs, that are not running in background, to completion and then wait for remaining jobs to finish. BUG=v8:6093 Change-Id: Ica83db2a504771b633cfdfc4e95e1ac8e43111d6 Reviewed-on: https://chromium-review.googlesource.com/488244Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45017}
-
Wiktor Garbacz authored
While parsing top-level code eager functions are skipped just like lazy ones, but also a parse task is created for each. The parse tasks are run by the compiler dispatcher and can be executed either on background thread or in idle time. After parsing of top-level code finishes it waits for all unfinished parser tasks - possibly picking up and executing them on current thread. Afterwards parse task results are stitched together with top-level AST, in case of failures eager functions are treated just like lazy - parsing/compilation is retriggered for them in the runtime and proper errors are generated (performance is not optimized for error case at all). BUG=v8:6093 Change-Id: Ie6508211a04b90becfe44139cce1c8ecec386b6e Reviewed-on: https://chromium-review.googlesource.com/486725Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45016}
-