)]}'
{
  "commit": "a97b43f4ec6ba0da5a2baa20a1a37e2992f27e3e",
  "tree": "94b0735392248c60f5f00c7ebc0c620adc9b5c1f",
  "parents": [
    "3d19493f2dbbc81d9ef1d1386593d23404c932e3"
  ],
  "author": {
    "name": "Martin Kustermann",
    "email": "kustermann@google.com",
    "time": "Tue Dec 08 14:56:04 2020 +0000"
  },
  "committer": {
    "name": "commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Tue Dec 08 14:56:04 2020 +0000"
  },
  "message": "[vm/concurrency] Allow concurrent evaluation (and caching) of metadata\n\nIf multiple threads want to obtain metadata they might both evaluate and\npossibly cache the result of evaluation. Since the kernel loader\ninitialy adds metadata mappings (the value being kernel offsets) we use\nthe existing `IG-\u003eprogram_lock()` which the kernel loader already holds.\n\nIssue https://github.com/dart-lang/sdk/issues/36097\n\nTEST\u003dTests using --enable-isolate-groups with JIT sharing.\n\nChange-Id: I3b618f196abe9f7b584e4135a72a0017399ff2d5\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/175301\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Ryan Macnak \u003crmacnak@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7a8f7b8241f1ed9ebab4ff94f13e339a3f8d5c75",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/aot/precompiler.cc",
      "new_id": "d7f198ea2617bc4c61ddd18dde3995f11703278e",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/aot/precompiler.cc"
    },
    {
      "type": "modify",
      "old_id": "6eb0a03f919b8d7e32c805b60552623cc0398e0e",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/frontend/constant_reader.cc",
      "new_id": "a8cb442d19919c8c9537742a7396a2411d55b257",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/frontend/constant_reader.cc"
    },
    {
      "type": "modify",
      "old_id": "878582b82cd8453d9afc29808f2b22d407a8b4e0",
      "old_mode": 33188,
      "old_path": "runtime/vm/kernel_loader.cc",
      "new_id": "f6fe2fa508d5733da337635b862d78e4104ed5d5",
      "new_mode": 33188,
      "new_path": "runtime/vm/kernel_loader.cc"
    },
    {
      "type": "modify",
      "old_id": "1347673d6e64c79e186244e27442dc0045226b9a",
      "old_mode": 33188,
      "old_path": "runtime/vm/object.cc",
      "new_id": "57ff8c63446acd3ee9f548c6cc85eadc3a5a6378",
      "new_mode": 33188,
      "new_path": "runtime/vm/object.cc"
    },
    {
      "type": "modify",
      "old_id": "960f3f128e858884e316390c9b835a4888a9ded8",
      "old_mode": 33188,
      "old_path": "runtime/vm/object.h",
      "new_id": "467e1b1ec98f90c3dd9d8674c81a59a05b6abf9c",
      "new_mode": 33188,
      "new_path": "runtime/vm/object.h"
    }
  ]
}
