)]}'
{
  "log": [
    {
      "commit": "94d6df471a406a03bb1afba8ca3ae9c0fbf366b5",
      "tree": "f89af30dbe4a23dc6f62bb17c3b0a36b778ade33",
      "parents": [
        "5bc252873e6e50f8257e33ca158d0e350413fcbf"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 26 16:02:12 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 26 16:02:12 2012 -0800"
      },
      "message": "Fixes to make all run-tests except 051-thread work.\n\n- Moved exception delivery into common method DeliverException\n- Renamed old DeliverException to QuickDeliverException since it is only\n  used by quick\n- Fixed null checks for arrays returned by GetReference\n- Standardized ArrayStoreException error message\n- Added additional sleeps to ensure threads stay alive long enough in\n  051-thread, and that \u003cclinit\u003e is complete for 084-class-init\n\nChange-Id: I9ca306896a4bd10f453150fcf3965d9750fa0cbd\n"
    },
    {
      "commit": "5bc252873e6e50f8257e33ca158d0e350413fcbf",
      "tree": "8faf2bf01e2e71a61a5c34c45c61d634efa3df9b",
      "parents": [
        "372a910ee64fb1b7118a00e4d01db12f284c42d0",
        "0a9bb73c70298922ad33d67c209a4e440b216fa2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 26 12:45:39 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 26 12:45:40 2012 -0800"
      },
      "message": "Merge \"Fixed access checks on class resolution in interpreter.\" into dalvik-dev"
    },
    {
      "commit": "0a9bb73c70298922ad33d67c209a4e440b216fa2",
      "tree": "b9c0597fb54ac4329ef3f6ffeb09531b53efb73c",
      "parents": [
        "449a49bedfb72f0d5643977a99346935f1b33c55"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 26 12:28:49 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 26 12:28:49 2012 -0800"
      },
      "message": "Fixed access checks on class resolution in interpreter.\n\nAlso made interpreter throw AbstractMethodError when interpreting\nabstract methods.\n\nChange-Id: Id6396fd31e500613150407d0281383b556de9605\n"
    },
    {
      "commit": "372a910ee64fb1b7118a00e4d01db12f284c42d0",
      "tree": "ae6c6826ba0508e894c7d7de02e0f077df7ae78e",
      "parents": [
        "449a49bedfb72f0d5643977a99346935f1b33c55",
        "65db880c73718f89278dac8975d58d3a49ff1fdb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 26 10:32:48 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 26 10:32:48 2012 -0800"
      },
      "message": "Merge \"Estimate allocation rate to predict when to request concurrent GC.\" into dalvik-dev"
    },
    {
      "commit": "65db880c73718f89278dac8975d58d3a49ff1fdb",
      "tree": "0d9a6826f83cecf6c348366b985a46bbce7c993b",
      "parents": [
        "90ad9639047a8acbd563247f8869f825cf80e576"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 20 12:36:46 2012 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 26 10:30:05 2012 -0800"
      },
      "message": "Estimate allocation rate to predict when to request concurrent GC.\n\nThe estimate is bytes allocated between GC divided by time between GC.\n\nChange-Id: I7c82196fdc19061c99651d6d82fd7fcdb3b3608b\n"
    },
    {
      "commit": "449a49bedfb72f0d5643977a99346935f1b33c55",
      "tree": "21e90c73b37cd6d29078238253772312d14c862f",
      "parents": [
        "02031b185b4653e6c72e21f7a51238b903f6d638"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Nov 25 19:25:44 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Nov 25 19:25:44 2012 -0800"
      },
      "message": "Portable compiler: fix build\n\nAdd a missing #include to pick up Quick backend refactoring changes.\n\nChange-Id: I301dcaa90a8322631ea91860e69b48ad2fa2be24\n"
    },
    {
      "commit": "02031b185b4653e6c72e21f7a51238b903f6d638",
      "tree": "0fae8dbc0a15d4ed379768bdc7adf1910b1d46af",
      "parents": [
        "90ad9639047a8acbd563247f8869f825cf80e576"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Nov 23 09:41:35 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Nov 25 13:22:45 2012 -0800"
      },
      "message": "Quick compiler: Single .so for all targets\n\nWith this CL, all targets can be built into a single .so (but\nwe\u0027re not yet doing so - the compiler driver needs to be reworked).\n\nA new Codgen class is introduced (see compiler/codegen/codegen.h),\nalong with target-specific sub-classes ArmCodegen, MipsCodegens and\nX86Codegen (see compiler/codegen/*/codegen_[Arm|Mips|X86].h).\n\nAdditional minor code, comment and format refactoring.  Some source\nfiles combined, temporary header files deleted and a few file\nrenames to better identify their function.\n\nNext up is combining the Quick and Portable .so files.\n\nNote: building all targets into libdvm-compiler.so increases its\nsize by 140K bytes.  I\u0027m inclined to not bother introducing conditional\ncompilation to limit code to the specific target - the added build and\ntesting complexity doesn\u0027t doesn\u0027t seem worth such a modest size savings.\n\nChange-Id: Id9c5b4502ad6b77cdb31f71d3126f51a4f2e9dfe\n"
    },
    {
      "commit": "90ad9639047a8acbd563247f8869f825cf80e576",
      "tree": "59824e7dccf886567a4b7783d4875d3c1f8cf3dd",
      "parents": [
        "28c9a83398a6e48eefb9b79a390920629bbb8519",
        "d752132c73072084a3def9257cca4fcee76047b6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 21 15:52:34 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 21 15:52:34 2012 -0800"
      },
      "message": "Merge \"Various fixes to the interpreter. First 23 run-test tests pass.\" into dalvik-dev"
    },
    {
      "commit": "28c9a83398a6e48eefb9b79a390920629bbb8519",
      "tree": "9d12fec60f41a3f185243d0195f9ed31a945005e",
      "parents": [
        "dd20a8d64a8cd120361b44078074bd242913da0a"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 21 15:39:13 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 21 15:39:13 2012 -0800"
      },
      "message": "Quick Compiler: pointer/boolean cleanup\n\nMore minor code cleanup - follow the Art convention of not treating\npointers as booleans in \"for\" loop tests.\n\nChange-Id: I2fcd06efe6a51d1195c0900f7fa110fc01110001\n"
    },
    {
      "commit": "d752132c73072084a3def9257cca4fcee76047b6",
      "tree": "92c7bc15db2328db7c14c31f77504a7e879e8467",
      "parents": [
        "278b0db1ee55106486a7aecf39a581aac09fb619"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Nov 21 15:38:24 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Nov 21 15:38:24 2012 -0800"
      },
      "message": "Various fixes to the interpreter. First 23 run-test tests pass.\n\n- Factored out code to throw stack overflow error into its own method.\n- Increased kStackOverflowReservedBytes to 10kB to support interpreter.\n- Reordered return type checks to prevent type resolution with an\n  exception pending.\n- Fixed field checks so they pass if the field is static or the object\n  is the declaring class.\n- Suppressed using the interpreter for proxy methods.\n\nChange-Id: Ide73ec928ab0aa7b31229c4e69679a35dd948e43\n"
    },
    {
      "commit": "fa57c47f1b72916371a9c2d5c1389219bce655b4",
      "tree": "3ca3bc1cb3c91545f6c3514af296213348c09a99",
      "parents": [
        "aad94383fc41e8f8770f0b2144f766a2ffa772e7"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 21 12:06:18 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 21 12:35:29 2012 -0800"
      },
      "message": "Quick Compiler: Shoot the Camel\n\nAnother step towards moving the Quick Compiler from the old\nDalvik coding style to Art\u0027s coding style.  In this CL, Camel-case\nlocals, struct variables and arguments are converted to lower-case\nwith underscore names.  Most of the name changes were formulistic,\nbut I also took this opportunity to change the old \"printMe\" into\nthe more traditional \"verbose\", and shorten cUnit to cu.\n\nNo logic changes.\n\nChange-Id: I64b69b28a8357d5cc0abc1dc975954c91abd9b45\n"
    },
    {
      "commit": "aad94383fc41e8f8770f0b2144f766a2ffa772e7",
      "tree": "a887ff6101126e3d3d3045d09ea502561524ce1a",
      "parents": [
        "0c1e45fc411b05e026abf6a2e343927bbd1aa4ca"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 21 07:40:50 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 21 07:40:50 2012 -0800"
      },
      "message": "Quick Compiler: static, extern and inline cleanup\n\nMore declarations cleanup.  Some dead code removal. No logic changes.\n\nChange-Id: Ife3d0426082f4eeae7c0010ceb92d7dbdc823c71\n"
    },
    {
      "commit": "0c1e45fc411b05e026abf6a2e343927bbd1aa4ca",
      "tree": "8368a3628dc44bab72a38ffa5458caf6fa80330c",
      "parents": [
        "a3b122e83c8cdaa9e00f7ebb3cd7b7e17b06e257",
        "52a77fc135f0e0df57ee24641c3f5ae415ff7bd6"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 21 05:31:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 21 05:31:41 2012 -0800"
      },
      "message": "Merge \"Quick Compiler function renaming\" into dalvik-dev"
    },
    {
      "commit": "52a77fc135f0e0df57ee24641c3f5ae415ff7bd6",
      "tree": "ddbe40349dce79bb89a6f2d68ddb4caf903b15e9",
      "parents": [
        "024c463536180ce1e464bbb9853ab427dfac35f5"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 20 19:50:46 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 20 21:38:31 2012 -0800"
      },
      "message": "Quick Compiler function renaming\n\nMove the Quick compiler\u0027s function naming to Art coding conventions. Will\nbe done is pieces: names first, then arguments and locals.  Also removed\nsome dead code and marked statics for the top level source files\n\nNo logic changes aside from eliminating a few useless exported \"oat\"\nroutines.\n\nChange-Id: Iadaddc560942a0fc1199ba5b1c261cd6ac5cfd9a\n"
    },
    {
      "commit": "a3b122e83c8cdaa9e00f7ebb3cd7b7e17b06e257",
      "tree": "b657fe3c3c2bd904291ccab43b87586f78fcec50",
      "parents": [
        "024c463536180ce1e464bbb9853ab427dfac35f5",
        "87a6edd81227a60b3651f9d8e11bdabb793a535f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 18:09:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 20 18:09:48 2012 -0800"
      },
      "message": "Merge \"Fixes to interpreter, now passes 003-omnibus-opcodes.\" into dalvik-dev"
    },
    {
      "commit": "87a6edd81227a60b3651f9d8e11bdabb793a535f",
      "tree": "38786dfdec8a5e23e79eed525468db095c8014ae",
      "parents": [
        "d91398cc7ed6ea8acf251bf1aa525df46d914044"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 20 18:05:18 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 20 18:05:18 2012 -0800"
      },
      "message": "Fixes to interpreter, now passes 003-omnibus-opcodes.\n\n- NPE checks on monitor-enter/exit\n- Check for unresolvable classes in check_cast/instance_of\n- Fix float/double to int/long\n\nChange-Id: I61d72411bc3ee360c5261016c87ca6cfe077cf21\n"
    },
    {
      "commit": "024c463536180ce1e464bbb9853ab427dfac35f5",
      "tree": "d312d9f414a0ddec354b357436b3bbe83ce81656",
      "parents": [
        "d91398cc7ed6ea8acf251bf1aa525df46d914044",
        "1bc37c60da71c923ea9a2e99d31ba1b3d76d79a8"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 20 17:51:08 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 20 17:51:09 2012 -0800"
      },
      "message": "Merge \"Continuing Quick compiler refactoring\" into dalvik-dev"
    },
    {
      "commit": "1bc37c60da71c923ea9a2e99d31ba1b3d76d79a8",
      "tree": "6af0698d02487d1561832841ca01dea6a4d5a963",
      "parents": [
        "78f1dc74c54c63bce57d434e756199205c3abf7f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 20 13:35:41 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 20 17:50:36 2012 -0800"
      },
      "message": "Continuing Quick compiler refactoring\n\nWith this CL, we no longer include any .cc files - all source\nfiles compile stand-alone.   We still build a separate .so for\neach target, but all code in the target-independent \"codegen\"\ndirectory is now truly independent and doesn\u0027t rely on any\ntarget-specific macros to compile.\n\nHeader file inclusion is still a bit of a mess, but that will be\naddressed in a subsequent CL.\n\nNext up: create a codegen class to hold code generator routines\noverrideable by target.\n\nChange-Id: I3a93118d11afeab11f310950a6a73381a99e26e1\n"
    },
    {
      "commit": "d91398cc7ed6ea8acf251bf1aa525df46d914044",
      "tree": "a5f643b43509cb3f87506794dbc734523f87c8f2",
      "parents": [
        "689d9f0cee08a3baaa85a85fb365c7b99f503617"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 20 17:17:33 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 20 17:17:33 2012 -0800"
      },
      "message": "Fix interpreter int/long div/rem.\n\nIt didn\u0027t handle dividing by zero or dividing min int/long by -1.\n\nChange-Id: Id1d7ea5b05a95f655bd7017ba9e331b2a577e8fa\n"
    },
    {
      "commit": "689d9f0cee08a3baaa85a85fb365c7b99f503617",
      "tree": "2c684c3da51864c2855cdff642ad3393ae37c483",
      "parents": [
        "58bf0c6d756ff59d3b50d3e90bcdada92b2c933f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 16:30:29 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 16:30:29 2012 -0800"
      },
      "message": "Missing return for interpreter iput/get NPE.\n\nChange-Id: I50f9fa5f6fd38af59a8fb8e8ad266f753f677a0c\n"
    },
    {
      "commit": "58bf0c6d756ff59d3b50d3e90bcdada92b2c933f",
      "tree": "d64178bcf00a41290968665941599552f524de72",
      "parents": [
        "c0a61fc79e5070f2a16e7dbb7ecf451d13405b45"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 16:24:12 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 16:25:09 2012 -0800"
      },
      "message": "Fix interpreter cmp[gl]-double.\n\nChange-Id: I332ff181db100e2fa8b663f1de84f42baba7da2f\n"
    },
    {
      "commit": "c0a61fc79e5070f2a16e7dbb7ecf451d13405b45",
      "tree": "83ea16f96e728e09a0d6e1e52f62796683c2c620",
      "parents": [
        "f1d39fd9951d84c391de28009d2958c0f07d1e57",
        "373c52fd70336531010268a2de4f7d3b0f236924"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 16:23:32 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 20 16:23:32 2012 -0800"
      },
      "message": "Merge \"Added CheckSuspend and UpdateDebugger to interpreter loop.\" into dalvik-dev"
    },
    {
      "commit": "373c52fd70336531010268a2de4f7d3b0f236924",
      "tree": "782478126bd283faeaeef38e3d3be4e37bde5a2b",
      "parents": [
        "17ffcab3a9428ccdc5ae6b2b42c001fe3df1f1d6"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 20 16:11:52 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 20 16:17:38 2012 -0800"
      },
      "message": "Added CheckSuspend and UpdateDebugger to interpreter loop.\n\nMoved CheckSuspend so that the code doesn\u0027t need to be repeated in LLVM\nas well.\n\nChange-Id: I1073f82352593bf0d5f99b28d382e4687f3a0d90\n"
    },
    {
      "commit": "f1d39fd9951d84c391de28009d2958c0f07d1e57",
      "tree": "cb05e481025fbe9e044ddf1bb875163a9ae02364",
      "parents": [
        "17ffcab3a9428ccdc5ae6b2b42c001fe3df1f1d6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 16:10:25 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 16:10:25 2012 -0800"
      },
      "message": "Fix arg array builder from interpreter for wides.\n\nChange-Id: I702bdf8d54d04198bc1972d05738ae9581253a00\n"
    },
    {
      "commit": "17ffcab3a9428ccdc5ae6b2b42c001fe3df1f1d6",
      "tree": "386b6d7620d87f30f8d45f90a274e53b9a83a1b6",
      "parents": [
        "0dff3f4d41ce8308d1973f317463941abbf79b81"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 15:27:41 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 15:27:41 2012 -0800"
      },
      "message": "Fix interpreter const-class.\n\nChange-Id: Ic0c699a961fcad2fe5d067d697d0a7469f164201\n"
    },
    {
      "commit": "8e56c7e41cb37e2eaf553503968a01ff893b135b",
      "tree": "ae39180a8c56eee6836f1fa1da12548190cd4c59",
      "parents": [
        "e89a354ce08d76cfefd58a3cb3da5115327b2d63"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 20 13:25:50 2012 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 20 13:25:50 2012 -0800"
      },
      "message": "Fix incorrect lock for process references.\n\nProcess references occasionally calls ProcessMarkStack which requires\nexclusive access to the heap bitmap lock. Fixed an error where we had\na reader lock here instead of a writer lock.\n\nChange-Id: I4740f7e80fe2c73ff822a770f250c33698ae0dd1\n"
    },
    {
      "commit": "e89a354ce08d76cfefd58a3cb3da5115327b2d63",
      "tree": "b9c348757b90512cf089c0b0d32f2cf286b6207f",
      "parents": [
        "556d637764b71563030c479bc35364a75188d559",
        "2b82db45c09450022199376c3a5420eacf2aa81e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 12:36:17 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 20 12:36:18 2012 -0800"
      },
      "message": "Merge \"Refactor GC to have a class for each different type of GC.\" into dalvik-dev"
    },
    {
      "commit": "556d637764b71563030c479bc35364a75188d559",
      "tree": "d5e425d376309ee47a3cfc05a4ce3484551306e0",
      "parents": [
        "50ffee20ced9c0c7ac68889c86be8844cf120cf2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 12:19:36 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 12:20:37 2012 -0800"
      },
      "message": "Implement interpreter packed-switch.\n\nDon\u0027t enter interpreter for native methods. Fix ScopedObjectAccess use\nwhen in native state.\n\nChange-Id: I7575a4f2701215009226dde05022213d044fb56d\n"
    },
    {
      "commit": "2b82db45c09450022199376c3a5420eacf2aa81e",
      "tree": "b9561fc19d2826a2b08997fcaef84eadbbeb252c",
      "parents": [
        "2eb840353822092d542361c8d6c4938acfddee8e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 14 17:29:05 2012 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 20 11:58:23 2012 -0800"
      },
      "message": "Refactor GC to have a class for each different type of GC.\n\nAdded a seperate files for mark sweep, partial mark sweep,\nsticky mark sweep.\n\nAdded a common superclass for GC.\n\nAdded additional statistics for each GC.\n\nMoved main garbage collection code away from Heap.cc.\n\nChange-Id: Ida0021ab2f740fc8228bbbf4d43cd9bc56b4ba46\n"
    },
    {
      "commit": "50ffee20ced9c0c7ac68889c86be8844cf120cf2",
      "tree": "53773866564cf275c7e67309e7529a4c6e45de78",
      "parents": [
        "b212a9974ccd3ce3fafb24ddab3b96762cecb14c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 11:47:44 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 11:47:44 2012 -0800"
      },
      "message": "Introduce -Xint flag for ART.\n\nChange-Id: I0f7d8c0b0f33e77ca2d3fbf05b7a16fedb86a545\n"
    },
    {
      "commit": "b212a9974ccd3ce3fafb24ddab3b96762cecb14c",
      "tree": "ec4e813f3d92699fb66c1565e80803d3b5afb0dc",
      "parents": [
        "78f1dc74c54c63bce57d434e756199205c3abf7f",
        "40e3bacfd57bca2ca39c1caec64680bd0ed4a16d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 09:11:37 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 20 09:11:38 2012 -0800"
      },
      "message": "Merge \"Make stack visitor location for bad roots more verbose.\" into dalvik-dev"
    },
    {
      "commit": "40e3bacfd57bca2ca39c1caec64680bd0ed4a16d",
      "tree": "808eb0b5138cc1690149dc26f6937e0b14924a6c",
      "parents": [
        "11d4ab2dd052b74923d4a3c6afc3ef4b15f064dc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 00:09:14 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 00:09:14 2012 -0800"
      },
      "message": "Make stack visitor location for bad roots more verbose.\n\nChange-Id: Ib2f3f48ccf1f5b2f3a4d1a61df553ad1a5c29d38\n"
    },
    {
      "commit": "78f1dc74c54c63bce57d434e756199205c3abf7f",
      "tree": "e9c467473ba72838a592377d7f56aa3c378feb3b",
      "parents": [
        "11d4ab2dd052b74923d4a3c6afc3ef4b15f064dc",
        "cbd6d44c0a94f3d26671b5325aa21bbf1335ffe8"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Nov 19 17:21:31 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 19 17:21:31 2012 -0800"
      },
      "message": "Merge \"C++\u0027ification of Quick compiler\u0027s casts\" into dalvik-dev"
    },
    {
      "commit": "cbd6d44c0a94f3d26671b5325aa21bbf1335ffe8",
      "tree": "438c25a083cd1487b40ca8a05cef8d96339b83a9",
      "parents": [
        "6aa852b927a12ba16f5c05ee7d044ac1372feb7f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Nov 17 14:11:25 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Nov 19 15:50:13 2012 -0800"
      },
      "message": "C++\u0027ification of Quick compiler\u0027s casts\n\n o Eliminate old useless LIR casts.\n o Replace remaining C-style casts with new C++ versions.\n o Unified instruction encoding enum\n o Expand usage of the auto-generated ostream helpers for enum LOG messages.\n o Replaced all usages of intptr_t with uintptr_t.\n o Fixed bug in removeRedundantBranches, and moved to common code\n\nChange-Id: I53211c0de1be913f958c8fde915296ac08345b7e\n"
    },
    {
      "commit": "b5bd814f9dafe99909818fc4b2ad84639bc1601a",
      "tree": "4a227728cb0d63638b18af07d7bf5a4ec8bcb19b",
      "parents": [
        "6aa852b927a12ba16f5c05ee7d044ac1372feb7f"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 19 15:19:05 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 19 15:23:04 2012 -0800"
      },
      "message": "Fixed bug in checking wide constants causing cts failures.\n\nThe logic should allow Precise/Imprecise pairs, not Precise/Not-Precise.\n\nChange-Id: I0d919828194a24253c13dbd58e37778fed954f39\n"
    },
    {
      "commit": "6aa852b927a12ba16f5c05ee7d044ac1372feb7f",
      "tree": "e88e202952fcf09fad44a58eb366b6a59dcd0424",
      "parents": [
        "2bcb4a496b7aa00d996df3a070524f7568fb35a1",
        "eaf09bc65f9a10d12befcdb239156938c9bceef2"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Nov 16 16:50:17 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 16:50:18 2012 -0800"
      },
      "message": "Merge \"Quick compiler: more refactoring\" into dalvik-dev"
    },
    {
      "commit": "eaf09bc65f9a10d12befcdb239156938c9bceef2",
      "tree": "e3b85c241b24aa058a413363e4f9c94f4c76d4d6",
      "parents": [
        "efc6369224b036a1fb77849f7ae65b3492c832c0"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 15 14:51:41 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Nov 16 16:48:09 2012 -0800"
      },
      "message": "Quick compiler: more refactoring\n\nFocus on header file cleanup here.  Note: target_list.h\nis transitional, and upcoming CLs will do additional header\nfile reorganization.\n\nChange-Id: If86e1a8c1c43305762fe37b157a9d3c17d911ea7\n"
    },
    {
      "commit": "2bcb4a496b7aa00d996df3a070524f7568fb35a1",
      "tree": "8422ab8d65b7422008094b2eaadec0dad87b2df3",
      "parents": [
        "efc6369224b036a1fb77849f7ae65b3492c832c0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 08 10:39:18 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 16 14:01:34 2012 -0800"
      },
      "message": "Add \"kind\" argument to Get/SetVReg.\n\nIn order to determine where a register is promoted its necessary to know\nthe kind of use of the register.\nExtend notion of precise-ness to numeric verifier register types.\nDump verifier output in oatdump.\nDump vregs with their location or constant value.\nIntroduce indenting ostream utility.\n\nChange-Id: Ia3d29497877976bc24465484743bca08236e1768\n"
    },
    {
      "commit": "efc6369224b036a1fb77849f7ae65b3492c832c0",
      "tree": "e61d88a5b3b787d782b2fa02b90947ba9a115458",
      "parents": [
        "a3c6849b160cd5d2b2ca6e6fa9d9df834def85ee"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 14 16:31:52 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 15 09:47:38 2012 -0800"
      },
      "message": "Quick compiler source reorganizatio - part 1\n\nA step towards cleanup of the quick compiler source.  In this\nCL we rename all files to Art standards, combine some of the\nold target-specific files that may have made sense in the\nJIT, but no longer do.  Also removed some codegen/\u003ctarget\u003e/\nsubdirectories, combined and deleted some existing files.\n\nStill quite a bit of work to do in cleaning up header files,\ngetting some better consistency in what codegen functions\ngo where.  That will happen in later CLs.\n\nNo logic changes in this CL - just renaming and moving stuff around\n\nChange-Id: Ic172cd3b76d4c670f8e4d5fdd4a3e967db3f4c1e\n"
    },
    {
      "commit": "a3c6849b160cd5d2b2ca6e6fa9d9df834def85ee",
      "tree": "47de1bd04d76a9c427419a22a28da053a0be50f2",
      "parents": [
        "8e950c117975d23f50ed7e32ca5db01a813c25d0",
        "4da7f2f9fdcd8e2b440155bbbe506b14d47ce7a6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 14 17:16:23 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 17:16:24 2012 -0800"
      },
      "message": "Merge \"Fix missing card mark verification.\" into dalvik-dev"
    },
    {
      "commit": "8e950c117975d23f50ed7e32ca5db01a813c25d0",
      "tree": "2d4363de95db34aae624ff90929d4ec215ac63cd",
      "parents": [
        "8bb8e8653b4c3ad5d87863f98ffec5f95a96c1fa"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Fri Nov 02 09:58:19 2012 -0700"
      },
      "committer": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Wed Nov 14 15:45:03 2012 -0800"
      },
      "message": "Simple debugging support for portable path.\n\nChange-Id: Ibdc33b8d7f644c091fdb3ba3ce2ba45804bc4078\n"
    },
    {
      "commit": "8bb8e8653b4c3ad5d87863f98ffec5f95a96c1fa",
      "tree": "fa64f9ad72867a7928ade0708533d8fe51f99db4",
      "parents": [
        "725a957985171d712d5c048cc3d00ff14968784b",
        "f0504cdc5b6400edd4b39eea64ac280465042d5b"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 14 13:32:55 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 13:32:55 2012 -0800"
      },
      "message": "Merge \"Quick backend: rename target-specific #defines\" into dalvik-dev"
    },
    {
      "commit": "f0504cdc5b6400edd4b39eea64ac280465042d5b",
      "tree": "09aea792db81ef23e4b5264acc76b677382e3e84",
      "parents": [
        "ec13743da80a80c1817cf6660c28917fc28846bc"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 13 16:31:10 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 14 12:23:53 2012 -0800"
      },
      "message": "Quick backend: rename target-specific #defines\n\nAnother step towards a single compiler.  The #include build mechanism\nrelies on macros with the same name to take on different values for\nour various targets.  This CL prepends a target-specific string\n(and exposes some needed by common code as functions rather than #defines).\n\nMacros and #defines still available for use from target-dependent code,\nbut functions added for target independent use.  For example,\nrRET0 for Arm becomes rARM_RET0 in target-dependent code, and\ntargetRegister(kRet0) in target-independent code.\n\nNo logic changes, other than adding functions to return previously #defined\nvalues.  As of this CL, the primary target includes, xxxLIR.h, have no\nmacro collisions.\n\nChange-Id: I5e11df844815b7d129b525a209dd7c46bd9a4a09\n"
    },
    {
      "commit": "725a957985171d712d5c048cc3d00ff14968784b",
      "tree": "3bd4b161268ecd477aa471665316fb27a3dda145",
      "parents": [
        "35883cc623fdf475a4ead1dafcba9e9becc1ed11"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 13 18:20:12 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Nov 14 11:42:33 2012 -0800"
      },
      "message": "Pulled out instrumentation into its own class separate from trace.\n\nThis is in preparation for Ian\u0027s debugger changes. The instrumentation\nstill needs support for debugging, which I\u0027ll add later.\n\nChange-Id: I29ce0af1ff2eaec8f6d2f54963263381363ebf72\n"
    },
    {
      "commit": "4da7f2f9fdcd8e2b440155bbbe506b14d47ce7a6",
      "tree": "7256d42b436b5fadb9653720dcd1ba13e80dc925",
      "parents": [
        "35883cc623fdf475a4ead1dafcba9e9becc1ed11"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 13 12:51:01 2012 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 14 10:52:45 2012 -0800"
      },
      "message": "Fix missing card mark verification.\n\nFixed card mark verification code to handle aged cards.\n\nRefactored some duplicated code in Heap.cc.\n\nFixed a broken check in card table scan.\n\nChange-Id: I59f2072684fc20873ababcbc5e59640059e25ff7\n"
    },
    {
      "commit": "35883cc623fdf475a4ead1dafcba9e9becc1ed11",
      "tree": "792bdfcb0a556f7c54a35d9c0e4409d3ca4dd2e5",
      "parents": [
        "ec13743da80a80c1817cf6660c28917fc28846bc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 13 14:08:12 2012 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 13 16:33:39 2012 -0800"
      },
      "message": "Ensure ThreadPool constructor does not return until fully initialized.\n\nThread pool was being deleted too early during runtime shutdown,\nthis was causing a GC running during runtime shutdown to\noccasionally reference a deleted thread pool.\n\nFixed an error where the thread pool was being deleted before the\nthreads were done attaching by making the thread pool constructor\nblock until all of the threads are attached.\n\nChange-Id: I5f0884a74d78c4541ee0e582112857077f3f594f\n"
    },
    {
      "commit": "ec13743da80a80c1817cf6660c28917fc28846bc",
      "tree": "f551225a325636dc56e0a3c01c55a59316e9e829",
      "parents": [
        "f42b6f912dd390808bbd5c025d773ebb02a06ed7"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 13 12:13:16 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 13 13:13:40 2012 -0800"
      },
      "message": "Revert \"Revert \"Refactor codegen resource masks\"\"\n\nThis reverts commit 4b39c9f1b77ff32cf5760e6bf77c189678e2c9a6.\n\nThe problem with the original commit was failure to widen a\ncouple of local variables to hold the newly widenened to 64-bits\nEncodingMap flag field - thus we lost some high-order resource\nattributes and broke instruction scheduling for x86.\n\nChange-Id: I04d7caf79e2cc802c39369ca04666629218ccaea\n"
    },
    {
      "commit": "f42b6f912dd390808bbd5c025d773ebb02a06ed7",
      "tree": "171b0f8a4aff38ba8abd67d1532f6eaf7a00f7fb",
      "parents": [
        "ac86a7cad60c20a131011338057887bb64cbfd38",
        "664bebf92eb2151b9b570ccd42ac4b6056c3ea9c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 12 17:41:44 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 12 17:41:44 2012 -0800"
      },
      "message": "Merge \"Fix occasional deadlock caused by checkpoint root marking.\" into dalvik-dev"
    },
    {
      "commit": "664bebf92eb2151b9b570ccd42ac4b6056c3ea9c",
      "tree": "783a4492b398078e8d5747f19f6019e91939c986",
      "parents": [
        "d22d54849c96760aa1efa259d6dcfbace54da2af"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 12 16:54:11 2012 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 12 17:37:38 2012 -0800"
      },
      "message": "Fix occasional deadlock caused by checkpoint root marking.\n\nThere was a race where a new worker thread would attach during the\ncheckpoint. This caused the thread to wait since suspend count !\u003d 0.\nBut when we decremented the suspend count, we did not broadcast to\nthe resume condition.\n\nAdded a create peer parameter to Thread::Attach and\nAttachCurrentThread. This is used by the threadpool since we don\u0027t\nneed a java peer for worker threads.\n\nChange-Id: I632926b5a6b52eeb0684b6e1dcbf3db42ba3d35c\n"
    },
    {
      "commit": "ac86a7cad60c20a131011338057887bb64cbfd38",
      "tree": "df59604012fdaa353880cb12b333f9e9ceb0808d",
      "parents": [
        "d22d54849c96760aa1efa259d6dcfbace54da2af"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 12 15:03:16 2012 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 12 16:11:07 2012 -0800"
      },
      "message": "Remove bitmap lock from checkpoint root marking.\n\nShould reduce how long each mutator is paused during the checkpoint\nroot marking since there is no more contention on the heap bitmap\nlock.\n\nChange-Id: I6048d785952e1da807d74eeea1d9958090a22b73\n"
    },
    {
      "commit": "d22d54849c96760aa1efa259d6dcfbace54da2af",
      "tree": "ad8615e7fa305ca768aee9ac43963ab10bcdda49",
      "parents": [
        "d21df09a54b08fbf90f9eb64801f0b03a100b8ec"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 06 17:14:12 2012 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 12 12:06:01 2012 -0800"
      },
      "message": "Remove first GC pause.\n\nFixed error where we were prefetching the address of address of\nobjects.\n\nRemove first paused by removing get dirty cards and replacing it\nwith card aging. We now age the cards before doing the checkpoint\ninstead of clearing them. This lets us know which cards were\ndirtied before the start of the GC and which cards were dirtied\nafter.\n\nOptimized FreeList slightly.\n\nChange-Id: I39d6aac1839476d7541d83970c8b27b266e8a117\n"
    },
    {
      "commit": "d21df09a54b08fbf90f9eb64801f0b03a100b8ec",
      "tree": "7bad64cf4afe2825a95e09442ab2f029105fbcc7",
      "parents": [
        "9572fa7e2742e5b3c706699a4a9f262cf93fb6e7",
        "4b39c9f1b77ff32cf5760e6bf77c189678e2c9a6"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 08 13:37:13 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 08 13:37:13 2012 -0800"
      },
      "message": "Merge \"Revert \"Refactor codegen resource masks\"\" into dalvik-dev"
    },
    {
      "commit": "4b39c9f1b77ff32cf5760e6bf77c189678e2c9a6",
      "tree": "95cf9de07529d58d847898087f8c5fd6c1e1a4fd",
      "parents": [
        "07131ca93c301e5cbd6a8702d6af777e1662fe65"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 08 13:32:05 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 08 13:32:05 2012 -0800"
      },
      "message": "Revert \"Refactor codegen resource masks\"\n\nThis reverts commit 07131ca93c301e5cbd6a8702d6af777e1662fe65\n\nThere\u0027s a problem with the x86 build - reverting until I track it down.\n\nChange-Id: I938ed30617ee943c9dba2d52d034e6d198b32e4b\n"
    },
    {
      "commit": "9572fa7e2742e5b3c706699a4a9f262cf93fb6e7",
      "tree": "12851cc01bec8f78440b91bb4ad2bdf86164b505",
      "parents": [
        "ad834979937aa31b2e1ca070623cc5ac3db173a3",
        "a4a970ab4eb5188d5aa2a078dfe4fe336ccbfc4e"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 08 09:31:50 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 08 09:31:50 2012 -0800"
      },
      "message": "Merge \"Fix overlap bug\" into dalvik-dev"
    },
    {
      "commit": "ad834979937aa31b2e1ca070623cc5ac3db173a3",
      "tree": "57feb62f1aa18eb4ac2a87b10592f87f96e75b34",
      "parents": [
        "07131ca93c301e5cbd6a8702d6af777e1662fe65",
        "2f66382fdb5e98537f724eba43ef1c7162c71b0e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 08 09:15:50 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 08 09:15:51 2012 -0800"
      },
      "message": "Merge \"Restrict Compiler ThreadPool lifetime to compile-time\" into dalvik-dev"
    },
    {
      "commit": "a4a970ab4eb5188d5aa2a078dfe4fe336ccbfc4e",
      "tree": "884d703782a6a32677518a1814ccc633b4b51ef3",
      "parents": [
        "07131ca93c301e5cbd6a8702d6af777e1662fe65"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 08 07:54:03 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 08 07:54:03 2012 -0800"
      },
      "message": "Fix overlap bug\n\nThere is currently no rule against a dex code pattern that\noverlaps the result of a long operation with the source operands.\nFor example:\n\n   ADD_LONG v1, v9, v0\n\nis:  (v1,v2) \u003d (v9, v10) + (v0, v1)\n\nHowever, dx appears to never generate such a pattern.  This masked\na JIT (and later Art) bug in the handling of long arithmetic code\ngeneration.  The above code expands into a pair of 32-bit add\noperations and naively kills the high-order word of the 2nd\noperation while computing the low-order word of the result.\n\nThe fix is simple - detect this case and use an intermediate\nresult temporary.\n\nChange-Id: I127f5a51925d5b4249a7a9710cce587dfe0939ad\n"
    },
    {
      "commit": "07131ca93c301e5cbd6a8702d6af777e1662fe65",
      "tree": "ae60544b0065f8fc935bc254cc5893c3a3f89350",
      "parents": [
        "ebf6aa8185d59eeaa428b51a7e32ccc2b9ab1daf"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 07 16:13:14 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 08 05:44:02 2012 -0800"
      },
      "message": "Refactor codegen resource masks\n\nAnother step towards a single compiler: unified the bulk of the\ntarget-specific instruction resource use/def maps.  This will\nallow more shared code usage, and eliminates target-specific\ndefines used by otherwise common code.\n\nChange-Id: I4132cb4d31647517a654ffdf6c87843b84af132b\n"
    },
    {
      "commit": "2f66382fdb5e98537f724eba43ef1c7162c71b0e",
      "tree": "ff277695e4aad975427f4441c3a45f90c448f7aa",
      "parents": [
        "a0a641c5c47ef37a5d9467582c3dbc4cd3d29529"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 07 22:49:06 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 07 22:51:33 2012 -0800"
      },
      "message": "Restrict Compiler ThreadPool lifetime to compile-time\n\nThe Compiler object continues to exist after compilation is done so we\ncan get the state after compilation, but we don\u0027t need to keep the\nthreads alive. Now they have the same lifetime as the TimingLogger\nwhich seems appropriate.\n\nChange-Id: Idcf871c699563cd239f16418fb83a8d9bffe8c52\n"
    },
    {
      "commit": "ebf6aa8185d59eeaa428b51a7e32ccc2b9ab1daf",
      "tree": "95cf9de07529d58d847898087f8c5fd6c1e1a4fd",
      "parents": [
        "a0a641c5c47ef37a5d9467582c3dbc4cd3d29529"
      ],
      "author": {
        "name": "mikaelpeltier",
        "email": "mikaelpeltier@google.com",
        "time": "Wed Nov 07 14:02:15 2012 +0100"
      },
      "committer": {
        "name": "mikaelpeltier",
        "email": "mikaelpeltier@google.com",
        "time": "Wed Nov 07 14:02:15 2012 +0100"
      },
      "message": "Fix bug in static field initialization.\n\n- Field::Set routines take the declaring class even for static field accesses.\n\nChange-Id: I842f47243b576b3d0793d5a47f329c8f9cab0d05\n"
    },
    {
      "commit": "a0a641c5c47ef37a5d9467582c3dbc4cd3d29529",
      "tree": "81828574724f260581b3c8f08bc562c6247a935b",
      "parents": [
        "994d62a359188354de6ad01699b2ae6698db16f9",
        "02b6a78038f12c109f95eb31713cfc747f5512f1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 06 16:09:32 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 06 16:09:32 2012 -0800"
      },
      "message": "Merge \"Parellel mark stack processing\" into dalvik-dev"
    },
    {
      "commit": "02b6a78038f12c109f95eb31713cfc747f5512f1",
      "tree": "c36841561a47b2ce3cf15b00fdae822e5a6c5b64",
      "parents": [
        "bcc2926b9721f94c17ed98fae5264cc98f0e066f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 26 13:51:26 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 06 16:07:36 2012 -0800"
      },
      "message": "Parellel mark stack processing\n\nEnabled parallel mark stack processing by using a thread pool.\n\nOptimized object scanning by removing dependent loads for IsClass.\n\nPerformance:\nPrime: ~10% speedup of partial GC.\nNakasi: ~50% speedup of partial GC.\n\nChange-Id: I43256a068efc47cb52d93108458ea18d4e02fccc\n"
    },
    {
      "commit": "994d62a359188354de6ad01699b2ae6698db16f9",
      "tree": "0c8d5a98dc906343974da120d992803986a0d577",
      "parents": [
        "81b8871007101f42e2baabf213e1312004073eb0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 20:43:45 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 20:44:30 2012 -0800"
      },
      "message": "Add --no-watch-dog for use when debugging dex2oat\n\nChange-Id: I1cfbcc638aef2eb28431d9fc63c2f34b15cee67d\n"
    },
    {
      "commit": "81b8871007101f42e2baabf213e1312004073eb0",
      "tree": "7664b7ebf5dabeb0364806d1312299020c77c1d4",
      "parents": [
        "bcc2926b9721f94c17ed98fae5264cc98f0e066f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 19:21:30 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 19:22:24 2012 -0800"
      },
      "message": "Broaden scope of gAborting. Fixes hang in HandleUnexpectedSignal.\n\nChange-Id: I4c29cd7b67f07bb9f99c308feac5a3d6c236bc2b\n"
    },
    {
      "commit": "bcc2926b9721f94c17ed98fae5264cc98f0e066f",
      "tree": "ebc059463499b973804d52e0bba593a12cd0326e",
      "parents": [
        "af6eaca5034a602f459a6eca9fb185f3abe8a882"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Nov 02 11:36:03 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Nov 02 17:00:27 2012 -0700"
      },
      "message": "Add dex2oat watch dog thread for host builds\n\nChange-Id: I90b4b6b3a1aebb82955b4aa84d3f2d599af1d13b\n"
    },
    {
      "commit": "af6eaca5034a602f459a6eca9fb185f3abe8a882",
      "tree": "43674148ddb6f75ab052d63438db521f5187d4ba",
      "parents": [
        "5f7fa551162b9e755fdaf054ffc89411a0e135e3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 02 14:25:43 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 02 14:25:43 2012 -0700"
      },
      "message": "Remove files not part of quick, portable or iceland builds.\n\nThese files aren\u0027t built and are bit rotting. Removing to relieve\nmaintenance burden.\n\nChange-Id: I6f86d22538370a7e7d31e6f4d6a6e62243c9fece\n"
    },
    {
      "commit": "5f7fa551162b9e755fdaf054ffc89411a0e135e3",
      "tree": "636107724db94b5015b46a4a179a518c089039cf",
      "parents": [
        "64b6d145fa53b8dfb07a8fc2426af13f155d5a4d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 02 11:45:53 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 02 12:17:51 2012 -0700"
      },
      "message": "Force boot image strings into dex cache.\n\nFor const-string in the boot image, force the string into the dex-cache\nso that slow paths aren\u0027t necessary.\nIncreases boot.art from 7M to 9.8M but reduces boot.oat by ~3M. Code\ngenerated assuming no slow paths will be faster.\n\nChange-Id: I6c7be390adf7c09b5e6872d05f7d69ab6384c618\n"
    },
    {
      "commit": "64b6d145fa53b8dfb07a8fc2426af13f155d5a4d",
      "tree": "727647da235e21508d6661c7e2a780ff8ee2003e",
      "parents": [
        "0f79d728370ab51b9b16a356b058c48330f43148"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 29 16:34:15 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 01 17:26:15 2012 -0700"
      },
      "message": "Interpret class initializers when building image.\n\nWe initialize all image classes with the interpreter if they have a\nclass/static initializer.\nBlack list classes whose initializers need access to on device native\ncode. If such classes are added to the image classes they will fail when\nthey attempt to enter JNI code. A number of \"intrinsic\" style JNI\nroutines are special cased to allow more than just trivial class\ninitializers to run.\nAdd a lock for initialization in the compiler to serialize the execution\nof class initializers and avoid deadlock.\nRemove InSourceSpace from image writer (cruft) and teach the image writer\nto fix up referent fields in references.\nFix bugs in the interprerter and implement filled-new-array.\nFactor some VM code to more easily share between the interpreter and\nJNI entry points.\n\nChange-Id: I6bb811dea84f1b82260b1a4e73ac7412179c0b41\n"
    },
    {
      "commit": "0f79d728370ab51b9b16a356b058c48330f43148",
      "tree": "308b16055cec67d4755eccdc82c26741f68114cd",
      "parents": [
        "5b3c889b316746ddc835289aa6600cd967f2ecfe"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 01 15:35:27 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 01 15:35:27 2012 -0700"
      },
      "message": "Fix Mips/x86 compilers\n\nAn incorrect conversion of an #ifdef to a runtime test broke\ndivision by literals for non-Arm targets.\n\nChange-Id: I0065606f668df8478fb33e55077fcc5b734cb3af\n"
    },
    {
      "commit": "5b3c889b316746ddc835289aa6600cd967f2ecfe",
      "tree": "683a71d08dc8b70cb16d9c064f1f0abd7c14b0b3",
      "parents": [
        "e46cd75f182a3d738c5e2ef3cc90b2f0b1de56ee",
        "b046e16d8b8da318d6055f9308950131f1255e08"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 01 12:06:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 01 12:06:54 2012 -0700"
      },
      "message": "Merge \"Remove all TARGET_[ARM|X86|MIPS] #ifdefs\" into dalvik-dev"
    },
    {
      "commit": "b046e16d8b8da318d6055f9308950131f1255e08",
      "tree": "d4472622967d02fcc87bb422bddea9a9140c75f9",
      "parents": [
        "6e30145f1ed992be8d4e5a9973410c19f3de59f9"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Oct 30 15:48:42 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 01 12:05:35 2012 -0700"
      },
      "message": "Remove all TARGET_[ARM|X86|MIPS] #ifdefs\n\nTwo steps forward, one step back towards elimination of the\n\"#include\" build model for target-specific compilers.  This CL\ndoes some restructuring to eliminate all of the TARGET_xxx #ifdefs\nand convert them to run-time tests.\n\nConsiderable work is still required to fully eliminate the multiple\nbuilds.  In particular, much of the \"common\" codegen code relies on\nmacros defined by the target-specific [Arm|X86|Mips]Lir.h include file.\n\nNext step is more restructuring to better isolate target-independent\ncode generation code.\n\nChange-Id: If6efbde65c48031a48423344d8dc3e2ff2c4ad9d\n"
    },
    {
      "commit": "e46cd75f182a3d738c5e2ef3cc90b2f0b1de56ee",
      "tree": "ffd976fbc1195cddbb956f87a73d423d611b3cf9",
      "parents": [
        "332f6827edf72f9b3d247a6c2fa79e4d520a409d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 31 16:56:18 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 31 16:56:18 2012 -0700"
      },
      "message": "Fix race condition in thread pool shutdown\n\nWe were not holding the task queue lock when we did broadcast, causing\na race where a thread waits on the CV after the broadcast.\n\nFixes dex2oat deadlocking.\n\nChange-Id: I84f30020511c2bd43f71d9b7b392720bd8d03eab\n"
    },
    {
      "commit": "332f6827edf72f9b3d247a6c2fa79e4d520a409d",
      "tree": "f91c0c46526cbce22792940bf3408279f005608c",
      "parents": [
        "701f0e08b9233306efc6daf2206f80f5d8260149",
        "e35517ad40e0713df8420aeb5d3540f146a59f62"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 31 16:47:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 31 16:47:31 2012 -0700"
      },
      "message": "Merge \"Remove disable card marks, fix SetPatchLocation.\" into dalvik-dev"
    },
    {
      "commit": "701f0e08b9233306efc6daf2206f80f5d8260149",
      "tree": "624f5ffcd9a27e481cfcbff951fe59fb35d67abf",
      "parents": [
        "8161c0336b97e11e02c000af357f8f40de2e23e4",
        "663c09fc4b0f1cc2b9311d62840f55991cf7cf5d"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 31 16:47:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 31 16:47:17 2012 -0700"
      },
      "message": "Merge \"Special for monkey debugging (#2)\" into dalvik-dev"
    },
    {
      "commit": "e35517ad40e0713df8420aeb5d3540f146a59f62",
      "tree": "b9f5a153774d89c73545365d54cc7e4128ce3d76",
      "parents": [
        "4696b5b20be2f51f4ada5f3771a205d90bff351d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 30 18:49:55 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 31 16:38:12 2012 -0700"
      },
      "message": "Remove disable card marks, fix SetPatchLocation.\n\nShould slightly improve performance. Added a no thread suspension allowed in patch oat code and\nmethods.\n\nAdded a new function to class linker, GetOatCodeFor which takes in a method reference instead of\npointer.\n\nThis fixes the issue where pruned methods were getting re-loaded during code and method patching.\n\nChange-Id: I676bb88cb021b6d2e0db00adbcf1f2f04f82b72a\n"
    },
    {
      "commit": "8161c0336b97e11e02c000af357f8f40de2e23e4",
      "tree": "cc5dafd36fefd9ec71ced5b2af36955053b450f3",
      "parents": [
        "72891f319f83eca0680a9aeb1445dddd40dec99b"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 31 15:50:00 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 31 16:24:36 2012 -0700"
      },
      "message": "More MIPS fixes. The vm-tests and oat tests all work on the emulator.\n\n- Changed the base address of the art image for MIPS to allow enough\n  space for CTS to run on the target.\n- Fixed exception delivery to jump without linking, and to preserve the\n  value of $gp.\n- Added dumping of /proc/self/maps whenever mmap fails, and cleaned up\n  other debugging output (not MIPS related).\n\nChange-Id: I4e92e992ee6a6167e901db8ad90a6062bbc5168a\n"
    },
    {
      "commit": "663c09fc4b0f1cc2b9311d62840f55991cf7cf5d",
      "tree": "e7c2d0501d7c7915b00c21ce845e057425f16c52",
      "parents": [
        "8df6e276ecae2ccf6027f4cf9d4c58a3d0b1bdfc"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 31 05:21:00 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 31 05:21:00 2012 -0700"
      },
      "message": "Special for monkey debugging (#2)\n\nRestore some of the optimizations turned off by CL 245592 to see if there is any\nmonkey run differences.  This CL should be eventually reverted.\n\nChange-Id: I9990ba07c02ca5e0b4dfa4b1abfbecbe2cc1271c\n"
    },
    {
      "commit": "72891f319f83eca0680a9aeb1445dddd40dec99b",
      "tree": "60d2fd0485ac8b6ca50ed2f2fd9b89e0e322c50d",
      "parents": [
        "4696b5b20be2f51f4ada5f3771a205d90bff351d",
        "ff2d2c555a9055452caa707fd5194dbf1a5696c8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 30 15:35:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 30 15:35:34 2012 -0700"
      },
      "message": "Merge \"Remove ClassLoader from OatWriter\" into dalvik-dev"
    },
    {
      "commit": "ff2d2c555a9055452caa707fd5194dbf1a5696c8",
      "tree": "22359b0f931857f416af034746a7146f3bbe48ea",
      "parents": [
        "6e30145f1ed992be8d4e5a9973410c19f3de59f9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 30 14:15:34 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 30 15:08:17 2012 -0700"
      },
      "message": "Remove ClassLoader from OatWriter\n\nChange-Id: I75e6c8f7189d478304a5fd273440db126581a75f\n"
    },
    {
      "commit": "4696b5b20be2f51f4ada5f3771a205d90bff351d",
      "tree": "bd7997a797ce91bf3ebb53ca8df35a0e7040bf51",
      "parents": [
        "6e30145f1ed992be8d4e5a9973410c19f3de59f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 10:35:10 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 10:39:55 2012 -0700"
      },
      "message": "Fix art usage of readdir_r(3).\n\nChange-Id: Ieb8c90c8bd9b9b9cf075519992d4156b0ca6273b\n"
    },
    {
      "commit": "6e30145f1ed992be8d4e5a9973410c19f3de59f9",
      "tree": "02c8b6d1256654b33158c4b0d990897d43b341f3",
      "parents": [
        "09cd727b48560836b7cc1341c00e980fae71ebc8",
        "2502544dda14d654e09cb060729825f34abbb66a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 29 23:37:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 29 23:37:45 2012 -0700"
      },
      "message": "Merge \"Move Unsafe offset code to Java.\" into dalvik-dev"
    },
    {
      "commit": "2502544dda14d654e09cb060729825f34abbb66a",
      "tree": "59057a2e4ee8db45d1c75326b9f63f2785897f56",
      "parents": [
        "2a85d8d034863df3c5ee156a140d0bd88b2b9224"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 29 23:10:54 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 29 23:10:54 2012 -0700"
      },
      "message": "Move Unsafe offset code to Java.\n\nChange-Id: I29c3cafaa7adceded6b1e934df63c80b5e0efa87\n"
    },
    {
      "commit": "09cd727b48560836b7cc1341c00e980fae71ebc8",
      "tree": "84af874eca6e1b1049a32a9b57c101509d19b36e",
      "parents": [
        "2a85d8d034863df3c5ee156a140d0bd88b2b9224"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 29 16:37:01 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 29 16:37:01 2012 -0700"
      },
      "message": "Fix for MIPS long subtraction when source and destination are same.\n\nMIPS emulator boots and works now, passing all vm-tests except one\ninvoke-super test.\n\nChange-Id: I3bd27f9a582412900c08f5771d5dd76749d9de89\n"
    },
    {
      "commit": "2a85d8d034863df3c5ee156a140d0bd88b2b9224",
      "tree": "6ae649a55d07e96112abd4ce319c38ded4c8ea7e",
      "parents": [
        "8df6e276ecae2ccf6027f4cf9d4c58a3d0b1bdfc",
        "61f916cc4757610ce308bfdea9a00cf29afd2b02"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 29 10:13:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 29 10:13:24 2012 -0700"
      },
      "message": "Merge \"A few more MIPS fixes. Emulator boots up with black screen.\" into dalvik-dev"
    },
    {
      "commit": "8df6e276ecae2ccf6027f4cf9d4c58a3d0b1bdfc",
      "tree": "bb102931ca7ceec376fb77cb5da876bf7607094f",
      "parents": [
        "2fa6b2e2fc3d2a2fc27808ce518dc76b80ce369a"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 27 02:43:55 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Oct 27 11:44:57 2012 -0700"
      },
      "message": "Fix test suspend.\n\nChange-Id: I8dcb6e5605074d03410c67412f0929286091e15d\n"
    },
    {
      "commit": "2fa6b2e2fc3d2a2fc27808ce518dc76b80ce369a",
      "tree": "daba5f5e64409452e31ae42e3b1b6b6491ccb007",
      "parents": [
        "6ed960d260d0ec3cbbef455c646ccd47f4e78119"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 17 00:10:17 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 26 16:12:59 2012 -0700"
      },
      "message": "Interpreter.\n\nThe opcodes filled-new-array and packed-switch aren\u0027t implemented but\nare trivial given that they are variants of implemented opcodes.\nRefactor Field::Get routines to take the declaring class in the case of\nstatic field accesses. This avoids a check on every use of a field.\nRefactor arg array builder to be shared by JNI invokes and invocations\ninto the interpreter.\nFix benign bug in const decoding in the verifier.\n\nChange-Id: I8dee6c1f4b7f033e6c003422c56e9471cfaccda8\n"
    },
    {
      "commit": "6ed960d260d0ec3cbbef455c646ccd47f4e78119",
      "tree": "73c5db413bab25b3462ddc35e10fd6392123b525",
      "parents": [
        "bf90dbe0ad99b91dc20f6e35ee32a05884c5c481",
        "0e4627e593bc39f8e3d89c31f8977d55054c07cc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 26 12:01:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 26 12:01:17 2012 -0700"
      },
      "message": "Merge \"Add thread pool class\" into dalvik-dev"
    },
    {
      "commit": "0e4627e593bc39f8e3d89c31f8977d55054c07cc",
      "tree": "1d69558732c0c916e51a530985a26d4235ef0e6c",
      "parents": [
        "9281f004db3f194930ef34d31e5d80c98341f38f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 23 16:13:36 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 26 12:00:03 2012 -0700"
      },
      "message": "Add thread pool class\n\nAdded a thread pool class loosely based on google3 code.\n\nModified the compiler to have a single thread pool instead of creating new threads in ForAll.\n\nMoved barrier to be in top level directory as it is not GC specific code.\n\nPerformance Timings:\n\nReference:\nboot.oat: 14.306596s\ntime mm oat-target:\nreal    2m33.748s\nuser    10m23.190s\nsys 5m54.140s\n\nThread pool:\nboot.oat: 13.111049s\ntime mm oat-target:\nreal    2m29.372s\nuser    10m3.130s\nsys 5m46.290s\n\nThe speed increase is probably just noise.\n\nChange-Id: If3c1280cbaa4c7e4361127d064ac744ea12cdf49\n"
    },
    {
      "commit": "bf90dbe0ad99b91dc20f6e35ee32a05884c5c481",
      "tree": "930cb2338703cf30c892be92685b0dbb16c22081",
      "parents": [
        "6ffd0967027c092a62d7100ca42ceded369c8ca1",
        "c531cefbfb5394413122e9f57d211ba436cff012"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 26 10:59:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 26 10:59:50 2012 -0700"
      },
      "message": "Merge \"Eliminate #ifdef ART_USE_QUICK_COMPILER\" into dalvik-dev"
    },
    {
      "commit": "c531cefbfb5394413122e9f57d211ba436cff012",
      "tree": "f1a7183c0aa17414df90409e99dc24e84aaa2562",
      "parents": [
        "9281f004db3f194930ef34d31e5d80c98341f38f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Oct 18 07:09:20 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 26 10:13:33 2012 -0700"
      },
      "message": "Eliminate #ifdef ART_USE_QUICK_COMPILER\n\nOne of several steps towards having a single compiler build.\nIn this CL, we introduce a compiler_backend command-line option\nto select between Quick, Quick w/ GBC, Portable and Iceland\nback ends.  The Iceland option is temporary, and will go away once\nwe combine with Portable.  The Quick variants are with\nand without GBC conversion.  In time, those will converge to a\nsingle option.\n\nAll uses of \"#if defined(ART_USE_QUICK_COMPILER)\" are eliminated.  All\nprevious uses in the Quick compiler have been converted to runtime\ntests.  On the llvm side, ART_USE_QUICK_COMPILER was previously\nused to differentiate between Portable and Iceland builds.  Those\nusages have been replaced with ART_USE_PORTABLE_COMPILER, and in\na following CL will also be converted to run-time tests.\n\nAs of this CL, we\u0027re still generating separate libraries for\nQuick and Portable/Iceland.  Next up is elminating the target-specific\nlibraries for Quick-arm, Quick-x86 and Quick-mips.  Once that is\ncomplete, we will consoldate Quick and Portable into a single build.\n\nTo build either Iceland or Portable, touch USE_PORTABLE_COMPILER or\nUSE_LLVM_COMPILER as usual.  Otherwise, the build will default\nto Quick (non-GBC).\n\nChange-Id: Ic86c56f51710c9b06d4430b71a429ae12903cc47\n"
    },
    {
      "commit": "6ffd0967027c092a62d7100ca42ceded369c8ca1",
      "tree": "95a87e608aab1934058204c0ae7a3a85a8e8601f",
      "parents": [
        "9281f004db3f194930ef34d31e5d80c98341f38f"
      ],
      "author": {
        "name": "mikaelpeltier",
        "email": "mikaelpeltier@google.com",
        "time": "Thu Oct 25 15:37:45 2012 +0200"
      },
      "committer": {
        "name": "mikaelpeltier",
        "email": "mikaelpeltier@google.com",
        "time": "Fri Oct 26 10:40:19 2012 +0200"
      },
      "message": "Add Jack modifier.\n\nBug: 7419545\nChange-Id: I58f40e11f3b3256ca7f7922f12b7bdeef724930f\n"
    },
    {
      "commit": "61f916cc4757610ce308bfdea9a00cf29afd2b02",
      "tree": "92c1f228c673caa8b6bf22e6cd3569ed545abaed",
      "parents": [
        "9281f004db3f194930ef34d31e5d80c98341f38f"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Oct 25 17:48:51 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Oct 25 17:48:51 2012 -0700"
      },
      "message": "A few more MIPS fixes. Emulator boots up with black screen.\n\nThe emulator no longer reboots on startup, though the screen remains\nblack. In this change:\n\n- Fixed compilation of kMipsDelta.\n- Fixed resolution trampoline to call with reg T9 so GP can be\n  calculated properly.\n- Supress DescribeLocks on proxy methods to allow stack dumping (not\n  MIPS specific).\n\nChange-Id: I66ef62002e3ffba5a253e94a5300d022f9345934\n"
    },
    {
      "commit": "9281f004db3f194930ef34d31e5d80c98341f38f",
      "tree": "a3f3b5881696313c0064226e2f2f23c1b57c6f89",
      "parents": [
        "d2c8bf4e2f4204fb764100bb2ea99f772b8b5bc6"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 24 12:17:24 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 24 12:17:24 2012 -0700"
      },
      "message": "Special for monkey debugging\n\nTurn off optimization for a problematic method to see if it\nchanges monkey behavior.  This CL should be reverted after the\nmonkey run completes.\n\nChange-Id: Id0abc48ae15cf3bf8d0aaf999b2ba803adb788b5\n"
    },
    {
      "commit": "d2c8bf4e2f4204fb764100bb2ea99f772b8b5bc6",
      "tree": "2ea00643a0500a868230a040af00cb89c8bd1cb4",
      "parents": [
        "65c3f9cc5be61aaf16e6d7739d3396f1f7eec3c6",
        "05f28c6e00ecdb1da834acc8c29b4a7eba86d692"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 24 10:29:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 24 10:29:13 2012 -0700"
      },
      "message": "Merge \"Dump dex file sizes in oatdump.\" into dalvik-dev"
    },
    {
      "commit": "05f28c6e00ecdb1da834acc8c29b4a7eba86d692",
      "tree": "66a4dec79b82f66eed7618ed66354a81a9770e4e",
      "parents": [
        "7e762861d644c1554f42b49bc4f8668c3b3c3eaa"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 23 18:12:13 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 24 10:27:08 2012 -0700"
      },
      "message": "Dump dex file sizes in oatdump.\n\nChange-Id: I15d1ecfb9900a07b36209015e8b47718fdee19a7\n"
    },
    {
      "commit": "65c3f9cc5be61aaf16e6d7739d3396f1f7eec3c6",
      "tree": "4bea5a340331618333f00ed7aa96ce463916af75",
      "parents": [
        "08254278f290c2541cecd24ce6b7015427f4eae5"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Tue Oct 23 22:46:33 2012 -0700"
      },
      "committer": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Tue Oct 23 22:47:08 2012 -0700"
      },
      "message": "Fix typo.\n\nChange-Id: I2c2389904b4d0ce9b30eccfa17b8bfed4077967c\n"
    },
    {
      "commit": "08254278f290c2541cecd24ce6b7015427f4eae5",
      "tree": "94854e954277be3ccccc18eb7f5ffbbab8c3e9e6",
      "parents": [
        "858f1c5fd5e528d0b16040ced74d4636046a42d8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 23 17:49:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 23 18:00:33 2012 -0700"
      },
      "message": "Dump GC maps/verification for methods with bad roots.\n\nChange-Id: Iec32ea30420a6fac318f947108248bf4207f279c\n"
    },
    {
      "commit": "858f1c5fd5e528d0b16040ced74d4636046a42d8",
      "tree": "3cfe50b75962353cdd62ec68112f3f148f026506",
      "parents": [
        "ef851d3058abfc56ed544f25d387dc7ff9c32e0b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 17 17:45:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 23 10:38:45 2012 -0700"
      },
      "message": "Check point root marking.\n\nAdded thread list checkpoint function, this goes through every thread and runs\nthe checkpoint on each thread. Threads that are runnable run the checkpoint\ncallback themselves in the next suspend check, while suspended threads are\nleft suspended but have the callback called on them.\n\nAdded a checkpoint visitor member to each thread, this visitor called when the\ncheckpoint request flag is set during transitions to suspended from runnable.\n\nUsing the checkpoint to mark the roots reduces the first pause of partial /\nfull gc to around 1 ms.\n\nChange-Id: I97239cc72ee0e4a3397e9138a62ee559268dce0a\n"
    },
    {
      "commit": "ef851d3058abfc56ed544f25d387dc7ff9c32e0b",
      "tree": "f5d71b2ccfdc6078a0a09d676b044f4d23f37483",
      "parents": [
        "7e762861d644c1554f42b49bc4f8668c3b3c3eaa",
        "30a3317577d84feafa859b3e39d1545a995f0b7c"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 23 09:48:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 23 09:48:59 2012 -0700"
      },
      "message": "Merge \"More MIPS fixes. Many run-test tests pass.\" into dalvik-dev"
    },
    {
      "commit": "30a3317577d84feafa859b3e39d1545a995f0b7c",
      "tree": "b102c00c0e2fa5601b0a7021522121d087569964",
      "parents": [
        "63af6361337cc9b5c75ae55405b45d770c5a3b08"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 22 18:16:22 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 22 18:16:22 2012 -0700"
      },
      "message": "More MIPS fixes. Many run-test tests pass.\n\nRun-test tests 001-043 work, including 003-omnibus-opcodes. 044 is\nproxy, which is still broken.\n\nChanges made:\n- Fixed argument marshalling of FP values for calls to helper functions\n  in the compiler.\n- Fixed CheckCast compilation\u0027s mistaken use of rARG0 instead of rRET0.\n- Fixed conversion calls to marshall FP arguments properly.\n- Created named values for FP args, though they differ in MIPS only.\n- Fixed assembly to always use T9 to hold code pointer to jump to.\n- Fixed proxy offset values.\n\nChange-Id: If121db322683a307e5a1016210f4f73283aa817c\n"
    },
    {
      "commit": "7e762861d644c1554f42b49bc4f8668c3b3c3eaa",
      "tree": "f605d68f8ef144238af6a096c421842bd4db257a",
      "parents": [
        "63af6361337cc9b5c75ae55405b45d770c5a3b08"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 22 15:45:08 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 22 15:45:08 2012 -0700"
      },
      "message": "Dump failing thread if IsDaemon check fails.\n\nChange-Id: I93b5ba426c086343533e3ef022498e47d50503c8\n"
    }
  ],
  "next": "63af6361337cc9b5c75ae55405b45d770c5a3b08"
}
