summaryrefslogtreecommitdiff
path: root/tools/cpp-define-generator
Commit message (Collapse)AuthorAgeFilesLines
* Disable most ART source modules when ART prebuilts are enabled.Martin Stjernholm2021-05-201-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After libdexfile_external was merged into libdexfile, libdexfile is an APEX stub when prebuilts are enabled, and that cannot be used to build libart and all the other internal modules that depend on it. This CL: - Changes art_defaults to disable native modules when building from prebuilts. Some other modules that depends on them, like the art-script sh_binary, also get disabled. - Consolidates the makefile sections that are disabled when building from prebuilts so that only a small bit is still enabled then. - Temporarily removes the prebuilt for libctstiagent and activates its source even when prebuilts are used, to work around sdk_version problem (b/187288515). - Removes explicit "enabled: true" in a couple of places that would override the inherited flag that lets us disable them in builds from prebuilts. - Makes some Soong defaults available to libcore. Cherry-picked from https://r.android.com/1711019. Test: m checkbuild Test: art/build/build-art-module.sh --skip-apex packages/modules/ArtPrebuilt/update-art-module-prebuilts.py \ --local-dist out/dist/ --skip-apex m SOONG_CONFIG_art_module_source_build=false droid m SOONG_CONFIG_art_module_source_build=false checkbuild Bug: 172480615 Change-Id: Ief60b933cd6273fc8b85fe7637b99ba1b78505f6 Merged-In: Ief60b933cd6273fc8b85fe7637b99ba1b78505f6
* Update ART generator tools to use python3.Vladimir Marko2021-04-132-2/+2
| | | | | | Test: buildbot-build.sh --target Test: m cpp-define-generator-test && out/host/linux-x86/testcases/cpp-define-generator-test/cpp-define-generator-test Change-Id: I73018df1e531c37d21397c2ffa35238e3df76d65
* Improve nterp -> compiled code transitions.Nicolas Geoffray2021-03-241-4/+8
| | | | | | | | | | | | | Use an unused bit in the access flags of an ArtMethod (0x00200000) to store the information a method only takes ints or references and returns an int, a reference, or a long. This avoids the need to fetch the shorty in nterp when doing a call. Test: test.py Test: 821-many-args Bug: 112676029 Change-Id: Ie657ccf69c17c1097dc2a97f18e3093ef3be391b
* Add a fast path for nterp entrypoint to avoid fetching the shorty.Nicolas Geoffray2021-03-231-0/+4
| | | | | | | | | | When all parameters are references, we don't need to look at the shorty. Use the 0x00100000 flag in the modifiers which is free for non-native methods. Test: test.py Bug: 112676029 Change-Id: Ied9a253f7f7230045dd13188a5b806fb1d6d019d
* Add min_sdk_version for ART module.Nicolas Geoffray2021-03-191-0/+1
| | | | | | Bug: 180399951 Test: m Change-Id: I5e2a1ddc3063be26c602bf4db8e6b77f2d54b656
* [LSC] Add LOCAL_LICENSE_KINDS to artBob Badour2021-03-021-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove pointer-size arguments from DexCache.David Srbecky2021-02-182-35/+0
| | | | | | | | The DexCache is always allocated at runtime now and thus it always has runtime pointer-size. Remove the dead code. Test: m test-art-host-gtest Change-Id: Ic21dc20649e1fd70f8981602d75b5690065aec20
* When entering nterp, take a fast path for instance calls with 1 argument.Nicolas Geoffray2021-01-251-0/+2
| | | | | | | | | | | | | Such methods only take 'this' as an argument and we don't need to fetch the shorty. We can make this optimization when doing nterp->compiled as a follow-up, by checking that the next instruction after the invoke is not move-result(-wide). Test: test.py Bug: 112676029 Change-Id: Ibc7b4d4ca1c636f4ad6572484e0990ccdbd63293
* Reland "Improve invokeinterface for nterp."Nicolas Geoffray2021-01-211-0/+3
| | | | | | | | | | | | | | | This reverts commit f1d06474baa2f7c00761db39099b89ddab71bbe4. Bug: 177554973 Bug: 112676029 Test: test.py Test: 815-invokeinterface-default Test: enable text-to-speech on device, no crash Reason for revert: Fixed issue with recursive default methods Change-Id: I2fb9336adb6c4fc920f39aa19bfe7f0a92ce059a
* Revert "Improve invokeinterface for nterp."Alex Light2021-01-151-3/+0
| | | | | | | | | This reverts commit c0d392be9172c4c60b3e81b0123489ec3036c401. Bug: 177554973 Reason for revert: Fix crash when enabling 'Select to Speak' Change-Id: If2865cc1dfc11e6bd27ed533da10f53521e3e613
* Improve invokeinterface for nterp.Nicolas Geoffray2021-01-121-0/+3
| | | | | | | | | | | | - Remove bitwise negation of imt_index: the class linker already always initializes the imt_index. - Special case the imt index of default methods: to simplify invocation in nterp, mask the method_index to create the imt index. - Add arm64, arm, x64 support in nterp. Test: test.py Bug: 112676029 Change-Id: I815a4a4ec5c219921ab4ed1a20b02586aab19a46
* Add an arm32 port of nterp.Nicolas Geoffray2020-12-011-0/+2
| | | | | | | | | | Currently using arm32, will try thumb once this CL lands to compare performance. Test: test.py, run-libcore-tests, device boots Bug: 112676029 Change-Id: I6535e2982a3ceed83eba6664fc8ba8609974bc08
* Rename ART release APEX to com.android.art.Martin Stjernholm2020-10-231-3/+3
| | | | | | | | | | | | | | | | 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
* Add support for compact dex files in nterp.Nicolas Geoffray2020-09-231-0/+35
| | | | | | Test: test.py Bug: 112676029 Change-Id: I604af166dab0647037bf675cabc6ce433053a83c
* Move code item to the data pointer and remove code_item_offset.Nicolas Geoffray2020-09-071-0/+4
| | | | | | | | | | | This saves 4 bytes on 32bit and 8 bytes on 64bit on ArtMethod. Also update nterp to directly fetch the code item from the data pointer. Test: test.py Bug: 112676029 Change-Id: Ic01f43c7ccf2cbce1ec517478e81362232d36371
* Bionic libc_headers shouldn't be used in non-Bionic host builds.Martin Stjernholm2020-07-161-1/+8
| | | | | | | | | | With upcoming SDK snapshot generation fixes it won't be enabled for linux_glibc either. Test: art/build/apex/runtests.sh on master-art Test: art/tools/buildbot-build.sh {--host,--target} on master-art Bug: 151303681 Change-Id: I9379d47dd266c7737fc9e30db67f833c63044965
* Increment hotness in nterp when doing lookups.Nicolas Geoffray2020-06-261-0/+3
| | | | | | | | Test: test.py Test: google/perf/app-transition/app-transition-to-recents Bug: 112676029 Bug: 157402634 Change-Id: Ibe08720b442c5050062db1104be2d3a62641e629
* Direct calls to @CriticalNative methods.Vladimir Marko2020-06-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Emit direct calls from compiled managed code to the native code registered with the method, avoiding the JNI stub. Golem results: art-opt-cc x86 x86-64 arm arm64 NativeDowncallStaticCritical +12.5% +62.5% +75.9% +41.7% NativeDowncallStaticCritical6 +55.6% +87.5% +72.1% +35.3% art-opt x86 x86-64 arm arm64 NativeDowncallStaticCritical +28.6% +85.6% +76.4% +38.4% NativeDowncallStaticCritical6 +44.6% +44.6% +74.6% +32.2% Test: Covered by 178-app-image-native-method. Test: m test-art-host-gtest Test: testrunner.py --host --debuggable --ndebuggable \ --optimizing --jit --jit-on-first-use Test: run-gtests.sh Test: testrunner.py --target --optimizing Test: testrunner.py --target --debuggable --ndebuggable \ --optimizing --jit --jit-on-first-use -t 178 Test: aosp_cf_x86_phone-userdebug boots. Test: aosp_cf_x86_phone-userdebug/jitzygote boots. Bug: 112189621 Change-Id: I8b37da51e8fe0b7bc513bb81b127fe0416068866
* Bionic and kernel system include paths are no longer implicit.Martin Stjernholm2020-05-061-0/+1
| | | | | | Test: Build and boot Bug: 153590472 Change-Id: I1755d6648e467e8a1edb613278ed756888a6fc3a
* Set apex_available propertyJiyong Park2020-05-041-0/+10
| | | | | | | | | | | | | The marked library(ies) were available to the APEXes via the hand-written whitelist in build/soong/apex/apex.go. Trying to remove the whitelist by adding apex_available property to the Android.bp of the libraries. Bug: 150999716 Test: m Merged-In: Ie9a693be10c6c6571c8aa5357500f5d931400593 (cherry picked from commit 0f152391c0458d3d1cce04a11bc92e7234955d6f) Change-Id: Ie9a693be10c6c6571c8aa5357500f5d931400593
* Add explicit dependencies on jni_headersOrion Hodson2020-04-071-0/+1
| | | | | | Bug: 152482542 Test: lunch aosp_x86_64 && m checkbuild Change-Id: I1859a5b15d7e1a4939968908d862d27b2345acc4
* Allow late lookup for @CriticalNative methods.Vladimir Marko2020-02-191-0/+2
| | | | | | | | | | | | | | Test: Add and enable tests in 178-app-image-native-method Test: Add and enable tests in jni_compiler_test Test: Manually step through the new stub in GDB and check that backtrace works at various points. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: aosp_taimen-userdebug boots. Test: run-gtests.sh Test: testrunner.py --target --optimizing Bug: 112189621 Change-Id: If094e5062acbb99eefa88f2afb4815f93730cb82
* apex_available becomes more correctJiyong Park2020-02-061-1/+4
| | | | | | | | | | | | | | | | | | 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
* Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMARJiyong Park2019-12-201-0/+1
| | | | | | | | | | | | | | | | | | | 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
* Revert submission 1191937-art_apex_availableJoseph Murphy2019-12-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use apex_available propertyJiyong Park2019-12-191-0/+1
| | | | | | | | | | | | | | | 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
* Add an implementation of Nterp for x64.Nicolas Geoffray2019-12-181-0/+2
| | | | | | | | | And enable it on x64 when runtime and ArtMethod requirements are met (see nterp.cc). Test: test.py Bug: 112676029 Change-Id: I772cd20a20fdc0ff99529df7495801d773091584
* Refactor OSR related code to prepare for "true" OSR.Nicolas Geoffray2019-12-172-0/+24
| | | | | | | | | | | | - Make the compiler restore all callee-save registers. - Make the compiler return any value in a core register: this simplifies the current stub, and will also avoid having to look at the return type (and reading the shorty) when returning to an nterp frame. - Add OsrData and offsets of its members to be used by nterp. Test: test.py Bug: 27094810 Change-Id: Ifa4f4877ab8b1f0c6a96feccea30c909942eb2fa
* Helpers and refactorings to prepare for interpreter optimizations (x64)Nicolas Geoffray2019-12-048-0/+90
| | | | | | | | | | | | - Add data structure offsets that will be used in assembly code. - Be explicit about a stack overflow in a fault handler. - Move assembly helper code in asm_support so interpreter can use it. - Support putting literals in InterpreterCache. - Fix artHandleFillArrayDataFromCode for x64. Bug: 119800099 Test: test.py Change-Id: I2729f87fe5d09c04ae2e7081636f0cd89ac14c21
* Allow late lookup for @FastNative methods.Vladimir Marko2019-12-021-0/+2
| | | | | | | | | | | | | Avoid failing a runtime state assertion. Test: Enable tests in 178-app-image-native-method Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: aosp_taimen-userdebug boots. Test: run-gtests.sh Test: testrunner.py --target --optimizing Bug: 112189621 Change-Id: I3eb5c9fd239743732866e8ea0863a84bf85f7b20
* Baseline JIT: update inline caches in compiled code.Nicolas Geoffray2019-11-272-0/+23
| | | | | | | | | In trying to remove profiling from interpreter, to speed up interpreter performance. Bug: 119800099 Test: test.py --baseline Change-Id: Ica1fa41a889b31262d9f5691b30a31fbcec01b34
* Explicitly disable cpp-define-generator for Darwin.Elliott Hughes2019-09-041-0/+5
| | | | | | | This is (one of the many things) currently breaking the Mac build. Test: builds on my puny Mac Change-Id: Ifab20b357573917fb4929cf41052b2ed544476fd
* Make the $/# in front of constants optionalPirama Arumuga Nainar2019-08-091-1/+1
| | | | | | | | | | | | Bug: http://b/117842681 Bug: https://github.com/android-ndk/ndk/issues/1036 After change https://reviews.llvm.org/D65550, Clang stopped emitting '#' before constants in inline assembly. To accommodate this change, mark the $/# before constants as optional in make_header.py Test: Build with old and new compilers Change-Id: Idb056c99a2bfc4d14e4e30d7dc1d0740ca4f9b60
* Replace use of include_dirs with header_libs on asm_defines.sPaul Duffin2019-07-191-6/+4
| | | | | | | | | | | | | Depends on change to add support for header_libs to cc_object. This change: * Removes unused art/libartbase and system/core/base/include from asm_defines.s. * Replaces include_dirs with header_libs. Bug: 35624006 Test: m cpp-define-generator-asm-support - compare output before and after change Change-Id: I1475193e057abe2a6e7a320fcc989fa37d37792f
* Revert "Remove ShadowFrame::dex_pc_ (but keep dex_pc_ptr_)"David Srbecky2019-07-051-0/+4
| | | | | | | | This reverts commit 50bc8fb89c79874e731f245abda3b9e48a541cfe. Reason for revert: Performance regression Change-Id: Ib39ceb9e1f2753c518dd24fd193a824211fd5795
* Remove ShadowFrame::dex_pc_ (but keep dex_pc_ptr_)David Srbecky2019-07-031-4/+0
| | | | | | | They store the same information which is redundant and error prone. Test: ./art/test.py --interpreter Change-Id: I379c20973b90645e3c1016c253d9a6db9a2417dc
* ART: Introduce runtime_globalsAndreas Gampe2019-01-091-0/+1
| | | | | | | | | | | | | | Split libartbase's globals.h into actual globals, and runtime- dependent globals which should live in runtime. Blanket-convert all runtime/ inclusions. In future CLs, the number of global constants should be reduced. For example, GC types are only relevant to GC/alloc functionality. Bug: 119869270 Test: mmma art Change-Id: I2d8cd32e0e7ab4084d2f2e96864b5338a78da94e
* Cache the value of MterpShouldSwitchInterpreters()David Srbecky2018-10-221-0/+2
| | | | | | | | | | | Add field to the Thread object which stores the value instead (negated). Explicitly update the field when relevant state changes (which is rare). This speeds up golem interpreter benchmarks by 3.5% on average with some benchmarks up to 15% faster. Test: test.py -b -r --interpreter --host Change-Id: If2df0d3bf9e69ab50c30102b2648e997927c34d8
* Move cpp-define related static_assert to runtime.David Srbecky2018-10-181-1/+1
| | | | | | | | The runtime is build with both debug and non-debug configs, so checking it there covers more cases. Test: Check this caches cases which previously passed. Change-Id: I543547e517b79289438b19ed9e18f5a6d0b74172
* Remove mterp "alternate" opcode handlers.David Srbecky2018-10-161-4/+0
| | | | | | | | | | They are currently unused and I don't have plans to use them. The alternate table made it possible to enable extra mterp checks. However, it is possible to move the debug checks to the main path. Test: test.py -b -r --interpreter -t 001-HelloWorld Change-Id: I45a39ec73abaefaecf5b8c636f3f9d519a0a8bb0
* Shrink couple of x86 mterp handlers.David Srbecky2018-10-161-0/+5
| | | | | | | | | | Use helpers to make more room for the follow-up CL. Refactor the code so that it is possible to add non-opcode specific helpers with custom name. Test: test.py -b -r --interpreter -t 001-HelloWorld Change-Id: I3714f83c10e1c16d3b26108e6eb475805482c785
* Cleanup the cpp-define-generator definitions.David Srbecky2018-10-1234-672/+488
| | | | | Test: test-art-host-gtest-arch_test Change-Id: Ifda7a51d19156b1eb62bc39b16ec559d609744e5
* Rewrite cpp-define-generatorDavid Srbecky2018-10-125-134/+172
| | | | | | | | | | | | The new method works by generating temporary per-architecture human-readable object file with the constants embedded in it. Python script extracts those values and generates the header. This means the values can now implicitly depend on pointer size, compile time flags, or ABI specific object layout with no hacks. Test: test-art-host-gtest-arch_test Change-Id: Id6e8c77c01f9d6c49cd6d40e3487b56fa4777349
* Remove the auto-generated asm_support_gen.hDavid Srbecky2018-10-054-182/+2
| | | | | | | | | | Still generate the file, just don't commit it in the repository. The build system decides the location, which is: out/soong/.intermediates/art/tools/ cpp-define-generator/cpp-define-generator-asm-support/<arch>/gen/asm_support_gen.h Test: test-art-host-gtest Change-Id: I586bad682818acb5293919b84c02738bba3073ea
* Add small thread-local cache for use by the interpreter.David Srbecky2018-09-271-2/+1
| | | | | | | | | Small (one page) cache which can be used on the hottest paths in the interpreter and which does not require synchronisation. This CL adds the code but it does not use it for anything yet. Test: test-art-host-gtest Change-Id: I41d4e7a86a0f62f7a4efc165b8934232b4e766c7
* Merge "ARM/ARM64: Improve lock/unlock entrypoints."Vladimir Marko2018-05-211-8/+14
|\
| * ARM/ARM64: Improve lock/unlock entrypoints.Vladimir Marko2018-05-211-8/+14
| | | | | | | | | | | | | | | | Do the same in fewer instructions. Test: Pixel 2 XL boots. Test: testrunner.py --target --optimizing Change-Id: I8003481116fd3dc6a1559b84fdc776b92dba0c68
* | Move ArtDexFileLoader to libdexfileDavid Sehr2018-05-161-0/+1
|/ | | | | | | | | Adds a dependency from libdexfile on libartbase, but allows the use of MemMap loaders, etc. Bug: 78652467 Test: make -j 40 checkbuild Change-Id: I15cf33893ca9192050762f8350a3cc1e39f88dc5
* Clean up include pathsDavid Sehr2018-04-261-1/+1
| | | | | | | | | | Remove runtime/globals.h and make clients point to the right globals.h (libartbase/base/globals.h). Also make within-libartbase includes relative rather than using base/, etc. Bug: 22322814 Test: make -j 40 checkbuild Change-Id: I99de63fc851d48946ab401e2369de944419041c7
* Header library to remove dependence on runtime/David Sehr2018-02-281-0/+1
| | | | | | | | | | | | Add a new header library to remove libdexfile and others' dependence on runtime (typically runtime/base) includes in libdexfile. Also a small step to tease dexlayout and profman away from relying on these as well. Bug: 22322814 Test: make -j 50 checkbuild make -j 50 test-art-host-gtest Change-Id: I38e2fe399a75f4bc6318c77a71954c00ea73ec2b