1. 31 Jul, 2019 1 commit
    • Seth Brenith's avatar
      Reland "Add postmortem debugging helper library" · 0921e8f2
      Seth Brenith authored
      This is a reland of 517ab73f
      
      Updates since original: now compressed pointers passed to the function
      GetObjectProperties are required to be sign-extended. Previously, the
      function allowed zero-extended values, but that led to ambiguity on
      pointers like 0x88044919: is it compressed or is the heap range actually
      centered on 0x100000000?
      
      Original change's description:
      > Add postmortem debugging helper library
      >
      > This change begins to implement the functionality described in
      > https://docs.google.com/document/d/1evHnb1uLlSbvHAAsmOXyc25x3uh1DjgNa8u1RHvwVhk/edit#
      > for investigating V8 state in crash dumps.
      >
      > This change adds a new library, v8_debug_helper, for providing platform-
      > agnostic assistance with postmortem debugging. This library can be used
      > by extensions built for debuggers such as WinDbg or lldb. Its public API
      > is described by debug-helper.h; currently the only method it exposes is
      > GetObjectProperties, but we'd like to add more functionality over time.
      > The API surface is restricted to plain C-style structs and pointers, so
      > that it's easy to link from a debugger extension built with a different
      > toolchain.
      >
      > This change also adds a new cctest file to exercise some basic
      > interaction with the new library.
      >
      > The API function GetObjectProperties takes an object pointer (which
      > could be compressed, or weak, or a SMI), and returns a string
      > description of the object and a list of properties the object contains.
      > For now, the list of properties is entirely based on Torque object
      > definitions, but we expect to add custom properties in future updates so
      > that it can be easier to make sense of complex data structures such as
      > dictionaries.
      >
      > GetObjectProperties does several things that are intended to generate
      > somewhat useful results even in cases where memory may be corrupt or
      > unavailable:
      > - The caller may optionally provide a type string which will be used if
      >   the memory for the object's Map is inaccessible.
      > - All object pointers are compared against the list of known objects
      >   generated by mkgrokdump. The caller may optionally provide the
      >   pointers for the first pages of various heap spaces, to avoid spurious
      >   matches. If those pointers are not provided, then any matches are
      >   prefixed with "maybe" in the resulting description string, such as
      >   "maybe UndefinedValue (0x4288000341 <Oddball>)".
      >
      > Bug: v8:9376
      >
      > Change-Id: Iebf3cc2dea3133c7811bcefcdf38d9458b02fded
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1628012
      > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#62882}
      
      Bug: v8:9376
      Change-Id: I866a1cc9d4c34bfe10c7b98462451fe69763cf3f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1717090Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#63008}
      0921e8f2
  2. 24 Jul, 2019 1 commit
    • Zhi An Ng's avatar
      Revert "Add postmortem debugging helper library" · 6747e3a1
      Zhi An Ng authored
      This reverts commit 517ab73f.
      
      Reason for revert: Test failures https://bugs.chromium.org/p/v8/issues/detail?id=9538
      
      Original change's description:
      > Add postmortem debugging helper library
      > 
      > This change begins to implement the functionality described in
      > https://docs.google.com/document/d/1evHnb1uLlSbvHAAsmOXyc25x3uh1DjgNa8u1RHvwVhk/edit#
      > for investigating V8 state in crash dumps.
      > 
      > This change adds a new library, v8_debug_helper, for providing platform-
      > agnostic assistance with postmortem debugging. This library can be used
      > by extensions built for debuggers such as WinDbg or lldb. Its public API
      > is described by debug-helper.h; currently the only method it exposes is
      > GetObjectProperties, but we'd like to add more functionality over time.
      > The API surface is restricted to plain C-style structs and pointers, so
      > that it's easy to link from a debugger extension built with a different
      > toolchain.
      > 
      > This change also adds a new cctest file to exercise some basic
      > interaction with the new library.
      > 
      > The API function GetObjectProperties takes an object pointer (which
      > could be compressed, or weak, or a SMI), and returns a string
      > description of the object and a list of properties the object contains.
      > For now, the list of properties is entirely based on Torque object
      > definitions, but we expect to add custom properties in future updates so
      > that it can be easier to make sense of complex data structures such as
      > dictionaries.
      > 
      > GetObjectProperties does several things that are intended to generate
      > somewhat useful results even in cases where memory may be corrupt or
      > unavailable:
      > - The caller may optionally provide a type string which will be used if
      >   the memory for the object's Map is inaccessible.
      > - All object pointers are compared against the list of known objects
      >   generated by mkgrokdump. The caller may optionally provide the
      >   pointers for the first pages of various heap spaces, to avoid spurious
      >   matches. If those pointers are not provided, then any matches are
      >   prefixed with "maybe" in the resulting description string, such as
      >   "maybe UndefinedValue (0x4288000341 <Oddball>)".
      > 
      > Bug: v8:9376
      > 
      > Change-Id: Iebf3cc2dea3133c7811bcefcdf38d9458b02fded
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1628012
      > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#62882}
      
      TBR=yangguo@chromium.org,mvstanton@chromium.org,jgruber@chromium.org,tebbi@chromium.org,seth.brenith@microsoft.com
      
      Change-Id: Ia078f2e8d101d2375b5db88021b2d65d28f1b075
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:9376
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1716033Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62899}
      6747e3a1
  3. 23 Jul, 2019 1 commit
    • Seth Brenith's avatar
      Add postmortem debugging helper library · 517ab73f
      Seth Brenith authored
      This change begins to implement the functionality described in
      https://docs.google.com/document/d/1evHnb1uLlSbvHAAsmOXyc25x3uh1DjgNa8u1RHvwVhk/edit#
      for investigating V8 state in crash dumps.
      
      This change adds a new library, v8_debug_helper, for providing platform-
      agnostic assistance with postmortem debugging. This library can be used
      by extensions built for debuggers such as WinDbg or lldb. Its public API
      is described by debug-helper.h; currently the only method it exposes is
      GetObjectProperties, but we'd like to add more functionality over time.
      The API surface is restricted to plain C-style structs and pointers, so
      that it's easy to link from a debugger extension built with a different
      toolchain.
      
      This change also adds a new cctest file to exercise some basic
      interaction with the new library.
      
      The API function GetObjectProperties takes an object pointer (which
      could be compressed, or weak, or a SMI), and returns a string
      description of the object and a list of properties the object contains.
      For now, the list of properties is entirely based on Torque object
      definitions, but we expect to add custom properties in future updates so
      that it can be easier to make sense of complex data structures such as
      dictionaries.
      
      GetObjectProperties does several things that are intended to generate
      somewhat useful results even in cases where memory may be corrupt or
      unavailable:
      - The caller may optionally provide a type string which will be used if
        the memory for the object's Map is inaccessible.
      - All object pointers are compared against the list of known objects
        generated by mkgrokdump. The caller may optionally provide the
        pointers for the first pages of various heap spaces, to avoid spurious
        matches. If those pointers are not provided, then any matches are
        prefixed with "maybe" in the resulting description string, such as
        "maybe UndefinedValue (0x4288000341 <Oddball>)".
      
      Bug: v8:9376
      
      Change-Id: Iebf3cc2dea3133c7811bcefcdf38d9458b02fded
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1628012
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62882}
      517ab73f
  4. 05 Jul, 2019 1 commit
  5. 24 Jun, 2019 1 commit
  6. 17 Jun, 2019 1 commit
  7. 31 May, 2019 1 commit
  8. 30 May, 2019 1 commit
  9. 23 May, 2019 2 commits
  10. 22 May, 2019 1 commit
  11. 21 May, 2019 2 commits
  12. 02 May, 2019 1 commit
    • Maciej Goszczycki's avatar
      Reland "[heap] Skip ro-space from heap iterators, add CombinedHeapIterator." · 9c062093
      Maciej Goszczycki authored
      Code relocation info is now always allocated in old-space. Before relocation
      info allocated for placeholders and builtins (which get replaced with
      trampolines in nosnap builds) would become unreachable. Since read-only space
      is not GCed and ReadOnlyHeapIterator doesn't check for reachability,
      ValidateSnapshot would fail finding unreachable objects returned by
      ReadOnlyHeapIterator.
      
      Because trampoline relocation info gets replaced with canonical one, this only
      affects no-embdded-builtins nosnap builds, which don't get much benefit from
      read-only relocation info anyway.
      
      A new check has been added to the read-only deserializer to verify that every
      read-only object is reachable at mksnapshot-time.
      
      The CombinedHeapIterator iteration order was changed to iterate over
      read-only space first, because that's how HeapIterator worked.
      
      This is a reland of 3d1d8eae
      
      Original change's description:
      > [heap] Skip ro-space from heap iterators, add CombinedHeapIterator.
      >
      > Read-only space sharing requires an iterator independent of heap. This
      > also enables future removal of read-only space from heap.
      >
      > Bug: v8:7464
      > Change-Id: Ia07a9369494ea2c547d12c01ffa1d7b8b6bbeabc
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1552795
      > Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#60819}
      
      Bug: v8:7464
      Change-Id: I49ae070955b77956962334a84f762ab29052d5ff
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1566513Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
      Cr-Commit-Position: refs/heads/master@{#61185}
      9c062093
  13. 12 Apr, 2019 2 commits
  14. 18 Mar, 2019 1 commit
  15. 26 Feb, 2019 1 commit
  16. 15 Feb, 2019 1 commit
  17. 14 Feb, 2019 1 commit
  18. 12 Feb, 2019 1 commit
  19. 06 Feb, 2019 1 commit
    • Tamer Tas's avatar
      Reland "Reland "[test] refactor testsuite configuration"" · df630e67
      Tamer Tas authored
      This is a reland of 81eec150
      
      Original change's description:
      > Reland "[test] refactor testsuite configuration"
      >
      > This is a reland of 7f92ad0a
      >
      > Original change's description:
      > > [test] refactor testsuite configuration
      > >
      > > Every testsuite configuration consist of at least 30% code duplication.
      > >
      > > The code age ranges from 10 years old to 5 years old. Implementing anything that
      > > touches the testsuite code becomes a technical fight to the death.
      > >
      > > This CL removes all the duplication by refactoring the common functionality.
      > >
      > > This CL contains structural changes without any logical changes % small bug
      > > fixes.
      > >
      > > R=machenbach@chromium.org
      > > CC=yangguo@chromium.org,sergiyb@chromium.org
      > >
      > > Bug: v8:8174, v8:8769
      > > Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1445881
      > > Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
      > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#59361}
      >
      > Bug: v8:8174, v8:8769
      > Change-Id: I8e7078cfb875ceb3777e57084e6f8dfac09693e7
      > Reviewed-on: https://chromium-review.googlesource.com/c/1454485
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Tamer Tas <tmrts@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59369}
      
      Bug: v8:8174, v8:8790
      Change-Id: I38ab9d37bca76057441a970f26e2102e4387a857
      Reviewed-on: https://chromium-review.googlesource.com/c/1454724
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59387}
      df630e67
  20. 05 Feb, 2019 4 commits
    • Tamer Tas's avatar
      Revert "Reland "[test] refactor testsuite configuration"" · ea4412ad
      Tamer Tas authored
      This reverts commit 81eec150.
      
      Reason for revert: windows mozilla test failures
      
      Original change's description:
      > Reland "[test] refactor testsuite configuration"
      > 
      > This is a reland of 7f92ad0a
      > 
      > Original change's description:
      > > [test] refactor testsuite configuration
      > > 
      > > Every testsuite configuration consist of at least 30% code duplication.
      > > 
      > > The code age ranges from 10 years old to 5 years old. Implementing anything that
      > > touches the testsuite code becomes a technical fight to the death.
      > > 
      > > This CL removes all the duplication by refactoring the common functionality.
      > > 
      > > This CL contains structural changes without any logical changes % small bug
      > > fixes.
      > > 
      > > R=machenbach@chromium.org
      > > CC=yangguo@chromium.org,sergiyb@chromium.org
      > > 
      > > Bug: v8:8174, v8:8769
      > > Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1445881
      > > Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
      > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#59361}
      > 
      > Bug: v8:8174, v8:8769
      > Change-Id: I8e7078cfb875ceb3777e57084e6f8dfac09693e7
      > Reviewed-on: https://chromium-review.googlesource.com/c/1454485
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Tamer Tas <tmrts@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59369}
      
      TBR=machenbach@chromium.org,sergiyb@chromium.org,tmrts@chromium.org
      
      Change-Id: I8f5650b5f46be299c004e2fa8b708fa2c17a4dc2
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8174, v8:8769
      Reviewed-on: https://chromium-review.googlesource.com/c/1454607Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Tamer Tas <tmrts@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59370}
      ea4412ad
    • Tamer Tas's avatar
      Reland "[test] refactor testsuite configuration" · 81eec150
      Tamer Tas authored
      This is a reland of 7f92ad0a
      
      Original change's description:
      > [test] refactor testsuite configuration
      > 
      > Every testsuite configuration consist of at least 30% code duplication.
      > 
      > The code age ranges from 10 years old to 5 years old. Implementing anything that
      > touches the testsuite code becomes a technical fight to the death.
      > 
      > This CL removes all the duplication by refactoring the common functionality.
      > 
      > This CL contains structural changes without any logical changes % small bug
      > fixes.
      > 
      > R=machenbach@chromium.org
      > CC=yangguo@chromium.org,sergiyb@chromium.org
      > 
      > Bug: v8:8174, v8:8769
      > Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
      > Reviewed-on: https://chromium-review.googlesource.com/c/1445881
      > Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59361}
      
      Bug: v8:8174, v8:8769
      Change-Id: I8e7078cfb875ceb3777e57084e6f8dfac09693e7
      Reviewed-on: https://chromium-review.googlesource.com/c/1454485Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Tamer Tas <tmrts@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59369}
      81eec150
    • Tamer Tas's avatar
      Revert "[test] refactor testsuite configuration" · 97068800
      Tamer Tas authored
      This reverts commit 7f92ad0a.
      
      Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win32/19148
      
      Original change's description:
      > [test] refactor testsuite configuration
      >
      > Every testsuite configuration consist of at least 30% code duplication.
      >
      > The code age ranges from 10 years old to 5 years old. Implementing anything that
      > touches the testsuite code becomes a technical fight to the death.
      >
      > This CL removes all the duplication by refactoring the common functionality.
      >
      > This CL contains structural changes without any logical changes % small bug
      > fixes.
      >
      > R=​machenbach@chromium.org
      > CC=​yangguo@chromium.org,sergiyb@chromium.org
      >
      > Bug: v8:8174, v8:8769
      > Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
      > Reviewed-on: https://chromium-review.googlesource.com/c/1445881
      > Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59361}
      
      TBR=machenbach@chromium.org,sergiyb@chromium.org,tmrts@chromium.org,v8-reviews@chromium.org
      
      Change-Id: I473f0d4c6b9c0239923b8c03699dbc38b7f85030
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8174, v8:8769
      Reviewed-on: https://chromium-review.googlesource.com/c/1454599
      Commit-Queue: Tamer Tas <tmrts@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59362}
      97068800
    • Tamer Tas's avatar
      [test] refactor testsuite configuration · 7f92ad0a
      Tamer Tas authored
      Every testsuite configuration consist of at least 30% code duplication.
      
      The code age ranges from 10 years old to 5 years old. Implementing anything that
      touches the testsuite code becomes a technical fight to the death.
      
      This CL removes all the duplication by refactoring the common functionality.
      
      This CL contains structural changes without any logical changes % small bug
      fixes.
      
      R=machenbach@chromium.org
      CC=yangguo@chromium.org,sergiyb@chromium.org
      
      Bug: v8:8174, v8:8769
      Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
      Reviewed-on: https://chromium-review.googlesource.com/c/1445881
      Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59361}
      7f92ad0a
  21. 10 Jan, 2019 1 commit
  22. 26 Dec, 2018 1 commit
  23. 13 Nov, 2018 1 commit
  24. 09 Oct, 2018 1 commit
  25. 26 Sep, 2018 1 commit
  26. 24 Sep, 2018 1 commit
  27. 21 Sep, 2018 2 commits
  28. 20 Sep, 2018 1 commit
  29. 14 Sep, 2018 1 commit
  30. 16 Aug, 2018 1 commit
  31. 03 Jul, 2018 1 commit
    • Dan Elphick's avatar
      [explicit isolates] Move remaining roots to ReadOnyRoots · f9c4d000
      Dan Elphick authored
      Moves STRUCT_LIST AND ALLOCATION_SITE_LIST into roots.h and adds access
      to their associated maps using ReadOnlyRoots.
      
      Also corrects the location of external_map, message_object_map,
      empty_script, many_closures_cell, invalid_prototype_validity_cell and
      builtins_constants_table which are not in RO_SPACE.
      
      Finally this adds a convenience ReadOnlyRoots(Isolate*) constructor.
      
      Bug: v8:7786
      Change-Id: I4982dd0cbea2062a124605678599ba48831f020f
      Reviewed-on: https://chromium-review.googlesource.com/1124319Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54178}
      f9c4d000
  32. 20 Jun, 2018 1 commit
  33. 13 Jun, 2018 1 commit