)]}'
{
  "commit": "16ddc23a5736df27f1fb8a730cb563576df8b7cf",
  "tree": "5be7e4b13eacd2884887ec05d913207c48af9af5",
  "parents": [
    "37e06d34b295b8990e216b4cd7c4b1ea7cdf080f"
  ],
  "author": {
    "name": "Martin Kustermann",
    "email": "kustermann@google.com",
    "time": "Thu Jan 17 12:32:38 2019 +0000"
  },
  "committer": {
    "name": "commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Thu Jan 17 12:32:38 2019 +0000"
  },
  "message": "[VM/Compiler/AOT] Bare instructions 7: Trampolines for out-of-range calls\n\nThis CL adds support to the ImageWriter to write opaque blocks of\ntrampoline bytes\n\nThe AOT code relocator is adapted to allow limited range calls and\ninserts trampolines if need be. The algorithm tries to minimize the\nnumber of trampolines added, which for small applications will be 0.\n\nThe unconditional pc-relative calls have limited range:\n  * on ARM (+/-32 MB)\n  * on ARM64 (+/-128 MB)\n\nTo avoid verbose code for doubly-linked list, this CL adds double_list.h\n\nIssue https://github.com/dart-lang/sdk/issues/33274\n\nChange-Id: I0354cf4b2dd58ed5de25d67fc818f0603a2ec501\nReviewed-on: https://dart-review.googlesource.com/c/89283\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Vyacheslav Egorov \u003cvegorov@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b7d734d9f4a4085ef2c41645d3e243400511e578",
      "new_mode": 33188,
      "new_path": "runtime/tests/vm/dart/bare_instructions_trampolines_test.dart"
    },
    {
      "type": "modify",
      "old_id": "dda2b1d3973fdb9e451bbf3f6d3f39717fdef830",
      "old_mode": 33188,
      "old_path": "runtime/tests/vm/vm.status",
      "new_id": "a7a4aadf69867d95154a17faf206a0908ff346f3",
      "new_mode": 33188,
      "new_path": "runtime/tests/vm/vm.status"
    },
    {
      "type": "modify",
      "old_id": "fc568c33780ef9e5773d2d52c037bcdd4956eee2",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/relocation.cc",
      "new_id": "910032e3df26fba9dfc2a234e70f77f9ec2a4eb4",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/relocation.cc"
    },
    {
      "type": "modify",
      "old_id": "4c2714f2ee90d6f5f8d6eb9df9633b206666a522",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/relocation.h",
      "new_id": "391743275c2a2e70817c566f4c599cbe67230768",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/relocation.h"
    },
    {
      "type": "modify",
      "old_id": "da5e83104c8db4fcdd862bc74fd9325a862b013f",
      "old_mode": 33188,
      "old_path": "runtime/vm/heap/heap.cc",
      "new_id": "4ce0f61b1ee2601be8a037809aa398094d0d5f43",
      "new_mode": 33188,
      "new_path": "runtime/vm/heap/heap.cc"
    },
    {
      "type": "modify",
      "old_id": "9be1458c2c79bfffd98652488ec3ee210f9b4e93",
      "old_mode": 33188,
      "old_path": "runtime/vm/image_snapshot.cc",
      "new_id": "bf7dada5c014c141f3405c9604384d920352fa5e",
      "new_mode": 33188,
      "new_path": "runtime/vm/image_snapshot.cc"
    },
    {
      "type": "modify",
      "old_id": "939a6538ee532363a0bb777a3a1bb7e468612d7a",
      "old_mode": 33188,
      "old_path": "runtime/vm/image_snapshot.h",
      "new_id": "1bc42609f714d16b7afaffd68ccffbe77a35478a",
      "new_mode": 33188,
      "new_path": "runtime/vm/image_snapshot.h"
    },
    {
      "type": "modify",
      "old_id": "f9137ac0b51894448446f7bbb1167f4127f22f7f",
      "old_mode": 33188,
      "old_path": "runtime/vm/instructions_arm.cc",
      "new_id": "1ba763340fab26cb1b5cd9c52c27a265de38e0ec",
      "new_mode": 33188,
      "new_path": "runtime/vm/instructions_arm.cc"
    },
    {
      "type": "modify",
      "old_id": "70a763652e24b6793b0087c7cae2a2d04020b7b0",
      "old_mode": 33188,
      "old_path": "runtime/vm/instructions_arm.h",
      "new_id": "9f2d4c3263bd6625eb34d699516c399bc51eec79",
      "new_mode": 33188,
      "new_path": "runtime/vm/instructions_arm.h"
    },
    {
      "type": "modify",
      "old_id": "2bf7c3729a9ecad06b8c0abbdec2d3d962198d73",
      "old_mode": 33188,
      "old_path": "runtime/vm/instructions_arm64.cc",
      "new_id": "a5e9543c2fb1a747680adf87c7588766276b5995",
      "new_mode": 33188,
      "new_path": "runtime/vm/instructions_arm64.cc"
    },
    {
      "type": "modify",
      "old_id": "18a8cc3a49811a8bc991c592b255616e8073bf28",
      "old_mode": 33188,
      "old_path": "runtime/vm/instructions_arm64.h",
      "new_id": "88e523ab1b1495cd8496a57cdf5f63cf39c0f12f",
      "new_mode": 33188,
      "new_path": "runtime/vm/instructions_arm64.h"
    },
    {
      "type": "modify",
      "old_id": "8258214444aebe0e9570ff3fc2995194650722a2",
      "old_mode": 33188,
      "old_path": "runtime/vm/instructions_x64.h",
      "new_id": "b41a95da5ec7c282768c675856bbe4e966c87527",
      "new_mode": 33188,
      "new_path": "runtime/vm/instructions_x64.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8980789e776ad739a7becce4d4cd483b22f58b4e",
      "new_mode": 33188,
      "new_path": "runtime/vm/intrusive_dlist.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c917b85caa0671cdfdbf91e031c188ce3b92abf0",
      "new_mode": 33188,
      "new_path": "runtime/vm/intrusive_dlist_test.cc"
    },
    {
      "type": "modify",
      "old_id": "82b96456a5d44a5190b097d59da43fbe362a153e",
      "old_mode": 33188,
      "old_path": "runtime/vm/vm_sources.gni",
      "new_id": "9bfbb25ed59cb61cd24bee8f72d563aa8d2ce3fb",
      "new_mode": 33188,
      "new_path": "runtime/vm/vm_sources.gni"
    }
  ]
}
