)]}'
{
  "log": [
    {
      "commit": "e0b46a7513980b5bcb3c3af160a5b3ee077fad2d",
      "tree": "d83ba1cd59ffc72fdba820b8a6d18e2021b04b04",
      "parents": [
        "fa7ec00ae4f9f8b1c8e1ad809155cfa675a0121d"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Wed Nov 05 16:13:18 2014 +0600"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Tue Nov 11 11:18:15 2014 +0600"
      },
      "message": "Fix x86 art_quick_set64_instance quick entrypoint\n\nart_quick_set64_instance accept ebx as a 4-th parameter.\nAt the same time it is used as a temporary for SETUP_REFS_ONLY_CALLEE_SAVE_FRAME.\nWe should preserve it and restore to pass the right value to artSet64InstanceFromCode.\n\nChange-Id: Iac0a32583be1015e502ae0f8ff57c4b9c0301730\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "29af7b94e0130f9a7150c4a180952c5e14a5d128",
      "tree": "2c888d3501a8b859bcaf63bc617570d9f75d4ce6",
      "parents": [
        "661ed6935006bcd9067358c3667d723b0e5ba9e5",
        "8db9dcdabfb8eb6be1211da6667bee889277223d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 19:14:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 10 19:14:32 2014 +0000"
      },
      "message": "Merge \"ART: Prune links in the dalvik cache\""
    },
    {
      "commit": "8db9dcdabfb8eb6be1211da6667bee889277223d",
      "tree": "d84d3e21175430ebffd7b76c21d14049bac46de8",
      "parents": [
        "974bc2747b345667e07692109d63675ec50955a3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Nov 09 18:14:30 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 10:28:34 2014 -0800"
      },
      "message": "ART: Prune links in the dalvik cache\n\nWhen pruning the isa-specific directory of the cache, also remove\nsymbolic links.\n\nBug: 18035729\nBug: 18153744\nChange-Id: I40347ee77e95ff9fc8e6107ba661338f5c7b1db9\n(cherry picked from commit de5ed50940452f06b00514af0667972542ee5d59)\n"
    },
    {
      "commit": "5f9a95423dda3a2f945c81a04107fedf18e2c2c1",
      "tree": "27f55e828ea076674f9bc510523c675fe6caf3b5",
      "parents": [
        "974bc2747b345667e07692109d63675ec50955a3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 07 18:38:47 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 10 10:07:57 2014 -0800"
      },
      "message": "Delete unused imtable field\n\nBug: 17643507\n\nChange-Id: I1fc7ca2d3bdf1810bcc3b46f867b68a4a6d28ed3\n\n(cherry picked from commit f2d556401ec1d82fec31c0b29d712de18d838282\n"
    },
    {
      "commit": "97c1a658b063ac202a29d31b5c0ef55a6f233537",
      "tree": "968ae2895ba34198ca95db66433b458c8b6a84e5",
      "parents": [
        "df62f34281407990a48b4346e16c99d6bb3a648b",
        "896df40bbb20f4a1c468e87313b510c082016dd3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Nov 09 20:45:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Nov 09 20:45:04 2014 +0000"
      },
      "message": "Merge \"ART: Fix possible soft+hard failure in verifier\""
    },
    {
      "commit": "896df40bbb20f4a1c468e87313b510c082016dd3",
      "tree": "918c0656583d807566f9247b23ef2698700a4218",
      "parents": [
        "00b2da5c02339c36ffa4006f731f55203b09265d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 20 22:25:29 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Nov 09 12:42:42 2014 -0800"
      },
      "message": "ART: Fix possible soft+hard failure in verifier\n\nIt was possible to generate a hard failure and a subsequent soft\nfailure, which violates a CHECKed invariant.\n\nRefactor code slightly to share common code.\n\nBug: 17625962\n\n(cherry picked from commit f08663b47ccd3aa083972d62937a328ad80d080e)\n\nChange-Id: Iccd9e30f1087363b19b2faedc10243a2290202c0\n"
    },
    {
      "commit": "7947b544d2e716be16f7d9a5324a436b901780f7",
      "tree": "f57e368209e55a91c52d6bb552c131afa2a5e9d8",
      "parents": [
        "d45f76e59bf8342491ca02d64721537e06c79f43"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Nov 09 12:30:50 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Nov 09 12:30:50 2014 -0800"
      },
      "message": "Fix thread pool test valgrind flakiness\n\nThe test used to use the counters to see when the tasks were done\nbut since the counter is incremented before finalize was called, the\ntest would sometimes finish before the objects were freed. This\nresulted in valgrind leaks.\n\nChange-Id: I6dc3cf6a155cde3af5d06b1416773a6ae6f2a6e6\n"
    },
    {
      "commit": "e7c9a8c2b8481aafbc6af4ce6229bd361ba24742",
      "tree": "f6d8fe8fd7aeae117a6547dc4f012cd4085cb4e8",
      "parents": [
        "00b2da5c02339c36ffa4006f731f55203b09265d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 06 16:35:45 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 07 11:45:06 2014 -0800"
      },
      "message": "Add hash map, reduce excessive hashing\n\nChanged the class def index to use a HashMap instead of unordered_map\nso that we can use FindWithHash to reduce how often we need to compute\nhashes.\n\nFixed a bug in ClassLinker::UpdateClass where we didn\u0027t properly\nhandle classes with the same descriptor but different class loaders.\nIntroduced by previous CL.\n\nBefore (fb launch):\n1.74% art::ComputeModifiedUtf8Hash(char const*)\n\nAfter:\n0.95% art::ComputeModifiedUtf8Hash(char const*)\n\nBug: 18054905\nBug: 16828525\n\nChange-Id: Iba2ee37c9837289e0ea187800ba4af322225a994\n\n(cherry picked from commit 564ff985184737977aa26c485d0c1a413e530705)\n"
    },
    {
      "commit": "10d543c44ba878ba2037b0b945ce259b0a5dd605",
      "tree": "4d6655d3e6cfc1a1d063b926abd05a39cd5cc2a0",
      "parents": [
        "bcc1ce07df3bc584d17c00ca9302921afe0795a4",
        "d7576328811e5103e99d31f834a857522cc1463f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 07 16:21:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 07 16:21:13 2014 +0000"
      },
      "message": "Merge \"ART: Fix valgrind\""
    },
    {
      "commit": "a0b34518cf3f3801407624d95846f8ff90c05d25",
      "tree": "1f1df690f6018c415215792a96cb7c7ded9dd9fd",
      "parents": [
        "88af00a788002196e6f98acd3748f3f4956032bf"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Oct 07 12:51:26 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Nov 07 12:51:48 2014 +0000"
      },
      "message": "Fix thread priorities for unstarted threads.\n\nCalls to Thread.setPriority for unstarted threads now behave\nsimilar to dalvik. Note that there\u0027s still some inconsistent\nbehaviour carried over from dalvik.\n\n- high priority threads from bg_non_interactive processes are\n  not always moved to the SP_FOREGROUND cgroup.\n- we do not attempt to adjust the cgroup of a native thread\n  that\u0027s attaching.\n\nNote that on android, the system_server will change the\ncgroups for all running threads in a process when it moves\ninto the foreground and background. It\u0027s by design that\nthreads in a background process can request to be moved\nto the foreground by setting a higher priority.\n\nbug: 17893086\n\n(cherry picked from commit 1bd326a5e2aaff06a5bcae9cb2c42a4e8de31401)\n\nChange-Id: Iad362f7c5c8697c349f2b6d7fcba69a4e141883e\n"
    },
    {
      "commit": "d7576328811e5103e99d31f834a857522cc1463f",
      "tree": "5c20cecc09ca8786434b663cbfcad31e56c7ac72",
      "parents": [
        "b7ce2074ef43ff221cdec6ddba953f0b0c67447b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 24 22:13:45 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 06 19:47:07 2014 -0800"
      },
      "message": "ART: Fix valgrind\n\nAllow ValgrindMallocSpace wrapper for RosAlloc.Requires refactoring,\nas ValgrindMallocSpace was bound to the signature of DlMallocSpace.\n\nAlso turn of native stack dumping when running under Valgrind to\nwork around b/18119146.\n\nRitzperf before and after\nMean               3190.725   3082.475\nStandard Error     11.68407   10.37911\nMode               3069       2980\nMedian             3182.5     3051.5\nVariance           16382.117  12927.125\nStandard Deviation 127.99264  113.69751\nKurtosis           1.1065632  0.3657799\nSkewness           0.9013805  0.9117792\nRange              644        528\nMinimum            2991       2928\nMaximum            3635       3456\nCount              120        120\n\nBug: 18119146\nChange-Id: I25558ea7cb578406011dede9d3d0bdbfee4ff4d5\n"
    },
    {
      "commit": "88af00a788002196e6f98acd3748f3f4956032bf",
      "tree": "08da0f91b45f9c11758f240a99938a8ebc0e9077",
      "parents": [
        "0006f29d646f75727f792c031fc6499b7e28f153",
        "ec520ef96ae9581b2036e14b255c0c5fde153eb2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Nov 06 17:43:39 2014 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Nov 06 17:43:39 2014 -0800"
      },
      "message": "Merge remote-tracking branch \u0027goog/stage-aosp-master\u0027 into HEAD\n"
    },
    {
      "commit": "ec520ef96ae9581b2036e14b255c0c5fde153eb2",
      "tree": "e1894d5c2eb054b483905e8c90f13ef80c88e347",
      "parents": [
        "72d497d514116d0f411c46e6d4ab44df68f55045",
        "b7ce2074ef43ff221cdec6ddba953f0b0c67447b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 07 00:58:31 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 07 00:58:31 2014 +0000"
      },
      "message": "am b7ce2074: Merge \"Mac host doesn\\\u0027t define ART_USE_FUTEXES.\"\n\n* commit \u0027b7ce2074ef43ff221cdec6ddba953f0b0c67447b\u0027:\n  Mac host doesn\u0027t define ART_USE_FUTEXES.\n"
    },
    {
      "commit": "0006f29d646f75727f792c031fc6499b7e28f153",
      "tree": "7d4549abb8cd52ac5bce71270aea7a77f25fb416",
      "parents": [
        "b7ce2074ef43ff221cdec6ddba953f0b0c67447b",
        "c2e20629c7dfdb0f679fa30c14b41fe68588697f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 07 00:27:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 07 00:27:44 2014 +0000"
      },
      "message": "Merge \"Add hash set\""
    },
    {
      "commit": "c2e20629c7dfdb0f679fa30c14b41fe68588697f",
      "tree": "ee428a17f93922e6f78e3482c348e6e7b81a8e4f",
      "parents": [
        "f55996d6b4a672e09fbe3a3563646a7682719b4a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 03 11:41:47 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 06 16:27:00 2014 -0800"
      },
      "message": "Add hash set\n\nMore memory efficient than libcxx since we do not box the values.\n\nChange intern table to use new hash set. Clean up intern table by\nremoving const casts and deleting unnecessary code.\n\nChanged the class linker to use a hash set, also added a pre-zygote\nclass table.\n\n5 samples of:\nadb shell stop \u0026\u0026 adb shell start \u0026\u0026 sleep 60 \u0026\u0026 adb shell dumpsys meminfo\nBefore:\n165929 kB: Native\n175859 kB: Native\n168434 kB: Native\n166559 kB: Native\n169958 kB: Native\n\nAfter:\n160972 kB: Native\n159439 kB: Native\n157204 kB: Native\n165093 kB: Native\n163039 kB: Native\n\nTODO: Add HashTable which is implemented by using a HashSet.\nTODO: Use for DexFile::find_class_def_misses_.\nTODO: Investigate using mem maps instead of native heap.\n\nBug: 17808975\n\nChange-Id: I93e376cf6eb9628cf52f4aefdadb6157acfb799a\n\n(cherry picked from commit e05d1d5fd86867afc7513b1c546375dba11eee50)\n"
    },
    {
      "commit": "d6d7c3bda2068b6ae0844c9a0bbc6847a83887fd",
      "tree": "d2d467945b06effdf6ada2595d39febd60409c4a",
      "parents": [
        "1e3339ea2d40fff16ef8cb154f7bb4146af0e59b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 06 14:26:29 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 06 14:26:29 2014 -0800"
      },
      "message": "Mac host doesn\u0027t define ART_USE_FUTEXES.\n\nChange-Id: Ic2c23d267cfd56db58754f45154436a085eeaa78\n"
    },
    {
      "commit": "72d497d514116d0f411c46e6d4ab44df68f55045",
      "tree": "8f3a1e0e50c315dc107cf4baf11d0dbfc831b523",
      "parents": [
        "17fdb57a7c2c88bbf466c132c45724bfe39f0da7",
        "1e3339ea2d40fff16ef8cb154f7bb4146af0e59b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 06 20:21:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 06 20:21:25 2014 +0000"
      },
      "message": "am 1e3339ea: Merge \"Move include of system headers outside namesapce.\"\n\n* commit \u00271e3339ea2d40fff16ef8cb154f7bb4146af0e59b\u0027:\n  Move include of system headers outside namesapce.\n"
    },
    {
      "commit": "1e3339ea2d40fff16ef8cb154f7bb4146af0e59b",
      "tree": "34382fe2492d2ee00d875914fb9f6be05fc6d035",
      "parents": [
        "beb96e7eeffcb2964f9bba9b1428d60befedaf37",
        "729c1cfd39e859d6f5a24e1010959a382474592c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 06 20:18:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 06 20:18:47 2014 +0000"
      },
      "message": "Merge \"Move include of system headers outside namesapce.\""
    },
    {
      "commit": "729c1cfd39e859d6f5a24e1010959a382474592c",
      "tree": "8b9dcf44888b60f19a07ff73af1d2b2ade4a3799",
      "parents": [
        "970a25ca627fe13ab381bc4c639868179a3c8f1f"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 06 10:49:16 2014 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 06 10:49:16 2014 -0800"
      },
      "message": "Move include of system headers outside namesapce.\n\nThis happened to work with old system header files.\nBut with newer glibc 2.15 header files, typedef names\nsuch as __u32 and __u64 are included into a namespace\nand could not be used in other system header files.\n\nBUG: 18275923\nChange-Id: I7c61270d08a7b1c69cee55a6a23b00372f0f51c8\n"
    },
    {
      "commit": "93fac11ab17578e698042c4b6b487d1ad704633e",
      "tree": "662337225e8efcc914fadc1925e9c4b736157169",
      "parents": [
        "fd62d30151948d2cbe318299b9999921dccc78ce",
        "38efdf51947eaec866059e62626f2409ef4c19db"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 06 17:02:16 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 06 17:02:16 2014 +0000"
      },
      "message": "am 38efdf51: Merge \"Implement try/catch/throw in optimizing.\"\n\n* commit \u002738efdf51947eaec866059e62626f2409ef4c19db\u0027:\n  Implement try/catch/throw in optimizing.\n"
    },
    {
      "commit": "de58ab2c03ff8112b07ab827c8fa38f670dfc656",
      "tree": "c872bfbcad1e90845008140bbddcc43e56dc19d2",
      "parents": [
        "3ed86e4e98dfe1b05c9a03aa2aee42c145a018c3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 05 12:46:03 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 06 16:49:52 2014 +0000"
      },
      "message": "Implement try/catch/throw in optimizing.\n\n- We currently don\u0027t run optimizations in the presence of a try/catch.\n- We therefore implement Quick\u0027s mapping table.\n- Also fix a missing null check on array-length.\n\nChange-Id: I6917dfcb868e75c1cf6eff32b7cbb60b6cfbd68f\n"
    },
    {
      "commit": "fd62d30151948d2cbe318299b9999921dccc78ce",
      "tree": "40f42cc9eb59137e1163c7e0a986391dd56d151a",
      "parents": [
        "34a511f0390858a4bd6579ef7d186e2802ffba3c",
        "3ed86e4e98dfe1b05c9a03aa2aee42c145a018c3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 06 16:26:12 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 06 16:26:12 2014 +0000"
      },
      "message": "am 3ed86e4e: Merge \"ART: Fix warnings in memcmp16 for arm32\"\n\n* commit \u00273ed86e4e98dfe1b05c9a03aa2aee42c145a018c3\u0027:\n  ART: Fix warnings in memcmp16 for arm32\n"
    },
    {
      "commit": "943826e5b05bc5a41603398193a610cb876c15f3",
      "tree": "ebd7b0b7d828f00285eed320a96a02826d1f0098",
      "parents": [
        "1991fed6e39fc97c2dd4d55af33818008b3906a1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 05 23:49:43 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 06 08:20:31 2014 -0800"
      },
      "message": "ART: Fix warnings in memcmp16 for arm32\n\nRewrite conditional infixes to silence the warnings. Use push and\npop for consistency with our other assembly files.\n\nChange-Id: I3c059ff44b5242fa21c640457d36aaee62f8d59b\n"
    },
    {
      "commit": "648c7f61a26da49f929f412cf769e002bc6db488",
      "tree": "a223fa39ff9e65bafedd37a94827eb0da8171167",
      "parents": [
        "cae6e6b25be4ee7b7730cc3ddf5b7e8a490f6b6d",
        "1991fed6e39fc97c2dd4d55af33818008b3906a1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 06 00:05:33 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 06 00:05:33 2014 +0000"
      },
      "message": "am 1991fed6: Merge \"Don\\\u0027t enable ARM_R4_SUSPEND_FLAG.\"\n\n* commit \u00271991fed6e39fc97c2dd4d55af33818008b3906a1\u0027:\n  Don\u0027t enable ARM_R4_SUSPEND_FLAG.\n"
    },
    {
      "commit": "8ba17f6ce3853d4bdeee7527c9900e018781cf24",
      "tree": "d38253ec1079145af18ea5c93d1bd7dde721a46d",
      "parents": [
        "77dbcdd24fc99938c37ab0a32373466838ec8880"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 27 18:48:49 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 14:11:40 2014 -0800"
      },
      "message": "Don\u0027t enable ARM_R4_SUSPEND_FLAG.\n\nBug: 17953517\n\nChange-Id: I4578f1ffbfc987d5d178c7586b6bb99882ed19bb\n"
    },
    {
      "commit": "ab777cf315b8cbb0df567551426b958baf8eda7b",
      "tree": "664bc7f2dda8a19c547facb4826fdac27947c5f6",
      "parents": [
        "ea1a87f6535021e63e3e86dd1d6016737aac31a9",
        "da04f29ab1892c00490f846aba3e435ddd6696cb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 05 19:01:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 05 19:01:32 2014 +0000"
      },
      "message": "am da04f29a: Merge \"ART: Fix some redundant declarations\"\n\n* commit \u0027da04f29ab1892c00490f846aba3e435ddd6696cb\u0027:\n  ART: Fix some redundant declarations\n"
    },
    {
      "commit": "ea1a87f6535021e63e3e86dd1d6016737aac31a9",
      "tree": "af75dcf4839c8d085a82335514416804630e880d",
      "parents": [
        "43644948a5164d0c622465392f7163ac69a8066d",
        "3a8a7a44af189b0e43f5d5bde792271addf803d8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 19:01:30 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 05 19:01:30 2014 +0000"
      },
      "message": "am 3a8a7a44: Merge \"Add ATTRIBUTE_UNUSED to unused parameters.\"\n\n* commit \u00273a8a7a44af189b0e43f5d5bde792271addf803d8\u0027:\n  Add ATTRIBUTE_UNUSED to unused parameters.\n"
    },
    {
      "commit": "da04f29ab1892c00490f846aba3e435ddd6696cb",
      "tree": "2b389d0faade2d76890c1fae93cfbb79625b2a18",
      "parents": [
        "3a8a7a44af189b0e43f5d5bde792271addf803d8",
        "e17945650e860f133c75c0e3abd5f5342a053499"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 05 06:58:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 05 06:58:19 2014 +0000"
      },
      "message": "Merge \"ART: Fix some redundant declarations\""
    },
    {
      "commit": "e17945650e860f133c75c0e3abd5f5342a053499",
      "tree": "b8bd0be64bead5fed72c7c6bc57b7a5e2dc20e27",
      "parents": [
        "78a3233313260665fe82ba56257855e043bca3d4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 22:26:32 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 22:26:32 2014 -0800"
      },
      "message": "ART: Fix some redundant declarations\n\nRefactor entrypoint initialization such that there is a large set\nof common extern \"C\" declarations for quick entrypoints.\n\nChange-Id: Iae8548e5f7ebbf51dc6c55c4283fa89437e18c98\n"
    },
    {
      "commit": "3a8a7a44af189b0e43f5d5bde792271addf803d8",
      "tree": "df0c00b69956f47a0a36ca453d17ae323587ceb6",
      "parents": [
        "4d5d62f404b164b697490d650ad8e82ad79a25f9",
        "c4f990eab0486be624c271ebe08d4ed6c2783c42"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 05:30:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 05 05:30:42 2014 +0000"
      },
      "message": "Merge \"Add ATTRIBUTE_UNUSED to unused parameters.\""
    },
    {
      "commit": "c4f990eab0486be624c271ebe08d4ed6c2783c42",
      "tree": "d7b14f198637a899af294b1634b9daf2aad59af0",
      "parents": [
        "b5331ef9bb2ae68c392e5da3da13816bd43e5b1d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Nov 04 14:39:03 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 21:29:52 2014 -0800"
      },
      "message": "Add ATTRIBUTE_UNUSED to unused parameters.\n\nThey are reported by Clang compiler.\n\nBUG: 18244071\nChange-Id: I3ebf7a9c324490adbf1135f21818c7ad83c83f3d\n"
    },
    {
      "commit": "43644948a5164d0c622465392f7163ac69a8066d",
      "tree": "0a2e9355adf159009a6e44093e0295abeecfafae",
      "parents": [
        "ae1a434fa1740791ba479da668e8372ca3dcb2a6",
        "4d5d62f404b164b697490d650ad8e82ad79a25f9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 03:37:15 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 05 03:37:15 2014 +0000"
      },
      "message": "am 4d5d62f4: Merge \"Make thread dumping more tolerant of broken invariants during abort.\"\n\n* commit \u00274d5d62f404b164b697490d650ad8e82ad79a25f9\u0027:\n  Make thread dumping more tolerant of broken invariants during abort.\n"
    },
    {
      "commit": "4d5d62f404b164b697490d650ad8e82ad79a25f9",
      "tree": "801631d5d76c31fcc2f6836a7b3f4c3b65822b5f",
      "parents": [
        "78a3233313260665fe82ba56257855e043bca3d4",
        "8409ec440079020bbe4ad066cf18a5fadfba67d2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 03:32:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 05 03:32:56 2014 +0000"
      },
      "message": "Merge \"Make thread dumping more tolerant of broken invariants during abort.\""
    },
    {
      "commit": "ae1a434fa1740791ba479da668e8372ca3dcb2a6",
      "tree": "812f2e41acaa81590418b70c142a644e1a3f87eb",
      "parents": [
        "b396ff047c3480c99b03a3e4342556fed4a24e2f",
        "78a3233313260665fe82ba56257855e043bca3d4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 05 02:55:39 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 05 02:55:39 2014 +0000"
      },
      "message": "am 78a32333: Merge \"ART: More warnings\"\n\n* commit \u002778a3233313260665fe82ba56257855e043bca3d4\u0027:\n  ART: More warnings\n"
    },
    {
      "commit": "78a3233313260665fe82ba56257855e043bca3d4",
      "tree": "46622bf088b3f30d2c6d8a5b548519137c88c867",
      "parents": [
        "fe50a0f644bf57a92612d08ad21dc4ea5a2f652a",
        "277ccbd200ea43590dfc06a93ae184a765327ad0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 05 02:42:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 05 02:42:56 2014 +0000"
      },
      "message": "Merge \"ART: More warnings\""
    },
    {
      "commit": "b396ff047c3480c99b03a3e4342556fed4a24e2f",
      "tree": "eea481eef62e7defe478fbb8c0bafb0be438b364",
      "parents": [
        "8cff1371504170f093fe33b251e74500d335267e",
        "fe50a0f644bf57a92612d08ad21dc4ea5a2f652a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 02:41:57 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 05 02:41:57 2014 +0000"
      },
      "message": "am fe50a0f6: Merge \"Add a test for SafeMath.\"\n\n* commit \u0027fe50a0f644bf57a92612d08ad21dc4ea5a2f652a\u0027:\n  Add a test for SafeMath.\n"
    },
    {
      "commit": "277ccbd200ea43590dfc06a93ae184a765327ad0",
      "tree": "d89712e93da5fb2748989353c9ee071102cf3f33",
      "parents": [
        "ad17d41841ba1fb177fb0bf175ec0e9f5e1412b3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 21:36:10 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 18:40:08 2014 -0800"
      },
      "message": "ART: More warnings\n\nEnable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general,\nand -Wunused-but-set-parameter for GCC builds.\n\nChange-Id: I81bbdd762213444673c65d85edae594a523836e5\n"
    },
    {
      "commit": "8409ec440079020bbe4ad066cf18a5fadfba67d2",
      "tree": "20a5876198e3292b309b00d88345978f1f194a0e",
      "parents": [
        "b5331ef9bb2ae68c392e5da3da13816bd43e5b1d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 17:57:02 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 17:57:02 2014 -0800"
      },
      "message": "Make thread dumping more tolerant of broken invariants during abort.\n\nChange-Id: Ie1bc20debe72f2ea2bf4c1be50cd9877c823670a\n"
    },
    {
      "commit": "fe50a0f644bf57a92612d08ad21dc4ea5a2f652a",
      "tree": "9dba7ae17fc1082a0bf4c3c5bd6e67f086afd387",
      "parents": [
        "b5331ef9bb2ae68c392e5da3da13816bd43e5b1d",
        "5ac814a0a789161cd1e797179cfad1ba6401366a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 00:49:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 05 00:49:27 2014 +0000"
      },
      "message": "Merge \"Add a test for SafeMath.\""
    },
    {
      "commit": "5ac814a0a789161cd1e797179cfad1ba6401366a",
      "tree": "24292f1e2bce828a78a94402af1e2d7063465062",
      "parents": [
        "7dc9c81aee48928bd7a723fd9a4caed63d196f8f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 16:39:32 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 16:39:32 2014 -0800"
      },
      "message": "Add a test for SafeMath.\n\nChange-Id: I445cd168e6f22a4c12f954eb94e32bd28dba9501\n"
    },
    {
      "commit": "8cff1371504170f093fe33b251e74500d335267e",
      "tree": "25fdd7d517b1308e937ca49f81083fcc09aadcf7",
      "parents": [
        "b7288e7f577057821a1181f3121dc1f20209b1b7",
        "b5331ef9bb2ae68c392e5da3da13816bd43e5b1d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 23:59:37 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 04 23:59:37 2014 +0000"
      },
      "message": "am b5331ef9: Merge \"Fix unused parameters for the Mac.\"\n\n* commit \u0027b5331ef9bb2ae68c392e5da3da13816bd43e5b1d\u0027:\n  Fix unused parameters for the Mac.\n"
    },
    {
      "commit": "b7288e7f577057821a1181f3121dc1f20209b1b7",
      "tree": "0667c77f8fa4e2971d9a02287507f89a8c2f57aa",
      "parents": [
        "737b06fed84ee1cedc6f2b60a6eaac32ff9782d2",
        "587e2ec64cbe56717bc978bff914c5f2f1455fe9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 23:59:35 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 04 23:59:35 2014 +0000"
      },
      "message": "am 587e2ec6: Merge \"Fix build.\"\n\n* commit \u0027587e2ec64cbe56717bc978bff914c5f2f1455fe9\u0027:\n  Fix build.\n"
    },
    {
      "commit": "737b06fed84ee1cedc6f2b60a6eaac32ff9782d2",
      "tree": "a689246c18733c3f3a010b6e8c7847b2e18df759",
      "parents": [
        "57bc0f5429fb0c8297054d6fcd9df4f6370d39e3",
        "4150611d5229c87e49762b9edf6540995eb325e1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 23:59:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 04 23:59:32 2014 +0000"
      },
      "message": "am 4150611d: Merge \"Fix mac build.\"\n\n* commit \u00274150611d5229c87e49762b9edf6540995eb325e1\u0027:\n  Fix mac build.\n"
    },
    {
      "commit": "57bc0f5429fb0c8297054d6fcd9df4f6370d39e3",
      "tree": "cc9500b783e8f51a384f4537deaed1543ba7fa21",
      "parents": [
        "2490b5b282fadd6ff9381cb8baf42911f49aeec3",
        "cc19cb6845f427036513e155d50c11533933c63f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 23:59:29 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 04 23:59:29 2014 +0000"
      },
      "message": "am cc19cb68: Merge \"Don\\\u0027t define DISALLOW_COPY_AND_ASSIGN if already defined.\"\n\n* commit \u0027cc19cb6845f427036513e155d50c11533933c63f\u0027:\n  Don\u0027t define DISALLOW_COPY_AND_ASSIGN if already defined.\n"
    },
    {
      "commit": "b5331ef9bb2ae68c392e5da3da13816bd43e5b1d",
      "tree": "98bac6ed496317c66d2dbb16ba78bb46debcf827",
      "parents": [
        "587e2ec64cbe56717bc978bff914c5f2f1455fe9",
        "4bb14043bb118950e3cc73533bc670e4bcfc27aa"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 23:36:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 04 23:36:58 2014 +0000"
      },
      "message": "Merge \"Fix unused parameters for the Mac.\""
    },
    {
      "commit": "4bb14043bb118950e3cc73533bc670e4bcfc27aa",
      "tree": "f23c1f593120f43d3fc3724e8439389a84b0c410",
      "parents": [
        "4150611d5229c87e49762b9edf6540995eb325e1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 15:33:55 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 15:33:55 2014 -0800"
      },
      "message": "Fix unused parameters for the Mac.\n\nChange-Id: I76086cc1f448d058de61a613078055d8f01ba4b3\n"
    },
    {
      "commit": "7dc9c81aee48928bd7a723fd9a4caed63d196f8f",
      "tree": "1bc2eebab5f3c7536c24324d3e1dbfd75cc7b25b",
      "parents": [
        "de2db523960444ca8abd175814374cb3782f1632"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 15:10:55 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 15:10:55 2014 -0800"
      },
      "message": "Fix build.\n\nChange-Id: I7c6657bdc31e57c144999d4a3f8c2836c3d90403\n"
    },
    {
      "commit": "de2db523960444ca8abd175814374cb3782f1632",
      "tree": "408c85fcf5f889b2cb81a8ee9b6dd1746b4c1aa8",
      "parents": [
        "cc19cb6845f427036513e155d50c11533933c63f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 14:43:18 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 14:43:18 2014 -0800"
      },
      "message": "Fix mac build.\n\nChange-Id: I228cdb0b25cd0f2c5e745a87a97aa8fd3c8a160a\n"
    },
    {
      "commit": "3eaa8525dadc0e17356ac201f1619a86722edc27",
      "tree": "ece788fdedaf9dd1a3b2e607774b6a5bccbfaea2",
      "parents": [
        "e03864e99f5ab0e27a48a17275122ad8f324b615"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 13:20:30 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 13:20:30 2014 -0800"
      },
      "message": "Don\u0027t define DISALLOW_COPY_AND_ASSIGN if already defined.\n\nRequired by:\nhttps://android-review.googlesource.com/#/c/113053/\n\nChange-Id: I0226afffc738a4b7c162a0d467513a35d62dbfdc\n"
    },
    {
      "commit": "2490b5b282fadd6ff9381cb8baf42911f49aeec3",
      "tree": "70323da4b1b62d951f7598d1c03b7235bfdd38a5",
      "parents": [
        "a11c391458d2cda4c1510c50f84824c6d42291f7",
        "e03864e99f5ab0e27a48a17275122ad8f324b615"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 04 13:49:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 04 13:49:19 2014 +0000"
      },
      "message": "am e03864e9: Merge \"Try to fix mac build.\"\n\n* commit \u0027e03864e99f5ab0e27a48a17275122ad8f324b615\u0027:\n  Try to fix mac build.\n"
    },
    {
      "commit": "e6ac4fd428a4897951aeb4cb3b45f1665276c511",
      "tree": "c8456425dcd515de5d5299c61f2254cc70acaa7c",
      "parents": [
        "457e6170ac55e4cbede79a23b021422ef4ccd92f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 04 13:03:29 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 04 13:13:48 2014 +0000"
      },
      "message": "Try to fix mac build.\n\nChange-Id: I6c7faa1c80bc7c250d14859d51c910d50b7fb562\n"
    },
    {
      "commit": "f23b7ba12357be4c83407990510fceaa85c68a1d",
      "tree": "b46ac819c2bb28c311c8f1af013026d7d64fb2f1",
      "parents": [
        "cdd98385e84a332c1a92b1b4497393dcf314693d",
        "b6b9eeaba9b8006029a56a1c7241e56f82dcbf11"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 08:48:15 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 04 08:48:15 2014 +0000"
      },
      "message": "am b6b9eeab: Merge \"ART: Fix unused parameter warning on Mac\"\n\n* commit \u0027b6b9eeaba9b8006029a56a1c7241e56f82dcbf11\u0027:\n  ART: Fix unused parameter warning on Mac\n"
    },
    {
      "commit": "b6b9eeaba9b8006029a56a1c7241e56f82dcbf11",
      "tree": "1757af67461dc92fca9e00eb010ada4dae51d843",
      "parents": [
        "ad17d41841ba1fb177fb0bf175ec0e9f5e1412b3",
        "d77ac7e9d756cbfbb7db2510a7328af73c9d21f9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 08:45:07 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 04 08:45:08 2014 +0000"
      },
      "message": "Merge \"ART: Fix unused parameter warning on Mac\""
    },
    {
      "commit": "d77ac7e9d756cbfbb7db2510a7328af73c9d21f9",
      "tree": "2abfe2fbe41f2bc7bdf14c80faf508343ea9bfdc",
      "parents": [
        "07f09809c0575e985249450843b06f266b831fe1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 00:42:32 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 00:44:20 2014 -0800"
      },
      "message": "ART: Fix unused parameter warning on Mac\n\nChange-Id: Ibf462b90a44c41e2f450724be8cc934b00f17f41\n"
    },
    {
      "commit": "6f3c4b39ba926a4a7683c0c76f82a77d3d169d47",
      "tree": "de2b064325e3e9b6dd526cd54e1c43e4c609e478",
      "parents": [
        "317a7a1e6e36f74f44da82fbb80f1b24a266d67c",
        "8851cbaeb75f5a89ec88cbf4b26d6f846bbf6411"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 07:53:23 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 04 07:53:23 2014 +0000"
      },
      "message": "am 8851cbae: Merge \"ART: Replace COMPILE_ASSERT with static_assert (runtime)\"\n\n* commit \u00278851cbaeb75f5a89ec88cbf4b26d6f846bbf6411\u0027:\n  ART: Replace COMPILE_ASSERT with static_assert (runtime)\n"
    },
    {
      "commit": "575e78c41ece0dec969d31f46be563d4eb7ae43b",
      "tree": "16906df0ba0912a6cb01b3139ba7c60d5f9d09b7",
      "parents": [
        "2998e9cdc9f19c30c4944a4726ed9f147de79ebd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 23:41:03 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 23:41:03 2014 -0800"
      },
      "message": "ART: Replace COMPILE_ASSERT with static_assert (runtime)\n\nReplace all occurrences of COMPILE_ASSERT in the runtime tree.\n\nChange-Id: I01e420899c760094fb342cc6cb9e692dd670a0b2\n"
    },
    {
      "commit": "1525ed874f8611368ef34a9fc5556cc9130ccee6",
      "tree": "7c01027baece27d580f30dfbd28e11b50e220918",
      "parents": [
        "9d7bf4ead004f8fc00aacd3b5dd860c61348f2fb",
        "a10a8b56a01be95b3ec13022d3a155e163a11673"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 04 04:06:06 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 04 04:06:06 2014 +0000"
      },
      "message": "am a10a8b56: Merge \"Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags.\"\n\n* commit \u0027a10a8b56a01be95b3ec13022d3a155e163a11673\u0027:\n  Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags.\n"
    },
    {
      "commit": "6a3c1fcb4ba42ad4d5d142c17a3712a6ddd3866f",
      "tree": "9df58b57af13240a93a6da4eefcf03f70cce9ad9",
      "parents": [
        "c6e0955737e15f7c0c3575d4e13789b3411f4993"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 31 00:33:20 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 03 20:01:04 2014 -0800"
      },
      "message": "Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags.\n\nFix associated errors about unused paramenters and implict sign conversions.\nFor sign conversion this was largely in the area of enums, so add ostream\noperators for the effected enums and fix tools/generate-operator-out.py.\nTidy arena allocation code and arena allocated data types, rather than fixing\nnew and delete operators.\nRemove dead code.\n\nChange-Id: I5b433e722d2f75baacfacae4d32aef4a828bfe1b\n"
    },
    {
      "commit": "e9f3424b9a718cb08dafdf5b976df7e47381f1d1",
      "tree": "1c28b822d4f3b1d61aec24759d19a74ccd8e3968",
      "parents": [
        "16f523bf6d64d729f82757c76f7f0a7dea616e0a",
        "0c25f441d0d85ec882b4634f496ed5bb71995f7c"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 04 00:53:36 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 04 00:53:36 2014 +0000"
      },
      "message": "am 0c25f441: Merge \"Check null this pointer for direct methods in FindMethodFast.\"\n\n* commit \u00270c25f441d0d85ec882b4634f496ed5bb71995f7c\u0027:\n  Check null this pointer for direct methods in FindMethodFast.\n"
    },
    {
      "commit": "207a37dbb8049bdf585d17551c3eb3df685a629f",
      "tree": "6ddb67ac39641acf3db3f30c9346ea5c264f2b18",
      "parents": [
        "a338da434433b180c33e043929ea79b18f4c093c"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 29 17:24:25 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 03 14:00:57 2014 -0800"
      },
      "message": "Check null this pointer for direct methods in FindMethodFast.\n\nAlso adds regression test 127-secondarydex.\n\nBug: 18150997\n\n(cherry picked from commit d2bee3dffa2f552512f47bca605ed857e3ae30ea)\n\nChange-Id: I911dd7c92c51939504cfee5a3d18a835987b8388\n"
    },
    {
      "commit": "16f523bf6d64d729f82757c76f7f0a7dea616e0a",
      "tree": "56b42b114ce0b49fa7b180199ae6b363f2d4022a",
      "parents": [
        "231d83505948c5cadde9bd205cc8f13af9b80bb9",
        "a338da434433b180c33e043929ea79b18f4c093c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 18:37:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 03 18:37:14 2014 +0000"
      },
      "message": "am a338da43: Merge \"ART: Add miranda checking\"\n\n* commit \u0027a338da434433b180c33e043929ea79b18f4c093c\u0027:\n  ART: Add miranda checking\n"
    },
    {
      "commit": "a338da434433b180c33e043929ea79b18f4c093c",
      "tree": "e0b5a2ad83c86c96af8b10797bcccafeca4cb758",
      "parents": [
        "4450721d3d396b392b1ec27bafbf3b6f956682f7",
        "2b0fa5ba4a8f07ee243452003bf93418d30e9448"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 18:30:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 03 18:30:41 2014 +0000"
      },
      "message": "Merge \"ART: Add miranda checking\""
    },
    {
      "commit": "231d83505948c5cadde9bd205cc8f13af9b80bb9",
      "tree": "ecc38396bb592d7b3383c5eae72f56648ef59e89",
      "parents": [
        "d74f00017950c3eb62d8066f823eb2b63a90c94c",
        "4450721d3d396b392b1ec27bafbf3b6f956682f7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 18:28:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 03 18:28:32 2014 +0000"
      },
      "message": "am 4450721d: Merge \"ART: Discard generated image in a low-memory environment\"\n\n* commit \u00274450721d3d396b392b1ec27bafbf3b6f956682f7\u0027:\n  ART: Discard generated image in a low-memory environment\n"
    },
    {
      "commit": "4450721d3d396b392b1ec27bafbf3b6f956682f7",
      "tree": "7efa61531e5f48564e8f2a4d80185f3512e4b2f6",
      "parents": [
        "a88219f157a53d6ba334bee92ad4718bfa6eb9c1",
        "70be1fb17e5777f3a05dc86cfa8ee12cddb42698"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 18:24:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 03 18:24:44 2014 +0000"
      },
      "message": "Merge \"ART: Discard generated image in a low-memory environment\""
    },
    {
      "commit": "2b0fa5ba4a8f07ee243452003bf93418d30e9448",
      "tree": "3fb41e59c663ad861ea65c6032f875cf4bf406b7",
      "parents": [
        "9a41fb1616df7e966e58cabc2abc1b5d90c9e14f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 31 18:12:30 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 10:22:23 2014 -0800"
      },
      "message": "ART: Add miranda checking\n\nAdd a test for resolution of miranda methods across dex-files. See\nCL 112688 and b/18193682 for the code change.\n\nFix the test script to support no-verify again.\n\nWeaken the dex cache check to a check whether the found method is a\nmiranda method. This will penalize miranda methods, as they will\nalways have to be resolved by name, but does not require the multi-step\nload of the method\u0027s dex cache.\n\nBug: 18193682\nChange-Id: I1dae2a9ec0985dc8625acd7dd5686a5d3cdc8888\n"
    },
    {
      "commit": "d74f00017950c3eb62d8066f823eb2b63a90c94c",
      "tree": "c043710504ed7d69962e91ca8921fa976cc8560d",
      "parents": [
        "5521f8e80c5a47b8a91cdefd48c1304044ef3c51",
        "a88219f157a53d6ba334bee92ad4718bfa6eb9c1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 03 18:20:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 03 18:20:52 2014 +0000"
      },
      "message": "am a88219f1: Merge \"Add image strings to intern table\"\n\n* commit \u0027a88219f157a53d6ba334bee92ad4718bfa6eb9c1\u0027:\n  Add image strings to intern table\n"
    },
    {
      "commit": "a88219f157a53d6ba334bee92ad4718bfa6eb9c1",
      "tree": "8e2e1a8a1d21621aca8ef249d15b540d0979e205",
      "parents": [
        "71ed8c7e38595e650dbd5a9fd17852776a938848",
        "eb175f70ef352ce0b9bcafdf06c5ac22b0ff626a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 03 18:18:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 03 18:18:40 2014 +0000"
      },
      "message": "Merge \"Add image strings to intern table\""
    },
    {
      "commit": "eb175f70ef352ce0b9bcafdf06c5ac22b0ff626a",
      "tree": "a69840165ef62cd918c001a421373bec9121314d",
      "parents": [
        "07f09809c0575e985249450843b06f266b831fe1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 31 11:49:27 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 03 10:17:41 2014 -0800"
      },
      "message": "Add image strings to intern table\n\nWhen we create the runtime, we now add the image strings to the\nintern table if we are the zygote. This caused some memory bloat,\nso I added an extra unordered set to the intern table.\n\nThere is now two unordered sets (hash talbe). One for pre-zygote\ninterns and one for post-zygote interns. This helps since the\npre-zygote hash table doesn\u0027t get dirtied. Even with adding\nthe image strings, we get total memory savings of around 5-7 MB\nnative PSS after device boot.\n\nFB launch Before:\n2.20% art::DexFile::FindStringId(char const*) const\nTotalTime: 2069\nTotalTime: 1985\nTotalTime: 2088\nTotalTime: 2003\nTotalTime: 2034\nTotalTime: 2049\nAfter boot native PSS: 175585 kB: Native\n\nAfter:\n0.27% art::DexFile::FindStringId(char const*) const\nTotalTime: 1682\nTotalTime: 1756\nTotalTime: 1825\nTotalTime: 1751\nTotalTime: 1666\nTotalTime: 1813\nAfter boot native PSS: 167089 kB: Native\n\nBug: 18054905\nBug: 16828525\nBug: 17808975\n\n(cherry picked from commit b6e292bf7eac9d73c6b79b1e9b7b87beb02436c9)\n\nChange-Id: Ie367f3222f8c4db409ec49c3845276908b51e9c9\n"
    },
    {
      "commit": "25850980c583e29a8827279e51bbcdfa07cd454f",
      "tree": "4d75dff430bc818ad8a176b73649cee59599d65c",
      "parents": [
        "664091dd4b801d8820af27280a248e75cdc66323",
        "31e7c1628ffd90018a971e6650c924dc804b9a9a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 18:17:18 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 03 18:17:18 2014 +0000"
      },
      "message": "am 31e7c162: Merge \"ART: Remove unnecessary includes\"\n\n* commit \u002731e7c1628ffd90018a971e6650c924dc804b9a9a\u0027:\n  ART: Remove unnecessary includes\n"
    },
    {
      "commit": "b688611f1c40a7d6867b084a045c0d5ce87e869e",
      "tree": "8dae131aaab886ddad89475ae7e6f1ae10f2134a",
      "parents": [
        "07f09809c0575e985249450843b06f266b831fe1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 08:47:01 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 10:12:01 2014 -0800"
      },
      "message": "ART: Remove unnecessary includes\n\nRemove unnecessary includes from context_ISA.cc\n\nChange-Id: Ic9919c0afd081ec405a5d972d152fe996d12fa3d\n"
    },
    {
      "commit": "70be1fb17e5777f3a05dc86cfa8ee12cddb42698",
      "tree": "c1f2b1330563b98b7b270751d7edc2dedcf870d5",
      "parents": [
        "9a41fb1616df7e966e58cabc2abc1b5d90c9e14f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 31 16:45:19 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 31 20:58:52 2014 -0700"
      },
      "message": "ART: Discard generated image in a low-memory environment\n\nIn case the available memory after image generation is low,\ndiscard the image and continue in interpreted mode to mitigate\nlow-mem issues.\n\nBug: 17975190\n\n(cherry picked from commit e059b778a6a471455659eb8c3616858eb189fda8)\n\nChange-Id: I9bbb5e52ffbf3570f85510efb76bcd7654e6951c\n"
    },
    {
      "commit": "e4c648b7cd42f5c8e39a38d365d588dff8429180",
      "tree": "ff7ae48d987c86fd7db4861dbf7f979d9a7ea646",
      "parents": [
        "043b3b05bcdf365b3660b6a76e014bc61924d246",
        "9a41fb1616df7e966e58cabc2abc1b5d90c9e14f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 31 21:37:37 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 31 21:37:37 2014 +0000"
      },
      "message": "am 9a41fb16: Merge \"Fix FindDeclaredVirtualMethod(DexCache...) for miranda methods\"\n\n* commit \u00279a41fb1616df7e966e58cabc2abc1b5d90c9e14f\u0027:\n  Fix FindDeclaredVirtualMethod(DexCache...) for miranda methods\n"
    },
    {
      "commit": "f322c4cb1290a53e3fc4dca4217810484ecc8f20",
      "tree": "e185062a7136e978d48dcd28413f162db43284a1",
      "parents": [
        "57b4d1c44e246dfd4aaef2d23b20a696a0c5e57e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 31 00:01:54 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 31 11:55:17 2014 -0700"
      },
      "message": "Fix FindDeclaredVirtualMethod(DexCache...) for miranda methods\n\nIf a class in classes.dex implements an interface from classes2.dex,\nthe miranda method will be in the dex cache for classes2.dex, but\npointed to by the virtual methods of the class in the dex caches for\nclasses.dex.\n\nTherefore the fast path for DexCache::ResolveMethod that searches via\nclass and superclass virtual methods should ensure that any method\nmatching on dex method_idx should be from the same dex cache as the\nclass itself, which is not the case for miranda methods.\n\nBug: 18193682\n\n(cherry picked from commit 9a783d6a0cb437fc0d9ffcc84502912f3d1cb73b)\n\nChange-Id: Ia44f72c2ed2701e48153d14d2c5ca4ccc4959b30\n"
    },
    {
      "commit": "7e7f648d2499f6c680e4aefb0955e051a3f72aa3",
      "tree": "516899ee14d58bb972b754b7db1ec2265fb6b525",
      "parents": [
        "4ae7f3245a22008c23d068e073ae6fca790e47a8",
        "8b557af85871e5086589afd2b3a17089d0f67df8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 23:43:18 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 30 23:43:18 2014 +0000"
      },
      "message": "am 8b557af8: Merge \"Add math routines with defined wrapping behavior for the interpreter.\"\n\n* commit \u00278b557af85871e5086589afd2b3a17089d0f67df8\u0027:\n  Add math routines with defined wrapping behavior for the interpreter.\n"
    },
    {
      "commit": "4ae7f3245a22008c23d068e073ae6fca790e47a8",
      "tree": "c84a8ebe5a530048131a2009a710326cb1340bce",
      "parents": [
        "ed54f6a95bc81e4e8f987e3955731d00c297c480",
        "2a4e71ca268f8a5b3d8424116a7a8650265d8774"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 23:43:15 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 30 23:43:15 2014 +0000"
      },
      "message": "am 2a4e71ca: Merge \"Avoid signed integer overflow in identity hash code.\"\n\n* commit \u00272a4e71ca268f8a5b3d8424116a7a8650265d8774\u0027:\n  Avoid signed integer overflow in identity hash code.\n"
    },
    {
      "commit": "53e0fc9ce500a42a0527ba3fe2e9ecc86650f72b",
      "tree": "259edaf4a1931424c795d545cae4ddbea0143407",
      "parents": [
        "63abb7d562549c74c9fc84f4c41dabb119949aed",
        "6163fd4004d357744ed5e1b681f74adb406c23fd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 30 23:43:10 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 30 23:43:10 2014 +0000"
      },
      "message": "am 6163fd40: Merge \"Add hash table to link virtual methods\"\n\n* commit \u00276163fd4004d357744ed5e1b681f74adb406c23fd\u0027:\n  Add hash table to link virtual methods\n"
    },
    {
      "commit": "63abb7d562549c74c9fc84f4c41dabb119949aed",
      "tree": "95978f72e87d4a51f032da8025786b18ac889325",
      "parents": [
        "8314848915c253a9c4236d90892f662668bdfa24",
        "c74c218da71957250b4bda45fd1ac5ed8acd0131"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 23:43:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 30 23:43:09 2014 +0000"
      },
      "message": "am c74c218d: Merge \"Fix mixed signed/unsigned arithmetic in BitVector.\"\n\n* commit \u0027c74c218da71957250b4bda45fd1ac5ed8acd0131\u0027:\n  Fix mixed signed/unsigned arithmetic in BitVector.\n"
    },
    {
      "commit": "8314848915c253a9c4236d90892f662668bdfa24",
      "tree": "9eb08262999a6c94bb3134a5b822ae6c84f8ec32",
      "parents": [
        "d2e90170c76227902a8acc323bbec15e27dbb712",
        "da7bb73801b53f4b70ccd7340aca5892db4f0867"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 23:43:08 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 30 23:43:08 2014 +0000"
      },
      "message": "am da7bb738: Merge \"Avoid signed arithmetic overflow in UTF hash functions.\"\n\n* commit \u0027da7bb73801b53f4b70ccd7340aca5892db4f0867\u0027:\n  Avoid signed arithmetic overflow in UTF hash functions.\n"
    },
    {
      "commit": "d2e90170c76227902a8acc323bbec15e27dbb712",
      "tree": "ceaaf71aa0a71a90aa2282dd1428a50c3f0e0d24",
      "parents": [
        "1dd4091581275551a02e03499b34efda02f15473",
        "3efa15fd486fd07d61898720419f020066a307b2"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 30 23:43:04 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 30 23:43:04 2014 +0000"
      },
      "message": "am 3efa15fd: Merge \"art: Fix classlinker and nopatchoat test for PIC case\"\n\n* commit \u00273efa15fd486fd07d61898720419f020066a307b2\u0027:\n  art: Fix classlinker and nopatchoat test for PIC case\n"
    },
    {
      "commit": "f72a11dd4b0dd86bc4b1baa37bfa47fc8d5572b5",
      "tree": "bf2f2842a7bbe44057bc1e8c0e176b51baa173ac",
      "parents": [
        "2a4e71ca268f8a5b3d8424116a7a8650265d8774"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 15:41:08 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 16:17:21 2014 -0700"
      },
      "message": "Add math routines with defined wrapping behavior for the interpreter.\n\nAdd a RSUB_INT_LIT16 instruction alias to make instruction opcode switch\nstatements easier to read.\n\nChange-Id: I3bac07c9518665abf0b05b5c3105a90be22f780a\n"
    },
    {
      "commit": "2a4e71ca268f8a5b3d8424116a7a8650265d8774",
      "tree": "ea7f3c0a1f38b42affef0e59a0c4008e4c1a7181",
      "parents": [
        "45664c995b99e81f6d425206d7a43cb3b898daab",
        "bbcd30bf9a39e40879426ec703985c96df1d7491"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 22:42:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 30 22:42:27 2014 +0000"
      },
      "message": "Merge \"Avoid signed integer overflow in identity hash code.\""
    },
    {
      "commit": "bbcd30bf9a39e40879426ec703985c96df1d7491",
      "tree": "bb2ffc6c685b2afc333477396856ce05697d3e19",
      "parents": [
        "a8825e4b38ae01fa77d255ca423ab2f2b77c6097"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 15:25:36 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 15:25:36 2014 -0700"
      },
      "message": "Avoid signed integer overflow in identity hash code.\n\nCaught by -ftrapv.\n\nChange-Id: Ib8dbb31440ccce88a3c3ce7ea3b2394621616eff\n"
    },
    {
      "commit": "6163fd4004d357744ed5e1b681f74adb406c23fd",
      "tree": "7d4229989754e7f8193c978d3ba25eb1e8b6e35f",
      "parents": [
        "c74c218da71957250b4bda45fd1ac5ed8acd0131",
        "9f3629df89b7f2b4f7a599bdc5f7eeb748330582"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 30 22:24:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 30 22:24:50 2014 +0000"
      },
      "message": "Merge \"Add hash table to link virtual methods\""
    },
    {
      "commit": "c74c218da71957250b4bda45fd1ac5ed8acd0131",
      "tree": "083ac082bf2b2140f4804c4f0c4ffb9eac0f8184",
      "parents": [
        "da7bb73801b53f4b70ccd7340aca5892db4f0867",
        "5a2e4ccabf4cda7050c63685be23339eac8779df"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 22:24:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 30 22:24:11 2014 +0000"
      },
      "message": "Merge \"Fix mixed signed/unsigned arithmetic in BitVector.\""
    },
    {
      "commit": "9f3629df89b7f2b4f7a599bdc5f7eeb748330582",
      "tree": "3ed0e8d389c027331e3bb27035e93429b305318f",
      "parents": [
        "d99865e11d9fb88567da3e68163d275982fd6cba"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 28 18:23:02 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 30 15:19:25 2014 -0700"
      },
      "message": "Add hash table to link virtual methods\n\nAdded a hash table for turning the O(m*n) lookup average case to\nO(m+n) average case. There is probably still some room for improvement.\n\nBefore:\nWaitTime: 2121\nWaitTime: 2051\nWaitTime: 2134\nWaitTime: 2104\nWaitTime: 2237\nWaitTime: 2391\n4.99% art::MethodNameAndSignatureComparator::HasSameNameAndSignature(art::mirror::ArtMethod)\n1.65% art::ClassLinker::LinkVirtualMethods(art::Thread*, art::Handle\u003cart::mirror::Class\u003e)\n\nAfter:\nWaitTime: 2038\nWaitTime: 1965\nWaitTime: 1979\nWaitTime: 1976\nWaitTime: 1957\nWaitTime: 2004\n0.46% art::MethodNameAndSignatureComparator::HasSameNameAndSignature(art::mirror::ArtMethod*)\n1.39% art::ClassLinker::LinkVirtualMethods(art::Thread*, art::Handle\u003cart::mirror::Class\u003e)\n\nBug: 18054905\nBug: 16828525\n\n(cherry picked from commit a9ca9ac444ceb2cf5e8bd5c98c1ed47f2a9a94dd)\n\nChange-Id: If847afb7194daa05ace38d15862e4b871dfffae1\n"
    },
    {
      "commit": "da7bb73801b53f4b70ccd7340aca5892db4f0867",
      "tree": "d6f9e2aece58551a316e06a41df0534be40e7843",
      "parents": [
        "3efa15fd486fd07d61898720419f020066a307b2",
        "8f41dc389bd50b6e31caa3fe9d41cbaf76e4d8d6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 22:19:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 30 22:19:02 2014 +0000"
      },
      "message": "Merge \"Avoid signed arithmetic overflow in UTF hash functions.\""
    },
    {
      "commit": "8f41dc389bd50b6e31caa3fe9d41cbaf76e4d8d6",
      "tree": "e46610c43bb57e78218d7bfd95e486a2165a9c4a",
      "parents": [
        "a8825e4b38ae01fa77d255ca423ab2f2b77c6097"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 15:16:16 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 15:16:16 2014 -0700"
      },
      "message": "Avoid signed arithmetic overflow in UTF hash functions.\n\nChange-Id: I3485ef8445a6034661c1e75dc11ab9ad48884458\n"
    },
    {
      "commit": "5a2e4ccabf4cda7050c63685be23339eac8779df",
      "tree": "ffa58c9c51de081b0f8e0916f12a025eaa223ed4",
      "parents": [
        "a8825e4b38ae01fa77d255ca423ab2f2b77c6097"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 15:13:22 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 15:13:22 2014 -0700"
      },
      "message": "Fix mixed signed/unsigned arithmetic in BitVector.\n\nChange-Id: I59c7f5a26e42689f77b067f4c73b086335e9273d\n"
    },
    {
      "commit": "3efa15fd486fd07d61898720419f020066a307b2",
      "tree": "bdd225cf32461e2ef4b3e4f0cb6cff6f0c065be3",
      "parents": [
        "d99865e11d9fb88567da3e68163d275982fd6cba",
        "96e83930f35544872228be209d3704f60c2c485c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 30 21:40:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 30 21:40:19 2014 +0000"
      },
      "message": "Merge \"art: Fix classlinker and nopatchoat test for PIC case\""
    },
    {
      "commit": "96e83930f35544872228be209d3704f60c2c485c",
      "tree": "046d24ed5c43fdbdb4293f1ca23105a5cc71039b",
      "parents": [
        "0ea536897c078761e0309437a3d25fbbf53c94a3"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 29 19:45:42 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 30 13:29:31 2014 -0700"
      },
      "message": "art: Fix classlinker and nopatchoat test for PIC case\n\nClassLinker should not be checking oat data begin and the patch delta\nas part of the checksum verification (when PIC is enabled).\n\nAlso update nopatchoat test since it needs to be parametric on whether\nPIC is used.\n\nBug: 18035729\nChange-Id: I4eb184d22616230a7b8f0dd514d3416d0976b07e\n"
    },
    {
      "commit": "4c556b20eb2c5798088f515d83c35db2ea3f08e1",
      "tree": "500617e9ac91a8cced310ea7d7772e772b0ddd18",
      "parents": [
        "a3d6f679e1921fe50913b7adeb1187759ff7ef57",
        "263f20b7a04b33f0e4b8f43b9a69ee9a1ddba564"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 18:36:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 30 18:36:49 2014 +0000"
      },
      "message": "am 263f20b7: Merge \"Tidy and reduce ART library dependencies on the host.\"\n\n* commit \u0027263f20b7a04b33f0e4b8f43b9a69ee9a1ddba564\u0027:\n  Tidy and reduce ART library dependencies on the host.\n"
    },
    {
      "commit": "263f20b7a04b33f0e4b8f43b9a69ee9a1ddba564",
      "tree": "00b241fb34665cdf905712d8e1b9892fe2ba8498",
      "parents": [
        "26dcecb0ef620fb225cd5dd39f6e41b07e34c83d",
        "872dd8208f00c667af8d9e0fd07fdd0ada56d437"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 18:31:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 30 18:31:28 2014 +0000"
      },
      "message": "Merge \"Tidy and reduce ART library dependencies on the host.\""
    },
    {
      "commit": "872dd8208f00c667af8d9e0fd07fdd0ada56d437",
      "tree": "2f69282f19c72ef157dad9fdc7b6c6daf8a1bf38",
      "parents": [
        "af62cf99a1a4320157e1074c1e65c5fbb0320349"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 11:19:14 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 11:19:14 2014 -0700"
      },
      "message": "Tidy and reduce ART library dependencies on the host.\n\nMove to shared rather than static libraries. Avoids capture of all static\nlibraries library dependencies.\n\nChange-Id: I2be96e92dad4ed1842d76b044745f2a2e15372eb\n"
    },
    {
      "commit": "9ca7d08983423b1d50c378c4d07ff4686d1b5113",
      "tree": "a564bf13f8f806fc0d9760cb59edf3d55b5aaaea",
      "parents": [
        "e507635861a799dee9f2817c488f5865b298f51e",
        "2fba9d456f18c0c7042795ab5115f54eac9d1dc6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 30 17:08:47 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 30 17:08:47 2014 +0000"
      },
      "message": "am 2fba9d45: Merge \"ART: Do not abort on most verifier failures\"\n\n* commit \u00272fba9d456f18c0c7042795ab5115f54eac9d1dc6\u0027:\n  ART: Do not abort on most verifier failures\n"
    },
    {
      "commit": "7c0381049ea33e64514984432312290842946bc1",
      "tree": "24a8928610ebc84a166f1b766f3f70799cd66a9d",
      "parents": [
        "0ea536897c078761e0309437a3d25fbbf53c94a3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 27 20:08:46 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 30 10:06:52 2014 -0700"
      },
      "message": "ART: Do not abort on most verifier failures\n\nChanges hard aborts to hard verifier failures, which rejects a\nclass instead of killing the process.\n\nBug: 17625962\n\n(cherry picked from commit 8fa841aa1c02ff8e3e7caaa73ed5fe25f027d5d3)\n\nChange-Id: Iba8e15676e13ea6dcd6e1e5d0484031d9ab52ae9\n"
    },
    {
      "commit": "2e58407cf8c722df2bd284dc6917e9fe74b79d14",
      "tree": "3a2b8aaac12928258d8da3aebc0406923cd6cd3a",
      "parents": [
        "9c833fcbf7776b27bd23d64e9e47ffa08b28f087",
        "be29639a910daaa5bdb0c32be1e03477cf12babb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 29 12:32:58 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 29 12:32:58 2014 +0000"
      },
      "message": "am be29639a: Merge \"Move GetNameAsString out of MethodHelper into ArtMethod.\"\n\n* commit \u0027be29639a910daaa5bdb0c32be1e03477cf12babb\u0027:\n  Move GetNameAsString out of MethodHelper into ArtMethod.\n"
    },
    {
      "commit": "9c833fcbf7776b27bd23d64e9e47ffa08b28f087",
      "tree": "8a919780408fe642e7a6f0176256f359096ab09e",
      "parents": [
        "d6b31b805a7cc3f12629fe0e3564bb73d97c2d59",
        "eedb5168c3682472ddcc7de8fa4f3caa1d4b088b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 29 12:32:56 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 29 12:32:56 2014 +0000"
      },
      "message": "am eedb5168: Merge changes I70e70894,I3adcb8a1\n\n* commit \u0027eedb5168c3682472ddcc7de8fa4f3caa1d4b088b\u0027:\n  Work around relocated boot.oat corruption\n  Remove double space in messages\n"
    },
    {
      "commit": "d6b31b805a7cc3f12629fe0e3564bb73d97c2d59",
      "tree": "d6a63d2c55ed13f21bd23b02fd980e7ef278b403",
      "parents": [
        "a75aac44da2ffdcbb2286e37cc22ac8ae034440b",
        "f13dd50788a9f82326085cd9b597cc644325702e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 29 12:32:55 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 29 12:32:55 2014 +0000"
      },
      "message": "am f13dd507: Merge \"Move MethodHelper::GetReturnType to mirror::ArtMethod.\"\n\n* commit \u0027f13dd50788a9f82326085cd9b597cc644325702e\u0027:\n  Move MethodHelper::GetReturnType to mirror::ArtMethod.\n"
    },
    {
      "commit": "9ad0a5dc0d7f0e13d5a10c52d41bc4394bdf2e43",
      "tree": "f28a694fb95dec6fffe4fe2b97188cc07df56eba",
      "parents": [
        "f01766853aa4b3370b482a3f3c915980a76f4df5",
        "027ea04bcf14bed154bbf4241307499e65783ab9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 29 12:32:53 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 29 12:32:53 2014 +0000"
      },
      "message": "am 027ea04b: Merge \"Fill resolved static fields during class initialization\"\n\n* commit \u0027027ea04bcf14bed154bbf4241307499e65783ab9\u0027:\n  Fill resolved static fields during class initialization\n"
    },
    {
      "commit": "f01766853aa4b3370b482a3f3c915980a76f4df5",
      "tree": "dd2e7efa8ea699bcef851dcd27ad015c6332926e",
      "parents": [
        "0d6898e3165a96548ef1bedf12d72ad702db2c1d",
        "e0205d519dd417f749243b42b8711dfa313e5390"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 29 12:32:34 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 29 12:32:34 2014 +0000"
      },
      "message": "am e0205d51: Merge \"Remove ResolveString from MethodHelper.\"\n\n* commit \u0027e0205d519dd417f749243b42b8711dfa313e5390\u0027:\n  Remove ResolveString from MethodHelper.\n"
    }
  ],
  "next": "8ec72b76f64baafcdb78d134909f9acd3e73f4af"
}
