)]}'
{
  "commit": "33c6eaaefcedd45e86d564d014f14cce2620f933",
  "tree": "65e9699822f70d866cb3e0c6b7d2d05e88712d46",
  "parents": [
    "f7840e9e3eb9d1a157eaae772ea6841f1b83f1ba"
  ],
  "author": {
    "name": "Tom Tromey",
    "email": "tom@tromey.com",
    "time": "Fri Mar 24 23:35:02 2023 -0600"
  },
  "committer": {
    "name": "Tom Tromey",
    "email": "tom@tromey.com",
    "time": "Mon Jan 08 18:40:21 2024 -0700"
  },
  "message": "Do more DWARF reading in the background\n\nThis patch rearranges the DWARF reader so that more work is done in\nthe background.  This is PR symtab/29942.\n\nThe idea here is that there is only a small amount of work that must\nbe done on the main thread when scanning DWARF -- before the main\nscan, the only part is mapping the section data.\n\nCurrently, the DWARF reader uses the quick_symbol_functions \"lazy\"\nfunctionality to defer even starting to read.  This patch instead\nchanges the reader to start reading immediately, but doing more in\nworker tasks.\n\nBefore this patch, \"file\" on my machine:\n\n    (gdb) file /tmp/gdb\n    2023-10-23 12:29:56.885 - command started\n    Reading symbols from /tmp/gdb...\n    2023-10-23 12:29:58.047 - command finished\n    Command execution time: 5.867228 (cpu), 1.162444 (wall)\n\nAfter the patch, more work is done in the background and so this takes\na bit less time:\n\n    (gdb) file /tmp/gdb\n    2023-10-23 13:25:51.391 - command started\n    Reading symbols from /tmp/gdb...\n    2023-10-23 13:25:51.712 - command finished\n    Command execution time: 1.894500 (cpu), 0.320306 (wall)\n\nI think this could be further sped up by using the shared library load\nmap to avoid objfile loops like the one in expand_symtab_containing_pc\n-- it seems like the correct objfile could be chosen more directly.\n\nBug: https://sourceware.org/bugzilla/show_bug.cgi?id\u003d29942\nBug: https://sourceware.org/bugzilla/show_bug.cgi?id\u003d30174\n\n\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7588b5c2896f3814ae62f64b16a7f63a9c50c088",
      "old_mode": 33188,
      "old_path": "gdb/dwarf2/cooked-index.c",
      "new_id": "fabffc75d926da25457273b550f6c5ea77f9abaf",
      "new_mode": 33188,
      "new_path": "gdb/dwarf2/cooked-index.c"
    },
    {
      "type": "modify",
      "old_id": "914a595a0598ee50b115ab86fdde8aeb2e5799ab",
      "old_mode": 33188,
      "old_path": "gdb/dwarf2/cooked-index.h",
      "new_id": "909e4c08e3adb7ec1227e12adb06cc2a97db6633",
      "new_mode": 33188,
      "new_path": "gdb/dwarf2/cooked-index.h"
    },
    {
      "type": "modify",
      "old_id": "507b1526b89e95d9f6c9e82c054aa0cb97163725",
      "old_mode": 33188,
      "old_path": "gdb/dwarf2/read.c",
      "new_id": "49a87db29820165c4c5cffaf19c1c332e0960369",
      "new_mode": 33188,
      "new_path": "gdb/dwarf2/read.c"
    },
    {
      "type": "modify",
      "old_id": "4ab869cdd298e200717805a0119cfc241ec062f7",
      "old_mode": 33188,
      "old_path": "gdb/dwarf2/read.h",
      "new_id": "493d64acf688207102201f4c7f991015a2219d77",
      "new_mode": 33188,
      "new_path": "gdb/dwarf2/read.h"
    },
    {
      "type": "modify",
      "old_id": "4e8ce14defb0480cedd5298ec4569e09c5c69100",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.dwarf2/debug-aranges-duplicate-offset-warning.exp",
      "new_id": "af0c8df5e0beb3fd8db6d2da378e393657b1e40d",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.dwarf2/debug-aranges-duplicate-offset-warning.exp"
    },
    {
      "type": "modify",
      "old_id": "76886d5c1b6e6fb1a7efd1b6ea7cf969baabd1c2",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.dwarf2/dw2-error.exp",
      "new_id": "f8dc08d47aaef3ca720bcc3c885d637da5567527",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.dwarf2/dw2-error.exp"
    },
    {
      "type": "modify",
      "old_id": "f57e8086a7c58bac99ccf6689588c1f0885f9a33",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.dwarf2/dw2-missing-cu-tag.exp",
      "new_id": "f24c79385684b9abadba7d7ddff42552fae41087",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.dwarf2/dw2-missing-cu-tag.exp"
    },
    {
      "type": "modify",
      "old_id": "a72564c075c160df6d463f8a58e9194a384c535b",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp",
      "new_id": "65b91b3a5049ba3b442a20d783834b8e8f1c7c41",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp"
    },
    {
      "type": "modify",
      "old_id": "7974cb7f20b883bd2d7d6ec69056c524e59994cd",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp",
      "new_id": "ec5d3183f60c6d55c4def069a1749dbc48fc576e",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp"
    },
    {
      "type": "modify",
      "old_id": "7bef05684f3304bbdbbdabc4cfd72858b22fe96c",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.dwarf2/dw2-zero-range.exp",
      "new_id": "38c85a47b80447098f57184ac59efe17a0ad5ce3",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.dwarf2/dw2-zero-range.exp"
    },
    {
      "type": "modify",
      "old_id": "01e9eada575b0d1c6e9ffdb631b2f3e916c99dec",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.dwarf2/fission-reread.exp",
      "new_id": "884a8359fa557ac6ab4dd1635aa90203d15c3324",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.dwarf2/fission-reread.exp"
    },
    {
      "type": "modify",
      "old_id": "a76136fdfd80fe256af70429fa86767bda88064b",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.dwarf2/no-gnu-debuglink.exp",
      "new_id": "ff9c4dd142d6e1d8ba2224cff648b881c14004aa",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.dwarf2/no-gnu-debuglink.exp"
    },
    {
      "type": "modify",
      "old_id": "f6877fc6a17527d1bb7fbdd2378923e0790bdd3e",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.dwarf2/struct-with-sig-2.exp",
      "new_id": "8bf200e890272ca6695bdbd8f33901f3ee610f45",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.dwarf2/struct-with-sig-2.exp"
    }
  ]
}
