)]}'
{
  "commit": "a603635b85733e640c9fcf1bbffac8bd80b2eabe",
  "tree": "72a4aa027dfecb8741232c6602e8297836dba1ab",
  "parents": [
    "0d6be92bfb999c8f596805635d13622f6d11e20b"
  ],
  "author": {
    "name": "Martin Kustermann",
    "email": "kustermann@google.com",
    "time": "Thu Jun 07 11:35:58 2018 +0000"
  },
  "committer": {
    "name": "Martin Kustermann",
    "email": "kustermann@google.com",
    "time": "Thu Jun 07 11:35:58 2018 +0000"
  },
  "message": "[VM] Decouple frontend from frame layout\n\nSo far the frontend (parser, flow graph builder, ssa construction) were\naware of the actual frame layout.\n\nThis CL makes the indices we assign to [LocalVariable]s logical\nindices, assigning:\n\n  * M parameters the indices      1 ... M\n  * N local variables the indices 0 -1 ... -(N-1)\n\nThe scope building, flow graph builder and ssa construction operate on\nthose logical indices.\n\nWhen emitting actual code, the backend will translate those indices into\nactual FP relative indices. This allows us to be more flexible in the\nbackend which frame layout we choose.\n\nIssue https://github.com/dart-lang/sdk/issues/33274\n\nChange-Id: I9a504bf97821c257aafd2b3430df9f4c9da4b442\nReviewed-on: https://dart-review.googlesource.com/57321\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Vyacheslav Egorov \u003cvegorov@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "62b9a3b3d583c87136f3f3e96d623d09da06461e",
      "old_mode": 33188,
      "old_path": "runtime/vm/ast_printer.cc",
      "new_id": "f9b190e52f29bf8bd248bbbe6b6ef861b8f325eb",
      "new_mode": 33188,
      "new_path": "runtime/vm/ast_printer.cc"
    },
    {
      "type": "modify",
      "old_id": "128317adfc660a50d9d749f6bbab15b56a9d3f06",
      "old_mode": 33188,
      "old_path": "runtime/vm/ast_printer_test.cc",
      "new_id": "22a73ecc2acac7e62c00aa9995bc8b8545d57542",
      "new_mode": 33188,
      "new_path": "runtime/vm/ast_printer_test.cc"
    },
    {
      "type": "modify",
      "old_id": "2ade4e754352c535c25ea9a900bdef0183d58f92",
      "old_mode": 33188,
      "old_path": "runtime/vm/ast_test.cc",
      "new_id": "72fa92d8c560c7658f7c30ba63552d3d2f0bb24e",
      "new_mode": 33188,
      "new_path": "runtime/vm/ast_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c4740e2d4d549defd52aef6c7420f9c2da372177",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/flow_graph.cc",
      "new_id": "510052d2a7d95aef8b6b6c7980b168abbfaa7eee",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/flow_graph.cc"
    },
    {
      "type": "modify",
      "old_id": "ac09be054418f33a317fc4c4c332301332a8c441",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/flow_graph.h",
      "new_id": "dbd7564c20f0eee9c04f496b194f6ad45355a2ad",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/flow_graph.h"
    },
    {
      "type": "modify",
      "old_id": "5386304a3ab7ae462884e209dfc68c0a3bd212db",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/flow_graph_compiler.cc",
      "new_id": "9b611ee348258cbc23ff40bd7863b01818f09fc3",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/flow_graph_compiler.cc"
    },
    {
      "type": "modify",
      "old_id": "8185f32ad9319cf063e6550054ce900811d55ac3",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/flow_graph_compiler.h",
      "new_id": "f31d130a2f7470d0ac337cd93fa21c5da91562a6",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/flow_graph_compiler.h"
    },
    {
      "type": "modify",
      "old_id": "fc46ea56b8f4a451564cbc034081224c5e1a5449",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/flow_graph_compiler_arm.cc",
      "new_id": "6d150d31c74857f61ce091ba569fac61096210ac",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/flow_graph_compiler_arm.cc"
    },
    {
      "type": "modify",
      "old_id": "8cc261335d9bb65b60229d696b2f61a0860b04af",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc",
      "new_id": "cef314efb21840f5164f2e34bff8f5168b0eeb87",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc"
    },
    {
      "type": "modify",
      "old_id": "557f69a9f3b51b289a6ecbd4508217e8b472811f",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/flow_graph_compiler_dbc.cc",
      "new_id": "1d6c20e014cef10902a80049d1ff831dabd8e3eb",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/flow_graph_compiler_dbc.cc"
    },
    {
      "type": "modify",
      "old_id": "e458c9f6b1e14d50d934b202aa0862e0a1b1e537",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc",
      "new_id": "6e4f3054d935c238adf09f1130f75ff657c09321",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc"
    },
    {
      "type": "modify",
      "old_id": "cc16650b01e944797732fbb64c3c6514bb8487cb",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/flow_graph_compiler_x64.cc",
      "new_id": "6a91d2190247387fceaff76420a491cd1c8284c8",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/flow_graph_compiler_x64.cc"
    },
    {
      "type": "modify",
      "old_id": "e9a04e7d4f36e02a81856df0bf93825f877df1cd",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_arm.cc",
      "new_id": "3fab23e60234e64b30cee04da82c82eaed24460a",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_arm.cc"
    },
    {
      "type": "modify",
      "old_id": "204dd69b196d4dc40e8dfd687f04c77cc5231ae4",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_arm64.cc",
      "new_id": "24d2e84aba56c872c2a8a15149cc5c7f8cf778e7",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_arm64.cc"
    },
    {
      "type": "modify",
      "old_id": "c00e4e9f2cd441ed318ab176264795b0350ec5c4",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_dbc.cc",
      "new_id": "045194469db4377e295049be548f9a080ada0ff3",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_dbc.cc"
    },
    {
      "type": "modify",
      "old_id": "e8ec6e34e9b1c3757f13aa908fd318a83e4d71e2",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_ia32.cc",
      "new_id": "94652d996fa2f47e06dc0cca7b664303d4c0c4e1",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_ia32.cc"
    },
    {
      "type": "modify",
      "old_id": "c77e7d62cfa8b1a6ee83f611ef5eb4a5bbcd95ef",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_printer.cc",
      "new_id": "44e1b374082ef360899458322af19f29c5375b03",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_printer.cc"
    },
    {
      "type": "modify",
      "old_id": "aeb619b18f4f906a8f9922533b1a87c40ab33e38",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_x64.cc",
      "new_id": "e46cd8880b6ba3cfb2b3158ada8a8016278f7727",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_x64.cc"
    },
    {
      "type": "modify",
      "old_id": "76c0335bdd620f2abf29e6f0bf68aa20023a289e",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/linearscan.cc",
      "new_id": "4b6a94d96348e23e3fb482735b2ecb6900d4711b",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/linearscan.cc"
    },
    {
      "type": "modify",
      "old_id": "44c88eedac71d49cbc9eb5c68ea6e372055e803c",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/locations.cc",
      "new_id": "f1435e5dc588906bab5798826074eed1dc2503ce",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/locations.cc"
    },
    {
      "type": "modify",
      "old_id": "fd4d576c6e0f6b84749f55586aee57c522909032",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/locations.h",
      "new_id": "ec6ab97135b3b58cc099dbeddc13ecab84f8af46",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/locations.h"
    },
    {
      "type": "modify",
      "old_id": "faadfa61a558c758dc2748e20c69044e8d88e4dc",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/redundancy_elimination.cc",
      "new_id": "651a3e604870c2b770c00dd7efd098245312a199",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/redundancy_elimination.cc"
    },
    {
      "type": "modify",
      "old_id": "16977f312f12e7762c4b9ed2599e41e28e656671",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/frontend/flow_graph_builder.cc",
      "new_id": "5a9a9e729c2bfe28472c170ec158768701be5d0b",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/frontend/flow_graph_builder.cc"
    },
    {
      "type": "modify",
      "old_id": "c799b2e96856e2eb890daf06cd900ba5995bce77",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc",
      "new_id": "bc2cde03842ab015728ee54e310824294cfd38f1",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc"
    },
    {
      "type": "modify",
      "old_id": "d7f2f9ddcb6f63305c04a8fbe7c6b0bc2c2026fa",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/frontend/kernel_to_il.cc",
      "new_id": "8d9694816a2246a29fdddcf2969ecc89e2aa1583",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/frontend/kernel_to_il.cc"
    },
    {
      "type": "modify",
      "old_id": "ee069b2920c97c64f42d3b7ef29e7e6985ce8cae",
      "old_mode": 33188,
      "old_path": "runtime/vm/deopt_instructions.cc",
      "new_id": "16941097d424dbb3482fa255a39e1f005fc172fb",
      "new_mode": 33188,
      "new_path": "runtime/vm/deopt_instructions.cc"
    },
    {
      "type": "modify",
      "old_id": "9446940dc46c660dd380cef08ebfb1c0b2d22114",
      "old_mode": 33188,
      "old_path": "runtime/vm/object_test.cc",
      "new_id": "bc8d793311487ced53c9e3ece26264f6d4a2e1bc",
      "new_mode": 33188,
      "new_path": "runtime/vm/object_test.cc"
    },
    {
      "type": "modify",
      "old_id": "0226504b92d8fcf429d8a4c0035fa60f6d3a4047",
      "old_mode": 33188,
      "old_path": "runtime/vm/parser.cc",
      "new_id": "ba1f60e5425bb50619fbef71b2b26f3fa264dc0b",
      "new_mode": 33188,
      "new_path": "runtime/vm/parser.cc"
    },
    {
      "type": "modify",
      "old_id": "ca45d6ceec557edece4d23863b7ca73871b0ea5f",
      "old_mode": 33188,
      "old_path": "runtime/vm/parser.h",
      "new_id": "2a4952e438831885c41f2f5ccce38296ef6af874",
      "new_mode": 33188,
      "new_path": "runtime/vm/parser.h"
    },
    {
      "type": "modify",
      "old_id": "c4f43475ce5104a8bb104e66bc84461b9c0eb8f5",
      "old_mode": 33188,
      "old_path": "runtime/vm/regexp_assembler_ir.cc",
      "new_id": "b6656d18374c41626986d24a17d73018a3b96aab",
      "new_mode": 33188,
      "new_path": "runtime/vm/regexp_assembler_ir.cc"
    },
    {
      "type": "modify",
      "old_id": "e38d191d1ecaeaf319870fb81ecb449414da8f6b",
      "old_mode": 33188,
      "old_path": "runtime/vm/scopes.cc",
      "new_id": "af7c42af662231ccf8b0c90b4895955e6feb7ed3",
      "new_mode": 33188,
      "new_path": "runtime/vm/scopes.cc"
    },
    {
      "type": "modify",
      "old_id": "e739416f4f3351404c5cedf1f7d4849be3f1d9f4",
      "old_mode": 33188,
      "old_path": "runtime/vm/scopes.h",
      "new_id": "d8bd50e9afe7fe8a72ce59a91038c9c3d9b9d16b",
      "new_mode": 33188,
      "new_path": "runtime/vm/scopes.h"
    },
    {
      "type": "modify",
      "old_id": "90f03672978be47490fdf7724b922744896c0070",
      "old_mode": 33188,
      "old_path": "runtime/vm/stack_frame.cc",
      "new_id": "9cec45e6d3fa6f63b272cde48be3aa15610ab5bc",
      "new_mode": 33188,
      "new_path": "runtime/vm/stack_frame.cc"
    },
    {
      "type": "modify",
      "old_id": "bb90918e93a13c324c48523d212ab5556852a0fc",
      "old_mode": 33188,
      "old_path": "runtime/vm/stack_frame.h",
      "new_id": "8071323c07d682e00c3ed930594b99865380b50e",
      "new_mode": 33188,
      "new_path": "runtime/vm/stack_frame.h"
    },
    {
      "type": "modify",
      "old_id": "64a7cb35e04a7f1d6447b47f6f769c8ec82f326e",
      "old_mode": 33188,
      "old_path": "runtime/vm/stack_frame_dbc.h",
      "new_id": "475d9b712469d662fa03a705ab2331b3d309a4f9",
      "new_mode": 33188,
      "new_path": "runtime/vm/stack_frame_dbc.h"
    }
  ]
}
