- 21 Feb, 2019 19 commits
-
-
Michael Starzinger authored
This makes the asm.js validator reject source with trailing expressions after the module exporting return statement. Most of the time trailing statements would not affect semantics, since they are unreachable. In some cases we might hide an expected ReferenceError tough. R=leszeks@chromium.org TEST=mjsunit/regress/regress-crbug-934138 BUG=chromium:934138 Change-Id: I790366204f5e9c943715a065b5229f2442e2c86e Reviewed-on: https://chromium-review.googlesource.com/c/1481216 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#59766}
-
Jakob Gruber authored
Bug: v8:7777 Change-Id: I781ac51ba740655c644e19388c6cadad7267b18c Reviewed-on: https://chromium-review.googlesource.com/c/1478209 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59765}
-
Igor Sheludko authored
Bug: v8:7703 Change-Id: I06d4195597f0ac8ee771da49c9a402be48e91f15 Reviewed-on: https://chromium-review.googlesource.com/c/1480377Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59764}
-
Igor Sheludko authored
Bug: v8:8834 Change-Id: I5730e550f1b19e651d1fa7cb8b5694c9d839ff84 Reviewed-on: https://chromium-review.googlesource.com/c/1480374Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59763}
-
tzik authored
This updates MicrotaskQueue to use pointer-compression style object reference. Bug: v8:8124 Change-Id: I7bef92a8760609f3045d2025b145b9a0ec880424 Reviewed-on: https://chromium-review.googlesource.com/c/1478320 Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#59762}
-
Jakob Gruber authored
Bug: v8:7777 Change-Id: I0227ee37018e718014b8a8fbdba93e82a2209ae0 Reviewed-on: https://chromium-review.googlesource.com/c/1480372Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59761}
-
Toon Verwaest authored
- Remove unused IsSpecialization - Simplify IsCompatibleForLoad Change-Id: I555adf9869322b600072c5006ff71f6b846d4241 Reviewed-on: https://chromium-review.googlesource.com/c/1479958Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59760}
-
Stephan Herhut authored
This change adds two spilling modes: SpillAtDefinition and SpillDeferred. The former is the known spilling mode where we spill at definition. The latter spills only in deferred code regions. This is implemented based on control flow aware allocation and its invariants. The effect is mostly the same as splintering with the exception of forward looking allocation decisions still being impacted by register constraints in deferred code. Change-Id: Ia708e5765dd095196a8127deb2d8bec950d37e04 Reviewed-on: https://chromium-review.googlesource.com/c/1437118Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#59759}
-
Ulan Degenbaev authored
This merges the "do-nothing" case with the "done" case as the former is no longer useful. This also fixes a bug where the idle time handler would not make progress by always returning "do-nothing". Change-Id: Ibdd3189e4fd35acc5405aa82a13ea8ee2fd74cc6 Reviewed-on: https://chromium-review.googlesource.com/c/1478695 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59758}
-
Ulan Degenbaev authored
This is a reland of 49de5875 Original change's description: > [heap] Perform more embedder tracing in incremental marking step > > This should fix GC latency regressions introduced in 4c6598. > > Bug: chromium:926189, chromium:930844, chromium:930693,chromium:931629 > Change-Id: I81c91829badbeea82d6e44670d07794632869424 > Reviewed-on: https://chromium-review.googlesource.com/c/1477216 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59668} Bug: chromium:926189, chromium:930844, chromium:930693, chromium:931629 Change-Id: Ifa77647668bb052bb102b643182baf406cb9e059 Reviewed-on: https://chromium-review.googlesource.com/c/1477279Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59757}
-
Sven Sauleau authored
Change-Id: Ib45690bb03b9c76502afed89a71e1dc9a545893b Reviewed-on: https://chromium-review.googlesource.com/c/1481213 Commit-Queue: Sven Sauleau <ssauleau@igalia.com> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59756}
-
Mythri authored
This cl moves the valid feeback vector checks to the builtins and uses fast paths runtime when possible even whithout a valid feedback vector. For LoadNamedProperty it calls LoadIC_Uninitialized which does not need any type feedback and for LoadKeyedProperty it follows the megamorphic path but doesnot use the stub cache. Bug: v8:8293 Change-Id: I6ef9653e3f43c15cb882cbf82c3c2f63fb705a81 Reviewed-on: https://chromium-review.googlesource.com/c/1475393Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#59755}
-
Michael Achenbach authored
TBR=santa Change-Id: I0ff05d47526d7e648c026daecb63ad80b668d9d8 Reviewed-on: https://chromium-review.googlesource.com/c/1481215Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#59754}
-
Jakob Gruber authored
The DCHECK verified capacity just before the call to EnsureCapacity() (which extends capacity if needed). This DCHECK can just be removed since FixedArray::set() already checks the given index is in-bounds. Drive-by: Remove similar duplicate DCHECKs in FixedArrayBuilder. Bug: chromium:933776 Change-Id: I9f058548063a170ea6dce112a3877792887efcca Reviewed-on: https://chromium-review.googlesource.com/c/1479955Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59753}
-
Peter Marshall authored
The default TracingController (used by d8 and Node) has some concurrency issues. The new test flushes these out, when a second thread logs trace events while the main thread calls StopTracing(). - Use an acquire load in UpdateCategoryGroupEnabledFlags() because this was racing with GetCategoryGroupEnabled() where a new category is added in the slow path. g_category_groups is append-only, but reads/writes to g_category_index need to be correctly ordered so that new categories are added and only then is the change to the index visible. The relaxed load ignored this and caused unsynchronized read/write. - Use a relaxed load in ~ScopedTracer() to access category_group_enabled as this previously used a non-atomic operation which caused a race with UpdateCategoryGroupEnabledFlag() which does a relaxed store. - Replace TracingController::mode_ with an atomic bool as read/writes to mode_ were not synchronized and caused TSAN errors. It only has two states and it doesn't seem like we will extend this so just convert it to bool. - Take the lock around calling trace_object->Initialize in AddTraceEvent(), and around trace_buffer_->Flush() in StopTracing(). These two raced previously as the underlying TraceBufferRingBuffer passes out pointers to TraceObjects in a synchronized way, but the caller (AddTraceEvent) then writes into the object without synchronization. This leads to races when Flush() is called, at which time TraceBufferRingBuffer assumes that all the pointers it handed out are to valid, initialized TraceObjects - which is not true because AddTraceEvent may still be calling Initialize on them. This could be the cause of issues in Node.js where the last line of tracing/logging sometimes gets cut off. This is kind of a band-aid solution - access to the TraceObjects handed out by the ring buffer really needs proper synchronization which at this point would require redesign. It's quite likely we will replace this with Perfetto in the near future so not much point investing in this code right now. - Enable TracingCpuProfiler test which was flaky due to these bugs. Bug: v8:8821 Change-Id: I141296800c6906ac0e7f3f21dd16d861b07dae62 Reviewed-on: https://chromium-review.googlesource.com/c/1477283 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#59752}
-
Georg Neis authored
Bug: v8:7790 Change-Id: I92657d3aae6ba34b2aeeb6f000962707577811b6 Reviewed-on: https://chromium-review.googlesource.com/c/1478696Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59751}
-
Benedikt Meurer authored
In the Crankshaft days we (mis)used the Representation to also express the various internal representations that the compiler understands. But with TurboFan we now have proper MachineRepresentation and MachineType, which do that independently. So there's no need to have this in the Representation class anymore, and instead the Representation class only needs to deal with the field representations. Bug: v8:8749, v8:8834, v8:8865 Change-Id: I34ea9558b5fdf20d6c7939b52762eaffd4316b06 Reviewed-on: https://chromium-review.googlesource.com/c/1479954 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#59750}
-
Jaroslav Sevcik authored
Bug: chromium:933331 Change-Id: I598a32b1efe2d4b7e8278ddf84140c72f787afa8 Reviewed-on: https://chromium-review.googlesource.com/c/1475496Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#59749}
-
Z Duong Nguyen-Huu authored
This is a reland of 1fdf6405 Original change's description: > Make format torque tools work on win > > Reformatting Torque file is required to upload a CL > but it can only work on POSIX > > Change-Id: I51283e3f6b29abf492be7efb5b8f10454d09fb37 > Reviewed-on: https://chromium-review.googlesource.com/c/1475919 > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59719} Change-Id: I09a19a9989091205eb413fd60b2e8bec289092fd Reviewed-on: https://chromium-review.googlesource.com/c/1479530 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59748}
-
- 20 Feb, 2019 21 commits
-
-
Matt Gardner authored
Change-Id: I808ce4d0089accd3f6afaeab98bd6237e169f793 Reviewed-on: https://chromium-review.googlesource.com/c/1475915 Commit-Queue: Matt Gardner <magardn@microsoft.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#59747}
-
Sathya Gunasekaran authored
Throw error when accessing private field on super. Bug: v8:8872 Change-Id: Iad383890fafbdccdd6b6b75a8f9eb32c9d6f5044 Reviewed-on: https://chromium-review.googlesource.com/c/1478219Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#59746}
-
Jeff Fisher authored
New tests added for these calls: * evaluateOnCallFrame * setAsyncCallStackDepth * setBreakpoint * setVariableValue For setAsyncCallStackDepth, this change updates the test to manufacture async callstacks in a different way so that there is more than one. The previous promise chain method was broken by f61facfd. Change-Id: I9083b0b1c08849d4c7ebb5349cfa4489f551aa39 Reviewed-on: https://chromium-review.googlesource.com/c/1465118 Commit-Queue: Jeff Fisher <jeffish@microsoft.com> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#59745}
-
Seth Brenith authored
Currently, it is possible to make the Torque compiler emit uncompilable C++ code if a 'generates' clause is missing. Rather than making the developer spelunk through generated code to find out what went wrong, we can catch this error earlier and print a useful message. Bug: v8:7793 Change-Id: I49fabc1d39f398bf322523901941494b8dab0506 Reviewed-on: https://chromium-review.googlesource.com/c/1477964Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#59744}
-
Georg Neis authored
I missed this one in my previous CL. R=jarin@chromium.org Change-Id: Ie4b912ee7e3367da48c0d4b092ad09e3f81de788 Reviewed-on: https://chromium-review.googlesource.com/c/1477677Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59743}
-
Sathya Gunasekaran authored
Bug: v8:7468 Change-Id: I4e0d99b8ea4580b9cf7abb57f3d6974dd98041e5 Reviewed-on: https://chromium-review.googlesource.com/c/1478215Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#59742}
-
Ulan Degenbaev authored
The test started passing on android arm64 after https://chromium-review.googlesource.com/c/1477736 Change-Id: I52e8372678e37b68d2af4d53b06025ed3660f159 Reviewed-on: https://chromium-review.googlesource.com/c/1478206Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59741}
-
Leszek Swirski authored
This reverts commit bd45b89e. Reason for revert: Android Arm64 failures ( https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Android%20Arm64%20-%20N5X/3243) Original change's description: > Roll ICU to 07e7295d from 960f195 > > https://chromium.googlesource.com/chromium/deps/icu.git/+log/07e7295d..960f195 > > The following change includes: > > 960f195 Cherry-pick 3 locale fixes > > Bug: v8:8242,v8:8260 > Change-Id: I0b0641db5c75d2ce926dce0e30162f0f6c106ebe > Reviewed-on: https://chromium-review.googlesource.com/c/1476290 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Frank Tang <ftang@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59711} TBR=jshin@chromium.org,gsathya@chromium.org,ftang@chromium.org Change-Id: I5b9ff7e27e12663ac63063c945608a7abfa2cecf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8242, v8:8260 Reviewed-on: https://chromium-review.googlesource.com/c/1478208Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#59740}
-
Tamer Tas authored
Adds the src side definitions for integrating "V8 Linux64 GC Stress - custom snapshot" waterfall bot into the try jobs. R=machenbach@chromium.org CC=yangguo@chromium.org,sergiyb@chromium.org Bug: v8:8718 No-Try: true Change-Id: Ie75846486b15127ea35ef6bbd478beb513f6d299 Reviewed-on: https://chromium-review.googlesource.com/c/1478194 Commit-Queue: Tamer Tas <tmrts@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#59739}
-
Michael Starzinger authored
This extends the "test-jump-table-assembler" stress test to supported architectures. Note that on both PPC and S390 the tests flushes out the race during jump table patching pretty reliably. Fixing this issue is outside the scope of this change, this just ensures test coverage exists but keeps the test in question disabled. R=clemensh@chromium.org TEST=cctest/test-jump-table-assembler BUG=v8:8018 Change-Id: Ia299ed2a42f9858019627270a25026b53f3628d3 Reviewed-on: https://chromium-review.googlesource.com/c/1478200Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59738}
-
Michael Achenbach authored
Those shard configs should stay in sync with master builders. NOTRY=true TBR=sergiyb@chromium.org Change-Id: I083a4eed8ded884ad8345ba65153f424c9f0ef2f Reviewed-on: https://chromium-review.googlesource.com/c/1475536Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#59737}
-
Sigurd Schneider authored
This reverts commit 1fdf6405. Reason for revert: Alters behavior on linux; we need to investigate Original change's description: > Make format torque tools work on win > > Reformatting Torque file is required to upload a CL > but it can only work on POSIX > > Change-Id: I51283e3f6b29abf492be7efb5b8f10454d09fb37 > Reviewed-on: https://chromium-review.googlesource.com/c/1475919 > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59719} TBR=mvstanton@chromium.org,bmsdave@gmail.com,duongn@microsoft.com Change-Id: I8845fa1d1ddf5ce841a84ef59c9572673e4a2510 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/1478199Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59736}
-
Sigurd Schneider authored
This reverts commit 0052f12a. Reason for revert: Fix available Original change's description: > [torque] Temporarily disable torque format check to pass presubmit > > Revert this once the bug is fixed. > > Change-Id: I28490ecc9290b5c1f09e1ee8bcd8b600f79f017d > Bug: v8:8873 > Notry: true > Notreechecks: true > Reviewed-on: https://chromium-review.googlesource.com/c/1477747 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59720} TBR=machenbach@chromium.org,sigurds@chromium.org,tebbi@chromium.org Change-Id: I1a51ee93d7adbd1f14103da68e64548141163706 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8873 Reviewed-on: https://chromium-review.googlesource.com/c/1478198Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59735}
-
Sigurd Schneider authored
This reverts commit 91213b5c. Reason for revert: Fix available Original change's description: > [torque] Temporarily remove torque format check to pass presubmit > > Revert this once the bug is fixed. > > TBR=machenbach@chromium.org > > Change-Id: I32c9ef41b968e37b6de9eddb7e4e27c1d60c87c8 > Bug: v8:8873 > Notry: true > Notreechecks: true > Reviewed-on: https://chromium-review.googlesource.com/c/1477749 > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59721} TBR=sigurds@chromium.org Change-Id: Icf4454ca9ed1d276fe0a0a3fa0bba3553a6b8a87 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8873 Reviewed-on: https://chromium-review.googlesource.com/c/1478197Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59734}
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I41382177f44b090e51b3a61f29dc9f54bdfad72e Reviewed-on: https://chromium-review.googlesource.com/c/1475534 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#59733}
-
Sigurd Schneider authored
This reverts commit 5a161ce3. Reason for revert: Fix is available Original change's description: > [torque] Temporarily remove torque format check to pass presubmit > > .. also from v8_presubmit.py > > Revert this once the bug is fixed. > > TBR=machenbach@chromium.org > > Change-Id: I82f443e1d6bea4c4c43d50631f559b3aa25f8410 > Bug: v8:8873 > Notry: true > Notreechecks: true > Reviewed-on: https://chromium-review.googlesource.com/c/1478690 > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59722} TBR=machenbach@chromium.org,sigurds@chromium.org Change-Id: I9b8f01e9563cc53d34c0835872fb6fe8b5ddb240 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8873 Reviewed-on: https://chromium-review.googlesource.com/c/1478195Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59732}
-
Jaroslav Sevcik authored
Bug: chromium:932392 Change-Id: Icf5690585303a7f61421bdfe7729823c98950d13 Reviewed-on: https://chromium-review.googlesource.com/c/1478192Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#59731}
-
Clemens Hammacher authored
This is a reland of 6202c445. Moved skipped test from 'variant == jitless' to 'lite_mode or variant == jitless'. Original change's description: > [inspector] Add wasm profiling test > > This adds a first simple test to check that CPU profiles contain wasm > function names. > > R=herhut@chromium.org, kozyatinskiy@chromium.org > > Bug: v8:8783 > Change-Id: I26b1fd2b7ec555c073d80a464ee8a799b017b07a > Reviewed-on: https://chromium-review.googlesource.com/c/1454597 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Stephan Herhut <herhut@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59703} TBR=herhut@chromium.org Bug: v8:8783 Change-Id: I4f68db86bf1caa4f0d68dd4fa227ded25bf5145a Reviewed-on: https://chromium-review.googlesource.com/c/1477678Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59730}
-
Clemens Hammacher authored
This introduces a new {base::SharedMutex}, which mimics {std::shared_mutex}, available in C++17. It is being used for synchronizing the WebAssembly background compile tasks. This removes a lot of unnecessary contention, leading to synchronization of background tasks that should be able to run in parallel ideally. Locally, this reduces Liftoff compilation time by more than 20 percent. R=mstarzinger@chromium.org, mlippautz@chromium.org Bug: chromium:924956 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Change-Id: I8c522faf385149bfe2cf00d777a7942c537f9cd2 Reviewed-on: https://chromium-review.googlesource.com/c/1477731 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59729}
-
peterwmwong authored
This is a reland of c9ef0405 Original change's description: > [builtins]: Optimize CreateTypedArray to use element size log 2 for calculations. > > TypedArrayElementsInfo now represents an element's size as a log 2 and typed as > uintptr. This simplifies and speeds up (avoids possible HeapNumber allocations) a > number of calculations: > > - Number of Elements (length) -> Byte Length - is now a WordShl > - Byte Length -> Number of Elements (length) - is now a WordShr > - Testing alignment (byte offset or length) - is now a WordAnd > > These element/byte length related calculations are encapsulated in > TypedArrayElementsInfo as struct methods. > > This reduces the size of CreateTypedArray by 2.125 KB (24%) on Mac x64.release: > - Before: 9,088 > - After: 6,896 > > This improves the performance of the following microbencmarks > - TypedArrays-ConstructWithBuffer: ~87% > - TypedArrays-SubarrayNoSpecies: ~28% > > Bug: v8:7161 > Change-Id: I2239fd0e0af9d3ad55cd52318088d3c7c913ae44 > Reviewed-on: https://chromium-review.googlesource.com/c/1456299 > Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59531} Bug: v8:7161, chromium:932034 Change-Id: I5c3dc34c549234417f95b404e7d49b2fd496fa69 Reviewed-on: https://chromium-review.googlesource.com/c/1476306 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59728}
-
Mike Stanton authored
Since these Recheck() calls are usually combined with a bailout, doing them at the end of loops means we have to increment one or more bailout variables, which is hard to understand. Change-Id: I595ea592f31762da5abd85bfa7556eb39e3c9430 Reviewed-on: https://chromium-review.googlesource.com/c/1478694Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59727}
-