)]}'
{
  "commit": "eb258b30711a8d34865169d763bcb76fc83abc52",
  "tree": "6c7bfabd2f248496f713e421afde1da4e8b816b7",
  "parents": [
    "cc514fe702a4d3372a2c6c45f8ebd8699dea4019"
  ],
  "author": {
    "name": "Zimuzo Ezeozue",
    "email": "zezeozue@google.com",
    "time": "Thu Mar 26 18:17:19 2026 +0000"
  },
  "committer": {
    "name": "Zimuzo Ezeozue",
    "email": "zezeozue@google.com",
    "time": "Thu Mar 26 18:27:08 2026 +0000"
  },
  "message": "tp: Add object_hash to heap_graph_object_data\n\nCompute a 64-bit identity hash for every heap graph object at HPROF\nimport time. The hash covers primitive field values, reference target\nIDs, and object array element IDs, enabling efficient detection of\nduplicate objects that share identical field values and point to the\nsame targets.\n\nTest: tools/diff_test_trace_processor.py out/linux/trace_processor_shell --name-filter \u0027.*hprof.*\u0027\nChange-Id: I81f07380d6f6a108a15511808cb9910a059db9ba\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "13fdea61181dd84200282c8415d425f853013f08",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/art_hprof/art_hprof_model.h",
      "new_id": "b542915c86f7709e3078de606a6d0f4015d3d205",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/art_hprof/art_hprof_model.h"
    },
    {
      "type": "modify",
      "old_id": "e38aa2f06c52df0a475e9856592535e4e7231243",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/art_hprof/art_hprof_parser.cc",
      "new_id": "42d8abcb0bb2717bce1b73916ddbb89a7d5e889f",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/art_hprof/art_hprof_parser.cc"
    },
    {
      "type": "modify",
      "old_id": "9db772170802fea379b3e818f7d25a4bd98a0114",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/art_hprof/art_hprof_parser.h",
      "new_id": "a1f511dc83ec0c036bcc16be7ac7e91c7d9d6f74",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/art_hprof/art_hprof_parser.h"
    },
    {
      "type": "modify",
      "old_id": "b18212ab3bbce79d81f0461e6d65d8d7b24cb309",
      "old_mode": 33188,
      "old_path": "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/memory.sql",
      "new_id": "b14a57d7f1e2aeb23931d4320226f197c44dbcaa",
      "new_mode": 33188,
      "new_path": "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/memory.sql"
    },
    {
      "type": "modify",
      "old_id": "ae6f362cbb5728bd9a4e92f28bd9994dc33be81a",
      "old_mode": 33188,
      "old_path": "src/trace_processor/tables/profiler_tables.py",
      "new_id": "abe93828a4a41a327e3c80fef52041eec37b7931",
      "new_mode": 33188,
      "new_path": "src/trace_processor/tables/profiler_tables.py"
    },
    {
      "type": "modify",
      "old_id": "2702c43cee795ce0bef52199e2750de8036056d0",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/art_hprof/tests.py",
      "new_id": "d5eae06a20aa77f3b78559bc09874adc68551698",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/art_hprof/tests.py"
    }
  ]
}
