)]}'
{
  "log": [
    {
      "commit": "6545ee31288b72e117450ea77b07f3593bff6180",
      "tree": "60085d1b253758ba32d8b585e493f634d95e422a",
      "parents": [
        "a0232ad060c65d0ac3e022c9f721b41c02fd0b71"
      ],
      "author": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Tue Nov 02 20:01:06 2021 +0530"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 11 11:32:25 2021 +0000"
      },
      "message": "Support Math.fma Intrinsic for x86 and x86_64\n\nIntrinsic Implementation is 2287x faster than base\nTime for base: 188.25s\nTime for patch: 0.0822s\n\nTest: ./run-test --host --64 --optimizing 082-inline-execute\nTest: ./run-test --host --64 --optimizing --instruction-set-features sse4.1 082-inline-execute\nTest: ./run-test --host --64 --optimizing --instruction-set-features sse4.1,avx2 082-inline-execute\nSigned-off-by: Shalini Salomi Bodapati \u003cshalini.salomi.bodapati@intel.com\u003e\nChange-Id: I68b96a35f41f3bb23d7e26d87fee1dd2a5ebf6a6\n"
    },
    {
      "commit": "87531a628e3a4d63fe6995350e6d94773c76c805",
      "tree": "072cc0c18fb6abbcbe92940c6c795f031b927320",
      "parents": [
        "e8657bfb9946306d48e850d308cfb9ab2b79dbd6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 04 15:36:55 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 05 15:11:56 2021 +0000"
      },
      "message": "Aesthetic changes in generated ART run-test Blueprint files.\n\nTest: Run `art/test/utils/regen-test-files` and check Blueprint files\nBug: 147814778\nChange-Id: I51dc20a7c7f26df163ab2de4fb33675740728a2f\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": "745da80dbf169d83e2acb847b0c9c07985d51bdf",
      "tree": "a01990e419ee49fe255a6df108027a89b568975a",
      "parents": [
        "16f7f8e384f0ae13c53525ff12affbc00605b0ec"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Jan 20 21:52:54 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Feb 10 12:33:48 2021 +0000"
      },
      "message": "Add Math.multiplyHigh intrinsic\n\nTest: ./art/test/testrunner/testrunner.py --target  --optimizing --64 -t 082-inline-execute\nTest: ./art/test/testrunner/testrunner.py --host --optimizing --64 -t 082-inline-execute\nChange-Id: I4b6cafa8b9e513eca7c5c139440024d87a7ef758\n"
    },
    {
      "commit": "b15e8797d2ca6fb480a940887c66dd2aae7c9065",
      "tree": "23bd6e44c31b45fde7d92bbe7620329a61c1fcf5",
      "parents": [
        "79bf0b8e9c704e63029bb3badf9c4872484a827b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 28 12:20:59 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 10 09:46:01 2020 +0000"
      },
      "message": "Verify ART run-tests\u0027 standard output and standard error separately.\n\nIntroduce expected standard error files for ART run-tests. Collect\ntests\u0027 standard output and standard error separately and check them\nagainst the corresponding expectation file.\n\nTest: Run ART run-tests on host and device using `testrunner.py`.\nTest: atest --test-mapping art:all\nTest: atest --test-mapping cts/hostsidetests/jvmti:all\nBug: 171865375\nBug: 147812905\nChange-Id: Ie95bec4a4684ff6791d464124ce8976339432d1f\n"
    },
    {
      "commit": "a073f46104fbce0482fb759d5ccfb32ee39cc973",
      "tree": "985538ce69fa4d9253725cddaca936ddc3eaea86",
      "parents": [
        "5a19854c682a994729f704806d6c0de1de349631"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 28 12:48:24 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 05 18:15:49 2020 +0000"
      },
      "message": "Rename ART run-tests `expected.txt` files as `expected-stdout.txt`.\n\nThis is in preparation for the addition of `expected-stderr.txt` files\nin all ART run-test directories, which will record the expected\nstandard error for each of these tests, and which will be verified\nalong with `expected-stdout.txt`.\n\nTest: Run ART run-tests on host and device using `testrunner.py`.\nTest: atest --test-mapping art:all\nBug: 171865375\nBug: 147812905\nChange-Id: I37e3c4b8409475790e2fc63514cdf57156d47ff4\n"
    },
    {
      "commit": "4258f9e2f19016e04a71ec2b5349b707f8f47a18",
      "tree": "bd587ca13be99c9c8e1d2781719b75a887ca5897",
      "parents": [
        "4b9f86bd04a905e6ee6eaf5363b0967315136096"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 13 12:10:59 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 14 08:01:06 2020 +0000"
      },
      "message": "Only tag supported ART run-tests as part of `art-target-run-test`.\n\nAll ART (target) run-tests supported at the build-level have been\ntagged as part of the `art-target-run-test` TradeFed test suite;\nhowever, only a part of them are actually expected to suceed at run\ntime at the moment, meaning that many tests are currently failing on\nthe postsubmit configuration running tests tagged as\n`art-target-run-test` (currently running only on crosshatch devices).\n\nTo avoid this, use a different test configuration template for test\nexpected to succeed and for test expected to fail, and only have the\nformer test configuration template tag the test as part of the\n`art-target-run-test` test suite.\n\nTest: atest --test-mapping art:all\nTest: Rely on ATP post-submit testing\nBug: 152374989\nBug: 147812905\nChange-Id: I29ecc1d3021765cb5467f3a6f4e9d64afc4caead\n"
    },
    {
      "commit": "a3bd4ec050e10fbfb6df0fe024bc6f3851bcc326",
      "tree": "8a373f87b05b3580f564bd8561bf0dd4ebb9161e",
      "parents": [
        "b0f405e1482df602fc57ee2ed4434456c4dc2555"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Aug 27 16:26:17 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 25 09:16:33 2020 +0000"
      },
      "message": "Introduce Long.divideUnsigned() intrinsic on ARM64.\n\nExtends the 082-inline-execute test and reorders\ndivideUnsigned intrinsic code before VarHandle code.\n\nTest: 082-inline-execute.\nTest: testrunner.py --target --optimizing --64\nBug: 156736938\nChange-Id: I8acf3db184da30640aff36cf02570ae0c6d2b88c\n"
    },
    {
      "commit": "8942b3a769729e9c1fb65f5b738317483124dc45",
      "tree": "e99c60039c9ef27d05a6d43269232953b72058be",
      "parents": [
        "0571d479f52781df0b4d94caaf704631122ba6e6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 20 10:42:15 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 24 10:51:06 2020 +0000"
      },
      "message": "Integer.divideUnsigned() intrinsic on ARM64.\n\nImplements the intrinsic for arm64; adds a comment\nfor a DCHECK() that prevented kNoOutputOverlap usage\nin intrinsics with slow paths.\n\nAuthor: Vladimir Marko.\nCommitter: Artem Serov.\n\nTest: Covered by 082-inline-execute.\nTest: testrunner.py --target --optimizing --64\nBug: 156736938\nChange-Id: Ie1e61c19afe6a899fd4152206e5dbf9ad013e602\n"
    },
    {
      "commit": "6b0b2e711fdb9a1852705318dda2b5139d30f7a5",
      "tree": "6300c21da263373f4a286ae55e9f5b88a09f3965",
      "parents": [
        "6f0c8b976ac84215129fe7cca0b0ef26d9af0554"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 08 16:36:13 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Sep 09 10:21:47 2020 +0000"
      },
      "message": "Rename the expected-output text file in built TradeFed ART run-tests.\n\nTest suite packages (e.g. `android-mts.zip`) flatten tests artifacts\ninto a single `testcases` directory, therefore each included file must\nhave a unique name. Have the build system rename every `expected.txt`\nfile to a unique name when building TradeFed-style ART run-tests.\n\nTest: atest art-run-test-001-HelloWorld\nBug: 147812905\nChange-Id: I0d433d0a611cb5214ae366e2c1af214e41c127f0\n"
    },
    {
      "commit": "be7fe3b5466e10c4c49f027f10a801e1a4a9216c",
      "tree": "e8946fd568d6ce71114e0d3d75c6b329437dea4c",
      "parents": [
        "dc787f488ce151478af1149c04a10b21b2b9fc6e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 09 10:58:12 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 09 10:58:12 2020 +0100"
      },
      "message": "Add some x86/x86-64 assembler tests.\n\nAlso add divq() and divl() to x86-64 assembler and clean up\na test. This is a follow-up to\n    https://android-review.googlesource.com/1355865 .\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing -t 082-inline-execute\nBug: 156736938\nChange-Id: Iade33a2250cea481249f6b976bc53c86663cb901\n"
    },
    {
      "commit": "dc787f488ce151478af1149c04a10b21b2b9fc6e",
      "tree": "38d402813c9c3f541630255e9f9890a9c6842c45",
      "parents": [
        "9a09e7cf11b2653e6da2b179ac03bc6bb71c81e3"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Tue Jul 07 14:28:56 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 09 09:44:58 2020 +0000"
      },
      "message": "Make Integer.divideUnsigned intrinsic for x86.\n\nBug: 156736938\nTest: Added a test to 082-inline-execute.\nTest: art/test.py --host --32 -r -t 082-inline-execute\nChange-Id: Id516126fce10f2fa52b95c1b2b107ca7bf45e347\n"
    },
    {
      "commit": "01e5698d5440c2665b7ab6dd924985843be161a2",
      "tree": "580cb03de99c1e7d1c552c9e18e30b1ee9030ca6",
      "parents": [
        "eaf3a920817fcf3b85d80eb16eb2fe91831e1fb9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 10 12:28:01 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 03 19:11:02 2020 +0000"
      },
      "message": "Add Soong module definitions for ART run-tests with default build rules.\n\nIntroduce new Bash script `test/utils/regen-test-files` and use it\nto generate a set of initial Soong module definitions for some ART\nrun-tests matching these conditions:\n1. using default build rules (defined in `test/etc/default-build`), as\n   per the `test/run-test` script;\n2. consisting only of Java source files contained in their `src`\n   directory;\n3. containing no additional build complexity.\n\nAlso disable ErrorProne checks for ART run-tests on `errorprone`\nbuilds.\n\nTest: m $(find art/test \\\n              -regextype egrep \\\n              -regex \u0027art/test/[0-9]{3,}-.*/Android.bp\u0027 \\\n              -printf \u0027%P\\n\u0027 \\\n            | sed -r \u0027s,(.*)/Android.bp,art-run-test-\\1,\u0027 \\\n            | sort)\nTest: m javac-check $(find art/test \\\n                          -regextype egrep \\\n                          -regex \u0027art/test/[0-9]{3,}-.*/Android.bp\u0027 \\\n                          -printf \u0027%P\\n\u0027 \\\n                        | sed -r \u0027s,(.*)/Android.bp,art-run-test-\\1,\u0027 \\\n                        | sort) RUN_ERROR_PRONE\u003dtrue\nBug: 147814778\nChange-Id: Ife6b045a88bd18b06a3fc202f3d226e27e0fc03d\n"
    },
    {
      "commit": "c032e74b57d31861b6bb55500016ebb5476eb142",
      "tree": "044af8b3efe9326245a9f32144a6b23b64ec0e22",
      "parents": [
        "1e6578a68d6f4499362254bcdeb6bbf55e309ea4"
      ],
      "author": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Mon Mar 28 16:44:32 2016 +0100"
      },
      "committer": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Thu Feb 02 17:04:03 2017 +0000"
      },
      "message": "Math.min and Math.max intrinsics for ARM\n\nThis patch implements min/max intrinsics for:\n  * Long\n  * Float\n  * Double\n\nTest: m test-art-host\nTest: m test-art-target\nTest: 082-inline-execute\n\nChange-Id: I2dfab8ab606f3d01fba712f9014d2e0617449d74\n"
    },
    {
      "commit": "6099d5e2a23291b9cd9bfc9030327d5b7bddc3eb",
      "tree": "0d71716339d436a5622bae4f6df59a62afa4242c",
      "parents": [
        "202d9ac328d9e37cf956b473cc2c1083622df1a4"
      ],
      "author": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Wed Apr 20 18:44:56 2016 +0100"
      },
      "committer": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Tue Jan 31 10:16:41 2017 +0000"
      },
      "message": "Implement Math.rint Intrinsic for ARM32.\n\nTest: m test-art-host\nTest: m test-art-target\nTest: 082-inline-execute\n\nChange-Id: If73bcea5f9fb24942c7390c6ccbcfb012f8951c7\n"
    },
    {
      "commit": "7adaab070bbe9783130e78eea163c459303c980b",
      "tree": "fe92c29bf891076c094ceb40a314a8b694d6187d",
      "parents": [
        "48f9f28c9b7b0b9c0f6339da8df2aa41c89d0254"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Thu Apr 21 14:49:20 2016 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Thu Jun 16 09:38:38 2016 -0700"
      },
      "message": "MIPS64: java.lang.Math.round\n\n- int java.lang.Math.round(float)\n- long java.lang.Math.round(double)\n\nBUG\u003d26327751\n\nChange-Id: I8bb7a5f32375b06b886a0babf39eb3e20df3a085\n"
    },
    {
      "commit": "f09d532a5eeda4b8c629c3d7aa207ac63c4a9070",
      "tree": "7194c02dfbe75a1336a08b499ab94b0b590ff519",
      "parents": [
        "4e377e58066ccef401276d7d0985521e5e63d1fb"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Fri Apr 22 12:06:34 2016 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Apr 26 16:51:59 2016 -0700"
      },
      "message": "MIPS32: java.lang.Math.round(float)\n\nBUG\u003d26327751\n\nChange-Id: I9ec0d600bbbbcf9e1ed07fbfc0ce9187a2ae5727\n"
    },
    {
      "commit": "2714fe681fa9850bcbe3e2d3c3c72a5c77ca26b8",
      "tree": "f090c224b4cc59b74dbf7cf2f873fa1fdf2a8c31",
      "parents": [
        "66bdb9e03efa2055b6bfbe0a07ee873afe673fae"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Thu Feb 11 14:23:53 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 03 13:34:32 2016 -0800"
      },
      "message": "MIPS32: Implement isInfinite intrinsics.\n\n- boolean java.lang.Float.isInfinite(float)\n- boolean java.lang.Double.isInfinite(double)\n\nChange-Id: I17dc2380ec864fd7612025ed400e29dd115ccab4\n"
    },
    {
      "commit": "9c1c06ad57937f0f3add3779cc46e597cb76803a",
      "tree": "70fad97ba832923962afafac03443ef00fc27b20",
      "parents": [
        "9ca7d203f2452366c50ce4cdff60b412f8c35710"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 25 17:50:41 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 25 17:50:41 2016 +0000"
      },
      "message": "Add StrictMath.round tests for large integers.\n\nThis is a follow-up to\n    https://android-review.googlesource.com/203175 .\n\nBug: 27166445\nChange-Id: I850999c782017650017fad7e27c83b60b57edaf9\n"
    },
    {
      "commit": "b74353a6765447b1551b337fd76803eb6aa86b8b",
      "tree": "a04175cdbeef83f485c0cbe8a4265abc207780b4",
      "parents": [
        "e33d20e321b630bcab83f6dfbfac2788d8145148"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Fri Nov 20 09:07:09 2015 -0800"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Feb 22 12:42:57 2016 -0800"
      },
      "message": "MIPS32: Implement intrinsics from java.lang.Math:\n\n- abs(double)           - abs(float)            - abs(int)\n- abs(long)             - max(double, double)   - max(float, float)\n- max(int, int)         - max(long, long)       - min(double, double)\n- min(float, float)     - min(int, int)         - min(long, long)\n- sqrt(double)\n\nThe math intrinsics:\n\n- ceil(double)          - floor(double)         - rint(double)\n- round(double)         - round(float)\n\naren\u0027t implemented because they require instructions which only exist\nfor MIPS64, or for MIPS32r6.\n\nChange-Id: I943be3592b52a423fcb7ac40f46f38a5e2a58c50\n"
    },
    {
      "commit": "92d4f0e08dbdf7bdeac611aa47bddc05742ec357",
      "tree": "032b86de1cd51b4897866313e55b38ca692508fe",
      "parents": [
        "b93c21e83c8fbf0191093c01a8951adb5be9010b"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Feb 17 12:14:03 2016 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Feb 17 12:14:03 2016 -0800"
      },
      "message": "Add Math.round tests for large integers.\n\nThese fail for OpenJDK7 and earlier code.\n\nBug: 27166445\nChange-Id: Ia09f61bd375e0935e05300cfef4304b2fd9ac12f\n"
    },
    {
      "commit": "121b25e246b7012cfd895f205855c6102da48305",
      "tree": "8d7e4dae58b59e9a554db03a06c800f3caf5b6b9",
      "parents": [
        "31f7afcd651ca5836892d1c24010933fa40c29e4",
        "13ca74fed068a6a49221b5213ce0b1bebeda3ed6"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Nov 20 11:24:33 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Nov 21 16:28:15 2015 +0000"
      },
      "message": "Merge mnc-dr-enso-dev into goog/master\n\nBug: 25758743\nChange-Id: I19d433934f01856e7b5a7392a58b759c3ac386e7\n"
    },
    {
      "commit": "879ca675ed9dfc884f4ad8401bd94a74e3871ffc",
      "tree": "6207636e9ff09494172b49302e051fadfda2ec69",
      "parents": [
        "3778c8769f05aafdc1bcc8064e8d1a9c1e008783"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Nov 18 14:11:44 2015 +0000"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Nov 18 14:11:44 2015 +0000"
      },
      "message": "Fix 082-inline-execute\n\nChange the expectation for java.lang.Math.round and\njava.lang.StrictMath.round to follow API specification.\n\nChange-Id: I026a12a8be6abe8472531bff7564e9b65cd23d09\n"
    },
    {
      "commit": "9ee23f4273efed8d6378f6ad8e63c65e30a17139",
      "tree": "3b1bfb8a6260a57ccb2f025fcdc457464714701e",
      "parents": [
        "62ba40149be3d1c65e4db1f455822a585149d32f"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Thu Jul 23 10:44:35 2015 +0100"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Fri Sep 11 09:51:58 2015 +0100"
      },
      "message": "ARM/ARM64: Intrinsics - numberOfTrailingZeros, rotateLeft, rotateRight\n\nChange-Id: I2a07c279756ee804fb7c129416bdc4a3962e93ed\n"
    },
    {
      "commit": "82831096ababbd95f5b61c3718c13c44fb4f360b",
      "tree": "f2d39b74bd5cfab32735238d8de178fb476be186",
      "parents": [
        "f0170ded84fbcd3d9152cdbcf9ffbf74c71b03ba"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Aug 25 09:06:58 2015 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Aug 25 09:06:58 2015 -0700"
      },
      "message": "ART: Additional ceil/floor/rint test cases\n\nTest boundaries conditions around the precision limits of Double\u0027s 53\nbit mantissa, and Long\u0027s [-2^63,2^63-1] range.\n\nChange-Id: I7fa33f53d2547a5446f46bb12fbb1b7c2a639b2a\n"
    },
    {
      "commit": "d5897678eb555a797d4e84e07814d79f0e0bb465",
      "tree": "bcf7df2382200011fb43a59f49d008852368b355",
      "parents": [
        "8ecc1357e2c682165467ca8e10c7a748f7554df2"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Wed Aug 12 21:16:41 2015 -0400"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 17 12:36:34 2015 +0100"
      },
      "message": "Implement CountLeadingZeros for x86\n\nGenerate Long and Integer numberOfLeadingZeros for x86 and x86_64. Uses\n\u0027bsr\u0027 instruction to find the first one bit, and then corrects the\nresult.\n\nAdded some more tests with constant values to test constant folding.\nAlso add a runtime test with 0 as the input.\n\nChange-Id: I920b21bb00069bccf5f921f8f87a77e334114926\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "611d3395e9efc0ab8dbfa4a197fa022fbd8c7204",
      "tree": "9a0a3b6750caae13b963b244719e03b8cfb49c44",
      "parents": [
        "0c9c5bbdd6976c21602b92d9b455e6fe5d769fb0"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Fri Jul 10 11:42:06 2015 +0100"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Tue Aug 04 09:02:56 2015 +0100"
      },
      "message": "ARM/ARM64: Implement numberOfLeadingZeros intrinsic.\n\nChange-Id: I4042fb7a0b75140475dcfca23e8f79d310f5333b\n"
    },
    {
      "commit": "a0b23bbed9b2199e85da401e3b2d0ddef74cd9fb",
      "tree": "a20b8e8a8d09119129b16a26f8a6147d547dd26d",
      "parents": [
        "ccbbda2b716bcc0dd9ad7b6c7bf9079efa3fca23"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 07 13:25:58 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 08 12:50:20 2015 -0700"
      },
      "message": "ART: Release inputs in Long.reverse intrinsic in x86\n\nIn the worst case we are using two temps each for input and output.\nThen we do not have a temp left over for the swap operations. The\ninput is dead, however, after the first swap. So try to release it\n(a no-op if it isn\u0027t actually a temp).\n\nBug: 22324327\n\n(cherry picked from commit 575422fa5be7389bdaff5e2d25dd87b1d2d4de85)\n\nChange-Id: I1fc50159afdad14160e34abeaf4670958171d6b2\n"
    },
    {
      "commit": "575422fa5be7389bdaff5e2d25dd87b1d2d4de85",
      "tree": "227c8b864224b2abdb612aa126616d6b453d5b10",
      "parents": [
        "ee35ff809616324cbada38cbc0610eb09da09b35"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 07 13:25:58 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 08 15:49:33 2015 +0000"
      },
      "message": "ART: Release inputs in Long.reverse intrinsic in x86\n\nIn the worst case we are using two temps each for input and output.\nThen we do not have a temp left over for the swap operations. The\ninput is dead, however, after the first swap. So try to release it\n(a no-op if it isn\u0027t actually a temp).\n\nBug: 22324327\nChange-Id: I1fc50159afdad14160e34abeaf4670958171d6b2\n"
    },
    {
      "commit": "ce7d005c1ba0716423d44861d2d0f58f142ff06a",
      "tree": "650120ade40af0aba0ef66a69e84299e936912d5",
      "parents": [
        "8db2a6deb82d9c14d62e7ea201bc27b3040f1b62"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 07 22:31:55 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 12 11:56:42 2015 -0700"
      },
      "message": "ART: arm indexOf intrinsics for the optimizing compiler\n\nAdd intrinsics implementations for indexOf in the optimizing\ncompiler. These are mostly ported from Quick.\n\nBug: 20889065\n\n(cherry picked from commit ba6fdbcb764d5a8972f5ff2d7147e4d78226b347)\n\nChange-Id: I18ee849d41187a381f99529669e6f97040aaacf6\n"
    },
    {
      "commit": "cefb1553cdbaccd486c6bb8a75210d9485287f93",
      "tree": "58c99bd2ae35e023370d5b4d9004064d19fabfbf",
      "parents": [
        "e658f89d7932ede6cfb087f10f0f59bc91f021bc",
        "ba6fdbcb764d5a8972f5ff2d7147e4d78226b347"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 12 18:26:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 12 18:26:24 2015 +0000"
      },
      "message": "Merge \"ART: arm indexOf intrinsics for the optimizing compiler\""
    },
    {
      "commit": "ba6fdbcb764d5a8972f5ff2d7147e4d78226b347",
      "tree": "3ae63f102e605ad4ac6b570d08583d30f07fe6d1",
      "parents": [
        "775b7b888a13315b8b7722564c2824baabb98221"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 07 22:31:55 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 12 08:33:27 2015 -0700"
      },
      "message": "ART: arm indexOf intrinsics for the optimizing compiler\n\nAdd intrinsics implementations for indexOf in the optimizing\ncompiler. These are mostly ported from Quick.\n\nBug: 20889065\nChange-Id: I18ee849d41187a381f99529669e6f97040aaacf6\n"
    },
    {
      "commit": "21030dd59b1e350f6f43de39e3c4ce0886ff539c",
      "tree": "b2123ddf1fb1535f750560507e3a186df99dac62",
      "parents": [
        "775b7b888a13315b8b7722564c2824baabb98221"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 07 14:46:15 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 11 10:40:05 2015 -0700"
      },
      "message": "ART: x86 indexOf intrinsics for the optimizing compiler\n\nAdd intrinsics implementations for indexOf in the optimizing\ncompiler. These are mostly ported from Quick. Add instruction\nsupport to assemblers where necessary.\n\nChange-Id: Ife90ed0245532a5c436a26fe84715dc357f353c8\n"
    },
    {
      "commit": "678e6959d5af8e7b07bf51f1648516c146bdf8d2",
      "tree": "ddca45af39d2a4bb5a285dcf47a8833ab7761eb1",
      "parents": [
        "7b4de07fffc6dbbbd986bb21b212fa0c4a2aec58"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 07 16:44:58 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 07 16:46:53 2015 -0700"
      },
      "message": "ART: Refactor 082-inline-execute\n\nRefactor the indexOf intrinsics tests so that the optimizing\ncompiler would actually compile them.\n\nBug: 20889065\nChange-Id: I69bfda7fa3eb4ce42c593203731e3ddd61f7e1ed\n"
    },
    {
      "commit": "2bcf9bf784a0021630d8fe63d7230d46d6891780",
      "tree": "167d773b796c5e63d84c205a8ae9a2fe3585d06a",
      "parents": [
        "61fdf5bca503c30ba1e4dcaf333a8d3299f3bde6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 29 09:56:07 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 09 13:08:39 2015 -0800"
      },
      "message": "ART: Arm intrinsics for Optimizing compiler\n\nAdd arm32 intrinsics to the optimizing compiler.\n\nChange-Id: If4aeedbf560862074d8ee08ca4484b666d6b9bf0\n"
    },
    {
      "commit": "878d58cbaf6b17a9e3dcab790754527f3ebc69e5",
      "tree": "1c1af4ef938ad06a783da51e2c6276d6b0628da6",
      "parents": [
        "b80c3154d3b6359d8ad4ce50d3a6a68224400cdd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 15 23:24:00 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 28 15:32:40 2015 -0800"
      },
      "message": "ART: Arm64 optimizing compiler intrinsics\n\nImplement most intrinsics for the optimizing compiler for Arm64.\n\nChange-Id: Idb459be09f0524cb9aeab7a5c7fccb1c6b65a707\n"
    },
    {
      "commit": "00ca84730a21578dcc6b47bd8e08b78ab9b2dded",
      "tree": "5af68aefc28464ccb209fff525ab2fb374f1d236",
      "parents": [
        "081d27817608c2ea035f2473c4ea1062a79bccef"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jan 26 14:06:46 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jan 26 14:32:39 2015 +0000"
      },
      "message": "Quick: Fix range check for intrinsic String.charAt() on x86.\n\nBug: 19125146\nChange-Id: I274190a7a60cd2e29a854738ed1ec99a9e611969\n"
    },
    {
      "commit": "ff87d7bdc2c06bece8ea783dd4979360f1d51103",
      "tree": "5656d0fdb9555e61476857785a665e861a619817",
      "parents": [
        "59add47cabce3735ccd470cd3b5dac8b112e09ab"
      ],
      "author": {
        "name": "Chao-ying Fu",
        "email": "chao-ying.fu@intel.com",
        "time": "Mon Jan 19 15:51:57 2015 -0800"
      },
      "committer": {
        "name": "Chao-ying Fu",
        "email": "chao-ying.fu@intel.com",
        "time": "Wed Jan 21 16:00:24 2015 -0800"
      },
      "message": "ART: Fix GenInlined functions\n\nThis patch fixes Mir2Lir::GenInlinedReverseBytes,\nMir2Lir::GenInlinedAbsInt, Mir2Lir::GenInlinedAbsLong,\nMir2Lir::GenInlinedFloatCvt, Mir2Lir::GenInlinedDoubleCvt,\nX86Mir2Lir::GenInlinedSqrt, X86Mir2Lir::GenInlinedMinMaxFP,\nX86Mir2Lir::GenInlinedMinMax, X86Mir2Lir::GenInlinedPeek,\nand X86Mir2Lir::GenInlinedReverseBits to generate no code, when results\nare unused.\nNew calls without assignments are added to 082-inline-execute.\n\nChange-Id: I7076e9ddbea43545315f2aeb677c63a8a6e95224\nSigned-off-by: Chao-ying Fu \u003cchao-ying.fu@intel.com\u003e\n"
    },
    {
      "commit": "71fb52fee246b7d511f520febbd73dc7a9bbca79",
      "tree": "444d91e910433aaf887bbdada28dfaa3160bebc2",
      "parents": [
        "420457e6040184a6e1639a4c84fcc8e237bd8a3d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 29 17:43:08 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 15 10:21:11 2015 -0800"
      },
      "message": "ART: Optimizing compiler intrinsics\n\nAdd intrinsics infrastructure to the optimizing compiler.\n\nAdd almost all intrinsics supported by Quick to the x86-64 backend.\nFurther intrinsics require more assembler support.\n\nChange-Id: I48de9b44c82886bb298d16e74e12a9506b8e8807\n"
    },
    {
      "commit": "1ef4ce87e54a595a67263e550916b97a1b468b99",
      "tree": "134a4f661cef5d5dcd1f57e56bf44114c0e42a0d",
      "parents": [
        "469f2ee9a3c3d77f0352faed19d8c83c7397a638"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 27 11:13:47 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 27 18:49:20 2014 +0000"
      },
      "message": "Really fix tests.\n\nRemove extra line in Android.run-test.mk.\nUpdate junit code in 082 and 021.\nSet correct bootclasspath for --no-image.\nMake host core.art depend on dex files being installed.\nMake 118 pass in the correct bootclasspath.\n\nBug: 17290452\n\nChange-Id: I415eddfa3632ec7eda927abe95925202de193749\n"
    },
    {
      "commit": "2eba1fa7e9e5f91e18ae3778d529520bd2c78d55",
      "tree": "a75aae98e3329508a82e45c6bffea0777ec266b1",
      "parents": [
        "7aaa8dbfbcde7f58564b42044892891559669838"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Jul 31 19:07:17 2014 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 15:10:25 2014 -0700"
      },
      "message": "AArch64: Add inlining support for ceil(), floor(), rint(), round()\n\nThis patch adds inlining support for the following Math, StrictMath\nmethods in the ARM64 backend:\n  * double ceil(double)\n  * double floor(double)\n  * double rint(double)\n  * long round(double)\n  * int round(float)\n\nAlso some cleanup.\n\nChange-Id: I9f5a2f4065b1313649f4b0c4380b8176703c3fe1\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "1222c96fafe98061cfc57d3bd115f46edb64e624",
      "tree": "133472b9c0b26fb1ccada101f3a6593029501a56",
      "parents": [
        "b2a59010b787bd9d5d9bf36d32682faa5ad8da24"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Wed Jul 16 00:54:13 2014 +0700"
      },
      "committer": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Fri Jul 18 01:54:42 2014 +0700"
      },
      "message": "ART: inline Math.Max/Min (float and double)\n\nThis implements the inlined version of Math.Max/Min intrinsics.\n\nChange-Id: I2db8fa7603db3cdf01016ec26811a96f91b1e6ed\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\nSigned-off-by: Shou, Yixin \u003cyixin.shou@intel.com\u003e\n"
    },
    {
      "commit": "b7e78cb6bdc57f2beaa8bccf383289ebdd53e552",
      "tree": "20786b6ae1c32200134cd70e7e0191940a17e66b",
      "parents": [
        "5727339f61b016d012fc91c5df3eb8eb3f3e0066",
        "a3fe7422d7ce8bfb01f95decef45f91a44d39264"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jul 12 10:24:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 11 16:35:27 2014 +0000"
      },
      "message": "Merge \"AArch64: Fix and enable reverseBytes intrinsic.\""
    },
    {
      "commit": "f37a88b8e6db6c587fa449a12e40cb46be1689fc",
      "tree": "2e1d8b20e87796e1ad5d682dcce2a52a37f20123",
      "parents": [
        "9531f62ef260cbd0d0512e4c96f5d5dd2f4fdbb2"
      ],
      "author": {
        "name": "Zuo Wang",
        "email": "zuo.wang@intel.com",
        "time": "Thu Jul 10 04:26:41 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 11 18:32:07 2014 -0700"
      },
      "message": "ART: Compacting ROS/DlMalloc spaces with semispace copy GC\n\nCurrent semispace copy GC is mainly associated with bump pointer\nspaces. Though it squeezes fragmentation most aggressively, an extra\ncopy is required to re-establish the data in the ROS/DlMalloc space to allow\nCMS GCs to happen afterwards. As semispace copy GC is still stop-the-world,\nthis not only introduces unnecessary overheads but also longer response time.\nResponse time indicates the time duration between the start of transition\nrequest and the start of transition animation, which may impact the user\nexperience.\n\nUsing semispace copy GC to compact the data in a ROS space to another ROS(or\nDlMalloc space to another DlMalloc) space solves this problem. Although it\nsqueezes less fragmentation, CMS GCs can run immediately after the compaction.\n\nWe apply this algorithm in two cases:\n1) Right before throwing an OOM if -XX:EnableHSpaceCompactForOOM is passed in\nas true.\n2) When app is switched to background if the -XX:BackgroundGC option has value\nHSpaceCompact.\n\nFor case 1), OOMs are significantly delayed in the harmony GC stress test,\nwith compaction ratio up to 0.87. For case 2), compaction ratio around 0.5 is\nobserved in both built-in SMS and browser. Similar results have been obtained\non other apps as well.\n\nChange-Id: Iad9eabc6d046659fda3535ae20f21bc31f89ded3\nSigned-off-by: Wang, Zuo \u003czuo.wang@intel.com\u003e\nSigned-off-by: Chang, Yang \u003cyang.chang@intel.com\u003e\nSigned-off-by: Lei Li \u003clei.l.li@intel.com\u003e\nSigned-off-by: Lin Zang \u003clin.zang@intel.com\u003e\n"
    },
    {
      "commit": "a3fe7422d7ce8bfb01f95decef45f91a44d39264",
      "tree": "c95d83be9696bc14c13d3b4ff9332bcde10a5961",
      "parents": [
        "bcb3b29095817ce8987d8310d4db87271f5114ad"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Wed Jul 09 14:03:15 2014 +0800"
      },
      "committer": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Thu Jul 10 08:47:16 2014 +0800"
      },
      "message": "AArch64: Fix and enable reverseBytes intrinsic.\n\nThere is no revsh on arm64, use rev16 and sxth instead.\n\nChange-Id: I5f9879352f0ad76b386c82cbf476894af888a64c\n"
    },
    {
      "commit": "0cbfd44bd3dce9bc796e851237c5646336eee4d1",
      "tree": "bfe339e4f480e90efaa09e3679e64a680ed3a1e5",
      "parents": [
        "ef9b94cc83595bc0c95b0edd5131187998919c7a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 08 21:33:47 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 09 15:17:46 2014 -0700"
      },
      "message": "ART: Add simple tests for inlining of CAS\n\nAdd simple test cases for the inlining of CAS in the quick compiler to\nrun-test 082. The tests are not multi-threaded and will just establish\nthat the baseline behavior is correct. For extensive evaluation consider\ntests available in libcore.\n\nChange-Id: I9f463599e48ab7abc725769dda84758c9c6a76c2\n"
    },
    {
      "commit": "eb24baec056dbe5871f1bc64b793eb2e69907866",
      "tree": "13181f80be3ed025276afb1dee9763fb5c3affdf",
      "parents": [
        "62f28f943e2da2873c7a09096c292f01a21c6478"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Tue Jul 08 16:27:17 2014 +0700"
      },
      "committer": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Wed Jul 09 21:41:35 2014 +0700"
      },
      "message": "x86_64: enable Peek and Poke intrinsics\n\nThis implements intrinsics for:\nMemory.peekByte/Short/Int/Long()\nMemory.pokeByte/Short/Int/Long()\n\nChange-Id: I6da6250f262dfd7aded35c2e3ade2d0916bd73cb\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\n"
    },
    {
      "commit": "7a94961d0917495644193b281b04a570a783bb07",
      "tree": "2823d2a3ed248a91718839af5abb05e2074cd9b8",
      "parents": [
        "e8a30f37bf1530a80a7df17692dbe7a68764ac30"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 08 11:03:59 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 08 12:24:20 2014 -0700"
      },
      "message": "ART: Do not emit load when inlining unused Thread.currentThread()\n\nWhen the result is not used, do not emit the load. This avoids\nuninitialized registers leading to size-check errors.\n\nChange-Id: I212392ffea7243720f120b2f12679df286106a02\n"
    },
    {
      "commit": "23abec955e2e733999a1e2c30e4e384e46e5dde4",
      "tree": "c0a11826d94243cdbeda83a86e7a420c997b477b",
      "parents": [
        "c72966a25c205a3914164f586e44e586e5715468"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Wed Jul 02 16:13:38 2014 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 03 17:39:00 2014 -0700"
      },
      "message": "AArch64: Add few more inline functions\n\nThis patch adds inlining support for the following functions:\n* Math.max/min(long, long)\n* Math.max/min(float, float)\n* Math.max/min(double, double)\n* Integer.reverse(int)\n* Long.reverse(long)\n\nChange-Id: Ia2b1619fd052358b3a0d23e5fcbfdb823d2029b9\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "a1758d83e298c9ee31848bcae07c2a35f6efd618",
      "tree": "a8444d43cbc686240e700daf594527a28bf63797",
      "parents": [
        "b94fae66dac14be955c68028447cdad84ee22bf9"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Thu Apr 17 01:55:43 2014 +0700"
      },
      "committer": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Thu Apr 17 17:06:39 2014 +0700"
      },
      "message": "String.IndexOf method handles negative start index value in incorrect way\n\nThe standard implementation of String.IndexOf converts the negative value of\nthe start index to 0 and searching will start from the beginning of the string.\nBut current implementation may start searching from the incorrect memory\noffset, that can lead to sigsegv or return incorrect result.\nThis patch adds the handler for cases when fromIndex is negative.\n\nChange-Id: I3ac86290712789559eaf5e46bef0006872395bfa\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\n"
    },
    {
      "commit": "34fa0d935bed7a0e17bc6df4bd079e3428a179e7",
      "tree": "37f08e08e993215497a11cd8681bf3f22f786322",
      "parents": [
        "113f7a4b6093280e4783c69e06467f816a568e72"
      ],
      "author": {
        "name": "Yevgeny Rouban",
        "email": "yevgeny.y.rouban@intel.com",
        "time": "Thu Mar 13 12:15:58 2014 +0700"
      },
      "committer": {
        "name": "Yevgeny Rouban",
        "email": "yevgeny.y.rouban@intel.com",
        "time": "Thu Mar 13 14:15:42 2014 +0700"
      },
      "message": "ART\u0027s intrinsic for String.indexOf use the incorrect register\n\nART\u0027s intrinsic for String.indexOf of x86 platform use the incorrect register\nto compare start with the string length. It should be fixed.\n\nChange-Id: I22986b4d4b23f62b4bb97baab9fe43152d12145e\nSigned-off-by: Vladimir Ivanov \u003cvladimir.a.ivanov@intel.com\u003e\nSigned-off-by: Yevgeny Rouban \u003cyevgeny.y.rouban@intel.com\u003e\n"
    },
    {
      "commit": "bf1442d5445405ddc4f67cdac2b4ebe2d37888e0",
      "tree": "f82778f07e9988b6d5fe67b23f3f76765bf8aeab",
      "parents": [
        "4c1c283a7410784e9cab309f868248690b788a9c"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Mar 05 15:12:40 2013 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Mar 06 16:33:16 2013 +0100"
      },
      "message": "Update intrinsic inlining test.\n\nAdds invokes of StrictMath operations to reflect compiler inlining support.\n\nChange-Id: Ibb2205a41c1e79ddbeacc2e716a9d05b723eb532\n"
    },
    {
      "commit": "28c384bc3bf7244f25cfe320c55db5d3d9171832",
      "tree": "902f8896cd2cee60b4d69ddb60c3da8aa6a90cc6",
      "parents": [
        "f0593eceb41a645e5b467472a7819eed2894ffe7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 15 16:46:25 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 15 16:46:25 2012 -0700"
      },
      "message": "Test all cases of all intrinsics.\n\nBug: 6617283\nChange-Id: I463ef1e2c09ad41af2e45f17f2f23e8d59f560e0\n"
    },
    {
      "commit": "b25c3f6a86dc634ce44fb2849385b49465caa84d",
      "tree": "f359c72d821d913f78b977d8dde0fc7023afb511",
      "parents": [
        "fc9e6fabed89d948fa8c0e9d673e430076712c60"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 16:35:06 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 17:11:59 2012 -0700"
      },
      "message": "Fix cpplint\u0027s whitespace complaints.\n\nChange-Id: I11fd2db2badf7bd98e7866ca2155d8ef1e112408\n"
    },
    {
      "commit": "5d1ac920fdaef5d4ec8f66bb734488cd9660b024",
      "tree": "dd372f306ab70f4c86759869b1f74eca62ff6f2b",
      "parents": [
        "c31664f3d82e6cd68275a529a8a73f067a52e8be"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 29 17:41:15 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 29 17:41:15 2011 -0700"
      },
      "message": "Adding old unit tests to test suite.\n\nThese tests are copied straight over. They\u0027ll still run, but they\u0027re\nusing the old system.\n\nChange-Id: If494519e52ddf858a9febfc55bdae830468cb3c8\n"
    }
  ]
}
