1. 20 Oct, 2017 25 commits
  2. 19 Oct, 2017 15 commits
    • Jungshik Shin's avatar
      Intl.DateTimeFormat: throw RangeError for non-finite input · 831bc233
      Jungshik Shin authored
      intl.js throws an exception when datetime-value to format is
      Infinity or NaN, but there was a way to thwart the check.
      
      Moreover, intl.js and runtime-intl.cc have unnecessary conversions
      of 'Number->Date->Number'. I removed the unnecessary conversion
      and made 'Number' be passed to %InternalDateFormat.  With this
      streamlining, the work-around mentioned above does not work
      anymore.
      
      Add a check in runtime_intl.cc for Infinity/NaN and throw a
      RangeError.
      
      Add invalid-time test for invalid datetime-values passed to
      Intl.DateTimeFormat.format().
      
      Bug: chromium:774833
      Test: intl/date-format/invalid-time.js
      Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
      Change-Id: Idc575e532a86ee110dc4bb945ae023d6516650ee
      Reviewed-on: https://chromium-review.googlesource.com/724860
      Commit-Queue: Jungshik Shin <jshin@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48765}
      831bc233
    • Daniel Cheng's avatar
      Add a name for the regyp hook · 3e4a720b
      Daniel Cheng authored
      Change-Id: Ia403b1fc379688de5cd7e68fa99c364c1df36c00
      Reviewed-on: https://chromium-review.googlesource.com/728955Reviewed-by: 's avatarBen Smith <binji@chromium.org>
      Commit-Queue: Daniel Cheng <dcheng@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48764}
      3e4a720b
    • Jaroslav Sevcik's avatar
      Revert "[turbofan] Load elimination prunes control flow based on instance type." · 8f09a751
      Jaroslav Sevcik authored
      This reverts commit 71bcc1d9.
      
      Reason for revert: Regresses Octane/Box2D, among other things.
      
      Original change's description:
      > [turbofan] Load elimination prunes control flow based on instance type.
      > 
      > Changes:
      > - introduce the notion of unreachable abstract states.
      > 
      > - reconnect unreachables states to runtime abort in effect phis (so that
      >   the merged states are not polluted by unreachable branches while
      >   preserving SSA).
      > 
      > - mark states with failed map checks, unreachable map guars as unreachable.
      > 
      > - add instance type to AbstractMaps, only invalidate instance type on
      >   mismatched effect merges.
      > 
      > 
      > This results in 2-3% improvement on ARES/ML steady state.
      > 
      > Bug: v8:6396
      > Change-Id: I35b0d4482fa400ba7ee9a754f8ef1b2663ebc7dc
      > Reviewed-on: https://chromium-review.googlesource.com/727761
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48742}
      
      TBR=jarin@chromium.org,bmeurer@chromium.org
      
      Change-Id: I6302b37dbf5ea781c64815ef1900681531ad7d71
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6396
      Reviewed-on: https://chromium-review.googlesource.com/728440Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48763}
      8f09a751
    • Jaroslav Sevcik's avatar
      [turbofan] Check that effect control linearizations have the right value output count. · ff8b937f
      Jaroslav Sevcik authored
      Bug: v8:5267
      Change-Id: Icd56bdf58ed784747a710007ec5b99d9b756cbd7
      Reviewed-on: https://chromium-review.googlesource.com/727887Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48762}
      ff8b937f
    • Alexei Filippov's avatar
      [runtime-call-stats] Temporarily change DCHECK to CHECK in RCS::Enter and LEAVE · d0cf7297
      Alexei Filippov authored
      This is to catch remaining instances or main thread's RCS accessed from other
      threads. It could have a small negative impact on performance with RCS enabled.
      We are going to revert this patch within a week.
      
      BUG=chromium:760649
      
      Change-Id: I437bf7206829c813c0090552c031199840f4baf4
      Reviewed-on: https://chromium-review.googlesource.com/728398Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Alexei Filippov <alph@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48761}
      d0cf7297
    • Adithya Srinivasan's avatar
      Add JSSpecialApiObjectType to fast path · f65251be
      Adithya Srinivasan authored
      HTMLCollection and NodeList have InstanceType
      JS_SPECIAL_API_OBJECT_TYPE, and therefore always run the slow case
      of GetAlignedPropertyFromInternalField. This slows down the performance
      of indexedPropertyGetter for both types, which are very commonly used
      in websites.
      
      Bug: 
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I36bd2cd7d9bbc19149e15174f6868b8a1f1658c8
      Reviewed-on: https://chromium-review.googlesource.com/726529Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48760}
      f65251be
    • Hannes Payer's avatar
      Add a flag to disable all parallel and concurrent GC features. · 789298d8
      Hannes Payer authored
      Bug: 
      Change-Id: If697e92451ce041d0b1cec65277f6501bd770635
      Reviewed-on: https://chromium-review.googlesource.com/727810Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Hannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48759}
      789298d8
    • Michael Lippautz's avatar
      [heap] IncrementalMarking: Avoid using atomcis for live byte count · 9b51519e
      Michael Lippautz authored
      The regression sneaked in when unifying the marking visitors in
      4b42656d. The concurrent marker keeps a
      local live byte count per page so it is safe to rely on non-atomic
      writes from the main thread.
      
      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:775864
      Change-Id: If67d2accd1d7953aa30d815da8bf41b0039ad2dd
      Reviewed-on: https://chromium-review.googlesource.com/728239
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48758}
      9b51519e
    • Ross McIlroy's avatar
      [Cleanup][Interpreter] Move feedback slot allocation to bytecode generator · ed592eb0
      Ross McIlroy authored
      Moves the feedback vector slot allocation out of ast-numbering and into
      bytecode generation directly. This has a couple of benifits, including reduced
      AST size, avoid code duplication and reduced feedback vector sizes in many cases
      due to only allocating slots when needed. Also removes AstProperties since
      this is no longer needed.
      
      AstNumbering is now only used to allocate suspend ids for generators.
      
      BUG=v8:6921
      
      Change-Id: I103e8593c94ef5b2e56c34ef4f77bd6e7d64796f
      Reviewed-on: https://chromium-review.googlesource.com/722959
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48757}
      ed592eb0
    • Clemens Hammacher's avatar
      Reenable readability/check cpplint check · 3d4a9826
      Clemens Hammacher authored
      And fix the last violations which were introduced since the cleanup CLs
      landed.
      
      R=mstarzinger@chromium.org, jgruber@chromium.org
      
      Bug: v8:6837, v8:6921
      Change-Id: I317cce06f1e5c2bcdd57283c9c1b75cbe6415cbb
      Reviewed-on: https://chromium-review.googlesource.com/727885Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48756}
      3d4a9826
    • Daniel Clifford's avatar
      Convert ZoneList to ZoneVector in Module data structures · 26ae9380
      Daniel Clifford authored
      BUG=v8:6333,v8:6921
      R=franzih@chromium.org
      
      Change-Id: I18995282d372069ab576b87cebea4b405aa01c2c
      Reviewed-on: https://chromium-review.googlesource.com/719005
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarFranziska Hinkelmann <franzih@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48755}
      26ae9380
    • Daniel Clifford's avatar
      Ensure inlined Array.protoype.shift() calls return non-COW arrays · 0454a842
      Daniel Clifford authored
      Also ensure that CSA's CloneFixedArray and ExtractFixedArray correctly
      transition COW to non-COW maps when doing a clone requiring copying.
      
      Bug: chromium:775888
      Change-Id: I31c97072761fdd2360d86f840c9fd6ab2d72973a
      Reviewed-on: https://chromium-review.googlesource.com/727900
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48754}
      0454a842
    • Michael Lippautz's avatar
      Reland "Reland "[heap] ArrayBufferTracker: Only consider committed size"" · da9691de
      Michael Lippautz authored
      Includes the fix for aborted compaction pages that now require processing 
      with all other ArrayBufferTrackers because the considered length (byteLength)
      may be a HeapNumber allocated on a compacted page.
      
      This is a reland of 46f9d5a2
      Original change's description:
      > Reland "[heap] ArrayBufferTracker: Only consider committed size"
      > 
      > This is a reland of 6488c9e5
      > Original change's description:
      > > [heap] ArrayBufferTracker: Only consider committed size
      > > 
      > > - Only consider commited size of ABs.
      > > - Compute freed memory from retained sizes byte length might be a
      > >   HeapNumber and thus prohibited from accessing (as it may be already
      > >   collected).
      > > 
      > > 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:775896
      > > Change-Id: Ia0bed66afac5e4d5ed58194950a55156e19cec72
      > > Reviewed-on: https://chromium-review.googlesource.com/725722
      > > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#48699}
      > 
      > Bug: chromium:775896
      > Change-Id: Ibbec1ffa8fe90d3668f0fe0c1b8b9997b5fd644e
      > 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
      > Reviewed-on: https://chromium-review.googlesource.com/726579
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48707}
      
      Bug: chromium:775896
      Change-Id: I9b7b2ae865ef6cdb25692abb65108df5c2ecc157
      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
      Reviewed-on: https://chromium-review.googlesource.com/726800Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48753}
      da9691de
    • Clemens Hammacher's avatar
      Reland^2 "[arm] [simulator] Do also execute tests on real hardware" · 39906c5d
      Clemens Hammacher authored
      This is a reland of f77d98f7.
      The issue was already fixed when this got reverted.
      
      Original change's description:
      > Reland "[arm] [simulator] Do also execute tests on real hardware"
      > 
      > This is a reland of 8bacd848.
      > The failing test is disabled if not executing in the simulator.
      > 
      > Original change's description:
      > > [arm] [simulator] Do also execute tests on real hardware
      > > 
      > > In order to avoid writing tests that *only* pass in the simulator, but
      > > not on real hardware, do also execute the simulator tests on real
      > > hardware.
      > > 
      > > R=ahaas@chromium.org, rodolph.perfetta@arm.com
      > > 
      > > Bug: v8:6947
      > > Change-Id: Ibdf1719fff20e17620c0aaa343d7ea28e48f3837
      > > Reviewed-on: https://chromium-review.googlesource.com/722961
      > > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > > Reviewed-by: Rodolph Perfetta <rodolph.perfetta@arm.com>
      > > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#48706}
      > 
      > Bug: v8:6947, v8:6963
      > Change-Id: I5733794bc5ca223c8e66afcdeb8414b1b4121314
      > Reviewed-on: https://chromium-review.googlesource.com/727880
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48734}
      
      Bug: v8:6947, v8:6963
      Change-Id: I6124164ff92a2387d714ce974000b6f615b91983
      Reviewed-on: https://chromium-review.googlesource.com/727207Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48752}
      39906c5d
    • Ulan Degenbaev's avatar
      [runtime] Refactor initialization of in-object property count of a map. · 2a3cab7a
      Ulan Degenbaev authored
      This patch moves initialization of inobject_properties and
      unused_property_fields of a map to the construction time of the map.
      
      Map::AppendDescriptor now properly decrements unused_property_fields
      and thus maintains the invariant for property field counters.
      
      Bug: chromium:774644
      Change-Id: I78e5d5c767e22148cb64e8cabe0564e7a13988f5
      Reviewed-on: https://chromium-review.googlesource.com/725726Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48751}
      2a3cab7a