)]}'
{
  "commit": "1dd45592712299947974158e4d3937397d099ac1",
  "tree": "beb43aaf585250721cb0732ae448853bc9d141a2",
  "parents": [
    "34953ffd7dff0a7f62a27252045bb07d59cfaf2e"
  ],
  "author": {
    "name": "Vyacheslav Egorov",
    "email": "vegorov@google.com",
    "time": "Fri Mar 08 00:06:37 2019 +0000"
  },
  "committer": {
    "name": "commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Fri Mar 08 00:06:37 2019 +0000"
  },
  "message": "[vm] Add Native-\u003eVM transitions when dereferencing API handles.\n\nFor example setting return value unwraps handles and stores\nraw pointer values to the stack which might race with GC\nin another thread.\n\nThis CL adds assertions in helper methods from Api class which\nunwrap API handles and fixes all places that were revealed by\nthose assertions.\n\nCaveat: we still permit to check whether handle contains\nSmi or not without entering VM state - because GC does not\nchange this property.\n\nBug: b/127482366\nChange-Id: I59f08c2a91935995514fb70607c2777aa2844d94\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/95654\nCommit-Queue: Siva Annamalai \u003casiva@google.com\u003e\nReviewed-by: Ryan Macnak \u003crmacnak@google.com\u003e\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f0e73761fe08918c1173f756eb6b81b01a34c2c8",
      "old_mode": 33188,
      "old_path": "runtime/vm/dart_api_impl.cc",
      "new_id": "3e81020f4a26f2a231b9316f365ce10be2b05003",
      "new_mode": 33188,
      "new_path": "runtime/vm/dart_api_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "570a855dfe35ff0e00279845e666eaabb3c173b3",
      "old_mode": 33188,
      "old_path": "runtime/vm/dart_api_impl.h",
      "new_id": "76a6b0d254641ef2f6fd6fa17e09035229740b79",
      "new_mode": 33188,
      "new_path": "runtime/vm/dart_api_impl.h"
    },
    {
      "type": "modify",
      "old_id": "bc303574ff47ddab0385691986f68792c0dea34b",
      "old_mode": 33188,
      "old_path": "runtime/vm/guard_field_test.cc",
      "new_id": "be010ce3684e2686c405b1d76352b0c1d7b65c8f",
      "new_mode": 33188,
      "new_path": "runtime/vm/guard_field_test.cc"
    },
    {
      "type": "modify",
      "old_id": "8dcb1bad9c9934ab8fae88efb424c79d56f7c91b",
      "old_mode": 33188,
      "old_path": "runtime/vm/handles_test.cc",
      "new_id": "142e147ea35100ec60c78bcfa0e25cf9587b8214",
      "new_mode": 33188,
      "new_path": "runtime/vm/handles_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c42d2e64dc3fccc4b6ab4fa950e74218a48e72b3",
      "old_mode": 33188,
      "old_path": "runtime/vm/json_test.cc",
      "new_id": "17463283afd80ba5ccc02218a1b88fe51e4b6cec",
      "new_mode": 33188,
      "new_path": "runtime/vm/json_test.cc"
    },
    {
      "type": "modify",
      "old_id": "6f12a686303df0d9cfa7b4ebcd33bb438e4ebffb",
      "old_mode": 33188,
      "old_path": "runtime/vm/native_api_impl.cc",
      "new_id": "92192fde8976c9381341bcab3f4aae7e7264c27e",
      "new_mode": 33188,
      "new_path": "runtime/vm/native_api_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "86d7be566e96264b3895ed4f6d8d1408f01e26b2",
      "old_mode": 33188,
      "old_path": "runtime/vm/native_arguments.h",
      "new_id": "7c637b31f147d18f830440a409fa5465f993d393",
      "new_mode": 33188,
      "new_path": "runtime/vm/native_arguments.h"
    },
    {
      "type": "modify",
      "old_id": "23593a7a7cdfbb77f9de2c4d070bb78bd2fc3897",
      "old_mode": 33188,
      "old_path": "runtime/vm/object_id_ring_test.cc",
      "new_id": "23d47a63710260c3ad80cc6e2a5200ecc05cc974",
      "new_mode": 33188,
      "new_path": "runtime/vm/object_id_ring_test.cc"
    },
    {
      "type": "modify",
      "old_id": "03c96f2493be088e01f44baaf568bd329e7e080a",
      "old_mode": 33188,
      "old_path": "runtime/vm/service_test.cc",
      "new_id": "aeb614e4c1507cdeb5b82a47a6a06fb9bc246edc",
      "new_mode": 33188,
      "new_path": "runtime/vm/service_test.cc"
    },
    {
      "type": "modify",
      "old_id": "52bda420b4fe219621dd4e27d670eb593a04d4e6",
      "old_mode": 33188,
      "old_path": "runtime/vm/snapshot_test.cc",
      "new_id": "2ca95a0a688569d88b929a8c234e50aab768241e",
      "new_mode": 33188,
      "new_path": "runtime/vm/snapshot_test.cc"
    }
  ]
}
