)]}'
{
  "log": [
    {
      "commit": "39c3bfbd03d85c63cfbe69f17ce5800ccc7d6c13",
      "tree": "fa777039b3f7c34f3dd322d04307766246526080",
      "parents": [
        "0918614b7434783477e8668df7850a7aaf8d5611"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Jan 28 18:33:52 2014 -0800"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Mar 07 13:42:48 2014 -0800"
      },
      "message": "Make use of profiling information for dex2oat\n\nIf the profile file exists, the compiler driver will read it\nand store the data in an internal map.  Then, when we want to work\nout whether to compile a method or not, the map is consulted and if\nthe method shows up with a high enough percentage of use we compile it.\n\nThe profile file itself is created by installd and is writeable by the\napp.  The file is in /data/dalvik-cache/profiles and is named by\nthe package name.\n\nThis also modifies the profiler itself to:\n\n1. Only count runnable threads (not suspended threads) in the profile\n2. Use system properties to allow tuning of the profile parameters\n3. Merge profiles from multiple processes using file locking.\n\nBug: 12877748\nChange-Id: Iab2f3a327a2860db2a80d5724277d6c626227f2b\n\nConflicts:\n\tcompiler/dex/frontend.cc\n\tcompiler/dex/mir_analysis.cc\n\tcompiler/dex/verification_results.cc\n\tcompiler/driver/compiler_driver.cc\n\tdex2oat/dex2oat.cc\n\truntime/class_linker.cc\n\truntime/runtime.cc\n\truntime/runtime.h\n"
    },
    {
      "commit": "719d1a33f6569864f529e5a3fff59e7bca97aad0",
      "tree": "fcd84efd7b9806b93ec1a44e2317e6f882e7fe0e",
      "parents": [
        "5365eea9940269b662cfbe103caa348816ff1558"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 06 12:13:39 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 06 19:16:01 2014 -0800"
      },
      "message": "Enable annotalysis on clang ART builds.\n\nFix clang build errors aswell as restructure locking/mutex code for correct\nthread safety analysis support.\nReorder make dependencies so that host builds build first as they should\nprovide better compilation errors than target.\nRemove host\u0027s use of -fno-omit-frame-pointer as it has no value with correct\nuse of CFI, which we should have.\n\nChange-Id: I72cea8da9a3757b1a0b3acb4081feccb7c6cef90\n"
    },
    {
      "commit": "0aded089f565008ba5908e395e5914ca4f91f2de",
      "tree": "3b1238d956e0181d00243604c83c3a0be368437d",
      "parents": [
        "98ba6cebd22489c959d845884ee045dcbd958d41"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Nov 07 13:15:11 2013 -0800"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Jan 07 10:58:07 2014 -0800"
      },
      "message": "Add sampling profiler\n\nThis adds a sampling profiler thread that runs every so often, gathering\nprofiling data and writing the results to a file in /data/data (specific to\napp running).  The intention is to use these files as input to the compiler\nso that it can determine the best methods to compile.\n\nBug: 11539952\nChange-Id: I0bfbb4146fb7966673c792f017ffac8107b6272d\n"
    }
  ]
}
