1. 19 Apr, 2018 13 commits
    • Stephan Herhut's avatar
      Fix setting breakpoints in wasm · f1d9f4b0
      Stephan Herhut authored
      The handling of wasm breakpoints was prone to forget previously set
      breakpoints when inserting new ones. In particular, adding breakpoints
      in reverse order or adding more than 4 breakpoints would fail.
      
      Change-Id: I94f314e86bdf9b53a4170ce1b6b47339b7cb7848
      Reviewed-on: https://chromium-review.googlesource.com/1019302Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Stephan Herhut <herhut@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52691}
      f1d9f4b0
    • Ulan Degenbaev's avatar
      [test] Make test-api/ScavengeExternal*String non-threaded test. · 7e61eb33
      Ulan Degenbaev authored
      ScavengeExternalString and ScavengeExternalOneByteString clear GC flags,
      which confuses concurrent sweeping that was started from another test.
      
      Tests that mutate flags should not be threaded.
      
      Bug: v8:7671
      Change-Id: I08656d06fe85ff45baca685ebe5982528aad774c
      Reviewed-on: https://chromium-review.googlesource.com/1019102Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52690}
      7e61eb33
    • 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 3 commits