- 25 Oct, 2017 2 commits
-
-
Jaroslav Sevcik authored
I am not committing the regression test from the bug because it takes ages to run, but I have locally verified that it passes now. Bug: chromium:776645 Change-Id: Ia7128d9fa3cf864b1c1b646802a973fe41d4c4ae Reviewed-on: https://chromium-review.googlesource.com/735484Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48893}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/f2dd2d1..2647b49 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/22e74eb..e2235db Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/2a5ee2c..fb9e0ad TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I3081ed8d8e779c661f7d59a5ee0fd3ce6eaf3371 Reviewed-on: https://chromium-review.googlesource.com/737252Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#48892}
-
- 24 Oct, 2017 38 commits
-
-
Camillo Bruni authored
This CL makes --trace-maps available in the default build by disabling certain expensive/intrusive features. This is an intermediate step to be able to write proper tests for --trace-maps and the new map-processor. Change-Id: Ib6a8fc9c77796c106d3af9d741d48abe6c6b9099 Reviewed-on: https://chromium-review.googlesource.com/734648Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#48891}
-
Camillo Bruni authored
Bug: v8:6921 Change-Id: Icbbb7c08b9ff9f20339988770d88d96653a9ddef Reviewed-on: https://chromium-review.googlesource.com/718656 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48890}
-
Mircea Trofin authored
It appears in the cctest context, both the old STUB, and the current WASM_FUNCTION "just work"; however, in the upcoming off-the-gc wasm world, we codegen call sites differently on x64 - far calls for js-to-wasm (this case), and near calls otherwise. Bug: Change-Id: Iebf8acf164f07742fc367b7bbf266913dbc60c46 Reviewed-on: https://chromium-review.googlesource.com/735131Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48889}
-
Camillo Bruni authored
- Remove Log::MessageBuilder::AppendAddress - Remove Log::MessageBuilder::Append(String*) - Fix pointer (void*) formatting Change-Id: I806892cbc77b635d1e03b5d7282569be2f714356 Reviewed-on: https://chromium-review.googlesource.com/734483 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#48888}
-
Clemens Hammacher authored
Before, the standard way to create a RegList was either: RegList list = (1 << 0) | (1 << 1) | ... or RegList list = rax.bit() | rdx.bit() | ... The first way allows to make the RegList constexpr, but needs comments to document which registers you are referring to, and it has no checks that all bits you set on the RegList actually belong to valid registers. The second one uses the symbolic names, hence is much more readable and makes it harder to construct invalid RegLists. It's not constexpr though, since the {bit()} method on the register types is not constexpr. This CL adds a constexpr accessor to get the code and bit of a constexpr Register, and adds a helper method to create a constexpr RegList like this: constexpr RegList list = Register::ListOf<rax, rdx, rdi>(); This new method is used in a number of places to test its applicability. Other uses of the old pattern remain and can be cleaned up later. R=tebbi@chromium.org Change-Id: Ie7b1d6342dc5f316dcfedd0363b3540ad5e7f413 Reviewed-on: https://chromium-review.googlesource.com/728026 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#48887}
-
Michal Majewski authored
Bug: v8:6972 Change-Id: I9e341f980ca392920e0789121707e25916981265 Reviewed-on: https://chromium-review.googlesource.com/730383Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#48886}
-
Michael Lippautz authored
Similar to the incremental marker, rename the MarkingState to MajorMarkingState and avoid using atomics on live byte count as the concurrent tasks cache its value. CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux64_tsan_rel;master.tryserver.v8:v8_linux64_tsan_concurrent_marking_rel_ng;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Bug: chromium:750084 Change-Id: Id37bb89385d4fbae95542073ea652617e61010d5 Reviewed-on: https://chromium-review.googlesource.com/735399 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48885}
-
Adam Klein authored
This removes all but one caller of Literal::raw_value(), thus hiding AstValue from the rest of the codebase. This is in preparation to move much of AstValue's implementation up into Literal itself, thus avoiding the overhead of the underling ZoneObjects and allowing us to remove complexity such as the cache of Smi-valued AstValues. Bug: v8:6984 Change-Id: I1b90aa64b9d26db36ef486afe73cda4473ef866e Reviewed-on: https://chromium-review.googlesource.com/731109Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48884}
-
Adam Klein authored
Only rewind destructuring assignments if we actually preparsed the arrow function. For the case of single-expression bodies, we don't preparse, but we were previously erroneously rewinding. Bug: v8:6970 Change-Id: I38e15a8a5bdb05abee3bafe7bbd7736b55a6950b Reviewed-on: https://chromium-review.googlesource.com/733950Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48883}
-
Sergiy Byelozyorov authored
R=machenbach@chromium.org Bug: chromium:777345 Change-Id: Icedf8645c12a757ac753198034d24e0ca88eb7e3 Reviewed-on: https://chromium-review.googlesource.com/735721 Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48882}
-
Ross McIlroy authored
This is to enable it to also be used for reporting AsmJS errors such that this can be moved off-thread. BUG=v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ia46040b14d010702f10c02b8254aea84cba4d54d Reviewed-on: https://chromium-review.googlesource.com/735606 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#48881}
-
Michael Achenbach authored
NOTRY=true Bug: chromium:777285 Change-Id: I89a0da2d524a84efdcdcb3df45bef11703340cde Reviewed-on: https://chromium-review.googlesource.com/735152Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48880}
-
Michael Achenbach authored
This reverts commit d75ecf13. Reason for revert: outage over Original change's description: > [CQ] Temporarily exclude broken bot from CQ > > Bug: chromium:777825 > Change-Id: I1501dba072e1f3448c3464be0ee69aa8b0de305a > Reviewed-on: https://chromium-review.googlesource.com/735605 > Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48870} TBR=machenbach@chromium.org,sergiyb@chromium.org Change-Id: I6ec8d9452aa669be2fd28026fe1e3144c54d5550 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:777825 Reviewed-on: https://chromium-review.googlesource.com/735420Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48879}
-
Tobias Tebbi authored
Bug: Change-Id: I4ffc052bb9f4599c91f0ad6a5ed41ac622c911d1 Reviewed-on: https://chromium-review.googlesource.com/735439Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#48878}
-
Michael Starzinger authored
This moves bits that are accessed during a stack-walk out if the first kind-specific flags field. Such bits are accessed during evacuation within the GC and hence need to remain directly in the {Code} object, the other bits in the kind-specific flags are mutable and hence will be moved into a separate data container object. R=jarin@chromium.org BUG=v8:6792 Change-Id: I20b7d307110ca0c0eb6dd4df31a35fab4701c6da Reviewed-on: https://chromium-review.googlesource.com/735145Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48877}
-
Clemens Hammacher authored
Our first implementation passed the source position as argument to the runtime function, which would then generate an Error object, patch the contained stack trace to point to the position given as argument, and then throw the Error. Since all our paths are now changed to call a builtin with proper source position information, we do not need to patch anything any more. R=ahaas@chromium.org Bug: v8:5007 Change-Id: I70dce1b9fcf9966a13865c1c373f3e354908b009 Reviewed-on: https://chromium-review.googlesource.com/732117Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48876}
-
Georgia Kouveli authored
Bug: v8:6644 Change-Id: I63632016bfba83ba3c374fc1d61b1e3cc80d36de Reviewed-on: https://chromium-review.googlesource.com/727805 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48875}
-
Sergiy Byelozyorov authored
R=machenbach@chromium.org Bug: chromium:777345 Change-Id: I26e4b3e05d84bf5310178aeb5083118567534979 Reviewed-on: https://chromium-review.googlesource.com/735482Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#48874}
-
Georg Neis authored
... mainly by adapting Object::Compare and CodeStubAssembler::RelationalComparison. TBR=rmcilroy@chromium.org Change-Id: I34448d45b4950b9318263c4a667aa9db7d77232d Bug: v8:6791 Reviewed-on: https://chromium-review.googlesource.com/730730 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48873}
-
Mostyn Bramley-Moore authored
Fixup after https://chromium-review.googlesource.com/716480 Bug: v8:6600 Change-Id: I0e1b494c6263f21f772ce55d8fc723a66b41b07c Reviewed-on: https://chromium-review.googlesource.com/734041Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com> Cr-Commit-Position: refs/heads/master@{#48872}
-
Andreas Rossberg authored
This adds support for parameters on block, loop, if, cf the multi-value proposal at: https://github.com/WebAssembly/multi-value/blob/master/proposals/multi-value/Overview.md With this CL, we ssucceed on all tests in: https://github.com/WebAssembly/multi-value/pull/2 except those involving multiple returns from functions. R=titzer@chromium.org Change-Id: I14a33e86450148f6aed2b8b8cc6bebb2303625c6 Reviewed-on: https://chromium-review.googlesource.com/712578 Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48871}
-
Michael Achenbach authored
Bug: chromium:777825 Change-Id: I1501dba072e1f3448c3464be0ee69aa8b0de305a Reviewed-on: https://chromium-review.googlesource.com/735605Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#48870}
-
Michael Achenbach authored
This reverts commit a24c7c9a. Reason for revert: Breaks some users' workflow where --arch and --mode are used to determine the build path. Original change's description: > Reuse arch/mode discovery in deopt fuzzer > > Bug: v8:6917 > Change-Id: I1b7169c8702c8649812b17579d38d64de676ed60 > Reviewed-on: https://chromium-review.googlesource.com/723420 > Commit-Queue: Michał Majewski <majeski@google.com> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48838} TBR=machenbach@chromium.org,majeski@google.com Change-Id: If1f6e67eee17f11ec7547943ce084d18242f6875 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6917 Reviewed-on: https://chromium-review.googlesource.com/735442Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48869}
-
Michael Achenbach authored
This reverts commit f681e530. Reason for revert: Need to revert: https://chromium-review.googlesource.com/c/v8/v8/+/723420 Original change's description: > Deprecated option --shell removed > > Bug: v8:6917 > Change-Id: I4262bc98019a3af0fc2bad7ef12b29ba5d4ea5ea > Reviewed-on: https://chromium-review.googlesource.com/734241 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michał Majewski <majeski@google.com> > Cr-Commit-Position: refs/heads/master@{#48855} TBR=machenbach@chromium.org,majeski@google.com Change-Id: I8a0065883d41f5011934cdf04263e76801f1910e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6917 Reviewed-on: https://chromium-review.googlesource.com/735150Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48868}
-
Peter Marshall authored
This speeds up insertion and removal by reducing the time taken to hash. Bug: v8:6992 Change-Id: I4e9e1c97a5503bf5a09c2428980a3c2d6bf4051e Reviewed-on: https://chromium-review.googlesource.com/735419Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#48867}
-
Jaroslav Sevcik authored
Bug: v8:6986 Change-Id: I2fd6a7d2dfc229792c734e24eba4b797f19d8ca3 Reviewed-on: https://chromium-review.googlesource.com/734240Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48866}
-
Benedikt Meurer authored
When lowering a monomorphic load/store, where multiple receiver maps have been recorded, but the action to be performed is the same (i.e. yielding undefined because the property is not found), TurboFan used to ignore the Smi case, leading to a pretty terrible deoptimization loop, as the LOAD_IC/STORE_IC properly recorded that state and thus didn't change it's state. Fixing this issue gives a 18-20% boost on the prettier test of the web-tooling-benchmark, which was suffering a lot from this problem. Bug: v8:6936, v8:6991 Change-Id: Id208ec7129a7f6b190d989bda31f936040393226 Reviewed-on: https://chromium-review.googlesource.com/735342Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48865}
-
Georg Neis authored
R=jkummerow@chromium.org Bug: v8:6791 Change-Id: I2e9876577103d72cd5e2412e958b4bd832373899 Reviewed-on: https://chromium-review.googlesource.com/733132 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48864}
-
Georg Neis authored
Bug: v8:6791 Change-Id: Ieb53b68e062e94e2d98a65db7b8bc6f61708b05f Reviewed-on: https://chromium-review.googlesource.com/733098 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48863}
-
Daniel Clifford authored
Change-Id: I8f2dc21534562810e129f3830945bf68a181691f Reviewed-on: https://chromium-review.googlesource.com/735379 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48862}
-
Mike Stanton authored
Ensure that effect outputs from nodes are used if they have an effect output. This helps us avoid an easy-to-make error where we fail to update the effect chain with the result of effectful operations. Bug: v8:6929 Change-Id: I585dc627b3c330006ec04717ff9b2f5060dbad6a Reviewed-on: https://chromium-review.googlesource.com/718107 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#48861}
-
Tobias Tebbi authored
Bug: chromium:777101 Change-Id: I29260420a855a060348f26138681a842bb31eb20 Reviewed-on: https://chromium-review.googlesource.com/732900 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48860}
-
Michael Lippautz authored
Avoid locking the pages for the scavenger by filtering out pages that require sweeping and scavenging from the sweeper. This way we preserve the assumption that processing slots on a page is sequential. Pages that have been scavenged are re-added to the sweeper to allow them to be reused for allocation. CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux64_tsan_rel;master.tryserver.v8:v8_linux64_tsan_concurrent_marking_rel_ng;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Bug: v8:6923 Change-Id: I7d159de11792ef16a534f29e31791d06d7fb5221 Reviewed-on: https://chromium-review.googlesource.com/730603 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48859}
-
Benedikt Meurer authored
Once the KeyedStoreIC was in MEGAMORPHIC state storing to dictionary mode objects, we'd constantly hit the slow-path implemented via the %SetProperty runtime function, if the dictionary was created with a null prototype, i.e. via Object.create(null). This goes against the advice of using Object.create(null) for dictionaries (compared to using empty object literal), which is unfortunate. This CL addresses two issues, starting with - adding support for null prototypes to LookupPropertyOnPrototypeChain, which was always hitting the slow path for null prototypes, and - using the dedicated %AddDictionaryProperty runtime call when we have to grow the backing store. These changes combined improve the micro-benchmark from storeToDictionary: 559 ms. storeToFast: 95 ms. to storeToDictionary: 201 ms. storeToFast: 94 ms. which reduces overhead by about 65%. This overall improves the chai test on the web-tooling-benchmark by about 4%, which still leaves some room for improvement. Bug: v8:6936, v8:6985 Change-Id: I97b78961f51edb3a3e198bdb31457fd78bed947f Reviewed-on: https://chromium-review.googlesource.com/735139Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48858}
-
Michael Lippautz authored
Bug: Change-Id: Ib3a27251bd8b02780033302364a0ed63613e1998 Reviewed-on: https://chromium-review.googlesource.com/735142Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48857}
-
Georg Neis authored
R=jkummerow@chromium.org Bug: v8:6791 Change-Id: Ia46694ef236abd2fa037491a017eb825aa25162a Reviewed-on: https://chromium-review.googlesource.com/732981Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#48856}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I4262bc98019a3af0fc2bad7ef12b29ba5d4ea5ea Reviewed-on: https://chromium-review.googlesource.com/734241Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#48855}
-
Benedikt Meurer authored
The (KEYED_)LOAD/STORE_ICs didn't properly leave the UNINITIALIZED as long as the receiver was always null/undefined. This leads to deoptimization loops in TurboFan, because the compiler always put in a SOFT deoptimization at this point. Bug: v8:6989 Change-Id: I1a32bfb722f121f8b593e8972e657290d7b0531d Reviewed-on: https://chromium-review.googlesource.com/735319Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48854}
-