)]}'
{
  "log": [
    {
      "commit": "5e588b3c9af58ef54dcdd2cf129472dbe923a5bf",
      "tree": "eee70f1d6111554feff40ebb4f0cadf8dd4e1a3a",
      "parents": [
        "3afa4c1bae71f3d3cd7004b9b215facbdff22e63"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 21 15:05:09 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 21 15:09:17 2013 -0800"
      },
      "message": "Output Intel group 0 prefixes.\n\nChange-Id: If1908f8fd4d0c5e1f019732e8945af501fe62e8c\n"
    },
    {
      "commit": "3afa4c1bae71f3d3cd7004b9b215facbdff22e63",
      "tree": "66eedf766cdba020c5ff6bb2a82fe528bb27371a",
      "parents": [
        "c081e369040bd46919f8d48607494780611442ac",
        "4b9702c6912c6f8745a77f5b5af56e7fe196e7c2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 21 15:42:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 15:42:28 2013 +0000"
      },
      "message": "Merge \"Add a JDWP::Request type to replace the old uint8_t* and int.\" into dalvik-dev"
    },
    {
      "commit": "4b9702c6912c6f8745a77f5b5af56e7fe196e7c2",
      "tree": "02fee3631b7f3b60eb15f791b5dd004b27d6a571",
      "parents": [
        "64f574f474aa77c72778640ab21f8cfa72546812"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 20 18:13:24 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 21 07:41:59 2013 -0800"
      },
      "message": "Add a JDWP::Request type to replace the old uint8_t* and int.\n\nThis also lets us check that all the data in a (successful) request\nis actually read, though doing so caught two bugs in the tests, and\nmay well catch bugs in the actual debuggers.\n\nChange-Id: Ibed402e6f1c0c7a1d19d61f0be9bddd0c2f5a388\n"
    },
    {
      "commit": "c081e369040bd46919f8d48607494780611442ac",
      "tree": "6efab4fdeb94d891128595f02c6cfd1d2f1b83d8",
      "parents": [
        "64f574f474aa77c72778640ab21f8cfa72546812"
      ],
      "author": {
        "name": "Sameer Abu Asal",
        "email": "sasal@google.com",
        "time": "Wed Feb 20 16:45:38 2013 -0800"
      },
      "committer": {
        "name": "Sameer Abu Asal",
        "email": "sasal@google.com",
        "time": "Wed Feb 20 16:45:38 2013 -0800"
      },
      "message": "Improving histogram test cases\n\n  Getting rid of the use or rand() in SpikyValues test cases to\n  make the test deterministic.\n\n  Improving accuracy for the histogram percentiles by selecting\n  more restricted  lower and upper bound for a percentile.\n\nChange-Id: If38750945e1980e8f637e836de02bee6f608e945\n"
    },
    {
      "commit": "64f574f474aa77c72778640ab21f8cfa72546812",
      "tree": "c90d3ef8f56144e61a4a043138a5118c3c9e7b9a",
      "parents": [
        "492899e445c21f09db458c76d773d571cc6cc0ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 20 14:57:12 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 20 15:46:06 2013 -0800"
      },
      "message": "Implement EnableCollection, DisableCollection, IsCollected, and fix Exit.\n\nRewrites the object registry to not just be one big leak. We use jweaks\nby default, which means (a) the GC doesn\u0027t need to know anything about us\nand (b) we don\u0027t cause unnecessary heap retention. We promote to regular\nJNI global references if the debugger asks us to.\n\nThe problem with VirtualMachine.Exit turned out to be that you\u0027re supposed\nto send a success reply to the command before exiting. This is a bit awkward\nwith our current division of responsibilities, but it lets us pass another\ntest.\n\nAlso log a summary of our replies when -verbose:jdwp is in effect, not\njust the requests.\n\nChange-Id: Idb33e99fe7d8bee7a79152d81fee42e2af00852b\n"
    },
    {
      "commit": "7e2364cb35f125899a551a1c2d7564320723436f",
      "tree": "3f72df520e32dcab085458043569720d63579a54",
      "parents": [
        "05f3057d6a4d23d712092ccd36a531590bff323b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Feb 20 14:46:54 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Feb 20 14:47:50 2013 -0800"
      },
      "message": "port 0a682b1855fb8c63a8fb502d60b37259dc893302 to art\n\nOriginal commit message:\n\nZygote: replace set?id() with setres?id()\n\nsetuid -\u003e setresuid()\nsetgid -\u003e setresgid()\n\nChange-Id: Id3d648c53474d9c246abb1563af470ff17c961a4\n"
    },
    {
      "commit": "05f3057d6a4d23d712092ccd36a531590bff323b",
      "tree": "3f342c813afdb44a08466e379c060f917d073e5a",
      "parents": [
        "4aeb567fa8b1f5e17ef7beacf86fed505cc7335c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 20 12:13:11 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 20 12:15:09 2013 -0800"
      },
      "message": "Move monitor related object routines to object-inl.h\n\nAlso pass through readily available self Thread. Remove unused wait method.\nRename ObjectLock.Wait to document it doesn\u0027t honor interrupts.\n\nChange-Id: I991e5036997b3f60ee4fdf1a420beabab9a70c85\n"
    },
    {
      "commit": "4aeb567fa8b1f5e17ef7beacf86fed505cc7335c",
      "tree": "57a48f5f25daaa989981bfdc06af499b12844b6e",
      "parents": [
        "a84395489098e4531619b1cffd1afc282b14510e"
      ],
      "author": {
        "name": "Sameer Abu Asal",
        "email": "sasal@google.com",
        "time": "Tue Feb 19 15:30:35 2013 -0800"
      },
      "committer": {
        "name": "Sameer Abu Asal",
        "email": "sasal@google.com",
        "time": "Tue Feb 19 15:31:56 2013 -0800"
      },
      "message": "Add missing headers file.\n\nAdd missing includes for barrier.h on top of mark_sweep.h\nmoved from mark_sweep.cc\n\nChange-Id: I0a61faa907fb996ed88b2164b8a31ca739cc2ab0\n"
    },
    {
      "commit": "a84395489098e4531619b1cffd1afc282b14510e",
      "tree": "f326a29ddb0c1b2f211484c6192f185a2698260e",
      "parents": [
        "addf1a8da2ece5ee9d6747a176f960ab7291f718"
      ],
      "author": {
        "name": "Sameer Abu Asal",
        "email": "sasal@google.com",
        "time": "Thu Feb 14 16:06:42 2013 -0800"
      },
      "committer": {
        "name": "Sameer Abu Asal",
        "email": "sasal@google.com",
        "time": "Tue Feb 19 15:13:46 2013 -0800"
      },
      "message": "Using histograms for timing statistics.\n\n  Histogram class and test cases added.\n  Modified make file to add test cases and class file.\n  Added a guard to avoid race condition in Cumulative logger that\n  was possible race between Addlogger and Dump() functions.\n\nChange-Id: I060a0d65648c7120963856624e7008c0aa681eb7\n"
    },
    {
      "commit": "abe640f873536f4f0b5953558c086fe82123e6ca",
      "tree": "d2c8c048ba9c39c35c45d2db11b689848cb1bcdd",
      "parents": [
        "9e1448a9c316baf44afac10208eaee32a163f914",
        "e78500c23c004c9b4756c4a6c4f4069d34e1aa4a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 19 16:30:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 19 16:30:40 2013 +0000"
      },
      "message": "Merge \"Fix ARM disassembler for shift immediate instructions.\" into dalvik-dev"
    },
    {
      "commit": "e78500c23c004c9b4756c4a6c4f4069d34e1aa4a",
      "tree": "18f419df0df70a1052310308ecb6fec040cdf35b",
      "parents": [
        "6324e2174e60e951f4e7dab22dc65bafd730e097"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Feb 19 14:29:52 2013 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Feb 19 14:39:39 2013 +0100"
      },
      "message": "Fix ARM disassembler for shift immediate instructions.\n\nFixed disassembly of Thumb instructions lsls, lsrs and asrs with immediate.\nDisassembler used incorrect bit position for destination register (Rd).\n\nChange-Id: I2a486201bbb941d4c788183602c8f80fd8eaf35a\n"
    },
    {
      "commit": "9e1448a9c316baf44afac10208eaee32a163f914",
      "tree": "8cac46bbd771131bebaa5a327cbc4130f8b17629",
      "parents": [
        "6324e2174e60e951f4e7dab22dc65bafd730e097"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Feb 18 16:41:53 2013 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Feb 18 16:41:53 2013 +0100"
      },
      "message": "Update comment making reference to an old file.\n\nThe monitor layout is described in monitor.cc. A comment was making reference\nto a non exisitng Sync.c file. This CL updates this comment.\n\nChange-Id: I1b3523827dc081b15d077ac50af601a72ed52d5d\n"
    },
    {
      "commit": "6324e2174e60e951f4e7dab22dc65bafd730e097",
      "tree": "181757d11a3e47e329925b72c4af14085da1ffdf",
      "parents": [
        "f9e609f10cdf55391c35735f395ba68567c7cd23"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 15 17:55:35 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 15 17:55:35 2013 -0800"
      },
      "message": "Fix art\u0027s System.arraycopy now bionic doesn\u0027t have _memmove_words.\n\nChange-Id: Ib4fc502eda7f5902e0cbe50ed9df892314a49017\n"
    },
    {
      "commit": "f9e609f10cdf55391c35735f395ba68567c7cd23",
      "tree": "ac08c6cce08670ba47399b68850394a569c3c415",
      "parents": [
        "69307dfee85c9861e354ad2bf5afef50b0fafe4b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Feb 15 16:36:29 2013 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Feb 15 16:36:29 2013 -0800"
      },
      "message": "Disable dlopen which doesn\u0027t work on MIPS.\n\nDlopen should be reenabled once we figure out why it doesn\u0027t work on MIPS.\n\nChange-Id: I93f50436ec65da5f52b66c7f1d7df3be75e35ae5\n"
    },
    {
      "commit": "69307dfee85c9861e354ad2bf5afef50b0fafe4b",
      "tree": "b246040f333b310056bb9b27dc70dfca9b0cdb0e",
      "parents": [
        "75bc896f0589d2aeac0c71f8a3ba141b25c27a00"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Jan 28 09:14:36 2013 +0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 15 10:52:12 2013 -0800"
      },
      "message": "Start the ELF function index from 1 instead of 0.\n\nIt will be much easier to debug if 0 is an invalid ELF\nfunction index.\n\nChange-Id: Ib1035fe461b2515c8e32e2cb5f0d52bcc9d4e6b5\n"
    },
    {
      "commit": "75bc896f0589d2aeac0c71f8a3ba141b25c27a00",
      "tree": "deb0e608f57d2f48ccceb060aa913c4312ffa26b",
      "parents": [
        "972a20543ce359b02a41d683a1d13523083d9a9f"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Jan 25 16:28:35 2013 +0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 15 10:40:30 2013 -0800"
      },
      "message": "Add missing proxy_stub_offset_ initializer.\n\nChange-Id: Icaa3393586bb33ef86f0626b0260748cada1fced\n"
    },
    {
      "commit": "972a20543ce359b02a41d683a1d13523083d9a9f",
      "tree": "7f45e074008b34c8c031a957b5a38b0f7ce93119",
      "parents": [
        "7b50b6c20a64ea37c7b5a63226bfb733d3837214",
        "f662a7c625b1067f61b23c04459eba9b12bc027e"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 14 22:30:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 22:30:15 2013 +0000"
      },
      "message": "Merge \"Add \"select\" detection to common frontend\" into dalvik-dev"
    },
    {
      "commit": "7b50b6c20a64ea37c7b5a63226bfb733d3837214",
      "tree": "b0d99101850f40490c5fca8baa197212a5cde34b",
      "parents": [
        "3ebe875c6b97f7673564b6da499be72365661259",
        "d4c3f7d4e850049b3c1019e451b18b05443b0f28"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Feb 14 22:25:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 22:25:02 2013 +0000"
      },
      "message": "Merge \"Add cfi debug info for MIPS.\" into dalvik-dev"
    },
    {
      "commit": "d4c3f7d4e850049b3c1019e451b18b05443b0f28",
      "tree": "fd8e3c5670e5f93c0c4a693d580571c60009ea96",
      "parents": [
        "aeeada47ecd9c6a7f5ea17bb1921d2fdbd394df9"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Feb 14 14:14:44 2013 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Feb 14 14:14:44 2013 -0800"
      },
      "message": "Add cfi debug info for MIPS.\n\nAlso fix cfi for arm proxies.\n\nChange-Id: Iafeb6cfa93576623c7c9081bbc2a9bc6c50c34e2\n"
    },
    {
      "commit": "f662a7c625b1067f61b23c04459eba9b12bc027e",
      "tree": "670cb79eab73097b0958f4ee9a760b1bddb6c64d",
      "parents": [
        "818d98eb563ad5d7293b8b5c40f3dabf745e611f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Feb 12 16:19:43 2013 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 14 14:11:54 2013 -0800"
      },
      "message": "Add \"select\" detection to common frontend\n\ndx produces a somewhat ugly code pattern for selects:\n\n   foo \u003d (condition) ? true : false;\n\nThere is no select Dex opcode, so this turns into:\n\n    IF_EQ v0, L1\n    CONST_4 V2, #0\nL2:\n    \u003crejoin\u003e\n.\n.\nL1:\n    CONST_4 V2, #1\n    GOTO L2\n\n...  or ...\n\n   foo \u003d (condition) ? bar1 : bar2;\n\n    IF_EQ v0, L1\n    MOVE V2, V3\nL2:\n    \u003crejoin\u003e\n.\n.\nL1:\n    MOVE V2, V4\n    GOTO L2\n\nNot only do we end up with excessive branching (and, unless we\nsomething special, really poor code layout), but the compilers\ngenerally drop down a suspend check on backwards branches - which is\ncompletely unnecessary in the \"GOTO L2\" case above.  There are ~2100\ninstances of the simplest variants of this pattern in the framework.\nWith this new optimization, boot.oat size is reduced by 90K bytes\nand one of our standard benchmarks got an 8% pop.\n\nThis CL adds a select detection operation to the common frontend\u0027s\nBasicBlock optimization pass, and introduces a new extended MIR\nopcode: kMirOpSelect.\n\nChange-Id: I06249956ba21afb0ed5cdd35019ac87cd063a17b\n"
    },
    {
      "commit": "3ebe875c6b97f7673564b6da499be72365661259",
      "tree": "b2cff1f1a4284e277a39a0950cbcab35929c6d28",
      "parents": [
        "a0664bec2dc3e52f7880dd95f7220aa3ef982b34",
        "5793feaaafef40625b010429f3f79d8ee0bdfe28"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 14 21:47:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 21:47:11 2013 +0000"
      },
      "message": "Merge \"Clean-up a few quick x86 runtime assembly stubs.\" into dalvik-dev"
    },
    {
      "commit": "5793feaaafef40625b010429f3f79d8ee0bdfe28",
      "tree": "37718db8090ce6627de675011f6dd4e5d70acd76",
      "parents": [
        "aeeada47ecd9c6a7f5ea17bb1921d2fdbd394df9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 14 13:33:34 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 14 13:34:56 2013 -0800"
      },
      "message": "Clean-up a few quick x86 runtime assembly stubs.\n\nChange-Id: Iddd1251b8a76cf6dbda25d31373c586e3de07e77\n"
    },
    {
      "commit": "a0664bec2dc3e52f7880dd95f7220aa3ef982b34",
      "tree": "6bafc87df3b1866c8eaceeda064d004e01dd7d1f",
      "parents": [
        "aeeada47ecd9c6a7f5ea17bb1921d2fdbd394df9"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Feb 13 14:39:17 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 14 13:18:11 2013 -0800"
      },
      "message": "Port prctl(PR_CAPBSET_DROP) patches dalvik-dev\n\nA combination of the following two dalvik commits:\n\n* https://android-review.googlesource.com/51731\n* https://android-review.googlesource.com/51697\n\nCommit message from c0ecb5bdbf465ef05ed3379c13ff9a4245412ce7\n\nZygote: limit the bounding capability set to CAP_NET_RAW\n\nPrevent a zygote spawned application from acquiring\ncapabilities other than CAP_NET_RAW.  The only Zygote\naccessible program on Android which grants capabilities\nis /system/bin/ping (CAP_NET_RAW), so we don\u0027t need to\nkeep the other capabilities in our bounding set.\nIf the kernel doesn\u0027t support file capabilities, we\nend up printing approx 30 lines of warning messages. Hopefully\nthis will encourage kernel developers to upgrade. In a future\nchange, we can turn a prctl(PR_CAPBSET_DROP) failure into\na fatal error.\n\nCommit message from daa97a125fc2caa5faa44a31a768f318a26c7b65\n\nZygote: address comments from previous review.\n\nPrevious review at https://android-review.googlesource.com/51731\n\nChange-Id: If43d049767a9128d73f51076a674f8b87351396d\n"
    },
    {
      "commit": "aeeada47ecd9c6a7f5ea17bb1921d2fdbd394df9",
      "tree": "f60ab4d34e321a06fa4f123a726dbfe4e69cf2c1",
      "parents": [
        "9bd02818fb88937bafcd1bf66334c0e8617f02bf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 13 11:28:34 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 13 11:31:34 2013 -0800"
      },
      "message": "Add CFI directives to x86 runtime support.\n\nMakes these routines intelligible to GDB.\nBug: 8152466\n\nChange-Id: I6d50904d2eac8fa9c554d8bf8a0e5cde15beb847\n"
    },
    {
      "commit": "9bd02818fb88937bafcd1bf66334c0e8617f02bf",
      "tree": "27935929ffa6b12743e74b45c2370373a8308767",
      "parents": [
        "818d98eb563ad5d7293b8b5c40f3dabf745e611f"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Feb 08 14:29:50 2013 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Feb 13 10:32:44 2013 -0800"
      },
      "message": "Enable inlining of Unsafe methods for x86.\n\nFixes the calculation of the size of a Mov32AR when the base reg is BP\nand the displacement is 0.\n\nAlso changes time check in heap from DCHECK to unlikely branch and warning,\nsince time isn\u0027t kept well in the x86 emulator.\n\nChange-Id: If8074610bd3d8ac2e20fb9d5b8066ef23ab94050\n"
    },
    {
      "commit": "818d98eb563ad5d7293b8b5c40f3dabf745e611f",
      "tree": "66ff660953e0bdfdf8514bc5940973739357e8c8",
      "parents": [
        "4a4552d3e4ca7575f2de3e60d9db9d46c0da96e1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Feb 10 21:38:12 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Feb 10 21:53:12 2013 -0800"
      },
      "message": "Fix MIPS to use standard kPageSize\u003d0x1000 section alignment for ELF sections\n\nChange-Id: I905f0c5f75921a65bd7426a54d6258c780d85d0e\n"
    },
    {
      "commit": "4a4552d3e4ca7575f2de3e60d9db9d46c0da96e1",
      "tree": "4ec749adea2e7e60469dcfc727eb70d0717b6daa",
      "parents": [
        "bd32fda88e5910f8805c895a2fbe206bf3469b32"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Feb 10 20:41:26 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Feb 10 20:45:09 2013 -0800"
      },
      "message": "Fix build of art/src/oat/runtime/mips/context_mips.cc\n\nChange-Id: I9eb57d8b445f2815cead389b8da24800ecffa7d7\n"
    },
    {
      "commit": "bd32fda88e5910f8805c895a2fbe206bf3469b32",
      "tree": "0080b2a315797313a0b1ae34efcc16b431980e1f",
      "parents": [
        "ee52cde0f02352c28a9d43969901eb80005a9d36",
        "bd7d2d38d5555b5a4abddb68ca1a965ddb672160"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Feb 09 09:56:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 09 09:56:41 2013 +0000"
      },
      "message": "Merge \"Fix END macro.\" into dalvik-dev"
    },
    {
      "commit": "bd7d2d38d5555b5a4abddb68ca1a965ddb672160",
      "tree": "46cf15f5a868eba1e0b0a0f84afd38a7cf85fd11",
      "parents": [
        "9329bbb44d19866a70c6f2ff1657eafe399c5bf5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Feb 09 01:55:27 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Feb 09 01:55:27 2013 -0800"
      },
      "message": "Fix END macro.\n\nChange-Id: I287d464046000589e523ef2a11ccf1ce04f7f848\n"
    },
    {
      "commit": "ee52cde0f02352c28a9d43969901eb80005a9d36",
      "tree": "e9c752c21b9823c0cf50ef46847df0deacbbaadd",
      "parents": [
        "9329bbb44d19866a70c6f2ff1657eafe399c5bf5",
        "c7d1f91e024c5c560810376340aecb39d4e47fdc"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Feb 09 05:51:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 09 05:51:23 2013 +0000"
      },
      "message": "Merge \"Codegen tweaks\" into dalvik-dev"
    },
    {
      "commit": "c7d1f91e024c5c560810376340aecb39d4e47fdc",
      "tree": "28e4f239a65cce19423e53a3d0a2162906df956d",
      "parents": [
        "987db603952c9b2a2c3f7cf28bd76638ea6ae2b0"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 07 15:22:39 2013 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Feb 08 21:49:55 2013 -0800"
      },
      "message": "Codegen tweaks\n\nMinor codegen cleanup.  Most significant part of change is\nfixing dalvik register use counting to correctly record\ncost of high word of register pair.  Significant boost to\nReversi benchmark; modest gain for Caffeinemark.\n\nChange-Id: I41819e6d7be93e62d259240269339a94a934f312\n"
    },
    {
      "commit": "9329bbb44d19866a70c6f2ff1657eafe399c5bf5",
      "tree": "2b60406d726a2b8053f0c01029a0bf1def7008a3",
      "parents": [
        "6a6278677fc250e3daee7d15906a712c8c68e307"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 08 19:56:30 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 08 20:53:47 2013 -0800"
      },
      "message": "Unwind (CFI and exidx) information for ARM.\n\nBug: 8152466\nAdding in the hope it\u0027ll give some more insight into the current\ndalvik-release/OTA issues.\n\nChange-Id: I651cc18eb40f4763a6487f3d4408dd32d675f3ff\n"
    },
    {
      "commit": "d0876a9b6d1b58409f642c3886cabb42bcd0ae09",
      "tree": "1a3ca210f7a6682513dad3efaca9f0af9fac95df",
      "parents": [
        "550191374245cc43089c916a34b292cc4e617daf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 08 11:30:38 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 08 11:30:38 2013 -0800"
      },
      "message": "Thumb32 form branch disassembly.\n\nChange-Id: I3a1af9164047b2d4ee1e215909e287be05a38bde\n"
    },
    {
      "commit": "550191374245cc43089c916a34b292cc4e617daf",
      "tree": "d53d0f6a51b0ce0bb930051daa0b1fbf7335bb0d",
      "parents": [
        "b524db1731d2e679c980d26df568d51e63458ca3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 08 01:05:23 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 08 01:05:23 2013 -0800"
      },
      "message": "Disassembly of movt.\n\nAlso tweak thumb 32 adr encoding, and cover all thumb 16 cbz/cbnz cases.\n\nChange-Id: Ie8cbb1715c593538a852987a8a5b98080565093f\n"
    },
    {
      "commit": "b524db1731d2e679c980d26df568d51e63458ca3",
      "tree": "3763fb537667d7cbee531cc6c14ea83ccb643122",
      "parents": [
        "987db603952c9b2a2c3f7cf28bd76638ea6ae2b0",
        "5a70fe8ed45e6521e0939e12ff99cbadc100e397"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Feb 07 23:21:00 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 23:21:00 2013 +0000"
      },
      "message": "Merge \"Add sun.misc.Unsafe get/put int/long/object intrinsics.\" into dalvik-dev"
    },
    {
      "commit": "5a70fe8ed45e6521e0939e12ff99cbadc100e397",
      "tree": "7b0ab22aa1eb8a888f3ba35ec2a64bd6ebd0904e",
      "parents": [
        "9e2d454e0cc7285dd8221f24bd2ff5dbe399b363"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Feb 07 15:02:10 2013 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Feb 07 15:02:10 2013 -0800"
      },
      "message": "Add sun.misc.Unsafe get/put int/long/object intrinsics.\n\nThese methods can be inlined by the compiler.\n\nChange-Id: I072096ad93c0928babc4a30927fb50fc4c27f7f7\n"
    },
    {
      "commit": "987db603952c9b2a2c3f7cf28bd76638ea6ae2b0",
      "tree": "8192a4e5101d12b8a03d5173a3a200e180a2fe3f",
      "parents": [
        "83683407501bfe55f7f9db2918fe5da990ed07ba",
        "a5954be0aac5edd892fb31a209960543d00e4500"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 07 18:58:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 18:58:14 2013 +0000"
      },
      "message": "Merge \"Compiler cleanup: remove some old JIT leftovers.\" into dalvik-dev"
    },
    {
      "commit": "83683407501bfe55f7f9db2918fe5da990ed07ba",
      "tree": "203528f0429dad6b857570a1f740ab99643d4e20",
      "parents": [
        "9782006ac6359c34d13755db74c87960fb15f0fa",
        "6a791b26577a61fd14f4836c795d616869bd2957"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 07 18:51:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 18:51:52 2013 +0000"
      },
      "message": "Merge \"Skip card mark when storing known null reference\" into dalvik-dev"
    },
    {
      "commit": "a5954be0aac5edd892fb31a209960543d00e4500",
      "tree": "44ac5d275ce17ac97f161ce2279d042b7cbe3e84",
      "parents": [
        "8dbb708c7dc05c786329eb5c3fff3194ab6472ac"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 07 10:41:40 2013 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 07 10:41:40 2013 -0800"
      },
      "message": "Compiler cleanup: remove some old JIT leftovers.\n\nThe JIT was designed to allow any code emitter (for any reason)\nto decline to complete a codegen request.  The outer driver\nwould then detect if a codegen request wasn\u0027t completed and\nin that case generate bail-out code to the interpreter or\nsimply end the trace early.\n\nThis was quite useful for the JIT, but has no value in an\nahead-of-time compiler (with the exception of special inline\ncases - those are still optional).  Codegen requests must succeed or\ndie.  This CL removes some of the bool success reporting from\ninherited Gen routines.\n\nChange-Id: I0237bbd82cc2d548f85dda8f7231126337976e8a\n"
    },
    {
      "commit": "9782006ac6359c34d13755db74c87960fb15f0fa",
      "tree": "533ba33e9bf18f05de501a504806f0942fcebb4d",
      "parents": [
        "5d8a2b8317552adf3fbe43a3fbb53b991e127028",
        "bbdd05378516f11443fce29a0fbff25ad993db23"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 07 18:41:03 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 18:41:03 2013 +0000"
      },
      "message": "Merge \"[Portable Compiler] Rework return block marking.\" into dalvik-dev"
    },
    {
      "commit": "bbdd05378516f11443fce29a0fbff25ad993db23",
      "tree": "29b8d389ec032b8d09d82ec801909a6535f665c4",
      "parents": [
        "8dbb708c7dc05c786329eb5c3fff3194ab6472ac"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 07 09:33:02 2013 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 07 10:39:53 2013 -0800"
      },
      "message": "[Portable Compiler] Rework return block marking.\n\nMove the detection of blocks that contain a return from the\nGBC emit pass up to Dex parsing.  This allows logic that detects\nbackward branches that go to method return to skip suspend checks.\n\nChange-Id: I2a606b49850235b59c5faf237a08729e98220f4d\n"
    },
    {
      "commit": "5d8a2b8317552adf3fbe43a3fbb53b991e127028",
      "tree": "afb4528b7cb18455889ced72a8ac97deb963ca3e",
      "parents": [
        "9e2d454e0cc7285dd8221f24bd2ff5dbe399b363",
        "e8ae0dcbbaed4681a56edb38d2a7976a444b1795"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 07 18:32:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 18:32:35 2013 +0000"
      },
      "message": "Merge \"Fix ALWAYS_INLINE.\" into dalvik-dev"
    },
    {
      "commit": "e8ae0dcbbaed4681a56edb38d2a7976a444b1795",
      "tree": "9d28e868e742205699b0ffd74b81ec1b6c9c1f4b",
      "parents": [
        "8dbb708c7dc05c786329eb5c3fff3194ab6472ac"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 07 10:20:45 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 07 10:20:45 2013 -0800"
      },
      "message": "Fix ALWAYS_INLINE.\n\nChange-Id: Ibac2f8f98dbbb95a2e4c0e791d73954076620f46\n"
    },
    {
      "commit": "9e2d454e0cc7285dd8221f24bd2ff5dbe399b363",
      "tree": "698ac1078f3f6f1e39e4c07df6e321ced28bce1d",
      "parents": [
        "8dbb708c7dc05c786329eb5c3fff3194ab6472ac",
        "4b07f172d98846ca6b04d592ea8fd1a1659ada96"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 07 17:02:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 17:02:18 2013 +0000"
      },
      "message": "Merge \"Add some comments to describe assembly #defines.\" into dalvik-dev"
    },
    {
      "commit": "4b07f172d98846ca6b04d592ea8fd1a1659ada96",
      "tree": "be250fd8682a8eae2c80bf2e9559a1f62b74f7c5",
      "parents": [
        "1f99173cf7cdfab58eb00d9e0dd1d714fcd6b529"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 07 08:29:42 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 07 08:29:42 2013 -0800"
      },
      "message": "Add some comments to describe assembly #defines.\n\nChange-Id: I2e9250a5ae522368ff5abe18e5fd13c8abe94f32\n"
    },
    {
      "commit": "6a791b26577a61fd14f4836c795d616869bd2957",
      "tree": "b2beddd9fda1daf451805aa416137f80d84782f2",
      "parents": [
        "4ef3e45d7c6ec3c482a1a48f4df470811aa3cf0a"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 07 05:35:08 2013 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 07 05:35:08 2013 -0800"
      },
      "message": "Skip card mark when storing known null reference\n\nWe don\u0027t need to mark the gc card if storing a null reference.\n\nChange-Id: I445db196a097ed92b67b8bf1e6b486c6fac7d08f\n"
    },
    {
      "commit": "8dbb708c7dc05c786329eb5c3fff3194ab6472ac",
      "tree": "1374ac8244bb13612e027de23516ecddfb2bba3c",
      "parents": [
        "cc07edb6bb274593c687188c99015c30dd73acae"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Jan 25 20:31:17 2013 +0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 06 19:14:06 2013 -0800"
      },
      "message": "Rename run-time functions to distinguish art_quick_[name] vs art_portable_[name].\n\nWe have two different sets of run-time functions:\n(1) the one used by quick compiler, and\n(2) the one used by portable compiler.\n\nPreviosuly, the one used by quick compiler is placed in ``extern\n\"C\"\u0027\u0027, and the one used by portable compiler is placed in ``namespace\nart\u0027\u0027.  That\u0027s why we can link them together in the past.  From the\npoint of view of the linker, they had different names:\n\n(1) Quick RT: art_set32_static_from_code\n(2) LLVM RT: _ZN3art27art_set32_static_from_codeEjPNS_14AbstractMethodEi\n\nPreviously for portable, ExtractCodeAndPrelink would have translated\nthe art_module.ll names referenced by portable code at compile time to\npoint to a runtime table populated with the mangled names.\n\nHowever, when using MCLinker linker to link the object images\ngenerated by the portable compiler, the linker will only see the\nunmangled names. So now the have to be unique between quick and\nportable, so we\u0027ve adopted the naming convention of:\n\n(1) Quick RT: art_quick_set32_static_from_code\n(2) LLVM RT: art_portable_set32_static_from_code\n\nChange-Id: Id5bb9f8f1574433ada6b1d6734f509cca26b98a5\n"
    },
    {
      "commit": "34b8c98d7383b9c0d7d094bfbc5fc0272902dd64",
      "tree": "19f94d02d366a06c306b437a16f4b8921646278c",
      "parents": [
        "4ef3e45d7c6ec3c482a1a48f4df470811aa3cf0a"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 06 17:43:42 2013 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 06 17:43:42 2013 -0800"
      },
      "message": "Fix portable build\n\nFix exit block handling.\n\nChange-Id: I7a409e36bc602160e8b145b31419af114837cd3a\n"
    },
    {
      "commit": "4ef3e45d7c6ec3c482a1a48f4df470811aa3cf0a",
      "tree": "5d91ff23708048a2b453a5917dab82be1b545f91",
      "parents": [
        "f84f99fe3a944310fdfb6f17836079ac5c48c799"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Dec 14 13:35:28 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 06 12:16:33 2013 -0800"
      },
      "message": "Compiler constant handling rework\n\nIn preparation for de-optimization, reworked the constant\nhandling mechanism.  Also took advantage of knowledge of\nconstant operands (particularly for long operations).\n\nSignificant performance improvements for Mandelbrot\n(~60 seconds to ~34 seconds).  Minor improvements in other\nbenchmarks.\n\nThe new constant handling breaks two of the existing\noptimization passes: \"Skip Large Method\" and \"Load/Store\nElimization.\"\n\nI don\u0027t intend to update the large method optimization\nbecause it will be superceeded by the upcoming interpreter/\nfingerprinting mechanism.  Leaving the code in place for\nnow in order to compare compile-time improvements with\nfingerprinting/interpret.  All related code will be deleted\nwhen that is complete.\n\nThe load/store elimination pass needs some rework to handle\nuses of multiple-register loads and stores.  It will be\nupdated \u0026 restored in a future CL.\n\nChange-Id: Ia979abaf51b8ae81bbb0428031cbcea854625fac\n"
    },
    {
      "commit": "f84f99fe3a944310fdfb6f17836079ac5c48c799",
      "tree": "dd15102ef2bf43bbc6e0f1d98965f4bb1961060f",
      "parents": [
        "45cebaf697e75471a019d01f989ed21d4ae5e1d4",
        "1ffa32f0be7becec4907b26ead353e4b17e1219c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 06 02:34:22 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 02:35:34 2013 +0000"
      },
      "message": "Merge \"Reduce inlining in debug builds.\" into dalvik-dev"
    },
    {
      "commit": "1ffa32f0be7becec4907b26ead353e4b17e1219c",
      "tree": "4b023e55080f75a4945a44588d12bfbb3aec8bd3",
      "parents": [
        "c0fa3ad44a84b7f658d16a717027bf95abc85db6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 05 18:29:08 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 05 18:29:08 2013 -0800"
      },
      "message": "Reduce inlining in debug builds.\n\nFixes 018-stack-overflow on the host with interpreter.\n\nChange-Id: Ieed091b341b7812cfe898421a74d2f41f6a6a8bc\n"
    },
    {
      "commit": "45cebaf697e75471a019d01f989ed21d4ae5e1d4",
      "tree": "26f60caf4e7700eff0fb24dec67e47bad940a518",
      "parents": [
        "c0fa3ad44a84b7f658d16a717027bf95abc85db6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 05 18:08:50 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 05 18:08:50 2013 -0800"
      },
      "message": "Track Zygote exec API change.\n\nManual merge fix for 984d13eb2f20513d175c8b31372bd2b40d2d95f3.\n\nChange-Id: I9cd2d26628b6a45f5a7a9f0762d8e43b1819a2f3\n"
    },
    {
      "commit": "c0fa3ad44a84b7f658d16a717027bf95abc85db6",
      "tree": "fd6b01ebb129a624da2cf73c1e27b5c488fccb47",
      "parents": [
        "b6c31ea69973b41d57146ab0c319613213a9a85e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 05 00:11:55 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 05 10:56:54 2013 -0800"
      },
      "message": "Improve performance of JNI field operations.\n\nChange improves performance of JniField Fadden test by around 25%, we\u0027re still\n2x slower than Dalvik.\nAggressively inline ScopedObjectAccess, Thread::SetState and field helpers.\nIf we\u0027re not contention logging don\u0027t call MilliTime (avoids a double register\nspill).\nRemove (broken?) thread checks in scoped object access, they are redundant with\nones being performed in check JNI.\n\nChange-Id: I128eed1e4205d4d540d5c6f430ef9e3853745585\n"
    },
    {
      "commit": "b6c31ea69973b41d57146ab0c319613213a9a85e",
      "tree": "14bed22d29a40de9658f1370689610dc6fc9491d",
      "parents": [
        "7cb0f9cf9c7798ae9c4d6cad47e7861f7a511f7e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Feb 04 18:11:33 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Feb 04 18:12:41 2013 -0800"
      },
      "message": "Move hot routine out of mutex.cc.\n\nChange-Id: I06c48481f0072e93dc2c23d4fd5e562f13003673\n"
    },
    {
      "commit": "7cb0f9cf9c7798ae9c4d6cad47e7861f7a511f7e",
      "tree": "9717f08d1cc5cf1b9f1c6b2dc5f7764dd69952ce",
      "parents": [
        "cb4bf70c20301a61d0148c23b2ddb403331ab1e6"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Feb 04 16:15:27 2013 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Feb 04 16:15:27 2013 -0800"
      },
      "message": "Fix ARM 32-bit thumb dissassembly for certain special cases.\n\nFixed 32-bit thumb instructions of the form \"Data-processing (modified\nimmediate)\". Disassembler didn\u0027t handle special cases where Rn was 0xF\nor Rd:S was 0x1F.\n\nChange-Id: I821a040cf3f91fadc890ddd0a7bf7162a2519854\n"
    },
    {
      "commit": "cb4bf70c20301a61d0148c23b2ddb403331ab1e6",
      "tree": "8e0fa4ef8118c30ea1681639efeffd8b51c0c0e1",
      "parents": [
        "00bc1dc4f81268d78d7dfeb298b85c56876425a9",
        "693ff61274cd2c9b8eb7e68c370f84a911b8ca52"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Feb 02 05:32:03 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 02 05:32:03 2013 +0000"
      },
      "message": "Merge \"Performance improvements by removing a DMB and inlining.\" into dalvik-dev"
    },
    {
      "commit": "693ff61274cd2c9b8eb7e68c370f84a911b8ca52",
      "tree": "11f1f6b3e5302b8a58c5ca44c3a1bec1b16d90a4",
      "parents": [
        "12a2bdd245ea866b665d4800b493397ec412892a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 01 10:56:12 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 01 21:29:49 2013 -0800"
      },
      "message": "Performance improvements by removing a DMB and inlining.\n\nCorrect the version of CAS used by Mutex::Lock to be acquire and not release.\nDon\u0027t do a memory barrier in thread transitions when there is already a\nbarrier associated with the mutator lock.\nForce inlining of the hot thread and shared lock code, heavily used by down\ncalls and JNI.\nForce inlining of mirror routines that are used by runtime support and hot.\n\nPerformance was measured and improved using perf and maps.\n\nChange-Id: I012580e337143236d8b6d06c1e270183ae51083c\n"
    },
    {
      "commit": "00bc1dc4f81268d78d7dfeb298b85c56876425a9",
      "tree": "bae8027055563460692e87f18f31aac1b61d0ef0",
      "parents": [
        "12a2bdd245ea866b665d4800b493397ec412892a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 01 15:56:27 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 01 18:01:50 2013 -0800"
      },
      "message": "Remove separate libart-compiler-llvm\n\nChange-Id: I82303c6db3361e2842ff9d882f43f7d0830584b1\n"
    },
    {
      "commit": "12a2bdd245ea866b665d4800b493397ec412892a",
      "tree": "b8cf4dccb60c27f4186028b2b6a05d6e5305e276",
      "parents": [
        "398622398702737fa5b006e63bd6707fe792910d",
        "11ffc2d02b7d979f26a8a04013fce3eb4f9a2816"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Feb 01 22:46:57 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 01 22:46:57 2013 +0000"
      },
      "message": "Merge \"Changes to LLVM to support deoptimization.\" into dalvik-dev"
    },
    {
      "commit": "11ffc2d02b7d979f26a8a04013fce3eb4f9a2816",
      "tree": "a54cdfe70f2bd45ea36bfd6cf9e7ad8783a29234",
      "parents": [
        "e9de2dd6bd51f9be3457b5e2ffdd97f457ddebcb"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Feb 01 11:52:17 2013 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Feb 01 14:45:01 2013 -0800"
      },
      "message": "Changes to LLVM to support deoptimization.\n\nAdded a magic exception value (-1) and a handler to transition\nto the interpreter. This is currently untested.\n\nChange-Id: I2f53135e7505c54355ecf7c579897f68bbdcbda3\n"
    },
    {
      "commit": "5d78f9c6045878c9e448d47b688dd89eaf476a83",
      "tree": "32850692eb4565a4ee3eaf122da32debec45b4c2",
      "parents": [
        "e9de2dd6bd51f9be3457b5e2ffdd97f457ddebcb",
        "641ce0371c2f0dc95d26be02d8366124c8b66653"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 01 21:45:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 01 21:45:39 2013 +0000"
      },
      "message": "Merge \"Rename compiler_llvm CompilationUnit to LlvmCompilationUnit\" into dalvik-dev"
    },
    {
      "commit": "641ce0371c2f0dc95d26be02d8366124c8b66653",
      "tree": "5c132a223a739e852849d6a0d1b9ffef4305dfc3",
      "parents": [
        "6cbd384cb98c6619c73fe4f76ef40a34ac6f355d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jan 31 15:21:37 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 01 12:22:53 2013 -0800"
      },
      "message": "Rename compiler_llvm CompilationUnit to LlvmCompilationUnit\n\nAlso fixed stray ART_TEST_CFLAGS to LOCAL_CFLAGS\nAlso fixed relative includes\n\nTried to change CompilationUnit to reference LlvmCompilationUnit, but\nthat causes issues because of the split libart-compiler\nlibart-compiler-llvm.\n\nChange-Id: I7a490f339add6355a20c1cedae858ccf6967a6aa\n"
    },
    {
      "commit": "e9de2dd6bd51f9be3457b5e2ffdd97f457ddebcb",
      "tree": "81be92817a497464d8df6f2cfd6b05c0ab82c853",
      "parents": [
        "6cbd384cb98c6619c73fe4f76ef40a34ac6f355d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 31 11:11:16 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 31 11:11:16 2013 -0800"
      },
      "message": "Change oatexec section to be Function not Object.\n\nThis allows the oatexec section to be disassembled by tools like objdump.\n\nChange-Id: Ic9334699d95bc477bb7d3a03e3ff3b2fd275341e\n"
    },
    {
      "commit": "6cbd384cb98c6619c73fe4f76ef40a34ac6f355d",
      "tree": "28285086225950ad9d730bfd92bdfbbad1a5a624",
      "parents": [
        "785e6187211eb19707c85cdfb3440e25a3c0e031"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 18:53:39 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 18:53:39 2013 -0800"
      },
      "message": "LLVM build fix.\n\nChange-Id: If73376af1decf91999bda545e772419077d27ac9\n"
    },
    {
      "commit": "785e6187211eb19707c85cdfb3440e25a3c0e031",
      "tree": "e8187b5e3a634601c9faf1b9fe54a300910d4d56",
      "parents": [
        "55c9c4b66ffc9342d1e157cf80614754a8ef1c29"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 18:28:29 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 18:28:29 2013 -0800"
      },
      "message": "LLVM build fix.\n\nChange-Id: I3ab6677858c57c000f765d1119f3a13edba1b10d\n"
    },
    {
      "commit": "55c9c4b66ffc9342d1e157cf80614754a8ef1c29",
      "tree": "35d048071e185a716dd4bec60d1467cd9015cff3",
      "parents": [
        "98573f907b2f5d1ccb4f6549a487f567599a82d3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 17:45:13 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 17:45:13 2013 -0800"
      },
      "message": "Fix invariant check for unresolved super classes.\n\nChange-Id: I31139d665139e7b61573bbfd7650346bb90c8473\n"
    },
    {
      "commit": "98573f907b2f5d1ccb4f6549a487f567599a82d3",
      "tree": "8f0c9510d3e1aa90be0950a9bc1973c343c488fd",
      "parents": [
        "2dd0e2cea360bc9206eb88ecc40d259e796c239d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 17:26:32 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 17:26:32 2013 -0800"
      },
      "message": "Fix portable build following object.h refactor.\n\nChange-Id: I26da618d7ad34a0a0fcaf24b52a57ce02c62382f\n"
    },
    {
      "commit": "2dd0e2cea360bc9206eb88ecc40d259e796c239d",
      "tree": "9d619dc9508cbe73e4793bf6f08cbc761abfb48a",
      "parents": [
        "ac21b797b3a425975d656d6b84a7b24401d35f42"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 24 12:42:14 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 16:48:31 2013 -0800"
      },
      "message": "Directory restructuring of object.h\n\nBreak object.h into constituent files.\nReduce number of #includes in other GC header files.\nIntroduce -inl.h files to avoid mirror files #include-ing each other.\nCheck invariants of verifier RegTypes for all constructors.\n\nChange-Id: Iecf1171c02910ac152d52947330ef456df4043bc\n"
    },
    {
      "commit": "0794b6acf40251d25f08defbe8648dbe0a24ba62",
      "tree": "5cef44ecfc81141c5c0cd8ea7b1754e8b2652301",
      "parents": [
        "eae2691d6120e2f34845eaffec5358d9dd8618eb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 16:26:20 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 16:26:20 2013 -0800"
      },
      "message": "Fix ARM CAS64.\n\nTested on Google Maps.\n\nChange-Id: I4dcbaec880a9c5267e831a6c64892b577a00706b\n"
    },
    {
      "commit": "eae2691d6120e2f34845eaffec5358d9dd8618eb",
      "tree": "031b266b9a8a31dcc58100e397f0f648eeb506c7",
      "parents": [
        "700c8d31733534a3d978b75a03f6f7e177dc7e81"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Jan 28 16:29:54 2013 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Jan 28 16:29:54 2013 -0800"
      },
      "message": "Improve ARM thumb disassembler output.\n\nAdded BFI/BFC, LDRH.W/LDRSH.W, LDR (from pc), and B (conditional).\n\nChange-Id: Iaf17520e0643b9e2da9e649a5d99f0274ece7529\n"
    },
    {
      "commit": "700c8d31733534a3d978b75a03f6f7e177dc7e81",
      "tree": "6b9d8d93a70e31dba3b0a880f886ce408776314c",
      "parents": [
        "9adbff5b85fcae2b3e2443344415f6c17ea3ba0a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 10:42:02 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 25 14:28:43 2013 -0800"
      },
      "message": "Move .oat files to ELF format\n\nGenerates .oat in ELF file format using MCLinker\n- Uses MCLinker IRBuilder to create a synthetic .o from OatWriter output.\n- Uses new ElfFile for prelinking to support art image optimizations.\n\nAdapted OatFile to load using dlopen, ElfFile, or memory, removing raw MemMap mechanism.\n\nChanged image code to not assume oat data will be immediately after\nimage to allow space for ELF headers.\n\nPasses test-art and works with installd.\n\nChange-Id: Idc026eddb5de93f4b97490c405f3ed7b39589749\n"
    },
    {
      "commit": "9adbff5b85fcae2b3e2443344415f6c17ea3ba0a",
      "tree": "e2893a0096a9c61f400d1f0bf0573eac75ae630d",
      "parents": [
        "cf07143e6b254a4087337d5f50bd7c1ee1b6a230"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 18:19:03 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 18:41:54 2013 -0800"
      },
      "message": "Implement Intel QuasiAtomics.\n\nDon\u0027t use striped locks for 64bit atomics on x86.\nModify QuasiAtomic::Swap to be QuasiAtomic::Write that fits our current use of\nSwap and is closer to Intel\u0027s implementation.\nReturn that MIPS doesn\u0027t support 64bit compare-and-exchanges in AtomicLong.\nSet the SSE2 flag for host and target Intel ART builds as our codegen assumes\nit.\n\nChange-Id: Ic1cd5c3b06838e42c6f94e0dd91e77a2d0bb5868\n"
    },
    {
      "commit": "cf07143e6b254a4087337d5f50bd7c1ee1b6a230",
      "tree": "fc044d9bbc112d3dabb592e77d8affe878c8533d",
      "parents": [
        "948c508b46035d46185f58a72d8cdb3bc269b089",
        "5354ec568ace1e117d5a93dcb802a612356200ed"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 22:31:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 22:31:37 2013 +0000"
      },
      "message": "Merge \"Bump LLVM compile time warnings to make them less spammy.\" into dalvik-dev"
    },
    {
      "commit": "5354ec568ace1e117d5a93dcb802a612356200ed",
      "tree": "eccfa0c72eeb2dba98b69ed26717769c8a802b23",
      "parents": [
        "7a22fa657b972e8323692368975bc5a7be1cc0f5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 14:27:27 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 14:27:27 2013 -0800"
      },
      "message": "Bump LLVM compile time warnings to make them less spammy.\n\nThis sets the warning to 1 second for portable vs 100 ms for quick. It\u0027s still\nplenty spammy.\n\nChange-Id: I4c4e272584dfad44865d83e64c998ad66895cf2f\n"
    },
    {
      "commit": "948c508b46035d46185f58a72d8cdb3bc269b089",
      "tree": "21e9ce75200076ba759e7ba7ab8db6a0c6338abd",
      "parents": [
        "7a22fa657b972e8323692368975bc5a7be1cc0f5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 14:25:30 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 14:26:19 2013 -0800"
      },
      "message": "Fix LLVM build.\n\nAlso tidy up get/set_current_thread_from_code with assertions rather than\ncomments.\n\nChange-Id: I7e2f348aff9aa61cc0650d630c84c77302f3e91b\n"
    },
    {
      "commit": "7a22fa657b972e8323692368975bc5a7be1cc0f5",
      "tree": "4fe55837daae4e252eeaccf1be931f2e7ed434cb",
      "parents": [
        "87b185f3bfd766001dcd5977fc0ee0489e5a8a28"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 12:16:16 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 12:21:05 2013 -0800"
      },
      "message": "Refactor StackVisitor to take a Thread*.\n\nThis allows assertion checking on the thread, principally that we never try to\nwalk the stack of an unsuspended thread.\nFix bug in the OwnedMonitorVisitor where GetVReg could be called on a\nStackVisitor with no context.\n\nChange-Id: I06539b624b253b6fb7385e7be11a4bced1d417b2\n"
    },
    {
      "commit": "87b185f3bfd766001dcd5977fc0ee0489e5a8a28",
      "tree": "e356a97aaafb7130c5038117f29f0c4714e4296c",
      "parents": [
        "73d35d0507bffbf8447a880bee9f119746783a47"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 09:16:53 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 09:22:02 2013 -0800"
      },
      "message": "Fix 044-proxy on portable.\n\nChange-Id: I228f8407913ecf3751424a3a6d30fc419e6296fc\n"
    },
    {
      "commit": "73d35d0507bffbf8447a880bee9f119746783a47",
      "tree": "e8a468b8e0831b12cd91878e0cdfd114b50bf6a4",
      "parents": [
        "032fbb11309e81cf816b4f8772581d901fe82aab",
        "49a0f158ed11974fa2cc12014c9f55a31dabd8df"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 23 02:24:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 02:24:33 2013 +0000"
      },
      "message": "Merge \"Address OutputStream feedback\" into dalvik-dev"
    },
    {
      "commit": "49a0f158ed11974fa2cc12014c9f55a31dabd8df",
      "tree": "f6b3e627ddac56b6afc8ea20bfd4d71b5eee9888",
      "parents": [
        "28d76682d591034a5bcb610487c1f2db32d01c84"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jan 22 17:17:36 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jan 22 17:29:30 2013 -0800"
      },
      "message": "Address OutputStream feedback\n\nChange-Id: I45d37600dbf0f5bcb1c646de4eed1d2e470a8bce\n"
    },
    {
      "commit": "032fbb11309e81cf816b4f8772581d901fe82aab",
      "tree": "c4013a703a1325d11ec046fdff1a193770b12c42",
      "parents": [
        "d24b0811ef3acbcdc20a783ce4ca59ec8c0e14a4",
        "1eab958cde39a7e2f0e5ce01730f4e2e75c72519"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Jan 23 00:57:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 00:57:56 2013 +0000"
      },
      "message": "Merge \"Remove kExceptionPending flag from thread and codegen.\" into dalvik-dev"
    },
    {
      "commit": "4893188d8ff9744f5d37b344e5a0bd582242eded",
      "tree": "dc5ac7a136b6b084fefb246ce2a2fde71bd06ebc",
      "parents": [
        "28d76682d591034a5bcb610487c1f2db32d01c84"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jan 22 14:35:16 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jan 22 16:24:35 2013 -0800"
      },
      "message": "Avoid heap trims in foreground and audio apps.\n\nHeap trimming the dlmalloc spaces holds their locks causing jank.\nImprove diagnostic message to break apart managed and native heap trims and\ndetail amount of heap advised back to the kernel.\n\nChange-Id: Ic08cf4749342cbd057b162b901d1676bb7e6418b\n"
    },
    {
      "commit": "1eab958cde39a7e2f0e5ce01730f4e2e75c72519",
      "tree": "9a1f3f663b891385f8572720c26fef0797510320",
      "parents": [
        "28d76682d591034a5bcb610487c1f2db32d01c84"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jan 22 13:33:52 2013 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Jan 22 15:18:31 2013 -0800"
      },
      "message": "Remove kExceptionPending flag from thread and codegen.\n\nCode just checks if exception_ is NULL instead. Compiled code simply\nclears the exception_ field for MOVE_EXCEPTION instead of calling a\nhelper.\n\nChange-Id: Iefaa780f66c327c3d20598bd71d3c14d7a9c8119\n"
    },
    {
      "commit": "28d76682d591034a5bcb610487c1f2db32d01c84",
      "tree": "460b33b5afece46c0d75baaf6dbe2d592872e1cf",
      "parents": [
        "cd60ac736bc7104785dc67671660d70fb434466f",
        "56edc432fa914f7ccfa87ce443e64f5ef475666d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jan 22 16:48:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 22 16:48:33 2013 +0000"
      },
      "message": "Merge \"Support for contention logging with ART futexes.\" into dalvik-dev"
    },
    {
      "commit": "56edc432fa914f7ccfa87ce443e64f5ef475666d",
      "tree": "4e05c32f3524043614a2f368a6d49f7f3bc24616",
      "parents": [
        "d75afb99f0c8b8a27ad84e2e31010383ecf72120"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 18 16:51:51 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jan 22 08:47:33 2013 -0800"
      },
      "message": "Support for contention logging with ART futexes.\n\nRemove dangerous postfix operators on AtomicInteger. Clean up the atomic stack.\nFactor nanosleep into a useful shared utils.h routine.\n\nChange-Id: I417a73007c23fe247f410f41b2fa41a717c22139\n"
    },
    {
      "commit": "cd60ac736bc7104785dc67671660d70fb434466f",
      "tree": "44cb2846ee51e8406d5f576ec6d93e793070c2f5",
      "parents": [
        "d636b0623307a379e255a9aaa682c12a2acc3a92"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jan 20 17:09:51 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jan 20 23:47:39 2013 -0800"
      },
      "message": "Create OutputStream abstraction\n\nAllows data to be sent to file or memory transparently.\nStandard C++ streams don\u0027t allow to create a stream from a file descriptor.\n\nChange-Id: I820a864172e756949c61f29ef1517d1ebb253a0b\n"
    },
    {
      "commit": "d636b0623307a379e255a9aaa682c12a2acc3a92",
      "tree": "ac5a98eab337b23b6f14b750683b6540f8883166",
      "parents": [
        "d75afb99f0c8b8a27ad84e2e31010383ecf72120"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 18 17:51:18 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 18 17:51:18 2013 -0800"
      },
      "message": "Avoid crash in HeapChunkContext::Flush post Reset.\n\nPort to ART of 22d8dba8ae5be7aecb07322a410712206896fa15.\n\nChange-Id: I74445f2aac22a037533f13aa894ae4f6cea1abc9\n"
    },
    {
      "commit": "d75afb99f0c8b8a27ad84e2e31010383ecf72120",
      "tree": "e283acf579863912557b37e767ee558e463d2438",
      "parents": [
        "8ccc9e244b6f2afc0c809bda6af95346fd3ee06a"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Jan 17 15:36:33 2013 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Jan 17 15:36:33 2013 -0800"
      },
      "message": "Prune away extraneous ART_USE_PORTABLE_COMPILER ifdefs.\n\nIn the gbc_expander, ART_USE_PORTABLE_COMPILER is always true.\n\nChange-Id: I73965d4b26104ad92982266cbca9187b6d112385\n"
    },
    {
      "commit": "8ccc9e244b6f2afc0c809bda6af95346fd3ee06a",
      "tree": "9c0750b15bfbe6e0d7408664a6d90800c3506b88",
      "parents": [
        "94762dfeff32aaa7496d28fb1f4481ff8bc4339a",
        "a8fd2d55e1a4092039ad9da8f15ce83110e8b6f0"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jan 17 23:19:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 23:19:53 2013 +0000"
      },
      "message": "Merge \"Revert \"Change LLVM check for pending exception to use thread flags.\"\" into dalvik-dev"
    },
    {
      "commit": "94762dfeff32aaa7496d28fb1f4481ff8bc4339a",
      "tree": "6f7b9fd6c3a28b5c6bd91eccc721aa8cc495cce5",
      "parents": [
        "8e0649f97623b3dc6245db5be0f53a2c5f0d6374",
        "9a14265c911b2e63bec51a814b8b6fd157745b57"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jan 17 23:19:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 23:19:41 2013 +0000"
      },
      "message": "Merge \"Revert \"Change LLVM exception check to check all thread flags.\"\" into dalvik-dev"
    },
    {
      "commit": "8e0649f97623b3dc6245db5be0f53a2c5f0d6374",
      "tree": "4a876e36b7d0f0385f3014fc8ed240ffc1430c81",
      "parents": [
        "a96836a4115ad08762567c10bd4d198c5b644985",
        "17a7f181a5e5f4e80ec1fee878f244f32c97f5d3"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jan 17 23:19:29 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 23:19:30 2013 +0000"
      },
      "message": "Merge \"Revert \"Prune away extraneous ART_USE_PORTABLE_COMPILER ifdefs.\"\" into dalvik-dev"
    },
    {
      "commit": "a8fd2d55e1a4092039ad9da8f15ce83110e8b6f0",
      "tree": "1a88a708a0c03b2a8363d1283269605ee01829c4",
      "parents": [
        "2281a0ea6e3fbb7a26bd7ca030ee20296b8fed58"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jan 17 23:10:27 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 23:10:27 2013 +0000"
      },
      "message": "Revert \"Change LLVM check for pending exception to use thread flags.\"\n\nThis reverts commit 2281a0ea6e3fbb7a26bd7ca030ee20296b8fed58\n\nChange-Id: Iee5f99df242265528d9a363e302bb58811bda021\n"
    },
    {
      "commit": "9a14265c911b2e63bec51a814b8b6fd157745b57",
      "tree": "529d7bbcb15a6b2824413aa52ca1440a1d15c21a",
      "parents": [
        "a1ae861c673ab5160a2a7afee2ada806cb61966b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jan 17 23:10:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 23:10:19 2013 +0000"
      },
      "message": "Revert \"Change LLVM exception check to check all thread flags.\"\n\nThis reverts commit a1ae861c673ab5160a2a7afee2ada806cb61966b\n\nChange-Id: Idba8b55bf9df79174cf89a1c332b169eac9c0ff1\n"
    },
    {
      "commit": "17a7f181a5e5f4e80ec1fee878f244f32c97f5d3",
      "tree": "3c1c1c9e6f123762530402c49b76fd9edf8b8a79",
      "parents": [
        "8ff2f3df63494250b1679fcce2924379871d2b47"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jan 17 23:10:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 23:10:09 2013 +0000"
      },
      "message": "Revert \"Prune away extraneous ART_USE_PORTABLE_COMPILER ifdefs.\"\n\nThis reverts commit 8ff2f3df63494250b1679fcce2924379871d2b47\n\nChange-Id: I5a191b8f0d89b39220fbf561f3d6515bfe1de98a\n"
    },
    {
      "commit": "a96836a4115ad08762567c10bd4d198c5b644985",
      "tree": "ae523d318a1936108b9f137af3681de930628aa1",
      "parents": [
        "fa011c82efce92a8e0e739ae9732b4c6f3903294"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 12:27:49 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 12:27:49 2013 -0800"
      },
      "message": "Improve -verbose:jdwp.\n\nMove toward automated logging instead of ad hoc logging in every command.\n\nChange-Id: I55427022374390745209677bae4e0b3146a9d126\n"
    },
    {
      "commit": "927bd29ded304e143a967ef014c13a02af4c5c4b",
      "tree": "f89e86a47ee4a9e4ba61d7ab708d301ea819488a",
      "parents": [
        "7db619bb2a4e01e8532a04b613745d4926b205d7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 10:40:13 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 10:40:13 2013 -0800"
      },
      "message": "We actually support JDWP 1.6 now.\n\nChange-Id: I7fd151793835e95231e925e5fd3b6f1fba67a8bf\n"
    },
    {
      "commit": "7db619bb2a4e01e8532a04b613745d4926b205d7",
      "tree": "e4385b645ba1772ead9015718c4fcd52480d3fec",
      "parents": [
        "09846c9ebb1f507427a37ff7394f2e4db9f69ebc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 16 18:35:48 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 17 10:18:02 2013 -0800"
      },
      "message": "Enter interpreter stub.\n\nUntested code that when set as the code for a AbstractMethod* will force the\nnext invocation of the Method to transition into the interpreter.\n\nChange-Id: I557bca3a2caf4a78551b39aa5ac4ffb4c486105b\n"
    },
    {
      "commit": "09846c9ebb1f507427a37ff7394f2e4db9f69ebc",
      "tree": "4a264665a5f49f1128b46ec81944d6528e242736",
      "parents": [
        "5f548e0a4151ae56c14d88f188872b573599f952",
        "9777ba230c83a0edcbda2cf7b208339e77bf171b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 17:33:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 17:33:40 2013 +0000"
      },
      "message": "Merge \"Implement Method.Bytecodes.\" into dalvik-dev"
    },
    {
      "commit": "9777ba230c83a0edcbda2cf7b208339e77bf171b",
      "tree": "253559eb1e962c3b21cf55cd59addc10823d65c4",
      "parents": [
        "ff7ae7adf223b3485f4153442e4841189601af1e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 09:04:19 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 09:04:19 2013 -0800"
      },
      "message": "Implement Method.Bytecodes.\n\nChange-Id: Ib24c1244818c1d5aa10606a4998c0e52fa2b70bd\n"
    },
    {
      "commit": "5f548e0a4151ae56c14d88f188872b573599f952",
      "tree": "076eea3dab7cce78a5f9ee57188f45669f786c59",
      "parents": [
        "fc99e7b8e90266ae59e70b467e954bba06d0c438"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 16 22:12:55 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 16 22:12:55 2013 -0800"
      },
      "message": "Fix 107-int-math2 with interpreter.\n\nChange-Id: I67fa946ed94cc0c8e48e3814ba9be0b48c970ef1\n"
    },
    {
      "commit": "fc99e7b8e90266ae59e70b467e954bba06d0c438",
      "tree": "ff57680190ed2063ed13e974d283193cb7c686b7",
      "parents": [
        "ff7ae7adf223b3485f4153442e4841189601af1e",
        "f10f9de6f2e58081d55253266b862e21b169af51"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 17 00:51:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 00:51:02 2013 +0000"
      },
      "message": "Merge \"Fix LLVM build.\" into dalvik-dev"
    }
  ],
  "next": "f10f9de6f2e58081d55253266b862e21b169af51"
}
