)]}'
{
  "log": [
    {
      "commit": "bdf1737bd17132525bcfdc778663123b61e97fa3",
      "tree": "ec097408de25394ac6444ae0589fcfa41d400257",
      "parents": [
        "f2d1a510bf36f98e0607f0527299789a64d755c9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 06 00:19:19 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 27 13:28:37 2021 +0000"
      },
      "message": "Introduce `art::FastExit` to replace all uses of `quick_exit` in ART.\n\nNo longer use `quick_exit(3)` in ART, as it does not play well with\nClang\u0027s code coverage instrumentation (see b/187935521 and\nb/186576313). Replace all its uses with a new routine,\n`art::FastExit`, calling either `exit(3)` when ART is built with\nClang\u0027s code coverage instrumentation (in order to dump coverage\nprofiles when the program terminates) or `_exit(2)` otherwise (to exit\nquickly).\n\nFunction `art::FastExit` is implemented as part of the\n`art_libartbase_headers` header library, so that it can be used easily\nin `dalvikvm`.\n\nTest: mmma art\nTest: ART tests\nBug: 186576313\nBug: 187935521\nChange-Id: I7b4f86f6f0e7b12814684ecea73a2ed0ef994395\n"
    },
    {
      "commit": "fcc922a54093aea69c92a9b0fcf4b9a99e8a97a1",
      "tree": "73a31de5157804c674fe06bfbbc7d84c26222b7a",
      "parents": [
        "d42902692d1fbb101a3c60ba314df69005da9c83"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri May 21 11:32:33 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 24 16:07:35 2021 +0000"
      },
      "message": "art: unbreak dalvikvm builds on host\n\nAdds liblog shared library dependency for host builds in a few places.\n\n(cherry picked from commit 69b282642746aa7e5304d561281aafbfad4aef36)\n\nBug: 188879721\nBug: 188067586\nTest: [master-art-internal] art/tools/buildbot-build.sh --host\nMerged-In: I102a8c8b5fe134047ac71fb940d063e2b1100630\nChange-Id: Ida196259a6061cc65e1c3593ae831d0ee75fe745\n"
    },
    {
      "commit": "7439cffaa0dd187bfa8d6b055343929ea2a7c782",
      "tree": "1d69632dfda331861d814d91254e30c669c81313",
      "parents": [
        "41299bf5c8ed5dec2ce20f94fa77bb32c21d26b2"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 12 00:21:56 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 12 12:03:04 2021 +0000"
      },
      "message": "Make dalvikvm inherit art_defaults.\n\nTo be able to do changes in art_defaults to affect all native code in\nthe ART module.\n\nAlso clean up some settings now inherited from there.\n\nTest: Presubmits\nBug: 172480615\nChange-Id: I81e6a959248eeec6381f32a927d0dbaa47b202ad\n"
    },
    {
      "commit": "a28c827fdb58ec489931d6e70e27818619bc1b75",
      "tree": "038448d3d8d2922c05296b60b1280c3ed3f596b6",
      "parents": [
        "7eedd447cb5a4904acf80123ef813a7b8dead9a2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Apr 30 17:09:10 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 07 09:13:03 2021 +0000"
      },
      "message": "Use `quick_exit` instead of `_exit` (except for error handling).\n\nReplace every occurrence of `_exit` (for cases other than pure error\nhandling) with `quick_exit`, in order to allow functions registered\nwith `at_quick_exit` to be called before exiting.\n\nIn particular, this change will allow LLVM\u0027s code coverage profile\ndumping routine to be called before exiting ART processes.\n\nTest: mmma art\nTest: ART tests\nBug: 186576313\nChange-Id: Ia9b0dbb471e2a26600c8bd23f7567931d050fc9d\n"
    },
    {
      "commit": "fcd3d855516055df3002cfacf53025803c86e25c",
      "tree": "49b98a39d231d9eccfcfd23dab418796b7f5a429",
      "parents": [
        "1043aa2489538fe7089ba3cc8fac0567672b14d6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 19 17:57:12 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 23 08:24:42 2021 +0000"
      },
      "message": "Move libsigchain into whole_static_libs for dalvikvm on host.\n\nThis seems to resolve the asan failures.\n\nTest: TARGET_PRODUCT\u003darmv8 TARGET_BUILD_VARIANT\u003deng ./art/test/testrunner/run_build_test_target.py -j40 art-asan\nBug: 183102427\nChange-Id: I47ad9ef57e35eeb7f445062535fadeb558040f9c\n"
    },
    {
      "commit": "ec388c026a5709dea339ad43f8bca10b2d991d6e",
      "tree": "49cf87249facd3c8dabb33ab10f8273a75fe2a50",
      "parents": [
        "e017bb072ac577eee5413bd7e5e136f4eaf75908"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 03 22:09:06 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 19 07:09:56 2021 +0000"
      },
      "message": "Add min_sdk_version for ART module.\n\nBug: 180399951\nTest: m\nChange-Id: I5e2a1ddc3063be26c602bf4db8e6b77f2d54b656\n"
    },
    {
      "commit": "aded139c23d67181c4df6f6dd08663461b106ba3",
      "tree": "d9a4b16e2b4db4d40e7e5a907a2a106a07f62654",
      "parents": [
        "e9fb3dce298076a6b808e6a5d64e3b4ac9db9ffd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 05 09:54:10 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 15 16:04:36 2021 +0000"
      },
      "message": "Make libsigchain a stub library.\n\nAlso fix a missing call in sigchain_test.cc\n\nBug: 142944043\nTest: sigchain_test.cc\nChange-Id: Ifc35cf087276c91cb61e2f77d5213283235808f2\n"
    },
    {
      "commit": "9150de6901996679c0ea6b34e74c8ddcc718d309",
      "tree": "496386b00b2a1b0b3bfbc36b09cf8083e3922f9b",
      "parents": [
        "8da26145fba859a5aba047f6280568565ffb8bfc"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 26 03:22:24 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 02 07:18:14 2021 +0000"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to art\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  adbconnection/Android.bp\n  benchmark/Android.bp\n  build/Android.bp\n  build/Android.cpplint.mk\n  build/Android.gtest.mk\n  build/apex/Android.bp\n  build/boot/Android.bp\n  build/sdk/Android.bp\n  cmdline/Android.bp\n  compiler/Android.bp\n  dalvikvm/Android.bp\n  dex2oat/Android.bp\n  dexdump/Android.bp\n  dexlayout/Android.bp\n  dexlist/Android.bp\n  dexoptanalyzer/Android.bp\n  disassembler/Android.bp\n  dt_fd_forward/export/Android.bp\n  imgdiag/Android.bp\n  libartbase/Android.bp\n  libartpalette/Android.bp\n  libartservice/Android.bp\n  libartservice/tests/Android.bp\n  libarttools/Android.bp\n  libdexfile/Android.bp\n  libelffile/Android.bp\n  libnativebridge/Android.bp\n  libnativebridge/tests/Android.bp\n  libnativeloader/Android.bp\n  libnativeloader/test/Android.bp\n  libnativeloader/test/Android.mk\n  libprofile/Android.bp\n  oatdump/Android.bp\n  odrefresh/Android.bp\n  perfetto_hprof/Android.bp\n  profman/Android.bp\n  runtime/Android.bp\n  simulator/Android.bp\n  test/001-HelloWorld/Android.bp\n  test/001-Main/Android.bp\n  test/002-sleep/Android.bp\n  test/004-InterfaceTest/Android.bp\n  test/004-SignalTest/Android.bp\n  test/004-UnsafeTest/Android.bp\n  test/004-checker-UnsafeTest18/Android.bp\n  test/006-args/Android.bp\n  test/007-count10/Android.bp\n  test/009-instanceof/Android.bp\n  test/010-instance/Android.bp\n  test/011-array-copy/Android.bp\n  test/012-math/Android.bp\n  test/013-math2/Android.bp\n  test/014-math3/Android.bp\n  test/015-switch/Android.bp\n  test/016-intern/Android.bp\n  test/017-float/Android.bp\n  test/018-stack-overflow/Android.bp\n  test/019-wrong-array-type/Android.bp\n  test/020-string/Android.bp\n  test/021-string2/Android.bp\n  test/022-interface/Android.bp\n  test/025-access-controller/Android.bp\n  test/026-access/Android.bp\n  test/027-arithmetic/Android.bp\n  test/028-array-write/Android.bp\n  test/029-assert/Android.bp\n  test/030-bad-finalizer/Android.bp\n  test/033-class-init-deadlock/Android.bp\n  test/034-call-null/Android.bp\n  test/035-enum/Android.bp\n  test/036-finalizer/Android.bp\n  test/037-inherit/Android.bp\n  test/038-inner-null/Android.bp\n  test/039-join-main/Android.bp\n  test/040-miranda/Android.bp\n  test/041-narrowing/Android.bp\n  test/043-privates/Android.bp\n  test/044-proxy/Android.bp\n  test/045-reflect-array/Android.bp\n  test/046-reflect/Android.bp\n  test/047-returns/Android.bp\n  test/048-reflect-v8/Android.bp\n  test/049-show-object/Android.bp\n  test/050-sync-test/Android.bp\n  test/051-thread/Android.bp\n  test/052-verifier-fun/Android.bp\n  test/053-wait-some/Android.bp\n  test/054-uncaught/Android.bp\n  test/055-enum-performance/Android.bp\n  test/058-enum-order/Android.bp\n  test/059-finalizer-throw/Android.bp\n  test/061-out-of-memory/Android.bp\n  test/062-character-encodings/Android.bp\n  test/063-process-manager/Android.bp\n  test/067-preemptive-unpark/Android.bp\n  test/070-nio-buffer/Android.bp\n  test/072-precise-gc/Android.bp\n  test/072-reachability-fence/Android.bp\n  test/074-gc-thrash/Android.bp\n  test/076-boolean-put/Android.bp\n  test/078-polymorphic-virtual/Android.bp\n  test/079-phantom/Android.bp\n  test/080-oom-fragmentation/Android.bp\n  test/080-oom-throw-with-finalizer/Android.bp\n  test/080-oom-throw/Android.bp\n  test/081-hot-exceptions/Android.bp\n  test/082-inline-execute/Android.bp\n  test/083-compiler-regressions/Android.bp\n  test/084-class-init/Android.bp\n  test/086-null-super/Android.bp\n  test/087-gc-after-link/Android.bp\n  test/090-loop-formation/Android.bp\n  test/092-locale/Android.bp\n  test/093-serialization/Android.bp\n  test/094-pattern/Android.bp\n  test/095-switch-MAX_INT/Android.bp\n  test/096-array-copy-concurrent-gc/Android.bp\n  test/098-ddmc/Android.bp\n  test/099-vmdebug/Android.bp\n  test/100-reflect2/Android.bp\n  test/1004-checker-volatile-ref-load/Android.bp\n  test/101-fibonacci/Android.bp\n  test/102-concurrent-gc/Android.bp\n  test/103-string-append/Android.bp\n  test/104-growth-limit/Android.bp\n  test/105-invoke/Android.bp\n  test/106-exceptions2/Android.bp\n  test/107-int-math2/Android.bp\n  test/108-check-cast/Android.bp\n  test/109-suspend-check/Android.bp\n  test/110-field-access/Android.bp\n  test/112-double-math/Android.bp\n  test/114-ParallelGC/Android.bp\n  test/115-native-bridge/Android.bp\n  test/116-nodex2oat/Android.bp\n  test/120-hashcode/Android.bp\n  test/121-simple-suspend-check/Android.bp\n  test/122-npe/Android.bp\n  test/123-compiler-regressions-mt/Android.bp\n  test/123-inline-execute2/Android.bp\n  test/125-gc-and-classloading/Android.bp\n  test/128-reg-spill-on-implicit-nullcheck/Android.bp\n  test/129-ThreadGetId/Android.bp\n  test/132-daemon-locks-shutdown/Android.bp\n  test/133-static-invoke-super/Android.bp\n  test/1336-short-finalizer-timeout/Android.bp\n  test/1337-gc-coverage/Android.bp\n  test/1339-dead-reference-safe/Android.bp\n  test/136-daemon-jni-shutdown/Android.bp\n  test/139-register-natives/Android.bp\n  test/140-dce-regression/Android.bp\n  test/140-field-packing/Android.bp\n  test/143-string-value/Android.bp\n  test/144-static-field-sigquit/Android.bp\n  test/148-multithread-gc-annotations/Android.bp\n  test/149-suspend-all-stress/Android.bp\n  test/150-loadlibrary/Android.bp\n  test/151-OpenFileLimit/Android.bp\n  test/152-dead-large-object/Android.bp\n  test/153-reference-stress/Android.bp\n  test/154-gc-loop/Android.bp\n  test/156-register-dex-file-multi-loader/Android.bp\n  test/158-app-image-class-table/Android.bp\n  test/159-app-image-fields/Android.bp\n  test/163-app-image-methods/Android.bp\n  test/165-lock-owner-proxy/Android.bp\n  test/168-vmstack-annotated/Android.bp\n  test/169-threadgroup-jni/Android.bp\n  test/170-interface-init/Android.bp\n  test/172-app-image-twice/Android.bp\n  test/174-escaping-instance-of-bad-class/Android.bp\n  test/175-alloc-big-bignums/Android.bp\n  test/176-app-image-string/Android.bp\n  test/177-visibly-initialized-deadlock/Android.bp\n  test/178-app-image-native-method/Android.bp\n  test/179-nonvirtual-jni/Android.bp\n  test/1900-track-alloc/Android.bp\n  test/1901-get-bytecodes/Android.bp\n  test/1902-suspend/Android.bp\n  test/1903-suspend-self/Android.bp\n  test/1904-double-suspend/Android.bp\n  test/1905-suspend-native/Android.bp\n  test/1906-suspend-list-me-first/Android.bp\n  test/1907-suspend-list-self-twice/Android.bp\n  test/1908-suspend-native-resume-self/Android.bp\n  test/1909-per-agent-tls/Android.bp\n  test/1910-transform-with-default/Android.bp\n  test/1911-get-local-var-table/Android.bp\n  test/1912-get-set-local-primitive/Android.bp\n  test/1913-get-set-local-objects/Android.bp\n  test/1914-get-local-instance/Android.bp\n  test/1915-get-set-local-current-thread/Android.bp\n  test/1916-get-set-current-frame/Android.bp\n  test/1917-get-stack-frame/Android.bp\n  test/1919-vminit-thread-start-timing/Android.bp\n  test/1920-suspend-native-monitor/Android.bp\n  test/1921-suspend-native-recursive-monitor/Android.bp\n  test/1922-owned-monitors-info/Android.bp\n  test/1923-frame-pop/Android.bp\n  test/1924-frame-pop-toggle/Android.bp\n  test/1925-self-frame-pop/Android.bp\n  test/1926-missed-frame-pop/Android.bp\n  test/1927-exception-event/Android.bp\n  test/1928-exception-event-exception/Android.bp\n  test/1930-monitor-info/Android.bp\n  test/1931-monitor-events/Android.bp\n  test/1932-monitor-events-misc/Android.bp\n  test/1933-monitor-current-contended/Android.bp\n  test/1934-jvmti-signal-thread/Android.bp\n  test/1935-get-set-current-frame-jit/Android.bp\n  test/1936-thread-end-events/Android.bp\n  test/1937-transform-soft-fail/Android.bp\n  test/1938-transform-abstract-single-impl/Android.bp\n  test/1939-proxy-frames/Android.bp\n  test/1941-dispose-stress/Android.bp\n  test/1942-suspend-raw-monitor-exit/Android.bp\n  test/1943-suspend-raw-monitor-wait/Android.bp\n  test/1945-proxy-method-arguments/Android.bp\n  test/1947-breakpoint-redefine-deopt/Android.bp\n  test/1949-short-dex-file/Android.bp\n  test/1951-monitor-enter-no-suspend/Android.bp\n  test/1953-pop-frame/Android.bp\n  test/1954-pop-frame-jit/Android.bp\n  test/1955-pop-frame-jit-called/Android.bp\n  test/1956-pop-frame-jit-calling/Android.bp\n  test/1957-error-ext/Android.bp\n  test/1958-transform-try-jit/Android.bp\n  test/1959-redefine-object-instrument/Android.bp\n  test/1960-checker-bounds-codegen/Android.bp\n  test/1960-obsolete-jit-multithread-native/Android.bp\n  test/1961-checker-loop-vectorizer/Android.bp\n  test/1961-obsolete-jit-multithread/Android.bp\n  test/1962-multi-thread-events/Android.bp\n  test/1963-add-to-dex-classloader-in-memory/Android.bp\n  test/1967-get-set-local-bad-slot/Android.bp\n  test/1968-force-early-return/Android.bp\n  test/1969-force-early-return-void/Android.bp\n  test/1970-force-early-return-long/Android.bp\n  test/1971-multi-force-early-return/Android.bp\n  test/1972-jni-id-swap-indices/Android.bp\n  test/1973-jni-id-swap-pointer/Android.bp\n  test/1974-resize-array/Android.bp\n  test/1975-hello-structural-transformation/Android.bp\n  test/1976-hello-structural-static-methods/Android.bp\n  test/1977-hello-structural-obsolescence/Android.bp\n  test/1978-regular-obsolete-then-structural-obsolescence/Android.bp\n  test/1979-threaded-structural-transformation/Android.bp\n  test/1980-obsolete-object-cleared/Android.bp\n  test/1982-no-virtuals-structural-redefinition/Android.bp\n  test/1984-structural-redefine-field-trace/Android.bp\n  test/1985-structural-redefine-stack-scope/Android.bp\n  test/1986-structural-redefine-multi-thread-stack-scope/Android.bp\n  test/1987-structural-redefine-recursive-stack-scope/Android.bp\n  test/1988-multi-structural-redefine/Android.bp\n  test/1989-transform-bad-monitor/Android.bp\n  test/1990-structural-bad-verify/Android.bp\n  test/1991-hello-structural-retransform/Android.bp\n  test/1992-retransform-no-such-field/Android.bp\n  test/1993-fallback-non-structural/Android.bp\n  test/1994-final-virtual-structural/Android.bp\n  test/1995-final-virtual-structural-multithread/Android.bp\n  test/1996-final-override-virtual-structural/Android.bp\n  test/1997-structural-shadow-method/Android.bp\n  test/1998-structural-shadow-field/Android.bp\n  test/1999-virtual-structural/Android.bp\n  test/2003-double-virtual-structural/Android.bp\n  test/2004-double-virtual-structural-abstract/Android.bp\n  test/2005-pause-all-redefine-multithreaded/Android.bp\n  test/2008-redefine-then-old-reflect-field/Android.bp\n  test/201-built-in-except-detail-messages/Android.bp\n  test/2011-stack-walk-concurrent-instrument/Android.bp\n  test/2019-constantcalculationsinking/Android.bp\n  test/202-thread-oome/Android.bp\n  test/2020-InvokeVirtual-Inlining/Android.bp\n  test/2021-InvokeStatic-Inlining/Android.bp\n  test/2022-Invariantloops/Android.bp\n  test/2023-InvariantLoops_typecast/Android.bp\n  test/2024-InvariantNegativeLoop/Android.bp\n  test/2025-ChangedArrayValue/Android.bp\n  test/2026-DifferentMemoryLSCouples/Android.bp\n  test/2027-TwiceTheSameMemoryCouple/Android.bp\n  test/2028-MultiBackward/Android.bp\n  test/2029-contended-monitors/Android.bp\n  test/203-multi-checkpoint/Android.bp\n  test/2030-long-running-child/Android.bp\n  test/2031-zygote-compiled-frame-deopt/Android.bp\n  test/2033-shutdown-mechanics/Android.bp\n  test/2036-jni-filechannel/Android.bp\n  test/2037-thread-name-inherit/Android.bp\n  test/2231-checker-heap-poisoning/Android.bp\n  test/2232-write-metrics-to-log/Android.bp\n  test/300-package-override/Android.bp\n  test/301-abstract-protected/Android.bp\n  test/302-float-conversion/Android.bp\n  test/304-method-tracing/Android.bp\n  test/305-other-fault-handler/Android.bp\n  test/401-optimizing-compiler/Android.bp\n  test/402-optimizing-control-flow/Android.bp\n  test/403-optimizing-long/Android.bp\n  test/404-optimizing-allocator/Android.bp\n  test/405-optimizing-long-allocator/Android.bp\n  test/406-fields/Android.bp\n  test/407-arrays/Android.bp\n  test/408-move-bug/Android.bp\n  test/409-materialized-condition/Android.bp\n  test/410-floats/Android.bp\n  test/411-checker-hdiv-hrem-const/Android.bp\n  test/411-checker-hdiv-hrem-pow2/Android.bp\n  test/411-checker-instruct-simplifier-hrem/Android.bp\n  test/411-optimizing-arith/Android.bp\n  test/413-regalloc-regression/Android.bp\n  test/414-static-fields/Android.bp\n  test/418-const-string/Android.bp\n  test/419-long-parameter/Android.bp\n  test/420-const-class/Android.bp\n  test/421-exceptions/Android.bp\n  test/421-large-frame/Android.bp\n  test/422-instanceof/Android.bp\n  test/422-type-conversion/Android.bp\n  test/423-invoke-interface/Android.bp\n  test/424-checkcast/Android.bp\n  test/426-monitor/Android.bp\n  test/427-bitwise/Android.bp\n  test/427-bounds/Android.bp\n  test/429-ssa-builder/Android.bp\n  test/430-live-register-slow-path/Android.bp\n  test/433-gvn/Android.bp\n  test/434-shifter-operand/Android.bp\n  test/435-try-finally-without-catch/Android.bp\n  test/436-rem-float/Android.bp\n  test/436-shift-constant/Android.bp\n  test/437-inline/Android.bp\n  test/438-volatile/Android.bp\n  test/439-npe/Android.bp\n  test/439-swap-double/Android.bp\n  test/440-stmp/Android.bp\n  test/441-checker-inliner/Android.bp\n  test/443-not-bool-inline/Android.bp\n  test/444-checker-nce/Android.bp\n  test/445-checker-licm/Android.bp\n  test/446-checker-inliner2/Android.bp\n  test/447-checker-inliner3/Android.bp\n  test/449-checker-bce-rem/Android.bp\n  test/449-checker-bce/Android.bp\n  test/450-checker-types/Android.bp\n  test/451-regression-add-float/Android.bp\n  test/451-spill-splot/Android.bp\n  test/454-get-vreg/Android.bp\n  test/455-checker-gvn/Android.bp\n  test/456-baseline-array-set/Android.bp\n  test/458-long-to-fpu/Android.bp\n  test/461-get-reference-vreg/Android.bp\n  test/464-checker-inline-sharpen-calls/Android.bp\n  test/465-checker-clinit-gvn/Android.bp\n  test/466-get-live-vreg/Android.bp\n  test/469-condition-materialization/Android.bp\n  test/470-huge-method/Android.bp\n  test/471-deopt-environment/Android.bp\n  test/472-type-propagation/Android.bp\n  test/473-checker-inliner-constants/Android.bp\n  test/473-remove-dead-block/Android.bp\n  test/474-checker-boolean-input/Android.bp\n  test/474-fp-sub-neg/Android.bp\n  test/475-simplify-mul-zero/Android.bp\n  test/476-checker-ctor-fence-redun-elim/Android.bp\n  test/476-checker-ctor-memory-barrier/Android.bp\n  test/476-clinit-inline-static-invoke/Android.bp\n  test/477-checker-bound-type/Android.bp\n  test/477-long-2-float-convers-precision/Android.bp\n  test/478-checker-clinit-check-pruning/Android.bp\n  test/478-checker-inline-noreturn/Android.bp\n  test/478-checker-inliner-nested-loop/Android.bp\n  test/479-regression-implicit-null-check/Android.bp\n  test/480-checker-dead-blocks/Android.bp\n  test/481-regression-phi-cond/Android.bp\n  test/482-checker-loop-back-edge-use/Android.bp\n  test/483-dce-block/Android.bp\n  test/485-checker-dce-switch/Android.bp\n  test/486-checker-must-do-null-check/Android.bp\n  test/487-checker-inline-calls/Android.bp\n  test/488-checker-inline-recursive-calls/Android.bp\n  test/489-current-method-regression/Android.bp\n  test/490-checker-inline/Android.bp\n  test/491-current-method/Android.bp\n  test/492-checker-inline-invoke-interface/Android.bp\n  test/493-checker-inline-invoke-interface/Android.bp\n  test/494-checker-instanceof-tests/Android.bp\n  test/495-checker-checkcast-tests/Android.bp\n  test/496-checker-inlining-class-loader/Android.bp\n  test/497-inlining-and-class-loader/Android.bp\n  test/499-bce-phi-array-length/Android.bp\n  test/500-instanceof/Android.bp\n  test/505-simplifier-type-propagation/Android.bp\n  test/507-boolean-test/Android.bp\n  test/507-referrer/Android.bp\n  test/508-checker-disassembly/Android.bp\n  test/508-referrer-method/Android.bp\n  test/513-array-deopt/Android.bp\n  test/514-shifts/Android.bp\n  test/519-bound-load-class/Android.bp\n  test/521-checker-array-set-null/Android.bp\n  test/521-regression-integer-field-set/Android.bp\n  test/524-boolean-simplifier-regression/Android.bp\n  test/525-checker-arrays-fields1/Android.bp\n  test/525-checker-arrays-fields2/Android.bp\n  test/526-checker-caller-callee-regs/Android.bp\n  test/526-long-regalloc/Android.bp\n  test/527-checker-array-access-simd/Android.bp\n  test/527-checker-array-access-split/Android.bp\n  test/528-long-hint/Android.bp\n  test/529-long-split/Android.bp\n  test/530-checker-loops1/Android.bp\n  test/530-checker-loops2/Android.bp\n  test/530-checker-loops3/Android.bp\n  test/530-checker-loops4/Android.bp\n  test/530-checker-loops5/Android.bp\n  test/530-checker-lse-ctor-fences/Android.bp\n  test/530-checker-lse-simd/Android.bp\n  test/530-checker-lse/Android.bp\n  test/530-checker-lse2/Android.bp\n  test/530-instanceof-checkcast/Android.bp\n  test/530-regression-lse/Android.bp\n  test/532-checker-nonnull-arrayset/Android.bp\n  test/534-checker-bce-deoptimization/Android.bp\n  test/535-deopt-and-inlining/Android.bp\n  test/536-checker-intrinsic-optimization/Android.bp\n  test/537-checker-arraycopy/Android.bp\n  test/537-checker-jump-over-jump/Android.bp\n  test/538-checker-embed-constants/Android.bp\n  test/540-checker-rtp-bug/Android.bp\n  test/542-bitfield-rotates/Android.bp\n  test/542-inline-trycatch/Android.bp\n  test/542-unresolved-access-check/Android.bp\n  test/545-tracing-and-jit/Android.bp\n  test/548-checker-inlining-and-dce/Android.bp\n  test/549-checker-types-merge/Android.bp\n  test/550-checker-multiply-accumulate/Android.bp\n  test/550-new-instance-clinit/Android.bp\n  test/551-checker-clinit/Android.bp\n  test/551-checker-shifter-operand/Android.bp\n  test/551-implicit-null-checks/Android.bp\n  test/552-checker-sharpening/Android.bp\n  test/552-checker-x86-avx2-bit-manipulation/Android.bp\n  test/554-checker-rtp-checkcast/Android.bp\n  test/555-UnsafeGetLong-regression/Android.bp\n  test/557-checker-instruct-simplifier-ror/Android.bp\n  test/558-switch/Android.bp\n  test/559-bce-ssa/Android.bp\n  test/559-checker-rtp-ifnotnull/Android.bp\n  test/560-packed-switch/Android.bp\n  test/561-divrem/Android.bp\n  test/561-shared-slowpaths/Android.bp\n  test/562-bce-preheader/Android.bp\n  test/562-checker-no-intermediate/Android.bp\n  test/563-checker-invoke-super/Android.bp\n  test/564-checker-bitcount/Android.bp\n  test/564-checker-inline-loop/Android.bp\n  test/564-checker-negbitwise/Android.bp\n  test/565-checker-condition-liveness/Android.bp\n  test/566-checker-codegen-select/Android.bp\n  test/566-polymorphic-inlining/Android.bp\n  test/567-checker-builder-intrinsics/Android.bp\n  test/568-checker-onebit/Android.bp\n  test/570-checker-select/Android.bp\n  test/572-checker-array-get-regression/Android.bp\n  test/573-checker-checkcast-regression/Android.bp\n  test/576-polymorphic-inlining/Android.bp\n  test/577-checker-fp2int/Android.bp\n  test/578-bce-visit/Android.bp\n  test/578-polymorphic-inlining/Android.bp\n  test/579-inline-infinite/Android.bp\n  test/580-checker-round/Android.bp\n  test/580-crc32/Android.bp\n  test/581-rtp/Android.bp\n  test/582-checker-bce-length/Android.bp\n  test/583-checker-zero/Android.bp\n  test/584-checker-div-bool/Android.bp\n  test/589-super-imt/Android.bp\n  test/590-checker-arr-set-null-regression/Android.bp\n  test/591-checker-regression-dead-loop/Android.bp\n  test/593-checker-long-2-float-regression/Android.bp\n  test/594-checker-array-alias/Android.bp\n  test/594-load-string-regression/Android.bp\n  test/595-profile-saving/Android.bp\n  test/597-deopt-busy-loop/Android.bp\n  test/597-deopt-invoke-stub/Android.bp\n  test/597-deopt-new-string/Android.bp\n  test/602-deoptimizeable/Android.bp\n  test/603-checker-instanceof/Android.bp\n  test/604-hot-static-interface/Android.bp\n  test/605-new-string-from-bytes/Android.bp\n  test/607-daemon-stress/Android.bp\n  test/609-checker-inline-interface/Android.bp\n  test/609-checker-x86-bounds-check/Android.bp\n  test/610-arraycopy/Android.bp\n  test/611-checker-simplify-if/Android.bp\n  test/614-checker-dump-constant-location/Android.bp\n  test/615-checker-arm64-store-zero/Android.bp\n  test/616-cha-abstract/Android.bp\n  test/616-cha-interface/Android.bp\n  test/616-cha-miranda/Android.bp\n  test/616-cha-native/Android.bp\n  test/616-cha-regression-proxy-method/Android.bp\n  test/616-cha/Android.bp\n  test/617-clinit-oome/Android.bp\n  test/618-checker-induction/Android.bp\n  test/619-checker-current-method/Android.bp\n  test/620-checker-bce-intrinsics/Android.bp\n  test/622-checker-bce-regressions/Android.bp\n  test/623-checker-loop-regressions/Android.bp\n  test/625-checker-licm-regressions/Android.bp\n  test/626-set-resolved-string/Android.bp\n  test/627-checker-unroll/Android.bp\n  test/628-vdex/Android.bp\n  test/629-vdex-speed/Android.bp\n  test/631-checker-get-class/Android.bp\n  test/632-checker-char-at-bounds/Android.bp\n  test/635-checker-arm64-volatile-load-cc/Android.bp\n  test/636-arm64-veneer-pool/Android.bp\n  test/637-checker-throw-inline/Android.bp\n  test/638-checker-inline-cache-intrinsic/Android.bp\n  test/639-checker-code-sinking/Android.bp\n  test/640-checker-boolean-simd/Android.bp\n  test/640-checker-integer-valueof/Android.bp\n  test/640-checker-simd/Android.bp\n  test/641-checker-arraycopy/Android.bp\n  test/641-iterations/Android.bp\n  test/642-fp-callees/Android.bp\n  test/643-checker-bogus-ic/Android.bp\n  test/645-checker-abs-simd/Android.bp\n  test/646-checker-arraycopy-large-cst-pos/Android.bp\n  test/646-checker-long-const-to-int/Android.bp\n  test/646-checker-simd-hadd/Android.bp\n  test/647-jni-get-field-id/Android.bp\n  test/650-checker-inline-access-thunks/Android.bp\n  test/652-deopt-intrinsic/Android.bp\n  test/654-checker-periodic/Android.bp\n  test/655-checker-simd-arm-opt/Android.bp\n  test/655-jit-clinit/Android.bp\n  test/656-checker-simd-opt/Android.bp\n  test/656-loop-deopt/Android.bp\n  test/657-branches/Android.bp\n  test/658-fp-read-barrier/Android.bp\n  test/660-checker-sad/Android.bp\n  test/660-checker-simd-sad/Android.bp\n  test/660-clinit/Android.bp\n  test/661-checker-simd-reduc/Android.bp\n  test/661-oat-writer-layout/Android.bp\n  test/662-regression-alias/Android.bp\n  test/664-aget-verifier/Android.bp\n  test/665-checker-simd-zero/Android.bp\n  test/666-dex-cache-itf/Android.bp\n  test/667-checker-simd-alignment/Android.bp\n  test/667-jit-jni-stub/Android.bp\n  test/667-out-of-bounds/Android.bp\n  test/669-checker-break/Android.bp\n  test/671-npe-field-opts/Android.bp\n  test/672-checker-throw-method/Android.bp\n  test/673-checker-throw-vmethod/Android.bp\n  test/674-HelloWorld-Dm/Android.bp\n  test/674-hotness-compiled/Android.bp\n  test/676-proxy-jit-at-first-use/Android.bp\n  test/677-fsi2/Android.bp\n  test/679-locks/Android.bp\n  test/680-checker-deopt-dex-pc-0/Android.bp\n  test/680-sink-regression/Android.bp\n  test/684-checker-simd-dotprod/Android.bp\n  test/684-select-condition/Android.bp\n  test/685-deoptimizeable/Android.bp\n  test/687-deopt/Android.bp\n  test/689-multi-catch/Android.bp\n  test/689-zygote-jit-deopt/Android.bp\n  test/693-vdex-inmem-loader-evict/Android.bp\n  test/694-clinit-jit/Android.bp\n  test/695-simplify-throws/Android.bp\n  test/696-loop/Android.bp\n  test/697-checker-string-append/Android.bp\n  test/698-selects/Android.bp\n  test/700-LoadArgRegs/Android.bp\n  test/703-floating-point-div/Android.bp\n  test/704-multiply-accumulate/Android.bp\n  test/705-register-conflict/Android.bp\n  test/707-checker-invalid-profile/Android.bp\n  test/708-jit-cache-churn/Android.bp\n  test/711-checker-type-conversion/Android.bp\n  test/717-integer-value-of/Android.bp\n  test/718-zipfile-finalizer/Android.bp\n  test/720-thread-priority/Android.bp\n  test/721-osr/Android.bp\n  test/726-array-store/Android.bp\n  test/728-imt-conflict-zygote/Android.bp\n  test/805-TooDeepClassInstanceOf/Android.bp\n  test/806-TooWideClassInstanceOf/Android.bp\n  test/812-recursive-default/Android.bp\n  test/813-fp-args/Android.bp\n  test/814-large-field-offsets/Android.bp\n  test/815-invokeinterface-default/Android.bp\n  test/818-clinit-nterp/Android.bp\n  test/900-hello-plugin/Android.bp\n  test/901-hello-ti-agent/Android.bp\n  test/902-hello-transformation/Android.bp\n  test/903-hello-tagging/Android.bp\n  test/904-object-allocation/Android.bp\n  test/905-object-free/Android.bp\n  test/906-iterate-heap/Android.bp\n  test/907-get-loaded-classes/Android.bp\n  test/908-gc-start-finish/Android.bp\n  test/910-methods/Android.bp\n  test/911-get-stack-trace/Android.bp\n  test/913-heaps/Android.bp\n  test/914-hello-obsolescence/Android.bp\n  test/915-obsolete-2/Android.bp\n  test/916-obsolete-jit/Android.bp\n  test/917-fields-transformation/Android.bp\n  test/918-fields/Android.bp\n  test/919-obsolete-fields/Android.bp\n  test/920-objects/Android.bp\n  test/921-hello-failure/Android.bp\n  test/922-properties/Android.bp\n  test/923-monitors/Android.bp\n  test/924-threads/Android.bp\n  test/925-threadgroups/Android.bp\n  test/926-multi-obsolescence/Android.bp\n  test/927-timers/Android.bp\n  test/928-jni-table/Android.bp\n  test/930-hello-retransform/Android.bp\n  test/931-agent-thread/Android.bp\n  test/932-transform-saves/Android.bp\n  test/933-misc-events/Android.bp\n  test/937-hello-retransform-package/Android.bp\n  test/939-hello-transformation-bcp/Android.bp\n  test/940-recursive-obsolete/Android.bp\n  test/941-recursive-obsolete-jit/Android.bp\n  test/942-private-recursive/Android.bp\n  test/943-private-recursive-jit/Android.bp\n  test/944-transform-classloaders/Android.bp\n  test/945-obsolete-native/Android.bp\n  test/946-obsolete-throw/Android.bp\n  test/947-reflect-method/Android.bp\n  test/949-in-memory-transform/Android.bp\n  test/950-redefine-intrinsic/Android.bp\n  test/951-threaded-obsolete/Android.bp\n  test/963-default-range-smali/Android.bp\n  test/982-ok-no-retransform/Android.bp\n  test/983-source-transform-verify/Android.bp\n  test/984-obsolete-invoke/Android.bp\n  test/985-re-obsolete/Android.bp\n  test/986-native-method-bind/Android.bp\n  test/987-agent-bind/Android.bp\n  test/988-method-trace/Android.bp\n  test/989-method-trace-throw/Android.bp\n  test/990-field-trace/Android.bp\n  test/991-field-trace-2/Android.bp\n  test/992-source-data/Android.bp\n  test/993-breakpoints/Android.bp\n  test/994-breakpoint-line/Android.bp\n  test/995-breakpoints-throw/Android.bp\n  test/996-breakpoint-obsolete/Android.bp\n  test/997-single-step/Android.bp\n  test/Android.bp\n  tools/Android.bp\n  tools/ahat/Android.bp\n  tools/ahat/Android.mk\n  tools/art_verifier/Android.bp\n  tools/cpp-define-generator/Android.bp\n  tools/dexanalyze/Android.bp\n  tools/dexfuzz/Android.bp\n  tools/dmtracedump/Android.bp\n  tools/hiddenapi/Android.bp\n  tools/jfuzz/Android.bp\n  tools/jvmti-agents/breakpoint-logger/Android.bp\n  tools/jvmti-agents/chain-agents/Android.bp\n  tools/jvmti-agents/dump-jvmti-state/Android.bp\n  tools/jvmti-agents/enable-vlog/Android.bp\n  tools/jvmti-agents/field-counts/Android.bp\n  tools/jvmti-agents/field-null-percent/Android.bp\n  tools/jvmti-agents/jit-load/Android.bp\n  tools/jvmti-agents/list-extensions/Android.bp\n  tools/jvmti-agents/simple-force-redefine/Android.bp\n  tools/jvmti-agents/simple-profile/Android.bp\n  tools/jvmti-agents/ti-alloc-sample/Android.bp\n  tools/jvmti-agents/ti-fast/Android.bp\n  tools/jvmti-agents/titrace/Android.bp\n  tools/jvmti-agents/wrapagentproperties/Android.bp\n  tools/signal_dumper/Android.bp\n  tools/tracefast-plugin/Android.bp\n  tools/veridex/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  sigchainlib/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-GPL-2.0\nto:\n  Android.bp\n  Android.mk\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0\n    SPDX-license-identifier-GPL-with-classpath-exception\nto:\n  dt_fd_forward/Android.bp\n  openjdkjvmti/Android.bp\n\nAdded SPDX-license-identifier-GPL-2.0\n    SPDX-license-identifier-GPL-with-classpath-exception\nto:\n  openjdkjvm/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: If775045c12955fa6d72d40ccf2a09beef93d1699\nMerged-in: If775045c12955fa6d72d40ccf2a09beef93d1699\n"
    },
    {
      "commit": "3e9abfc9779399815a7dc8d492466a1234b7fdcd",
      "tree": "fd1017f153d3759488914c4d372f543125722ad1",
      "parents": [
        "35b132e3377029a356cfbc9e4682e3ebceb83edf"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 09 22:17:51 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 23 10:03:13 2020 +0000"
      },
      "message": "Rename ART release APEX to com.android.art.\n\nTest: Build \u0026 boot on AOSP master\nTest: `m` on AOSP master, flipping\n  PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD between true and false, and\n  check out/target/product/bonito/symbols/apex/com.android.art.\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/tools/run-gtests.sh\nTest: m test-art-host-gtest\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nTest: m build-art-target-golem\nBug: 169639321\nChange-Id: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab\nMerged-In: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab\n"
    },
    {
      "commit": "36896be3815ce0db8dd5f23accfbee24492d7f8a",
      "tree": "fa9c3af4dc45508efa1fe557c9e8d8c65afd9753",
      "parents": [
        "69847caf009afebbc299e24a3cba890adb23750e"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Mar 09 14:23:23 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Apr 13 20:44:56 2020 +0000"
      },
      "message": "Don\u0027t call exit() while threads may be running\n\nIt\u0027s unsafe to call exit() in C++ while there are running threads.\nThe remaining threads would race with static destructors, including\nthose for the standard library. Call _exit instead.\n\nBug: 150176543\nTest: Boot AOSP, TreeHugger\nChange-Id: Ieabf68f43e8b520714643e5ec36a8ca72cc83254\n"
    },
    {
      "commit": "066dd902930582873e7d9372ac0c8483ac700cb9",
      "tree": "f3a0b47419fea78001faea017ba04e630e82fd2e",
      "parents": [
        "fb537087516e34e92e3c030ef2f7fc8b233d7a47"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Dec 19 02:11:59 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 20 01:17:37 2019 +0000"
      },
      "message": "Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMAR\n\nReason for revert: relanding with fix\nReverted Changes:\nIc4119368c:Revert submission 1191937-art_apex_available\nIa084976bb:Revert submission 1191937-art_apex_available\nIada86226d:Revert submission 1191937-art_apex_available\nIc76735eac:Revert submission 1191937-art_apex_available\nI1eb30e355:Revert submission 1191937-art_apex_available\nIcaf95d260:Revert submission 1191937-art_apex_available\nIe8bace4be:Revert submission 1191937-art_apex_available\nI8961702cf:Revert submission 1191937-art_apex_available\nI39316f9ef:Revert submission 1191937-art_apex_available\nI522a7e83b:Revert submission 1191937-art_apex_available\nI8b9424976:Revert submission 1191937-art_apex_available\nI48b998629:Revert submission 1191937-art_apex_available\n\nChange-Id: I7a101d39ff63c153675e4e741f9de1a15a778d33\n"
    },
    {
      "commit": "80599a28d1c865de7644a87111f49ee3b30f7c41",
      "tree": "e56dcf999630a752cd955a06c7f4c00b7add290b",
      "parents": [
        "1e88f980a85056165312331746862dc48186bc54"
      ],
      "author": {
        "name": "Joseph Murphy",
        "email": "murj@google.com",
        "time": "Thu Dec 19 01:06:54 2019 +0000"
      },
      "committer": {
        "name": "Joseph Murphy",
        "email": "murj@google.com",
        "time": "Thu Dec 19 01:06:54 2019 +0000"
      },
      "message": "Revert submission 1191937-art_apex_available\n\nOriginal Commit Message:\n\"\"\"\nRename modules that are APEX-only\n\nThe renamed modules are only available for APEXes, but not for the\nplatform. Use the \u003cmodule_name\u003e.\u003capex_name\u003e syntax to correctly install\nthe APEX variant of the modules.\n\"\"\"\n\nReason for revert: Build Cop - Breaks about 15 AOSP targets, with high confidence due to these changes being the only non-robot changes in those builds.\n\nReverted Changes:\nI190ce2d10:Use apex_available property\nI990e0a67e:Use apex_available property\nI0d1295683:Revert \"Avoid duplicated classes for boot dex jars...\nI5fb725403:Find the jar libraries in APEX from the correct pa...\nI322b1efcc:Rename modules that are APEX-only\nIfa2bd0f8f:Use apex_available property\nIac6533177:Use apex_available property\nIe999602c6:Use apex_available property\nI2a3d73397:Use apex_available property\nIc91bcbb9a:Use apex_available property\nIa6c324eed:Use apex_available property\nI964d0125c:Use apex_available property\n\nChange-Id: I1eb30e355cfce316b94cde0dd176002af8d222bb\n"
    },
    {
      "commit": "1e88f980a85056165312331746862dc48186bc54",
      "tree": "0cbeeaf951d6bd637a46f4f51faf80587f3ecc2b",
      "parents": [
        "c9af14e93f6a2691bf8231752d8d7c3e41b14c76"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Dec 02 13:44:06 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Dec 19 00:21:38 2019 +0000"
      },
      "message": "Use apex_available property\n\nUse apex_available property to prevent modules that are only for the ART\napex from being used outside of the APEX.\n\nThis change also fixes the reference to\n$(TARGET_OUT_SHARED_LIBRARIES)/$(lib).so to $(lib).com.android.art.debug\nphony module since the former is never installed to the system partition\ndue to their \u0027apex_available\u0027 settings.\n\nBug: 128708192\nBug: 133140750\nTest: m\nChange-Id: I990e0a67e066d9b1dc221748422a2f44449258da\n"
    },
    {
      "commit": "193efa454148afb105567676ef82d1b6844e8f9e",
      "tree": "5faa4aecff18bc53646ff39cf17a07de4e4550fc",
      "parents": [
        "07019298f72fda828ab7a48b86babf02f474ae5f"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Sep 25 10:35:47 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Sep 26 18:48:49 2019 +0000"
      },
      "message": "Disable leak detection locally.\n\nBefore it was disabled globally.\n\nBug: 141622862\nTest: build w/ ASAN on host\nChange-Id: I779d604c66ddce72ec8d939430373896be83f193\n"
    },
    {
      "commit": "d53f60658fb0d28279919cc856a55e4b6504dabe",
      "tree": "2e152d283254df61f7b18738a67e5fbce453c54b",
      "parents": [
        "fe1d952a9912bf597174dc636d0f87db06a8d925"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 22 14:55:21 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 27 15:11:58 2019 +0000"
      },
      "message": "Partially disable building ART for host on Mac.\n\nBuilding ART for host on Mac is not currently needed.\n\nBuilding ART for target on Mac still works.\n\nThe main motivation is remove the custom elf.h from the code base.\n\nBug: 73344075\nTest: \"m -j40\" on Mac.\nChange-Id: I4b6f7aa7b291dcb6d751374ecf8d15f35877bd2e\n"
    },
    {
      "commit": "057f1e4cfb6debd496b03c9f97de6c058aa6d850",
      "tree": "dad8f9f0a42f41646d6dd0fcf16532f88f67c106",
      "parents": [
        "f856934689a289b2bc82462e8757a170242bb44d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 03 14:11:48 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 16 13:45:12 2017 -0700"
      },
      "message": "Use target.linux for all linux kernel based targets\n\nNow in Android.bp files, target.linux applies to all targets running a\nlinux kernel (android, linux_glibc, linux_bionic). So common\nflags/sources/etc can be combined instead of copying them to each\ntarget.\n\nTest: m\nChange-Id: I33ca98425abdf4cae7a47aefa9b8708a1a41fa82\n"
    },
    {
      "commit": "99988f8dcad80e5baa02be571a9ec7c2540f1544",
      "tree": "de9794012369be66763e6c76ea88fd752469c7e2",
      "parents": [
        "f67f115423c9ef5aa62a33c12670cd8f89457c9c"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 02 10:41:07 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 02 10:41:07 2017 -0700"
      },
      "message": "Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]]\n\nIn the future, target.linux will apply to all targets running a linux kernel\n(android, linux_glibc, linux_bionic). So move all current users to the specific\nlinux_glibc.\n\nThere will be another cleanup pass later that will move some instances back to\ntarget.linux if the properties should be shared with target.android and\ntarget.linux_bionic, but target.linux needs to be removed first.\n\nTest: out/soong/build.ninja identical before/after\nChange-Id: Iea59380a4936c6d0555534d69b891b8ffdb9dfb6\nExempt-From-Owner-Approval: build system cleanup\n"
    },
    {
      "commit": "9389ae7309180f4dccc3c34e26798ed428f0d054",
      "tree": "d8ff0d871506ad2559c505b92495b1f5125fc4f6",
      "parents": [
        "350546494d6964daee2b9236820b7f85b88dfd59"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 27 11:58:43 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 27 15:11:33 2017 -0700"
      },
      "message": "Simplify Android.bp files\n\nRemove clang: true, it\u0027s the default.\n\nRemove target.android.shared_libs \"libdl\", since it\u0027s already part of\nthe system_shared_libs list.\n\nRemove host_ldlibs, since -ldl and -lpthread are automatically added on\nDarwin and Linux. -lrt is automatically added on Linux.\n\nTest: mmma art\nChange-Id: I18aa6aa5b49cad31caf6820b1974057ad14a2798\n"
    },
    {
      "commit": "2c30e4a2a2bd73c3e9d327d4b5d059b75cc0f798",
      "tree": "698286ee61f457069b5a53ca6869319b8d9e5acb",
      "parents": [
        "3157fc26d96951ff4acfb4feb4597e74a92da2a7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 11:31:32 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 16:06:00 2017 -0700"
      },
      "message": "ART: Remove art and art/runtime include_dir directives\n\nRemove some overly broad or unnecessary include directives. Fix up\ncode.\n\nTest: mmma art\nChange-Id: Ic2da319f39102d59566e780f3e15fe007a3c36d6\n"
    },
    {
      "commit": "56bd56262320a37c1823f28d9f8bd087da2944be",
      "tree": "f4c69e6ee512d1dc425c6fe90403c8b0faff23b9",
      "parents": [
        "6c13ce8b4ccdb6127c4428cf8b2c8261dccced20"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 10:31:46 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 10:31:46 2017 -0700"
      },
      "message": "dalvikvm.cc: use proper nativehelper headers\n\nlibnativehelper exports headers under nativehelper. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using dalvikvm.cc find headers\nBug: 63762847\nChange-Id: I24776efb77b7d86d3b9d2ef78bc17bffe2e02f33\n"
    },
    {
      "commit": "e431e2758d62cf56f7f347f5a8c9d79e41b6dcd7",
      "tree": "b8733533e2478069aabbdc3a34d0f40aff33e1b1",
      "parents": [
        "b98d384eb424ad7e1dc9816392ded33dce0e0372"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jul 18 16:53:49 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jul 18 18:25:55 2017 -0700"
      },
      "message": "art: use proper nativehelper headers\n\nlibnativeheader exports headers under nativeheader. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using art find headers\nBug: 63762847\nChange-Id: I5c820d677e94e07b2859e78610bc997fe51b41dc\n"
    },
    {
      "commit": "fe6064ae8b861f1290aa793ce0de219781da6a10",
      "tree": "a24da585adbafc5932e4c3aab07f0e1d9a639628",
      "parents": [
        "090a5da3a7f320b9d2aa9fa461efc11a7eb39392"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 30 13:49:26 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 08 11:00:53 2016 -0700"
      },
      "message": "Convert more of art to Android.bp\n\nRelanding I1b10f140e17dd5e12a9d7f6a29d47cf61f5bf6ef, with fixes to\ncompile dalvikvm32 and dalvikvm64, and add them as dependencies of\ntests.  Also fixes HOST_PREFER_32_BIT by moving the override from the\ndefaults, which are not used by everything in art, to the art_cc_binary\nmodule type.\n\nTest: rm -rf out/host; m -j HOST_PREFER_32_BIT test-art-host; m -j test-art-host\nChange-Id: I64d3eef5080e128103d052497760c3521cc253c6\n"
    },
    {
      "commit": "1a861719fdadf1a27cf7df9955311cc7d4d4c217",
      "tree": "c15c6f0b213845b20a0bae8b900940a4eecdd3f5",
      "parents": [
        "e251b1204f678919e37da32667fab2c5bbcbbb76"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 07 00:16:35 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 07 00:17:20 2016 -0700"
      },
      "message": "Revert \"Convert more of art to Android.bp\"\n\nThis reverts commits 4a456275e25c536f525b6c020ca38c8ada8a05de and\n198a957915eb75c5f837ea57d385aa6cfa69f76e.\n\nChange-Id: Ibe49f611ae3ed7748bcfc9ac07f8d1f52d6bea3a\n"
    },
    {
      "commit": "198a957915eb75c5f837ea57d385aa6cfa69f76e",
      "tree": "02390313c4439f2c5cd939456c2bde406d803228",
      "parents": [
        "2a3e3446a80e437c22051c1e64bd0dfd7c7f3bd1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 06 19:32:39 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 06 19:34:53 2016 -0700"
      },
      "message": "Fix art tests\n\ndalvikvm needs to be compiled for 32-bit and 64-bit.\n\nChange-Id: I184d7e4e3338c0858b0520f7eba7f9b256cfc02a\n"
    },
    {
      "commit": "4a456275e25c536f525b6c020ca38c8ada8a05de",
      "tree": "f30cb1bbca4dbacc264409ae408a740f2c4dd04d",
      "parents": [
        "9d185da3bef8caf015d3dbf4ad79c520af7ce3b1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 30 13:49:26 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 06 12:15:24 2016 -0700"
      },
      "message": "Convert more of art to Android.bp\n\nChange-Id: I1b10f140e17dd5e12a9d7f6a29d47cf61f5bf6ef\n"
    },
    {
      "commit": "dac87e97af207741d450016161b62d085254901c",
      "tree": "2e461d412273b5eefb913561f987be0004c34d6a",
      "parents": [
        "9f98286cf29d226b05b10ef96f18d9938392fa67"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 23 20:24:11 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 23 20:24:11 2016 -0700"
      },
      "message": "ART: Remove -std\u003dgnu++11\n\nWe no longer have to restrict ourselves, with GCC gone. Pick up\nthe default from the build system (which is at least as good).\n\nChange-Id: I98b4a82944b7e16a80fbeac1d43c9e7ed0d17a6a\nTest: m test-art-host\n"
    },
    {
      "commit": "754a4457ff34aa35336284e633be7ac0a23a683d",
      "tree": "3ea3b3d55adde88d3f34212e60ce6fd3ed667831",
      "parents": [
        "af0365ac6a4c7d242df6f50c4da69ba0ff67e3f1"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Jul 21 12:05:30 2015 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Jul 21 12:05:30 2015 -0700"
      },
      "message": "Prefer 32-bit host executables on Mac.\n\nBug: 22527295\nChange-Id: I2cb1d3086b65b8227e6bdac9c0485fdc452f1e9c\n"
    },
    {
      "commit": "2cebb24bfc3247d3e9be138a3350106737455918",
      "tree": "d04d27d21b3c7733d784e303f01f873bb99e7770",
      "parents": [
        "1f02f1a7b3073b8fef07770a67fbf94afad317f0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 21 16:50:40 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 22 12:44:27 2015 -0700"
      },
      "message": "Replace NULL with nullptr\n\nAlso fixed some lines that were too long, and a few other minor\ndetails.\n\nChange-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb\n"
    },
    {
      "commit": "fc58af45e342ba9e18bbdf597f205a58ec731658",
      "tree": "3f93906235cb4d2462d237223b72ccf4eedef645",
      "parents": [
        "bbf02afc641a393d33342976e269218668c07386"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 16 18:00:39 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 21 15:51:29 2015 -0700"
      },
      "message": "Add AbstractMethod, Constructor, Method\n\nMoves functionality to ART from libcore. Precursor to moving\nArtMethods to native. Mostly performance improvements.\n\nN5 perf before (irrelevant results removed):\n            Class_getConstructor  962.87 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n         Class_getDeclaredMethod 2394.37 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                 Class_getMethod 2509.20 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n               Class_newInstance 1999.81 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                  Method_invokeI 1439.02 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n          Method_invokePreBoxedI 1415.82 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n            Method_invokeStaticI 1456.24 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    Method_invokeStaticPreBoxedI 1427.32 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n            Method_invokeStaticV  814.47 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                  Method_invokeV  816.56 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nAfter:\n                       benchmark      ns linear runtime\n            Class_getConstructor 1302.04 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n         Class_getDeclaredMethod 1459.01 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                 Class_getMethod 1560.40 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n               Class_newInstance 2029.94 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                  Method_invokeI 1312.89 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n          Method_invokePreBoxedI 1255.01 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n            Method_invokeStaticI 1289.13 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    Method_invokeStaticPreBoxedI 1196.52 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n            Method_invokeStaticV  790.82 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                  Method_invokeV  791.73 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nPerformance improvements are more than just fixing regressions introduced\nin: http://android-review.googlesource.com/#/c/146069/\n\nBug: 19264997\n\nChange-Id: Ife79c469fdb09f30e3aefcfc3e0ce5ed32303fce\n"
    },
    {
      "commit": "7de85cab98eded9706c09a4704d12db0e49eb263",
      "tree": "83ee41c26f0780f35e2e10634f26c7f40fb64fdc",
      "parents": [
        "a3164b9b0e44a839d2bc1b7985df5d00087f86f8"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 01 11:17:46 2015 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 02 22:31:41 2015 +0000"
      },
      "message": "Remove version-script option\n\n  Version script was used to limit number of symbols\n  exposed by main executable because of --export-dynamic\n  option. This was overthinking on my part which can\n  lead to unwanted side-effects like not working asan.\n\nChange-Id: Iaab4d38f86ddf21357d26d21d35c9ed6e7ff989e\n"
    },
    {
      "commit": "31fb26054349db03b3f1627fe975ed099ade69dd",
      "tree": "1584fbca9d5099a25ca857531b846f5b05b61de9",
      "parents": [
        "28acb6feb50951645c37c077bd3897ea760ca322"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 30 22:10:10 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jan 30 08:57:51 2015 -0800"
      },
      "message": "Add options for building/testing with coverage.\n\n    acov --clean\n    mm -B NATIVE_COVERAGE\u003dtrue ART_COVERAGE\u003dtrue test-art-host\n    acov --host\n\n-B is needed because you need to be sure you rebuild *all* of ART with\ncoverage.\n\nChange-Id: Ib94ef610bd1b44dc45624877710ed733051b7a50\n"
    },
    {
      "commit": "f36df544d421aa60fc4cf8a5db6356b45f97953b",
      "tree": "85c2a17e6ccdee567c0aee669a6b949a9eead1a8",
      "parents": [
        "ab7f56d9b9838811cb01773e45999e2cda4aa03a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 29 13:28:13 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 29 13:28:13 2015 -0800"
      },
      "message": "Remove libcxx.mk cruft.\n\nThis is on by default now. No need to leave it in the makefiles.\n\nChange-Id: I20eab7426da4bbbf8b70ffc5b9af7b97487d885d\n"
    },
    {
      "commit": "e49a4f6db74f4e66486a6aaf6564f997a94e230f",
      "tree": "b99b8699a8d9521caf973d48bef1d3fd7efc6726",
      "parents": [
        "1c1786f193323d3bd706463894001117f3471595"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 20 14:11:00 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 20 16:46:29 2014 -0700"
      },
      "message": "Link libsigchain.a instead of sigchain.o\n\n  Relative paths may sometimes lead to failed builds\n  if sources are built in particular order.\n\n  Also it is possible to export symbols from static lib\n  with LOCAL_WHOLE_STATIC_LIBRARIES variable.\n\nChange-Id: I6d62594c2e84020d67254747c1fd465e1144920e\n"
    },
    {
      "commit": "2eebc9956095f3fb510692acda478f39a364fb74",
      "tree": "6bb56e0305e0be1fced1720446bdbc9f2bc195af",
      "parents": [
        "e974c704991378162e68a67f5e63607984e38567"
      ],
      "author": {
        "name": "Piotr Jastrzebski",
        "email": "haaawk@google.com",
        "time": "Fri Oct 17 12:40:38 2014 +0100"
      },
      "committer": {
        "name": "Piotr Jastrzebski",
        "email": "haaawk@google.com",
        "time": "Fri Oct 17 12:42:41 2014 +0100"
      },
      "message": "Fix error message to match the code.\n\nThe code checks that curr_opt \u003e option_count\nbut error message says that curr_opt \u003e\u003d option_count.\n\nChange-Id: I19cd077e2383ad9a368e324a1e35cc98170a40a4\n"
    },
    {
      "commit": "8b5b69813ef4d718db2e38e51867883511a3eeea",
      "tree": "ae0e2b8dfe9ae64554a43a20acdf47173295b43c",
      "parents": [
        "cfd8adec84701752a56ddccf556b8c40142a9e0f"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 14 17:55:28 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 14 17:55:28 2014 -0700"
      },
      "message": "Fix mac build (second attempt)\n\n  It appears that the version of mac ld with\n  -export_dynamic is pretty recent.\n\n  Remove -export_dynamic to fix build for older\n  mac versions (?)\n\nChange-Id: Ibc3b2f9a0aeec9125cd73b7df0cf22de9e8e4d16\n"
    },
    {
      "commit": "1d74e57fa22fbcad1e14d776c771472b2d8438fb",
      "tree": "44df335a7c560fcdb47560b6c27750af4a54b0d4",
      "parents": [
        "58e51f38e2304a08aa9ec380383e0b3614f96a96"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 14 12:18:10 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 14 15:55:57 2014 -0700"
      },
      "message": "Fixing mac build\n\n MacOS static linker does not understand --export-dynamic\n and --version-script. According to man ld there is\n -export_dynamic option which should do the same\n thing.\n\nChange-Id: I8cde8c6c7305bebbbcc9dded143fa5cdaf386d65\n"
    },
    {
      "commit": "f57874dddefc03fef9ad36fbdd87e39a08a8d641",
      "tree": "4cb51f492558475368ce0df190c12e8f1adf732a",
      "parents": [
        "1000e69b7e11348f2e1d3ba67339616a647f53d7"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 07 13:43:23 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 07 16:52:46 2014 -0700"
      },
      "message": "Remove libsigchain from LD_PRELOADS\n\n  Link sigchain.cc statically with dalvikvm, app_process,\n  surfaceflinger, dex2oat, patchoat and objdump.\n\n  Replace libsigchain.so with dummy implementaions to avoid\n  situations when it is used incorrectly.\n\nBug: 15345057\nBug: 15426766\nChange-Id: If0b7f59a59824e30aa0c33dad76c7a44932180de\n"
    },
    {
      "commit": "906c27d7cb57c11c48d370b1cd6b534c362e2f53",
      "tree": "2d58808ecc3466cb7c6f655c50ba9647057427ba",
      "parents": [
        "642fa1e747b7a97b62267cf04959eb0e7543de3f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jun 29 15:03:29 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jun 29 15:23:23 2014 -0700"
      },
      "message": "Make ART_HOST_EXECUTABLES and ART_TARGET_SUPPORTED_ARCH include dalvikvm32 and dalvikvm64 as needed\n\nChange-Id: Ica949eb73c081f10d28cc2fcfeb8e968eb1d52bb\n"
    },
    {
      "commit": "a929ded5e715620726f962910ce515280bea4ee1",
      "tree": "0a4c6ac93a0d7d5cf03ab77ca8b56c35b2a16c5f",
      "parents": [
        "baa1323d66a05fd2d7b9c6c131b232945b0a4ebb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jun 25 21:32:30 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jun 27 17:27:16 2014 -0700"
      },
      "message": "Create a dalvik symlink on the host.\n\nChange-Id: I6cf331141a118d7248fd4eff68cce302dcd7bcca\n"
    },
    {
      "commit": "afd9acc30bdd11cdd12d8209eb994cb371c65e33",
      "tree": "10ebfa28d992a96422fcf81eb28c98393719e9a6",
      "parents": [
        "ba778fae99ec3b38d4f98262e6b7072bab0e9de4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 17 08:21:54 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 24 16:47:31 2014 -0700"
      },
      "message": "Multilib ART host.\n\nBuild ART for the host as a multilib project with dalvikvm32 and dalvikvm64\nrunning as 32 or 64-bit repsectfully. Note, currently multilib host builds\nare not the default, you make the so by setting BUILD_HOST_64bit\u003d1.\nExtend tests to execute in both 32 and 64-bit modes. By default both 32 and\n64-bit tests are run, add 32 or 64 to the end of a test name to run it in\npurely that flavor.\nGiven the extra spam, modify oat tests to only generate console output when\nthe test fails.\nChange the test harness so that common commands are run when a test should be\nskipped, when it passes or when it fails. Use these commands to generate a\nsummary of passing, skipped and failing tests. Tests will be skipped if they\nare known to be broken or if a test has already failed. Setting the variable\nTEST_ART_KEEP_GOING\u003dtrue will force working tests not to be skipped.\nIn this change all tests running on the optimizing compiler are marked broken\ndue to breakages running them in a multilib environment.\nBreak apart Android.common.mk into its constituent parts, along with other\npieces of reorganization.\n\nStylistic nit, we refer to make rule targets as targets thereby overloading\nthe term target. While consistent with make\u0027s terminology, its confusing with\nthe Android notion of target. I\u0027ve switched to just calling targets rules to\navoid confusion in host tests.\n\nChange-Id: I5190fc3de46800a949fbb06b3f4c258ca89ccde9\n"
    },
    {
      "commit": "c5f17732d8144491c642776b6b48c85dfadf4b52",
      "tree": "811daa488ae5ee5dfd9b3b73bd210bc1506e5ca1",
      "parents": [
        "08654d40cdd256f6a6c8619bf06d04d4c819714a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 05 20:48:42 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 10 23:19:29 2014 -0700"
      },
      "message": "Remove deprecated WITH_HOST_DALVIK.\n\nBug: 13751317\nFix the Mac build:\n - disable x86 selector removal that causes OS/X 10.9 kernel panics,\n - madvise don\u0027t need does zero memory on the Mac, factor into MemMap\n   routine,\n - switch to the elf.h in elfutils to avoid Linux kernel dependencies,\n - we can\u0027t rely on exclusive_owner_ being available from other pthread\n   libraries so maintain our own when futexes aren\u0027t available (we\n   can\u0027t rely on the OS/X 10.8 hack any more),\n - fix symbol naming in assembly code,\n - work around C library differences,\n - disable backtrace in DumpNativeStack to avoid a broken libbacktrace\n   dependency,\n - disable main thread signal handling logic,\n - align the stack in stub_test,\n - use $(HOST_SHLIB_SUFFIX) rather than .so in host make file variables.\n\nNot all host tests are passing on the Mac with this change. dex2oat\nworks as does running HelloWorld.\nChange-Id: I5a232aedfb2028524d49daa6397a8e60f3ee40d3\n"
    },
    {
      "commit": "2a0e954ecf7c60e6ec62d64b9382cc4ee447e224",
      "tree": "37d22f5d9e221ecd8a68c41d430e7b21fa3f54d1",
      "parents": [
        "299d2a2b200a94daa49c4727fd679f4461c083c7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed May 21 14:55:02 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed May 21 19:47:17 2014 -0700"
      },
      "message": "Move art host to libc++\n\nChange-Id: Ia51a4fdfdbae7377130a43c401c2d8d241671d1e\n"
    },
    {
      "commit": "700a402244a1a423da4f3ba8032459f4b65fa18f",
      "tree": "4c22fcda04d271bd55a37aff30650214af17a90c",
      "parents": [
        "047c11adcbcbc0bcf210defdfcbada763961ffee"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 16:49:03 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 22:27:39 2014 -0700"
      },
      "message": "Now we have a proper C++ library, use std::unique_ptr.\n\nAlso remove the Android.libcxx.mk and other bits of stlport compatibility\nmechanics.\n\nChange-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61\n"
    },
    {
      "commit": "866ac80d18c37a3854a8c857cb084614fba01110",
      "tree": "2b15c2faf3865f3c88d02e57f3fa5fcba56a8559",
      "parents": [
        "245e536fbe303a114cf3f2535122fcb327a243b7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 16 12:27:03 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 16 12:27:03 2014 -0700"
      },
      "message": "Add missing header necessary for libc++.\n\nChange-Id: I0fe951f681415cf40b3e3f606feffd5bd6bd14c8\n"
    },
    {
      "commit": "701318227c322f78a7cb466961b9a058e91a7eb9",
      "tree": "1e84513a05c7351d1ff2d06e509fb43304455d0b",
      "parents": [
        "c006db38389748e5fa9508c4ef32cc57fd68a014",
        "2bb44365e732c935f2de3ed574f2abc3ae27cdeb"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri May 16 12:18:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 16 12:18:10 2014 +0000"
      },
      "message": "Merge \"dalvikvm: create the dalvikvm symlink to the primary version\""
    },
    {
      "commit": "507dfdd147c97bfbadebfd63584d094b6a4e7b47",
      "tree": "cce43931b6dcd088cb2932c2491f86116353a27f",
      "parents": [
        "922ddb30982d2597eab634d8b8598bec0eb7d3b7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:42:40 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:50:51 2014 -0700"
      },
      "message": "Compatibility layer to transition from UniquePtr to std::unique_ptr.\n\nUse ART_WITH_STLPORT (enabled for the target) to cause the use of UniquePtr,\nfor the host switch to std::unique_ptr. For now the type remains called\nUniquePtr.\nMake dalvik compile with clang on the host, move its build to C++11.\n\nChange-Id: I5ba8d2757904bc089ed62047ea03de3c0853fb12\n"
    },
    {
      "commit": "2bb44365e732c935f2de3ed574f2abc3ae27cdeb",
      "tree": "f02486cad847b4d4b071535583a5ec251bf56bdf",
      "parents": [
        "6f2b602999a9b5253de98e4c8749f821b0046ac2"
      ],
      "author": {
        "name": "Yongqin Liu",
        "email": "yongqin.liu@linaro.org",
        "time": "Tue May 13 17:51:47 2014 +0800"
      },
      "committer": {
        "name": "Yongqin Liu",
        "email": "yongqin.liu@linaro.org",
        "time": "Thu May 15 01:24:34 2014 +0800"
      },
      "message": "dalvikvm: create the dalvikvm symlink to the primary version\n\nuse executable_prefer_symlink.mk to create the dalvikvm symlink\nto the primary version of dalvikvm command.\nSo that the modules call dalvikvm command don\u0027t need to change again.\n\nChange-Id: Ie5cefc26dc90fb56c35b6b9e4537eda126f61ea1\nSigned-off-by: Yongqin Liu \u003cyongqin.liu@linaro.org\u003e\n"
    },
    {
      "commit": "bd5ea6a2f7c61c4cd7b66fead1bedd96e938369d",
      "tree": "1c1dde0d817303e669c413a919c192e2f3463bb0",
      "parents": [
        "5e17616b7386159cef8f2fb6ffe3cbc4fb1373e4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 16:34:44 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 16:35:44 2014 -0700"
      },
      "message": "Preparation for transition to libc++.\n\nMove the dependency on libc++ to its own makefile so that we can switch in a\nsingle place between libc++ and stlport.\n\nChange-Id: Ie61e7d054dcd049e36d5e7298c27d8a4abe6edf7\n"
    },
    {
      "commit": "afbaa1aab02cfe519d00336870b1bcd24b61378d",
      "tree": "ec33583d52a42ee49082f4bce404e8c434cfd8f5",
      "parents": [
        "8ce67ac16abcd25b376be622cbd20a34aec4a59d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 25 18:09:32 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 01 13:58:32 2014 -0700"
      },
      "message": "Build changes to build multilib tests\n\nTest files will be emitted into directories for both first and second\ntarget architectures. Going with the naming scheme for binaries,\nsingle-architecture and 32b cases have the standard name, and\n64b goes into a directory with \"64\" suffix.\n\nIn multi-architecture setups, the default concrete test targets are\nextended with a \"32\" and \"64\" suffix, e.g., test-art-target-oat-JniTest64.\nThe suffix-less form is linked to the primary architecture target (usually 64).\nThat means running combined targets, e.g., test-art-target-oat, will only\ntest the primary architecture right now.\n\nFixed target run tests calling the right dalvikvm. Fixed library search\npath for tests derived from CommonRuntimeTest.\n\nMissing in this work-in-progress is correct handling of dex2oat for the\nsecondary architecture. To make it work on 64b, comment out line 101\nin build/Android.executable.mk\n\nChange-Id: I3d260994e6efe8b73b56c71994053cc9392943a9\n"
    },
    {
      "commit": "686107ea2f123edf8fbba2df5081a5f0b6de4d13",
      "tree": "66cd50556da0d17c43e90eaf752aa642cde72348",
      "parents": [
        "ef2cc5a9c6e508a3e8b24d04ca35f7422f27e112"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Feb 25 23:08:33 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Feb 25 23:35:49 2014 -0800"
      },
      "message": "Fix dalvikvm -help\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d62149\nChange-Id: I8ab11cc7c171dc4b7eee1d33aa1624aae832a393\n"
    },
    {
      "commit": "d9c4fc94fa618617f94e1de9af5f034549100753",
      "tree": "1305efbbc3d4bc306c0947bb6d4b01553667f98e",
      "parents": [
        "7ef126ce0593929bcf8fb73d8b1119ce3b95b3f2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 01 19:45:43 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 02 09:31:55 2013 -0700"
      },
      "message": "Inflate contended lock word by suspending owner.\n\nBug 6961405.\nDon\u0027t inflate monitors for Notify and NotifyAll.\nTidy lock word, handle recursive lock case alongside unlocked case and move\nassembly out of line (except for ARM quick). Also handle null in out-of-line\nassembly as the test is quick and the enter/exit code is already a safepoint.\nTo gain ownership of a monitor on behalf of another thread, monitor contenders\nmust not hold the monitor_lock_, so they wait on a condition variable.\nReduce size of per mutex contention log.\nBe consistent in calling thin lock thread ids just thread ids.\nFix potential thread death races caused by the use of FindThreadByThreadId,\nmake it invariant that returned threads are either self or suspended now.\n\nCode size reduction on ARM boot.oat 0.2%.\nOld nexus 7 speedup 0.25%, new nexus 7 speedup 1.4%, nexus 10 speedup 2.24%,\nnexus 4 speedup 2.09% on DeltaBlue.\n\nChange-Id: Id52558b914f160d9c8578fdd7fc8199a9598576a\n"
    },
    {
      "commit": "f409f8134fa7222bc56f50a96cd541bb76ce75e9",
      "tree": "f95ef3efd5d543d8c179c906d2b70a438e5a6437",
      "parents": [
        "95521cedc191027245655105f6f5b7c87654a364"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 11 15:15:09 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 11 15:15:09 2013 -0700"
      },
      "message": "Add explicit dependency on algorithm\n\nChange-Id: I3edb34b3c3a1e89a195db18ad8e6a71bc7b4a570\n"
    },
    {
      "commit": "fa50baa45bf7c82e489bd66bbba70544f7981997",
      "tree": "bc05fc5bcea90af367499076a0cbc46a06d6dfc0",
      "parents": [
        "e5426c9995d28bcb19391d8dbf0ad70606cf1770"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 02 01:00:27 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 02 01:13:46 2013 -0700"
      },
      "message": "Restore build-art minimal build\n\nChange-Id: I0f4f2e8c6d2505a339cb9a1175d30ed9b229c45d\n"
    },
    {
      "commit": "025218c7e4330a4942b14f9a8f1f68bd3390261c",
      "tree": "8bfc33d0dcc9d5687845cea2c8d24a5020b1aa3a",
      "parents": [
        "2724776ad521eebb1c7f0e4be56d6e6ab4764f86"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 30 17:13:06 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 30 17:13:06 2013 -0700"
      },
      "message": "Clean up stlport usage.\n\nChange-Id: I133cd88f1da37f6f801a9e07a78ae23b671cf4f1\n"
    },
    {
      "commit": "7934ac288acfb2552bb0b06ec1f61e5820d924a4",
      "tree": "43f3acd8af7fd34d4ae7b64f6e06bb8429d74bb8",
      "parents": [
        "fb331d7ca004f39608fcfdae49d38df90c702ea9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 10:54:15 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 11:55:10 2013 -0700"
      },
      "message": "Fix cpplint whitespace/comments issues\n\nChange-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496\n"
    },
    {
      "commit": "934313b5b14474fee3b84bbda0f0d3fe4805c63f",
      "tree": "19f52c6782289999da34aeba2448e6fe5641edf1",
      "parents": [
        "534f2b6f430c7984fda9333f8e72b37962b144b4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 11 13:01:37 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 11 13:01:37 2013 -0700"
      },
      "message": "Let dalvikvm default based on persist.sys.dalvik.vm.lib\n\nChange-Id: I0e2aa9b1227d9665c37366d6d7bdca2b6c009271\n"
    },
    {
      "commit": "0eba633357c6c01b298434c7fd8a5705b5b2e18f",
      "tree": "88ff7d988b4e7691403c48caa5a72100c877d2ff",
      "parents": [
        "ad27f28fa7516b169ee9947ca24a04fd5600f2e6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 19 15:08:24 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 20 16:53:02 2013 -0700"
      },
      "message": "Use libnativehelper to find JNI_CreateJavaVM\n\nChange-Id: If5da43aee75a3ac5337a90b25264ac30129e3933\n"
    },
    {
      "commit": "ad27f28fa7516b169ee9947ca24a04fd5600f2e6",
      "tree": "13952eac9f9ca30c93cf118fe4b9a26d31bed66e",
      "parents": [
        "35bd61a3e107b3bd30550d268dd708b0381af04a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 18 16:32:51 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 18 16:32:51 2013 -0700"
      },
      "message": "Add missing dlclose\n\nChange-Id: I02c893fc59f0d3bea8a24c4c0fc39e2f34592a34\n"
    },
    {
      "commit": "35bd61a3e107b3bd30550d268dd708b0381af04a",
      "tree": "2f0a71d63c45103a0d28f586f6a04de15abe6dcc",
      "parents": [
        "fa42b4410d49134a8e63dc2196be4013d286f2d6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 18 14:49:30 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 18 14:51:30 2013 -0700"
      },
      "message": "Fix Mac build by making dalvikvm definition visible\n\nChange-Id: Ic8ef59f7bf9a88785b1c5e7fcc11a0942ef096a0\n"
    },
    {
      "commit": "fa42b4410d49134a8e63dc2196be4013d286f2d6",
      "tree": "71e325089092167f202fbdf763daaf700cfd4a4b",
      "parents": [
        "7675e16bcae06c0fe258aad89b3d511037dec399"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 12:53:45 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 19:01:40 2013 -0700"
      },
      "message": "Move to new art dalvikvm\n\nChange-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7\n"
    }
  ]
}
