summaryrefslogtreecommitdiff
path: root/libartpalette
AgeCommit message (Collapse)Author
2021-09-07Add a lock contention palette hook.Nicolas Geoffray
Bug: 196334695 Test: m Change-Id: Id87cfc30957baa5e575947fc69d6f307e843dcf8 Merged-In: Id87cfc30957baa5e575947fc69d6f307e843dcf8 (cherry picked from commit e261356db98dc27bcec4048b3eaf9834864169aa) (cherry picked from commit 977054f46299a940e4db186a99f91b14dd735576)
2021-07-12Uncouple ART gtests from the ART APEX.Roland Levillain
Introduce standalone versions of ART gtests on target, not bundled with the ART APEX. So far ART gtests have always been built as debug artifacts (and linked against ART debug libraries). Make some adjustments in some of these tests so that they can also work as non-debug artifacts and be used with the Release ART APEX (which contains only non-debug artifacts). Newly added tests: * `art_standalone_cmdline_tests` * `art_standalone_compiler_tests` * `art_standalone_dex2oat_tests` * `art_standalone_dexdump_tests` * `art_standalone_dexlist_tests` * `art_standalone_dexoptanalyzer_tests` * Note: Requires root access to the device. * `art_standalone_libartbase_tests` * `art_standalone_libartpalette_tests` * `art_standalone_libdexfile_support_tests` * `art_standalone_libdexfile_tests` * `art_standalone_libprofile_tests` * `art_standalone_oatdump_tests` * `art_standalone_odrefresh_tests` * `art_standalone_profman_tests` * Note: Requires root access to the device. * Note: Some tests (2 out of 37) are failing in multi-ABI contexts and have been temporarily disabled. * `art_standalone_runtime_compiler_tests` * `art_standalone_runtime_tests` * Note: Some tests (16 out of 686) are failing and have been temporarily disabled. * Note: Some tests (4 out of 686) are failing in multi-ABI contexts and have been temporarily disabled. * `art_standalone_sigchain_tests` Tests not added: * `art_standalone_dexanalyze_tests` * Reason: ART binary `dexanalyze` is not part of the Release ART APEX. * `art_standalone_dexdiag_tests` * Reason: ART binary `dexdiag` is not part of the Release ART APEX. * `art_standalone_dexlayout_tests` * Reason: ART binary `dexlayout` is not part of the Release ART APEX. * `art_standalone_imgdiag_tests` * Reason: ART binary `imgdiag` is not part of the Release ART APEX. Tests not added (but present in AOSP): * `art_standalone_libartservice_tests` * Reason: Test `art_libartservice_tests` does not exist in this branch. * `art_standalone_libarttools_tests` * Reason: Test `art_libarttools_tests` does not exist in this branch. (cherry picked from commit f040914a122be86e280efe5e31af1168f2b7c72e) Test: atest -a art_standalone_cmdline_tests Test: atest -a art_standalone_compiler_tests Test: atest -a art_standalone_dex2oat_tests Test: atest -a art_standalone_dexdump_tests Test: atest -a art_standalone_dexlist_tests Test: atest -a art_standalone_dexoptanalyzer_tests Test: atest -a art_standalone_libartbase_tests Test: atest -a art_standalone_libartpalette_tests Test: atest -a art_standalone_libdexfile_support_tests Test: atest -a art_standalone_libdexfile_tests Test: atest -a art_standalone_libprofile_tests Test: atest -a art_standalone_oatdump_tests Test: atest -a art_standalone_odrefresh_tests Test: atest -a art_standalone_profman_tests Test: atest -a art_standalone_runtime_compiler_tests Test: atest -a art_standalone_runtime_tests Test: atest -a art_standalone_sigchain_tests Test: atest -a art_standalone_\*_tests Test: m art_chroot && atest ArtGtestsTargetChroot Bug: 193218514 Bug: 162834439 Bug: 162734417 Change-Id: I8beda9159d48c4ca495698357dc3bd95e3ff84d5 Merged-In: I8beda9159d48c4ca495698357dc3bd95e3ff84d5
2021-06-09Remove palette hooks.Nicolas Geoffray
Make the method be part of the official palette API. Bug: 186016399 Bug: 185778652 Test: m Change-Id: I3dc9e879c647fd63f5826091813613fd97e25c0d Merged-In: I3dc9e879c647fd63f5826091813613fd97e25c0d (cherry picked from commit 0ebaa9865b0d04f1b7b0ef13b5ed7e271b0ab588)
2021-04-27art: retire libartpalette method PaletteGetVersionOrion Hodson
Bug: 186016399 Test: TreeHugger Change-Id: Ifb0055d37b728ce8246b89a00613e9a153311639
2021-04-27Revert^2 "Add hooks in palette for reporting JNI invocations."Nicolas Geoffray
Test: test.py Bug: 140968481 Change-Id: I3ebbec153040b9bcfe4fb86618c15d2f9c93abb6
2021-04-20Revert "Add hooks in palette for reporting JNI invocations."Nicolas Geoffray
Revert "Add JNI headers to palette dependencies." Revert submission 1678069-palette-jni Reason for revert: Overhead of GetHooks call. Reverted Changes: I909fc720f:Add hooks in palette for reporting JNI invocations... I5f036e5c0:Add JNI headers to palette dependencies. Change-Id: I327ae5f0e6e63f618d2e4cf08b7c4926071cb8ce
2021-04-19Add hooks in palette for reporting JNI invocations.Nicolas Geoffray
Test: test.py Change-Id: I909fc720fe5b891da6919fe20ad162ec12524f02
2021-04-19Use runtime_libs for the dlopen dependency on libartpalette-system.Martin Stjernholm
That will propagate it into requireNativeLibs in the ART APEX manifest. Test: cat out/soong/.intermediates/art/build/apex/com.android.art/android_common_com.android.art_image/apex_manifest_full.json check that requireNativeLibs contains libartpalette-system.so Bug: 130340935 Change-Id: I09c4030a9c585f10e730b192e7a03c8d87e2d8f3
2021-03-23Export libdexfile and dependencies for host.Martin Stjernholm
They are needed e.g. by libunwindstack_unit_test on host. Test: art/build/build-art-module.sh Test: lunch aosp_x86_64 && atest --host libunwindstack_unit_test with and without SOONG_CONFIG_art_module_source_build=false in a tree with fresh prebuilts created by art/build/build-art-module.sh Bug: 172480615 Change-Id: Ifb5fc74af5037999b97159830ba05c0063f1987a
2021-03-02[LSC] Add LOCAL_LICENSE_KINDS to artBob Badour
Added SPDX-license-identifier-Apache-2.0 to: adbconnection/Android.bp benchmark/Android.bp build/Android.bp build/Android.cpplint.mk build/Android.gtest.mk build/apex/Android.bp build/boot/Android.bp build/sdk/Android.bp cmdline/Android.bp compiler/Android.bp dalvikvm/Android.bp dex2oat/Android.bp dexdump/Android.bp dexlayout/Android.bp dexlist/Android.bp dexoptanalyzer/Android.bp disassembler/Android.bp dt_fd_forward/export/Android.bp imgdiag/Android.bp libartbase/Android.bp libartpalette/Android.bp libartservice/Android.bp libartservice/tests/Android.bp libarttools/Android.bp libdexfile/Android.bp libelffile/Android.bp libnativebridge/Android.bp libnativebridge/tests/Android.bp libnativeloader/Android.bp libnativeloader/test/Android.bp libnativeloader/test/Android.mk libprofile/Android.bp oatdump/Android.bp odrefresh/Android.bp perfetto_hprof/Android.bp profman/Android.bp runtime/Android.bp simulator/Android.bp test/001-HelloWorld/Android.bp test/001-Main/Android.bp test/002-sleep/Android.bp test/004-InterfaceTest/Android.bp test/004-SignalTest/Android.bp test/004-UnsafeTest/Android.bp test/004-checker-UnsafeTest18/Android.bp test/006-args/Android.bp test/007-count10/Android.bp test/009-instanceof/Android.bp test/010-instance/Android.bp test/011-array-copy/Android.bp test/012-math/Android.bp test/013-math2/Android.bp test/014-math3/Android.bp test/015-switch/Android.bp test/016-intern/Android.bp test/017-float/Android.bp test/018-stack-overflow/Android.bp test/019-wrong-array-type/Android.bp test/020-string/Android.bp test/021-string2/Android.bp test/022-interface/Android.bp test/025-access-controller/Android.bp test/026-access/Android.bp test/027-arithmetic/Android.bp test/028-array-write/Android.bp test/029-assert/Android.bp test/030-bad-finalizer/Android.bp test/033-class-init-deadlock/Android.bp test/034-call-null/Android.bp test/035-enum/Android.bp test/036-finalizer/Android.bp test/037-inherit/Android.bp test/038-inner-null/Android.bp test/039-join-main/Android.bp test/040-miranda/Android.bp test/041-narrowing/Android.bp test/043-privates/Android.bp test/044-proxy/Android.bp test/045-reflect-array/Android.bp test/046-reflect/Android.bp test/047-returns/Android.bp test/048-reflect-v8/Android.bp test/049-show-object/Android.bp test/050-sync-test/Android.bp test/051-thread/Android.bp test/052-verifier-fun/Android.bp test/053-wait-some/Android.bp test/054-uncaught/Android.bp test/055-enum-performance/Android.bp test/058-enum-order/Android.bp test/059-finalizer-throw/Android.bp test/061-out-of-memory/Android.bp test/062-character-encodings/Android.bp test/063-process-manager/Android.bp test/067-preemptive-unpark/Android.bp test/070-nio-buffer/Android.bp test/072-precise-gc/Android.bp test/072-reachability-fence/Android.bp test/074-gc-thrash/Android.bp test/076-boolean-put/Android.bp test/078-polymorphic-virtual/Android.bp test/079-phantom/Android.bp test/080-oom-fragmentation/Android.bp test/080-oom-throw-with-finalizer/Android.bp test/080-oom-throw/Android.bp test/081-hot-exceptions/Android.bp test/082-inline-execute/Android.bp test/083-compiler-regressions/Android.bp test/084-class-init/Android.bp test/086-null-super/Android.bp test/087-gc-after-link/Android.bp test/090-loop-formation/Android.bp test/092-locale/Android.bp test/093-serialization/Android.bp test/094-pattern/Android.bp test/095-switch-MAX_INT/Android.bp test/096-array-copy-concurrent-gc/Android.bp test/098-ddmc/Android.bp test/099-vmdebug/Android.bp test/100-reflect2/Android.bp test/1004-checker-volatile-ref-load/Android.bp test/101-fibonacci/Android.bp test/102-concurrent-gc/Android.bp test/103-string-append/Android.bp test/104-growth-limit/Android.bp test/105-invoke/Android.bp test/106-exceptions2/Android.bp test/107-int-math2/Android.bp test/108-check-cast/Android.bp test/109-suspend-check/Android.bp test/110-field-access/Android.bp test/112-double-math/Android.bp test/114-ParallelGC/Android.bp test/115-native-bridge/Android.bp test/116-nodex2oat/Android.bp test/120-hashcode/Android.bp test/121-simple-suspend-check/Android.bp test/122-npe/Android.bp test/123-compiler-regressions-mt/Android.bp test/123-inline-execute2/Android.bp test/125-gc-and-classloading/Android.bp test/128-reg-spill-on-implicit-nullcheck/Android.bp test/129-ThreadGetId/Android.bp test/132-daemon-locks-shutdown/Android.bp test/133-static-invoke-super/Android.bp test/1336-short-finalizer-timeout/Android.bp test/1337-gc-coverage/Android.bp test/1339-dead-reference-safe/Android.bp test/136-daemon-jni-shutdown/Android.bp test/139-register-natives/Android.bp test/140-dce-regression/Android.bp test/140-field-packing/Android.bp test/143-string-value/Android.bp test/144-static-field-sigquit/Android.bp test/148-multithread-gc-annotations/Android.bp test/149-suspend-all-stress/Android.bp test/150-loadlibrary/Android.bp test/151-OpenFileLimit/Android.bp test/152-dead-large-object/Android.bp test/153-reference-stress/Android.bp test/154-gc-loop/Android.bp test/156-register-dex-file-multi-loader/Android.bp test/158-app-image-class-table/Android.bp test/159-app-image-fields/Android.bp test/163-app-image-methods/Android.bp test/165-lock-owner-proxy/Android.bp test/168-vmstack-annotated/Android.bp test/169-threadgroup-jni/Android.bp test/170-interface-init/Android.bp test/172-app-image-twice/Android.bp test/174-escaping-instance-of-bad-class/Android.bp test/175-alloc-big-bignums/Android.bp test/176-app-image-string/Android.bp test/177-visibly-initialized-deadlock/Android.bp test/178-app-image-native-method/Android.bp test/179-nonvirtual-jni/Android.bp test/1900-track-alloc/Android.bp test/1901-get-bytecodes/Android.bp test/1902-suspend/Android.bp test/1903-suspend-self/Android.bp test/1904-double-suspend/Android.bp test/1905-suspend-native/Android.bp test/1906-suspend-list-me-first/Android.bp test/1907-suspend-list-self-twice/Android.bp test/1908-suspend-native-resume-self/Android.bp test/1909-per-agent-tls/Android.bp test/1910-transform-with-default/Android.bp test/1911-get-local-var-table/Android.bp test/1912-get-set-local-primitive/Android.bp test/1913-get-set-local-objects/Android.bp test/1914-get-local-instance/Android.bp test/1915-get-set-local-current-thread/Android.bp test/1916-get-set-current-frame/Android.bp test/1917-get-stack-frame/Android.bp test/1919-vminit-thread-start-timing/Android.bp test/1920-suspend-native-monitor/Android.bp test/1921-suspend-native-recursive-monitor/Android.bp test/1922-owned-monitors-info/Android.bp test/1923-frame-pop/Android.bp test/1924-frame-pop-toggle/Android.bp test/1925-self-frame-pop/Android.bp test/1926-missed-frame-pop/Android.bp test/1927-exception-event/Android.bp test/1928-exception-event-exception/Android.bp test/1930-monitor-info/Android.bp test/1931-monitor-events/Android.bp test/1932-monitor-events-misc/Android.bp test/1933-monitor-current-contended/Android.bp test/1934-jvmti-signal-thread/Android.bp test/1935-get-set-current-frame-jit/Android.bp test/1936-thread-end-events/Android.bp test/1937-transform-soft-fail/Android.bp test/1938-transform-abstract-single-impl/Android.bp test/1939-proxy-frames/Android.bp test/1941-dispose-stress/Android.bp test/1942-suspend-raw-monitor-exit/Android.bp test/1943-suspend-raw-monitor-wait/Android.bp test/1945-proxy-method-arguments/Android.bp test/1947-breakpoint-redefine-deopt/Android.bp test/1949-short-dex-file/Android.bp test/1951-monitor-enter-no-suspend/Android.bp test/1953-pop-frame/Android.bp test/1954-pop-frame-jit/Android.bp test/1955-pop-frame-jit-called/Android.bp test/1956-pop-frame-jit-calling/Android.bp test/1957-error-ext/Android.bp test/1958-transform-try-jit/Android.bp test/1959-redefine-object-instrument/Android.bp test/1960-checker-bounds-codegen/Android.bp test/1960-obsolete-jit-multithread-native/Android.bp test/1961-checker-loop-vectorizer/Android.bp test/1961-obsolete-jit-multithread/Android.bp test/1962-multi-thread-events/Android.bp test/1963-add-to-dex-classloader-in-memory/Android.bp test/1967-get-set-local-bad-slot/Android.bp test/1968-force-early-return/Android.bp test/1969-force-early-return-void/Android.bp test/1970-force-early-return-long/Android.bp test/1971-multi-force-early-return/Android.bp test/1972-jni-id-swap-indices/Android.bp test/1973-jni-id-swap-pointer/Android.bp test/1974-resize-array/Android.bp test/1975-hello-structural-transformation/Android.bp test/1976-hello-structural-static-methods/Android.bp test/1977-hello-structural-obsolescence/Android.bp test/1978-regular-obsolete-then-structural-obsolescence/Android.bp test/1979-threaded-structural-transformation/Android.bp test/1980-obsolete-object-cleared/Android.bp test/1982-no-virtuals-structural-redefinition/Android.bp test/1984-structural-redefine-field-trace/Android.bp test/1985-structural-redefine-stack-scope/Android.bp test/1986-structural-redefine-multi-thread-stack-scope/Android.bp test/1987-structural-redefine-recursive-stack-scope/Android.bp test/1988-multi-structural-redefine/Android.bp test/1989-transform-bad-monitor/Android.bp test/1990-structural-bad-verify/Android.bp test/1991-hello-structural-retransform/Android.bp test/1992-retransform-no-such-field/Android.bp test/1993-fallback-non-structural/Android.bp test/1994-final-virtual-structural/Android.bp test/1995-final-virtual-structural-multithread/Android.bp test/1996-final-override-virtual-structural/Android.bp test/1997-structural-shadow-method/Android.bp test/1998-structural-shadow-field/Android.bp test/1999-virtual-structural/Android.bp test/2003-double-virtual-structural/Android.bp test/2004-double-virtual-structural-abstract/Android.bp test/2005-pause-all-redefine-multithreaded/Android.bp test/2008-redefine-then-old-reflect-field/Android.bp test/201-built-in-except-detail-messages/Android.bp test/2011-stack-walk-concurrent-instrument/Android.bp test/2019-constantcalculationsinking/Android.bp test/202-thread-oome/Android.bp test/2020-InvokeVirtual-Inlining/Android.bp test/2021-InvokeStatic-Inlining/Android.bp test/2022-Invariantloops/Android.bp test/2023-InvariantLoops_typecast/Android.bp test/2024-InvariantNegativeLoop/Android.bp test/2025-ChangedArrayValue/Android.bp test/2026-DifferentMemoryLSCouples/Android.bp test/2027-TwiceTheSameMemoryCouple/Android.bp test/2028-MultiBackward/Android.bp test/2029-contended-monitors/Android.bp test/203-multi-checkpoint/Android.bp test/2030-long-running-child/Android.bp test/2031-zygote-compiled-frame-deopt/Android.bp test/2033-shutdown-mechanics/Android.bp test/2036-jni-filechannel/Android.bp test/2037-thread-name-inherit/Android.bp test/2231-checker-heap-poisoning/Android.bp test/2232-write-metrics-to-log/Android.bp test/300-package-override/Android.bp test/301-abstract-protected/Android.bp test/302-float-conversion/Android.bp test/304-method-tracing/Android.bp test/305-other-fault-handler/Android.bp test/401-optimizing-compiler/Android.bp test/402-optimizing-control-flow/Android.bp test/403-optimizing-long/Android.bp test/404-optimizing-allocator/Android.bp test/405-optimizing-long-allocator/Android.bp test/406-fields/Android.bp test/407-arrays/Android.bp test/408-move-bug/Android.bp test/409-materialized-condition/Android.bp test/410-floats/Android.bp test/411-checker-hdiv-hrem-const/Android.bp test/411-checker-hdiv-hrem-pow2/Android.bp test/411-checker-instruct-simplifier-hrem/Android.bp test/411-optimizing-arith/Android.bp test/413-regalloc-regression/Android.bp test/414-static-fields/Android.bp test/418-const-string/Android.bp test/419-long-parameter/Android.bp test/420-const-class/Android.bp test/421-exceptions/Android.bp test/421-large-frame/Android.bp test/422-instanceof/Android.bp test/422-type-conversion/Android.bp test/423-invoke-interface/Android.bp test/424-checkcast/Android.bp test/426-monitor/Android.bp test/427-bitwise/Android.bp test/427-bounds/Android.bp test/429-ssa-builder/Android.bp test/430-live-register-slow-path/Android.bp test/433-gvn/Android.bp test/434-shifter-operand/Android.bp test/435-try-finally-without-catch/Android.bp test/436-rem-float/Android.bp test/436-shift-constant/Android.bp test/437-inline/Android.bp test/438-volatile/Android.bp test/439-npe/Android.bp test/439-swap-double/Android.bp test/440-stmp/Android.bp test/441-checker-inliner/Android.bp test/443-not-bool-inline/Android.bp test/444-checker-nce/Android.bp test/445-checker-licm/Android.bp test/446-checker-inliner2/Android.bp test/447-checker-inliner3/Android.bp test/449-checker-bce-rem/Android.bp test/449-checker-bce/Android.bp test/450-checker-types/Android.bp test/451-regression-add-float/Android.bp test/451-spill-splot/Android.bp test/454-get-vreg/Android.bp test/455-checker-gvn/Android.bp test/456-baseline-array-set/Android.bp test/458-long-to-fpu/Android.bp test/461-get-reference-vreg/Android.bp test/464-checker-inline-sharpen-calls/Android.bp test/465-checker-clinit-gvn/Android.bp test/466-get-live-vreg/Android.bp test/469-condition-materialization/Android.bp test/470-huge-method/Android.bp test/471-deopt-environment/Android.bp test/472-type-propagation/Android.bp test/473-checker-inliner-constants/Android.bp test/473-remove-dead-block/Android.bp test/474-checker-boolean-input/Android.bp test/474-fp-sub-neg/Android.bp test/475-simplify-mul-zero/Android.bp test/476-checker-ctor-fence-redun-elim/Android.bp test/476-checker-ctor-memory-barrier/Android.bp test/476-clinit-inline-static-invoke/Android.bp test/477-checker-bound-type/Android.bp test/477-long-2-float-convers-precision/Android.bp test/478-checker-clinit-check-pruning/Android.bp test/478-checker-inline-noreturn/Android.bp test/478-checker-inliner-nested-loop/Android.bp test/479-regression-implicit-null-check/Android.bp test/480-checker-dead-blocks/Android.bp test/481-regression-phi-cond/Android.bp test/482-checker-loop-back-edge-use/Android.bp test/483-dce-block/Android.bp test/485-checker-dce-switch/Android.bp test/486-checker-must-do-null-check/Android.bp test/487-checker-inline-calls/Android.bp test/488-checker-inline-recursive-calls/Android.bp test/489-current-method-regression/Android.bp test/490-checker-inline/Android.bp test/491-current-method/Android.bp test/492-checker-inline-invoke-interface/Android.bp test/493-checker-inline-invoke-interface/Android.bp test/494-checker-instanceof-tests/Android.bp test/495-checker-checkcast-tests/Android.bp test/496-checker-inlining-class-loader/Android.bp test/497-inlining-and-class-loader/Android.bp test/499-bce-phi-array-length/Android.bp test/500-instanceof/Android.bp test/505-simplifier-type-propagation/Android.bp test/507-boolean-test/Android.bp test/507-referrer/Android.bp test/508-checker-disassembly/Android.bp test/508-referrer-method/Android.bp test/513-array-deopt/Android.bp test/514-shifts/Android.bp test/519-bound-load-class/Android.bp test/521-checker-array-set-null/Android.bp test/521-regression-integer-field-set/Android.bp test/524-boolean-simplifier-regression/Android.bp test/525-checker-arrays-fields1/Android.bp test/525-checker-arrays-fields2/Android.bp test/526-checker-caller-callee-regs/Android.bp test/526-long-regalloc/Android.bp test/527-checker-array-access-simd/Android.bp test/527-checker-array-access-split/Android.bp test/528-long-hint/Android.bp test/529-long-split/Android.bp test/530-checker-loops1/Android.bp test/530-checker-loops2/Android.bp test/530-checker-loops3/Android.bp test/530-checker-loops4/Android.bp test/530-checker-loops5/Android.bp test/530-checker-lse-ctor-fences/Android.bp test/530-checker-lse-simd/Android.bp test/530-checker-lse/Android.bp test/530-checker-lse2/Android.bp test/530-instanceof-checkcast/Android.bp test/530-regression-lse/Android.bp test/532-checker-nonnull-arrayset/Android.bp test/534-checker-bce-deoptimization/Android.bp test/535-deopt-and-inlining/Android.bp test/536-checker-intrinsic-optimization/Android.bp test/537-checker-arraycopy/Android.bp test/537-checker-jump-over-jump/Android.bp test/538-checker-embed-constants/Android.bp test/540-checker-rtp-bug/Android.bp test/542-bitfield-rotates/Android.bp test/542-inline-trycatch/Android.bp test/542-unresolved-access-check/Android.bp test/545-tracing-and-jit/Android.bp test/548-checker-inlining-and-dce/Android.bp test/549-checker-types-merge/Android.bp test/550-checker-multiply-accumulate/Android.bp test/550-new-instance-clinit/Android.bp test/551-checker-clinit/Android.bp test/551-checker-shifter-operand/Android.bp test/551-implicit-null-checks/Android.bp test/552-checker-sharpening/Android.bp test/552-checker-x86-avx2-bit-manipulation/Android.bp test/554-checker-rtp-checkcast/Android.bp test/555-UnsafeGetLong-regression/Android.bp test/557-checker-instruct-simplifier-ror/Android.bp test/558-switch/Android.bp test/559-bce-ssa/Android.bp test/559-checker-rtp-ifnotnull/Android.bp test/560-packed-switch/Android.bp test/561-divrem/Android.bp test/561-shared-slowpaths/Android.bp test/562-bce-preheader/Android.bp test/562-checker-no-intermediate/Android.bp test/563-checker-invoke-super/Android.bp test/564-checker-bitcount/Android.bp test/564-checker-inline-loop/Android.bp test/564-checker-negbitwise/Android.bp test/565-checker-condition-liveness/Android.bp test/566-checker-codegen-select/Android.bp test/566-polymorphic-inlining/Android.bp test/567-checker-builder-intrinsics/Android.bp test/568-checker-onebit/Android.bp test/570-checker-select/Android.bp test/572-checker-array-get-regression/Android.bp test/573-checker-checkcast-regression/Android.bp test/576-polymorphic-inlining/Android.bp test/577-checker-fp2int/Android.bp test/578-bce-visit/Android.bp test/578-polymorphic-inlining/Android.bp test/579-inline-infinite/Android.bp test/580-checker-round/Android.bp test/580-crc32/Android.bp test/581-rtp/Android.bp test/582-checker-bce-length/Android.bp test/583-checker-zero/Android.bp test/584-checker-div-bool/Android.bp test/589-super-imt/Android.bp test/590-checker-arr-set-null-regression/Android.bp test/591-checker-regression-dead-loop/Android.bp test/593-checker-long-2-float-regression/Android.bp test/594-checker-array-alias/Android.bp test/594-load-string-regression/Android.bp test/595-profile-saving/Android.bp test/597-deopt-busy-loop/Android.bp test/597-deopt-invoke-stub/Android.bp test/597-deopt-new-string/Android.bp test/602-deoptimizeable/Android.bp test/603-checker-instanceof/Android.bp test/604-hot-static-interface/Android.bp test/605-new-string-from-bytes/Android.bp test/607-daemon-stress/Android.bp test/609-checker-inline-interface/Android.bp test/609-checker-x86-bounds-check/Android.bp test/610-arraycopy/Android.bp test/611-checker-simplify-if/Android.bp test/614-checker-dump-constant-location/Android.bp test/615-checker-arm64-store-zero/Android.bp test/616-cha-abstract/Android.bp test/616-cha-interface/Android.bp test/616-cha-miranda/Android.bp test/616-cha-native/Android.bp test/616-cha-regression-proxy-method/Android.bp test/616-cha/Android.bp test/617-clinit-oome/Android.bp test/618-checker-induction/Android.bp test/619-checker-current-method/Android.bp test/620-checker-bce-intrinsics/Android.bp test/622-checker-bce-regressions/Android.bp test/623-checker-loop-regressions/Android.bp test/625-checker-licm-regressions/Android.bp test/626-set-resolved-string/Android.bp test/627-checker-unroll/Android.bp test/628-vdex/Android.bp test/629-vdex-speed/Android.bp test/631-checker-get-class/Android.bp test/632-checker-char-at-bounds/Android.bp test/635-checker-arm64-volatile-load-cc/Android.bp test/636-arm64-veneer-pool/Android.bp test/637-checker-throw-inline/Android.bp test/638-checker-inline-cache-intrinsic/Android.bp test/639-checker-code-sinking/Android.bp test/640-checker-boolean-simd/Android.bp test/640-checker-integer-valueof/Android.bp test/640-checker-simd/Android.bp test/641-checker-arraycopy/Android.bp test/641-iterations/Android.bp test/642-fp-callees/Android.bp test/643-checker-bogus-ic/Android.bp test/645-checker-abs-simd/Android.bp test/646-checker-arraycopy-large-cst-pos/Android.bp test/646-checker-long-const-to-int/Android.bp test/646-checker-simd-hadd/Android.bp test/647-jni-get-field-id/Android.bp test/650-checker-inline-access-thunks/Android.bp test/652-deopt-intrinsic/Android.bp test/654-checker-periodic/Android.bp test/655-checker-simd-arm-opt/Android.bp test/655-jit-clinit/Android.bp test/656-checker-simd-opt/Android.bp test/656-loop-deopt/Android.bp test/657-branches/Android.bp test/658-fp-read-barrier/Android.bp test/660-checker-sad/Android.bp test/660-checker-simd-sad/Android.bp test/660-clinit/Android.bp test/661-checker-simd-reduc/Android.bp test/661-oat-writer-layout/Android.bp test/662-regression-alias/Android.bp test/664-aget-verifier/Android.bp test/665-checker-simd-zero/Android.bp test/666-dex-cache-itf/Android.bp test/667-checker-simd-alignment/Android.bp test/667-jit-jni-stub/Android.bp test/667-out-of-bounds/Android.bp test/669-checker-break/Android.bp test/671-npe-field-opts/Android.bp test/672-checker-throw-method/Android.bp test/673-checker-throw-vmethod/Android.bp test/674-HelloWorld-Dm/Android.bp test/674-hotness-compiled/Android.bp test/676-proxy-jit-at-first-use/Android.bp test/677-fsi2/Android.bp test/679-locks/Android.bp test/680-checker-deopt-dex-pc-0/Android.bp test/680-sink-regression/Android.bp test/684-checker-simd-dotprod/Android.bp test/684-select-condition/Android.bp test/685-deoptimizeable/Android.bp test/687-deopt/Android.bp test/689-multi-catch/Android.bp test/689-zygote-jit-deopt/Android.bp test/693-vdex-inmem-loader-evict/Android.bp test/694-clinit-jit/Android.bp test/695-simplify-throws/Android.bp test/696-loop/Android.bp test/697-checker-string-append/Android.bp test/698-selects/Android.bp test/700-LoadArgRegs/Android.bp test/703-floating-point-div/Android.bp test/704-multiply-accumulate/Android.bp test/705-register-conflict/Android.bp test/707-checker-invalid-profile/Android.bp test/708-jit-cache-churn/Android.bp test/711-checker-type-conversion/Android.bp test/717-integer-value-of/Android.bp test/718-zipfile-finalizer/Android.bp test/720-thread-priority/Android.bp test/721-osr/Android.bp test/726-array-store/Android.bp test/728-imt-conflict-zygote/Android.bp test/805-TooDeepClassInstanceOf/Android.bp test/806-TooWideClassInstanceOf/Android.bp test/812-recursive-default/Android.bp test/813-fp-args/Android.bp test/814-large-field-offsets/Android.bp test/815-invokeinterface-default/Android.bp test/818-clinit-nterp/Android.bp test/900-hello-plugin/Android.bp test/901-hello-ti-agent/Android.bp test/902-hello-transformation/Android.bp test/903-hello-tagging/Android.bp test/904-object-allocation/Android.bp test/905-object-free/Android.bp test/906-iterate-heap/Android.bp test/907-get-loaded-classes/Android.bp test/908-gc-start-finish/Android.bp test/910-methods/Android.bp test/911-get-stack-trace/Android.bp test/913-heaps/Android.bp test/914-hello-obsolescence/Android.bp test/915-obsolete-2/Android.bp test/916-obsolete-jit/Android.bp test/917-fields-transformation/Android.bp test/918-fields/Android.bp test/919-obsolete-fields/Android.bp test/920-objects/Android.bp test/921-hello-failure/Android.bp test/922-properties/Android.bp test/923-monitors/Android.bp test/924-threads/Android.bp test/925-threadgroups/Android.bp test/926-multi-obsolescence/Android.bp test/927-timers/Android.bp test/928-jni-table/Android.bp test/930-hello-retransform/Android.bp test/931-agent-thread/Android.bp test/932-transform-saves/Android.bp test/933-misc-events/Android.bp test/937-hello-retransform-package/Android.bp test/939-hello-transformation-bcp/Android.bp test/940-recursive-obsolete/Android.bp test/941-recursive-obsolete-jit/Android.bp test/942-private-recursive/Android.bp test/943-private-recursive-jit/Android.bp test/944-transform-classloaders/Android.bp test/945-obsolete-native/Android.bp test/946-obsolete-throw/Android.bp test/947-reflect-method/Android.bp test/949-in-memory-transform/Android.bp test/950-redefine-intrinsic/Android.bp test/951-threaded-obsolete/Android.bp test/963-default-range-smali/Android.bp test/982-ok-no-retransform/Android.bp test/983-source-transform-verify/Android.bp test/984-obsolete-invoke/Android.bp test/985-re-obsolete/Android.bp test/986-native-method-bind/Android.bp test/987-agent-bind/Android.bp test/988-method-trace/Android.bp test/989-method-trace-throw/Android.bp test/990-field-trace/Android.bp test/991-field-trace-2/Android.bp test/992-source-data/Android.bp test/993-breakpoints/Android.bp test/994-breakpoint-line/Android.bp test/995-breakpoints-throw/Android.bp test/996-breakpoint-obsolete/Android.bp test/997-single-step/Android.bp test/Android.bp tools/Android.bp tools/ahat/Android.bp tools/ahat/Android.mk tools/art_verifier/Android.bp tools/cpp-define-generator/Android.bp tools/dexanalyze/Android.bp tools/dexfuzz/Android.bp tools/dmtracedump/Android.bp tools/hiddenapi/Android.bp tools/jfuzz/Android.bp tools/jvmti-agents/breakpoint-logger/Android.bp tools/jvmti-agents/chain-agents/Android.bp tools/jvmti-agents/dump-jvmti-state/Android.bp tools/jvmti-agents/enable-vlog/Android.bp tools/jvmti-agents/field-counts/Android.bp tools/jvmti-agents/field-null-percent/Android.bp tools/jvmti-agents/jit-load/Android.bp tools/jvmti-agents/list-extensions/Android.bp tools/jvmti-agents/simple-force-redefine/Android.bp tools/jvmti-agents/simple-profile/Android.bp tools/jvmti-agents/ti-alloc-sample/Android.bp tools/jvmti-agents/ti-fast/Android.bp tools/jvmti-agents/titrace/Android.bp tools/jvmti-agents/wrapagentproperties/Android.bp tools/signal_dumper/Android.bp tools/tracefast-plugin/Android.bp tools/veridex/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: sigchainlib/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-GPL-2.0 to: Android.bp Android.mk Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0 SPDX-license-identifier-GPL-with-classpath-exception to: dt_fd_forward/Android.bp openjdkjvmti/Android.bp Added SPDX-license-identifier-GPL-2.0 SPDX-license-identifier-GPL-with-classpath-exception to: openjdkjvm/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: If775045c12955fa6d72d40ccf2a09beef93d1699 Merged-in: If775045c12955fa6d72d40ccf2a09beef93d1699
2021-02-10libartpalette: add PaletteCreateOdrefreshStagingDirectoryOrion Hodson
Add libartpalette method for creating the staging directory for odrefresh and setting the appropriate SELinux labels. Bug: 160683548 Test: m Change-Id: I7838188089b815df7df19391dcc9dcd2777c38ce
2021-02-09libartpalette: add #apex to methodsOrion Hodson
Make it clear these are APEX related APIs. Bug: 179559201 Test: m Change-Id: I621b17322260a82b21e8138c2fc08bd8b16d8161
2021-02-06libartpalette: Use fixed width typedef rather than enum for statusOrion Hodson
As the NDK guidelines note, the size of an enum is a compiler choice so an enum of unqualifed width cannot be considered stable ABI. Bug: 122824298 Test: TH Change-Id: I63d42fdb5a989aab15ec995529781b1b8c3ddb7a
2020-11-18Extend ART sdk with prebuilts needed to build the platformPaul Duffin
Members which are common to android and linux but are not needed for windows are placed in the linux target which applies to both android and host linux but not windows (or darwin which is disabled anyway). Test: Build zip snapshots of ART sdk and module_exports. Move art source directories away. Unpack zip snapshots into prebuilts/modules_sdk/art directory m nothing Bug: 172480615 Change-Id: I01b493436a021054c03c420a52cfae35dba15181
2020-10-23Rename ART release APEX to com.android.art.Martin Stjernholm
Test: Build & boot on AOSP master Test: `m` on AOSP master, flipping PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD between true and false, and check out/target/product/bonito/symbols/apex/com.android.art. Test: art/build/apex/runtests.sh Test: art/tools/buildbot-build.sh {--host,--target} Test: art/tools/run-gtests.sh Test: m test-art-host-gtest Test: art/test/testrunner/testrunner.py --target --64 --optimizing Test: m build-art-target-golem Bug: 169639321 Change-Id: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab Merged-In: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab
2020-10-05Use prebuilt_visibility property on sdk/module_exportsPaul Duffin
When the ART sdk/module_exports snapshots are unpacked in a prebuilts directory they need some additional visibility rules to be added to ensure that the prebuilts are visible to each other. Previously, those were added on a case by case basis to the individual modules. This change replaces them by using the prebuilt_visibility property that specifies additional visibility rules to be added to all prebuilt modules in the snapshots. Currently, the additional visibility added to the prebuilts makes them visible to anything in //prebuilts or beneath which is not restrictive enough. Specifying the rule in a single place will make that easier to restrict in future. Bug: 155921753 Bug: 168301990 Test: build sdk/snapshot, install them in prebuilts/module_sdk/art and run m nothing to ensure the visibility rules are valid. Change-Id: I751ed6d488038214ac9df35849babe69a3c79a31
2020-08-26Introduce compilation / loading hooks to the PaletteHooks interface.Nicolas Geoffray
Test: m Bug: 162715919 Bug: 134558686 Change-Id: Ib355daeb8fb7ea06798e1374322a5c5d8e038c85
2020-08-05Create an empty hooks data structure in palette.Nicolas Geoffray
To enable reporting ART information to the platform. Bug: 162715919 Test: m Change-Id: I799ddea1bf07df486204a24ec69a76c470e787db
2020-07-24Update language to comply with Android’s inclusive language guidanceIan Pedowitz
See https://source.android.com/setup/contribute/respectful-code for reference Bug: 161896447 Bug: 161850439 Bug: 161336379 Test: m -j checkbuild cts docs tests Change-Id: I32d869c274a5d9a3dac63221e25874fe685d38c4
2020-05-27libartpalette: Fix non-existent required dependencyYo Chiang
HOST_CROSS module host_cross_libartpalette has non-existent required: host_cross_libartpalette-system HOST_CROSS module host_cross_libartpalette_64 has non-existent required: host_cross_libartpalette-system Only specify required dependency for device variant because only device variant is dlopen()-ing libartpalette-system.so Bug: 7456955 Test: TH presubmit Test: m com.android.art.debug # libartpalette-system is also installed Change-Id: I04aac73ba769d78ebb774ec5a6c243628e23d70f
2020-05-15Revert^2 "Remove test_per_src from ART tests."David Srbecky
Second attempt at this, which fixes the asan failures. Remove test_per_src since it is not supported by atest. Replace it with gtest_isolate which is transparent to atest, and which still allows us to run tests in parallel. The size of test binaries halves (from 1GB to 0.5GB). Test run-time on host is unchanged. Test run-time on target is 4x faster (tested on walleye). Added a gtest_main.cc with the gtest isolated main function, and ART-specific initialization. Bug: 147819342 Test: m test-art-host-gtest Test: art/tools/run-gtests.sh Test: art/test/testrunner/run_build_test_target.py art-gtest-asan Change-Id: I515c911bb7d44285495802fc66cd732fc8e6d8df
2020-05-11Add visibilities for prebuilts.Martin Stjernholm
These visibilities are intentionally blunt, to allow the prebuilts to move around for now. Many of these visibilities may also go away completely again if the exported binaries are changed to compile internal ART libraries statically. Test: v 1. build/soong/scripts/build-aml-prebuilts.sh art-module-sdk \ art-module-test-exports conscrypt-module-sdk \ conscrypt-module-test-exports conscrypt-module-host-exports \ art-module-host-exports 2. Unzip out/aml/soong/mainline-sdks/*.zip into separate subdirectories under prebuilts/runtime 3. env SOONG_ALLOW_MISSING_DEPENDENCIES=true m nothing (together with the topic of https://r.android.com/1252167) Bug: 155921753 Change-Id: Id8bbc8aedb0b87e30e9cf3d2a9f34b33cb71756c
2020-05-08Revert "Remove test_per_src from ART tests."Christopher Ferris
This reverts commit 8103e479d8f8447584582b2b70752029f7087776. Reason for revert: asan run fails in multiple ways Test: ran ./art/test/testrunner/run_build_test_target.py art-gtest-asan Change-Id: Ib9f2887436a664b64c6410f56a25ae2dd0e0aab4
2020-05-07Remove test_per_src from ART tests.David Srbecky
Remove test_per_src since it is not supported by atest. Replace it with gtest_isolate which is transparent to atest, and which still allows us to run tests in parallel. The size of test binaries halves (from 1GB to 0.5GB). Test run-time on host is unchanged. Test run-time on target is 4x faster (tested on walleye). Bug: 147819342 Test: m test-art-host-gtest Test: art/tools/run-gtests.sh Change-Id: Id295af00d08b24baa2e421b0f3313df0b2e56fe9
2020-04-16Reland "Remove platform availability from internal libs that make upMartin Stjernholm
libdexfile_support_static." Reland of https://r.android.com/1273016 after fixing internal branch in ag/11063995. init and debuggerd no longer depends on libunwindstack with DEX support (https://r.android.com/1149620), and with the fix for NOTICE targets on static libs (https://r.android.com/1274763) it is not needed for simpleperf_ndk either. Test: Build & boot Test: $ m libdexfile libartbase libartpalette $ find out/target/product/*/system -name libdexfile.so -o -name libartbase.so -o -name libartpalette.so (no hits found) Bug: 151466650 Bug: 142944931 Bug: 154165728 Change-Id: I5be00be19f3b9719e220c655aa25581d28c47245
2020-04-16Revert "Remove platform availability from internal libs that make up"Ady Abraham
This reverts commit 030f548d006b8f2d819d7a62cc8ebd8fe08c6483. Reason for revert: Droidcop: Potential culprit for b/154165728 - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted. Change-Id: Id1faeba61ff1ba667fc36d14547d8d99a392ba73
2020-04-15Remove platform availability from internal libs that make upMartin Stjernholm
libdexfile_support_static. init and debuggerd no longer depends on libunwindstack with DEX support (https://r.android.com/1149620), and with the fix for NOTICE targets on static libs (https://r.android.com/1274763) it is not needed for simpleperf_ndk either. Test: Build & boot Test: $ m libdexfile libartbase libartpalette $ find out/target/product/*/system -name libdexfile.so -o -name libartbase.so -o -name libartpalette.so (no hits found) Bug: 151466650 Bug: 142944931 Change-Id: I159f6180bdbd8d50e2cb8d32049cc283f0a04467
2020-03-11don't include liblog to APEXesJiyong Park
liblog is a platform library that provides stable C API. There is no need to include the library, especialy by statically linking to it, in any APEX. It not only wastes the storage/ram, but also is incorrect because the socket interface to logd which is implemented in liblog is not guaranteed to be stable. Fixing this issue by converting static_libs: ["liblog"] into shared_libs: ["liblog"], in which case the dependency to the library is satisfied via the stub variant of the library. Bug: 151051671 Test: m Change-Id: I76dca590745748d28dca2ca03dbdab0c2dac3aba
2020-02-06apex_available becomes more correctJiyong Park
Previously, Soong didn't follow the static dependencies when checking apex_available. As a result, a module that is not available to an APEX (or to the platform) was able to be statically linked from the APEX (or the platform). As the Soong bug is fixed, unchecked dependencies have revealed and this change reflects the finding. Exempt-From-Owner-Approval: cherry-pick from internal Bug: 147671264 Test: m Merged-In: I6d9dbe31a8d46d26a4925462edd1984281bd203a (cherry picked from commit a24189de28d3dc078ffe3e694816859bce9ce730) Change-Id: I6d9dbe31a8d46d26a4925462edd1984281bd203a
2019-12-20Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMARJiyong Park
Reason for revert: relanding with fix Reverted Changes: Ic4119368c:Revert submission 1191937-art_apex_available Ia084976bb:Revert submission 1191937-art_apex_available Iada86226d:Revert submission 1191937-art_apex_available Ic76735eac:Revert submission 1191937-art_apex_available I1eb30e355:Revert submission 1191937-art_apex_available Icaf95d260:Revert submission 1191937-art_apex_available Ie8bace4be:Revert submission 1191937-art_apex_available I8961702cf:Revert submission 1191937-art_apex_available I39316f9ef:Revert submission 1191937-art_apex_available I522a7e83b:Revert submission 1191937-art_apex_available I8b9424976:Revert submission 1191937-art_apex_available I48b998629:Revert submission 1191937-art_apex_available Change-Id: I7a101d39ff63c153675e4e741f9de1a15a778d33
2019-12-19Revert submission 1191937-art_apex_availableJoseph Murphy
Original Commit Message: """ Rename modules that are APEX-only The renamed modules are only available for APEXes, but not for the platform. Use the <module_name>.<apex_name> syntax to correctly install the APEX variant of the modules. """ Reason 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. Reverted Changes: I190ce2d10:Use apex_available property I990e0a67e:Use apex_available property I0d1295683:Revert "Avoid duplicated classes for boot dex jars... I5fb725403:Find the jar libraries in APEX from the correct pa... I322b1efcc:Rename modules that are APEX-only Ifa2bd0f8f:Use apex_available property Iac6533177:Use apex_available property Ie999602c6:Use apex_available property I2a3d73397:Use apex_available property Ic91bcbb9a:Use apex_available property Ia6c324eed:Use apex_available property I964d0125c:Use apex_available property Change-Id: I1eb30e355cfce316b94cde0dd176002af8d222bb
2019-12-19Use apex_available propertyJiyong Park
Use apex_available property to prevent modules that are only for the ART apex from being used outside of the APEX. This change also fixes the reference to $(TARGET_OUT_SHARED_LIBRARIES)/$(lib).so to $(lib).com.android.art.debug phony module since the former is never installed to the system partition due to their 'apex_available' settings. Bug: 128708192 Bug: 133140750 Test: m Change-Id: I990e0a67e066d9b1dc221748422a2f44449258da
2019-12-03Move libartpalette-system to system/libartpaletteOrion Hodson
Bug: 142944508 Test: art/tools/buildbot-build.sh --host && art/test/test.py --host -r -g Test: art/tools/buildbot-build.sh --target && art/test/test.py --target -r -g Change-Id: Ia04ce022fa91d2ac6c9b5046e301a9a6ba10a852
2019-11-06Remove visibility exceptions for view_compilerOrion Hodson
Bug: 133140750 Bug: 142948359 Test: m Change-Id: I5919f20167e98e729c8b47c1130220697ab2e00a
2019-10-19Remove simpleperf visibility to ART internals.Martin Stjernholm
No longer necessary after removing the dependency on libdexfile_static_defaults in simpleperf. Test: m Bug: 133140750 Change-Id: Ie07b805354942befd0051963b10c2230ddbee598
2019-10-15Revert^2 "zygote: use libcutils to allocate JIT memory"Orion Hodson
This reverts commit af47ca01e96c280a15c24e2ae8152f61ffb8c1ce. Adds legacy fallback path for ART buildbots which are running on older system images. Bug: 139855428 Test: boot taimen Test: m test-art-host-gtest-jit_memory_region_test Test: Flash taimen PQ3A.190801.002, setup chroot test environment, \ art/tools/run-gtests.sh /apex/com.android.art/bin/art/arm64/jit_memory_region_test Change-Id: Ieb89664c180c4dee08e98cb4c6b963f48c430832
2019-10-15Revert "zygote: use libcutils to allocate JIT memory"Orion Hodson
This reverts commit ee61519ae61297be973820d94c48e00653bc74d4. Reason for revert: Fails is post submit testing in ART buildbots (https://ci.chromium.org/p/art/builders/ci/angler-armv7-ndebug/1005) Change-Id: I72cb2b4fe501a8f5aaa78db1d01584387aaea710
2019-10-14zygote: use libcutils to allocate JIT memoryTri Vo
Original motivation for opening /dev/ashmem directly in zygote was to avoid binder hop of ashmem_create_region() talking to ashmemd. Ashmemd is no more, and ashmem_create_region() opens an ashmem fd in-process. See aosp/q/topic:remove_ashmemd, b/139855428. So we replace raw /dev/ashmem access with corresponding libcutils API. Test: m test-art-host-gtest-jit_memory_region_test Test: boot taimen Change-Id: Id6cadc88ef6197ba833824423fc96ccbabcfc499
2019-09-20Limit visibility of ART libraries, binaries, and headers.Martin Stjernholm
This simply records the visibilities necessary to keep things working - more work is required to vet them. Test: m Bug: 133140750 Change-Id: I776d6b79c4c2b214556070c850ae5321d5f8b949
2019-06-18Add helpers to allocate JIT memory in zygote.Nicolas Geoffray
These helpers will seal the fd and prevent any new writable mappings from being made. Using memfd when available, and falling back to ashmem if not. ashmem being scheduled for removal, have that implemented in palette. Bug: 119800099 Test: jit_memory_region_test.cc Change-Id: Id32b6c52a2ec681295ea7eca5b77ab342c78b469
2019-05-17ART: Run bpfmt over ART's blueprint filesAndreas Gampe
Test: mmma art Change-Id: Ic85df4770c12ec02836c877b243d4aec234aaada
2019-05-09Move stack logging entirely into palette libraryOrion Hodson
Make SignalCatcher::Output the same on host and target. Apply same logic of when to log stacks to system logger as prior to PaletteTombstonedMessage introduction. Add PaletteStatus::kFailedCheckLog Bug: 130025619 Test: art/tools/buildbot-build.sh --host -j100 && art/test.py --host -j32 Test: adb shell killall -QUIT system_server and check /data/anr Test: Fill /data using 'dd', again send SIGQUIT to system and \ check logcat for stack traces. Test: adb bugreport; check the produced report Change-Id: I1b3b6780622b9799d61fb12ad11a28085729c5e9
2019-05-08Do not fail if the tombstoned output fd is a socket or pipe.Martin Stjernholm
Test: adb bugreport; check the produced report Bug: 131636651 Bug: 130025619 Change-Id: Id346d6e2bce313473190538505f2f071cdc54df5
2019-04-16Clean up error messages in the previous CL.Martin Stjernholm
TIL PLOG already logs the errno message, so it got logged twice SignalCatcher::Output. Switch to PLOG for the corresponding messages in palette_android.cc for brevity, and switch to LOG in the caller since the errno message already has been logged by then. Test: adb shell killall -QUIT system_server with a nearly full data partition; check logcat output. Bug: 130025619 Change-Id: I973b04461de3492e3cb3e5855fc06e99efe32c0a
2019-04-15Plumb tombstoned connections through PALette.Martin Stjernholm
This removes APEX internal dependencies on libtombstoned_client and libcutils. Test: art/build/apex/runtests.sh Test: adb shell killall -QUIT system_server; check tombstoned report in /data/anr Test: Make /data nearly full; adb shell killall -QUIT system_server; check that the report in /data/anr has zero length and that the stack traces are sent to logcat instead Bug: 130025619 Change-Id: I93dae3729c0e4de9e32b942e6c85915b56d8114a
2019-02-20ART: Enable multilib compilation for libartpaletteOrion Hodson
Fixes Android boot for Mac host builds. Test: Full Android build on mac, check library exists in product. Change-Id: I1fb9eaca0862770eadcf00f27c007d7788185ae3
2019-02-01libartpalette: Change rtld flagOrion Hodson
Change dlopen flag from RTLD_LOCAL to RTLD_GLOBAL for additional flexibility. Bug: 122824298 Test: m -j100 Change-Id: Ie865c9aa42bfdf11a3f1b8ee97673f454ce75ffd
2019-01-31Revert "Revert "ART: introduce PALette abstraction layer""Orion Hodson
This reverts commit e6e01a0a00de80704ccb21c48d5d8bdee4470b77. Bug: 122824298 Test: art/test/testrunner/run_build_test_target.py -j50 art-test-javac Test: m out/target/common/obj/PACKAGING/hiddenapi-stub-flags.txt Test: frameworks/rs/build_rs.py Change-Id: If7b9ddca3daa80b75b3541abd283bf47d5b81118
2019-01-30Revert "ART: introduce PALette abstraction layer"Orion Hodson
This reverts commit 4b9d00aca9b025b545c9633b4605334c22fc4d2d. Reason for revert: breaks renderscript mac and run_host_tests in master. Change-Id: I6024894a384c65f3e7d81b9c5bba8ebe8ce1b420
2019-01-30ART: introduce PALette abstraction layerOrion Hodson
This change decouples direct dependencies on system libraries. Bug: 122824298 Test: art/test.py --host --64 Test: art/test.py --target -j8 Test: m -j100 & flashall -w & device boots Test: art/build/apex/runtests.sh Change-Id: Iae927ed9aaa228a941cd444cef04e6ec53955299