1. 21 Aug, 2018 1 commit
  2. 17 Aug, 2018 1 commit
  3. 16 Aug, 2018 1 commit
  4. 14 Aug, 2018 1 commit
  5. 13 Aug, 2018 1 commit
  6. 10 Aug, 2018 1 commit
  7. 08 Aug, 2018 2 commits
    • Jaroslav Sevcik's avatar
      [turbofan] Optimistic slack tracking completion. · bba36e19
      Jaroslav Sevcik authored
      The idea is to compute the slack before compilation start. Then
      we check that the slack tracking decision is the same at the end
      of compilation. If it is, we just commit to that slack tracking
      (by calling function->CompleteInobjectSlackTrackingIfActive).
      If the slack tracking decision changed, we will retry the compilation.
      
      This has several pieces:
      - Expose computation of slack and instance size from the object model.
      - Add compilation dependency on the slack tracking result.
      - Change create lowering to use the dependency.
      - Fix array creation to use the slack tracking result's instance
        size.
      
      Bug: v8:7790
      Change-Id: Id975300cfd6c1786733cd7cbf55cc507c05738b2
      Reviewed-on: https://chromium-review.googlesource.com/1164957Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54982}
      bba36e19
    • Sathya Gunasekaran's avatar
      [Intl] Optimize Intl.Collator · 363fe1eb
      Sathya Gunasekaran authored
      This patch ports most of the Intl.Collator from JS to C++.
      
      The Intl.Collator object no longer stores all the resolved
      values. Instead these are looked up on demand as part of
      Intl.Collator.prototype.resolvedOptions(), saving several words. In
      the future, we can cache the result of the resolvedOptions as well.
      
      In this patch, we use ICU to do parsing of the unicode extension in
      the bcp47 language tag instead of using a custom extension parser.
      
      This patch also fixes several spec compliance bugs as well.
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: Iaaa7be4a628404da1bd83d882e04a2c6de70ebd9
      Bug: v8:5751, v8:7480
      Reviewed-on: https://chromium-review.googlesource.com/1165084
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54965}
      363fe1eb
  8. 07 Aug, 2018 1 commit
  9. 06 Aug, 2018 3 commits
  10. 01 Aug, 2018 1 commit
  11. 30 Jul, 2018 3 commits
  12. 27 Jul, 2018 1 commit
  13. 24 Jul, 2018 2 commits
  14. 20 Jul, 2018 1 commit
  15. 19 Jul, 2018 2 commits
    • Leszek Swirski's avatar
      [sfi] Remove SFI function identifier field · c941f11a
      Leszek Swirski authored
      Remove the function identifier field from SharedFunctionInfo. This field
      would store one of a) the function's inferred name, b) the "builtin
      function id", or c) debug info. We remove these in turn:
      
      a) The function's inferred name is available on the ScopeInfo, so like
         the start/end position we read it off either the ScopeInfo (for
         compiled functions) or the UncompiledData (for uncompiled functions).
      
         As a side-effect, now both UncompiledData and its subclass,
         UncompiledDataWithPreparsedScope, contain a pointer field. To keep
         BodyDescriptors manageable, we introduce a SubclassBodyDescriptor
         which effectively appends two BodyDescriptors together.
      
      b) The builtin function id is < 255, so we can steal a byte from
         expected no. of properies (also <255) and store these together.
         Eventually we want to get rid of this field and use the builtin ID,
         but this is pending JS builtin removal.
      
         As a side-effect, BuiltinFunctionId becomes an enum class (for better
         storage size guarantees).
      
      c) The debug info can hang off anything (since it stores the field it
         replaces), so we can attach it to the script field instead.
      
      This saves a word on compiled function (uncompiled functions
      unfortunately still have to store it in UncompiledData).
      
      Bug: chromium:818642
      Change-Id: I8b4b3a070f0fe328aafcaeac58842d144d12d996
      Reviewed-on: https://chromium-review.googlesource.com/1138328Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54543}
      c941f11a
    • Georg Neis's avatar
      Use JSGlobalProxy type for the global proxy field on Context. · 23ab7c75
      Georg Neis authored
      R=mslekova@chromium.org
      
      Change-Id: I1f60108effa15585a7cf5af150fc4c1d4dd9570f
      Reviewed-on: https://chromium-review.googlesource.com/1142160Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54540}
      23ab7c75
  16. 18 Jul, 2018 3 commits
  17. 17 Jul, 2018 4 commits
  18. 16 Jul, 2018 1 commit
    • Dan Elphick's avatar
      [explicit isolates] Remove nearly all GetIsolates in api.cc · 8a011b57
      Dan Elphick authored
      This marks the following methods as V8_DEPRECATE_SOON and adds new
      versions that take Isolate* as their first parameter:
      PrimitiveArray::Set
      PrimitiveArray::Get
      StackTrace::GetFrame
      String::Write
      String::WriteOneByte
      String::WriteUtf8
      String::Concat
      StringObject::New
      
      Additionally StackFrameInfo, Module and TemplateInfo are marked as
      NeverReadOnlySpaceObject so their GetIsolates calls are safe.
      
      In api.cc, ContextFromHeapObject is split into
      ContextFromNeverReadOnlySpaceObject and UnsafeContextFromHeapObject,
      where the latter uses the deprecated methods but is only called from
      methods that were themselves already marked V8_DEPRECATE_SOON.
      
      Deprecation warnings for using HeapObject::GetHeap/GetIsolate are
      suppressed for all the uses in V8_DEPRECATE_SOON methods so that stats
      produced using tools/collect_deprecation_stats.sh don't show them.
      
      Bug: v8:7786
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: I48799b5599711661b14d0cd04f21a0a00322da4a
      Reviewed-on: https://chromium-review.googlesource.com/1136641
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54469}
      8a011b57
  19. 13 Jul, 2018 2 commits
  20. 12 Jul, 2018 4 commits
  21. 11 Jul, 2018 1 commit
  22. 10 Jul, 2018 3 commits