)]}'
{
  "commit": "70bd1c2dd293a34cf242564787fb1fc8e9da9ab0",
  "tree": "d3200eccfaab4a53b48980a7080ed52be06ba932",
  "parents": [
    "ffb543d32f14803e8379c15a0a2d96c6b4c4dacd"
  ],
  "author": {
    "name": "Mark Shannon",
    "email": "Mark.Shannon@arm.com",
    "time": "Tue May 05 14:19:16 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue May 05 14:19:16 2026"
  },
  "message": "GH-143732: SEND specialization (GH-148963)\n\n* SEND specialization. Adds 2 new specialized instructions:\n\n* SEND_VIRTUAL: for sends to virtual iterators e.g lists and tuples\n* SEND_ASYNC_GEN: for sends to async generators\n\nTweak FOR_ITER_VIRTUAL so that SEND_VIRTUAL and FOR_ITER_VIRTUAL use equivalent guards",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d0b3d0cb14de3df3721e03fac52939c4e27071a8",
      "old_mode": 33188,
      "old_path": "Include/cpython/object.h",
      "new_id": "326254c335b4895763f655d2fa67e506e27c4d23",
      "new_mode": 33188,
      "new_path": "Include/cpython/object.h"
    },
    {
      "type": "modify",
      "old_id": "b9eb4fd9891e6699760878ca76e782cada69a938",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_abstract.h",
      "new_id": "67c6fa7c0c4ed5b7c201cd5cdc49330d0f2ecc34",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_abstract.h"
    },
    {
      "type": "modify",
      "old_id": "2c264c39ae9de0fa1b2067fb892414a8ab7a38db",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_genobject.h",
      "new_id": "c86ae242feac1ed1a47f4a64858813dd0ee84a81",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_genobject.h"
    },
    {
      "type": "modify",
      "old_id": "fd918e13f2d1c72c2a5414321dcaabdc16f49a7f",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_magic_number.h",
      "new_id": "177938e3cdb5eb81639ea92cc65000f9d9646cc6",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_magic_number.h"
    },
    {
      "type": "modify",
      "old_id": "b82ad991d539d552e204d55b0128f9d22ffdc2cc",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_opcode_metadata.h",
      "new_id": "d2e29a1b95ede2f84171b50c9214422a78d4ec0c",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_opcode_metadata.h"
    },
    {
      "type": "modify",
      "old_id": "190d4aba7574fe25a22f4a1a07ca51f696206afc",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_uop_ids.h",
      "new_id": "7c44c0a430b7311eb09a0174956fe8af99d7cf40",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_uop_ids.h"
    },
    {
      "type": "modify",
      "old_id": "688e6b0112b554c1a764596c97b2c284887d73dd",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_uop_metadata.h",
      "new_id": "6713e9bc95f942da434b0a431385aded848e884a",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_uop_metadata.h"
    },
    {
      "type": "modify",
      "old_id": "53a7eaf0de57ebf9b54d893c2184d04c50f68e9a",
      "old_mode": 33188,
      "old_path": "Include/opcode_ids.h",
      "new_id": "758542720acf3176030e61465fe974b0aace88fc",
      "new_mode": 33188,
      "new_path": "Include/opcode_ids.h"
    },
    {
      "type": "modify",
      "old_id": "6b5357a31511905d1c1e978afe2bd5fc3d478d44",
      "old_mode": 33188,
      "old_path": "Lib/_opcode_metadata.py",
      "new_id": "183d0af30acf438b422b6d08527e5ee2f65f6604",
      "new_mode": 33188,
      "new_path": "Lib/_opcode_metadata.py"
    },
    {
      "type": "modify",
      "old_id": "6c2e33b27951ca9b11234f569e79547970a474f0",
      "old_mode": 33188,
      "old_path": "Lib/test/test_capi/test_opt.py",
      "new_id": "d80fec9a8a0d2b03c3500d33a5eb16966f3b2db0",
      "new_mode": 33188,
      "new_path": "Lib/test/test_capi/test_opt.py"
    },
    {
      "type": "modify",
      "old_id": "9480bf8b87baf35d111de509e7c027fb1c5b3583",
      "old_mode": 33188,
      "old_path": "Lib/test/test_opcache.py",
      "new_id": "bd97b0b4d61474fd30b774024199d7d8018aa5a7",
      "new_mode": 33188,
      "new_path": "Lib/test/test_opcache.py"
    },
    {
      "type": "modify",
      "old_id": "199a9087dfe3bc1cdfd0c354a87a3cf86f1a37b8",
      "old_mode": 33188,
      "old_path": "Lib/test/test_sys_settrace.py",
      "new_id": "a5e7bbbfad5ffca10d98e7f3479a1adcd53635f4",
      "new_mode": 33188,
      "new_path": "Lib/test/test_sys_settrace.py"
    },
    {
      "type": "modify",
      "old_id": "46627c33d2a7c90d1c491de7142d2ce1d43434a5",
      "old_mode": 33188,
      "old_path": "Modules/_testinternalcapi/test_cases.c.h",
      "new_id": "238e17bea303d3524aa4c99f22b976eb3332ca80",
      "new_mode": 33188,
      "new_path": "Modules/_testinternalcapi/test_cases.c.h"
    },
    {
      "type": "modify",
      "old_id": "43d4656a4b7f7e390eee506f309d194f476aee8f",
      "old_mode": 33188,
      "old_path": "Modules/_testinternalcapi/test_targets.h",
      "new_id": "1a7eb9169fc837c3029e5a013fec2d69de4cc97b",
      "new_mode": 33188,
      "new_path": "Modules/_testinternalcapi/test_targets.h"
    },
    {
      "type": "modify",
      "old_id": "0bbf60840a3346bee53f47340248bc498503b3d1",
      "old_mode": 33188,
      "old_path": "Objects/abstract.c",
      "new_id": "48b3137152e7bf3314793f392b49a6d71086fbcf",
      "new_mode": 33188,
      "new_path": "Objects/abstract.c"
    },
    {
      "type": "modify",
      "old_id": "d628889afc6dc8f169d68832aa286b9ffc12a0c0",
      "old_mode": 33188,
      "old_path": "Objects/genobject.c",
      "new_id": "8c5d720c0b9035cedd07bee7380d7bbf34a42ca5",
      "new_mode": 33188,
      "new_path": "Objects/genobject.c"
    },
    {
      "type": "modify",
      "old_id": "8b411829214b5218a357d7a275a87c4316cade89",
      "old_mode": 33188,
      "old_path": "Python/bytecodes.c",
      "new_id": "3bd489122da9d42d67da3fc2043f7171d8be4fa5",
      "new_mode": 33188,
      "new_path": "Python/bytecodes.c"
    },
    {
      "type": "modify",
      "old_id": "be3d5fb0a69ad492d7d3f3e649dc739f5439357b",
      "old_mode": 33188,
      "old_path": "Python/ceval_macros.h",
      "new_id": "c61690e8bd7240a21590f48b3221823371d126fe",
      "new_mode": 33188,
      "new_path": "Python/ceval_macros.h"
    },
    {
      "type": "modify",
      "old_id": "a77451152c60394478635c5c16988ae6de67b441",
      "old_mode": 33188,
      "old_path": "Python/codegen.c",
      "new_id": "529c1733598e38119ceaa3991beecee8326e2cca",
      "new_mode": 33188,
      "new_path": "Python/codegen.c"
    },
    {
      "type": "modify",
      "old_id": "76caff06ca61f791870ad61a29d8166b18bf2fc5",
      "old_mode": 33188,
      "old_path": "Python/executor_cases.c.h",
      "new_id": "b6a2821db3007efe793f10ce12d928b092555aad",
      "new_mode": 33188,
      "new_path": "Python/executor_cases.c.h"
    },
    {
      "type": "modify",
      "old_id": "0419991ca7761ad2d4c9499c6a19846083d8eaf7",
      "old_mode": 33188,
      "old_path": "Python/generated_cases.c.h",
      "new_id": "2623105656c90c35695c6c12ba826fa7ada4f2ea",
      "new_mode": 33188,
      "new_path": "Python/generated_cases.c.h"
    },
    {
      "type": "modify",
      "old_id": "5c8f87857731fc7641d721a45a6c34573aa2b0f4",
      "old_mode": 33188,
      "old_path": "Python/jit.c",
      "new_id": "67dd88f510040eb8057fa9a8b294a4e0b0998266",
      "new_mode": 33188,
      "new_path": "Python/jit.c"
    },
    {
      "type": "modify",
      "old_id": "43d4656a4b7f7e390eee506f309d194f476aee8f",
      "old_mode": 33188,
      "old_path": "Python/opcode_targets.h",
      "new_id": "1a7eb9169fc837c3029e5a013fec2d69de4cc97b",
      "new_mode": 33188,
      "new_path": "Python/opcode_targets.h"
    },
    {
      "type": "modify",
      "old_id": "c8ce4396b426e45a544e72c997967043a093385e",
      "old_mode": 33188,
      "old_path": "Python/optimizer.c",
      "new_id": "db258fff22cdd13aff52e4767a29cf2e9a0d70ba",
      "new_mode": 33188,
      "new_path": "Python/optimizer.c"
    },
    {
      "type": "modify",
      "old_id": "f10c304fa0200108d48fc4b02b2a5bc918259b13",
      "old_mode": 33188,
      "old_path": "Python/optimizer_bytecodes.c",
      "new_id": "e10a096baa33188ef731d76758b5cf66a920af65",
      "new_mode": 33188,
      "new_path": "Python/optimizer_bytecodes.c"
    },
    {
      "type": "modify",
      "old_id": "0cad3524850df489417b5dc7acd96e3fcafda5b4",
      "old_mode": 33188,
      "old_path": "Python/optimizer_cases.c.h",
      "new_id": "01ecb3790aa2cdb7c40fa7ddb1d2c9178ec61f66",
      "new_mode": 33188,
      "new_path": "Python/optimizer_cases.c.h"
    },
    {
      "type": "modify",
      "old_id": "ce5d25b004ab3c368636b1d10909017bc1a7b80f",
      "old_mode": 33188,
      "old_path": "Python/record_functions.c.h",
      "new_id": "8cd87f00e8079e1f6ff7eca18a891dfa4c9c0b93",
      "new_mode": 33188,
      "new_path": "Python/record_functions.c.h"
    },
    {
      "type": "modify",
      "old_id": "b50728d4a2f3f3a646b23207a71d18d72bcf6871",
      "old_mode": 33188,
      "old_path": "Python/specialize.c",
      "new_id": "c54807931f232629be5b0f93a1c3ceb82b7b30f1",
      "new_mode": 33188,
      "new_path": "Python/specialize.c"
    },
    {
      "type": "modify",
      "old_id": "414ca18be4654cf17bd5eba8a590367af88d0433",
      "old_mode": 33188,
      "old_path": "Tools/cases_generator/analyzer.py",
      "new_id": "59bca201a947e355aff227aecc1cc57904660c4d",
      "new_mode": 33188,
      "new_path": "Tools/cases_generator/analyzer.py"
    }
  ]
}
