1. 19 Apr, 2018 11 commits
    • Dan Elphick's avatar
      Reland "Reland "[heap] Move initial objects into RO_SPACE"" · 9ab6621a
      Dan Elphick authored
      This is a reland of 6c68efac
      
      Updated Heap::CommittedMemory and related functions to iterate over all
      spaces rather than including them manually which can lead to a space
      being overlooked. Also adds a test to ensure this the case.
      
      Original change's description:
      > Revert "Reland "[heap] Move initial objects into RO_SPACE""
      >
      > This reverts commit 6c68efac.
      >
      > Reason for revert: https://bugs.chromium.org/p/v8/issues/detail?id=7668
      >
      > Original change's description:
      > > Reland "[heap] Move initial objects into RO_SPACE"
      > >
      > > This is a reland of f8ae62fe
      > >
      > > Original change's description:
      > > > [heap] Move initial objects into RO_SPACE
      > > >
      > > > This moves:
      > > > * the main oddballs (null, undefined, hole, true, false) as well as
      > > > their supporting maps (also adds hole as an internalized string to make
      > > > this work).
      > > > * most of the internalized strings
      > > > * the struct maps
      > > > * empty array
      > > > * empty enum cache
      > > > * the contents of the initial string table
      > > > * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the
      > > > value avoid writing to it during run-time)
      > > >
      > > > The StartupSerializer stats change as follows:
      > > >
      > > >      RO_SPACE  NEW_SPACE  OLD_SPACE  CODE_SPACE  MAP_SPACE  LO_SPACE
      > > > old         0          0     270264       32608      12144         0
      > > > new     21776          0     253168       32608       8184         0
      > > > Overall memory usage has increased by 720 bytes due to the eager
      > > > initialization of the Map weak cell caches.
      > > >
      > > > Also extends --serialization-statistics to print out separate instance
      > > > type stats for objects in RO_SPACE as shown here:
      > > >
      > > >   Read Only Instance types (count and bytes):
      > > >        404      16736  ONE_BYTE_INTERNALIZED_STRING_TYPE
      > > >          2         32  HEAP_NUMBER_TYPE
      > > >          5        240  ODDBALL_TYPE
      > > >         45       3960  MAP_TYPE
      > > >          1         16  BYTE_ARRAY_TYPE
      > > >          1         24  TUPLE2_TYPE
      > > >          1         16  FIXED_ARRAY_TYPE
      > > >          1         32  DESCRIPTOR_ARRAY_TYPE
      > > >         45        720  WEAK_CELL_TYPE
      > > >
      > > > Bug: v8:7464
      > > > Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6
      > > > Reviewed-on: https://chromium-review.googlesource.com/973722
      > > > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > > > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#52435}
      > >
      > > Bug: v8:7464
      > > Change-Id: I50427edfeb53ca80ec4cf46566368fb2213ccf7b
      > > Reviewed-on: https://chromium-review.googlesource.com/999654
      > > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#52638}
      >
      > TBR=rmcilroy@chromium.org,yangguo@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,delphick@chromium.org
      >
      > # Not skipping CQ checks because original CL landed > 1 day ago.
      >
      > Bug: v8:7464,v8:7668
      > Change-Id: I10aa03623b51e997f95a3715ea9f0bf5d29d2cdb
      > Reviewed-on: https://chromium-review.googlesource.com/1016600
      > Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52667}
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: If4b7490c8c4d31612de8ec132de334955a319b11
      Bug: v8:7464, v8:7668
      Reviewed-on: https://chromium-review.googlesource.com/1019020Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52689}
      9ab6621a
    • Daniel Clifford's avatar
      Visit label blocks in try statements during declaration · b730f5eb
      Daniel Clifford authored
      This problem was discovered by mvstanton@'s forEach Torque patch. In the absense
      of test coverage for Torque, his patch will serve as the regression test case
      for this bug when it lands.
      
      Change-Id: Ic77446a8e46168928da221e6eb18753dd6478c87
      Reviewed-on: https://chromium-review.googlesource.com/1018763Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52688}
      b730f5eb
    • jing.bao's avatar
      [ia32][wasm] Add AnyTrue and AllTrue. · 87d88954
      jing.bao authored
      Complete ptest and add vptest
      Add Pcmpeqb, Pcmpeqw, Ptest macro
      
      Change-Id: I060aa5228d50f2dca7ed3e24324a08c04ec1a028
      Reviewed-on: https://chromium-review.googlesource.com/1013236Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Jing Bao <jing.bao@intel.com>
      Cr-Commit-Position: refs/heads/master@{#52687}
      87d88954
    • Simon Zünd's avatar
      [torque] Add DashifyString function for module names. · a0d4005c
      Simon Zünd authored
      Module names in torque are allowed to have underscores but not dashes.
      To stay consistent with C++ file naming conventions, the underscores
      in module names are replaced by dashes for file names.
      
      Example:
      
      module typed_array {} would now generate:
      builtins-typed-array-from-dsl-gen.(cc|h)
      
      instead of:
      builtins-typed_array-from-dsl-gen.(cc|h)
      
      R=danno@chromium.org
      
      Change-Id: Iff42d7b9b5f65c378ee30f9d884ab6a3a3cd42a7
      Reviewed-on: https://chromium-review.googlesource.com/1016460Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52686}
      a0d4005c
    • Simon Zünd's avatar
      Gracefully fail BigInt TypedArray.p.sort benchmarks. · 29b65c39
      Simon Zünd authored
      'ref' builds might not yet have BigInt support. Instead of crashing
      when the benchmark file is loaded, the benchmark now fails during
      setup.
      
      R=jgruber@chromium.org
      
      Bug: chromium:834654
      Change-Id: I2c03aeba4b6af947061504c369b5228d7b344307
      Reviewed-on: https://chromium-review.googlesource.com/1019100
      Commit-Queue: Simon Zünd <szuend@google.com>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52685}
      29b65c39
    • Clemens Hammacher's avatar
      [wasm] Tear apart the WasmCompilationUnit · 0da7ec58
      Clemens Hammacher authored
      This refactoring is a big step towards separating Turbofan-related code
      from backend independent code. This will allow us to include way less
      headers from "src/compiler" at various places.
      
      The {WasmCompilationUnit} contained information for Turbofan
      compilation, and for Liftoff compilation. This CL tears this apart, such
      that {WasmCompilationUnit} holds backend-independent information, plus
      a pointer to either {LiftoffCompilationUnit} or
      {TurbofanWasmCompilationUnit}. These pointers are opaque, so that
      {function-compiler.h}, defining {WasmCompilationUnit}, does not need to
      include any Turbofan specific or Liftoff specific headers.
      
      R=ahaas@chromium.org, titzer@chromium.org, mstarzinger@chromium.org
      
      Bug: v8:7570, v8:6600
      Change-Id: I024c9a23508ee1b4b3cbe1d068c8e785d732daca
      Reviewed-on: https://chromium-review.googlesource.com/1016640
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52684}
      0da7ec58
    • sreten.kovacevic's avatar
      [mipsr6] Implement functions for FPU conditional move · a0c59cbf
      sreten.kovacevic authored
      Since movf and movt instructions were removed in r6, sel_s and
      sel_d instructions need to be used instead with some preparations.
      
      Change-Id: Ia6a2fda7d3d79ada1ae1ec4649793efd2466f79b
      Reviewed-on: https://chromium-review.googlesource.com/1016910Reviewed-by: 's avatarIvica Bogosavljevic <ivica.bogosavljevic@mips.com>
      Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com>
      Cr-Commit-Position: refs/heads/master@{#52683}
      a0c59cbf
    • Marja Hölttä's avatar
      Revert "[heap] Verify FeedbackVector contents during heap verification." · 9da5e9ab
      Marja Hölttä authored
      This reverts commit 9d0154d6.
      
      Reason for revert: gc stress breakage, prob this commit is broken.
      
      Original change's description:
      > [heap] Verify FeedbackVector contents during heap verification.
      > 
      > Pre-work for in-place weak refs.
      > 
      > BUG=v8:7308
      > 
      > Change-Id: I5c7086bded14879f62ab366d0aba59302f0078d3
      > Reviewed-on: https://chromium-review.googlesource.com/1010069
      > Commit-Queue: Marja Hölttä <marja@chromium.org>
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52681}
      
      TBR=marja@chromium.org,yangguo@chromium.org,mvstanton@chromium.org,ishell@chromium.org
      
      Change-Id: I7d95e375e06db186f0e9823cb080ce15d1e1062d
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7308
      Reviewed-on: https://chromium-review.googlesource.com/1019180Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52682}
      9da5e9ab
    • Marja Hölttä's avatar
      [heap] Verify FeedbackVector contents during heap verification. · 9d0154d6
      Marja Hölttä authored
      Pre-work for in-place weak refs.
      
      BUG=v8:7308
      
      Change-Id: I5c7086bded14879f62ab366d0aba59302f0078d3
      Reviewed-on: https://chromium-review.googlesource.com/1010069
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52681}
      9d0154d6
    • Sigurd Schneider's avatar
      [turbofan] Move Object.create inlining to JSCallReducer · 30599649
      Sigurd Schneider authored
      This also adds a javascript operator JSCreateObject and an
      associated TFS stub that handles Object.create in cases
      where only a prototype, but no additional properties are
      provided.
      
      Bug: v8:7250
      Change-Id: Ib1fd529a10a553c3718222356319bd6ccffbdf30
      Reviewed-on: https://chromium-review.googlesource.com/1013576
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52680}
      30599649
    • Michael Achenbach's avatar
      Revert "[compiler] Temporarily turn some DCHECKs into CHECKs." · 0cb1ee7f
      Michael Achenbach authored
      This reverts commit f52b4b3b.
      
      Reason for revert: Makes benchmarks time out:
      https://crbug.com/834655
      
      Original change's description:
      > [compiler] Temporarily turn some DCHECKs into CHECKs.
      > 
      > This turns most DCHECKs in the register allocator code into CHECKs,
      > which hopefully will tell us more about the crashes in crbug 831822.
      > 
      > This CL will eventually be reverted again.
      > 
      > Bug: chromium:831822
      > Change-Id: I123ed507949ecab50bb0aaaf9e91978c9c2d8d65
      > Reviewed-on: https://chromium-review.googlesource.com/1016762
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52673}
      
      TBR=neis@chromium.org,sigurds@chromium.org
      
      Change-Id: Ic2b37a3ce04516c5871b801015153ce84e622e90
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:831822
      Reviewed-on: https://chromium-review.googlesource.com/1018860Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52679}
      0cb1ee7f
  2. 18 Apr, 2018 24 commits
  3. 17 Apr, 2018 5 commits