)]}'
{
  "log": [
    {
      "commit": "80537bb742dff4ccdf6d04b1c0bb7d2179acc8cb",
      "tree": "38c5fc3dd0344ddf721320c07e39136b37a38815",
      "parents": [
        "6641ea12b98dda9ec45d29f20e43f85698b88a02"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 04 16:37:26 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 07 11:24:50 2013 -0800"
      },
      "message": "Fix and reenable lock dumping in stack dumps.\n\nThis patch adds a flag to tell the method verifier not to load\nclasses when resolving types, so that when we ask the method verifier\nto find monitor-enter instructions for stack dumping it doesn\u0027t try\nto allocate (since the most common cause of stack dumping is SIGQUIT).\nWe believe that all the classes we care about will be loaded already\nanyway, since we\u0027re only interested in _held_ locks, and you can only\nhold a lock if you\u0027ve executed the code that leads to the monitor-enter,\nand you can\u0027t execute the code without loading the relevant classes.\nAny not-yet-loaded classes shouldn\u0027t be relevant for our purposes.\n\nAlso clarify the stack dumps when a thread is starting up; although\nstrictly speaking a thread might be in the kNative state, it\u0027s more\nhelpful if we also explicitly say that it\u0027s still starting up.\n\nAlso a few GC log output fixes.\n\nChange-Id: Ibf8519e9bde27838c511eafa5c13734c5bebeab6\n"
    },
    {
      "commit": "6641ea12b98dda9ec45d29f20e43f85698b88a02",
      "tree": "1ffeecc0d83c3ec6158bcdbaf8851e716f24f2d7",
      "parents": [
        "1d6df8edb5b177bd24d692e1fa854272af394d0a"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Jan 02 18:13:42 2013 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Jan 03 14:40:36 2013 -0800"
      },
      "message": "Fix stack walking when top frame has null method pointer.\n\nChanged the do-while loop to just a while loop in the stack walk. This\nfixes the case where the top frame has a null method pointer, which can\nhappen during instrumentation.\n\nChange-Id: If7d67cd315d31bac4c1bbe31d6e385612b182935\n"
    },
    {
      "commit": "7f1df62028142ec01dcee190f4f171a088c4087f",
      "tree": "d5f8b9914ddfdcf0eb616670cbf6e69ffc936d69",
      "parents": [
        "c8253caa7045a7683666725a6d8aeba96a8f9c7a",
        "2502e004d93734a99bdfeab811b3c5ae06f45bec"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jan 03 08:18:08 2013 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 03 08:18:09 2013 -0800"
      },
      "message": "Merge \"Basic block optimization refactoring\" into dalvik-dev"
    },
    {
      "commit": "2502e004d93734a99bdfeab811b3c5ae06f45bec",
      "tree": "1f1ef0f89464d4a2d5477fe026866cc684c7ca1b",
      "parents": [
        "2d76b041be770102fc912effc398e629a18180d2"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Dec 31 16:05:53 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jan 03 06:17:11 2013 -0800"
      },
      "message": "Basic block optimization refactoring\n\nVarious optimization improvements for the common frontend.\n\nBefore applying basic block optimizations, split the graph\ninto extended basic blocks.  Replace existing pattern-match\nrange-check elimination with a scheme based on local value\nnumbering (which could also serve as the basis for some CSE\nif the existing, but so-far untested, common frontend temp\nregister mechanism works as designed).\n\nFor the framework, this CL improves null check elimination\nfrom 90.74% (statically) to 91.24% removed, and range\ncheck elimination from 3.45% to 8.17%.\n\nChange-Id: Ie1ce730cfe12a12fef665a30fe3814bad1993895\n"
    },
    {
      "commit": "c8253caa7045a7683666725a6d8aeba96a8f9c7a",
      "tree": "45969fd6f23e277ee1fbcdcb0d218ebdf636fe14",
      "parents": [
        "306057fd278d75bf3794bd5243a3b6652c487d18",
        "c8fece309fa1d3514071fadaca34530648462b50"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 02 11:44:35 2013 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 02 11:44:35 2013 -0800"
      },
      "message": "Merge \"Port the Runtime.nativeLoad change to art.\" into dalvik-dev"
    },
    {
      "commit": "c8fece309fa1d3514071fadaca34530648462b50",
      "tree": "d4d20537d732e39effcd3ed7d45c44d7b14312cd",
      "parents": [
        "2d76b041be770102fc912effc398e629a18180d2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 02 11:27:23 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 02 11:27:23 2013 -0800"
      },
      "message": "Port the Runtime.nativeLoad change to art.\n\nAlso improve the diagnostics when RegisterNatives fails.\n\nChange-Id: I1000e2e240ce71fbcb4dbc42168253ef8a15c565\n"
    },
    {
      "commit": "306057fd278d75bf3794bd5243a3b6652c487d18",
      "tree": "62652a97caace11e50408d15688ced3514039219",
      "parents": [
        "2d76b041be770102fc912effc398e629a18180d2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 26 12:45:53 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Jan 02 11:15:42 2013 -0800"
      },
      "message": "Support for deoptimization needed for debugging.\n\nThe deoptimization code is untested, and some sanity checks in the\ninstrumentation are disabled because they need debugging.\n\nChange-Id: I1b60a65a60bddc9b107ad4659da097b55ce901c3\n"
    },
    {
      "commit": "2d76b041be770102fc912effc398e629a18180d2",
      "tree": "5992d829897b22c14f63922d22e5f395865f2735",
      "parents": [
        "11a796e42027a926d972f1232484d577cbe01f84",
        "d8506218bfe0fec7b3c7ef10818a9266e77ace4a"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Dec 20 15:05:43 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 15:05:44 2012 -0800"
      },
      "message": "Merge \"Compiler: GBC fix, CFG dump enhancements\" into dalvik-dev"
    },
    {
      "commit": "d8506218bfe0fec7b3c7ef10818a9266e77ace4a",
      "tree": "28799325625e36a8fefbc806abb39ed13b94ee9d",
      "parents": [
        "9b5aa6f2029d3dae305009ac72e44ca97ca7b638"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Dec 20 14:15:05 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Dec 20 14:15:05 2012 -0800"
      },
      "message": "Compiler: GBC fix, CFG dump enhancements\n\nRepaired some GBC generation bit rot, fixed a syntax error in\n.dot cfg file generation, enhanced cfg generation to work before\nSSA renaming and added new cfg dump points.\n\nChange-Id: Id73b479209ea4d963810f67bde0ed502ed7361d3\n"
    },
    {
      "commit": "11a796e42027a926d972f1232484d577cbe01f84",
      "tree": "8b444fcab012bce21714b3077742d8ff180bef82",
      "parents": [
        "96a9887f0bc912661e0a7478c7eb19847d2e2e06"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 19 14:42:57 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 19 14:42:57 2012 -0800"
      },
      "message": "Change NewDirectByteBuffer to allow NULL if capacity \u003d\u003d 0.\n\nBug: 7892060\nChange-Id: Ib7b340afafb27a3ff34799a0be0163466be207ea\n"
    },
    {
      "commit": "96a9887f0bc912661e0a7478c7eb19847d2e2e06",
      "tree": "34c681bcd567801458e913f89da6d8c2f854072d",
      "parents": [
        "9b5aa6f2029d3dae305009ac72e44ca97ca7b638"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 19 14:21:15 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 19 14:38:59 2012 -0800"
      },
      "message": "Improve JNI error checking to use JniAbort rather than CHECK.\n\nChange-Id: I412d4baa76fdb6c94694bceaef3c0cfeb06a0b5b\n"
    },
    {
      "commit": "9b5aa6f2029d3dae305009ac72e44ca97ca7b638",
      "tree": "9e33e741ecd850304394b952e55e8ae809a1ba54",
      "parents": [
        "3235d00248f7b183b4f226a4f0de63673df0ac00"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Dec 18 11:47:11 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Dec 18 11:47:11 2012 -0800"
      },
      "message": "Locking and exception handling fixes for debugger/interpreter.\n\nChange-Id: I20223113355a2d7b5deb4658035be2f788765fc1\n"
    },
    {
      "commit": "14f0db92225d34622fa5cb1a6dc9287334aaf6c7",
      "tree": "7771b1fa7b9a3553d3ad220e45bea926819ab33c",
      "parents": [
        "4c5b265e66bebf890b6f9e53cddeb512774b1613"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Dec 14 17:50:42 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Dec 17 13:49:12 2012 -0800"
      },
      "message": "Fixes to interpreter and debugger for JDWP.\n\n- Fixed off-by-one error for MethodEndCodeIndex.\n- Changed first instance of dex_pc 0 in interpreter Execute to output\n  METHOD_ENTRY event.\n\nChange-Id: I4854cb7cbde0db53db23d8b1c5bb9f08bf8409f1\n"
    },
    {
      "commit": "4c5b265e66bebf890b6f9e53cddeb512774b1613",
      "tree": "8278a6619b4dc4ec6009dcac01cf3fd4046108cb",
      "parents": [
        "2933d538b45cae733349b81a6a1d4a6f4dc9d3ec"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Dec 15 21:36:16 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Dec 15 22:36:34 2012 -0800"
      },
      "message": "Test and fixes for invoke-interface on java.lang.Object methods.\n\nBug: 7614818\n\nChange-Id: I704596cf3d36887e6d6d589cb3ec89e31d5b8901\n"
    },
    {
      "commit": "2933d538b45cae733349b81a6a1d4a6f4dc9d3ec",
      "tree": "cf0fa44a887231ee7d4e6a7b1b8df49f85aee349",
      "parents": [
        "e222ee0b794f941af4fb1b32fb8224e32942ea7b",
        "c1e0490a2a0293fdfc5f654482339ccc71d9952b"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Dec 14 09:47:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 14 09:47:54 2012 -0800"
      },
      "message": "Merge \"Changed IsInDesiredThreadGroup to never return null threads.\" into dalvik-dev"
    },
    {
      "commit": "e222ee0b794f941af4fb1b32fb8224e32942ea7b",
      "tree": "0b9f5fe6398663c9d871881cf7de28eca8bdfc6f",
      "parents": [
        "1aa246dec5abe212f699de1413a0c4a191ca364a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 14:41:43 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 15:24:45 2012 -0800"
      },
      "message": "Move stringpiece.h and stringprintf.h to base/.\n\nChange-Id: I7f71b4a12f99c5f81771146c66629ae5a947b229\n"
    },
    {
      "commit": "c1e0490a2a0293fdfc5f654482339ccc71d9952b",
      "tree": "1f64aef3d618caf8ae697cb1cd9574ff5ccda455",
      "parents": [
        "b7eb10825af77b60cdae0d58232075a0704071da"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Dec 13 12:41:10 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Dec 13 12:41:10 2012 -0800"
      },
      "message": "Changed IsInDesiredThreadGroup to never return null threads.\n\nChange-Id: I1907fbbd319156be0311243d0e3ba997ba862b22\n"
    },
    {
      "commit": "1aa246dec5abe212f699de1413a0c4a191ca364a",
      "tree": "ee9f5be423f56620f211525070273afc7a19c27d",
      "parents": [
        "07ed66b5ae659c452cbe1ab20c3dbf1d6f546461"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 09:29:36 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 09:29:36 2012 -0800"
      },
      "message": "Move casts.h and stl_util.h into base/.\n\nChange-Id: Idb3bfa5cec3d146e488031d91265737cde2b4cf4\n"
    },
    {
      "commit": "07ed66b5ae659c452cbe1ab20c3dbf1d6f546461",
      "tree": "2350745da33df6fcb9fb0c9059e55ea5d5ea8f67",
      "parents": [
        "76b6167407c2b6f5d40ad895b2793a6b037f54b2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:34:25 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:35:05 2012 -0800"
      },
      "message": "Move logging.h into base/logging.h.\n\nChange-Id: Id68f85f7c3a71b156cb40dec63f94d4fb827f279\n"
    },
    {
      "commit": "76b6167407c2b6f5d40ad895b2793a6b037f54b2",
      "tree": "5c433a0907ddf401f4078b6703253b1ae75e723e",
      "parents": [
        "f66330a747eff155eb571b634fc9d901c55a78a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 17:47:30 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:11:44 2012 -0800"
      },
      "message": "Move mutex.h into base/mutex.h.\n\nWe don\u0027t actually need any hackery to get the right mutex.h any\nmore, but since we planned on having the google3-like stuff\nin google3-like locations, this is an easy one to fix.\n\nChange-Id: Ie27464ebbc208a6f4e694a97cf26b1cee0737009\n"
    },
    {
      "commit": "f66330a747eff155eb571b634fc9d901c55a78a7",
      "tree": "e9b7222c519fbfd3cb7b6c2ae701750e8386fc40",
      "parents": [
        "fe8723b27d5ef942ffa5a0a77c8169ffdfde8f4b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 17:27:00 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 17:27:00 2012 -0800"
      },
      "message": "Fix icu4c include path pollution.\n\nChange-Id: Ie96abd97ea98fd36cc9a796a3ce35233addfd1ee\n"
    },
    {
      "commit": "fe8723b27d5ef942ffa5a0a77c8169ffdfde8f4b",
      "tree": "68030b2f4cdd150d6644432c04681f0c79b9f82b",
      "parents": [
        "b7eb10825af77b60cdae0d58232075a0704071da",
        "761600567d73b23324ae0251e871c15d6849ffd8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 17:03:35 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 17:03:36 2012 -0800"
      },
      "message": "Merge \"Switch over to the google3 unix_file File*.\" into dalvik-dev"
    },
    {
      "commit": "761600567d73b23324ae0251e871c15d6849ffd8",
      "tree": "4757cb01233394fa2e9c461a68fc37a35c12dabb",
      "parents": [
        "89c41e5f2fa10e7b97698b9714bd4883a73132f0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 16:31:20 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 16:31:20 2012 -0800"
      },
      "message": "Switch over to the google3 unix_file File*.\n\nI also moved macros.h to base/macros.h to ease google3 porting, at\nthe expense of a larger than necessary change. (I learned my lesson,\nthough, and didn\u0027t make the equivalent base/logging.h change.)\n\nI\u0027m not sure whether we want to keep the unix_file MappedFile given\nour existing MemMap, but it\u0027s easier to bring it over and then remove\nit (and possibly revert the removal) than to bring it over later.\n\nChange-Id: Id50a66faa5ab17b9bc936cc9043dbc26f791f0ca\n"
    },
    {
      "commit": "b7eb10825af77b60cdae0d58232075a0704071da",
      "tree": "53e52a39a6888f14c90e27f420f4057f6a311059",
      "parents": [
        "7331813aa84c82f003b58da7a9225622f8b0eeeb",
        "09bfc6a50bdc9366b13ac3ab479d9278c853d90a"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Dec 12 13:52:22 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 13:52:22 2012 -0800"
      },
      "message": "Merge \"Some fixes for JDWP with the interpreter.\" into dalvik-dev"
    },
    {
      "commit": "09bfc6a50bdc9366b13ac3ab479d9278c853d90a",
      "tree": "f3d528939b038e5f0a6d16cbb83934ddc2b6ffc0",
      "parents": [
        "89c41e5f2fa10e7b97698b9714bd4883a73132f0"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Dec 11 18:11:43 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Dec 12 13:25:25 2012 -0800"
      },
      "message": "Some fixes for JDWP with the interpreter.\n\n- GetStackDepth checks if the thread is suspended, unless the thread is\n  itself.\n- Scoped the breakpoints lock during UpdateDebugger to prevent it being\n  held during PostLocationEvent.\n- Removed locking of breakpoints lock in DebugCallbackContext since it\u0027s\n  already holding it.\n- Added level for breakpoints lock to prevent lock level violations.\n\nChange-Id: I3588c9696bb57ada3c8c64dc1d95ae23cdf2b107\n"
    },
    {
      "commit": "7331813aa84c82f003b58da7a9225622f8b0eeeb",
      "tree": "27d605e356312e8c067fff33eb98b362742edde1",
      "parents": [
        "1cac343f8621a81bcd3f52f8eee0f497a66d7408"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Dec 12 12:05:56 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Dec 12 12:05:56 2012 -0800"
      },
      "message": "Remove now unused RelocateExecutable\n\nChange-Id: Ief03e9154d038fa977fe5eb38b1b9aef6659231f\n"
    },
    {
      "commit": "1cac343f8621a81bcd3f52f8eee0f497a66d7408",
      "tree": "b2c2dc7326ae708e4d2aa185c6234df8341d3dcc",
      "parents": [
        "89c41e5f2fa10e7b97698b9714bd4883a73132f0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Dec 12 10:56:22 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Dec 12 10:56:22 2012 -0800"
      },
      "message": "Remove now unused RelocationBehavior\n\nChange-Id: Ifdb98a63376014a698b53bc926fb1c5512dc2e57\n"
    },
    {
      "commit": "df53a6526215ef245e06d9f663ee21de9891879e",
      "tree": "d7876e4e296550c66f0574b861ba46141dfd0c6d",
      "parents": [
        "a592a6df3aaf9b2a7e07bd2046716264726d9567",
        "6702243ea2332b566d8e8b871cc9db0906d835ad"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 11 11:52:24 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 11:52:24 2012 -0800"
      },
      "message": "Merge \"Support for SetVReg and add SetGPR.\" into dalvik-dev"
    },
    {
      "commit": "6702243ea2332b566d8e8b871cc9db0906d835ad",
      "tree": "dc530339fa07de6028c0771edb082f58ea3686f9",
      "parents": [
        "a169e1d8d968800380245cda450505d969ebff76"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 29 18:04:50 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 11 11:35:41 2012 -0800"
      },
      "message": "Support for SetVReg and add SetGPR.\n\nThese changes are useful for debugging and are required for being able\nto change all GC roots.\n\nMIPS is untested.\n\nChange-Id: I2ba055de64264098bffe869a4fb192d0975f1c8f\n"
    },
    {
      "commit": "a592a6df3aaf9b2a7e07bd2046716264726d9567",
      "tree": "44c6bc1a3b11eb9b6f17afadff9fba650d92f11b",
      "parents": [
        "3aadba03da973099d39e704f4b2b9e7f67410efd",
        "262e251e56d66bd309c6165964ac0a0be24447fe"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Dec 11 10:07:16 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 10:07:16 2012 -0800"
      },
      "message": "Merge \"Fixed slow path for invoke-direct with null this pointer.\" into dalvik-dev"
    },
    {
      "commit": "3aadba03da973099d39e704f4b2b9e7f67410efd",
      "tree": "80258f8f39e3492f1f86af4367b228678ccafa1c",
      "parents": [
        "4f3d94b4e3b40fa7aa2bb5007fa4bb5703189b61",
        "e6285f99a53a344efd6f8409ff5f43a3e80190db"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Dec 11 10:06:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 10:06:10 2012 -0800"
      },
      "message": "Merge \"Compiler: Take advantage of constant propagation\" into dalvik-dev"
    },
    {
      "commit": "262e251e56d66bd309c6165964ac0a0be24447fe",
      "tree": "89453b090d7213e21d6c79ad731511bd8d1094af",
      "parents": [
        "4f3d94b4e3b40fa7aa2bb5007fa4bb5703189b61"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Dec 11 09:46:43 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Dec 11 10:05:24 2012 -0800"
      },
      "message": "Fixed slow path for invoke-direct with null this pointer.\n\nMoved the null pointer check until after the class linker tries to\nresolve the method on the slow path.\n\nChange-Id: Ie0f9e279a98a7e3a40899fee92337ef454c9a468\n"
    },
    {
      "commit": "e6285f99a53a344efd6f8409ff5f43a3e80190db",
      "tree": "145aac9e61838efb617b9c53d8707ca43dd541ed",
      "parents": [
        "a169e1d8d968800380245cda450505d969ebff76"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Dec 06 15:57:46 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Dec 11 09:54:04 2012 -0800"
      },
      "message": "Compiler: Take advantage of constant propagation\n\nThe common frontend tracks constants via a constant propagation pass.\nWhen converting from MIR to GBC (for Portable) or LIR (for Quick),\nrecognize constant arguments and select more efficient codegen forms.\n\nNote: we still have to flush constants to their associated vregs to\nsupport deoptimization.  There\u0027s quite a bit of possible code size\ngain if we were to eliminate unnecessary stores or enhance the vmap\ntable to explicitly represent the ranges over which Dalvik vregs\nare constant.\n\nAlso some minor code refactoring related to array operations.  There\nare sufficient architectural differences to make it worthwhile to\nhave target-dependent aget/aput generators.  On Arm, this is mostly\nbeneficial to floating point array loads and stores.\n\nThis CL yields a ~0.8% decrease in code size over the framework,\nand a nice pop to a few of the standard point benchmarks\n(linpack: ~10%, cm: ~11%, scimark: ~13% - no significant change to\nthe others)\n\nChange-Id: I2337e1aa0622b34a34c3775f8b7dbf5e6969da3e\n"
    },
    {
      "commit": "42b4dc4280c25a624bf38e19da70be39d2676232",
      "tree": "3913e3e9a1e69436344ff820fbffe76b97fdb24e",
      "parents": [
        "a77f0f68a59870ff027dad654fe31eb3fdaf3d5d"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Dec 10 10:25:43 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Dec 10 10:25:43 2012 -0800"
      },
      "message": "Interpreter fixes.\n\n- Fixed filled_new_array to handle negative array size and wrong types.\n  Also added support for objects.\n- Fixed not_int/long and neg_int/long.\n- Masked shift amounts.\n- Disabled return type check to allow exceptions to be thrown when type\n  doesn\u0027t match the method prototype.\n\nChange-Id: I68162a121f3ba53fd6c40a31f0b6aa9ba925ea2d\n"
    },
    {
      "commit": "a77f0f68a59870ff027dad654fe31eb3fdaf3d5d",
      "tree": "c041a68efb55db65ab8f195938097a887f5fcc01",
      "parents": [
        "a169e1d8d968800380245cda450505d969ebff76"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Dec 05 17:19:31 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Dec 06 10:14:46 2012 -0800"
      },
      "message": "Various fixes for JDWP.\n\n- Moved lock of thread list lock into DecodeThread from its callers\n- Fixed scope of various locks to prevent locking violations\n- Added transition for current thread from runnable to suspended before\n  suspending vm, and then a transition back\n- Reworked lock ordering to allow JDWP locks to be held while grabbing\n  the thread list lock\n- Moved debugger PostException until after suspension is re-allowed\n\nChange-Id: Ie53e47ff1538e6cd3125c48ddb4c13758b29be63\n"
    },
    {
      "commit": "a169e1d8d968800380245cda450505d969ebff76",
      "tree": "92b2cc6da112b027432ae4d5bc985118baebe376",
      "parents": [
        "ce4cc0d1818e872c1c7f3c3519a82259afd5c288"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Dec 05 14:26:44 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Dec 05 14:26:44 2012 -0800"
      },
      "message": "Quick compiler: refactored listing \u0026 const fix\n\nThis CL started off as a simple fix to Issue 4959751, which\nidentified a case in which compiler debugging listings could read\nuninitialized data.  The fix ended up pulling a few strings - we\nhad two distinct dex printing routines (one was focused on SSA names\nand was used by the .dot graph dumper), while the other was used with\nverbose codegen listing.\n\nEnded up combining the two routines and significantly enhancing the\nvalue of the verbose debug output.  We now always use ssa register\nnames, and also show the constant values of ssa names which are known\nto be const following constant propagation.\n\nAlong the way, deleted a bit of useless code that remapped all\nregisters in a phi set to have the same name, and also got rid of\nsome duplicate listing helper LIR pseudo ops.\n\nSomee examples of the new listing:\n\n-------- dalvik offset: 0x2 @ const/4 v0_1#0x1, #1\n\nthe format of the vreg is:\n   v\u003corignal Dalvik vnum\u003e_\u003cssa instance\u003e[#hex value of immediate]\n\nIn this example, we don\u0027t add any new info (the listing already had #1),\nbut we also show this form in uses:\n\ninvoke-virtual v0_2, v1_3#0x40\n\nAlso improved is the listing output of potentially throwing instructions\nwhich are broken into two parts: the check portion and the work portion.\nBoth halves now show the full disassembly.  For example:\n\n-------- dalvik offset: 0x13 @ Check1: invoke-virtual v0_2, v1_3#0x40\n....code here\n....code here\n-------- dalvik offset: 0x13 @ Check2: invoke-virtual v0_2, v1_3#0x40\n\nDalvik instructions which are optimized away prior to code generation\nare displayed in sqare brackets.  For example:\n\n-------- dalvik offset: 0x16 @ [move-result-object v0_3]--optimized away\n\nFinally, Phi nodes show which incoming block an operand came through.\nIn the following example:\n\n-------- dalvik offset: 0x5 @ Phi v1_2 \u003d (v1_1#0x0:4, v1_2:12, v1_3#0x1:14)\n\nSreg v1_2 is a merge of a constant 0x0 from incoming block 4, a non-const\nvalue from block 12 and a const 0x1 from block 14.\n\nChange-Id: Ib6c19c19ab8a48509d43d8b0e5ed3e8e7ce9fc82\n"
    },
    {
      "commit": "ce4cc0d1818e872c1c7f3c3519a82259afd5c288",
      "tree": "308f2c30e5a842a5e459d96e730ca4432a020f4f",
      "parents": [
        "823b8acdf2c8274ff93b685e50a93ab9afc6af8b"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Sun Nov 18 16:59:53 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Dec 04 11:07:34 2012 -0800"
      },
      "message": "Using gcmap instead of shadow frame.\n\nFix misuse of TBAAJRuntime \u0026 TBAARuntimeInfo. Now, the TBAAJRuntime is\nonly for runtime support function.\n\nUpdate DexPC before lock object and suspend.\n\nChange-Id: I40fa37f4863fe6e127328a8413285ee3c62e8505\n"
    },
    {
      "commit": "823b8acdf2c8274ff93b685e50a93ab9afc6af8b",
      "tree": "fb992f34ed26b0b75169ecc906bdc9b98f3d5e3a",
      "parents": [
        "078fa459fee2d5f26a94fbbe5b8f4feeafb4afb2",
        "ef28b14268ed0f9db0c7bbd571aa514354a360bd"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Dec 03 17:41:29 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 03 17:41:29 2012 -0800"
      },
      "message": "Merge \"Remove some SOA from JNI internal.\" into dalvik-dev"
    },
    {
      "commit": "078fa459fee2d5f26a94fbbe5b8f4feeafb4afb2",
      "tree": "d440d4e3e59ca177cd9ff406a77ce095670c58ef",
      "parents": [
        "609ba32ed9f1655383124f0c4b45c1b23e7aa2e2"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Dec 03 15:51:33 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Dec 03 15:51:33 2012 -0800"
      },
      "message": "Quick compiler: improve ClobberSReg comments\n\nIssue 6501474\n\nImprove the comments describing the usage of ClobberSReg().  Also, desk-checked all current\nuses of ClobberSReg() to make sure they are appropriate.\n\nNo code changes - only comments.\n\nChange-Id: Ife8419a7e2c2e51b258df7709a7d903d1fd93a44\n"
    },
    {
      "commit": "609ba32ed9f1655383124f0c4b45c1b23e7aa2e2",
      "tree": "e762d087124c20477309196ea86098409d4d4b29",
      "parents": [
        "07ec8e17c978e3bda0202693e6432b56349a5867"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Dec 02 23:48:18 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Dec 02 23:48:18 2012 -0800"
      },
      "message": "Fix/add comments in x86 long codegen.\n\nChange-Id: I40826c9468402f621e3890b221b508c96541a4c3\n"
    },
    {
      "commit": "07ec8e17c978e3bda0202693e6432b56349a5867",
      "tree": "112bccd79024ebd831507c42672e01abc13b726e",
      "parents": [
        "cfaa455374aae0a08c8cb28b5bb306b17866d652"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Dec 01 01:26:51 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Dec 01 11:44:15 2012 -0800"
      },
      "message": "Intrinsic for java.lang.Thread.currentThread.\n\nChange-Id: I056323a74f8759257bf6b6bb032437e576665006\n"
    },
    {
      "commit": "ef28b14268ed0f9db0c7bbd571aa514354a360bd",
      "tree": "6a993310b20f012d9d1d150a85dc4ab97663587c",
      "parents": [
        "cfaa455374aae0a08c8cb28b5bb306b17866d652"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 30 14:22:18 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 30 23:26:19 2012 -0800"
      },
      "message": "Remove some SOA from JNI internal.\n\nRemove or reduce scope of scoped object accesses in JNI internal. Turn a\nPrettyMethod and string compare into a pointer comparison.\n\nChange-Id: I6f8ac8f6a4741916769288c4d6d411c7e0f40ef4\n"
    },
    {
      "commit": "cfaa455374aae0a08c8cb28b5bb306b17866d652",
      "tree": "ca8f25a06f234385b6e62bb774085f1324e5d519",
      "parents": [
        "3676aeb03d5f70933891bb3b21abb8e31a81e36c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 26 21:00:08 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 30 16:38:21 2012 -0800"
      },
      "message": "Turn the thread peer_ into a Object*.\n\nDon\u0027t use a JNI global ref for the thread peer_ so that we can\nsupport more threads than we can global refs. This fixes run-test 51.\nFix a race in thread destruction where a thread may be requested to\nsuspend while deleting itself.\n\nChange-Id: Id8756a575becf80d2a0be0a213325034556927f1\n"
    },
    {
      "commit": "3676aeb03d5f70933891bb3b21abb8e31a81e36c",
      "tree": "53733bf87688c4af08f19cea63a2d92a7e1e0143",
      "parents": [
        "760c943b1f7ed0838d5909f49d70584f776add20",
        "7da142fc1cefeeb24d997ae21b34381fdd2c0466"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Nov 30 15:53:12 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 15:53:12 2012 -0800"
      },
      "message": "Merge \"Quick compiler: tighten null/0/0.0 workaround\" into dalvik-dev"
    },
    {
      "commit": "7da142fc1cefeeb24d997ae21b34381fdd2c0466",
      "tree": "ac0d772535c1c34c7788e56fa0ae2dbc08d27668",
      "parents": [
        "7b9ad926a160034c102dc8c7fad8f5112d57b360"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 29 16:33:42 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Nov 30 15:51:11 2012 -0800"
      },
      "message": "Quick compiler: tighten null/0/0.0 workaround\n\nChange 255389 worked around an issue with the compiler and\ngarbage collector being out of sync regarding the type of a Dalvik\nregister loaded with a constant 0 value.\n\nThe workaround was to detect the case of a constant 0 loaded\ninto a promoted floating point register, and then also store a\nzero in the core/reference identity of that Dalvik vreg.\n\nThis CL tightens the workaround by ensuring that the additional\nstore is only performed in cases in which the promoted-to-float\nDalvik vreg is also used as a reference at some point in the\nmethod.\n\nAdditionally, it improves the code sequence somewhat by reusing\nthe register loaded with zero for the subsequent store.  Further,\nan unrelated enhancement is made to the floating point immediate\nloading code.  For Arm, a few floating point constant values are\nsupported via vmov immediate.  However, 0.0 is not a bit pattern\nthat can be directly generated.  Previously, we would load 0.0 from\nthe method\u0027s literal pool.  In this CL we instead materialize +2\nin a core register, and then emit an vsub reg,reg,reg to convert\nit to +0.0. This saves a few bytes of code space, and avoids a\nmemory reference.\n\nIn the future, we\u0027ll want to have more info about the target\nCPU\u0027s capabilities.  A vector exclusive or would likely be\nbetter here.\n\nChange-Id: Icacd85c86112c5355d35b536e2f7a41c0357682c\n"
    },
    {
      "commit": "760c943b1f7ed0838d5909f49d70584f776add20",
      "tree": "6055abbe3a6e45d52cf3370857d65942d640c190",
      "parents": [
        "076539644368f61e679a9e6afca0b025440ee5b7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 29 16:46:27 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 29 16:50:40 2012 -0800"
      },
      "message": "After ART_USE_FUTEXES was enabled, we need some different gAborting protection\n\nChange-Id: Ic5baa5678317e08d3082d36ebb0a484667f94e13\n"
    },
    {
      "commit": "076539644368f61e679a9e6afca0b025440ee5b7",
      "tree": "5ad9ff7169c909990c5ee73013cc28d24e5d1774",
      "parents": [
        "7b9ad926a160034c102dc8c7fad8f5112d57b360",
        "0dfbb7ead0b6da92911b4bc78114ff0f0f9b4129"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Nov 29 12:01:14 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 12:01:15 2012 -0800"
      },
      "message": "Merge \"Fix some JDWP bugs related to locking and getting statics.\" into dalvik-dev"
    },
    {
      "commit": "0dfbb7ead0b6da92911b4bc78114ff0f0f9b4129",
      "tree": "24d27d299f19ec64478658c30d4f3f2da771abe3",
      "parents": [
        "bc43860b7e5326264ada842c35a840dd4cda8120"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Nov 28 15:26:03 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Nov 29 11:55:05 2012 -0800"
      },
      "message": "Fix some JDWP bugs related to locking and getting statics.\n\nGave all JDWP locks an explicit level to prevent them from using the\ndefault. Also made sure the class of the field would be passed to\nGetObject instead of NULL for statics. There\u0027s still a number of test\nfailures in JDWP.\n\nChange-Id: I6134be2a99d4a0968f9719f620864a3c176b4a58\n"
    },
    {
      "commit": "7b9ad926a160034c102dc8c7fad8f5112d57b360",
      "tree": "820e9923aa381f3ba17090fee710bdf742ef83fc",
      "parents": [
        "d45f201e9bd43490e30a35710865789b8d70e249",
        "5f61f678d0b61cda8cac954fb176edbfdb1a831e"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 28 22:13:22 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 22:13:23 2012 -0800"
      },
      "message": "Merge \"Workaround for Issue 7250540\" into dalvik-dev"
    },
    {
      "commit": "5f61f678d0b61cda8cac954fb176edbfdb1a831e",
      "tree": "a508e465a79ee97e00f9a5ff2ab35cd8efb636a6",
      "parents": [
        "bc43860b7e5326264ada842c35a840dd4cda8120"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 28 17:22:17 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 28 17:38:24 2012 -0800"
      },
      "message": "Workaround for Issue 7250540\n\nThere\u0027s a problem (originating with Dalvik\u0027s failure to properly type constants) with\nDalvik vregs that are used in both reference and floating point situations.  In\nparticular, if a constant zero is used in a floating point context, the verifier in\nsome cases will treat it as a null pointer for the purposes generating the GC map.\n\nIf that vreg ends up promoted to a floating point value, the run-time value of that\nvreg will not be found during garbage collection.  As a quick workaround, this\nCL causes the compiler to detect this special case of an immediate zero being loaded\ninto a promoted floating point register and also store a zero in the core/ref identity\nof that vreg.\n\nNote, the CL also excludes references from store elimination.\n\nChange-Id: I72f0a96744823ff9c5a2bd961a5e39ac4bbc707b\n"
    },
    {
      "commit": "d45f201e9bd43490e30a35710865789b8d70e249",
      "tree": "cbd318570af04229cf44fa5ab62d8b240f300b39",
      "parents": [
        "bc43860b7e5326264ada842c35a840dd4cda8120"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 28 11:46:23 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 28 11:55:23 2012 -0800"
      },
      "message": "Simplify ConditionVariable and avoid potential race.\n\nMake waiters maintain mutex contenders rather than signal/broadcast\n(eliminates awoken count). Avoids race where a spurious Signal wake\ncould remove a Broadcast contender from the mutex.\n\nChange-Id: I5c3e36878c9fa2db09f5dc31d24a0a6222a61731\n"
    },
    {
      "commit": "bc43860b7e5326264ada842c35a840dd4cda8120",
      "tree": "e580a8ebf50ed6e296f79441ce1b539f17806042",
      "parents": [
        "2bfc67361026722e2f83abf06bd3fb364161a2ed",
        "a3a82b219531effb53aef13f48e50db9bf0f9fb5"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 28 05:21:37 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 05:21:39 2012 -0800"
      },
      "message": "Merge \"Quick compiler: minor cleanup\" into dalvik-dev"
    },
    {
      "commit": "ddde37cfd44ccd49816776236a279e742bc9819d",
      "tree": "9828bc9d0340b97fd911cf2f2608c1493f19d3c6",
      "parents": [
        "df1ce91ba97bc79a0637e5504b39318fb1c9f577",
        "80de7a684be3c320e9e1d3bf8c9d145fe7c2f7c3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 27 17:46:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 17:46:54 2012 -0800"
      },
      "message": "Merge \"Fix clear growth limit not working.\" into dalvik-dev"
    },
    {
      "commit": "80de7a684be3c320e9e1d3bf8c9d145fe7c2f7c3",
      "tree": "22d0ab827b1ac05af03feb5b14b13ac033e4e40d",
      "parents": [
        "af1b89281fd1f86efeb791b61f5a3f2031c70312"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 27 17:21:50 2012 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 27 17:24:10 2012 -0800"
      },
      "message": "Fix clear growth limit not working.\n\nFixed clear growth limit not working. I suspect this was causing\nthe amazon app out of memory error. Fixed the out of memory message\nmisattributing the reason for out of memory to being fragmentation.\nAdded more info to the out of memory exception message.\n\nChange-Id: I28ad42968af27468ca43368620232cf22b5f4f13\n"
    },
    {
      "commit": "df1ce91ba97bc79a0637e5504b39318fb1c9f577",
      "tree": "06fee7c60611e94264b3b6b2b318fec899c6e450",
      "parents": [
        "af1b89281fd1f86efeb791b61f5a3f2031c70312"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 27 17:07:11 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 27 17:19:09 2012 -0800"
      },
      "message": "Add alignment attribute to packed.\n\nMake packed objects 4 byte aligned or else GCC becomes paranoid and\nassumes only byte alignment on whole objects.\nChange CHECK in GetCalleeSaveMethod to DCHECK to encourage inlining.\n\nChange-Id: I79f1a13752492413c919b36f4e207e637647834f\n"
    },
    {
      "commit": "a3a82b219531effb53aef13f48e50db9bf0f9fb5",
      "tree": "841056cc525f4b8547f914ab39bc17e2cea47c39",
      "parents": [
        "9c85bc0b6577ee00e4e2d3ee9a7d0fd72d7a4966"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 27 16:09:55 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 27 16:12:37 2012 -0800"
      },
      "message": "Quick compiler: minor cleanup\n\nRemove dead software floating point support.\nMove a common function from target specific to target independent.\n\nChange-Id: Iaf793857f7e0faae02c672b9f1d45a0658143a51\n"
    },
    {
      "commit": "af1b89281fd1f86efeb791b61f5a3f2031c70312",
      "tree": "a4f00e84271f267404a082c954f7416d5bcd3e0e",
      "parents": [
        "9c85bc0b6577ee00e4e2d3ee9a7d0fd72d7a4966"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 27 15:19:57 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 27 15:37:00 2012 -0800"
      },
      "message": "Prevent hang due to HandleUnexpectedSignal reentry\n\nChange-Id: I0fe6a9b642e8d866aba893906c36bca6f1a4334e\n"
    },
    {
      "commit": "9c85bc0b6577ee00e4e2d3ee9a7d0fd72d7a4966",
      "tree": "8dd3499f8aa4e530f2e6c68a66de5c92e3c8d25d",
      "parents": [
        "6a07d3c16402280560835ebd99ec2df8936506c5",
        "e256fe100c2d196762f1f87e030f1d2291e0b744"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 27 13:21:33 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 13:21:33 2012 -0800"
      },
      "message": "Merge \"Avoid direct access to length_.\" into dalvik-dev"
    },
    {
      "commit": "6a07d3c16402280560835ebd99ec2df8936506c5",
      "tree": "acc4bd1e06db8c764835ccedff48248d69fb6905",
      "parents": [
        "725de295024c9e5adf5e316f498c39d48158e19d",
        "5bd97c483c1de1eb97afe76123b1b9ab53095edf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 27 13:20:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 13:20:47 2012 -0800"
      },
      "message": "Merge \"Fix and enable ART futexes.\" into dalvik-dev"
    },
    {
      "commit": "e256fe100c2d196762f1f87e030f1d2291e0b744",
      "tree": "0e1b8cfc84e290fca5deabd755018c01cd4e0af8",
      "parents": [
        "25c15cebebc6e816f27ffc520dd399944fa3f9fe"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 27 13:16:25 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 27 13:16:25 2012 -0800"
      },
      "message": "Avoid direct access to length_.\n\nShould use accessors for fields of any Java heap object. Interestingly\nin this case, as the objects are packed GCC for ARM implements the word\nload as 4 byte loads, so this code is more optimal.\n\nChange-Id: Iafd3d8ee9f41fb19b3a68b3e90ad51a8acd3d61b\n"
    },
    {
      "commit": "725de295024c9e5adf5e316f498c39d48158e19d",
      "tree": "68470f11403def33eef2af5b000ac8b6f5707649",
      "parents": [
        "ce945c48173a7cc39fe41f04889def830f8b28f4",
        "9e419ca03c674b913135b87bcf2291a12708260b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 27 13:06:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 13:06:29 2012 -0800"
      },
      "message": "Merge \"Disable another CHECK when gAborting\" into dalvik-dev"
    },
    {
      "commit": "9e419ca03c674b913135b87bcf2291a12708260b",
      "tree": "a6f941c14eb4d2f1eaf3a020ec3f3b5432e6ee21",
      "parents": [
        "a2424c27352351766512f39d3095f496dbb27ae7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 27 11:31:49 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 27 11:31:49 2012 -0800"
      },
      "message": "Disable another CHECK when gAborting\n\nChange-Id: I9a53d200c93ddb2dd95820e03040761fb2d5a752\n"
    },
    {
      "commit": "5bd97c483c1de1eb97afe76123b1b9ab53095edf",
      "tree": "b89265e6f2b716ada55582cec76ccc506bb153c7",
      "parents": [
        "25c15cebebc6e816f27ffc520dd399944fa3f9fe"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 27 02:38:26 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 27 02:38:26 2012 -0800"
      },
      "message": "Fix and enable ART futexes.\n\nChange-Id: I5c49e370de0dcf438352f0c657e77d8ba53f4d27\n"
    },
    {
      "commit": "ce945c48173a7cc39fe41f04889def830f8b28f4",
      "tree": "042bd106d6b0112d47836972b263dbe7fe38b0eb",
      "parents": [
        "a2424c27352351766512f39d3095f496dbb27ae7"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 26 17:19:20 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 26 17:19:20 2012 -0800"
      },
      "message": "Fix LLVM build.\n\nChange-Id: I66611790ece2ab63b3b34d8442a686210ded488b\n"
    },
    {
      "commit": "a2424c27352351766512f39d3095f496dbb27ae7",
      "tree": "127a0ac451686030fec7ed6f3aff32dd881fce4c",
      "parents": [
        "25c15cebebc6e816f27ffc520dd399944fa3f9fe",
        "94d6df471a406a03bb1afba8ca3ae9c0fbf366b5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 26 16:53:12 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 26 16:53:13 2012 -0800"
      },
      "message": "Merge \"Fixes to make all run-tests except 051-thread work.\" into dalvik-dev"
    },
    {
      "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": "25c15cebebc6e816f27ffc520dd399944fa3f9fe",
      "tree": "a7c85762ccd644061164bbba9450b428eaa24132",
      "parents": [
        "5bc252873e6e50f8257e33ca158d0e350413fcbf",
        "8c4bbb55d0d801e492d849ee636771c8b2840429"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Nov 26 14:07:01 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 26 14:07:02 2012 -0800"
      },
      "message": "Merge \"Eliminate build of target-specific compiler .so\" into dalvik-dev"
    },
    {
      "commit": "8c4bbb55d0d801e492d849ee636771c8b2840429",
      "tree": "03975d337cafc86da0c02f9ab45e14b7b3dba677",
      "parents": [
        "372a910ee64fb1b7118a00e4d01db12f284c42d0"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Nov 26 14:00:58 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Nov 26 14:00:58 2012 -0800"
      },
      "message": "Eliminate build of target-specific compiler .so\n\nNow that the Quick compiler backend supports all targets, stop\nbuilding target-specific versions.\n\nChange-Id: I5e519930dd3ed731c8e73005f654213af3ab5a3e\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"
    }
  ],
  "next": "cbd6d44c0a94f3d26671b5325aa21bbf1335ffe8"
}
