)]}'
{
  "commit": "f7699740cc557dd8baef6b5f4ebc7106cecddb90",
  "tree": "4156e0e66eb55434030fd492de70e427fca0c9d2",
  "parents": [
    "b246cad21673483937c8fe210cc348aa5907d2e2"
  ],
  "author": {
    "name": "Tess Strickland",
    "email": "sstrickl@google.com",
    "time": "Tue Jun 03 05:56:59 2025 -0700"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jun 03 05:56:59 2025 -0700"
  },
  "message": "[vm] Allow manual loading of Mach-O dynamic library snapshots.\n\nAdds a Mach-O loader, similar to the existing ELF loader, that\ncan be used on platforms that do not support loading Mach-O dynamic\nlibraries via dlopen().\n\nOther changes:\n\n* Renames the --force-load-elf-from-memory command line argument\n  to --force-load-from-memory.\n* Use CPU_TYPE_ANY and CPU_SUBTYPE_ANY for architectures that do\n  not have specific constants in \u003cmach/machine.h\u003e (e.g., RISCV),\n  as the snapshot header check after loading also catches architecture\n  mismatches.\n* Emit the unwinding information at the end of the text segment\n  for Windows Mach-O snapshots as is done for ELF ones.\n\nTEST\u003dvm/dart/unobfuscated_static_symbols_test\n     vm/dart/use_dwarf_stack_traces_flag_test\n\nIssue: https://github.com/dart-lang/sdk/issues/60307\nChange-Id: I34a2a334f47d18d5c4f4a712956e71fd0ac94024\nCq-Include-Trybots: luci.dart.try:vm-aot-linux-debug-x64-try,vm-mac-release-arm64-try,vm-aot-mac-release-arm64-try,vm-aot-mac-release-x64-try,vm-aot-dwarf-linux-product-x64-try,vm-linux-debug-x64-try,vm-mac-debug-arm64-try,vm-fuchsia-release-x64-try,vm-fuchsia-release-arm64-try,vm-linux-debug-ia32-try,vm-aot-linux-debug-simarm_x64-try,vm-aot-linux-debug-simriscv32-try,vm-aot-linux-debug-simriscv64-try,vm-aot-linux-release-simarm_x64-try,vm-gcc-linux-try,vm-ubsan-linux-release-arm64-try,vm-aot-win-release-arm64-try,vm-aot-win-release-x64-try,vm-win-release-x64-try,vm-win-release-arm64-try,vm-aot-win-debug-arm64-try,vm-win-debug-arm64-try\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/430100\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\nReviewed-by: Ryan Macnak \u003crmacnak@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e9becae65ae7f7ed29f5ed5833ace1bee9189464",
      "old_mode": 33188,
      "old_path": "runtime/bin/BUILD.gn",
      "new_id": "18c08b4e78ed0da4782f8e5827cd898a277d8bcf",
      "new_mode": 33188,
      "new_path": "runtime/bin/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "9028becc47e2c68fa32fdd63bcb901251f70ab3c",
      "old_mode": 33188,
      "old_path": "runtime/bin/elf_loader.cc",
      "new_id": "1ba6f00696b2c4a84fc1b0f1972d091a9e3b41a8",
      "new_mode": 33188,
      "new_path": "runtime/bin/elf_loader.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "637319fbede6b529c0d21c0d5817eac56717c251",
      "new_mode": 33188,
      "new_path": "runtime/bin/macho_loader.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "54e50c4bb279d0b01610c92bf1e0168f35f0d818",
      "new_mode": 33188,
      "new_path": "runtime/bin/macho_loader.h"
    },
    {
      "type": "modify",
      "old_id": "3f48e0ab984e2a46377a408fe043e437b8128ae8",
      "old_mode": 33188,
      "old_path": "runtime/bin/main_impl.cc",
      "new_id": "0096d05bf10d3e5d95b45f4da29860ace26de5fa",
      "new_mode": 33188,
      "new_path": "runtime/bin/main_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "9c6c6b7578c836aaf9eba790ed594f98a02db66a",
      "old_mode": 33188,
      "old_path": "runtime/bin/main_options.h",
      "new_id": "5b696f74ade34b6302ae156779966ef60ebf33fb",
      "new_mode": 33188,
      "new_path": "runtime/bin/main_options.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cb2ce48c2d8e88c89e7c0c1c4c4bc0bf0bedd54c",
      "new_mode": 33188,
      "new_path": "runtime/bin/mappable.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "607348392af98a6fd357f6e6e43dc240afbbd731",
      "new_mode": 33188,
      "new_path": "runtime/bin/mappable.h"
    },
    {
      "type": "modify",
      "old_id": "c56a385c3b39c6332ff0e0a5def228d90ba4c30d",
      "old_mode": 33188,
      "old_path": "runtime/bin/snapshot_utils.cc",
      "new_id": "906056456a607baad91d6f47de692b3f06714251",
      "new_mode": 33188,
      "new_path": "runtime/bin/snapshot_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "2b25de9424275a036f75e29d45b28c94adad538b",
      "old_mode": 33188,
      "old_path": "runtime/bin/snapshot_utils.h",
      "new_id": "8ede183411eb117348968116dab358521131370d",
      "new_mode": 33188,
      "new_path": "runtime/bin/snapshot_utils.h"
    },
    {
      "type": "modify",
      "old_id": "789c870449782271d63a699b6b678f69ba95f2d5",
      "old_mode": 33188,
      "old_path": "runtime/platform/mach_o.h",
      "new_id": "f9543ba0e2b89cfd63486017d27b1301a3e4956b",
      "new_mode": 33188,
      "new_path": "runtime/platform/mach_o.h"
    },
    {
      "type": "modify",
      "old_id": "eed39790490f6ab69054122878f4fd0f6ac02daa",
      "old_mode": 33188,
      "old_path": "runtime/tests/vm/dart/exported_symbols_test.dart",
      "new_id": "508901dd758751fb5e9781b51344b1316e8ea247",
      "new_mode": 33188,
      "new_path": "runtime/tests/vm/dart/exported_symbols_test.dart"
    },
    {
      "type": "modify",
      "old_id": "4ba1a547d9ffeae139275a45a11f822e02154131",
      "old_mode": 33188,
      "old_path": "runtime/tests/vm/dart/unobfuscated_static_symbols_test.dart",
      "new_id": "679c58a517f574eb47894f72f784f7029f059a3e",
      "new_mode": 33188,
      "new_path": "runtime/tests/vm/dart/unobfuscated_static_symbols_test.dart"
    },
    {
      "type": "modify",
      "old_id": "325aa3c0380800512ec2b6cd8ee5404c0d398736",
      "old_mode": 33188,
      "old_path": "runtime/tests/vm/dart/use_dwarf_stack_traces_flag_test.dart",
      "new_id": "f696cf4608cf2fd950dda264a1ace83aa7df7347",
      "new_mode": 33188,
      "new_path": "runtime/tests/vm/dart/use_dwarf_stack_traces_flag_test.dart"
    },
    {
      "type": "modify",
      "old_id": "003236f0ca8fa4973d4c0839fee1b6f13dce3463",
      "old_mode": 33188,
      "old_path": "runtime/vm/mach_o.cc",
      "new_id": "59fe296ec4a8f867255acd2b3c92825ca4445aaa",
      "new_mode": 33188,
      "new_path": "runtime/vm/mach_o.cc"
    },
    {
      "type": "modify",
      "old_id": "da377730a3bbc2cb9097ecbb9ef7125471f8f7f8",
      "old_mode": 33188,
      "old_path": "tests/ffi/ffi_induce_a_crash_test.dart",
      "new_id": "9b11e33463d13fb80b14f09c320402ad58e67e88",
      "new_mode": 33188,
      "new_path": "tests/ffi/ffi_induce_a_crash_test.dart"
    }
  ]
}
