Age | Commit message (Collapse) | Author |
|
This revert was created by Android Culprit Assistant. The culprit was identified in the following culprit search session (http://go/aca-get/88fe93a5-fc12-490e-8914-e81bb746b001).
Change-Id: I87dc85008a9c79c017055ae641f41809d19b1c78
|
|
The codegen property was very similar to the targets property, except:
- on host it combined all the properties from all the arches
- it would apply the properties from each arch branch if the device
supported it, with the exception of always including a 32bit branch
if the 64bit branch was included.
For the most part, this could be expressed by using the regular `target`
property in soong. However, the `target` branches are selected based
on if the module itself is being compiled for 32bit/64bit/a particular
arch, not if the device supports it or not. This means that after this
change, compiling a module for 32 bit on a device that supports both
64 and 32 bit will not have the 64 bit flags. Note that the reverse does
not work the same way, the 32 bit flags are manually copied onto the 64
bit `target` branch to maintain the plugin's old behavior of always
including 32bit code on 64bit.
Bug: 247785938
Test: Presubmits (because of the behavior change described above, the ninja files do have differences)
Change-Id: I23f585c2a2ad2cbe9b3e212097aef88d63c5394b
|
|
The only supported mode is the switch interpreter. JNI transitions are
not implemented yet (not even generic JNI trampoline), therefore it is
impossible to run even a simple hello world test (because it requires
loading Java libraries and initializing classes in them, many of which
call native methods). The only passing ART test is 000-nop.
Test: run ART test 000-nop on a Linux RISC-V VM:
lunch aosp_riscv64-userdebug
export ART_TEST_SSH_USER=ubuntu
export ART_TEST_SSH_HOST=localhost
export ART_TEST_SSH_PORT=10001
export ART_TEST_ON_VM=true
. art/tools/buildbot-utils.sh
art/tools/buildbot-build.sh --target
# Create, boot and configure the VM.
art/tools/buildbot-vm.sh create
art/tools/buildbot-vm.sh boot
art/tools/buildbot-vm.sh setup-ssh # password: 'ubuntu'
art/tools/buildbot-cleanup-device.sh
art/tools/buildbot-setup-device.sh
art/tools/buildbot-sync.sh
art/test.py --target -r --no-prebuild --ndebug --no-image \
--64 --interpreter 000-nop
Co-authored-by: Lifang Xia <lifang_xia@linux.alibaba.com>
Change-Id: Iac267525527901b74e863cb8c72ddcf0789e8a5d
|
|
Fix panics in codegen.go and PGO when using riscv64 as the target
arch.
Bug: 250918230
Test: lunch aosp_riscv64-userdebug && m ALLOW_MISSING_DEPENDENCIES=true nothing
Change-Id: I97820082b7d51e939f01e782356795a12f84f8a1
|
|
Instead of including shared library libvixl.so in the ART
Module, link libvixl statically to all binaries that use it,
namely libart-compiler.so and libart-disassembler.so which
shall increase in size with the additional libvixl code.
The ART Module size with default libvixl symbol visibility:
- before: 88460730B
- after: 86973943B (-1.42MiB)
With hidden libvixl symbol visibility:
- before: 88337851B
- after: 84962808B (-3.22MiB)
(This is with master-art where we do not have a boot
profile and therefore compile more code in boot image.)
The change from default to hidden visibility is done in
https://android-review.googlesource.com/1697237 .
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Test: run-gtests.sh
Test: testrunner.py --target --optimizing
Bug: 186902856
Change-Id: I040b0115b94b8690ee7be53e3ded8610d9f13e99
|
|
With the exception of dwarf support in libelffile.
Test: aosp_taimen-userdebug boots.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 147346243
Change-Id: Ib25acbc98aa7f63ce49a7ed2f81a4a64d48eac39
|
|
Replace deprecated BaseContext with LoadHookContext.
Use ctx.Config() instead of ctx.AConfig().
Use existing ctx.Config() functions instead of wrappers.
Sort imports.
Test: m checkbuild
Change-Id: Idf30996ef38f4056a93af511c607b2c24678a5fa
|
|
The static properties don't make sense for cc_library_shared
modules, and the shared properties don't make sense for
cc_library_static modules. Move them into separate property
structs so they can be added conditionally.
Test: m nothing
Change-Id: Ic3f95f588a05417dfd470d0e4e9d69c376250a11
|
|
Remove the `art.codegenCustomizer` type definition, which is not used
anywhere.
Test: m
Change-Id: I645237f8980f99d2e3f81c42e344ecb4f7808c0e
|
|
With this change, it is now possible to write the following in ART
Blueprint files:
codegen: {
mips: {
srcs: ["disassembler_mips.cc"],
},
mips64: {
srcs: ["disassembler_mips.cc"],
},
},
and have it work even if the `mips` and `mips64` are both enabled.
Before this change, this construction would have been rejected with
the following error message:
"FAILED: ninja: […]: multiple rules generate […]disassembler_mips.o"
Test: m test-art-host
Bug: 119090273
Change-Id: I0a20a65ce7ab308644f3018a89fa96e5bdcdbdc4
|
|
It is not necessary to export headers from static libraries included
using whole_static_libs as that automatically exports the headers.
Test: m checkbuild
Bug: 134379140
Change-Id: Iea85dedf91f404739d12b3a7971cd87c02e1ab6d
Exempt-From-Owner-Approval: needed to fix build failure
|
|
The include_dirs property is deprecated and no longer needed as the
libvixl[d] libraries export their include dirs directly.
Added support to the codegen extensions to allow header include dirs
from libvixl[d] to be re-exported from libart-compiler[d] as the
latter's exported headers include vixl exported headers.
Test: m checkbuild
Bug: 134379140
Change-Id: I6ad47b093cc25fc1486109fced1c2a238e75ff0d
|
|
Using a unified libvixl(s) saves space by sharing code that was common
to libvixl(d)-arm and libvixl(d)-arm64 and also addresses multiple
definitions issues that would cause ODR violations.
Test: 32-bit-only device boot test
Test: 32/64-bit device boot test
Change-Id: I1d67c43897e08bc0f5743eb038fe574ce2fb54f3
|
|
Refactor module registration so that it doesn't need to separately
track properties.
Test: builds, no change to out/soong/build.ninja
Change-Id: I152f019d227d8fa9872742c03cf2381c674d675b
|
|
This splits the compilation and running of the art gtests into two
separate locations. The tests are now compiled in multiple Android.bp
modules in each directory. art.go collects the installed locations of
each test and exports it as make variables. art/build/Android.gtest.mk
converts the list into the rules to run the tests.
This has a few changes in behavior:
- The rules to build tests are now always defined, and will build as
part of mmma art or make checkbuild.
- Host tests are no longer installed into out/host/linux-x86/bin, they
are in out/host/linux-x86/nativetest[64]/<module name>/<test name>
- Target tests are now in
/data/nativetest[64]/art/<arch>/<module name>/<test name>
Test: mmma -j art
Test: m -j test-art-host
Test: m -j test-art-target
Change-Id: Iabcd99d43890e6b693688422b07a283c3226a496
|
|
Change-Id: I46de5ea6ffbc0e32a0b306b8fe82b66b986e33cd
|
|
This to restore the previous (non-soong) build behavior.
Change-Id: Ie93c18db5522b889a44106cbb25c2a87f9e4a882
|
|
Re-landing I73839046a5a53eb34cd28eea53149911c568e411, with fixes for mac
build (only apply -Wl,--keep-unique to device x86 builds), typo in
checking for ART_HEAP_POISONING environment variable, and removing
-Wframe-larger-than for debug builds.
Test: mma -j, m -j test-art-host
Change-Id: If88492174cbcb0d9a8758176c006163a29eaaa63
|
|
This reverts commit 4ea3a22f0ccfb0f746c63c274b2655545e759e1f.
Change-Id: I3ac4397b4d6be038e5b863b7a24231c0736e84f3
|
|
Test: mma -j, m -j test-art-host
Change-Id: I73839046a5a53eb34cd28eea53149911c568e411
|