- 09 Oct, 2017 30 commits
-
-
Toon Verwaest authored
Bug: Change-Id: Idd2a12c9f99430de4d83543bc09cae9df1598813 Reviewed-on: https://chromium-review.googlesource.com/707071 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48388}
-
Mike Stanton authored
We can improve performance of inlined Array.prototype.map if we statically know the type of the callback return result is a SignedSmall. Indeed, we no longer need bother with transitioning the output array, because we can store a SignedSmall (aka "Smi") anywhere. Bug: v8:6896 Change-Id: I140ce9a7c15ff77d05afeda6cda58f0560d922c8 Reviewed-on: https://chromium-review.googlesource.com/707139Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#48387}
-
Toon Verwaest authored
Bug: Change-Id: I8589ea37ab776d867794125d35e1e51b16d6e9a3 Reviewed-on: https://chromium-review.googlesource.com/707068 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48386}
-
Michael Achenbach authored
NOTRY=true TBR=sergiyb@chromium.org Bug: chromium:772804 Change-Id: Ia3079f08c728febf14a413c2677cc5f20c54ba5a Reviewed-on: https://chromium-review.googlesource.com/706793Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48385}
-
Toon Verwaest authored
Bug: Change-Id: Ifde89f90fe18a0747f4b7b9511fbdc64df31555b Reviewed-on: https://chromium-review.googlesource.com/707063 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48384}
-
Michael Starzinger authored
This ensures the JSFunction objects materialized by the deoptimizer have the correct instance size (depending on the given map). There are corner cases where the instance size might vary due to in-object properties. R=jarin@chromium.org TEST=mjsunit/regress/regress-crbug-772610 BUG=chromium:772610 Change-Id: I4808c7260db1adbd1cdc3871c2a946475e4934f2 Reviewed-on: https://chromium-review.googlesource.com/707109Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48383}
-
Michael Achenbach authored
Bug: chromium:772804 Change-Id: I845a5ca4ff79c713eb6361ff99e4e09fe4c5c71d Reviewed-on: https://chromium-review.googlesource.com/706792Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48382}
-
Toon Verwaest authored
Bug: Change-Id: I315d0017179e2f0a9883647b91fd4f0a762eade0 Reviewed-on: https://chromium-review.googlesource.com/707054 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48381}
-
Ulan Degenbaev authored
Bug: chromium:694255 Change-Id: I5dc6157126544f20bca0ddee967e1d08d69bb060 Reviewed-on: https://chromium-review.googlesource.com/707104Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48380}
-
Clemens Hammacher authored
args[i] automatically returns undefined if i < 0 || i >= args.Length(). R=mstarzinger@chromium.org, titzer@chromium.org Change-Id: I215545fa54ce23440f1de49b48786e568831bc82 Reviewed-on: https://chromium-review.googlesource.com/704586Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48379}
-
Michal Majewski authored
Adds the counter to x64 only. Bug: v8:6900 Change-Id: Ia290102b38f029a0b71c40e4b00ecc5f07dfa59c Reviewed-on: https://chromium-review.googlesource.com/704678 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48378}
-
Benedikt Meurer authored
Avoid the zero-extensions required for int32 based addressing on 64-bit architectures by restructuring the initialization loops to work on words. This recovers a bit of the regression on the Kraken audio-fft and audio-beat-detection benchmarks that was introduced by the initial CL. Bug: chromium:772669, v8:6399, v8:6901 Change-Id: I4753c254be89f2bcc7b0ea5073e469e3507408bd Reviewed-on: https://chromium-review.googlesource.com/707098Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48377}
-
Mike Stanton authored
In call reductions for Array.prototype.map and forEach, loads weren't wired appropriately into the effect chain, hampering the efficacy of load elimination. Bug: Change-Id: If5a386b66669d7173d5cadc6d8d3ff023daed810 Reviewed-on: https://chromium-review.googlesource.com/707073Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#48376}
-
Michael Starzinger authored
R=mvstanton@chromium.org BUG=chromium:770581 TEST=mjsunit/regress/regress-crbug-770581 Change-Id: I3a5854b6534e67da3e28d9c713830808013675b5 Reviewed-on: https://chromium-review.googlesource.com/702378Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48375}
-
Ulan Degenbaev authored
Each concurrent marking task maintains task_state[i]->marked_bytes. When a task finishes, its local counter is flushed into global total_marked_bytes_ atomic counter. Bug: chromium:694255 Change-Id: I629467385e80bf229e06a4231673ceb5ef8e4aea Reviewed-on: https://chromium-review.googlesource.com/704823 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48374}
-
Clemens Hammacher authored
Missing arguments are identical to undefined, and are converted to the integer 0 by ECMAScript {ToInteger()}. Add more tests, and enable previously disabled tests. There is a follow-up refactoring here: https://crrev.com/c/704586 R=titzer@chromium.org, mstarzinger@chromium.org Change-Id: I89cc259aaf5975ec2f6f51ff002e7d1b32adba5e Reviewed-on: https://chromium-review.googlesource.com/704658Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48373}
-
Toon Verwaest authored
Bug: Change-Id: Ifc46bd574801ac20f4025c84c5764311890b93da Reviewed-on: https://chromium-review.googlesource.com/707064Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48372}
-
Toon Verwaest authored
Bug: Change-Id: Ia2b60b712c6b5d78db1ea15161da2e10282c7d87 Reviewed-on: https://chromium-review.googlesource.com/707061Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48371}
-
Michael Starzinger authored
R=marja@chromium.org Change-Id: I93a366caded175256abd7966c3c157191a2b7de2 Reviewed-on: https://chromium-review.googlesource.com/690455 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#48370}
-
Martyn Capewell authored
ObjectTriple isn't used since f1ec44e2. Delete it, and simplify CEntryStub on all backends. Bug: Change-Id: I046525afceb25b484fd96c7ee81c73fb03168ca0 Reviewed-on: https://chromium-review.googlesource.com/704858Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#48369}
-
Mike Stanton authored
Bug: v8:6896 Change-Id: Ie34a4b6ff2e432dcd87a5b982d238c74001175ca Reviewed-on: https://chromium-review.googlesource.com/704676Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#48368}
-
Mike Stanton authored
We can use the known ElementsKind to improve typing on the receiver element load. We can allow multiple maps, as long as they have the same ElementsKind. Bug: v8:6896 Change-Id: Ida7df943f7d315454b58bcf4e0bbd2346406c488 Reviewed-on: https://chromium-review.googlesource.com/704921 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48367}
-
Tobias Tebbi authored
Now, the EffectControlLinearizer connects all occurrences of Unreachable to the graph end. This fixes issues with later phases running DeadCodeElimination and introducing new DeadValue nodes when processing uses of Unreachable. This is a reland of 3c4bc27f Original change's description: > Reland "[turbofan] eagerly prune None types and deadness from the graph" > > This is a reland of e1cdda25 > Original change's description: > > [turbofan] eagerly prune None types and deadness from the graph > > > > In addition to using the {Dead} node to prune dead control nodes and nodes that > > depend on them, we introduce a {DeadValue} node representing an impossible value > > that can occur at any position in the graph. The extended {DeadCodeElimination} > > prunes {DeadValue} and its uses, inserting a crashing {Unreachable} node into > > the effect chain when possible. The remaining uses of {DeadValue} are handled > > in {EffectControlLinearizer}, where we always have access to the effect chain. > > In addition to explicitly introduced {DeadValue} nodes, we consider any value use > > of a node with type {None} as dead. > > > > Bug: chromium:741225 > > Change-Id: Icc4b636d1d018c452ba1a2fa7cd3e00e522f1655 > > Reviewed-on: https://chromium-review.googlesource.com/641250 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#48208} > > Bug: chromium:741225 > Change-Id: I21316913dae02864f7a6d7c9269405a79f054138 > Reviewed-on: https://chromium-review.googlesource.com/692034 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48232} Bug: chromium:741225 Change-Id: I5702ec34856c075717162153adc765774453c45f Reviewed-on: https://chromium-review.googlesource.com/702264Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#48366}
-
Benedikt Meurer authored
The escape analysis is able to perform scalar replacement on JSArrays with in-object properties (which currently only happens for subclasses of the Array constructor), but the Deoptimizer didn't properly materialized and initialized the values of the in-object fields so far. Bug: chromium:772689, v8:6399 Change-Id: I6555a46773d2a1543db069142aa05f4337566b9c Reviewed-on: https://chromium-review.googlesource.com/706781Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48365}
-
Benedikt Meurer authored
Bug: chromium:772672, v8:6399 Change-Id: Ib44f5c5c2a62a8ec2cd824ba57a1af8f456853af Reviewed-on: https://chromium-review.googlesource.com/706782 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#48364}
-
Benedikt Meurer authored
Change-Id: I22bf46718ef14450bf5c18948f70f1b9b58ae949 Reviewed-on: https://chromium-review.googlesource.com/706791Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48363}
-
Daniel Clifford authored
These will be used in subsequent CLs to add spec-compliant builtins on Array.prototype built with the CSA. Change-Id: I4c9f72f90dffe018b99efdc73e9d40b3d175c2aa Reviewed-on: https://chromium-review.googlesource.com/704115Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#48362}
-
Benedikt Meurer authored
This adds a new operator LookupSigned32HashStorageIndex, which is a specialization of the general LookupHashStorageIndex for Map#get that is used when TurboFan knows that the key is in Signed32 range. This improves the execution time of the ARES6 Basic test locally by around 5% and seems to make sense in general. Bug: v8:6410, v8:6354, v8:6278, v8:6344 Change-Id: I78dcbc9cc855a4109e1690d8cd14fbc88fd89861 Reviewed-on: https://chromium-review.googlesource.com/706787Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48361}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/58ec823..adaf9e5 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/0564bf2..a48a6af TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I63acc1dd6eadf94a84a72c45bb1216d92dc0874d Reviewed-on: https://chromium-review.googlesource.com/706921Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#48360}
-
Jan Krems authored
Rewrites import.meta expressions into null literals. Builds on top of- and requires dynamic import parsing to simplify the implementation. Adds a new --harmony-import-meta flag. BUG=v8:6693 Change-Id: Iadb7ddf6bad8986bf3ad641dbd3826fe730b5f44 Reviewed-on: https://chromium-review.googlesource.com/702678 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#48359}
-
- 08 Oct, 2017 1 commit
-
-
v8-autoroll authored
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/dbe4475..0564bf2 TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I937456820429b30e50222fc4d5e15784894f8abd Reviewed-on: https://chromium-review.googlesource.com/706822Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#48358}
-
- 07 Oct, 2017 2 commits
-
-
Alexey Kozyatinskiy authored
Use case: anonymous script with sourceMappingUrl. User can set breakpoint in source with sourceUrl from sourceMap, we persist this breakpoint in DevTools and on page reload breakpoint should be restored correctly. Debugger.setBreakpointByUrl method provides capabilities to set provisional breakpoints and looks like best candidate for new "scriptHash" argument. I considered other options such as replacing scriptId with something more persistent like "script-hash:script-with-this-hash-number" but it looks more complicated and doesn't provide clear advantages. One pager: http://bit.ly/2wkRHnt R=pfeldman@chromium.org Bug: chromium:459499 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I0e2833fceffe6b04afac01d1a4522d6874b6067a Reviewed-on: https://chromium-review.googlesource.com/683597 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#48357}
-
v8-autoroll authored
Rolling v8/base/trace_event/common: https://chromium.googlesource.com/chromium/src/base/trace_event/common/+log/65d1d42..abcc415 Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/7311b74..58ec823 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/672cabd..dbe4475 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/66be66d..b3169f9 TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I3c89ada442f532238f43eb0efa544b99005d3162 Reviewed-on: https://chromium-review.googlesource.com/706655Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#48356}
-
- 06 Oct, 2017 7 commits
-
-
Alexey Kozyatinskiy authored
This split is required for adding scriptHash argument. R=dgozman@chromium.org TBR=machenbach@chromium.org Bug: chromium:459499 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I0266cd22be4053829af47ba445e0ddfb6b726e71 Reviewed-on: https://chromium-review.googlesource.com/703863 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#48355}
-
Aseem Garg authored
BUG=chromium:770618 R=kschimpf@chromium.org,bradnelson@chromium.org,isherman@chromium.org Change-Id: I33400fb277fff1e92a38753084c518f002685407 Reviewed-on: https://chromium-review.googlesource.com/704228 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#48354}
-
Aseem Garg authored
BUG=chromium:770618 R=kschimpf@chromium.org,bradnelson@chromium.org,isherman@chromium.org Change-Id: I953c9e7b58de0ca9ac05a9f5f64f139fcf7dd1a7 Reviewed-on: https://chromium-review.googlesource.com/703890Reviewed-by: Aseem Garg <aseemgarg@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Commit-Queue: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#48353}
-
Benedikt Meurer authored
Further optimize the new Array(n) expressions by also inlining the backing store allocation into TurboFan optimized code. Currently these backing store allocations cannot be eliminated by escape analysis and can also not be optimized further by the memory optimizer (i.e. no allocation folding and not write barrier elimination) yet, but this can be done in follow-up CLs. This yields another ~5% improvement on the ARES6 ML benchmark (steady state). Drive-by-fix: Add support for loops to the GraphAssembler. This was necessary to implement the initialization loops in for the backing store allocations in the EffectControlLinearizer. Bug: v8:6399, v8:6901 Change-Id: I759d6802db01eb797e78c7d82d82caaee3463e16 Reviewed-on: https://chromium-review.googlesource.com/705934Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48352}
-
Jakob Kummerow authored
The twodigit_t code path emitted a library call rather than a hardware "div" instruction. This is because compilers are playing it safe: "div" can overflow when the divisor is too small. Our algorithm carefully avoids this though, so using the hardware "div" instruction is safe. This speeds up a microbenchmark by almost 50%. Bug: v8:6791 Change-Id: I35a73f8acdaca24f18327fbdaf7f53c4fd450c40 Reviewed-on: https://chromium-review.googlesource.com/686002Reviewed-by: Ben Smith <binji@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48351}
-
Eric Holk authored
The typical pattern for using BuildCCall was to create a stack-allocated array of arguments, which was passed to BuildCCall. BuildCCall then would allocate scratch space using WasmGraphBuilder::Buffer and copy the arguments into the scratch space. This copy is unnecessary and also the use of Buffer can lead to silently overwriting scratch space that may be used higher up the stack. Now BuildCCall takes all of the functions parameters as arguments and stores this directly in a stack-allocated buffer, avoiding the use of Buffer at all and all its associated pitfalls. Change-Id: Ia0de9a90350d7fcbbb1b05d28e735d790a5f9143 Reviewed-on: https://chromium-review.googlesource.com/701638Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48350}
-
Ulan Degenbaev authored
This reverts commit f3c8da56. Reason for revert: GC stress failures https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/15396 Original change's description: > [heap] Use weak cell in normalized map cache. > > This replaces ad-hoc weakness in normalized map cache with weak cell. > > Bug: chromium:694255 > Change-Id: I6a12301b2176fe3723b56178a65582cfb412f7d2 > Reviewed-on: https://chromium-review.googlesource.com/704834 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48344} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: I0b2d39a1dcff6416998ab36506ee950220c87e89 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:694255 Reviewed-on: https://chromium-review.googlesource.com/705194Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48349}
-