)]}'
{
  "log": [
    {
      "commit": "b747b7aa66e41160e5811ab824f93a38b2bf4ef3",
      "tree": "4f7b551f53657f077abb3f60281ea63903bb8cda",
      "parents": [
        "dc7f139c99987f7029ec5dfb8b69cf45e788435d"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 03 18:40:17 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 09 15:30:21 2021 +0000"
      },
      "message": "Move the bionic_libc_platform_headers dependency to where it is used.\n\nTo avoid dependencies in the common default.\n\nTest: art/build/apex/runtests.sh\nTest: m art-module-sdk art-module-{host,test}-exports\nBug: 204364566\nChange-Id: If9c5732c55b22928c98042c3da28690cae01803f\n"
    },
    {
      "commit": "073885cca8f9c52cc11629f9933ef97b6686bcfa",
      "tree": "33a4a90eb66e0536fb037f3492cb6255d3c845a4",
      "parents": [
        "96d8f4f3cf969ba8ab61abfb813b47969fe73bcc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 14 14:35:15 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 17 22:54:50 2021 +0000"
      },
      "message": "Fix art compiling against musl\n\nFix various issues when compling art against musl:\n\nCheck for ANDROID_HOST_MUSL when defining strlcpy and sig*64.\n\nRemove error.h, its not used and doesn\u0027t exist in musl.\n\nInclude time.h that was being included transitively in glibc but\nnot in musl.\n\nAdd the musl libc library name to the list.\n\npthread_sigqueue takes a sigval, not a sigval_t.\n\nBug: 190084016\nTest: m USE_HOST_MUSL\u003dtrue\nChange-Id: I2548ef0013234c42efded411c733450c19434855\n"
    },
    {
      "commit": "496e837a3a4cdddc95f87c6bdf5ea455015f63d0",
      "tree": "47b1d16d3c6c4a2987831454ad8a502bbff753a2",
      "parents": [
        "8d3d64f57da1cd501405d1e5588cdf18ac1894ee"
      ],
      "author": {
        "name": "sunny.kuo",
        "email": "sunny.kuo@mediatek.com",
        "time": "Wed Aug 18 10:32:48 2021 +0800"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Aug 18 13:09:19 2021 +0000"
      },
      "message": "sigchain: print ucontext in fatal error log\n\nBecause it\u0027s hard to debug when ucontext is optimized,\nto print ucontext in fatal error log.\n\ngdb log:\n #1  0xa98b52be in art::SignalChain::Handler (signo\u003d11, siginfo\u003d0xae4cec88, ucontext_raw\u003d\u003coptimized out\u003e)\n    at art/sigchainlib/sigchain.cc:408\n\nTest: trigger fatal error by sending signal 11 to a process\nChange-Id: I204c308e5d1d0b8d12ab15045a7426e64ccd8e2e\nBug: 197044435\n"
    },
    {
      "commit": "f040914a122be86e280efe5e31af1168f2b7c72e",
      "tree": "8ea3fa76be8f215d36977477015ed7f9f3a2f65c",
      "parents": [
        "b4bd92f27fb143135870d07b459ea52637afcfa5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 22 15:45:03 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 06 10:52:35 2021 +0000"
      },
      "message": "Uncouple ART gtests from the ART APEX.\n\nIntroduce standalone versions of ART gtests on target, not bundled\nwith the ART APEX.\n\nSo far ART gtests have always been built as debug artifacts (and\nlinked against ART debug libraries). Make some adjustments in some of\nthese tests so that they can also work as non-debug artifacts and be\nused with the Release ART APEX (which contains only non-debug\nartifacts).\n\nNewly added tests:\n* `art_standalone_cmdline_tests`\n* `art_standalone_compiler_tests`\n* `art_standalone_dex2oat_tests`\n* `art_standalone_dexdump_tests`\n* `art_standalone_dexlist_tests`\n* `art_standalone_dexoptanalyzer_tests`\n  * Note: Requires root access to the device.\n* `art_standalone_libartbase_tests`\n* `art_standalone_libartpalette_tests`\n* `art_standalone_libartservice_tests`\n* `art_standalone_libarttools_tests`\n* `art_standalone_libdexfile_support_tests`\n* `art_standalone_libdexfile_tests`\n* `art_standalone_libprofile_tests`\n* `art_standalone_oatdump_tests`\n* `art_standalone_odrefresh_tests`\n* `art_standalone_profman_tests`\n  * Note: Requires root access to the device.\n  * Note: Some tests (2 out of 37) are failing in multi-ABI\n    contexts and have been temporarily disabled.\n* `art_standalone_runtime_compiler_tests`\n* `art_standalone_runtime_tests`\n  * Note: Some tests (16 out of 686) are failing and have been\n    temporarily disabled.\n  * Note: Some tests (4 out of 686) are failing in multi-ABI\n    contexts and have been temporarily disabled.\n* `art_standalone_sigchain_tests`\n\nTests not added:\n* `art_standalone_dexanalyze_tests`\n  * Reason: ART binary `dexanalyze` is not part of the Release ART APEX.\n* `art_standalone_dexdiag_tests`\n  * Reason: ART binary `dexdiag` is not part of the Release ART APEX.\n* `art_standalone_dexlayout_tests`\n  * Reason: ART binary `dexlayout` is not part of the Release ART APEX.\n* `art_standalone_imgdiag_tests`\n  * Reason: ART binary `imgdiag` is not part of the Release ART APEX.\n\nTest: atest -a art_standalone_cmdline_tests\nTest: atest -a art_standalone_compiler_tests\nTest: atest -a art_standalone_dex2oat_tests\nTest: atest -a art_standalone_dexdump_tests\nTest: atest -a art_standalone_dexlist_tests\nTest: atest -a art_standalone_dexoptanalyzer_tests\nTest: atest -a art_standalone_libartbase_tests\nTest: atest -a art_standalone_libartpalette_tests\nTest: atest -a art_standalone_libartservice_tests\nTest: atest -a art_standalone_libarttools_tests\nTest: atest -a art_standalone_libdexfile_support_tests\nTest: atest -a art_standalone_libdexfile_tests\nTest: atest -a art_standalone_libprofile_tests\nTest: atest -a art_standalone_oatdump_tests\nTest: atest -a art_standalone_odrefresh_tests\nTest: atest -a art_standalone_profman_tests\nTest: atest -a art_standalone_runtime_compiler_tests\nTest: atest -a art_standalone_runtime_tests\nTest: atest -a art_standalone_sigchain_tests\nTest: atest -a art_standalone_\\*_tests\nTest: m art_chroot \u0026\u0026 atest ArtGtestsTargetChroot\nBug: 162834439\nBug: 162734417\nChange-Id: I8beda9159d48c4ca495698357dc3bd95e3ff84d5\n"
    },
    {
      "commit": "738060c9c5e3c58bf5270fd03361183163c4fc1d",
      "tree": "c4bc4e7557852d9f51f0cb147591edc3543f0ca6",
      "parents": [
        "d3e9ff326a511ef48ea85afd2de9c292aa6ea20b"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 30 13:45:05 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Apr 12 21:49:51 2021 +0000"
      },
      "message": "Avoid internal APEX stubs for libsigchain and clean up exported symbols.\n\nThis relands the remaining part of https://r.android.com/1658000 after\ndecoupling it from the topic that caused b/184239856.\n\nTest: art/tools/buildbot-build.sh {--target,--host}\n  on master-art\nTest: m droid\n  on AOSP master\nBug: 182563345\nBug: 183882457\nChange-Id: I6ef028fd189c2300d1cb9e02a4e48226bb721edb\n"
    },
    {
      "commit": "5557553ae9568dcd8923173e7f32fac3900909c4",
      "tree": "301a30fe901e15f503e7da04b69e8580983b9e01",
      "parents": [
        "30ba3a02a5c904bbab68b25888f353b94ab42016"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Apr 01 10:58:24 2021 +0000"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Apr 01 14:22:52 2021 +0000"
      },
      "message": "Revert \"Avoid internal APEX stubs for libsigchain and clean up e...\"\n\nRevert \"libdexfile_external is replaced by libdexfile.\"\n\nRevert \"Rename libdexfile_external_static to libdexfile_static.\"\n\nRevert \"Rename libdexfile_external_static to libdexfile_static.\"\n\nRevert \"Allow dependencies from platform variants to APEX modules.\"\n\nRevert submission 1658000\n\nReason for revert: Breaks full-eng build: b/184239856\nReverted Changes:\nI4f8ead785:Avoid internal APEX stubs for libsigchain and clea...\nI68affdf69:Allow dependencies from platform variants to APEX ...\nI54b33784e:Rename libdexfile_external_static to libdexfile_st...\nId68ae9438:libdexfile_external is being replaced by libdexfil...\nI12ac84eb4:libdexfile_external is replaced by libdexfile.\nIf05dbffc8:Rename libdexfile_external_static to libdexfile_st...\nIa011fa3a8:Merge libdexfile_external into libdexfile.\n\nChange-Id: Ia94bbe80ac9379af1a46afb33f51c084c6f13345\n"
    },
    {
      "commit": "73d4e1174b71e70f15593d762762b4f4310ec331",
      "tree": "7843a4459b4775f313ae81ca47c334ded0057548",
      "parents": [
        "848fc80db9bbe04eeb1e1c9732d137711a9903d3"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 30 13:45:05 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Apr 01 06:53:10 2021 +0000"
      },
      "message": "Avoid internal APEX stubs for libsigchain and clean up exported symbols.\n\nTest: art/tools/buildbot-build.sh {--target,--host}\n  on master-art\nTest: m droid\n  on AOSP master\nBug: 182563345\nBug: 183882457\nChange-Id: I4f8ead7853042fec19a4aba4dd37be02ab0202b8\n"
    },
    {
      "commit": "25e60fc34a1a746c377c80cf36284cd60d4204c8",
      "tree": "e06f268e2cc1527164e916e53c6f37eb22c28724",
      "parents": [
        "43c9cd7938a53265ea9899a604b409ce070cc2c5"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Mar 23 14:18:01 2021 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 24 17:54:29 2021 +0000"
      },
      "message": "Properly fix sigchain EnsureFrontOfChain test.\n\nTest: art_sigchain_tests on host\nChange-Id: I051062192b0068571732af1f968455952b9a3207\n"
    },
    {
      "commit": "4dcd238be0ba05321ac355e4a85473d675e3be98",
      "tree": "154967458695e5c35fce38b0737220748b8319f6",
      "parents": [
        "fcd3d855516055df3002cfacf53025803c86e25c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 12 15:41:30 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 23 08:41:19 2021 +0000"
      },
      "message": "Cleanups and fixes for sigchain_test.cc\n\nAdd a missing call to RaiseHandled.\n\nTest: sigchain_test\nChange-Id: I1a7fde742fa31b30201df228970ae62052dbcf12\n"
    },
    {
      "commit": "e017bb072ac577eee5413bd7e5e136f4eaf75908",
      "tree": "feabb3d266a72c7d03e6b7328b7252aa547cac97",
      "parents": [
        "d3d1a1a11626bd5198edb9242831c7b120652fbb"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Mar 17 10:55:25 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Mar 18 21:42:21 2021 +0000"
      },
      "message": "Drop whole_static_libs for libasync_safe and clean up static linking of\nlibsigchain.\n\nwhole_static_libs is no longer necessary when libsigchain is a DSO, and\nthis avoids reexporting all the Bionic headers in the ART SDK.\n\nTest: build/soong/scripts/build-aml-prebuilts.sh art-module-sdk\n      unzip -v out/aml/soong/mainline-sdks/art-module-sdk-current.zip\n  Check that no Bionic headers are left.\nTest: m droid continuous_instrumentation_tests \\\n       continuous_instrumentation_tests_api_coverage \\\n       continuous_native_tests device-tests platform_tests\nBug: 142944043\nChange-Id: If0982e8bd72f74ed12c270361579e81101de3612\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": "cfc6e9d55263d49e2d8d19a4a3a7d38567bb4fb9",
      "tree": "65fa28b14ebe58f52eb5d00e8ebf6c270cbff216",
      "parents": [
        "07b62e3d0808cc0890717a3a589c1f7b1ac51e5c"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 13 10:54:13 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Nov 16 23:09:16 2020 +0000"
      },
      "message": "Switch to the new kernel API for obtaining fault address tag bits.\n\nThe discussion on LKML is converging on v16 of the fault address tag\nbits patch [1]. In this version of the patch the presence of the tag\nbits in si_addr is controlled by a sa_flags bit, and a protocol is\nintroduced to allow userspace to detect kernel support for sa_flags\nbits. Update the tombstone signal handler to use this API to read\nthe tag bits, update the interceptors in libsigchain to implement\nthe flag support detection protocol and hide the tag bits in si_addr\nfrom chained signal handlers that did not request them to match the\nkernel behavior.\n\n[1] https://lore.kernel.org/linux-arm-kernel/cover.1605235762.git.pcc@google.com/\n\nChange-Id: I57f24c07c01ceb3e5b81cfc15edf559ef7dfc740\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": "71f7affff661a9f48afae25e19fcd3b9e82dac33",
      "tree": "0c39fae9b425703b0c05f7fdf70dc4e330bdbbbf",
      "parents": [
        "4904d5d65de32237790e5370bd076a9bccc22aa1"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Sep 15 16:45:49 2020 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Oct 05 11:41:52 2020 +0000"
      },
      "message": "Use prebuilt_visibility property on sdk/module_exports\n\nWhen the ART sdk/module_exports snapshots are unpacked in a prebuilts\ndirectory they need some additional visibility rules to be added to\nensure that the prebuilts are visible to each other. Previously, those\nwere added on a case by case basis to the individual modules. This\nchange replaces them by using the prebuilt_visibility property that\nspecifies additional visibility rules to be added to all prebuilt\nmodules in the snapshots.\n\nCurrently, the additional visibility added to the prebuilts makes them\nvisible to anything in //prebuilts or beneath which is not restrictive\nenough. Specifying the rule in a single place will make that easier to\nrestrict in future.\n\nBug: 155921753\nBug: 168301990\nTest: build sdk/snapshot, install them in prebuilts/module_sdk/art\n      and run m nothing to ensure the visibility rules are valid.\nChange-Id: I751ed6d488038214ac9df35849babe69a3c79a31\n"
    },
    {
      "commit": "b2f2a49fca2004f8047e2539fc3dfb3998407905",
      "tree": "0eb7e4940aeeca16568c1bea98341c4110ae172f",
      "parents": [
        "e52be923e597e44f43b2af6ca51155965f90ac94"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 29 15:48:49 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 30 08:00:59 2020 +0000"
      },
      "message": "Update OWNERS files\n\nTest: build/make/tools/checkowners.py -c -v art/OWNERS art/sigchainlib/OWNERS\nChange-Id: If8f8790dc0e7558b25c4d103221c789a7dc88d64\n"
    },
    {
      "commit": "d3ee902ed06b635eedebc796543a67299eb6cd05",
      "tree": "7eaabcd6196325647cb31e8a1210b5465eb694a8",
      "parents": [
        "3c98d6989b3556bd81f67d69190561a16dfc22b8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jul 27 16:05:38 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jul 28 11:10:47 2020 +0000"
      },
      "message": "More inclusive language in the build system.\n\nTest: m\nBug: 161896447\nBug: 161850439\nBug: 161336379\nChange-Id: I90dfafacc04d91661b1b1f5baf018ea6a423db72\n"
    },
    {
      "commit": "75b961a4cd926e647eb20ebf20ec5af410f7e1df",
      "tree": "4c83c209ca826494c440dedf1815217721e4439b",
      "parents": [
        "3a079094a2b92a8dce725848d28abd5de7a84e9f"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu May 07 01:45:27 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon May 11 08:55:41 2020 +0000"
      },
      "message": "Add visibilities for prebuilts.\n\nThese visibilities are intentionally blunt, to allow the prebuilts to\nmove around for now.\n\nMany of these visibilities may also go away completely again if the\nexported binaries are changed to compile internal ART libraries\nstatically.\n\nTest: v\n  1. build/soong/scripts/build-aml-prebuilts.sh art-module-sdk \\\n     art-module-test-exports conscrypt-module-sdk \\\n     conscrypt-module-test-exports conscrypt-module-host-exports \\\n     art-module-host-exports\n  2. Unzip out/aml/soong/mainline-sdks/*.zip into separate\n     subdirectories under prebuilts/runtime\n  3. env SOONG_ALLOW_MISSING_DEPENDENCIES\u003dtrue m nothing\n     (together with the topic of https://r.android.com/1252167)\nBug: 155921753\nChange-Id: Id8bbc8aedb0b87e30e9cf3d2a9f34b33cb71756c\n"
    },
    {
      "commit": "2842ac186022e90323e4ed8ad4cb2c8b154d31b2",
      "tree": "5fc34563113270f7b1312b5e658ec71cbdbdffb2",
      "parents": [
        "28aaf24b59931d40945413772f89aeef8637c014"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Apr 16 23:49:39 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Apr 20 19:29:50 2020 +0000"
      },
      "message": "Move version scripts to app_process, where they are used.\n\nThis is a temporary measure to avoid exporting filegroups in the SDK\nsnapshots. The version scripts will go away when libsigchain can be a\nshared lib.\n\nTest: Build and boot\nBug: 153338107\nBug: 142944043\nChange-Id: Ia043ced745fa41113a48b7724dafbb8c6b03e6d5\n"
    },
    {
      "commit": "be0d3cff84c69c497487d39c4022d604a7907d5b",
      "tree": "15364a8eb252f9645bb1cf3f9fe9d2017f1ed5fa",
      "parents": [
        "5945de03b6f6b35bcf6a575b2291e29ae7a2b1ee"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 10:52:22 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 20 07:15:30 2020 +0000"
      },
      "message": "Remove remaining MIPS support.\n\nWith the exception of dwarf support in libelffile.\n\nTest: aosp_taimen-userdebug boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 147346243\nChange-Id: Ib25acbc98aa7f63ce49a7ed2f81a4a64d48eac39\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": "b4abe0a193871684ec712fc00b49e9764978b7c9",
      "tree": "ad43199c8efa37e5f5cc4c6d86e72cfe0c9af899",
      "parents": [
        "f3e6c5eada7521d7c4ddc86307474f389f53081e"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri May 17 19:22:55 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Sep 20 13:19:52 2019 +0000"
      },
      "message": "Limit visibility of ART libraries, binaries, and headers.\n\nThis simply records the visibilities necessary to keep things working - more\nwork is required to vet them.\n\nTest: m\nBug: 133140750\nChange-Id: I776d6b79c4c2b214556070c850ae5321d5f8b949\n"
    },
    {
      "commit": "6e4deeaf452133fd03413c099b6e472778940fca",
      "tree": "d79b1d7347b50712d5719ef64bff74ba92722c49",
      "parents": [
        "34ac9f74e859a77eca9111debfbc25f5c037df7a"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jul 18 15:33:16 2019 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jul 19 18:14:34 2019 +0000"
      },
      "message": "sigchain: dlsym from libc.so instead of RTLD_NEXT.\n\nRTLD_NEXT doesn\u0027t play well with linker namespaces currently, so switch\nto directly referencing libc.so.\n\nBug: http://b/135284876\nTest: treehugger\nTest: m test-art-host\nTest: adb shell /data/nativetest/art/arm/art_sigchain_tests/sigchain_test\nTest: adb shell /data/nativetest64/art/arm64/art_sigchain_tests/sigchain_test\nChange-Id: I980bf63e5e3bb0a1638a4806c7ad76f41d5db44e\n"
    },
    {
      "commit": "5bef022af212e060a3e744e688ae2116849d4485",
      "tree": "be91c1f6cc7bcf8fbfe0b72c85c9f4bf0863adec",
      "parents": [
        "2d06e029b1c84916154b5960d2acd1c84706dc04"
      ],
      "author": {
        "name": "randy.jeong",
        "email": "randy.jeong@samsung.com",
        "time": "Mon May 27 10:29:09 2019 +0900"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jul 16 09:55:20 2019 +0000"
      },
      "message": "[RUNTIME] Ignore signal registration for debugging\n\nIt\u0027s difficult to identify native crash/error of 3rd party app.\nBecause they can control their app with own signal handling.\nTherefore I would like to support the way to ignore signal\nregistration in 3rd party app with the specific property.\n\nTo enable this, do just setprop \"debug.ignoreappsignalhandler 1\".\n\nTest: test app to hook signal, then setprop debug.ignoreappsignalhandler 1\n\nChange-Id: I56e2f1255a71abae339396379deb8cb5c31c25c5\nMerged-In: I56e2f1255a71abae339396379deb8cb5c31c25c5\nSigned-off-by: randy.jeong \u003crandy.jeong@samsung.com\u003e\n"
    },
    {
      "commit": "616f400313907532b9c8b78a9af503926280c1c3",
      "tree": "eb0e748c457a2d200ca271147224e10709443880",
      "parents": [
        "10f5f86b31f36db7d053e5f0a8fa71b57beef3a6"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 29 21:39:14 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 30 18:48:51 2019 +0000"
      },
      "message": "Move libsigchain out of static/shared properties\n\nUsing the static/shared properties causes Soong to skip the\noptimization that reuses .o files between the static and shared\nvariants of a library.  libart uses static.static_libs and\nshared.shared_libs to select between libsigchain and\nlibsigchain_dummy.  This doesn\u0027t actually do anything, because\ndependencies from the static variant are only used to import\nincludes.  Always use libsigchain in shared_libs, the final\nbinary that links against static libart will pull in the\ncorrect libsigchain_dummy dependency through\nlibart_static_base_defaults.  This halves the number of times\nthat the code in art/runtime is compiled.\n\nAlso make libsigchain and libsigchain_dummy export their includes\nso that libart doesn\u0027t need to manually specify include_dirs.\n\nTest: m libart\nChange-Id: I83b02001d698bb9c9e26fd1467283116356b5bf1\n"
    },
    {
      "commit": "9298875403a470320c7e6a7731522f78583ca124",
      "tree": "b6b4881b535ba5a0c1ec885f17bc06680fb7cc0f",
      "parents": [
        "331a5e101313838189933399b2017305493f9f58"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 28 22:40:40 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Apr 02 16:39:02 2019 +0000"
      },
      "message": "Add filegroup for sigchainlib version scripts\n\nThe sigchainlib version scripts are used by app_process, export\nthem as filegroups.\n\nTest: m app_process\nChange-Id: I536592afbaa98bf1e06cfb86f478ef5d612430cb\n"
    },
    {
      "commit": "c7d1ef1d424e632d2fcfdfef35d6c694e29adb09",
      "tree": "2bf0cbb942570a42808c7eb72ae613091b82480f",
      "parents": [
        "0c026d96ceb27352372f6b389bfd5a8d525f2924",
        "597b3ac7491a329493e3ef9d13f17c1d1e8b2142"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 16 00:52:18 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 16 00:52:18 2019 +0000"
      },
      "message": "Merge \"Revert \"ART: Disable sanitization for sigchainlib\"\""
    },
    {
      "commit": "597b3ac7491a329493e3ef9d13f17c1d1e8b2142",
      "tree": "f67a4016995702af1cec2ab0556909bcfffd68e8",
      "parents": [
        "89b85843049043bfa82942e48f32ec80da73090d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 02 21:18:12 2019 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 02 21:18:12 2019 +0000"
      },
      "message": "Revert \"ART: Disable sanitization for sigchainlib\"\n\nThis reverts commit 89b85843049043bfa82942e48f32ec80da73090d.\n\nReason for revert: All users have moved to Soong\n\nBug: 38456126\nChange-Id: Ia2fb76ecf6cbb65231623602c722d1ad7b671ab1\nTest: m\n"
    },
    {
      "commit": "24c14221c4cb2175406cd4406043dfd38b9b83fe",
      "tree": "afc6ce1aef9b5ae3c62c4b30eae1c8ba215a1397",
      "parents": [
        "0633365c40e32fda28d06ef94e6e3e3d8dab697f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 10 10:16:15 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 10 21:14:57 2018 +0000"
      },
      "message": "ART: Fix or nolint cert-dcl16-c\n\nBug: 32619234\nBug: 120614316\nTest: m\nChange-Id: I9ab82cbf3bdcb52a2f85e37d06bbd6d8f415cb15\n"
    },
    {
      "commit": "997b3dc77a3e6ae2108250808d411dc5ff0916aa",
      "tree": "151ba882da8c15d5b597fcd9d115ee38ac1c140c",
      "parents": [
        "9f27ffa9031431267ae59ee3469c853355811916"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 03 22:07:43 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 03 22:07:43 2018 -0800"
      },
      "message": "C++17 is the default now.\n\nTest: builds\nChange-Id: I4a9741ae2ccf48d9db7aa7dd42ab66f9750f165d\n"
    },
    {
      "commit": "c55bb390d88b8eb62a50932f7f9b47c2a3733f16",
      "tree": "ec2e74f3f8404dffcb9bfde4e7ffa3416a35543d",
      "parents": [
        "89468aeaa6a67ae4025b30d427391186306d6522"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 21 00:02:02 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 20 18:37:12 2018 -0700"
      },
      "message": "Revert^2 \"ART: Refactor typedef to using\"\n\nThis reverts commit ee07743e03042c2ca36e0c9513847a9e7d2509f1.\n\nReason for revert: fixed attributes.\n\nBug: 32619234\nTest: m test-art-host\nTest: m test-art-target-gtest-unstarted_runtime_test\nChange-Id: I6f0a775adfdf6ecd132b470f7c5446e949872e20\n"
    },
    {
      "commit": "ee07743e03042c2ca36e0c9513847a9e7d2509f1",
      "tree": "66867d7443a3798f6d882ef2715ddeb7baf3e771",
      "parents": [
        "9a20ff06f7ccee08a742c315ec6d351ab56ba1cd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 20 15:05:17 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 20 15:05:17 2018 +0000"
      },
      "message": "Revert \"ART: Refactor typedef to using\"\n\nThis reverts commit 9a20ff06f7ccee08a742c315ec6d351ab56ba1cd.\n\nReason for revert: Attributes on the wrong side.\n\nBug: 32619234\nChange-Id: I8fd2abef619b22c02ccfbf5ae629339f1a60918b\n"
    },
    {
      "commit": "9a20ff06f7ccee08a742c315ec6d351ab56ba1cd",
      "tree": "7e55557e118eb5fffe03ad3456e00d8469a36232",
      "parents": [
        "70dfb6983492aff1c52cc1b52044258aef51f47f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 19 10:58:18 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 19 21:56:32 2018 -0700"
      },
      "message": "ART: Refactor typedef to using\n\nAdd clang-tidy\u0027s modernize-use-using.\n\nBug: 32619234\nTest: WITH_TIDY\u003d1 mmma art\nChange-Id: If50d37b5152af4270784e3cde7951292a9e19033\n"
    },
    {
      "commit": "3bef527cb9a42bcb2b251c072deb433e2bf8e2c6",
      "tree": "d319a9fb331c47a467b2c922ac9e856d4c705980",
      "parents": [
        "4a25727eba333c19dc6eacc35950c526c11041d4"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Sep 04 14:33:23 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Sep 04 15:54:59 2018 -0700"
      },
      "message": "sigchain: fix EnsureFrontOfChain on 32-bit.\n\nOn 32-bit, bionic\u0027s sigaction forwards to sigaction64, which gets\ninterposed by libsigchain\u0027s sigaction64, which returns the user\u0027s\nsignal handler, not the actual one. This leads to EnsureFrontOfChain\u0027s\ncheck for whether it should reregister the signal handler to falsely\nreturn true, which leads to explosions.\n\nBug: http://b/112677822\nTest: /data/nativetest/art/arm/art_sigchain_tests/sigchain_test\nTest: /data/nativetest64/art/arm64/art_sigchain_tests/sigchain_test\nChange-Id: Ifbaa4448580d763f5ffd575fa2e77113a8108de6\n"
    },
    {
      "commit": "bc802de2244ed9769d1ddf8841d7965a29493d9a",
      "tree": "acac22c89c8cdedb65d6dc0657755851834500f7",
      "parents": [
        "35d4b9410c362685fdd8181483a6126dd3e20cdd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 20 17:24:11 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 20 17:25:25 2018 -0700"
      },
      "message": "Revert^2 \"ART: Fix some performance-X tidy\"\n\nThis reverts commit 6856214f2c849600bcb94cc6e84975ba8cb69920.\n\nFix lifetime issue in imgdiag.\n\nTest: mmma art\nTest: m test-art-target-gtest-imgdiag_test\nChange-Id: I919db6310c0713313340adfe66bcd75a1c5c236e\n"
    },
    {
      "commit": "6856214f2c849600bcb94cc6e84975ba8cb69920",
      "tree": "a103f54ec49fac8d5cd15661f5c2d0cb5dab32e5",
      "parents": [
        "89de444350fdbd7df4fb4d95bb71f00e6673b466"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 20 21:49:11 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 20 21:49:11 2018 +0000"
      },
      "message": "Revert \"ART: Fix some performance-X tidy\"\n\nThis reverts commit 89de444350fdbd7df4fb4d95bb71f00e6673b466.\n\nReason for revert: Seemingly breaks imgdiag_test on device.\n\nChange-Id: I46084ecb4205575381aafffd90a0f1a1126e8d2d\nTest: mmma art\n"
    },
    {
      "commit": "89de444350fdbd7df4fb4d95bb71f00e6673b466",
      "tree": "57fa7214c4059afcfd11aa35a81999b8558b91b8",
      "parents": [
        "e383d23918db4eede30c3d78589d4639de3ec446"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 18 13:33:55 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 19 17:11:21 2018 -0700"
      },
      "message": "ART: Fix some performance-X tidy\n\nFix performance-for-range-copy, performance-unnecessary-copy-initialization\nand performance-unnecessary-value-param issues.\n\nTest: mmma art\nTest: m test-art-host\nChange-Id: I43d8736fc541030a3c61f66aeee0b9c2f1d295f7\n"
    },
    {
      "commit": "cca6fc0fbd2c4a4757956bbf20a27cd72281afcf",
      "tree": "b4c6a4970183205b0f1f08dde4960295c3c5438e",
      "parents": [
        "5fa784d89019f48eaf55844262a4e0d9638b7ced"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 12 16:37:21 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 12 16:42:03 2018 -0700"
      },
      "message": "sigchain: use libasync_safe logging.\n\n__android_log_write doesn\u0027t have async safe guarantees. Use\nlibasync_safe, which has the added benefit of setting the abort message\nfor fatal errors.\n\nBug: http://b/67632085\nTest: treehugger\nChange-Id: I4d710753fddbce43fca44485443c446ed745ec30\n"
    },
    {
      "commit": "bfce631960ae2ab381180beb55cf34ab3b445aaa",
      "tree": "4670f7e7159390f13b0ce1f5bbd0eb014facff4a",
      "parents": [
        "e1734a9961b755d9b167c31deae5a2e36f92df2a",
        "edef4ba155f11d2a8544db9e560698a033831934"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 10 04:29:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 10 04:29:26 2018 +0000"
      },
      "message": "Merge \"Do not use sa_restorer if not defined\""
    },
    {
      "commit": "247ff3719c42fce05d435bf9dbaa0bd869467245",
      "tree": "cc357df3d31b49822c1cbdeeca94e35377c65345",
      "parents": [
        "9417650bdfa66ecee688f940852a6c126a93716a"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Wed Mar 07 10:34:05 2018 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Wed Mar 07 16:57:19 2018 +0100"
      },
      "message": "Fix sigchain_test on mips\n\nPass correct size to syscall. Unlike on arm and x86,\n_KERNEL__NSIG\u003d128 on mips.\n\nThis fixes the test on mips32 and mips64.\n\nTest: mma test-art-target-gtest-sigchain_test in QEMU\n\nChange-Id: I3acd93f3595bcbd2a9a0dc3248955226a1051745\n"
    },
    {
      "commit": "edef4ba155f11d2a8544db9e560698a033831934",
      "tree": "b305baeb6aaf9b0e159f3049d496f27a547f0b7c",
      "parents": [
        "92abf46ea6ab790eb1834a633f97e8b55efc4f6f"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Mon Mar 05 20:03:24 2018 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Wed Mar 07 10:26:17 2018 +0100"
      },
      "message": "Do not use sa_restorer if not defined\n\nSome architectures (mips) don\u0027t have sa_restorer in sigaction so\ndon\u0027t use it if SA_RESTORER is not defined.\n\nThis fix aosp_mips-eng build.\n\nTest: successful aosp_mips-eng build\n\nChange-Id: I233c21bc45fbda178fb58552428534d2ea52dccc\n"
    },
    {
      "commit": "07d7a5d6b207bd8731459d1f3f843bb0a6056c29",
      "tree": "1ad8cdee860b33f5d36e5a850d230f887c2801e1",
      "parents": [
        "f74caac770ab315fb11acf26269836cb70c11e82"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 26 14:12:34 2018 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 26 18:31:45 2018 -0800"
      },
      "message": "sigchain: fix various off by ones.\n\nSignals start from 1 and end at _NSIG - 1.\n\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: I09a74bada5acd08ab8f7782075de6f340cdf914e\n"
    },
    {
      "commit": "f74caac770ab315fb11acf26269836cb70c11e82",
      "tree": "20632861f3f48541e097cb7398cdfee27553d984",
      "parents": [
        "1eac77e5f6306718c2c0e63f29228520b61371f9"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 26 14:13:52 2018 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 26 18:31:45 2018 -0800"
      },
      "message": "sigchain: filter out sigprocmask(SIG_SETMASK, ...).\n\nPreviously, we were only filtering out signals blocked via SIG_BLOCK...\n\nTest: adb shell /data/nativetest64/art/arm64/art_sigchain_tests/sigchain_test\nChange-Id: Iee2284442f744431a4216ab15aa0ef2fd4d58599\n"
    },
    {
      "commit": "1eac77e5f6306718c2c0e63f29228520b61371f9",
      "tree": "023bea45f8aa2f860227e24203203a9ec2fbb820",
      "parents": [
        "d32d79d76c0e2af7c65dc67f9322fc46b5677ee3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 26 15:54:41 2018 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 26 18:31:45 2018 -0800"
      },
      "message": "sigchain: add test.\n\nAdd a gtest for the various sigchain wrappers.\n\nBug: http://b/73344857\nTest: adb shell /data/nativetest64/art/arm64/art_sigchain_tests/sigchain_test\n      (with several actual failures)\nChange-Id: I331da4f44008984723e2e2733e2a6dd66658e704\n"
    },
    {
      "commit": "d32d79d76c0e2af7c65dc67f9322fc46b5677ee3",
      "tree": "530823b497217e0f274c8cc63de2928660feeb9a",
      "parents": [
        "54d2c7e503550e602e6cbe4326455d7b44dc3d49"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 26 14:29:25 2018 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 26 18:31:45 2018 -0800"
      },
      "message": "Reland \"sigchain: add wrappers for sigaction64/sigprocmask64.\"\n\nThis reverts commit bed29657743f64612be4969f036c324df4baf7a9.\n\n\"Fix\" the mac build by using sigchain_dummy on it unconditionally.\n\nAlso, fix a test breakage caused by use of memcmp on a struct with\npadding bytes that went from being assigned via memcpy to manual\nassignment of each of the fields.\n\nTest: test/testrunner/testrunner.py -b --target -t 004-SignalTest\nChange-Id: I332d633a06abbf189d1e51fa8d031c2745f8f1a7\n"
    },
    {
      "commit": "bed29657743f64612be4969f036c324df4baf7a9",
      "tree": "a5fcc3a5e22b917cc18dde99a0411bcd5d9f1aec",
      "parents": [
        "eb4640badb740f719bda33439ce9ae1953fb6a4c"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Feb 22 08:33:15 2018 +0000"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Feb 22 08:33:15 2018 +0000"
      },
      "message": "Revert \"sigchain: add wrappers for sigaction64/sigprocmask64.\"\n\nThis reverts commit eb4640badb740f719bda33439ce9ae1953fb6a4c.\n\nReason for revert: breaks mac builds.\n\nChange-Id: I4b80a997e0580bd3a20dfb427a6e83cf0c2b2d47\n"
    },
    {
      "commit": "eb4640badb740f719bda33439ce9ae1953fb6a4c",
      "tree": "9b9d49b980e3795bd647c164f2a42ed11d0fecae",
      "parents": [
        "f13343eb8b2738e2812fd7bd9d5592f529e93c21"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Feb 08 20:49:54 2018 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Feb 21 14:03:58 2018 -0800"
      },
      "message": "sigchain: add wrappers for sigaction64/sigprocmask64.\n\nAdd wrappers for sigaction64/sigprocmask64 and switch the storage of\nchained handlers to sigaction64.\n\nBug: http://b/73108155\nTest: treehugger\nChange-Id: If0f1f254541ab4b6d218b97914e68fd3e8f00705\n"
    },
    {
      "commit": "5573c37e795668eca81a8488078f798d977685c3",
      "tree": "5e7675d6c1ca9ed1c31834e52282bfb9f73dc2a4",
      "parents": [
        "1598a77ca3559c8a59902f26ee887504b8159859"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 16 13:34:30 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 16 14:42:49 2017 -0800"
      },
      "message": "cpplint: Remove many unnecessary NOLINT\n\nNow that we updated to upstream cpplint, a lot of these NOLINTs are no\nlonger necessary.\n\nBug: 68951293\nChange-Id: If8ed5ffe89727f313f907a214b6d8fd2a2eddbad\n"
    },
    {
      "commit": "2ffb703bf431d74326c88266b4ddaf225eb3c6ad",
      "tree": "0552c3c76a42b18f9e7460d501fb71a6dc2e7f33",
      "parents": [
        "c4b6f3116f15c8e4fdf2e4f604ababdee12d8923"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Nov 08 13:35:21 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Nov 08 15:15:52 2017 -0800"
      },
      "message": "cpplint: Cleanup errors\n\nCleanup errors from upstream cpplint in preparation\nfor moving art\u0027s cpplint fork to upstream tip-of-tree cpplint.\n\nTest: cd art \u0026\u0026 mm\nBug: 68951293\nChange-Id: I15faed4594cbcb8399850f8bdee39d42c0c5b956\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": "04de4fe1a9999c9a2dea724d70efd91a87d8f9b0",
      "tree": "2c9a4ad80e63a57848d9ccfeb9d0ad684f88a2f8",
      "parents": [
        "85b82e35d810a21257fec9d850d95f8abc900670"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed May 31 20:24:51 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed May 31 20:24:51 2017 -0700"
      },
      "message": "sigchain: properly block signal when we forward.\n\nThe previous code incorrectly chose to unblock the received signal when\nSA_NODEFER was passed, instead of blocking the signal when SA_NODEFER\nwas not passed.\n\nBug: http://b/38305752\nBug: http://b/62189102\nBug: http://b/62202711\nTest: m test-art-host\nChange-Id: I2a7176b2a9fc7cdd0193face46f6d14a617ca814\n"
    },
    {
      "commit": "89b85843049043bfa82942e48f32ec80da73090d",
      "tree": "74e1476412f8b386861ba7a6088fa4b48ecb01b1",
      "parents": [
        "80dd30abe3fac52f6de4aec0543918d360f7d08a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 10 09:47:55 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 19 13:01:19 2017 -0700"
      },
      "message": "ART: Disable sanitization for sigchainlib\n\nIt\u0027s a static library, it will bring in ASAN to mk-based binaries\nthat do not want to be sanitized.\n\nBug: 38456126\nTest: m\nChange-Id: I275b8dbe33149c0769e96a014b7a350389c853e8\n"
    },
    {
      "commit": "6b2018f4b847a60f39c86d67e1cae8a00ce977bc",
      "tree": "01782290b819d8978df4b90882d2c22d46d57bd5",
      "parents": [
        "23d75aa98de3cea87e1c088a70309ee0fdb4a0c7"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 04 13:55:28 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon May 15 13:42:02 2017 -0700"
      },
      "message": "sigchain: limit use of SetHandlingSignal.\n\nThe native bridge and user signal handlers are able to not return to\nour signal handler, leaving the HandlingSignal flag set to true for the\nrest of the lifetime of the thread. Fix this by only using\nSetHandlingSignal for handlers that we know will return (i.e. the ART\nfault handler).\n\nThis effectively reverts commit 90444558, which means sigprocmask\u0027s\nbehavior is back to filtering out claimed signals when inside a user\nsignal handler.\n\nInclude an update to test/115-native-bridge from Zhenhua Wang, to make\nsure we keep handling signals when a signal handler longjmps away\ninstead of returning.\n\nBug: http://b/37988407\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: Ia7159ddfa38f1f055e5cd6089c849a208d335752\n"
    },
    {
      "commit": "fd4d0d3eb9b5c7fe2fa1df97d9c0763900b2be52",
      "tree": "25c774814eb3b6e595ea9c267fcb93fee03bf3eb",
      "parents": [
        "bc9a87c33a3f1553934872387a0bb3178b5140e8"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 26 19:09:47 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri May 12 12:37:40 2017 -0700"
      },
      "message": "sigchain: always call InitializeSignalChain on startup.\n\nProcesses that link against libsigchain because they might want to\ndynamically load libart.so (e.g. surfaceflinger) might never explicitly\ncall InitializeSignalChain. In this scenario, the lazy initialization\nthat occurs when sigprocmask is called can happen at unexpected times,\nsuch as from pthread_exit, leading to deadlocks or crashes.\n\nAdd __attribute__((constructor)) to InitializeSignalChain to have it be\nautomatically called upon process start. Keep the existing calls to it\nin the wrapper functions in order to sidestep problems around static\ninitialization order.\n\nBug: https://issuetracker.google.com/37119593\nTest: run-test 004-SignalTest\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: I7906c1f625ccca0350ea9310140a3f43a657be4c\n"
    },
    {
      "commit": "99875e9e6b5604cc8a970977d0f531a5035ad55c",
      "tree": "395ced462bcd58e0cc6f49892cbb98a1678c0791",
      "parents": [
        "e008fd53bf6b3f9b67adadcc469c9da8482585dc"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 17 15:58:36 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 17 16:16:21 2017 -0700"
      },
      "message": "sigchain: switch from __thread to pthread_setspecific.\n\n__thread is implemented via emutls on Android, which will result in the\nthread local variable being allocated again and leaked if it gets used\nafter it has been destructed already (e.g. by a later destructor\ncalling sigprocmask, or triggering a signal handler).\n\nSwitch to pthread_setspecific, which doesn\u0027t suffer from this problem.\n\nBug: http://b/36871013\nTest: ran dalvikvm on a class that spins creating threads\nChange-Id: Ie5deab453be387490ba30a0010e12f60d736c8ad\n"
    },
    {
      "commit": "33cac0ff4dc4127491d19472313c5326554ba7a5",
      "tree": "784f58c93b847b967db7d02eed82838eed4e1d84",
      "parents": [
        "b361403515606c4b287b43a9dbb45d29d8d90cba"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Thu Apr 06 14:18:09 2017 -0700"
      },
      "committer": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Thu Apr 06 14:18:09 2017 -0700"
      },
      "message": "IWYU fixes for sigchainlib/sigchain.cc\n\nThis change adds the necessary headers for std::initializer_list, errno,\nand strerror.\n\nBug: None\nTest: m\nChange-Id: I9b97635f378a205604c75601cddd6f87883cdb4b\n"
    },
    {
      "commit": "576deb5fc0cf28f28c2ce13fbd739e8cf63b13fc",
      "tree": "e44ef5fe23353d9744f7c7ba2b2a03ed471d6a40",
      "parents": [
        "c48266eb44296fa086868b82d8a3c2b57ce186ae"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 04 17:34:57 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 04 17:34:57 2017 -0700"
      },
      "message": "Sigchainlib: Add OWNERS file\n\nTest: m\nBug: 33166666\nChange-Id: Ic4d695313e18adc31392cc1ab326a2ded0439d6d\n"
    },
    {
      "commit": "9d631dd1df5e81e4201b739987cada2a02ee1700",
      "tree": "ac4134107fb6ff3aaede0dd263cd6708f2206f4a",
      "parents": [
        "fb539a48849fa31cc5b1f3eec40fd8f30cae982b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Mar 23 20:04:58 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Mar 24 11:06:27 2017 -0700"
      },
      "message": "sigchain: fix sigaction(signal, nullptr, \u0026sa).\n\nPreviously, our wrapped sigaction would forward to the actual sigaction\nif new_action was null.\n\nTest: ./test.py -r --host -t 004-SignalTest\nChange-Id: I100b6246c58f331a44b9201cf61405251b85111d\n"
    },
    {
      "commit": "fb539a48849fa31cc5b1f3eec40fd8f30cae982b",
      "tree": "d18b41d7f7b79d69301828eb41ec2adbcd155345",
      "parents": [
        "904445581279b1e976dfbd8ad3a3379b74ee7789"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 20 16:23:41 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Mar 23 20:09:08 2017 -0700"
      },
      "message": "sigchain: make SIG_DFL handling less broken.\n\nAbort with a message instead of reraising the signal, which will just\nreenter the signal handler when we return.\n\nBefore the libsigchain rewrite, we would try to call SIG_IGN (i.e. 1)\nas a function, with no error reporting, this improves it to an error\nmessage.\n\nBug: http://b/32631264\nBug: http://b/36262089\nTest: none\nChange-Id: Ie0ba58b301dea48eaf3223a83883cd4af3d1576f\n"
    },
    {
      "commit": "904445581279b1e976dfbd8ad3a3379b74ee7789",
      "tree": "ac0a95afec5a7dc4e916f5996d6c4fec307a3a24",
      "parents": [
        "dd241ae08d497ae8fa1add3e208c4c3bef9a7b79"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 20 14:58:25 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Mar 23 20:09:04 2017 -0700"
      },
      "message": "sigchain: allow use of sigprocmask inside handlers.\n\nWhen we\u0027re inside a signal handler, we don\u0027t need to filter out claimed\nsignals from sigprocmask calls, since return from the signal handler\nwill restore the previous signal mask. Use the handling_signal thread\nlocal to pass sigprocmask through when we\u0027re in a signal handler.\n\nBug: http://b/36205469\nBug: http://b/36262089\nChange-Id: I7943e7a68c7929d9244cef83ddeb3d64243d8840\n"
    },
    {
      "commit": "dd241ae08d497ae8fa1add3e208c4c3bef9a7b79",
      "tree": "920c075dbc5a29796d7bd53ef86e43205dbf98bf",
      "parents": [
        "85a78cff8cbd6477c19ab4c9a21698dddcf0a9f9"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 20 14:17:23 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Mar 23 16:16:53 2017 -0700"
      },
      "message": "sigchainlib: hopefully fix darwin build breakage.\n\nHopefully fix the following darwin build breakage:\n\n  MacOSX10.10.sdk/usr/include/ucontext.h:43:2:\n    error: The deprecated ucontext routines require _XOPEN_SOURCE to be defined\n\nBug: http://b/36205469\nBug: http://b/36262089\nChange-Id: I172cef3872053e8c3b0d2c428f3f1e2eaf9540dc\n"
    },
    {
      "commit": "85a78cff8cbd6477c19ab4c9a21698dddcf0a9f9",
      "tree": "cee518d7bed60fcc3c4c08603f27500a8d2e6eea",
      "parents": [
        "6efac9929f8952e4871e8c423c923989fc6f2ad2"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 20 16:26:42 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Mar 23 16:16:53 2017 -0700"
      },
      "message": "Revert^2: \"Make sigchain actually own the signal chain.\"\"\n\nThis reverts commit 33dca562d5ed9f52f63ced2334c066333ca073e9.\n\nBug: http://b/36205469\nBug: http://b/36262089\nOriginal-Change-Id: I416b13de800d3e23424cf20688ccfd7e4e48a111\nChange-Id: I1267be72c32ed73d1079a572d0b8907556526dde\n"
    },
    {
      "commit": "33dca562d5ed9f52f63ced2334c066333ca073e9",
      "tree": "b13ca4ec329595953d3aa3b04b0323f2dee173ca",
      "parents": [
        "7600fa9234e02cf5108a3a82babf3d3ab82fcddd"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Sat Mar 18 02:51:37 2017 +0000"
      },
      "committer": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Sat Mar 18 02:51:37 2017 +0000"
      },
      "message": "Revert \"Make sigchain actually own the signal chain.\"\n\nThis reverts commit 7600fa9234e02cf5108a3a82babf3d3ab82fcddd.\n\nChange-Id: Ia46db2a7df0c0ac07107a8db06f42ff1afd4a97e\n"
    },
    {
      "commit": "7600fa9234e02cf5108a3a82babf3d3ab82fcddd",
      "tree": "7fc841d365122ae618b657c7bd3fa28e8151e870",
      "parents": [
        "ed883a11b8cd7f3712bd30fca1e2b0fb641bff63"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 15 17:40:42 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Mar 17 17:04:31 2017 -0700"
      },
      "message": "Make sigchain actually own the signal chain.\n\nsigchain exists to make sure that art\u0027s signal handler is at the front,\nbut it currently does this by putting the fault manager in the actual\nsignal handler slot and having that handler call into sigchain when it\ndoesn\u0027t want to handle a signal. sigchain also has a \"special signal\nhandler\" (used for native bridge) that runs before user handlers, but\nafter ART\u0027s.\n\nMove maintenance of the signal chain into sigchain itself, and use the\nsame mechanism to handle the ART handler and the native bridge handler.\n\nAlso, clean up some bugs:\n  - InvokeUserSignalHandler was using the wrapper sigprocmask instead\n    of the actual one.\n  - Use SIG_SETMASK instead of SIG_BLOCK between calling handlers, in\n    case one of the handlers changes the signal mask.\n  - Correctly handle sigaction without SA_SIGINFO.\n\nBug: http://b/36205469\nBug: http://b/36262089\nTest: NPE with dalvikvm with/without TEST_NESTED_SIGNAL defined (arm/aarch64)\nChange-Id: I416b13de800d3e23424cf20688ccfd7e4e48a111\n"
    },
    {
      "commit": "1f7f3bd26ecad4366c904b7e7d05587fc7a83ea2",
      "tree": "73f5c720f744303bc8ae9dad0891264f4788767a",
      "parents": [
        "521691ae4dfad47cf6b46858347fa5fa32fd7bcc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jul 27 10:12:38 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 25 13:42:11 2016 -0700"
      },
      "message": "Convert libart and dependencies to Android.bp\n\nRe-landing I73839046a5a53eb34cd28eea53149911c568e411, with fixes for mac\nbuild (only apply -Wl,--keep-unique to device x86 builds), typo in\nchecking for ART_HEAP_POISONING environment variable, and removing\n-Wframe-larger-than for debug builds.\n\nTest: mma -j, m -j test-art-host\nChange-Id: If88492174cbcb0d9a8758176c006163a29eaaa63\n"
    },
    {
      "commit": "316417e37859e584e78790c2cbc6f16c11adc8b2",
      "tree": "ced74cd7647391ad61f8334d0e90334cb60c91fa",
      "parents": [
        "4ea3a22f0ccfb0f746c63c274b2655545e759e1f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 25 01:03:42 2016 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 25 01:03:42 2016 +0000"
      },
      "message": "Revert \"Convert libart and dependencies to Android.bp\"\n\nThis reverts commit 4ea3a22f0ccfb0f746c63c274b2655545e759e1f.\n\nChange-Id: I3ac4397b4d6be038e5b863b7a24231c0736e84f3\n"
    },
    {
      "commit": "4ea3a22f0ccfb0f746c63c274b2655545e759e1f",
      "tree": "de9b6f7a0bee3de3c7d7adebf2ceda13e3084fc6",
      "parents": [
        "897b8f5da90b38b030826273f4c9bd8fbc32759e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jul 27 10:12:38 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 24 15:43:53 2016 -0700"
      },
      "message": "Convert libart and dependencies to Android.bp\n\nTest: mma -j, m -j test-art-host\nChange-Id: I73839046a5a53eb34cd28eea53149911c568e411\n"
    },
    {
      "commit": "82b67b9897ac0f6791dddeb98c4b876418a6a162",
      "tree": "b220869ada1e498f6b3b101e1ffdf84c225540f3",
      "parents": [
        "fcc3c6d26a7e5abd84c348278ec5133d96726048"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 01 11:19:03 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 01 14:14:06 2016 -0700"
      },
      "message": "libsigchain: intercept bsd_signal on lp32\n\nbsd_signal is a deprecated synonym for the signal. Nevertheless\nthere are apps and libraries calling this function.\n\nlibsigchain needs to intercept these calls and handle them the same\nway it handles signal() call.\n\nBug: http://b/30562229\nTest: readelf --dyn-sym app_process32 and check that bsd_signal is exported\n      readelf --dyn-sym app_process64 and check that bsd_signal is not exported\nChange-Id: I3aa41632bb015568d8524a82f1c97e4443ec0d6c\n"
    },
    {
      "commit": "ecf75a6a9396475759c5f8b47cdc1929614b9542",
      "tree": "c2816628ca0229ca2da6dde0699eb22f48de3f65",
      "parents": [
        "998bf2b4de04f1664a8ca0085740e266b9e7c4ff"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 28 16:01:42 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 28 17:12:54 2016 -0700"
      },
      "message": "ART: remove gcc cruft from the makefiles\n\nART only builds with clang now, delete all logic to determine gcc\nvs. clang, and move all LOCAL_CLANG_CFLAGS into LOCAL_CFLAGS.\n\nTest: mma, make test-art-host, make test-art-target\nChange-Id: I578615233ad3e71af18afb47bb11f3be8417216c\n"
    },
    {
      "commit": "bb661c0f0cb72d4bbfc2e251f6ded6949a713292",
      "tree": "4fe7e66f3385b1955934d3ec6f02e00bde6e13b8",
      "parents": [
        "f7cda8088ec57ab1422f85f08df78e217a9f7094"
      ],
      "author": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Mon Apr 04 16:27:32 2016 +0100"
      },
      "committer": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Fri Apr 22 13:33:30 2016 +0100"
      },
      "message": "Refactor use of __ANDROID__ macro\n\nWe use the __ANDROID__ macro, which is provided by the toolchain, in\nnumerous places. This patch refactors the usage of this by defining a\nnew macro, ART_TARGET_ANDROID, that is being passed during build to\nART_TARGET_CFLAGS in Android.common_build.mk on the same line as\nART_TARGET. The codebase currently assumes that the existence of the\n__ANDROID__ macro implies that we are compiling art for an android\ntarget device. This is because, currently, target builds are compiled\nwith target toolchains that provide the macro, while host toolchains\ndo not.  With this change this assumption is still preserved. However,\nin a future patch we will add the ability to compile art for a linux\ntarget, and in that case the ART_TARGET_ANDROID macro won\u0027t be passed\nanymore.\n\nChange-Id:  I1f3a811aa735c87087d812da27fc6b08f01bad51\n"
    },
    {
      "commit": "0d6f02679111fc1dd84cc45ddb4daab2fc622911",
      "tree": "1a3bfd73bbf3a509df7bb8e38341b48bbb7c20ed",
      "parents": [
        "9c53671bb659cb47bea82f6cbdd46c0843753e82"
      ],
      "author": {
        "name": "jgu21",
        "email": "jinghui.gu@intel.com",
        "time": "Tue Sep 22 03:47:43 2015 -0400"
      },
      "committer": {
        "name": "jgu21",
        "email": "jinghui.gu@intel.com",
        "time": "Sun Oct 18 22:55:28 2015 -0400"
      },
      "message": "Block signals before invoking special or user handlers\n\n1. Block signals marked in sa_mask before invoking user handler\n   if not in old style.\n2. Block all signals before invoking special signal handler.\n\nChange-Id: Ie1283e97ed28ee3421df584352cd62cb107264bc\nSigned-off-by: jgu21 \u003cjinghui.gu@intel.com\u003e\n"
    },
    {
      "commit": "c60e1b755c5632dfeb04c333489ede52ee5c945f",
      "tree": "9582a0ffc99e4ad11dcd5d95dd97b09bc6acc5bf",
      "parents": [
        "7b926cdacc2b67241bc9cb5f2d4b04b13ca79d0e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 30 08:57:50 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 30 08:57:50 2015 -0700"
      },
      "message": "ART: Use __ANDROID__ instead of HAVE_ANDROID_OS\n\nUse the proper define.\n\nChange-Id: I71e291ac25f5d5f0187ac9b6ef2d6872f19e6085\n"
    },
    {
      "commit": "0c7c55c717e774598ebce25f662209e8db23b3c9",
      "tree": "2319df3ebf57c4d414ab5325f5bd707b39072341",
      "parents": [
        "2a7ea34cda9bf776339dfc7f4a22ab01f9525f2d"
      ],
      "author": {
        "name": "jgu21",
        "email": "jinghui.gu@intel.com",
        "time": "Fri Jul 24 13:40:33 2015 +0800"
      },
      "committer": {
        "name": "jgu21",
        "email": "jinghui.gu@intel.com",
        "time": "Sat Jul 25 20:15:52 2015 +0800"
      },
      "message": "Register signal handler to kernel if not claimed\n\nTo set special handler for a signal, if the signal was not\nclaimed before, the default handler in sigchain must be registerred\nfor it before claimimg it in sigchain.\n\nChange-Id: I7ab74392cabb7f34af8ae038c90d20f0641b9d99\nSigned-off-by: jgu21 \u003cjinghui.gu@intel.com\u003e\n"
    },
    {
      "commit": "65e069df6f864102b062fc04de8877f8230034a8",
      "tree": "e9f156df149eac2c360e3d2974f3a80c726b751d",
      "parents": [
        "01aaf6ef3e3e35cc8e41cf3fe899a7bf337042f4"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jun 08 10:35:24 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jul 01 13:48:23 2015 +0100"
      },
      "message": "Build statically linked version of dex2oat.\n\nChange-Id: Icde39b770781095af7bd87ae6b907ad97a8a05da\n"
    },
    {
      "commit": "e089920eb0abc10eca708dbf5993134aa7e8d9b0",
      "tree": "a95aa0203decce3519b2b2f360d10e5a9b1a4e52",
      "parents": [
        "38b66b6fed1adcc1da4b931a32f78c5290a97c1e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 05 20:45:31 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 05 20:47:36 2015 -0700"
      },
      "message": "ART: Add SetSpecialSignalHandlerFn to version-script.txt\n\nExpose the new function from the sigchainlib implementation.\n\nBug: 20217701\nChange-Id: I7d21025595775e057ea703236ca88ceb07173136\n"
    },
    {
      "commit": "12bd7210bb2f5738e33dfa3f2f1cba2e0aab4955",
      "tree": "ceff4c27b7d3173da61dda12b1b05e062e82e3d9",
      "parents": [
        "2519fc40d4ae89322d28d1ff610fe81bb90fb564"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jun 04 17:50:27 2015 +0100"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jun 04 11:26:19 2015 -0700"
      },
      "message": "If heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS.\n\nThis change ensures assembly files honoring heap poisoning\n(notably used by stub_test) are compiled with\n-DART_HEAP_POISONING\u003d1 when this feature is turned on.\n\nBug: 21621105\nChange-Id: I13fe456cd2733a09bdfd3a9808cfd70513b14698\n"
    },
    {
      "commit": "03c2cc89428914adf52229d6a3867eef6127911a",
      "tree": "26cfbf0947d3e9d7f9faf85cf440d37daa8c09ee",
      "parents": [
        "c06841dac1443e99e92596f15caa82c99bfee010"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 22 18:31:50 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 28 11:49:47 2015 -0700"
      },
      "message": "ART: Add support for special handlers in sigchainlib\n\nAdd support for a special managed handler in sigchainlib that\nwill be called as the first user handler.\n\nUse this support for native bridge v2. Extend test 115-native-bridge\nto test the functionality.\n\nBug: 20217701\nChange-Id: I78cc01fbdabe169154ff6b94c9f3ddb95b5c7448\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": "ba1ff84da2b7799c64f18cc72e2715b88b887fcc",
      "tree": "45f9c54971517efd5ad71dc6545a81974fedcd7f",
      "parents": [
        "c6ec8679209b37e7c8143c2680d85b2ca640a353"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 06 14:33:54 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 06 14:33:54 2015 -0700"
      },
      "message": "ART: Fix no-return in sigchainlib\n\nIgnore warning in sigchain_dummy.\n\nChange-Id: I2c9ed93c0125d06b6a3d4011a794b062cf1c4093\n"
    },
    {
      "commit": "34a0c208e7f808270e3e2189ae1a198b3fa8ed2e",
      "tree": "e4b9eb58f934ed04bf1a3a82499c78fa7452bcd7",
      "parents": [
        "a68a7cf8f3a6fef22d71a14350176115cb13857f"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 02 18:30:22 2015 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 03 17:14:19 2015 +0000"
      },
      "message": "Delegate SIG_DFL on sigaction to libc.\n\n  In the case when user registers SIG_DFL hanlder\n  sigchainlib\u0027s handler tends to go into infinite loop\n  because the function handling signals resets signal\n  using by calling to signchain\u0027s own implementation.\n\n  This cl fixes the problem by passing sigcations with\n  SIG_DFL to the next sigaction (usually libc\u0027s).\n\nBug: 19594886\nChange-Id: I9eecf9afd1c7e6d1fe3cd1d4fc506383ecbebe04\n"
    },
    {
      "commit": "a3164b9b0e44a839d2bc1b7985df5d00087f86f8",
      "tree": "a8ded4791813d04aef8786b459f47ce75b0addb5",
      "parents": [
        "8160bc08fce08c81820bcd9699d3cffd8135ed90"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 01 11:08:45 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 01 11:08:45 2015 -0700"
      },
      "message": "Fix formatting\n\nChange-Id: Id64aad5de1f911ac7e747788d586bac397f34f18\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": "86bb22e188f587ba64a0e62ae5f44363d573345d",
      "tree": "ac7459c119d2c0667bfa62d32f86411724287e06",
      "parents": [
        "4270e74152d8a7cd979ab5a92fe2a8f84adb8a42"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 18 19:25:50 2014 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jan 07 19:05:08 2015 -0800"
      },
      "message": "Do not use clang for mips target.\n\nClang assembler cannot compile some inlined assembly code\nin valgrind_malloc_space-inl.h:192:5: error: used $at without \".set noat\"\nHowever, clang generated assembly code for runtime/mirror/array.cc\ncannot be compiled by gas.\n\nBUG: 18789639\nBUG: 18807290\nChange-Id: Ifdeb3c50f11cefc7f0d62c1d36fdd1f8b9344fb4\n"
    },
    {
      "commit": "c01683bea012d2ee15e325fac7177b920f23fea1",
      "tree": "7cb2063f05a857a18e9ff0b7ffed7f741270cfff",
      "parents": [
        "55edd8e2982e21c4f3475bb8389c169830220c80"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jan 06 14:55:26 2015 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jan 06 15:42:15 2015 -0800"
      },
      "message": "Fix sigchainlib\u0027s implementation of sigaction\n\n  Correctly handles the case when old_action \u003d\u003d new_action\n\nBug: 18740478\nChange-Id: I97092318439e4f6f0a2513d4336496c72f8c5599\n(cherry picked from commit 797a29b334f2d311135602bf5204ae8b890f4a14)\n"
    },
    {
      "commit": "277ccbd200ea43590dfc06a93ae184a765327ad0",
      "tree": "d89712e93da5fb2748989353c9ee071102cf3f33",
      "parents": [
        "ad17d41841ba1fb177fb0bf175ec0e9f5e1412b3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 21:36:10 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 18:40:08 2014 -0800"
      },
      "message": "ART: More warnings\n\nEnable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general,\nand -Wunused-but-set-parameter for GCC builds.\n\nChange-Id: I81bbdd762213444673c65d85edae594a523836e5\n"
    },
    {
      "commit": "9d9cfa85fe614084768e1c66666933ac648a8d90",
      "tree": "65453d9eb0c978652bf6cf9afd9477e894b77e49",
      "parents": [
        "a10a8b56a01be95b3ec13022d3a155e163a11673"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 20:25:24 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 20:25:24 2014 -0800"
      },
      "message": "ART: Fix unused parameters in libsigchain\n\nThe sigchain dummy implementation does not use any parameters.\n\nChange-Id: Icbb71677e5092cd5990a69ea3a62703c0747ae17\n"
    },
    {
      "commit": "cf7f19135f0e273f7b0136315633c2abfc715343",
      "tree": "ffa4d9efd9c45f4b6789acc1f534bb9327052b7e",
      "parents": [
        "aea6888b056be21adf762e066c7f33b8939b8a06"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 22 22:06:39 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 22 22:21:57 2014 -0700"
      },
      "message": "C++11 related clean-up of DISALLOW_..\n\nMove DISALLOW_COPY_AND_ASSIGN to delete functions. By no having declarations\nwith no definitions this prompts better warning messages so deal with these\nby correcting the code.\nAdd a DISALLOW_ALLOCATION and use for ValueObject and mirror::Object.\nMake X86 assembly operand types ValueObjects to fix compilation errors.\nTidy the use of iostream and ostream.\nAvoid making cutils a dependency via mutex-inl.h for tests that link against\nlibart. Push tracing dependencies into appropriate files and mutex.cc.\nx86 32-bit host symbols size is increased for libarttest, avoid copying this\nin run-test 115 by using symlinks and remove this test\u0027s higher than normal\nulimit.\nFix the RunningOnValgrind test in RosAllocSpace to not use GetHeap as it\nreturns NULL when the heap is under construction by Runtime.\n\nChange-Id: Ia246f7ac0c11f73072b30d70566a196e9b78472b\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": "d000480134b7b00895fbfd142f1d1e18d9cfa6e9",
      "tree": "a9fab808555310308aecda2a59a7c90727ede0ff",
      "parents": [
        "d866c7616cb3426c431b635ae69964ce69c2ecb5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 15 16:59:47 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 16 19:16:41 2014 -0700"
      },
      "message": "Add way to ensure we are at the front of the sigaction chain\n\nCalling this after jni_on_load fixes the unity apps. This is\nnot exactly correct since we may already have the following chain.\n\nStart up:\nUs -\u003e debuggerd\n\nAfter app goes in front:\nApp -\u003e us -\u003e debuggerd\n\nAfter we put ourself back at the front:\nUs -\u003e app -\u003e us -\u003e app -\u003e .... stack overflow.\n\nBug: 17620677\nChange-Id: I9183997e3d5ebd51c320b5d51425be5142e938f3\n\n(cherry picked from commit 1f24296c7c8a6501ee2388c0d20b48f471b48660)\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": "cefcea838729287a04174664a76514dd793dd77d",
      "tree": "1feb269b6224d0448f15502eb09da4a97dc67b24",
      "parents": [
        "5733b35c23792834f3a2374003c109301a48867c"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Sep 16 10:01:01 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Sep 16 10:11:17 2014 -0700"
      },
      "message": "Don\u0027t call dlsym from signal context in signal chain\n\nIt is dangerous to call dlsym from within a signal context\nsince it takes a lock and can lead to a mutex reentry attempt if\ntiming is bad.\n\nThis change adds an initialization function to the signal chain\nthat calls dlsym for sigaction and sigprocmask from outside the\nsignal context (from Runtime::Init()).  The results are cached\nin a static variable and used from within the signal context if\nnecessary.\n\nHowever, tests don\u0027t necessarily call Runtime::Init() so we also\nneed to deal with the case where the signal chain is not initialized\nand perform a lazy initialization from inside sigaction or sigprocmask.\nThis is always outside a signal context since we have not initialized\nthe runtime.\n\nBug: 17498571\nChange-Id: I59eebfc67cc91c6f1d781a73e5d432ca5269ee48\n"
    },
    {
      "commit": "38680093a5e5150ca07b315e0596f6b53347195c",
      "tree": "2bf8128a2ddaa4af3123b725c7ac864ed2c083c5",
      "parents": [
        "eb9266cb953f15f0101da33f0d5a94590b1bd14b"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Aug 29 12:29:34 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Aug 29 12:29:34 2014 -0700"
      },
      "message": "Fix mac build and signal test\n\nChange-Id: I58311285db9095ca6339ce29a9f15e841b7c822d\n"
    },
    {
      "commit": "91a8366fb161725d40c99ce6330ab5c2ca758b56",
      "tree": "7cb52b03dd04d351f5077926c9c6f0a6c0b0ef8c",
      "parents": [
        "6950ae42dc0f64c825bf61cb13c0bfb254ad97bd"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Aug 28 16:12:40 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Aug 28 17:53:33 2014 -0700"
      },
      "message": "Fix signal chain to allow for signal() call to be used\n\nBug: 17320614\nChange-Id: Ia917307fb1b593644f524518e11e295b3c64be01\n"
    },
    {
      "commit": "8ce6b9040747054b444a7fa706503cd257801936",
      "tree": "04712170addb252d307ef9015abfc9bfc2b73581",
      "parents": [
        "a0a0da29e7d4d5c1bd471c49f1a4b6ec98fb767a"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Aug 26 11:07:58 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Aug 27 12:47:44 2014 -0700"
      },
      "message": "Handle nested signals\n\nThis allows for signals to be raised inside the ART signal handler.\nThis can occur when the JavaStackTraceHandler attempts to generate\na stack trace and something goes wrong.\n\nIt also fixes an issue where the fault manager was not being\ncorrectly shut down inside the signal chaining code.  In this\ncase the signal handler was not restored to the original.\n\nBug: 17006816\nBug: 17133266\n\n(cherry picked from commit fabe91e0d558936ac26b98d2b4ee1af08f58831d)\n\nChange-Id: I10730ef52d5d8d34610a5293253b3be6caf4829e\n"
    },
    {
      "commit": "1f8ef6fa2fb5d79799371f8bf745824b78bc48f2",
      "tree": "0ecf06cfc561501ad65ad774848ce2f30808c123",
      "parents": [
        "00b3024b350afef115bddea712705bdb4877ac11"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Aug 20 17:38:41 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Aug 21 12:04:02 2014 -0700"
      },
      "message": "Fix fault handler to unregister on shutdown\n\nThis fixes a problem with the fault handler where it wasn\u0027t\nunregistering itself during shutdown of the runtime.\n\nBug: 17133266\n\n(cherry picked from commit e8b9afcd0cd86b8808af29a97332038aab70c604)\n\nChange-Id: I1a4ec4292ec049046dda30769265680201729efb\n"
    },
    {
      "commit": "69dfe51b684dd9d510dbcb63295fe180f998efde",
      "tree": "daa2522650ca03417e4518dc8aef989ec53a6065",
      "parents": [
        "479f131d4bd3829dd512312020808b05f5a591f1"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Jul 11 17:11:58 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Jul 16 14:58:27 2014 -0700"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"Add implicit null and stack checks for x86\"\"\"\"\n\nThis reverts commit 0025a86411145eb7cd4971f9234fc21c7b4aced1.\n\nBug: 16256184\nChange-Id: Ie0760a0c293aa3b62e2885398a8c512b7a946a73\n"
    },
    {
      "commit": "22d5e735f403c57525fe868304c7123f0ce66399",
      "tree": "2458684efa56f0b800dd75a9dedd0449f76f581f",
      "parents": [
        "fbde4dd1cb6db729e3f3ee5bdae0cdd824d73054"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jul 15 22:23:51 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 16 06:13:46 2014 -0700"
      },
      "message": "Remove object_utils.h.\n\nBreak into object_lock, field_helper and method_helper.\nClean up header files following this.\nAlso tidy some of the Handle code in response to compiler errors when resolving\nthe changes in this CL.\n\nChange-Id: I73e63015a0f02a754d0866bfaf58208aebcaa295\n"
    }
  ],
  "next": "0025a86411145eb7cd4971f9234fc21c7b4aced1"
}
