)]}'
{
  "log": [
    {
      "commit": "1240dade91d6c4bbf4e367ca608fcdc15348da45",
      "tree": "d44767871d0febadc9773df9839c16977cde91be",
      "parents": [
        "2d7404799fa4ca5d2dc925b3d411c642ff3cb4aa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 09 16:24:50 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 09 16:52:46 2011 -0700"
      },
      "message": "Test conversion of floats and doubles to strings.\n\nThere was some confusion about what Method::HasCode meant, and we weren\u0027t\nquite ready to compile all methods _and_ be able to invoke them. We were\nalso missing a couple of native methods in Throwable that we need if we\u0027ve\ncompiled all Throwable\u0027s code (because the next time we ask ClassLinker to\ndo anything, it\u0027ll try to throw NoClassDefFoundException from one of the\nClassLoaders, and that will try to run a Throwable constructor, which will\nend up trying to call these native methods).\n\nChange-Id: If4783f3c866aaa72413d7b7810ef2541d418ae33\n"
    },
    {
      "commit": "2d7404799fa4ca5d2dc925b3d411c642ff3cb4aa",
      "tree": "1aa32161b3f43e5f2db7322b137a3cb9b390371a",
      "parents": [
        "18ff70843a829ec3f5c873b2244f667e6db2545f",
        "2ed67398cdd94cbb11d7409f3e7264f07b69de01"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 09 15:11:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 09 15:11:00 2011 -0700"
      },
      "message": "Merge \"Move Method shorty to managed heap\" into dalvik-dev"
    },
    {
      "commit": "2ed67398cdd94cbb11d7409f3e7264f07b69de01",
      "tree": "413d571a7ba4add63a2d4a71ace407e1de62dcb5",
      "parents": [
        "dbc0525b23653a425fcd7532d04eecc32d138b9d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 09 14:53:28 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 09 14:53:28 2011 -0700"
      },
      "message": "Move Method shorty to managed heap\n\nChange-Id: Iafd05502b498c823063d0603915a92db8c95f060\n"
    },
    {
      "commit": "18ff70843a829ec3f5c873b2244f667e6db2545f",
      "tree": "abe12c5868823dfa6455590baf351ad78d5c87a5",
      "parents": [
        "cefd1878e09fb0fb519a175545a99eb8c4a375b2",
        "0e073f7b9386a461b470d30415a96480ab1b76af"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 09 14:21:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 09 14:21:17 2011 -0700"
      },
      "message": "Merge \"Make CommonTest.compiler_ a UniquePtr\" into dalvik-dev"
    },
    {
      "commit": "cefd1878e09fb0fb519a175545a99eb8c4a375b2",
      "tree": "6a1624e0cc03a93efdaf575a24bbc0214fa0e243",
      "parents": [
        "449b4bdf90b527ef7a42faaf087494538e62363c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 09 09:59:52 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 09 12:30:27 2011 -0700"
      },
      "message": "Add stack overflow check\n\nChange-Id: I67fcb5ad4bda304879ce05561b03aa7cd46e9990\n"
    },
    {
      "commit": "449b4bdf90b527ef7a42faaf087494538e62363c",
      "tree": "1fb2ea7c95ce4cf06cf3c1c18d972a3b8a4821b4",
      "parents": [
        "dbc0525b23653a425fcd7532d04eecc32d138b9d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 09 12:01:38 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 09 12:01:38 2011 -0700"
      },
      "message": "Take into account that our stacks grow down.\n\nAnd lose the term \"high water mark\", since it confused everyone who\nlooked at the previous change. The netural \"stack end\" seems like our\nleast worst choice.\n\nChange-Id: Ic9587c1ed72b671249904ac8688b7ddd38a99648\n"
    },
    {
      "commit": "0e073f7b9386a461b470d30415a96480ab1b76af",
      "tree": "894997452038b78246301da71ae88b6a9ac663f5",
      "parents": [
        "630ddde46e52f5fbeba61227000152b0a99131a4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 09 10:45:46 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 09 10:45:46 2011 -0700"
      },
      "message": "Make CommonTest.compiler_ a UniquePtr\n\nChange-Id: I80e8b0108ea9da7cdd352f42715abe48edf8bf15\n"
    },
    {
      "commit": "dbc0525b23653a425fcd7532d04eecc32d138b9d",
      "tree": "ea38ad6aecf8986c67e7d47cfa22d7dea3f079ec",
      "parents": [
        "630ddde46e52f5fbeba61227000152b0a99131a4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 09 01:59:59 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 09 10:45:02 2011 -0700"
      },
      "message": "Make LinkFields ordering more stable for easier maintenance\n\nThis is prepatory for moving remaining malloc heap storage to the managed heap.\n\nAdded offset tests for static fields of class instances known to C++ for boot strapping.\nFound bug in MethodClass.\n\nChange-Id: I267bbbf9192d648668e8958e9eddc3eac54bb52e\n"
    },
    {
      "commit": "630ddde46e52f5fbeba61227000152b0a99131a4",
      "tree": "f61e65f18d277b26689809aace5d0f8ac579df4a",
      "parents": [
        "2c8f653c98d658419f464b6147c10e11a664d2e6",
        "be759c63c6bb58b76ac71cad2c5a736bd31f374d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 22:47:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 22:47:17 2011 -0700"
      },
      "message": "Merge \"Add a heap HWM to the Thread*, for compiled code.\" into dalvik-dev"
    },
    {
      "commit": "2c8f653c98d658419f464b6147c10e11a664d2e6",
      "tree": "479eb3bb75cefbae633c5663193675d4ea6bb328",
      "parents": [
        "92b3b5623ec8b65f3e099c076e247bb8273692f8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 02 17:16:34 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 08 22:22:27 2011 -0700"
      },
      "message": "Support for cross compilation.\n\nRefactor architecture specific files into arm and x86 name spaces. Make\nassemblers and calling conventions use the factory pattern and an\ninstruction set specifier.\n\nChange-Id: I20cd7aecacc1ae3d418221d98bbe1d69be9162a7\n"
    },
    {
      "commit": "be759c63c6bb58b76ac71cad2c5a736bd31f374d",
      "tree": "60c5ab8fdb9d47bb0db5bda996aaac21caa4b1f3",
      "parents": [
        "92b3b5623ec8b65f3e099c076e247bb8273692f8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 19:38:21 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 19:50:39 2011 -0700"
      },
      "message": "Add a heap HWM to the Thread*, for compiled code.\n\nAlso fix a bug in thread detach, and implement the thread exit callback.\n\nDestroy our pthread_mutex_t instances, and check for success. (This will\ncatch us deleting locked Mutex instances.)\n\nChange-Id: I26cf8117b825234f6c790e0cf70b2c025a743f84\n"
    },
    {
      "commit": "92b3b5623ec8b65f3e099c076e247bb8273692f8",
      "tree": "94f85f0a8d33884b41227a1a560a755deccfffa2",
      "parents": [
        "15041f433341f111665943ecfb9ca88c77d5c19a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 16:32:26 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 18:11:55 2011 -0700"
      },
      "message": "Add locking to the heap.\n\nNow tsan is happy with us too, at least on the host.\n\nChange-Id: Ib4657f56be2014de832dff8886b63843a40ea788\n"
    },
    {
      "commit": "15041f433341f111665943ecfb9ca88c77d5c19a",
      "tree": "0587bef3a3a10acfc99e8586b0368be5dd10ef74",
      "parents": [
        "75bbd552bfe56e782473f669b7228e86189e243c",
        "d1f0fdedff1dac7249e1ed61ddc52a09265c138f"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 08 17:57:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 17:57:10 2011 -0700"
      },
      "message": "Merge \"Verifier now generates register maps, though nothing uses them yet.\" into dalvik-dev"
    },
    {
      "commit": "75bbd552bfe56e782473f669b7228e86189e243c",
      "tree": "dd05387120749a2165442c538b3f2c0e28209a83",
      "parents": [
        "8ba4fa861d75aaa765d00336b877c41291bb36f2",
        "0d966cff87464544a264efdbfba6c379474d5928"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 08 17:57:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 17:57:05 2011 -0700"
      },
      "message": "Merge \"Add suspend check \u0026 stub\" into dalvik-dev"
    },
    {
      "commit": "0d966cff87464544a264efdbfba6c379474d5928",
      "tree": "74ce88ebfdb902c90700b20b6b4e82290b77e70b",
      "parents": [
        "34cd9e58431504c36d0cb2a8fd0f3fac16dcb406"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 08 17:34:58 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 08 17:54:29 2011 -0700"
      },
      "message": "Add suspend check \u0026 stub\n\nChange-Id: I017653026ca95166cbc4b6b94b5da1fef2597804\n"
    },
    {
      "commit": "d1f0fdedff1dac7249e1ed61ddc52a09265c138f",
      "tree": "c75051ccfa60b9d11a7ddfc104736b713c10e630",
      "parents": [
        "693267ad474039981e9be20a592ac2e4e3bd742e"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 08 17:25:33 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 08 17:54:06 2011 -0700"
      },
      "message": "Verifier now generates register maps, though nothing uses them yet.\n\nThe code to generate the maps is enabled for testing, but currently\nnothing is done with them. Will work out what to do with them later.\n\nChange-Id: Ifa5b7a9dd1233813d4f4040cacfb83e9b4a5330b\n"
    },
    {
      "commit": "8ba4fa861d75aaa765d00336b877c41291bb36f2",
      "tree": "a1e2211069e09fd2a60a066daa15d5e74bc951db",
      "parents": [
        "34cd9e58431504c36d0cb2a8fd0f3fac16dcb406",
        "7540ff4b6ad0ff5d8c5f60658b66155caf3a7cbc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 08 17:32:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 17:32:34 2011 -0700"
      },
      "message": "Merge \"Small change to make CompilerTest.CompileDexLibCore pass\" into dalvik-dev"
    },
    {
      "commit": "7540ff4b6ad0ff5d8c5f60658b66155caf3a7cbc",
      "tree": "a3a1c5df402f076a8485b3b31150d00f48abd0cd",
      "parents": [
        "693267ad474039981e9be20a592ac2e4e3bd742e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 04 16:38:46 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 08 17:10:58 2011 -0700"
      },
      "message": "Small change to make CompilerTest.CompileDexLibCore pass\n\nChange-Id: Id5989a369acec41faae4bbd949b8979962384b2c\n"
    },
    {
      "commit": "34cd9e58431504c36d0cb2a8fd0f3fac16dcb406",
      "tree": "a0f2966c88787aa9b44c385b5ced02c59a512307",
      "parents": [
        "693267ad474039981e9be20a592ac2e4e3bd742e"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 08 14:31:52 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 08 16:45:16 2011 -0700"
      },
      "message": "Add run-time resolution paths for iget/iput.\n\nChange-Id: I1bd26286a39d057aebbb0d847bc58ecd656af458\n"
    },
    {
      "commit": "693267ad474039981e9be20a592ac2e4e3bd742e",
      "tree": "87a5bcfc0fd528e14f34f3e4212718100b58748e",
      "parents": [
        "5fe594f576225dd7d333835e39c448a71ea9b433"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 06 09:25:34 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 08 15:05:14 2011 -0700"
      },
      "message": "Fix GarbageCollector to work with VERIFY_OBJECT_ENABLED\n\nThere were two problems with the GC:\n1.) roots were being missed for most of the C++ fields\n2.) Heap::RecordFree(Object) was not being called, only Space::Free\n\nTo solve #1, added all C++ shadow fields to libcore.\nThis involed updating dalvik to cope with the new sizes and offsets.\nThis had the positive side effect of allowing a lot of special cases\nin the object scanning and image writing.\n\nTo solve #2, added a call to the now public Heap::RecordFree from MarkSweep\n\nGiven the now better working GC:\n- Reenabled HeapTest.GarbageCollectClassLinkerInit which is now passing.\n- ImageWriter now GC\u0027s before writing an image to avoid garbage.\n\nChange-Id: Ie7d1cc89e0bcf314cb37f0cabcb8593bf6e4d4be\n"
    },
    {
      "commit": "5fe594f576225dd7d333835e39c448a71ea9b433",
      "tree": "f9b6203abaf07df1421f6e7cadcbb2c307cef5b2",
      "parents": [
        "4ef765227a0098b6f4dfe47d2d7a6f084cec9560"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 12:33:17 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 14:26:18 2011 -0700"
      },
      "message": "A bit further along the track of multiple threads.\n\nThis also makes valgrind happy, and tsan mostly happy. (The heap, it turns out,\ndoesn\u0027t have a lock yet.)\n\nThe DexVerifier changes are just to make valgrind happy, and the code a little\nless unidiomatic.\n\nChange-Id: Ic5d436b4863b9d7088eb0b8fe9d32308919899d8\n"
    },
    {
      "commit": "4ef765227a0098b6f4dfe47d2d7a6f084cec9560",
      "tree": "ccb19f4a5e238ec6ecd4fc62f515107c138ba8a2",
      "parents": [
        "2a475e7b93d754e0a7525bb5c7059386307ea63a"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 08 10:00:32 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 08 13:54:16 2011 -0700"
      },
      "message": "Transmit mapping table to runtime\n\nPass the \u003cnative offset,dalvik offset\u003e mapping table to the\nruntime.  Also update the MonitorEnter/Exit stubs to optionally\ntake the thread pointer.\n\nChange-Id: Ie1345fbafc6c0477deed44297bba1c566e6301f6\n"
    },
    {
      "commit": "2a475e7b93d754e0a7525bb5c7059386307ea63a",
      "tree": "000c5f4483de6c4e90ba5bcdee5f616c1e499b50",
      "parents": [
        "a475f392df7a66211056a8dc57a2aff92b0b8ceb"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 07 17:19:17 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 08 07:57:25 2011 -0700"
      },
      "message": "Check-cast, instance-of, misc fixes\n\nSupport for check-cast and instanceof (largely untested).  Added a bunch of\nhelper stubs, a debugging option to show the method name if we try to branch\nto an uncompiled method, new tests and a missing call to reset the compiler\u0027s\narena storage.\n\nChange-Id: I933ad1fbdbca110f92c9201cae2353bf4862a8ac\n"
    },
    {
      "commit": "a475f392df7a66211056a8dc57a2aff92b0b8ceb",
      "tree": "9615f26607cb75e7e171e55d9cc28ec38debb1ab",
      "parents": [
        "5dbddeee1cb4e0962c7267db0588b563bf45526f",
        "02b48d1dae0c3adc01ef6668226fb648fb52990a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 17:34:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 17:34:35 2011 -0700"
      },
      "message": "Merge \"Sketch out detaching threads (with partial implementation).\" into dalvik-dev"
    },
    {
      "commit": "02b48d1dae0c3adc01ef6668226fb648fb52990a",
      "tree": "c06c4986e1d1c65fbc39225fe330e301f803af24",
      "parents": [
        "6108953a145c1affcadc1e0a91b17e647ee52a02"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 17:15:51 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 17:15:51 2011 -0700"
      },
      "message": "Sketch out detaching threads (with partial implementation).\n\nChange-Id: Iafe5f91c8170d4f90155f509ba9e2e3d921af66f\n"
    },
    {
      "commit": "5dbddeee1cb4e0962c7267db0588b563bf45526f",
      "tree": "72ea085f32727295b987199ccea907a9ca731680",
      "parents": [
        "6108953a145c1affcadc1e0a91b17e647ee52a02"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Sep 07 16:38:26 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Sep 07 16:58:24 2011 -0700"
      },
      "message": "Added tests for interfaces that extend other interfaces.\n\nExercises IsAssignableFrom and FindInterfaceMethod. Also made\nClass::Implements private again and switched to using IsAssignableFrom.\n\nChange-Id: Iea195a2cc124a87ebb3d87d778a7edcd25984b46\n"
    },
    {
      "commit": "6108953a145c1affcadc1e0a91b17e647ee52a02",
      "tree": "c815fcda11d2f47dc64f1fbb7ed1e73ec567be0d",
      "parents": [
        "bdb76512685ed6ce33b640b13da9628e4770db1a",
        "d3a729707671111ddd6a1aebbf8f986ce477642e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 15:33:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 15:33:26 2011 -0700"
      },
      "message": "Merge \"Don\u0027t try to run Thumb 2 code on x86 hosts.\" into dalvik-dev"
    },
    {
      "commit": "d3a729707671111ddd6a1aebbf8f986ce477642e",
      "tree": "dd627105404acc64cc9d7f263e7a3cfd601f60ff",
      "parents": [
        "7015ed5319762f2ddbaa0e2a2dec69c4e46440cd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 15:31:59 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 15:31:59 2011 -0700"
      },
      "message": "Don\u0027t try to run Thumb 2 code on x86 hosts.\n\nChange-Id: I57c772540706326c77d414a007b55116c1c48ff2\n"
    },
    {
      "commit": "bdb76512685ed6ce33b640b13da9628e4770db1a",
      "tree": "a6e5c2e893bc944fc32d963e9a029c0c7dbd0f6e",
      "parents": [
        "7015ed5319762f2ddbaa0e2a2dec69c4e46440cd"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Sep 07 11:43:16 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Sep 07 15:27:18 2011 -0700"
      },
      "message": "Added second pass which does code flow checking to verifier.\n\nRan this through libcore and it finds no errors, but I still need to\ncreate tests to make sure it catches errors when it should. Also, it\u0027s\nstill missing 2 pieces, replacement of failing opcodes and generation of\nthe register map.\n\nChange-Id: I0f4c4c20751b5b030ca44c23e1d1c2e133404e0c\n"
    },
    {
      "commit": "7015ed5319762f2ddbaa0e2a2dec69c4e46440cd",
      "tree": "bf693ec944441fc9dc0788c74f5e38cd77045934",
      "parents": [
        "4ff5dad41ffdb14a74b9ba6bd7f74698e79eee05",
        "dcc247493fd8fb243e335c3ec08e5e625896a47c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 14:31:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 14:31:45 2011 -0700"
      },
      "message": "Merge \"A little bit more of the threads implementation.\" into dalvik-dev"
    },
    {
      "commit": "dcc247493fd8fb243e335c3ec08e5e625896a47c",
      "tree": "5eedb27fb6a295a1daec4cee276ba05c28abe483",
      "parents": [
        "f5ecf06388960bc1424ed0a8652c78e345d82106"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 14:02:44 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 14:02:44 2011 -0700"
      },
      "message": "A little bit more of the threads implementation.\n\nThe most important change here is understanding that Thread\u0027s id_ field\nwas unrelated to java.lang.Thread\u0027s id field.\n\nChange-Id: I832b92145332e1ded63a7824033dae684eeacf28\n"
    },
    {
      "commit": "4ff5dad41ffdb14a74b9ba6bd7f74698e79eee05",
      "tree": "7fc026990664220ab9e84150a6d625cb89cfaec5",
      "parents": [
        "c83b29da4c2052e2299bf0480065ea2d4c6cdac1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 07 13:56:27 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 07 13:56:58 2011 -0700"
      },
      "message": "Weaken JNI asserts on return spill location when return is void\n\nChange-Id: I9aa9457824f1ecd1299966bb361512d233981c4e\n"
    },
    {
      "commit": "c83b29da4c2052e2299bf0480065ea2d4c6cdac1",
      "tree": "53810d043b2e55ce024958e61cd1fa3afb163d37",
      "parents": [
        "98e0e5eb4792dd71ef696b8601c93b527193b0d3",
        "0c7f26d54ddb70dbc60aaaa6a6e9f011e402018f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 07 13:33:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 13:33:53 2011 -0700"
      },
      "message": "Merge \"Fixes for register promotion; enable fast path\" into dalvik-dev"
    },
    {
      "commit": "98e0e5eb4792dd71ef696b8601c93b527193b0d3",
      "tree": "c6748b31acadf1b627935fcaf0bf7578c6e85aba",
      "parents": [
        "f5ecf06388960bc1424ed0a8652c78e345d82106",
        "7a99c11d220ec68c208b507570e3a78c2c18a7a1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 07 13:24:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 07 13:24:34 2011 -0700"
      },
      "message": "Merge \"Fix various JNI compiler bugs/unimplementeds.\" into dalvik-dev"
    },
    {
      "commit": "7a99c11d220ec68c208b507570e3a78c2c18a7a1",
      "tree": "39b4bd767b7f1cef1ba45000f5da7e1d834780aa",
      "parents": [
        "69b15fb098162f19a4c20e6dccdcead04d9c77f0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 07 12:48:27 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 07 13:08:48 2011 -0700"
      },
      "message": "Fix various JNI compiler bugs/unimplementeds.\n\nFor both x86 and arm we were under computing the outgoing argument size.\nFor ARM the managed double/long passing had been assumed to be following AAPCS,\nhowever, currently we split long/doubles across R1_R2 and R3 and the stack.\nAdd support for this in the managed register and jni compiler code.\nAdd test and various other clean ups to jni compiler code.\n\nChange-Id: I4129076d052a8bce42304f5331b71aa3ac50210f\n"
    },
    {
      "commit": "0c7f26d54ddb70dbc60aaaa6a6e9f011e402018f",
      "tree": "ebe5eb3c9f97386ff93b5b79f434d0de687f0c65",
      "parents": [
        "109bd6a38d0cd7c4b7797a9f2db8324c797d1368"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 07 12:28:51 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 07 12:28:51 2011 -0700"
      },
      "message": "Fixes for register promotion; enable fast path\n\nHad an off-by-one error in the range argument loading (only mattered when\nregister promotion is enabled - for range args we do a memory copy and\nmust ensure that all promoted values are flushed to memory before the\ncopy.  Also reworked and removed some asserts for sitations that are\nlegal now that we\u0027re promoting.  Enabled fast path code to exercise it\na bit.\n\nChange-Id: Id1acb3dad01d5d1077661150e98e51fd4243b6f1\n"
    },
    {
      "commit": "f5ecf06388960bc1424ed0a8652c78e345d82106",
      "tree": "6f6caaf3b5e77ff01ab9201fd2616c4721da43d4",
      "parents": [
        "69b15fb098162f19a4c20e6dccdcead04d9c77f0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 06 17:37:59 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 10:05:02 2011 -0700"
      },
      "message": "Invoke \u003cclinit\u003e where necessary.\n\nThis lets us run Long.toString and friends for integral types, though\nwe\u0027ll need a libcore hack to avoid ThreadLocals for the time being.\n\nChange-Id: I04bba5914f1b7d00e4917922e65b9c27302a59ff\n"
    },
    {
      "commit": "69b15fb098162f19a4c20e6dccdcead04d9c77f0",
      "tree": "84fdfc26f560fb618b652a0aff98347f875a2653",
      "parents": [
        "109bd6a38d0cd7c4b7797a9f2db8324c797d1368"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Sep 03 12:25:21 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 06 15:28:47 2011 -0700"
      },
      "message": "Working dex2oat and oatexec\n\nadb shell dex2oatd --dex-file\u003d/system/framework/core.jar     --image\u003d/system/framework/boot.oat --base\u003d0x50000000 \"\u0027--method\u003dLjava/lang/System;logI(Ljava/lang/String;)V\u0027\" \"\u0027--method\u003dLjava/lang/System;log(CLjava/lang/String;Ljava/lang/Throwable;)V\u0027\"\nadb shell dex2oatd --boot-dex-file\u003d/system/framework/core.jar --boot\u003d/system/framework/boot.oat --dex-file\u003d/system/framework/art-test-dex-HelloWorld.jar --image\u003d/system/framework/art-test-dex-HelloWorld.oat\nadb shell oatexecd -Xbootclasspath:/system/framework/core.jar -Xbootimage:/system/framework/boot.oat -classpath /system/framework/art-test-dex-HelloWorld.jar -Ximage:/system/framework/art-test-dex-HelloWorld.oat HelloWorld\n\n09-05 17:58:18.912  2385  2385 I System  : Hello, world!\n\nChange-Id: I53e534068584f0c3a837313e4d517a0e4a7154fc\n"
    },
    {
      "commit": "109bd6a38d0cd7c4b7797a9f2db8324c797d1368",
      "tree": "52bfab2cb3767eb856ddca7de18fcd079b73838d",
      "parents": [
        "13f5a583d7120861170a3b93f60cb3adef2a31bf"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Sep 06 13:58:41 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Sep 06 14:20:50 2011 -0700"
      },
      "message": "Fix for argument passing bug\n\nThe code was using r1 as a temp when it was live.\n\nChange-Id: I79f42203eced2aff49980241c890629ecc3ff09a\n"
    },
    {
      "commit": "13f5a583d7120861170a3b93f60cb3adef2a31bf",
      "tree": "4b7970af2d111d371e09594d3bf84995e80bdae5",
      "parents": [
        "42ee14279065352a4b9a3e8028d02c567e847d05"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 06 13:39:14 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 06 13:39:14 2011 -0700"
      },
      "message": "Add missing file from last commit.\n\nChange-Id: Ia2b35a812b6787f27ec0c2935cd637a177caa92e\n"
    },
    {
      "commit": "42ee14279065352a4b9a3e8028d02c567e847d05",
      "tree": "55b1ba08ff4202f13cfa0a0b303b62e48183805e",
      "parents": [
        "82f3e09e27284056a4007a6c38fce832d877f672"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 06 12:33:32 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 06 12:47:47 2011 -0700"
      },
      "message": "Log line-at-a-time to work around Android logging lossage.\n\nAlso deduplicate the two copies of gettid, and switch image_test over\nto using SignalCatcher\u0027s SIGQUIT dumping rather than rolling its own\nsubset.\n\nChange-Id: I8b70aaa3a3b9258c8258728c6a66e5dc4fa6399e\n"
    },
    {
      "commit": "82f3e09e27284056a4007a6c38fce832d877f672",
      "tree": "cca4e28ae4ba8071cc5529a6b96deed4c0adcea6",
      "parents": [
        "b9231c81fad1c9d85ea7e6db9120f872e3417380"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 05 22:54:45 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 05 22:54:45 2011 -0700"
      },
      "message": "Minor test tweaks.\n\nChange-Id: I8b7163de28e7e356e5da1d30bf887cdb949baac6\n"
    },
    {
      "commit": "b9231c81fad1c9d85ea7e6db9120f872e3417380",
      "tree": "e831abaff485ebc0efa708748542ee2f6941052c",
      "parents": [
        "7d2b14197bb5ebbe3cd8532705caf4f83c8d339f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 05 22:13:19 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 05 22:31:13 2011 -0700"
      },
      "message": "Test arg passing for arraycopy.\n\nChange-Id: Id0a6b6043b9604aa3bb077af0ed858be9bfa5407\n"
    },
    {
      "commit": "7d2b14197bb5ebbe3cd8532705caf4f83c8d339f",
      "tree": "14f2cec208a5ce0c5922cf011a20710f128ddb5e",
      "parents": [
        "6a0f7f50223087006a2845b784b12923abbdd8f1"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Sep 05 19:29:47 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Sep 05 19:29:47 2011 -0700"
      },
      "message": "Fix the upcall\u0027s off-by-1 bug.\n\nChange-Id: I1405b887e34473a2c453889a05a22b17ed27c571\n"
    },
    {
      "commit": "6a0f7f50223087006a2845b784b12923abbdd8f1",
      "tree": "c5e0b75c44aaa4be5b627838c84936aaf97def0c",
      "parents": [
        "e9a72f6a1a84f4d9af0b07dd289b89e45ffb32d5"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Sep 05 16:14:20 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Sep 05 16:14:20 2011 -0700"
      },
      "message": "Fix bug in invoke-super slow path\n\nAlso re-enabled some SystemMethods tests, now that we can compile\nthem.\n\nChange-Id: Ie91aabd0eb015656d4dc546b4698c967b73c6ba8\n"
    },
    {
      "commit": "e9a72f6a1a84f4d9af0b07dd289b89e45ffb32d5",
      "tree": "0a709a3694d0a3fd11878d39b6422e5e997c8c94",
      "parents": [
        "7715c68b5f137ff5ffa4f2e1fee0a96fa6cfffb4"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Sep 04 17:59:07 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Sep 05 13:38:41 2011 -0700"
      },
      "message": "Try/Catch analysis; various workarounds\n\nFixed a couple of codegen bugs.  Added a temporary workaround until\nSSA renaming problem is fixed.  By enabling the \"CompileDexLibCore\"\ntest in compiler_test.cc and disabling the jni_compiler, we appear to\nbe successfully compiling 17,641 methods of libcore (note: of those,\n4 exhibit the SSA problem).\n\nAlso turned off most of the compiler logging, and disabled the fast\npath for invoke virtual (which seems to be broken).\n\nChange-Id: I0ecf460cba209f885209efbee62e9f80bffbf666\n"
    },
    {
      "commit": "7715c68b5f137ff5ffa4f2e1fee0a96fa6cfffb4",
      "tree": "b1925f7af14759500a417b74da6d0bbd83c28437",
      "parents": [
        "a8f3fe90a4329631ea78a6c2956350e56c3d0884"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Sep 05 04:04:36 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Sep 05 04:04:36 2011 -0700"
      },
      "message": "Fix the calling convention bug where we didn\u0027t account for Method*.\n\nChange-Id: Ic54f0a3e15377d7f161fa3d719eb762f969ef729\n"
    },
    {
      "commit": "a8f3fe90a4329631ea78a6c2956350e56c3d0884",
      "tree": "d41c461f11a6e75ee1893a159272ffb70e252e7f",
      "parents": [
        "aa762fe078d10e5024968686f3265440a4d88c38",
        "a59d1793b89d0fd62c7544c94da4b6e5dac95ad5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 04 20:05:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 04 20:05:14 2011 -0700"
      },
      "message": "Merge \"Work around two problems.\" into dalvik-dev"
    },
    {
      "commit": "a59d1793b89d0fd62c7544c94da4b6e5dac95ad5",
      "tree": "d268871ef320a36c59206fc0521166849b5dafd6",
      "parents": [
        "0f4c41d75c821162184501cd4b510a93f6eb580f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 04 18:42:35 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 04 18:42:35 2011 -0700"
      },
      "message": "Work around two problems.\n\nThe code generation for the invoke-virtual fast path is broken, and we\u0027re\nnot ready for a moving collector yet.\n\nChange-Id: I1fee82c821cee53325181386da0d462beacca204\n"
    },
    {
      "commit": "aa762fe078d10e5024968686f3265440a4d88c38",
      "tree": "f8ca63ba57669b314110b14c0b6866bc0dafbcc6",
      "parents": [
        "0f4c41d75c821162184501cd4b510a93f6eb580f",
        "9b269d281d16798b0c24027c32ec6507f71b2787"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Sep 04 15:22:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 04 15:22:35 2011 -0700"
      },
      "message": "Merge \"Fix bug in long arguments for JNI on x86\" into dalvik-dev"
    },
    {
      "commit": "9b269d281d16798b0c24027c32ec6507f71b2787",
      "tree": "52f493786b74f81fc6e660d64dea2631824251b6",
      "parents": [
        "1da522de18ac6e4c2913c3233529e9dd115059f8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Sep 04 14:06:05 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Sep 04 15:08:39 2011 -0700"
      },
      "message": "Fix bug in long arguments for JNI on x86\n\nAlso add new unit test.\nChange-Id: I226501dbfec6e207318d8063b5daf53b7b606ee4\n"
    },
    {
      "commit": "0f4c41d75c821162184501cd4b510a93f6eb580f",
      "tree": "01afed2e082c398cd655e31485215ed82ef591c0",
      "parents": [
        "1da522de18ac6e4c2913c3233529e9dd115059f8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 04 14:58:03 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 04 15:03:48 2011 -0700"
      },
      "message": "Various fixes.\n\nCHECK_xx arguments should be the \"right\" way round, not backwards like\nASSERT_xx and EXPECT_xx.\n\nUse /mnt/sdcard/ rather than /sdcard/ to bypass FUSE and avoid getting\nintermittent mkdir(2) \"Device or resource busy\" failures.\n\nBetter diagnostics when methods not found by test helpers.\n\nRemove the whitelist from oatCompileMethod.\n\nLeave evidence in the log of what we\u0027ve compiled and where we put it.\n\nDisable card marking by generated code until we have a cards to mark.\n\nDistinguish between CanPutArrayElementFromCode and CanPutArrayElement.\nImplement both.\n\nAdd a new test to see how much of the basic System and String/StringBuilder\nfacilities are working.\n\nChange-Id: Ie24f2859e404ab912e6cc77d170ceb4df5ecdf19\n"
    },
    {
      "commit": "1da522de18ac6e4c2913c3233529e9dd115059f8",
      "tree": "d64473583896cb02f6d5bad52cbac940059bdefa",
      "parents": [
        "193a44d9637b51724274b1de384245776e264a46"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Sep 04 11:22:20 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Sep 04 12:46:26 2011 -0700"
      },
      "message": "Complete static field accesses; clear TODO\u0027s\n\nThis adds the fast path for static field accesses.  Miscellaneous\nchanges include adding dummy helper for filled array allocation,\nelimination of redunant arg1/r1 load, deleting TODO\u0027s that I\u0027m not\ngoing to do, and altered compiler_test to use System.out.println\ninstead of System.out.printf.\n\nChange-Id: I560aa6093c98f1d288d64f346c8fd9ab7f180994\n"
    },
    {
      "commit": "193a44d9637b51724274b1de384245776e264a46",
      "tree": "198fd6ce98eb1dd2e67e2ea38248b7d3c5abba8f",
      "parents": [
        "5500cb92a68b87ee1c28977ec0b7734b6b5c1a2f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 04 12:01:42 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 04 12:06:58 2011 -0700"
      },
      "message": "Make InitializeStaticStorageFromCode handle requests for uninitialized storage from \u003cclinit\u003e\n\nChange-Id: I8562ad4fdb33c02c575ddc8986e49ee37c566cfd\n"
    },
    {
      "commit": "5500cb92a68b87ee1c28977ec0b7734b6b5c1a2f",
      "tree": "ca7d8c09169b7a03995e571554d523ad9e6da2ca",
      "parents": [
        "7f40ffcb953870fb0df7646c447ffdc7b3ef0b2c",
        "848a4b339936cec230512705c9d5eeed55ca74ca"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 04 11:35:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 04 11:35:32 2011 -0700"
      },
      "message": "Merge \"Fix ClassLinker::InitializeStaticStorageFromCode\" into dalvik-dev"
    },
    {
      "commit": "848a4b339936cec230512705c9d5eeed55ca74ca",
      "tree": "ad460a6c8cb702eeaf13818a238d2ba53fe66d18",
      "parents": [
        "4a3164faefd255b1c1e911e7ad7c3d57749caaf6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 04 11:29:27 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 04 11:29:30 2011 -0700"
      },
      "message": "Fix ClassLinker::InitializeStaticStorageFromCode\n\nPreviously the code computed the storage and returned the pointer to\nit, but it forgot to set the value into the table for future\ncallers. Added a test to confirm the correct behavior.\n\nChange-Id: I48717a3d4926f5ddc0ad09d065f75d031eb5b8fb\n"
    },
    {
      "commit": "7f40ffcb953870fb0df7646c447ffdc7b3ef0b2c",
      "tree": "eb00446683fb046e7ba5b5f97b0b4be161c0ad2b",
      "parents": [
        "4a3164faefd255b1c1e911e7ad7c3d57749caaf6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 04 10:50:01 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 04 10:50:01 2011 -0700"
      },
      "message": "Fix the LDT code to be -O2 safe and valgrind clean.\n\nChange-Id: Iad987f828a8d8932a9f7212c71eddd3c943f6311\n"
    },
    {
      "commit": "4a3164faefd255b1c1e911e7ad7c3d57749caaf6",
      "tree": "f9594eb97a19358ba3ba5b050c61c5234214ba3d",
      "parents": [
        "9baa4aefc370f48774b6104680193d9a7e4fb631"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Sep 03 11:25:10 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Sep 03 20:31:41 2011 -0700"
      },
      "message": "Codegen for invoke-super, invoke-interface\n\nCompleted fast \u0026 slow paths for invoke-super and the single path for invoke-interface.  Added test\nfor invoke-super, but invoke-interface is untested (needs runtime-support routines to be fleshed\nout).\n\nSome trickiness in the invoke-interface code-generation.  Because they are going to be\nglacially slow anyway, inline code has been minimized and all interesting work pushed\noff to TODO runtime support routines.  However, we can\u0027t simultaneously pass the arguments\nneeded by the final destination and the arguments needed by the runtime lookup helpers.  So,\nI\u0027ve added a trampoline to save the target args, load the args needed by the helpers, call\nthe lookup routines, restore the final target arguments and continue on the journey.\n\nMore detailed comments in the code.\n\nChange-Id: Ice2343798a91a37da982811fd1c6384f584a3c0b\n"
    },
    {
      "commit": "9baa4aefc370f48774b6104680193d9a7e4fb631",
      "tree": "26ed5735022c29f77d6b025c357674ecf50b27c8",
      "parents": [
        "e9ea8d1f002dd86976f0e1493ab8aa23a66c0494"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 01 21:14:14 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Sep 03 13:25:31 2011 -0700"
      },
      "message": "Remove use of MemMap for code allocation.\n\nIn preparation of moving to an executable code space.\n\nChange-Id: I6cb6fec93c66005f8020d718fe3c1c5aa1c85356\n"
    },
    {
      "commit": "e9ea8d1f002dd86976f0e1493ab8aa23a66c0494",
      "tree": "07ba3c3c34f4ed67567065c4642839abda4da287",
      "parents": [
        "558788e60554ff5c110fb90cc46ee1ecef3ec85a"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Sep 03 01:48:06 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Sep 03 01:48:06 2011 -0700"
      },
      "message": "Replaced Method::NumReferenceArgsBefore() with itr_refs already.\n\nRemove this unused method.\n\nChange-Id: I09f2bffa18553ec4d1afddab18ee808ed066f83b\n"
    },
    {
      "commit": "558788e60554ff5c110fb90cc46ee1ecef3ec85a",
      "tree": "b4ce080b9fc04fe2f4baefa3e716f3e47158808b",
      "parents": [
        "668512afd0d9b3772a0abc589208b729ee16bc61"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 01 02:39:11 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Sep 02 19:05:26 2011 -0700"
      },
      "message": "Testing the decoding of JObject.\n\nChange-Id: Ie539275592fbb7b648f9ce5e4a619aecc576768c\n"
    },
    {
      "commit": "668512afd0d9b3772a0abc589208b729ee16bc61",
      "tree": "f9743f1e22227aac31955fe6335a88191eb4a845",
      "parents": [
        "93620f65a41af2a5708249845452a603ca13b807"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 01 14:18:34 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Sep 02 19:00:33 2011 -0700"
      },
      "message": "Decoding references. Otherwise, buggy code works only on stack refs.\n\nNow, we handle not only SIRT (stack stuff), but because now we call\nDecodeJObject(), we can also handle Globals, Global Weak, and Local.\n\nChange-Id: Ibaf2f6ff81765bda6c14491b35ea088a5bf2bb27\n"
    },
    {
      "commit": "561227c80077bbb4147f778043f1a836af6b9248",
      "tree": "ebce6fd50c988843de3e92f15dfae911d9ae1a73",
      "parents": [
        "3e465b1a72d89f7c30f18efb90dc688d33d46c16"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 02 15:28:19 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Sep 02 18:30:37 2011 -0700"
      },
      "message": "Complete direct, static \u0026 virtual invoke\n\nReworked direct/static invoke to use code_and_method_ structure.  Removed\nslow/fast path distinction for direct/static (because there is only\na single path).  Added fast and reworked slow path for virtual invokes.\n\nChange-Id: I037aee26b63244d03ac2bd8720d8c55e256b9b4d\n"
    },
    {
      "commit": "3e465b1a72d89f7c30f18efb90dc688d33d46c16",
      "tree": "2bac1709132fd261d54abdb3601f64065ea210b7",
      "parents": [
        "0db460b881a3fdaa63d581a1dc39e417d682faaa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 02 18:26:12 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 02 18:26:12 2011 -0700"
      },
      "message": "Get the test speed back to where it was.\n\n(This patch actually has an active ingredient, unlike my last screwup.)\n\nChange-Id: Ic9f48a1c7c62ea024c51dc57e245a7d4df068db0\n"
    },
    {
      "commit": "0db460b881a3fdaa63d581a1dc39e417d682faaa",
      "tree": "367d1431634a9a8418a99034fc38af36f491c281",
      "parents": [
        "9b81cf3cbd222363c087807406fd54d27ca57cc6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 02 17:44:35 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 02 17:44:35 2011 -0700"
      },
      "message": "Make our tests only 2x slower than they were this morning...\n\n...by disabling the expensive heap checks that made us 6x slower.\n\nChange-Id: I049db7ab256214b79d67586e1f70bbf7a1936608\n"
    },
    {
      "commit": "d92bec457dc6c506c80e9da6b8e0c958266b5cdc",
      "tree": "50f28fd96411f68d4b91cc5943d159a00fcf88cb",
      "parents": [
        "4cdeec9686e1cd2d0118c96443e8c882dc849b7f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 02 17:04:36 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 02 17:40:19 2011 -0700"
      },
      "message": "More SIGQUIT handling, various Thread fixes.\n\nChange-Id: I3233c300d1c838c2eee0ba9be6018b7fbd907386\n"
    },
    {
      "commit": "b17d08b6ef0d36038e408dd79960293bb62ec1d9",
      "tree": "b223ec9029f1536c51450ab2303766e47dbf65ad",
      "parents": [
        "0cfe1fb7060576d047f7f894fc0d8b87de84fcab"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 02 16:16:49 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 02 16:16:49 2011 -0700"
      },
      "message": "GetFieldID should throw NoSuchFieldFound rather than NoClassDefFound\n\nChange-Id: Id610b537a47898bb2202caf0e6a32138279b887b\n"
    },
    {
      "commit": "0cfe1fb7060576d047f7f894fc0d8b87de84fcab",
      "tree": "4255eae2034dcb0febe28411c50cba76189f39ae",
      "parents": [
        "a09576416788b916095739e43a16917e7948f3a4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 26 03:29:44 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 02 14:48:01 2011 -0700"
      },
      "message": "Use accessor methods for Object fields.\n\nEnsure that Object fields are modified via accessors so that it\u0027s easy\nto insert barriers (make all fields within Objects private). Add validity\nchecks to Field and Method accessors to ensure they are accessed when a\nClass is in a suitable state. Add validity checks to all Object\naccessors to check heap isn\u0027t corrupted. Remove hacked in strings from Field\nand Method; make type fields used the dex cache that is lazily initialized.\nClean up various other TODOs and lint issues.\n\nChange-Id: Iac0afc515c01f5419874d9cdcdb9a7b45443e3fb\n"
    },
    {
      "commit": "a09576416788b916095739e43a16917e7948f3a4",
      "tree": "63c4c7b9726817a51a9dc514dc68fb16287748cd",
      "parents": [
        "410c0c876f326e14c176a39ba21fc4dd3f7db8ab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 02 14:27:33 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 02 14:27:33 2011 -0700"
      },
      "message": "Add back the dalvik-style JNI logging and tracing.\n\nChange-Id: I3f8f50c9f9f2cb36f1668150c5e19f6225d15bbb\n"
    },
    {
      "commit": "410c0c876f326e14c176a39ba21fc4dd3f7db8ab",
      "tree": "e4b77ac5ed99b7206c51f6519689fdbc623e843d",
      "parents": [
        "1b4c85959b3d9a4a33bc2160c46c1bbde67350c7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 01 17:58:25 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 01 22:16:18 2011 -0700"
      },
      "message": "Mark more roots.\n\nThis is most of the stuff. (Everything that currently exists, though there\u0027s\nmore to come.)\n\nChange-Id: I235a21b006820a027c494374a5b52ffefed89c32\n"
    },
    {
      "commit": "1b4c85959b3d9a4a33bc2160c46c1bbde67350c7",
      "tree": "d92052beeb7a5e29f955d91b0a4ba3b15d2e4a8d",
      "parents": [
        "cf4c6c41b0084dc4567ff709fb8ce9ebd72b26ac"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Aug 31 10:43:51 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Sep 01 15:59:35 2011 -0700"
      },
      "message": "Complete OP_CONST_STRING, OP_CONST_CLASS\n\nAdded dummy ThrowException \u0026 ResolveTypeFromCode routines.  Fix\nOP_CONST_STRING and OP_CONST_CLASS to be position independent.  Misc.\nbug fixes.\n\nCreated a dummy ThrowException compiler run-time helper function.  It\nshould be replaced with the real version.\n\nChange-Id: Iba6a11cf110d3da4fa36ca434fe1b2675b68434d\n"
    },
    {
      "commit": "cf4c6c41b0084dc4567ff709fb8ce9ebd72b26ac",
      "tree": "ca3d0314b5c4111d7ab6fd97b4e68d5b2679e237",
      "parents": [
        "2f0ce9d60a4a9371c63a32a3764320fb02341acb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 01 15:16:42 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 01 15:51:43 2011 -0700"
      },
      "message": "Fully implement string interning.\n\nAlso, more const.\n\nChange-Id: I09cae88d677e8e6e42d0fa9b5d1093c79d225e66\n"
    },
    {
      "commit": "2f0ce9d60a4a9371c63a32a3764320fb02341acb",
      "tree": "39c8ff85adb10f7b8ea2888d608562f6b96ae051",
      "parents": [
        "82da44b625a1af03c0b768c71f1cef29831127c3"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 01 02:07:58 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 01 13:37:28 2011 -0700"
      },
      "message": "Fix another jni_compiler bug. \"\u003e\u003d\" should be \"\u003c\u003d\".\n\nChange-Id: I428e26addb9b2b5f0102281209ed08a396897ea1\n"
    },
    {
      "commit": "82da44b625a1af03c0b768c71f1cef29831127c3",
      "tree": "0d53f3e1ff4fa66c374984dd9515c1c0e9af8d67",
      "parents": [
        "bf86d0438e9ef9c145ebcf16a2e74c4efaa2686a"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 01 00:38:04 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Sep 01 13:35:28 2011 -0700"
      },
      "message": "Fix the \"mov R1, R2; mov R2, R3\" bug in jni_compiler.\n\nShould be \"mov R2, R3; mov R1, R2\" instead.\n\nChange-Id: Ie5264c3fe38486781e09f54e1e6d1fdcf7a2d4e5\n"
    },
    {
      "commit": "bf86d0438e9ef9c145ebcf16a2e74c4efaa2686a",
      "tree": "e8641925dd68c6e03b41ceb3de58108436f988a0",
      "parents": [
        "ad7c2a3b4daa2abd707375444f4b0db7d69a3838"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 31 17:53:14 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 01 08:51:12 2011 -0700"
      },
      "message": "Start adding implementations for runtime-provided native methods.\n\nThe library can\u0027t do everything...\n\nChange-Id: Ib808c00570c7214aeb2ca058b1a66cacbeb372f1\n"
    },
    {
      "commit": "ad7c2a3b4daa2abd707375444f4b0db7d69a3838",
      "tree": "66f9fea013f4fa9ac4a23a467f7c47302470c538",
      "parents": [
        "1f87008b165d26541d832ff805250afdc89c253d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 31 11:58:10 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 31 11:58:10 2011 -0700"
      },
      "message": "Add infrastructure for registering built-in native methods.\n\nWhile I\u0027m here, make fiddling with Thread state easier.\n\nChange-Id: I3d215a3a852aa8970c3974b2edefce9dd261ccd7\n"
    },
    {
      "commit": "1f87008b165d26541d832ff805250afdc89c253d",
      "tree": "a84122b3757b8f856eb0656a951ed6621b6d01a8",
      "parents": [
        "c5bfa8f49d8548d7c685a99b411311ef56bedffa"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 23 16:02:11 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 31 09:46:57 2011 -0700"
      },
      "message": "Add HeapTest and make GC work enough to pass it\n\nChange-Id: If06eaef2921b64b3226bfd347acaec60ec993e67\n"
    },
    {
      "commit": "c5bfa8f49d8548d7c685a99b411311ef56bedffa",
      "tree": "3f58bb3dce3bcaa03a6d3da27d0a2f85d1da1b0b",
      "parents": [
        "90a3369d3b6238f1a4c9b19ca68978dab1c39bc4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 14:32:49 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 14:42:22 2011 -0700"
      },
      "message": "Add back the work-arounds for broken apps that assume JNI uses direct references.\n\nNote that we\u0027ll need to add support for this to jni_compiler too.\n\nChange-Id: I7e31ab4314ba913cde4629544addd0aad9a89b3b\n"
    },
    {
      "commit": "90a3369d3b6238f1a4c9b19ca68978dab1c39bc4",
      "tree": "b66ec9b2cced5713bd5902c499d57b533d2e7a9a",
      "parents": [
        "34023801bd544e613d6e85c9a5b2e743f3710e8f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 13:27:07 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 13:27:45 2011 -0700"
      },
      "message": "Switch to UniquePtr.\n\nOnly one use of scoped_ptr was incorrect (but then again, I spent an afternoon\nwith valgrind finding and fixing them just last week).\n\nChange-Id: If5ec1c8aa0794a4f652bfd1c0fffccf95facdc40\n"
    },
    {
      "commit": "34023801bd544e613d6e85c9a5b2e743f3710e8f",
      "tree": "cf42aadf76cd6c1104e75f20b223716ed44dbb16",
      "parents": [
        "881dd56c9b6ea2c922956650b763d36d2eeb799b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 12:06:17 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 12:06:17 2011 -0700"
      },
      "message": "Remove uses of scoped_ptr_malloc.\n\nChange-Id: I355fcfc93e8d689bea8b9388423ca12cb3e6566f\n"
    },
    {
      "commit": "8a48741b96ca9cc5835cac72ac133c4ca480930f",
      "tree": "bbab3d50aa6eebb2a8182a7dac0caf7046104a1a",
      "parents": [
        "a19f2a5240fcf5baf989a26c7a6cf37247432c1b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 29 20:08:52 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 29 23:29:56 2011 -0700"
      },
      "message": "Allow compilation of classes in different ClassLoaders\n\nChange-Id: Ib0420471590a4c6d16bc25285ef3876098eacb36\n"
    },
    {
      "commit": "a19f2a5240fcf5baf989a26c7a6cf37247432c1b",
      "tree": "7f63c15456531729041c3527a4e64e2db8bb3f3d",
      "parents": [
        "bbc73a55cb0a98dbf5904a3a41c79e5389ecdef0",
        "a2501990dd0f68baf38ce19251949d7bb3ecfe5a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 29 22:07:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 22:07:49 2011 -0700"
      },
      "message": "Merge \"Add -Xcheck:jni.\" into dalvik-dev"
    },
    {
      "commit": "a2501990dd0f68baf38ce19251949d7bb3ecfe5a",
      "tree": "3f72ceee0297d213dac66a9ce2c72592906c1803",
      "parents": [
        "82870720a9a2709fcde4a03d96be383cee4b25d3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 26 19:39:54 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 29 22:06:55 2011 -0700"
      },
      "message": "Add -Xcheck:jni.\n\nI think this is as complete as possible right now. The remaining\ntwo #if 0 sections require:\n\n1. a way to get the Method* of the current native method.\n2. a way to get the Class* of the type of a given Field*.\n\nChange-Id: I331586022095fb36ccc10c9ac1890a59a9224d01\n"
    },
    {
      "commit": "bbc73a55cb0a98dbf5904a3a41c79e5389ecdef0",
      "tree": "fef6a5d9a1342115acc236427afb3354b8c75583",
      "parents": [
        "82870720a9a2709fcde4a03d96be383cee4b25d3",
        "2e748f364dba4505ca3a90f095d09c70bcd88eab"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Aug 29 21:32:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 21:32:27 2011 -0700"
      },
      "message": "Merge \"Register temp handling fix\" into dalvik-dev"
    },
    {
      "commit": "2e748f364dba4505ca3a90f095d09c70bcd88eab",
      "tree": "16aae1898827bb16a0a1f826797139371ef5b456",
      "parents": [
        "ff0f9bea6355fe0c420815f9b894e6bb634fe764"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Aug 29 21:02:19 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Aug 29 21:18:53 2011 -0700"
      },
      "message": "Register temp handling fix\n\nIn general, compiler routines that generate code don\u0027t need to worry\nabout register management - the underlying utilites will take care of\nit.  However, when generating an invoke sequence specific registers must\nbe used to conform to the calling convention.  To prevent the normal\nutilities from allocating these fixed registers, oatLockAllTemps() is\ncalled to mark the registers as in use.  However, oatLockAllTemps() did\njust that - it locked all of the temps, not just those used for arguments.\n\nThis change renames oatLockAllTemps() to oatLockCallTemps() and restricts\nthe locking to the argument registers.\n\nChange-Id: Id4183ce89e2672bcf2873d31aa60bd80c91c5a72\n"
    },
    {
      "commit": "82870720a9a2709fcde4a03d96be383cee4b25d3",
      "tree": "36aa7572ea4e4459577ebe50976fb504dc987238",
      "parents": [
        "ff0f9bea6355fe0c420815f9b894e6bb634fe764"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 29 19:04:51 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 29 19:04:51 2011 -0700"
      },
      "message": "Demangle C++ names in backtraces.\n\nChange-Id: Id4ccefc1e0cbed357b09b84ef6f51b287493e6fd\n"
    },
    {
      "commit": "ff0f9bea6355fe0c420815f9b894e6bb634fe764",
      "tree": "9e975b6d42f754e8202e627ca0a76833881c3894",
      "parents": [
        "9b576b4ed1dbe035952f3106d8f4b6993125ed6f"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 29 15:43:53 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 29 16:17:56 2011 -0700"
      },
      "message": "Fix DexFile\u0027s line number and test EH and StackTraceElement in 3 ways.\n\nTesting exception handling: 1. Walking stack 10 levels and then check\ndepth \u003d\u003d 10. 2. Check if correct stack trace is being generated. 3. For\nnative frame, lineno should be -2 to indicate it is native. Note that\n\"line number \u003d\u003d -2\" is how libcore tells from StackTraceElement.\n\nChange-Id: If38c16a59624f259985bcfcebc337b73b0582460\n"
    },
    {
      "commit": "9b576b4ed1dbe035952f3106d8f4b6993125ed6f",
      "tree": "8505c2429b204e799caa045bcb805e70e6e2ea87",
      "parents": [
        "9f30b38d74990286ce27c3a45368f73dbe3638f0"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 29 01:45:07 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 29 12:59:51 2011 -0700"
      },
      "message": "Add StackVisitor, CountStackDepthVisitor, BuildStackTraceVisitor for EH.\n\nIn addition to EH, GC can use StackVisitor too.\n\nCrawl stack in 2 passes, using CountStackDepthVisitor and\nBuildStackTraceVisitor, respectively. Note that Pass 1 computes\nthe depth with a doubly-nested loop.\n\nChange-Id: If1e3d3212037426b10ac5e6a01138acfab710e6b\n"
    },
    {
      "commit": "9f30b38d74990286ce27c3a45368f73dbe3638f0",
      "tree": "81bddd7b70e4b58aadce258cc25bba64de030deb",
      "parents": [
        "4417536522fd2a9d8215d8672331984769c9520b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 22:41:38 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 29 09:50:10 2011 -0700"
      },
      "message": "Externalize test code\n\nChange-Id: Iab19397c7a72fb9a3ca63bfd0bc4eaf1a98138ba\n"
    },
    {
      "commit": "4417536522fd2a9d8215d8672331984769c9520b",
      "tree": "422d8cc5cbe04b0025e75a5f48e87cd891a97655",
      "parents": [
        "e1931749814dbb80c5a756f9842e9c261bb2e8f6"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Aug 28 16:59:17 2011 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Aug 29 09:47:17 2011 -0700"
      },
      "message": "Add AllocStackTrace(). Move InternalStackTrace to managed heap.\n\nReplaces trace.method and trace.pc with IntArray and ObjectArray\u003cMethod\u003e.\nException_tests pass.\n\nChange-Id: I54431bbf8031b186fdd360ec27a31b11c8eff052\n"
    },
    {
      "commit": "e1931749814dbb80c5a756f9842e9c261bb2e8f6",
      "tree": "6e0d28df7394cd1921643032ed2030c3e0bc113c",
      "parents": [
        "48a35d0cc5cf5dec38808d147862e165e9d67163"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 21:15:53 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 21:39:17 2011 -0700"
      },
      "message": "Use slow-path static field accessors; added tests\n\nModified the compiler to always take the slow path for static\nfield accesses.  Still need to implement the fast path, but this\nallows us to test the slow path now.\n\nIt\u0027s also about time we added command-line (or other) options for\ncompiler control.  We\u0027ll want to have a testing option to force slow\npaths for testing, and also an option to control the compiler\u0027s\ndebug output (which is starting to get annoying).\n\nChange-Id: I9c1bc6faea0042894270d242366c688f1662842b\n"
    },
    {
      "commit": "48a35d0cc5cf5dec38808d147862e165e9d67163",
      "tree": "c50fa4371726feb265445f4e9e9f7eae3f53171a",
      "parents": [
        "b9edb841423dfe60e193fcffd25994398c91baa2",
        "dd3efae34ee77935cbd275d09c0ad35e5b79daee"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 17:43:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 28 17:43:06 2011 -0700"
      },
      "message": "Merge \"Add instance field get/put test\" into dalvik-dev"
    },
    {
      "commit": "dd3efae34ee77935cbd275d09c0ad35e5b79daee",
      "tree": "b5633fdbd542d613da669e512ae773a4b57d98b1",
      "parents": [
        "1caa2c205e51dda670207828f25451fb7623cea6"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 14:39:07 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 17:38:59 2011 -0700"
      },
      "message": "Add instance field get/put test\n\nStill need to handle unresolved at compile-time case.\n\nChange-Id: I4d9c82c4bbe4810aaa147ac19418706635a29a7f\n"
    },
    {
      "commit": "b9edb841423dfe60e193fcffd25994398c91baa2",
      "tree": "9b1187b38ad3e023136cf3835640146ff50240bf",
      "parents": [
        "1caa2c205e51dda670207828f25451fb7623cea6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 16:31:06 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 17:36:29 2011 -0700"
      },
      "message": "Add slow path access routines for static fields\n\nChange-Id: Iaa3239130410995c342cbc22f8d406925bd3361f\n"
    },
    {
      "commit": "1caa2c205e51dda670207828f25451fb7623cea6",
      "tree": "7362e7c75871bbcc9c317598547f4bcba01d0907",
      "parents": [
        "dfd3d70e58c37b5d56eded3a4469082d8bb26ee0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 13:02:33 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 14:19:11 2011 -0700"
      },
      "message": "Add InitializedStaticStorage table\n\nA non-null entry in the table not only provides access to the storage,\nit also implies that the referenced type is initialized.\n\nChange-Id: Ief9e88b7e58b65b6f9456a4218b7fe87f71c17bb\n"
    },
    {
      "commit": "dfd3d70e58c37b5d56eded3a4469082d8bb26ee0",
      "tree": "3e1a15f133e5e72710e71bc4989a74319ee60442",
      "parents": [
        "9cc262e2ad5cb507c21cc83b8dc954e9354a469c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 12:56:51 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Aug 28 13:10:06 2011 -0700"
      },
      "message": "Enable virtual invokes, use new alloc, misc\n\nMake use of the new alloc routines.  Extended the filter to allow\nsimple virtual invoke test to get through.  Fixed a register allocation\nproblem.\n\nNote that the invoke sequeces are still the verbose \u0026 long path.\nWill start using the new CodeandDirectMethods mechanism in upcoming CL\n\nChange-Id: I8ff79f6392ff3da14d7679dcf65029ae48f18eba\n"
    },
    {
      "commit": "9cc262e2ad5cb507c21cc83b8dc954e9354a469c",
      "tree": "869c3662ab908891e85b446760255b825b86a274",
      "parents": [
        "b63ec393a5c4ba2be1d34dd871cda811eaa803c7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 12:45:30 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 12:49:05 2011 -0700"
      },
      "message": "Clarify CodeAndMethods to CodeAndDirectMethods\n\nChange-Id: Ifa564ea25f4c7eb168f367274679a4915b9f4715\n"
    },
    {
      "commit": "b63ec393a5c4ba2be1d34dd871cda811eaa803c7",
      "tree": "098aaab4ad09569ea18a452f13eba2cf6acff837",
      "parents": [
        "439c4fa0db980fb19e4a585723a64a3461e4c278"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Aug 27 17:38:27 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Aug 28 12:00:56 2011 -0700"
      },
      "message": "Add compiler allocation paths Class::NewInstanceFromCode and Array::AllocFromCode\n\nChange-Id: I604377656f182f29692cda757dc7fdb4acc938b9\n"
    },
    {
      "commit": "439c4fa0db980fb19e4a585723a64a3461e4c278",
      "tree": "b8173fa296eaf53b5b1bc2b2fd743998446fcfb1",
      "parents": [
        "e6d6196822952a9ccbb6ac2a97f4e3ae5e59705b"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Aug 27 15:59:07 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Aug 27 15:59:07 2011 -0700"
      },
      "message": "Move 64-bit multiplication to helper\n\nWe\u0027re right on the edge for supporting inline 64-bit arithmetic\nwith our current temp register pool allocation.  Moving 64-bit multiplication\nout of line to sidestep the problem, and added some temp frees to\n3-operand long ops.  In the latter case there was a potential problem\nif the result long was located in a part of the frame not in the range\nof a single base+displacement store.\n\nChange-Id: I6f8e0a11b440ed35e08f2e3457de6cbea89cfccc\n"
    },
    {
      "commit": "e6d6196822952a9ccbb6ac2a97f4e3ae5e59705b",
      "tree": "4ddf77ae5db6672b29a0ac205809287a5980b78e",
      "parents": [
        "7b1b86d68244b0bb4ea3f43505eb45fdd46814d6"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Aug 27 11:58:19 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Aug 27 11:58:19 2011 -0700"
      },
      "message": "Various bug fixes.\n\nThe most amusing fix was the wierd NaN test failure.  After spending way\ntoo much time debugging, it turned out to be a missing comma in the argument\nlist of the test launcher.\n\nChange-Id: I76253575d7fbe2c2c260f1839a517c1b93dc9224\n"
    }
  ],
  "next": "7b1b86d68244b0bb4ea3f43505eb45fdd46814d6"
}
