1. 27 Nov, 2019 1 commit
    • Leszek Swirski's avatar
      [isolate] Make field getters use a const Isolate* · 42a56e03
      Leszek Swirski authored
      To indicate that the Isolate* in getters might not be a "real" isolate,
      but rather a calculated one from GetIsolateForPtrCompr only used for
      calculating the isolate root, make that function return a const Isolate*
      and change field getters, Object::IsFoo predicates, and related
      functions to all take a const Isolate* instead of an Isolate*
      
      With this change, we can slightly more confidently use Objects that are
      in OffThreadSpace, without having to worry too much about having an
      Isolate* floating around that could accidentally be used.
      
      This is a slight abuse of const semantics, but it allows implicit
      conversion from Isolate* arguments to the const Isolate* parameter.
      
      Bug: v8:7703
      Bug: chromium:1011762
      Change-Id: I54d4a65d2299477195f4d754cabe64ce34fdaa4c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1939455
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65199}
      42a56e03
  2. 09 Jul, 2019 1 commit
  3. 27 May, 2019 1 commit
    • Georg Schmid's avatar
      Reland "Make LoadElimination aware of const fields (Part 2; stores)" · 85f257f4
      Georg Schmid authored
      This is a reland of e588ff10
      
      The only change over the original CL is found in JSCreateLowering::AllocateFastLiteral. We now guard against boilerplate values for unboxed double fields that *look* like legitimate initial values, but should really be kHoleNanInt64 instead.
      
      The underlying problem certainly existed before, but an invariant added to LoadElimination in this CL caused a Chromium layout test to fail. The change in this reland is therefore a workaround, the root cause remains to be fixed. Specifically, we find that a pointer to the undefined value oddball is sometimes reinterpreted as a double and assigned as a boilerplate value. @jarin suspects that this stems from in-place map updates.
      
      Original change's description:
      > Make LoadElimination aware of const fields (Part 2; stores)
      >
      > Adds const information to store field accesses and uses it in load elimination
      >
      > Change-Id: I00765c854c95c955dabd78557463267b95f75eef
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611543
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Commit-Queue: Georg Schmid <gsps@google.com>
      > Cr-Commit-Position: refs/heads/master@{#61796}
      
      Change-Id: Ie388754890024a3ca7d10c9d4d7391442655b426
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1630676Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Georg Schmid <gsps@google.com>
      Cr-Commit-Position: refs/heads/master@{#61838}
      85f257f4
  4. 24 May, 2019 1 commit
  5. 23 May, 2019 4 commits
  6. 20 May, 2019 1 commit
  7. 27 Apr, 2019 1 commit
  8. 05 Nov, 2018 1 commit
  9. 17 Sep, 2018 1 commit
  10. 14 Sep, 2018 2 commits
    • Marja Hölttä's avatar
      Revert "[in-place weak refs] Fix MaybeObject function names" · 3a79fe23
      Marja Hölttä authored
      This reverts commit ad72d195.
      
      Reason for revert: Build failures on *san
      
      Original change's description:
      > [in-place weak refs] Fix MaybeObject function names
      > 
      > E.g., "ToWeakHeapObject" was misleading, since it didn't convert to a weak heap
      > object, instead returned a weakly pointed heap object. Change the function names
      > (in this case, to "GetHeapObjectIfWeak") to reflect this.
      > 
      > Also make casts explicit, if a MaybeObject is an Object, we can call cast<Object>().
      > 
      > BUG=v8:7308
      > 
      > Change-Id: I4ef078572b4f4415afe7e2e706d3bd684e16e47d
      > Reviewed-on: https://chromium-review.googlesource.com/1219025
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Marja Hölttä <marja@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55906}
      
      TBR=ulan@chromium.org,marja@chromium.org,yangguo@chromium.org,ahaas@chromium.org,tebbi@chromium.org,ishell@chromium.org
      
      Change-Id: I054b578518e3f6fd7dbcddf0b56cc018726c1e7a
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7308
      Reviewed-on: https://chromium-review.googlesource.com/1226874Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55918}
      3a79fe23
    • Marja Hölttä's avatar
      [in-place weak refs] Fix MaybeObject function names · ad72d195
      Marja Hölttä authored
      E.g., "ToWeakHeapObject" was misleading, since it didn't convert to a weak heap
      object, instead returned a weakly pointed heap object. Change the function names
      (in this case, to "GetHeapObjectIfWeak") to reflect this.
      
      Also make casts explicit, if a MaybeObject is an Object, we can call cast<Object>().
      
      BUG=v8:7308
      
      Change-Id: I4ef078572b4f4415afe7e2e706d3bd684e16e47d
      Reviewed-on: https://chromium-review.googlesource.com/1219025Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55906}
      ad72d195
  11. 11 Sep, 2018 1 commit
  12. 30 Jul, 2018 1 commit
  13. 18 Jul, 2018 1 commit
  14. 14 Jun, 2018 2 commits
    • Clemens Hammacher's avatar
      Reland "Introduce StdoutStream which prints to Android log or stdout" · 8e2e1257
      Clemens Hammacher authored
      This is a reland of 0909dbe3.
      Added missing V8_EXPORT_PRIVATE to AndroidLogStream.
      
      TBR=mstarzinger@chromium.org
      
      Original change's description:
      > Introduce StdoutStream which prints to Android log or stdout
      >
      > The often used construct {OFStream(stdout)} does not work on Android.
      > This CL introduces an {StdoutStream} which behaves exactly like
      > {OFStream(stdout)} on non-android platforms, and redirects to the
      > Android log on appropriate systems and configurations.
      >
      > R=mstarzinger@chromium.org
      >
      > Bug: v8:7820
      > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b
      > Reviewed-on: https://chromium-review.googlesource.com/1088911
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53692}
      
      Bug: v8:7820
      Change-Id: I8164bad78a401dbe4246c9ffcacd050fe511ed58
      Reviewed-on: https://chromium-review.googlesource.com/1100636Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53733}
      8e2e1257
    • Michael Achenbach's avatar
      Revert "Introduce StdoutStream which prints to Android log or stdout" · d2e1620c
      Michael Achenbach authored
      This reverts commit 0909dbe3.
      
      Reason for revert: Blocks roll:
      https://chromium-review.googlesource.com/c/chromium/src/+/1099143
      
      Original change's description:
      > Introduce StdoutStream which prints to Android log or stdout
      > 
      > The often used construct {OFStream(stdout)} does not work on Android.
      > This CL introduces an {StdoutStream} which behaves exactly like
      > {OFStream(stdout)} on non-android platforms, and redirects to the
      > Android log on appropriate systems and configurations.
      > 
      > R=​mstarzinger@chromium.org
      > 
      > Bug: v8:7820
      > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b
      > Reviewed-on: https://chromium-review.googlesource.com/1088911
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53692}
      
      TBR=mstarzinger@chromium.org,jarin@chromium.org,jgruber@chromium.org,clemensh@chromium.org,bmeurer@chromium.org
      
      Change-Id: Iadadd9a0df10dca0fad647138a83db50148e864d
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7820
      Reviewed-on: https://chromium-review.googlesource.com/1100635Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53725}
      d2e1620c
  15. 13 Jun, 2018 1 commit
  16. 04 Jun, 2018 1 commit
  17. 01 Jun, 2018 2 commits
  18. 29 May, 2018 1 commit
  19. 03 Mar, 2017 1 commit
  20. 10 Feb, 2017 1 commit
  21. 19 Jan, 2017 1 commit
  22. 13 Jan, 2017 1 commit
  23. 12 Jan, 2017 1 commit
  24. 09 Jan, 2017 1 commit
  25. 21 Dec, 2016 1 commit
  26. 16 Feb, 2016 1 commit
  27. 01 Jun, 2015 1 commit
  28. 18 Feb, 2015 2 commits
  29. 16 Feb, 2015 1 commit
    • ishell's avatar
      Property reconfiguring implemented. · 35841b50
      ishell authored
      Previous approach for property reconfiguration was to create a free-floating map with generalized representations of all fields. This patch does it right.
      
      When property is reconfigured either by changing its kind (kData <-> kAccessor) or its attributes it implies creation of a new branch in transition tree. If such a branch already existed before reconfiguration then it should be merged with the old (or source) branch of the transition tree. Merging procedure includes all the heavy machinery such as property location changes (kDescriptor -> kField), field representation/field type generalization, map deprecation, etc.
      
      Review URL: https://codereview.chromium.org/888623002
      
      Cr-Commit-Position: refs/heads/master@{#26667}
      35841b50
  30. 19 Jan, 2015 1 commit
    • ishell's avatar
      Massive renaming of PropertyType values and other implied stuff. · 33994b4a
      ishell authored
      PropertyKind:
        DATA -> kData
        ACCESSOR -> kAccessor
      
      PropertyType:
        FIELD -> DATA
        CONSTANT -> DATA_CONSTANT
        ACCESSOR_FIELD -> ACCESSOR
        CALLBACKS -> ACCESSOR_CONSTANT
      
      PropertyLocation:
        IN_OBJECT -> kField
        IN_DESCRIPTOR -> kDescriptor
      
      StoreMode:
        FORCE_IN_OBJECT -> FORCE_FIELD
      
      FieldDescriptor -> DataDescriptor
      ConstantDescriptor -> DataConstantDescriptor
      CallbacksDescriptor -> AccessorConstantDescriptor
      
      Review URL: https://codereview.chromium.org/856503002
      
      Cr-Commit-Position: refs/heads/master@{#26146}
      33994b4a
  31. 16 Dec, 2014 1 commit
  32. 12 Dec, 2014 1 commit
  33. 24 Nov, 2014 1 commit