)]}'
{
  "log": [
    {
      "commit": "cc8009ff04c13280998931cd5c8f05b517f7360f",
      "tree": "3c2e70664a51665e78dabba8e6bba1814a8951ca",
      "parents": [
        "c87d1ed61166d99ff8d1b5f4411056fc8ee65ee6"
      ],
      "author": {
        "name": "Vic Yang",
        "email": "victoryang@google.com",
        "time": "Thu Jan 24 11:00:26 2019 -0800"
      },
      "committer": {
        "name": "Vic Yang",
        "email": "victoryang@google.com",
        "time": "Thu Jan 24 11:11:15 2019 -0800"
      },
      "message": "libunwindstack: Move DwarfOp callback table to rodata section\n\nThere are currently two copies of DwarfOp callback tables in\ndata.rel.ro section, and that is 16KB of dirty memory per process on a\n64-bit platform.\n\nTo reduce memory usage, we introduce a layer of indirection so that\nall instances of DwarfOp can share a single callback table.  We also\nget rid of the pointers for op names in the callback table so that the\nentire table can be placed in rodata section.\n\nTest result shows 1MB saving on cuttlefish, and 750KB saving on a Go\ndevice (32-bit ARM).\n\nBug: 112073665\nTest: Boot on cuttlefish and a Go device.\nChange-Id: Idf90a513f37534ab1ef30d5742a9d3ea779f3661\n"
    },
    {
      "commit": "559c7f209295a7070515bba9fa3985edf53d13a0",
      "tree": "3c4d389dd713cf1b388d58ecdf121e1c2c6989fd",
      "parents": [
        "71fa8125b90a99329561c2dd13c055adf52dd25a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Feb 12 20:18:03 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 13 16:45:38 2018 -0800"
      },
      "message": "Implement new DEX PC lookup scheme.\n\nGDB wasn\u0027t handling the old one gracefully.\n\n- Create a RegsInfo structure that can be used to properly eval expression\n  data.\n- Remove the versions on Dwarf ops. It doesn\u0027t work the in the real world\n  and doesn\u0027t add useful information.\n- Fix dex pc frame number bug.\n\nTest: testrunner.py -j40 --host --cdex-fast -t 137\nTest: libunwindstack_test\nTest: All unit tests pass.\nChange-Id: Iac4fea651b81cb6087fd237a9a5027a352a49245\n"
    },
    {
      "commit": "2fcf4cf13e9aefa8c312084af12ca2d712a6ead3",
      "tree": "b5221be7ee35e1b7e2cfed8f931a704cc5f40da4",
      "parents": [
        "335675c2fd8ff39e5af635eb375edc766147cbb9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jan 23 17:52:23 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 24 17:50:46 2018 -0800"
      },
      "message": "Add error propagation into Unwinder/Elf objects.\n\nThe backtrace offline code uses these error codes to diagnose errors.\nIn addtion, I\u0027ve had cases where seeing these errors would help diagnose\nfailures.\n\nThis also allows us to add a few features to indicate why an unwind\nterminated (such as max frames exceeded).\n\nBug: 65682279\n\nTest: Updated unit tests pass.\nChange-Id: If82b5092698e8a194016d670efff1320f9b44d50\n"
    },
    {
      "commit": "d226a5140989f509a0ed3e2723f05d5fc93ce8df",
      "tree": "ffe7078dc51b6292506856c0a0982d2e8596612f",
      "parents": [
        "b76158d56af33f512cad32c5e948656e47a73216"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 14 10:37:19 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 14 12:20:23 2017 -0700"
      },
      "message": "Make the library usable as a library.\n\n- Add namespace unwindstack everywhere so that it\u0027s easier for other\n  code to use the library.\n- Move some of the header files into include/unwindstack so that they\n  can be exposed.\n- Modify the headers so that only a limited number need to be exposed.\n- Update the tools to use the new headers.\n- Add a GetLoadBias() call on the Elf object. This prevents the need\n  to get the interface object out of the Elf object.\n- Move the GetRelPc() call out of the Reg class, to the Elf class. It\u0027s\n  not always the case that a Reg object will be around when you want to\n  get a relative pc. The tests for this moved to ElfTest.cpp.\n\nBug: 23762183\n\nTest: Unit tests pass.\nChange-Id: Iac609dac1dd90ed83d1a1e24ff2579c96c023bc3\n"
    },
    {
      "commit": "7b8e4671926486d61aab693968d8a0256a856033",
      "tree": "7a108359008f215adc89152d2edd607d5b52bd68",
      "parents": [
        "72076d1aa7231ce92d9acc6c722ce365b40e5821"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 01 17:55:25 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 01 17:56:46 2017 -0700"
      },
      "message": "Change RegsTmpl to RegsImpl.\n\nAlso clang-format modified Regs.cpp slightly.\n\nBug: 23762183\n\nTest: Built and ran unit tests.\nChange-Id: I1c7c1b01974ee3f35059c42b8e2aef24d46c81a7\n"
    },
    {
      "commit": "55d22ef67c428a3f0994ee7da51b33c79ddcc552",
      "tree": "949f5fd2dd1267ac9e20904268f885822d33a6c5",
      "parents": [
        "856bccbdc3f509218149e16354496027cb7c1ea3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 04 10:41:31 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 04 12:35:50 2017 -0700"
      },
      "message": "Add DwarfOp support.\n\nBug: 23762183\n\nTest: New unit tests pass.\nChange-Id: I9581701ee2721283a1114adab4e1bcff881980cc\n"
    }
  ]
}
