- 16 Nov, 2017 19 commits
-
-
Tobias Tebbi authored
Bug: Change-Id: Ibd7c17b4ace25237c3d35466280aff27c44016f0 Reviewed-on: https://chromium-review.googlesource.com/774461Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#49427}
-
Clemens Hammacher authored
This is a reland of 77b0baa6. Original change's description: > [wasm] Fix importing wasm-lazy-compile stubs > > If two modules use lazy compilation, and one imports a function of > another, we are unwrapping the js-to-wasm wrapper of the export. This > was failing so far, because during unwrapping we did not find the wasm > code. > This CL fixes this by also recognizing WasmCompileLazy stubs as "wasm > code". > > R=ahaas@chromium.org > > Bug: chromium:779569, v8:5991 > Change-Id: If2260c3721e3746a7635b9d0182fd520df2fb773 > Reviewed-on: https://chromium-review.googlesource.com/771672 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49405} Bug: chromium:779569, v8:5991 Change-Id: I4818e933467bd5a040f1514b8fc18db219a092c7 Reviewed-on: https://chromium-review.googlesource.com/774538Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49426}
-
Andreas Haas authored
At the moment the inspector tests do not dispose the isolate. This is a problem because the disposal of the isolate is used to stop the execution of background tasks. The missing disposal of the isolate caused flaky tests on the bots recently. With this CL the isolates of the inspector tests get disposed. The disposal of the isolate requires the following changes: 1) Store the isolate in a unique_ptr so that it gets disposed when the isolate-data gets disposed. It is necessary to use the unique_ptr so that the isolate gets disposed after other members of isolate-data get disposed. 2) Dispose all sessions. The reason is that the sessions require the isolate to exist when they get disposed because they own handles. Sessions, however, are stored in a static map, whereas the isolate is stored indirectly in a local variable of the main function. Since local variables get disposed before the static map is cleared, we have to clear the map before the end of the main function. R=kozyatinskiy@chromium.org Change-Id: Icb33184de254638b6cdfb899e940f18e6064cd69 Reviewed-on: https://chromium-review.googlesource.com/774885Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49424}
-
Clemens Hammacher authored
When initializing the stack state at a merge point, don't force all stack slots into registers. Allow constants to stay constants as long as they are not part of the merge. Otherwise we might break assumptions of outer blocks which then try to merge a register into a constant and fail. Also, add some documentation to {InitMergeStackSlot} to document the intent of the implementation. R=titzer@chromium.org Bug: v8:784050, v8:6600 Change-Id: I3a4c83b446909027be075d3207cb7c748a6b1aad Reviewed-on: https://chromium-review.googlesource.com/766353Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49423}
-
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}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: Ic50ed8aca2ef6b6e60eae194cf46c2264a416657 Reviewed-on: https://chromium-review.googlesource.com/774265 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49417}
-
Michal Majewski authored
Bug: v8:6917 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I09fb05ac6d4b9b1223118494ce2c89e3ab5de109 Reviewed-on: https://chromium-review.googlesource.com/771870Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#49415}
-
Michael Starzinger authored
This ensures that the {Code::builtin_index} field is only set during allocation of new {Code} objects, making this field truly immutable. R=jgruber@chromium.org BUG=v8:6792 Change-Id: Ic793346976183149e2d077e92cb9da3c925ea865 Reviewed-on: https://chromium-review.googlesource.com/774439Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49414}
-
Ross McIlroy authored
Simplifies the unoptimized compile job to have only three steps, the on-main-thread prepare step, the off-thread compile step and the on-main-thread finalization step. As part of this change, the compiler dispatcher no longer supports functions with outer scopeinfo's, since these need to be analysed on the main thread. BUG=v8:5203 Change-Id: Ifb378ef81bd47b6f6d4037a3b8acf88660896c4e Reviewed-on: https://chromium-review.googlesource.com/774558 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#49413}
-
Hannes Payer authored
This CL also narrows the rw scopes on various call sites. Bug: chromium:774108,v8:6792 Change-Id: I41a6f5dc4948833baaa441fb998ef40d8a832619 Reviewed-on: https://chromium-review.googlesource.com/758370 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49411}
-
Daniel Clifford authored
Bug: chromium:778668 Change-Id: I0d2cc2166aab93bb7cb5dcc6c72cdb0b335a655f Reviewed-on: https://chromium-review.googlesource.com/774263 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#49410}
-
Clemens Hammacher authored
This reverts commit 77b0baa6. Reason for revert: Breaks on win64 bot: https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8%2FV8_Win64_-_debug%2F20172%2F%2B%2Frecipes%2Fsteps%2FCheck%2F0%2Flogs%2Flazy-compilation%2F0 Original change's description: > [wasm] Fix importing wasm-lazy-compile stubs > > If two modules use lazy compilation, and one imports a function of > another, we are unwrapping the js-to-wasm wrapper of the export. This > was failing so far, because during unwrapping we did not find the wasm > code. > This CL fixes this by also recognizing WasmCompileLazy stubs as "wasm > code". > > R=ahaas@chromium.org > > Bug: chromium:779569, v8:5991 > Change-Id: If2260c3721e3746a7635b9d0182fd520df2fb773 > Reviewed-on: https://chromium-review.googlesource.com/771672 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49405} TBR=ahaas@chromium.org,clemensh@chromium.org Change-Id: If5ab7b9de95ef662a65a6a5b919fa1f13aa492cd No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:779569, v8:5991 Reviewed-on: https://chromium-review.googlesource.com/774518Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49409}
-
Sathya Gunasekaran authored
Previously, we had lazy parsing of class constructor disabled when a class literal had class fields because we were using a reference to the initializer function variable to load the function and call it. Instead, in this patch, we use the scope analysis to lookup this initializer function variable. Bug: v8:5367 Change-Id: Ib73d7e6abed33c04d1f574e7976bea4869d54757 Reviewed-on: https://chromium-review.googlesource.com/768384 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#49406}
-
Clemens Hammacher authored
If two modules use lazy compilation, and one imports a function of another, we are unwrapping the js-to-wasm wrapper of the export. This was failing so far, because during unwrapping we did not find the wasm code. This CL fixes this by also recognizing WasmCompileLazy stubs as "wasm code". R=ahaas@chromium.org Bug: chromium:779569, v8:5991 Change-Id: If2260c3721e3746a7635b9d0182fd520df2fb773 Reviewed-on: https://chromium-review.googlesource.com/771672 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49405}
-
Clemens Hammacher authored
When calling the CWasmEntry in order to call from the interpreter to a wasm function, the given buffer must hold the arguments, and must also have enough space to hold the return values. We were missing the second part, hence we failed when there are no parameters, but a return. R=ahaas@chromium.org Bug: chromium:784125 Change-Id: I08d417cae60eea64fda8a72e898dbed9f3e88148 Reviewed-on: https://chromium-review.googlesource.com/771633 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49402}
-
peterwmwong authored
- Add {Map/Set/WeakMap/WeakSet}-Constructor microbenchmarks - Add {Map/Set}-Double microbenchmarks (testing heap number keys) Bug: v8:6604 Change-Id: Icadd5c81bfb59a58a2a65e119663d3f22637165d Reviewed-on: https://chromium-review.googlesource.com/773595Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49398}
-
peterwmwong authored
Bug: chromium:784990 Change-Id: I08c10ec706ccaba765edc7322dc92374863b8a7a Reviewed-on: https://chromium-review.googlesource.com/771387Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49397}
-
Benedikt Meurer authored
We need to explicitly rule out negative indices for the out-of-bounds case, otherwise we can end up with a monomorphic KeyedLoadIC that allows OOB accesses, but doesn't properly check whether there are properties with negative integer names on the receiver. Bug: chromium:784835 Change-Id: Ic3ef5438b76094f024de0c6348183fb62b32088c Reviewed-on: https://chromium-review.googlesource.com/774278Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49396}
-
jing.bao authored
Mul/MinS/MaxS/AddSaturateU/SubSaturateU/MinU/MaxU, Eq/Ne Bug: Change-Id: I197712c37dcbc6648be5fd040ca23f2ea777a4f3 Reviewed-on: https://chromium-review.googlesource.com/760156 Commit-Queue: Jing Bao <jing.bao@intel.com> Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49395}
-
- 15 Nov, 2017 13 commits
-
-
Georgia Kouveli authored
The option lets us use the function in cases where we cannot use the current version due to restrictions on src and dst. This will be useful for some arm64 builtins when we pad the stack arguments, where we will need to copy the existing arguments either one slot up or one slot down in memory. Bug: v8:6644 Change-Id: I75281cdc9fa6812e3b24bf5756057c93305cbb95 Reviewed-on: https://chromium-review.googlesource.com/771711Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#49394}
-
Alexey Kozyatinskiy authored
TBR=jgruber@chromium.org Bug: v8:7078 Change-Id: I032bb6c8a9d1079ac9d8f69f6bef3de32f6e78ca Reviewed-on: https://chromium-review.googlesource.com/772250Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49393}
-
Clemens Hammacher authored
Beside blocks, do also generate loops. Also, generalize generation of breaks such that they can happen anywhere, even outside of a block or loop. R=eholk@chromium.org Change-Id: Ib2f8c75913e97f331ec105fd87fc882bc5c04864 Reviewed-on: https://chromium-review.googlesource.com/771610Reviewed-by:
Eric Holk <eholk@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49392}
-
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
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}
-
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}
-
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}
-
- 14 Nov, 2017 8 commits
-
-
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}
-
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}
-
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}
-
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}
-
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}
-
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}
-