)]}'
{
  "commit": "d5712942a4edeafb4d8672432dbeafbf1c502b0e",
  "tree": "83ad60fca65dbf69bc25f0dbd53ada7c8238b7c1",
  "parents": [
    "3a270e211595cc350d61330362c8d7409b9cd018"
  ],
  "author": {
    "name": "Matt Turner",
    "email": "mattst88@gmail.com",
    "time": "Mon Jun 15 18:44:12 2026 -0400"
  },
  "committer": {
    "name": "Matt Turner",
    "email": "mattst88@gmail.com",
    "time": "Mon Jun 15 18:44:12 2026 -0400"
  },
  "message": "perf annotate: add Alpha instruction support\n\nTeach perf annotate about the Alpha control-transfer instructions so jump/call/\nreturn arrows and cross-CPU annotation work for Alpha perf.data.\n\nAdd tools/perf/util/annotate-arch/annotate-alpha.c with arch__new_alpha() and an\nassociate_instruction_ops() that classifies:\n  call:   bsr, jsr, jsr_coroutine\n  ret:    ret\n  jump:   br, jmp, and the conditional branches beq/bne/blt/ble/bgt/bge/blbc/\n          blbs and fbeq/fbne/fblt/fble/fbgt/fbge\n  mov:    mov, fmov (objdump pseudos)\n\nEM_ALPHA is 0x9026, far too large to index the e_machine-keyed arch_new_fn[]\ntable in arch__find(), so select arch__new_alpha explicitly before the table\nlookup. Declare it in disasm.h and add the object to the annotate-arch Build.\n\nDisassembly itself comes from objdump/binutils, which already supports Alpha;\nthis provides perf\u0027s instruction-class metadata for annotation.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "23316743fdc524b25ca2eb56bcd3933b074fd1a9",
      "old_mode": 33188,
      "old_path": "tools/perf/util/annotate-arch/Build",
      "new_id": "0a74e1a9f17b0f4bfb5b3211ce0f375d8fe3305d",
      "new_mode": 33188,
      "new_path": "tools/perf/util/annotate-arch/Build"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7ef20a4a75d2a6697dc0616e2878569d02b33437",
      "new_mode": 33188,
      "new_path": "tools/perf/util/annotate-arch/annotate-alpha.c"
    },
    {
      "type": "modify",
      "old_id": "59ba88e1f7443c027aa2badbc06339723a9172cc",
      "old_mode": 33188,
      "old_path": "tools/perf/util/disasm.c",
      "new_id": "69119b10d66c164d6dc743d98f76f342b4b69a48",
      "new_mode": 33188,
      "new_path": "tools/perf/util/disasm.c"
    },
    {
      "type": "modify",
      "old_id": "25756e3f47e47240edf254fc46442320c1d85fa8",
      "old_mode": 33188,
      "old_path": "tools/perf/util/disasm.h",
      "new_id": "adbdbf8f1f35a5e6d6d5ed3a6fd4c001bace3961",
      "new_mode": 33188,
      "new_path": "tools/perf/util/disasm.h"
    }
  ]
}
