- 19 Feb, 2019 40 commits
-
-
Georg Neis authored
This lets me run tests with --no-turbo-inlining without having to worry about false positives. Change-Id: Icf906e631ef5821136f397af141ba8b18334da7e Reviewed-on: https://chromium-review.googlesource.com/c/1477730Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59707}
-
Georg Neis authored
...to make things easier to read. R=jarin@chromium.org Change-Id: I0e53ef67e34f696b5977d4e091c7bc7bdf0ec145 Reviewed-on: https://chromium-review.googlesource.com/c/1477739Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59706}
-
Jaroslav Sevcik authored
Bug: chromium:933179 Change-Id: I511dfa7c060fd3f4e4b59c199a27a69d4cf81f97 Reviewed-on: https://chromium-review.googlesource.com/c/1477275Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#59705}
-
Sathya Gunasekaran authored
This reverts commit 6202c445. Reason for revert: times out on arm https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8921075891748393232/+/steps/Check_-_default/0/logs/console-profile-wasm/0 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=yangguo@chromium.org,kozyatinskiy@chromium.org,clemensh@chromium.org,herhut@chromium.org Change-Id: Ib211a38a32ee08c18e4a19f05d9fc68d6a2d2901 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8783 Reviewed-on: https://chromium-review.googlesource.com/c/1475914Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#59704}
-
Clemens Hammacher authored
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}
-
Michael Starzinger authored
This removes an outdated section order check from {CreateNewBuffer} and relies solely on the checks done in {ProcessSection}. Those checks are more comprehensive and will remain coherent with synchronous decoding. R=ahaas@chromium.org TEST=mjsunit/regress/wasm/regress-8846 BUG=v8:8846 Change-Id: Id0cdc3bf3ad78f7970c9fceff66a17ab20f4666b Reviewed-on: https://chromium-review.googlesource.com/c/1477211Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59702}
-
Ulan Degenbaev authored
This is a reland of 932a5ca8 Original change's description: > [heap] Enable large objects in young generation > > Bug: chromium:852420 > Change-Id: Id1cde3450c5ca046029b17eee5dbe5132f299c3d > Reviewed-on: https://chromium-review.googlesource.com/c/1477212 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59669} Bug: chromium:852420 Change-Id: If6dc439e410542da72c3edc08c9926b3edd1186e Reviewed-on: https://chromium-review.googlesource.com/c/1477736Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59701}
-
Dan Elphick authored
Also disables tests in Lite mode that currently fail with lazy source positions. Bug: v8:8510 Change-Id: Id27b7cb31682559173b137ef51eaf06d517ee9ec Reviewed-on: https://chromium-review.googlesource.com/c/1477129 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#59700}
-
Michael Starzinger authored
R=jgruber@chromium.org Change-Id: I03c1aec177c389bf4d6550a26ad30d870e10135a Reviewed-on: https://chromium-review.googlesource.com/c/1477738 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59699}
-
Stephan Herhut authored
This adds a new hint type for live ranges that allows the control flow aware allocation to hint the register that should be used on reload. Avoid unnecessary register to register moves and helps with code size. Change-Id: I01e870514446eab3bffb89b2e00644bd215b81d5 Reviewed-on: https://chromium-review.googlesource.com/c/1460944Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#59698}
-
Anna Henningsen authored
This allows non-monolithic embedders to always allocate memory for ArrayBuffer instances using the right allocation method. This is based on a patch that Electron is currently using. Refs: https://github.com/electron/electron/blob/1898f9162073910c05958295c612deec6121a892/patches/common/v8/array_buffer.patch Change-Id: I39a614343118a0594aab48699a99cc2aad5b7ba9 Reviewed-on: https://chromium-review.googlesource.com/c/1462003Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#59697}
-
Ulan Degenbaev authored
The allocation observer step should be called only after the page flags of the young large object are properly set up. Bug: chromium:852420 Change-Id: I9f537a7c1d6b7aa15ccbe58006e3957a2ec2ab5c Reviewed-on: https://chromium-review.googlesource.com/c/1477735Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59696}
-
Dan Elphick authored
This fixes ~15 debug/inspector tests that were failing when v8_enable_lazy_source_positions = true. Bug: v8:8510 Change-Id: Ica02aa2ea84549b5cddd82b5b98835829f7b0f1b Reviewed-on: https://chromium-review.googlesource.com/c/1477280 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59695}
-
Simon Zünd authored
This change will enable basic "goto definition" support in the upcoming Torque language server. R=tebbi@chromium.org Bug: v8:7793 Change-Id: I8e50cc58288991a2f6024d06bf38f4fd66f21eea Reviewed-on: https://chromium-review.googlesource.com/c/1477055 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59694}
-
Stephan Herhut authored
These are supported by the try bots but were missing from the set. NOTRY=true Change-Id: Ie12801ee953b14a7f94588efc64b8c57caa6d720 Reviewed-on: https://chromium-review.googlesource.com/c/1477052Reviewed-by: Stephan Herhut <herhut@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#59693}
-
Clemens Hammacher authored
Since the comments are copied from the std types anyway, we should also point to them to make clear that the semantic is intentially equivalent. Also, remove two unused methods and avoid an unneeded nullptr check. R=mlippautz@chromium.org Bug: v8:8834 Change-Id: Idcb5a1b8b2b3bb0786807828a96e085df963a8f0 Reviewed-on: https://chromium-review.googlesource.com/c/1477224Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59692}
-
Michael Starzinger authored
R=clemensh@chromium.org TEST=cctest/test-run-wasm-exceptions BUG=v8:8729 Change-Id: I3751599bd72aaae1a9816e728437c64daf465f41 Reviewed-on: https://chromium-review.googlesource.com/c/1477733 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59691}
-
Ulan Degenbaev authored
This reverts commit d74840b7. Reason for revert: breaks stress sampling profiler Original change's description: > Reland "[heap] Enable large objects in young generation" > > This is a reland of 932a5ca8 > > The GC stress failure was caused by v8:8801 > > Original change's description: > > [heap] Enable large objects in young generation > > > > Bug: chromium:852420 > > Change-Id: Id1cde3450c5ca046029b17eee5dbe5132f299c3d > > Reviewed-on: https://chromium-review.googlesource.com/c/1477212 > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#59669} > > Bug: chromium:852420 > Change-Id: I1fd28869f21715798fe49508efb7f3a622803ffc > Reviewed-on: https://chromium-review.googlesource.com/c/1477218 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59683} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org Change-Id: Ieb81de35df1ccb9ef5c6d59c13f34ba294b848ed No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:852420 Reviewed-on: https://chromium-review.googlesource.com/c/1477732Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59690}
-
Jakob Gruber authored
These are no longer needed now that JS builtins have been fully removed. The internal match usage in assert.js has been replaced by a custom miniparser. The internal replace use in various string builtins was replaced by manual global string replacement in a runtime function. Bug: v8:8842,v8:7624 Change-Id: Ieb49c694662a13e84fd9fd2fe5d0412b8e0574da Reviewed-on: https://chromium-review.googlesource.com/c/1473030Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Peter Wong <peter.wm.wong@gmail.com> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59689}
-
Ulan Degenbaev authored
Bug: chromium:926189 Change-Id: Ibd90f3cfdb37f07f3668f9ad79cff6e4305dc874 Reviewed-on: https://chromium-review.googlesource.com/c/1477674Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59688}
-
Michael Achenbach authored
NOTRY=true Bug: chromium:853202 Change-Id: Ieafb30e2aebedcab3e62c2659e7d093399068fb2 Reviewed-on: https://chromium-review.googlesource.com/c/1477222Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#59687}
-
Georg Neis authored
R=mslekova@chromium.org Bug: v8:7790 Change-Id: I8866ac4a386d535e7c6c00454d93236340ea4fc3 Reviewed-on: https://chromium-review.googlesource.com/c/1477282Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59686}
-
Dan Elphick authored
Fixes cctest/test-cpu-profiler/DetailedSourcePositionAPI by ensuring that source positions are available when starting an optimize job when NeedsDetailedOptimizedCodeLineInfo is set. Also collects source positions when inlining functions and adds a new test for this. Bug: v8:8510 Change-Id: I9d84e37f3c8b638db080f6ec4b6633cdd7e3ee2f Reviewed-on: https://chromium-review.googlesource.com/c/1472634Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#59685}
-
Michael Lippautz authored
The histogram is not used anymore. Remove to safe resources. Bug: chromium:926072 Change-Id: I929f34f7ab0613431eaf9740f3342b6b2cec6cbd Reviewed-on: https://chromium-review.googlesource.com/c/1477672Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59684}
-
Ulan Degenbaev authored
This is a reland of 932a5ca8 The GC stress failure was caused by v8:8801 Original change's description: > [heap] Enable large objects in young generation > > Bug: chromium:852420 > Change-Id: Id1cde3450c5ca046029b17eee5dbe5132f299c3d > Reviewed-on: https://chromium-review.googlesource.com/c/1477212 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59669} Bug: chromium:852420 Change-Id: I1fd28869f21715798fe49508efb7f3a622803ffc Reviewed-on: https://chromium-review.googlesource.com/c/1477218Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59683}
-
Mythri authored
Updates CloneIC builtin to take the CloneIC_slow path when there is no feedback vector. Also fixes the CloneIC_Slow to handle proxies correctly. StoreInArrayLiteralIC doesn't change the behaviour but just makes it consistent with other ICs. Bug: v8:8293 Change-Id: Ib824b3ef06db1595ce06f04669857bb957cbe072 Reviewed-on: https://chromium-review.googlesource.com/c/1475750 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59682}
-
Santiago Aboy Solanes authored
to kTaggedSize or kSystemPointerSize. Like X64's CLs, but combined: https://chromium-review.googlesource.com/c/v8/v8/+/1384092 https://chromium-review.googlesource.com/c/v8/v8/+/1384309 and https://chromium-review.googlesource.com/c/v8/v8/+/1473291 Bug: v8:8477, v8:8834 Change-Id: I832999996a0b56bd34ec6aa4fd86d9a5476e1065 Reviewed-on: https://chromium-review.googlesource.com/c/1477215 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59681}
-
Leszek Swirski authored
This reverts commit 1a3a2bc3. Reason for revert: Only CL in a reverted roll (https://chromium-review.googlesource.com/c/chromium/src/+/1477147) Original change's description: > Fix accessor update of non-extensible maps. > > When installing getter/setter of non-extensible map with existing > setter/getter of the same name, we introduce a new transition > (so we have two transitions with the same name!). This triggers > an assertion in map updater. > > This fix carefully checks that on the back-pointer path from > non-extensible map to the extensible map there are only > integrity level transitions. Otherwise, we just bail out. > > Bug: chromium:932953 > Change-Id: I02e91c3b652428a84a9f5c58b6691ea9b1fc44d6 > Reviewed-on: https://chromium-review.googlesource.com/c/1477067 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59667} TBR=jarin@chromium.org,ishell@chromium.org Change-Id: I9264423c605cebef87beb6c0f066e90b59faae48 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:932953 Reviewed-on: https://chromium-review.googlesource.com/c/1477219Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#59680}
-
Vadim Gorbachev (bmsdave) authored
There are now less that 400 days until the end of life of Python 2(aka _legacy_ Python) https://pythonclock.org/ . The code compatibility check for python2 and python3 used the following tools: futurize, flake8 You can see the reports here: https://travis-ci.com/bmsdave/v8/builds This CL was uploaded by git cl split. Bug: v8:8594 Change-Id: Idbf467daf629a4e808345a6a88036c2a3f259138 Reviewed-on: https://chromium-review.googlesource.com/c/1470121 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#59679}
-
Vadim Gorbachev (bmsdave) authored
There are now less that 400 days until the end of life of Python 2(aka _legacy_ Python) https://pythonclock.org/ . The code compatibility check for python2 and python3 used the following tools: futurize, flake8 You can see the reports here: https://travis-ci.com/bmsdave/v8/builds This CL was uploaded by git cl split. Bug: v8:8594 Change-Id: I2a90aaecb270f03aed1c0fc92da1a0e2621b0eb2 Reviewed-on: https://chromium-review.googlesource.com/c/1470101 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#59678}
-
Vadim Gorbachev (bmsdave) authored
There are now less that 400 days until the end of life of Python 2(aka _legacy_ Python) https://pythonclock.org/ . The code compatibility check for python2 and python3 used the following tools: futurize, flake8 You can see the reports here: https://travis-ci.com/bmsdave/v8/builds This CL was uploaded by git cl split. Bug: v8:8594 Change-Id: Id7e2f3d5751d9f0428d28f92106748d71db0042e Reviewed-on: https://chromium-review.googlesource.com/c/1470122Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#59677}
-
Dan Elphick authored
This restores assertion scope marking in the bta command making it obvious which frames disallowed heap allocation for instance. Change-Id: Ie99ff06df95b6ab6820e53798b12b1cd1bd97338 Reviewed-on: https://chromium-review.googlesource.com/c/1477213Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#59676}
-
Vadim Gorbachev (bmsdave) authored
There are now less that 400 days until the end of life of Python 2(aka _legacy_ Python) https://pythonclock.org/ . The code compatibility check for python2 and python3 used the following tools: futurize, flake8 You can see the reports here: https://travis-ci.com/bmsdave/v8/builds This CL was uploaded by git cl split. Bug: v8:8594 Change-Id: I661c52a70527e8ddde841fee6d4dcba282b4a938 Reviewed-on: https://chromium-review.googlesource.com/c/1470123 Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#59675}
-
Ulan Degenbaev authored
The test is sensitive to bytecode flushing. Bug: v8:8801 Change-Id: I2e290246681c014838be7411cc0ff68fd44c3590 Reviewed-on: https://chromium-review.googlesource.com/c/1477217Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59674}
-
Tobias Tebbi authored
The access made unsafe were chosen according what's hot in JSTests/Regexp and Octane/regexp. Bug: chromium:932919 Change-Id: I8229370f2dd7d0937e9d561f6957fb9dba6d6a25 Reviewed-on: https://chromium-review.googlesource.com/c/1477270Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59673}
-
Ulan Degenbaev authored
This reverts commit 932a5ca8. Reason for revert: breaks GC stress Original change's description: > [heap] Enable large objects in young generation > > Bug: chromium:852420 > Change-Id: Id1cde3450c5ca046029b17eee5dbe5132f299c3d > Reviewed-on: https://chromium-review.googlesource.com/c/1477212 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59669} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org Change-Id: I16f0705cf37fdc1708c605abd76d79dac3f1e825 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:852420 Reviewed-on: https://chromium-review.googlesource.com/c/1477278Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59672}
-
Ulan Degenbaev authored
This reverts commit 49de5875. Reason for revert: breaks TSAN 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} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: Iac914fe695740558f0fac3ad0172f48114b57312 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:926189, chromium:930844, chromium:930693, chromium:931629 Reviewed-on: https://chromium-review.googlesource.com/c/1477277Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59671}
-
Benedikt Meurer authored
When setting up the initial map for a (class or function) constructor, we always over-allocate a bunch of in-object properties, in case not all property assignments happen as `this.prop = val` assignments in the constructor. However this over-allocation was a bit too aggressive and added a slack of 8 to each class constructor (plus a minimum of two, when there was no `this.prop = val` assignment). So in total this would yield an object with initially 40 in-object property slots in case of a simple class hierarchy like this: ```js class A {}; class B extends A {}; class C extends B {}; class D extends C {}; new D; ``` While the slack tracking takes care of eventually shrinking the objects to appropriate sizes, this aggressive over-allocation is still going to hurt performance quite a bit in the beginning, and will also lead to more traffic on the minor GC for now good reason. Instead of the above, we now allocate a minimum of 2 in-object properties per class (in a hierarchy) and then add a slack of 8 in the end. Meaning for the example above we end up with 16 initial in-object property slots, which seems sensible. Bug: v8:8853 Change-Id: I4a11e35a8612ceef1d776ca2f0543a26c8c2a2bf Reviewed-on: https://chromium-review.googlesource.com/c/1477276Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#59670}
-
Ulan Degenbaev authored
Bug: chromium:852420 Change-Id: Id1cde3450c5ca046029b17eee5dbe5132f299c3d Reviewed-on: https://chromium-review.googlesource.com/c/1477212Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59669}
-
Ulan Degenbaev authored
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/1477216Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59668}
-