- 15 Nov, 2017 17 commits
-
-
Tobias Tebbi authored
This simplifies the existing invariant and enables loop-peeling on all loops. The main motivation is that it enables dead code elimination to always eagerly fold away branches even when this would create infinite loops. Bug: Change-Id: If4347f748f8d8735965771f66260a8f931b24132 Reviewed-on: https://chromium-review.googlesource.com/763531Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#49387}
-
Ross McIlroy authored
Removes Isolate from compilation info and instead threads isolate through function calls. This ensures that we can't access the isolate from background thread compilations. BUG=v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I9a4e1cd67c4736e36f609360b996fb55166a1c50 Reviewed-on: https://chromium-review.googlesource.com/751745 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49386}
-
Andreas Haas authored
R=rmcilroy@chromium.org Change-Id: I8c62ab212d9b741a5413b075ecbebee515161d6f Reviewed-on: https://chromium-review.googlesource.com/771831Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49385}
-
Andreas Haas authored
On the PredictablePlatform we return the ForegroundTaskRunner of the underlying platform in both GetForeGroundTaskRunner and GetBackgroundTaskRunner. The reason is that thereby we can enforce a predictable, sequential execution of tasks. R=clemensh@chromium.org, rmcilroy@chromium.org Change-Id: Icec9fe52da922b1e75a3fb5b0155083be0a3a0fd Reviewed-on: https://chromium-review.googlesource.com/771792Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49384}
-
Andreas Haas authored
The foreground task runner and the background task runner are the same. Thereby we can get predictable behavior. R=clemensh@chromium.org Change-Id: I18f9c7277a344b7884d6de0c2159cc3f010576b4 Reviewed-on: https://chromium-review.googlesource.com/771833Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49383}
-
Ivica Bogosavljevic authored
Fix c5c50e18 After the change from the title landed, around 700 tests started failing on MIPS and MIPS64. The reason for the failure was a typo in Generate_JSBuiltinsConstructStubHelper in builtin-mips.cc and builtin-mips64.cc. Bug: Change-Id: Id95a87773d6ab1d4a65c3c7a306629046a44fa7d Reviewed-on: https://chromium-review.googlesource.com/771652Reviewed-by: Miran Karić <Miran.Karic@imgtec.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#49382}
-
Toon Verwaest authored
Bug: v8:7065 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I7882b719f72561cd22b874eae239000936fad35c Reviewed-on: https://chromium-review.googlesource.com/768874 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49381}
-
Andreas Haas authored
The streaming decoder allocates the whole section buffer of the code section when it reads the section length of the code section. Therefore we have to check that the different parts of the code section actually use all the bytes, and that the different parts of the code section do not need more bytes than available. The check that all bytes are used was missing in the case where the code section contained zero functions. In addition, this CL adds some tracing to the streaming decoder which may be useful in future debugging. R=clemensh@chromium.org Bug: chromium:783595 Change-Id: Icf056c25a3000b4a08a791939dab0ccde9fc3f80 Reviewed-on: https://chromium-review.googlesource.com/768788 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49380}
-
Andreas Haas authored
There was a data race in the access of the foreground_task_runner_map_. I protect each access to foreground_task_runner_map_ with a lock now. Original change's description: > [platform] Implement TaskRunners in the DefaultPlatform > > This CL implements the TaskRunners in the DefaultPlatform which has been > added recently to the platform API. In addition I changed how task > posting works on the DefaultPlatform. > > With this implementation the DefaultPlatform keeps one > DefaultForegroundTaskRunner per isolate, plus one > DefaultBackgroundTaskRunner. The DefaultPlatform owns these TaskRunners > with a shared_ptr, which is also shared with any caller of > GetForegroundTaskRunner or GetBackgroundTaskrunner. > > This CL moves the task management from the DefaultPlatform to the > TaskRunners. The DefaultForegroundTaskRunner owns and manages the the > task queue, the delayed task queue, and the idle task queue. The > DefaultBackgroundTaskRunner owns the WorkerThread pool and the > background task queue. > > In addition changed many Task* to std::unique_ptr<Task> to document task > ownership. > > R=rmcilroy@chromium.org > > Change-Id: Ib9a01f1f45e5b48844a37d801f884210ec3f6c27 > Reviewed-on: https://chromium-review.googlesource.com/753583 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49354} Change-Id: Iddccdb07bde1a799815ec6ed6af37082df4987c7 Reviewed-on: https://chromium-review.googlesource.com/770970 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49379}
-
Jakob Gruber authored
The backing store fixed array for collections needs to be allocated in LOS if it exceeds the maximum regular heap object size. Drive-by-fix: Only store fixed array map once as per TODO. Bug: chromium:784862 Change-Id: I6b4dd2e45153ae107171e21bc7448e0d9b54b0ed Reviewed-on: https://chromium-review.googlesource.com/771150Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49378}
-
Tobias Tebbi authored
Bug: chromium:780658 Change-Id: Ie1252a4e4e8ae8621817ab8c058715dcc3cef7d9 Reviewed-on: https://chromium-review.googlesource.com/769507 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49377}
-
Ross McIlroy authored
Adds a stress-background-compile mode which runs compilation on a background thread at the same time as compiling on the main thread to flush out races. This is added as one of the variants, removing stress_asm_validation since this is no longer a useful variant. BUG=v8:5203 Change-Id: I73dd9f21d9b6da4a4cb39c05061aa24116e6c5ad Reviewed-on: https://chromium-review.googlesource.com/741746 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#49376}
-
Georg Neis authored
They can no longer return nan. They basically intersect their argument type with Type::OrderedNumber before analysing it. Never call them on Type::NaN. Bug: Change-Id: I7e7b46aa9fcde4f2644b81b3a34e76b092f633a4 Reviewed-on: https://chromium-review.googlesource.com/763410 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49375}
-
Georgia Kouveli authored
Add padding above arguments, as part of JSSP removal. Bug: v8:6644 Change-Id: Iee03c3c8cd6da3d62b0b4c86a12400a5fdfe99de Reviewed-on: https://chromium-review.googlesource.com/757136Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#49374}
-
Michael Starzinger authored
This introduces two dedicated API methods to invalidate references from a given {Code} object. They are needed to reduce lifetime of objects referenced from deoptimized code. The new methods are aim at embedded objects and deoptimization data, called {InvalidateCodeEmbeddedObjects} and {InvalidateCodeDeoptimizationData} respectively. R=jarin@chromium.org BUG=v8:6792 Change-Id: I6bf8806c8b00c6e0ec8f0551e9066729a86845b1 Reviewed-on: https://chromium-review.googlesource.com/757010Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49373}
-
Michael Starzinger authored
R=mlippautz@chromium.org Change-Id: Ie5ff0347d7c849e1941f8c8237a0bd56fdb68a4e Reviewed-on: https://chromium-review.googlesource.com/768672Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49372}
-
Pierre Langlois authored
The CodeStubAssembler's BitwiseOp method used by the interpreter and Number related builtins would unconditionnaly mask the shift amount operand with 0x1f. However some targets' shift implementation may already do it. This removes 24 `and` instructions from the snapshot on Arm64. Bug: Change-Id: If0a720c7ea69fea46c9b31dd55903603f058d481 Reviewed-on: https://chromium-review.googlesource.com/765971Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#49371}
-
- 14 Nov, 2017 23 commits
-
-
Adam Klein authored
Despite the V8_INLINE annotation, it was never actually inlined until 18cac20c removed the NonPatternRewriter, causing all calls to Parser::RewriteNonPattern() to inline RewriteSpreads. This patch should recover the binary bloat in the attached bug while retaining the inlining of the rest of RewriteNonPattern, which in the common case does very little work (and doesn't call out to RewriteSpreads). Bug: chromium:784924 Change-Id: I1c2062b41ceb51a9522d49bdb9353e1840393ca1 Reviewed-on: https://chromium-review.googlesource.com/769442Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#49370}
-
Alexey Kozyatinskiy authored
Otherwise we can end up with performance regression with a lot of frames in cache. Map requires log(N) for lookup, unordered map for frames ids requires - ~O(1). R=dgozman@chromium.org Bug: v8:7078 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Iac1ff7e35daede8c5ebd424f686a8ef8dbae9061 Reviewed-on: https://chromium-review.googlesource.com/767035 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#49369}
-
Adam Klein authored
Previously, the Parser stored a Scope alongside a RewritableExpression for each potential destructuring assignment. This Scope was later used during rewriting to set the correct context for the rewriting. But this approach failed if a new Scope was inserted into the Scope chain between the time the assignment was parsed and when it was rewritten. By storing the Scope directly in RewritableExpression, ReparentExpressionScopes() is able to appropriately re-scope such expressions prior to their rewriting. Bug: chromium:779457 Change-Id: Ieb429a3da841f76d5798610af59da4fccb000652 Reviewed-on: https://chromium-review.googlesource.com/767666 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#49368}
-
Leszek Swirski authored
Add enum values to the "no cache reason" API which reflect new types of no-cache reason we will want to distinguish. Also, renames one of the enum values (BecauseExtension -> BecauseV8Extension) because it was confusing. It's a V8-only type of no cache reason, so it shouldn't affect embedders. Bug: chromium:769203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I41d4ecfb35b2e91b71562b4f23b15d20f16a943c Reviewed-on: https://chromium-review.googlesource.com/769010Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#49367}
-
Andreas Haas authored
At the moment, task runners are returned as unique_ptr. This is inconvenient, however. In all implementations I did, the platform holds a shared pointer of the task runner and wraps it in a wrapper class just to return it as a unique_ptr. With this CL the platform API is changed to return a shared_ptr directly. R=rmcilroy@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ide278db855199ea239ad0ae14d97fd17349dac8c Reviewed-on: https://chromium-review.googlesource.com/768867 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49366}
-
Alexey Kozyatinskiy authored
Prior langing massive async instrumentation refactoring let's add a perf test to track our progress. R=dgozman@chromium.org Bug: v8:7078 Change-Id: I11e1ec962a9f384c2c778061c48935ac410fbe53 Reviewed-on: https://chromium-review.googlesource.com/766647Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49365}
-
Ross McIlroy authored
Adds support for compiling top-level code on a background thread behind a flag. When the flag is enabled, any background-parsing-task will perform compilation as well as parsing. BUG=v8:5203 TBR=marja@chromium.org,mstarzinger@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Icf90ac7211298d3555515dafc7c3245618ec1304 Reviewed-on: https://chromium-review.googlesource.com/764048 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49364}
-
Bill Budge authored
This is a reland of 4899bcb6 This is a reland of b73ee334 Original change's description: > [Memory] Use OS::Allocate for all OS memory allocations. > > - Eliminates OS::ReserveRegion and OS::ReserveAlignedRegion. > - Changes OS::Allocate to take alignment parameter, reorders parameters > to match page_allocator. > - Since the size of memory allocation can be deduced, don't return the > amount of memory allocated. > - Changes reservation of aligned address space. Before we would reserve > (size + alignment) rounded up to page size. This is too much, because > maximum misalignment is (alignment - page_size). > - On Windows and Cygwin, we release an oversize allocation and > immediately retry at the aligned address in the allocation. If we > lose the address due to a race, we just retry. > - Clean up all the calls to OS::Allocate in codegen and tests by adding > helper AllocateSystemPage function (allocation.h) and > AllocateAssemblerBuffer (cctest.h). > - Changes 'assm' to 'masm' in some targets for consistency when using > a macro-assembler. > > - Eliminates OS::ReleaseRegion, replacing with calls to OS::Free. > - Adds bool return value to OS::Free. > - Cleans up types of flags, protection on Windows and Cygwin. > Bug: chromium:756050 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I306dbe042cc867670fdc935abca29db074b0da71 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Iad3c025334e8f8d7d647be99a36a11ee449c9087 Reviewed-on: https://chromium-review.googlesource.com/767014 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49363}
-
Jakob Gruber authored
This reverts commit 9e4543a2. Reason for revert: Culprit CL was found, let's reland this. Original change's description: > Revert lazy bytecode handler support > > Speculative revert due to canary crashes. I'll begin relanding these > one-by-one next week. > > This bundles two reverts: > > Revert "[snapshot] Lazy-deserialize bytecode handlers" > This reverts commit b4587369. > > Revert "[interpreter] Remove mechanism for bytecode handler reuse" > This reverts commit 07fc87a2. > > TBR: rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org > Bug: chromium:783708 > Change-Id: I6f8314b9eeafd9412a1c69843bc242e7da240eee > Reviewed-on: https://chromium-review.googlesource.com/763428 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49294} TBR=rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:783708 Change-Id: I6c9274ddf0d0832ecce32baacc4f6a1388f56ac4 Reviewed-on: https://chromium-review.googlesource.com/768749 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49362}
-
Igor Sheludko authored
Bug: v8:5799 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I2c412f40aba6135dd0dafc7daa57420071ffee1c Reviewed-on: https://chromium-review.googlesource.com/768414 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#49361}
-
Georg Neis authored
R=jarin@chromium.org Bug: v8:6791 Change-Id: I29249640c4612421cd3bf938c465fc823aaa916d Reviewed-on: https://chromium-review.googlesource.com/765967Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49360}
-
Georg Neis authored
R=jarin@chromium.org Bug: Change-Id: Ia674f7745ea08b31f3e3098c2d09bd05afc59ea7 Reviewed-on: https://chromium-review.googlesource.com/768410Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49359}
-
Toon Verwaest authored
Unaligned access is still unused, but will be necessary to load String-length once we store it as an int32 next to the hash-field. Bug: v8:7065 Change-Id: I7fa9364e062774c0a6b32e7f961031dcd30c564c Reviewed-on: https://chromium-review.googlesource.com/763349 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49358}
-
Michael Achenbach authored
This reverts commit 8de2e6db. Reason for revert: Suspect for: https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/24237 https://build.chromium.org/p/client.v8/builders/V8%20Win64/builds/20896 Original change's description: > [platform] Implement TaskRunners in the DefaultPlatform > > This CL implements the TaskRunners in the DefaultPlatform which has been > added recently to the platform API. In addition I changed how task > posting works on the DefaultPlatform. > > With this implementation the DefaultPlatform keeps one > DefaultForegroundTaskRunner per isolate, plus one > DefaultBackgroundTaskRunner. The DefaultPlatform owns these TaskRunners > with a shared_ptr, which is also shared with any caller of > GetForegroundTaskRunner or GetBackgroundTaskrunner. > > This CL moves the task management from the DefaultPlatform to the > TaskRunners. The DefaultForegroundTaskRunner owns and manages the the > task queue, the delayed task queue, and the idle task queue. The > DefaultBackgroundTaskRunner owns the WorkerThread pool and the > background task queue. > > In addition changed many Task* to std::unique_ptr<Task> to document task > ownership. > > R=rmcilroy@chromium.org > > Change-Id: Ib9a01f1f45e5b48844a37d801f884210ec3f6c27 > Reviewed-on: https://chromium-review.googlesource.com/753583 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49354} TBR=rmcilroy@chromium.org,ahaas@chromium.org Change-Id: I6c381915a2cae8ea1a0d21d6cfa6e797ccd2d947 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/768748Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49357}
-
Camillo Bruni authored
Change-Id: Ie35e9f07b3936e975f5072c0508889c4a6a622da Reviewed-on: https://chromium-review.googlesource.com/768812Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#49356}
-
Yang Guo authored
Bytecode compilation is not affected by whether it needs to be serialized. Only TF-generated code objects included in the snapshot are part of the startup snapshot. We therefore do not need to pass the flag through the compilation info. R=mstarzinger@chromium.org, verwaest@chromium.org Change-Id: I761971febc5b6c27602c21cd5b0b2bffdd80bd5b Reviewed-on: https://chromium-review.googlesource.com/758413Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#49355}
-
Andreas Haas authored
This CL implements the TaskRunners in the DefaultPlatform which has been added recently to the platform API. In addition I changed how task posting works on the DefaultPlatform. With this implementation the DefaultPlatform keeps one DefaultForegroundTaskRunner per isolate, plus one DefaultBackgroundTaskRunner. The DefaultPlatform owns these TaskRunners with a shared_ptr, which is also shared with any caller of GetForegroundTaskRunner or GetBackgroundTaskrunner. This CL moves the task management from the DefaultPlatform to the TaskRunners. The DefaultForegroundTaskRunner owns and manages the the task queue, the delayed task queue, and the idle task queue. The DefaultBackgroundTaskRunner owns the WorkerThread pool and the background task queue. In addition changed many Task* to std::unique_ptr<Task> to document task ownership. R=rmcilroy@chromium.org Change-Id: Ib9a01f1f45e5b48844a37d801f884210ec3f6c27 Reviewed-on: https://chromium-review.googlesource.com/753583 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49354}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I4fb315ddf9999a3e7e2306201e5ace69b4e0be4b Reviewed-on: https://chromium-review.googlesource.com/768713 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49353}
-
Toon Verwaest authored
[snapshot] Use ThinStrings instead of custom forwarding using the hashfield to deserialize internalized strings This is necessary to be able to store the string length next to the hash field in the same 64bit word on 64bit architectures. Otherwise the forwarding pointer will overwrite the length breaking heap guarantees. ThinStrings already just do the right thing, so just use that instead. Bug: v8:7065 Change-Id: I4922365e72421995cd11437cb91572ff56f8a9e8 Reviewed-on: https://chromium-review.googlesource.com/763231Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#49352}
-
Igor Sheludko authored
.. by using macros for defining field offsets. Bug: v8:5799 Change-Id: Id76e81bedb8f348b2efaa1d553bebac0ff90b474 Reviewed-on: https://chromium-review.googlesource.com/768382Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#49351}
-
Camillo Bruni authored
This partially retires --trace-parse and --trace-preparse which will be fully removed in a later CL. Drive-by-fix: make the Parser constructor arguments order more consistent. Bug: chromium:757467 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I80a688ce553adfa65ad346718604bd53a9e606a9 Reviewed-on: https://chromium-review.googlesource.com/744046 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#49350}
-
Andreas Haas authored
With this CL, {CreateDefaultPlatform} returns a unique_ptr to indicate that the caller owns the returned memory. We had several memory leaks where the memory of the DefaultPlatform did not get deallocated. In addition, the {TracingController} of the {DefaultPlatform} also gets received as a unique_ptr. Thereby we document that the {DefaultPlatform} takes ownership of the {TracingController}. Note that the memory of the {TracingController} was already owned by the {DefaultPlatform}, but it was not documented in the interface, and it was used incorrectly in tests. This CL fixes the asan issues in https://chromium-review.googlesource.com/c/v8/v8/+/753583 ([platform] Implement TaskRunners in the DefaultPlatform) R=rmcilroy@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I0d1a6d3b22bb8289dc050b1977e4f58381cec675 Reviewed-on: https://chromium-review.googlesource.com/755033Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49349}
-
Camillo Bruni authored
This CL adds a very crude unittest to check that RuntimeCallStats work correctly with api callbacks present. This currently doesn't check that all parent timers (namely FunctionCallback) are handled properly. Drive-by-Fix: - Use Microseconds for all RCS timer tests - Add TestWithContext::SetGlobalProperty helper - Use explicit v8:: prefix in test-utils.{h,cc} Change-Id: I054e78abca0b87a3b9e07d3b06cccdad15403bae Reviewed-on: https://chromium-review.googlesource.com/766429 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49348}
-