)]}'
{
  "log": [
    {
      "commit": "4a289ed61242964b921434de7d375f46480472a1",
      "tree": "fa1a25f1eec3ef79fd9765e9c89ce21afbd8144c",
      "parents": [
        "44753c3908fcd5ccc066bf0dceddeabfeacf9f24"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 16 17:17:49 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 18 12:25:10 2011 -0700"
      },
      "message": "Work on heap and space initialization to support image loading\n\nChange-Id: Icab25efa4dee17e4b6c6e97e38f63f5ab8a8a005\n"
    },
    {
      "commit": "db4d54081f09abcbe97ffdf615874f2809a9e777",
      "tree": "86d4b6cdbfda6538ebf3fbb2f362209eb6867ce5",
      "parents": [
        "350dad1bb785281d6740633f219a2832feda6ff3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 09 12:18:28 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 15 10:03:22 2011 -0700"
      },
      "message": "First pass of ImageWriter\n\nChange-Id: I4f189587a2e3cc1c265200b8fa64321b299947eb\n"
    },
    {
      "commit": "ad107abee00fb523b9fda575a40395e9d6d9510d",
      "tree": "9db5ff4af4613224ed136bedce10b88538933bff",
      "parents": [
        "650a07d237f219ee6f23cfe939118e6f9c48f4d3"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 14 15:54:24 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 14 15:54:24 2011 -0700"
      },
      "message": "Remove author attributions.\n\nChange-Id: I58d2983ce41f6b3f3a4e1bbd1d075e794b8257e3\n"
    },
    {
      "commit": "4a96b60e45fba4a9d4a2e9c8fc849660eacef684",
      "tree": "4c48587a07fdafd7438d8b2b34bee3d5a8dfbea2",
      "parents": [
        "2ed144c2b49ae1da6c464d7a1be0062870530802"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 26 16:40:23 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 26 18:50:03 2011 -0700"
      },
      "message": "ClassLinker can now FindClass all libcore classes\n\nSummary:\n- added ClassLinkerTest/LibCore test of finding all libcore classes\n- fixed bug in LinkInterfaceMethods appending mirant methods to vtable_\n- fixed bug in LinkVirtualMethods allocating subclass vtable_\n- fixed mmap bug in MarkStack::Init\n- bumped default (and max) heap sizes to handle ClassLinkerTest/LibCore\n- made ObjectArray a templated class\n- heap allocate Class::vtable_\n- \"mm test-art\" and \"mm test-art-target\" added\n- new is_host_ for use by tests\n\nDetails:\n\n    Added support for \"mm test-art\" and \"mm test-art-target\" in addition to test-art-host\n\tAndroid.mk\n\n    Made ObjectArray a template class for clearer declarations and to\n    remove need the need for down_cast.\n\n\tsrc/object.h\n\tsrc/object_test.cc\n\tsrc/class_linker.cc\n\tsrc/class_linker.h\n\tsrc/dex_cache.cc\n\tsrc/dex_cache.h\n\tsrc/dex_cache_test.cc\n\tsrc/mark_sweep.cc\n\n    Made Class::vtable_ a heap allocated ObjectArray\u003cMethod\u003e\n\n\tsrc/class_linker.cc\n\n    Fix bug in ClassLinker::LinkInterfaceMethods where we were not\n    extending the vtable_ before appending miranda methods.\n\n\tsrc/class_linker.cc\n\n    Changed all uses of DexFile* in ClassLinker to be const\n\n\tsrc/class_linker.cc\n\tsrc/class_linker.h\n\n    Fix bug in ClassLinker::LinkVirtualMethods where we were using\n    NumVirtualMethods vs vtable-\u003eGetLength when determining new max\n    vtable_ length.\n\n\tsrc/class_linker.cc\n\n    New ClassLinkerTest/LibCore that enumerates the libcore dex file\n    and tries to FindClass every descriptor found.\n\n\tsrc/class_linker_test.cc\n\n    Added if_host_ check for host only tests. In the future will use\n    for picking proper location of files, etc. on host vs target.\n\n\tsrc/common_test.h\n\n    Fixed test to use ClassLinker::AllocDexCache\n\n\tsrc/dex_cache_test.cc\n\n    Fixed fooIds comments to foo_ids_\n\n\tsrc/dex_file.h\n\n    Bumped default heap size (and max as well) to make ClassLinkerTest/LibCore run\n\n\tsrc/heap.h\n\n    Fixed bug where we were not using MAP_ANONYMOUS for MarkStack\n    allocation found running ClassLinkerTest/LibCore.\n\n\tsrc/mark_stack.cc\n\nChange-Id: I204e2ec7205210e2b60f5b81d126ab6e1da5a71c\n"
    },
    {
      "commit": "578bbdc684db8ed68e9fedbc678669d27fa68b6e",
      "tree": "d752941d81ad6d7e248c349ce21371a8ae369693",
      "parents": [
        "45a76cb99104a222d6a9bd768a084893dcb7cf30"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 21 14:07:47 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 22 15:23:33 2011 -0700"
      },
      "message": "Move DexFiles to be allocated on the heap\n\nRemoved pointer from DexFile to RawDexfile to allow heap allocation of\nDexFile. DexFile is now an ObjectArray of ObjectArrays. Removing the\npointer from DexFile to RawDexfile meant adding arguments to pass the\nRawDexfile along to ClassLinker::LoadClass, LoadInterfaces, LoadField,\nLoadMethod, LinkClass, LinkInterfaces, ResolveClass to avoid the need\nto look a RawDexfile up from a DexFile. ClassLinker::CreateArrayClass\nnow takes the raw_dex_file to assist in looking up the component class\nfrom the proper source. Moved Method::HasSame* methods to ClassLinker\nsince for access to the RawDexfile (and tests of HasSame from\nObjectTest to ClassLinkerTest.\n\n\tsrc/dex_file.cc\n\tsrc/dex_file.h\n\tsrc/class_linker.cc\n\tsrc/class_linker.h\n\tsrc/object.h\n\nRunTime::Create/RunTime::Init/ClassLinker::Create/ClassLinker::Init\nnow take the boot class path. A boot class path with\nLjava/lang/Object; must be provided to initalize [Ljava/lang/Object;\nduring startup in order to heap allocate DexFiles.\n\n\tsrc/class_linker.cc\n\tsrc/class_linker.h\n\tsrc/runtime.cc\n\tsrc/runtime.h\n\nRestored FindClass to load from a specific dex file. This is for use\nby class loaders, otherwise it is assumed the caller wants to use the\nboot classpath. We now distinguish and track the boot classpath as\nseparate from other dex files known to the class linker. Renamed\nAppendToClassPath to AppendToBootClassPath and FindInClassPath to\nFindInBootClassPath to clarify.\n\n\tsrc/class_linker.cc\n\tsrc/class_linker.h\n\nCleaned up AllocCharArray to generic AllocArray and added\nAllocObjectArray. Added a functional ObjectArray implementation and a\nObjectTest to cover it.\n\n\tsrc/heap.h\n\tsrc/object.h\n\tsrc/object_test.cc\n\nSwitched more Object* downcasting to down_cast\n\n\tsrc/class_linker.cc\n\nSwitched order of arguments for DexFile::SetResolved to follow more\nconventional collection ordering ( \"(index, value)\" vs \"(value, index)\" )\n\n\tsrc/dex_file.h\n\tsrc/class_linker.cc\n\tsrc/class_linker.h\n\nAdded class_linker_ and java_lang_raw_dex_file_ to RuntimeTest as\nconvenience to test subclasses. ClassLinkerTest now can use these to\nsimplify its ::Assert* methods. JniCompilerTest now uses it for\nsetting up its boot class path. Removed now unneeded\nOpenDexFileBase64.\n\n\tsrc/common_test.h\n\tsrc/class_linker_test.cc\n\tsrc/jni_compiler_test.cc\n\nAdd external/gtest/include to non-test include path so FRIEND_TEST can be used.\nAdd src to include path to remove the need of using in in art/src files.\n\n\tbuild/Android.libart.host.mk\n\tbuild/Android.libart.mk\n\tsrc/assembler.cc\n\tsrc/assembler.h\n\tsrc/assembler_arm.cc\n\tsrc/assembler_arm.h\n\tsrc/assembler_x86.cc\n\tsrc/assembler_x86.h\n\tsrc/assembler_x86_test.cc\n\tsrc/base64.cc\n\tsrc/base64.h\n\tsrc/calling_convention.cc\n\tsrc/calling_convention.h\n\tsrc/calling_convention_arm.cc\n\tsrc/calling_convention_x86.cc\n\tsrc/casts.h\n\tsrc/class_linker.h\n\tsrc/class_linker_test.cc\n\tsrc/common_test.h\n\tsrc/constants.h\n\tsrc/constants_arm.h\n\tsrc/constants_x86.h\n\tsrc/dex_file.cc\n\tsrc/dex_file.h\n\tsrc/dex_file_test.cc\n\tsrc/dex_instruction.cc\n\tsrc/dex_instruction.h\n\tsrc/dex_instruction_visitor.h\n\tsrc/dex_instruction_visitor_test.cc\n\tsrc/dex_verifier.cc\n\tsrc/dex_verifier.h\n\tsrc/heap.cc\n\tsrc/heap.h\n\tsrc/jni_compiler.cc\n\tsrc/jni_compiler_test.cc\n\tsrc/jni_internal.cc\n\tsrc/jni_internal.h\n\tsrc/leb128.h\n\tsrc/managed_register.h\n\tsrc/managed_register_arm.cc\n\tsrc/managed_register_arm.h\n\tsrc/managed_register_arm_test.cc\n\tsrc/managed_register_x86.cc\n\tsrc/managed_register_x86.h\n\tsrc/managed_register_x86_test.cc\n\tsrc/mark_stack.cc\n\tsrc/mark_stack.h\n\tsrc/mark_sweep.cc\n\tsrc/mark_sweep.h\n\tsrc/memory_region.cc\n\tsrc/memory_region.h\n\tsrc/monitor.h\n\tsrc/object.cc\n\tsrc/object.h\n\tsrc/object_bitmap.cc\n\tsrc/object_bitmap.h\n\tsrc/object_test.cc\n\tsrc/offsets.cc\n\tsrc/offsets.h\n\tsrc/raw_dex_file.cc\n\tsrc/raw_dex_file.h\n\tsrc/raw_dex_file_test.cc\n\tsrc/runtime.cc\n\tsrc/runtime.h\n\tsrc/scoped_ptr.h\n\tsrc/space.cc\n\tsrc/space.h\n\tsrc/space_test.cc\n\tsrc/stringpiece.cc\n\tsrc/thread.cc\n\tsrc/thread.h\n\tsrc/thread_arm.cc\n\tsrc/thread_x86.cc\n\tsrc/utils.h\n\nChange-Id: Ib633cea878c36921e9037b0464cb903aec318c3e\n"
    },
    {
      "commit": "69759eaa6fd4386f1e6d8748052ad221087b3476",
      "tree": "9f37e49625a6e528405ed28ae8f5ac515ffedd67",
      "parents": [
        "dbd05642d4157b65d837da30c1d8df0ef577a378"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Jul 21 18:13:35 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Thu Jul 21 18:13:35 2011 -0700"
      },
      "message": "Add allocation and garbage collection infrastructure.\n\nChange-Id: I4b04cdfdf18afb75a7b0df87b509e8156b4a932b\n"
    }
  ]
}
