)]}'
{
  "commit": "47e7dacf44524acd51fff9911164e759e05af014",
  "tree": "15861c6bca3b3ec80ffe6170829d001a4525052a",
  "parents": [
    "e0b56ec62c025309e2c222f088d27ab4db470769"
  ],
  "author": {
    "name": "brettw@chromium.org",
    "email": "brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98",
    "time": "Mon Nov 04 19:19:59 2013 +0000"
  },
  "committer": {
    "name": "brettw@chromium.org",
    "email": "brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98",
    "time": "Mon Nov 04 19:19:59 2013 +0000"
  },
  "message": "GN: toolchain threading cleanup\n\nRemove the thread-unsafe toolchain pointer on the otherwise-threadsafe Settings object. I replaced it with the toolchain label, and moved the is_default flag from the toolchain to the Settings object.\n\nThis required that I pass the toolchain around in a few more places, but also simplifies some other cases.\n\nI removed the toolchain prefix from Ninja rules for the default toolchain since that\u0027s not necessary any more for GYP compat.\n\nThis fixes an annoying double-free in the toolchain manager. I think my current refactor will clean this up in a later phase.\n\nR\u003dscottmg@chromium.org\n\nCommitted: https://src.chromium.org/viewvc/chrome?view\u003drev\u0026revision\u003d232657\n\nReview URL: https://codereview.chromium.org/51693002\n\nCr-Mirrored-From: https://chromium.googlesource.com/chromium/src\nCr-Mirrored-Commit: 132715e1e82b1f69fc5a67d3acedb24c12d02e2a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "850d596485891d3dd1f8c68fb9eb65f088dc748f",
      "old_mode": 33188,
      "old_path": "tools/gn/config.cc",
      "new_id": "5b89e2beb020d82ca179e6b866b5a49ae529960b",
      "new_mode": 33188,
      "new_path": "tools/gn/config.cc"
    },
    {
      "type": "modify",
      "old_id": "0ee9b7ba36ace940284716165d5ed5a51ad0c0e0",
      "old_mode": 33188,
      "old_path": "tools/gn/config.h",
      "new_id": "e5a1df6d7eeee7bdbb1a9fdab95eb6943c74ce60",
      "new_mode": 33188,
      "new_path": "tools/gn/config.h"
    },
    {
      "type": "modify",
      "old_id": "bf55165ea4f975f7e2e1c5b0887917d89b4b7fae",
      "old_mode": 33188,
      "old_path": "tools/gn/function_exec_script.cc",
      "new_id": "b3825751054048c30c39bed35aae2fa8981b18b3",
      "new_mode": 33188,
      "new_path": "tools/gn/function_exec_script.cc"
    },
    {
      "type": "modify",
      "old_id": "933d55e9beed316fae019222a3db3702a97567dc",
      "old_mode": 33188,
      "old_path": "tools/gn/function_toolchain.cc",
      "new_id": "dde0306fb14cdc91922c1e534c010e5c47b7400b",
      "new_mode": 33188,
      "new_path": "tools/gn/function_toolchain.cc"
    },
    {
      "type": "modify",
      "old_id": "acc8fe930bb28ed557d86c3d3b5d44b7551f832d",
      "old_mode": 33188,
      "old_path": "tools/gn/functions.cc",
      "new_id": "0e2729771c3f8e95267b1782203060a1237b3bd4",
      "new_mode": 33188,
      "new_path": "tools/gn/functions.cc"
    },
    {
      "type": "modify",
      "old_id": "f69ed8f2097d29a2b0c22d9795694fe17007b4ae",
      "old_mode": 33188,
      "old_path": "tools/gn/gyp_helper.cc",
      "new_id": "fb669afd123e7f0f677af1deabb34dd6378c8c3f",
      "new_mode": 33188,
      "new_path": "tools/gn/gyp_helper.cc"
    },
    {
      "type": "modify",
      "old_id": "19a8047e882810a89d7367f620ad0cddeb7f0cdd",
      "old_mode": 33188,
      "old_path": "tools/gn/input_conversion.cc",
      "new_id": "c40bdba9eab953543407acc7c29d9e37e4908987",
      "new_mode": 33188,
      "new_path": "tools/gn/input_conversion.cc"
    },
    {
      "type": "modify",
      "old_id": "747183cbd082c0578460460e55927c375dd74734",
      "old_mode": 33188,
      "old_path": "tools/gn/item.cc",
      "new_id": "fa16975c58203f907bbd6e0813beb561e0e79342",
      "new_mode": 33188,
      "new_path": "tools/gn/item.cc"
    },
    {
      "type": "modify",
      "old_id": "2538c50a722cffea66a423c9e81e21b6b8bf778c",
      "old_mode": 33188,
      "old_path": "tools/gn/item.h",
      "new_id": "69115bd7b3e664dd67352834f0daded786d53f67",
      "new_mode": 33188,
      "new_path": "tools/gn/item.h"
    },
    {
      "type": "modify",
      "old_id": "3a1d620ee1eccbadd93d63be2e2b07ed8a078b15",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_binary_target_writer.cc",
      "new_id": "c404006145b7de89cda35e6129ab468912ecee94",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "8c57ffb2743bf3921f58eadc7811808888044998",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_binary_target_writer.h",
      "new_id": "c188335c511b593c7e9b39718a00a84b5627092e",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_binary_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "a7de4a118fa7e51bd05814ad135ff4c08b75f1f5",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_binary_target_writer_unittest.cc",
      "new_id": "96a74480aa4654548688804b81c645bdbd11d331",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "5de249fa457a734bb9278c0070d1281870719935",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_copy_target_writer.cc",
      "new_id": "89b3e3fb52dfa7656594bcf8b1ac015c8906b6db",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_copy_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "99bbaffd8b555a360d1c5bfb9557491a9b840447",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_copy_target_writer.h",
      "new_id": "cadbc3882a150a593a2cb2f87319fb52dd9e700d",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_copy_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "c31cbd27f8800606120bb608c8b4a183df0f3c33",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_copy_target_writer_unittest.cc",
      "new_id": "5642d9d96dab57c8408b972593fe93f7a6b1c0da",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_copy_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "606f916c7d3536efcc03a4526935cf27ebb971c6",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_group_target_writer.cc",
      "new_id": "d29f917561240e8ff6d27b65de01626b8f289110",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_group_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "31625f8f5f41b8766eb3b05e03b3ee45c11fb609",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_group_target_writer.h",
      "new_id": "862b920b56a310a5d63015bfb0c0d5293deb951e",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_group_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "d90b698cd87b9a6c39add00d682a510658854c81",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_helper.cc",
      "new_id": "e872c2411248d8b51808450a57348483d2aa2d06",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_helper.cc"
    },
    {
      "type": "modify",
      "old_id": "bef2fcd55538ac0ff9baec89f02fe3a3532b4965",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_helper.h",
      "new_id": "84a2c896302976cce7e3eb880f6778a01e5ed329",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_helper.h"
    },
    {
      "type": "modify",
      "old_id": "6e3b25c07136307b7d427fd49a3b5a318bad007f",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_helper_unittest.cc",
      "new_id": "81f3669601683e235751dce4e1352b90126ba4dc",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_helper_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "1b8358cd79839f9ce948525c750acf1ef11e880e",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_script_target_writer.cc",
      "new_id": "e8cdef41933fd76682700443fa4c7bcfd9a162ce",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_script_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "e84d618ad58960cadca63e665dc421cf8fc0335b",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_script_target_writer.h",
      "new_id": "9c51a6a64f356c0555f8a48964e8bf9ce4b46456",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_script_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "1394717cfc68d994b32f17d2425ca1333e257f1c",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_script_target_writer_unittest.cc",
      "new_id": "f2c8a933092c8a4d50218d9215cd37354ce4f2c3",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_script_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "d73c873271d0784a252be41dea5e7b866b6ff663",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_target_writer.cc",
      "new_id": "bdc0472417cc476928c8f22ec3ccb9662f3b6400",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "c9c72a77fd1ebd55e274b43d4ca9e014708082b3",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_target_writer.h",
      "new_id": "e1c3bf8c6ef5e5d8f3acd4a69cbf3e85168ccf61",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "310caba6f6bfa3f1f621462b53a4d74b19cdfdea",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_toolchain_writer.cc",
      "new_id": "5f33e69810c6b626a1fc317e46257a0b594a9473",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_toolchain_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "525aab611e3dafae6ade56150e232311e8413fae",
      "old_mode": 33188,
      "old_path": "tools/gn/scope_per_file_provider.cc",
      "new_id": "1f4bc259c8c93e00a3243fee4ccc3348eaa6fdcb",
      "new_mode": 33188,
      "new_path": "tools/gn/scope_per_file_provider.cc"
    },
    {
      "type": "modify",
      "old_id": "1137d3b46c6de402b62ada2fe75c7038949a0405",
      "old_mode": 33188,
      "old_path": "tools/gn/scope_per_file_provider_unittest.cc",
      "new_id": "776a0aa716d0742a81284983ca42600c046574ce",
      "new_mode": 33188,
      "new_path": "tools/gn/scope_per_file_provider_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "bfab85d6e580d9de850502dd112d91dd32f45099",
      "old_mode": 33188,
      "old_path": "tools/gn/settings.cc",
      "new_id": "b8de9766fe97e07a8fe7eff4e5079c3ec720b2d6",
      "new_mode": 33188,
      "new_path": "tools/gn/settings.cc"
    },
    {
      "type": "modify",
      "old_id": "1305c5805c2d27364df3dee6caf820344484f069",
      "old_mode": 33188,
      "old_path": "tools/gn/settings.h",
      "new_id": "df6a3d63576a470c284d8cef13b54f5f2a18df31",
      "new_mode": 33188,
      "new_path": "tools/gn/settings.h"
    },
    {
      "type": "modify",
      "old_id": "8bce9b515874394bdc87a9a7fbb7d8b6ddda2122",
      "old_mode": 33188,
      "old_path": "tools/gn/setup.cc",
      "new_id": "47a243ace6da2558ac048af0dbb4c9923aa1d92c",
      "new_mode": 33188,
      "new_path": "tools/gn/setup.cc"
    },
    {
      "type": "modify",
      "old_id": "c2b3d82e0ce7ee403264f0a56ac17435a0d94695",
      "old_mode": 33188,
      "old_path": "tools/gn/setup.h",
      "new_id": "8b6d714d39d7fe78709b1271542ef6c9cd270549",
      "new_mode": 33188,
      "new_path": "tools/gn/setup.h"
    },
    {
      "type": "modify",
      "old_id": "291d5790d9022fc35705f61a9573983929a14e3d",
      "old_mode": 33188,
      "old_path": "tools/gn/target.cc",
      "new_id": "28dcf91f2da7136c95b6f381d382c1efdf5b4b5e",
      "new_mode": 33188,
      "new_path": "tools/gn/target.cc"
    },
    {
      "type": "modify",
      "old_id": "d5c1af33305308049d4ac8fbce4e9767c4c83f18",
      "old_mode": 33188,
      "old_path": "tools/gn/target.h",
      "new_id": "13b278c781f89e2de7cc3e3e207161ad1acada51",
      "new_mode": 33188,
      "new_path": "tools/gn/target.h"
    },
    {
      "type": "modify",
      "old_id": "ea1700f79ee83f48b03adfbee674ce51fbf7024a",
      "old_mode": 33188,
      "old_path": "tools/gn/target_unittest.cc",
      "new_id": "ef213b5286fa9d1ab9a064182280e742a057ea79",
      "new_mode": 33188,
      "new_path": "tools/gn/target_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "e83c99cb060e2bb742744061ac83f63f728f5c38",
      "old_mode": 33188,
      "old_path": "tools/gn/test_with_scope.cc",
      "new_id": "e149e92d08448a6704dd9582606ab5e6edce5567",
      "new_mode": 33188,
      "new_path": "tools/gn/test_with_scope.cc"
    },
    {
      "type": "modify",
      "old_id": "7d512c4d1312bd6e16fc8bf53593a2fa42013286",
      "old_mode": 33188,
      "old_path": "tools/gn/test_with_scope.h",
      "new_id": "df2c93ede612c6dd863661500b99c30574dd8b01",
      "new_mode": 33188,
      "new_path": "tools/gn/test_with_scope.h"
    },
    {
      "type": "modify",
      "old_id": "887fba213fe25694a2ef352c08de7e7b850918b9",
      "old_mode": 33188,
      "old_path": "tools/gn/toolchain.cc",
      "new_id": "eee458a974cebf077fb3bc5589d65b7489a194bc",
      "new_mode": 33188,
      "new_path": "tools/gn/toolchain.cc"
    },
    {
      "type": "modify",
      "old_id": "106f2f4bc73943ed8214b44b34cae40330229da5",
      "old_mode": 33188,
      "old_path": "tools/gn/toolchain.h",
      "new_id": "210c2c088c6027b71b5bd827afd3ef30c7378f8a",
      "new_mode": 33188,
      "new_path": "tools/gn/toolchain.h"
    },
    {
      "type": "modify",
      "old_id": "affdec99ce0b37c4449752e3a92100b4bab43a1e",
      "old_mode": 33188,
      "old_path": "tools/gn/toolchain_manager.cc",
      "new_id": "4edf212218ca747c8b648d9eaf62cae3e6825482",
      "new_mode": 33188,
      "new_path": "tools/gn/toolchain_manager.cc"
    }
  ]
}
