)]}'
{
  "commit": "b802aadf7150af606b8cc5ba87d7a8b39c102292",
  "tree": "383ba28ba93a0ba85469ed8d74198a38578fc79f",
  "parents": [
    "8161b299c9537fab8fe69a0e5c3d3c8d41f7d66a"
  ],
  "author": {
    "name": "Alexander Markov",
    "email": "alexmarkov@google.com",
    "time": "Sat Apr 17 00:39:26 2021 +0000"
  },
  "committer": {
    "name": "commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Sat Apr 17 00:39:26 2021 +0000"
  },
  "message": "[vm] Fix materialization of instances with uninitialized late fields\n\nWhen materializing objects during deoptimization, their fields were\nset using Instance::SetField. However, Instance::SetField updates\nfield guards and it is strict about not taking \u0027sentinel\u0027 value.\nThat caused assertion to fail when trying to materialize an instances\nwith late fields which were not initialized yet and have \u0027sentinel\u0027\nvalue.\n\nChanged materialization to use a more low-level SetFieldAtOffset\nin case of sentinel value.\n\nTEST\u003druntime/tests/vm/dart/regress_45691_test.dart\nFixes https://github.com/dart-lang/sdk/issues/45691\n\nChange-Id: If39a1e4f2fc0d0fe7f988a80c7a0073cafff28b0\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/195490\nCommit-Queue: Alexander Markov \u003calexmarkov@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": "f1c3d181a9cb82e744313cf4c4579dbcd93a385f",
      "new_mode": 33188,
      "new_path": "runtime/tests/vm/dart/regress_45691_test.dart"
    },
    {
      "type": "modify",
      "old_id": "27edd7ac13b372d932ec880d9798677d29fb9f60",
      "old_mode": 33188,
      "old_path": "runtime/vm/deferred_objects.cc",
      "new_id": "8fa986544d25a8d5384d6da775361fc9661f9d8c",
      "new_mode": 33188,
      "new_path": "runtime/vm/deferred_objects.cc"
    }
  ]
}
