1. 05 Sep, 2018 1 commit
  2. 04 Sep, 2018 30 commits
  3. 03 Sep, 2018 9 commits
    • Benedikt Meurer's avatar
      [turbofan] Improve typing of ToNumeric and ToNumber. · b8981122
      Benedikt Meurer authored
      The previous typing rules for ToNumeric and ToNumber didn't match on the
      NonBigIntPrimitive input set, which causes trouble when we morph ToNumeric
      nodes into ToNumber nodes, and generally lead to worse typings in the
      graph, and thus worse code generation. This change improves the existing
      typing rules and turns ToNumber into a chokepoint again.
      
      Bug: chromium:879898, v8:8015
      Change-Id: I4a7ff0e9c420c5dcfdb2b96884e019a5943828a4
      Reviewed-on: https://chromium-review.googlesource.com/1201522Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55595}
      b8981122
    • Yang Guo's avatar
      Revert "inspector: find magic comment using V8 scanner" · 4a96850a
      Yang Guo authored
      This reverts commit 1b3b808a.
      
      Reason for revert: crbug/879988
      
      TBR=kozy@chromium.org
      
      Original change's description:
      > inspector: find magic comment using V8 scanner
      >
      > Inspector tries to provide sourceURL and sourceMappingURL for scripts
      > with parser errors. Without this CL we convert source of each script
      > to inspector string and search for magic comment there. Some web sites
      > use pattern when they get some data from network and constantly try to
      > parse this data as JSON, in this case we do a lot of useless work.
      >
      > So we can parse magic comments on V8 side only for compilation errors
      > (excluding parse JSON errors), to do it we can reuse scanner by running
      > it on each potential comment.
      >
      > R=​alph@chromium.org,verwaest@chromium.org,yangguo@chromium.org
      >
      > Bug: chromium:873865,v8:7731
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: I77c270fd0e95cd7b2c9ee4b7f72ef344bc1fa104
      > Reviewed-on: https://chromium-review.googlesource.com/1182446
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Alexei Filippov <alph@chromium.org>
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55280}
      
      TBR=alph@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,verwaest@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:873865, v8:7731, chromium:879988
      Change-Id: Ia7ac766e19f9b58562d9430811f10b25c4556a46
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/1202583
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55594}
      4a96850a
    • Ross McIlroy's avatar
      [RCS] Fix %GetAndResetRuntimeCallStats for worker thread RCS tables. · 55b59e30
      Ross McIlroy authored
      Change-Id: Ifbe9ac0dc49b9826fb7ea2e81ce8e44401c3dc20
      Reviewed-on: https://chromium-review.googlesource.com/1200002Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55593}
      55b59e30
    • Yang Guo's avatar
      Revert "[scanner] Inlining ScanIdentifier and Token check" · 29e1d399
      Yang Guo authored
      This reverts commit 5bbd1921.
      
      Reason for revert: Tentative revert for crbug.com/879988
      
      TBR=sattlerf@chromium.org,verwaest@chromium.org
      
      Original change's description:
      > [scanner] Inlining ScanIdentifier and Token check
      >
      > This improves parse time for code-load and other benchmarks.
      >
      > Bug: v8:7926
      > Change-Id: I9c8017f2e7f73dd952c025db5abe8e4062e6ef9b
      > Reviewed-on: https://chromium-review.googlesource.com/1196506
      > Commit-Queue: Florian Sattler <sattlerf@google.com>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55521}
      
      TBR=marja@chromium.org,verwaest@chromium.org,sattlerf@google.com
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:7926, chromium:879988
      Change-Id: Ic71d9cf63b69c0f9560851259f434b02cc082417
      Reviewed-on: https://chromium-review.googlesource.com/1202086
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55592}
      29e1d399
    • Nico Weber's avatar
      stop depsing in gyp · ab1ddf2b
      Nico Weber authored
      made possible by https://chromium-review.googlesource.com/c/chromium/src/+/1063611
      
      Bug: chromium:826218
      Change-Id: Id3123de5705c91beb0a5eb87ca4490fe55a7de01
      Reviewed-on: https://chromium-review.googlesource.com/1201002Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Nico Weber <thakis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55591}
      ab1ddf2b
    • jgruber's avatar
      Ensure kRootRegister is unused in interface descriptors · 5b992f53
      jgruber authored
      Now that we've removed kRootRegister from all ia32 interface
      descriptors, let's make sure it does not sneak back in.
      
      Bug: v8:6666
      Change-Id: Ie3528908a142c36f106b0053041ed974216533d4
      Reviewed-on: https://chromium-review.googlesource.com/1202083
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55590}
      5b992f53
    • Bogdan Lazarescu's avatar
      [Liftoff] Fix registers constants declaration. · 948c4b30
      Bogdan Lazarescu authored
      Change-Id: Ie18b39ab50d592c81de6dd2aa2d246191f758b5e
      Reviewed-on: https://chromium-review.googlesource.com/1179670
      Commit-Queue: Bogdan Lazarescu <bogdan.lazarescu@arm.com>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55589}
      948c4b30
    • jgruber's avatar
      [builtins] Reduce register pressure in RecordWrite · 233eeade
      jgruber authored
      Just a minor refactoring that loads parameters just prior to their
      uses to reduce register spills and restores. CSA is not smart enough
      to do this on its own.
      
      Bug: v8:6666
      Change-Id: I6d01abc35b333b2b0d99fa86daaa6ecb6afcf6c0
      Reviewed-on: https://chromium-review.googlesource.com/1201883
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55588}
      233eeade
    • jgruber's avatar
      Remove isolate parameter from RecordWrite builtin · 62766423
      jgruber authored
      The isolate can be efficiently loaded through other means: either as a
      root-relative load (if embedded builtins are enabled), or as an embedded
      external reference (i.e. the absolute pointer is included in the
      instruction stream) otherwise.
      
      The generated code should be at least as fast as previously. On x64
      (with embedded builtins):
      
      Before:
       // Register moves in prologue:
       0x7f47a6b4860a     a  488955e0       REX.W movq [rbp-0x20],rdx
       // And the load from a stack slot at each use-site.
       0x7f47a6b486f2    f2  488b7de0       REX.W movq rdi,[rbp-0x20]
      
      After:
       // Each use-site just loads a root-relative offset.
       0x7f1645fcc6ce    ee  498dbd38ffffff REX.W leaq rdi,[r13-0xc8]
      
      On ia32 (no embedded builtins), before:
       0x5c608930    10  8955f0         mov [ebp-0x10],edx
       0x5c6089fb    db  891424         mov [esp],edx
      
      After:
       0x41d0898d    8d  b80033b156     mov eax,0x56b13300
      
      Removal reduces register pressure, and frees up ebx as the root register
      on ia32.
      
      Note that the set of allocatable registers was only reduced on ia32 to
      exclude the root register.
      
      Bug: v8:6666
      Change-Id: I14e401e2823c82042c76acae10c3c935b9982993
      Reviewed-on: https://chromium-review.googlesource.com/1201586
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55587}
      62766423