History log of /art/Android.mk
Revision Date Author Comments
2994e29b57ff57ce3d59a26a01e27e674bd6238b 06-Aug-2014 Andreas Gampe <agampe@google.com> ART: Use TMPDIR for test directories

Bug: 16499668

(cherry picked from commit 5a79fdecffbea657ebecd4cf19078925239eb1c3)

Change-Id: I6981f707862bf4a9cc79800db85b0416f30115af
345c4b19758703793ed31024cfb79940e2c63b75 18-Jul-2014 Alex Light <allight@google.com> Make system use patchoat to relocate during runtime.

Change dalvik_system_DexFile.cc so that isDexOptNeededInternal will be
able to indicate that a patchoat is required. Change default of relocate
option to be on.

Bug: 15358152

(cherry picked from commit 6e183f2e973a20f2eaca135c240908e1bf98c5d0)

Change-Id: Ib21f4f41b6cbf18094e3ca1a30d65a3b197b71b0
3d4e684d05a43bb7ae182112b58bd8322fd64b2b 29-Jul-2014 Brian Carlstrom <bdc@google.com> Revert "Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY."

This reverts commit b1efe9746724f28773d185c7137c16ca8207ed47.

Change-Id: I5af2fae2c7b72e6ded72f00d3f7d4f306f6703ee
6e183f2e973a20f2eaca135c240908e1bf98c5d0 18-Jul-2014 Alex Light <allight@google.com> Make system use patchoat to relocate during runtime.

Change dalvik_system_DexFile.cc so that isDexOptNeededInternal will be
able to indicate that a patchoat is required. Change default of relocate
option to be on.

Bug: 15358152

Change-Id: Ibe92d8b55a24bbf718b0416a21b76e5df7a2de26
2e879694544744436a595eb30cd0b8ad4580c9db 29-Jul-2014 Brian Carlstrom <bdc@google.com> Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [art]

This will allow us to conditionally change the compiler-filter based on other properties.

Bug: 15165413
Change-Id: I6877a6eab221ab142909b595fd28191b5d3a095b
b1efe9746724f28773d185c7137c16ca8207ed47 23-Jul-2014 Nicolas Geoffray <ngeoffray@google.com> Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY.

If dex2oatd changes, we need to re-run .oat/.art file generation.

Change-Id: I43487e024745b22b1681f4ff558bac6fd07d9881
1c83cbc4a817acbd7f9abb5b29a2d418a958e6a1 23-Jul-2014 Andreas Gampe <agampe@google.com> ART: Make run tests out of oat tests

Transforms all former oat tests into run tests.

Change-Id: I190dd39456454c36e5538a2c044d993965a67533
a59dd80f9f48cb750d329d4d4af2d99d72b484d1 03-Jul-2014 Alex Light <allight@google.com> Runtime can now be set to require relocation

Add a pair of runtime flags -Xrelocate and -Xnorelocate that can force
the runtime to require that all files that are run are relocated, to
prevent attacks based on the known art base address.

Add support for running patchoat on oat files compiled without an image.

Change run-test to have new --prebuild and --relocate flags.

Bug: 15358152

Change-Id: I91166c62dd1ab80e5cbcb7883a2cd0d56afca32d
44a3c1914032dc97aab152c83929e97ad41fb538 10-Jul-2014 Colin Cross <ccross@android.com> art: fix host dex2oat runtime args

The runtime arguments need to be prefixed with -Xmx or -Xms.
This only worked before because DEX2OAT_XMS, etc. were blank
due to bugs in build/, which resulted in --runtime-arg --runtime-arg
and anything starting with -- as the argument to --runtime-arg is
silently ignored.

Change-Id: I18607a6fd8d0004466404045f8dc4495eb6ab275
670134e8555d40fc880271b1ab97483094b4b816 08-Jul-2014 Brian Carlstrom <bdc@google.com> Make dex2oat heap size product configurable [art]

Bug: 15919420
Change-Id: I1b4f3256f6352b2d3e268991406def9e8efab945
53cb16b98acf3cf6f3a1e2204ad4958ecf1b5a3c 12-Jun-2014 Alex Light <allight@google.com> Add patchoat tool to Art.

Add a new executable called patchoat to art. This tool takes already
compiled images and oat files and changes their base address, acting as
a cheap form of relocation.

Add a --include-patch-information flag to dex2oat and code to add
required patch information to oat files created with the quick compiler.

Bug: 15358152

Change-Id: Ie0c580db45bb14ec180deb84930def6c3628d97d
15582b92c464151fa06f4d848165344885983888 04-Jul-2014 Sebastien Hertz <shertz@google.com> Add make rule to debug interpreter-only mode

Adds "use-artd-interpret-only" make rule to run interpreter-only mode with
libartd.so.

Change-Id: Ib9fbcdbdcc79a89900ee751b5dc2ad554f834127
72e146fe6749023833e14d77d97c3c2d469a6101 02-Jul-2014 Nicolas Geoffray <ngeoffray@google.com> Fix build-art-target and build-art-host rules.

They did not build the right libjavacore.so for 64bits builds.

Change-Id: I8475f73588ffd17933aac4591d19f8803741ef8a
fc3c67a6c45553cb4d21a9b40e99ffb345baf9b6 02-Jul-2014 Nicolas Geoffray <ngeoffray@google.com> Fix art-host rule and art script after build changes.

Change-Id: Ideb6a83d71cda126d94ad01965b2dcf5005d449a
de38833babdf20fec49cdc4453fe6da95646cfad 01-Jul-2014 Andreas Gampe <agampe@google.com> ART: Add arch-specific directories to host-oat-cleaning rule

Change-Id: Ia1c5b613067ba6c6648706b346258d0a155906be
327e6b49230c2adcb142fe59ea03a6a13cfe346c 27-Jun-2014 Brian Carlstrom <bdc@google.com> We can no longer use "adb shell sh -c ..." internally

Change-Id: I9357ca59f73b79fa56686d221c83e024137eee35
4d1231d61862b17bc9dce8ff65c5ada93bdcfb15 01-Jul-2014 Nicolas Geoffray <ngeoffray@google.com> The host build has changed from lib32/lib to lib/lib64.

Use the correct build variable for library dependency.

Change-Id: I2f12d13b595d97b2806eb709613e2cc358f4cad4
44e37a5e1fcb8b10270b75a019b6e76bf3ae5d26 28-Jun-2014 Nicolas Geoffray <ngeoffray@google.com> Add the dalvikvm symlink to the art-host rule.

The art script requires it.

Change-Id: I60bc7dbd57e7415089f5b14bf470ceffa1dcb581
d9faf4586d5ddfcbe344bf0eefa624e157435003 28-Jun-2014 Hiroshi Yamauchi <yamauchi@google.com> Fix use-art-*.

Apply s/ART_DALVIK_CACHE_DIR/ART_TARGET_DALVIK_CACHE_DIR/.

Change-Id: Ie052b824826c5e919c5526763aa4eb5a3e49cbec
afd9acc30bdd11cdd12d8209eb994cb371c65e33 17-Jun-2014 Ian Rogers <irogers@google.com> Multilib ART host.

Build ART for the host as a multilib project with dalvikvm32 and dalvikvm64
running as 32 or 64-bit repsectfully. Note, currently multilib host builds
are not the default, you make the so by setting BUILD_HOST_64bit=1.
Extend tests to execute in both 32 and 64-bit modes. By default both 32 and
64-bit tests are run, add 32 or 64 to the end of a test name to run it in
purely that flavor.
Given the extra spam, modify oat tests to only generate console output when
the test fails.
Change the test harness so that common commands are run when a test should be
skipped, when it passes or when it fails. Use these commands to generate a
summary of passing, skipped and failing tests. Tests will be skipped if they
are known to be broken or if a test has already failed. Setting the variable
TEST_ART_KEEP_GOING=true will force working tests not to be skipped.
In this change all tests running on the optimizing compiler are marked broken
due to breakages running them in a multilib environment.
Break apart Android.common.mk into its constituent parts, along with other
pieces of reorganization.

Stylistic nit, we refer to make rule targets as targets thereby overloading
the term target. While consistent with make's terminology, its confusing with
the Android notion of target. I've switched to just calling targets rules to
avoid confusion in host tests.

Change-Id: I5190fc3de46800a949fbb06b3f4c258ca89ccde9
532714abd50c547f0fdbe830f811d99e621e2d34 25-Jun-2014 Brian Carlstrom <bdc@google.com> Fix test-art-target error

Change-Id: If1f800a056b3f95252037163784ab3ae26d9fa6d
fe40874ee8359a12f5360d18e4943a091d960b49 18-Jun-2014 Nicolas Geoffray <ngeoffray@google.com> Add missing parens to Makefile rule.

Change-Id: I5bff24a696a07c734d05d0ee42f3cf6cd57c0904
3a5052214df8140978f19f0e9e242df6ffcb621f 26-May-2014 Nicolas Geoffray <ngeoffray@google.com> Build rules for running run-test with optimizing compiler.

Change-Id: I9d55c456007403a6a4ffd9da2c70d500b410e51b
07935e50194b61ead0f90553529f7e4b82c2d38d 10-Jun-2014 Ying Wang <wangying@google.com> Use HOST_LIBRARY_PATH to access host shared libraries.

With multilib host build, the build system installs host
shared libraries to different directories depending on a
library's bitness:
- HOST_OUT_SHARED_LIBRARIES points to the library path of 64-bit;
- 2ND_HOST_OUT_SHARED_LIBRARIES points to the library path of 32-bit;
- If you don't care the bitness of the libraries and just want whatever
version the librareies are built by default, use HOST_LIBRARY_PATH.

Bug:13751317
Change-Id: I58a7ca5988d89b8619a804913461723719c9a873
ffddfdf6fec0b9d98a692e27242eecb15af5ead2 03-Jun-2014 Tim Murray <timmurray@google.com> DO NOT MERGE

Merge ART from AOSP to lmp-preview-dev.

Change-Id: I0f578733a4b8756fd780d4a052ad69b746f687a9
f4b80bcc7190fe75023b983d56a795b440a0c515 15-May-2014 Dave Allison <dallison@google.com> Make use of sigchainlib for signal chaining for implicit checks

This adds a preload library that overrides sigaction and sigprocmask
to implement signal chaining. Signal chaining allows us to chain
any signal so that the ART runtime receives it before any signal
handler registered in native code by an application. If the
ART signal handler doesn't want it, it will pass it on to the
user's handler.

ART uses signals for null pointer checks, stack overflow checks and
suspend points.

Also adds an OAT test to test this in isolation.

Change-Id: I9545f9f7343774c091410eb810504d9855fd399f
346265e4bea716fdadef24719709135c5dcf68fc 28-May-2014 Brian Carlstrom <bdc@google.com> Move to dalvik.vm.lib.2 to force default to libart

Bug: 14298175

(cherry picked from commit b9c0c40e1f7eb38337919200f1fa328eaed92c1d)

Change-Id: I453d5391d757dcdac1f6fa3b1fb7bc85144177e1
b9c0c40e1f7eb38337919200f1fa328eaed92c1d 28-May-2014 Brian Carlstrom <bdc@google.com> Move to dalvik.vm.lib.2 to force default to libart

Bug: 14298175
Change-Id: Idca8bd89a02e9f1fd1bbf51eb7aac13d0057d7b7
7a6b280038b601c10464979144293ce6352b43c7 25-May-2014 Brian Carlstrom <bdc@google.com> Add TARGET_2ND_ARCH support for dump-oat-boot

Change-Id: I87f1742f401af37893d336074c53dee92993b769
0f5baa079eea76758aee32d7f87cb175deab8308 22-May-2014 Brian Carlstrom <bdc@google.com> Update dump-oat-* and oatdump for new image file layout

Bug: 11997009
Change-Id: I30c356f3ea62b1850d17b5c6bf4af4080a466858
fb040d068cd0a6e91cea3cba279a5f4e3f67825d 21-May-2014 Andreas Gampe <agampe@google.com> ART: Fix libjavacore dependency

Add a dependency for libjavacore for the secondary architecture.

Change-Id: I30f07c200e1cbb7d50b026fa6b21d09ab9aadd66
769a5ad7d2caee5eb4c0ed382ac79cc8c4b9bd23 19-May-2014 Mathieu Chartier <mathieuc@google.com> Add DALVIKVM_FLAGS to test invocation.

Now, only gtest don't use these flags.

Running tests with GC options e.g:
DALVIK_VM="-Xgc:GSS" mm test-art-host-oat

Added a --runtime-option to test/run-test which passes the args to
the test:
test/run-test --runtime-option -Xgc:GSS --runtime-option -XX:UseTLAB 080

Change-Id: Ic928df32cb5aa36d3b0b55456e8b535e82ee9e97
27a935a5c9af52584420d2da6d643075dc443102 20-May-2014 Nicolas Geoffray <ngeoffray@google.com> Fix art-host build rule.

Use HOST_CORE_IMG_OUT, now that the image is being generated in a
platform dependent directory.

Change-Id: I5509012e9ed0d745b70b2a58227213b027227c97
69c3e4c200319a742f5bb888292ab4d283a2bed3 20-May-2014 Brian Carlstrom <bdc@google.com> Remove cleaning obsolete 2ND_ART_NATIVETEST_DIR and 2ND_ART_TEST_DIR directories

Change-Id: Iba1735bc7762fbd6610191f75c13979e831851d6
f662e0600ae0e0a1a5f732dc3aae25679ffa102f 20-May-2014 Brian Carlstrom <bdc@google.com> Updating clean-oat again

Also fix test-art-host-oat dex2oat'ing to use the proper new directory layout.

Change-Id: I4a65e88910a72dbe342c814551e4364d73e26e9c
cb9bccdf77e22604dcf9a9b9e8936ff747ef9f64 19-May-2014 Hiroshi Yamauchi <yamauchi@google.com> Add use-artd-full.

Change-Id: I7bfa2da2870b6b76471d90b4110cbd17347868b0
7a4c1c1533f6f25303752525424b6244e4c9b739 18-May-2014 Ian Rogers <irogers@google.com> Make vixl tests a dependency in the vixl makefile.

This fixes run test-art-host for 64-bit hosts.
Depends upon: https://android-review.googlesource.com/#/c/94999/

Change-Id: Ic595b7a5f6c5ddb86b5b4c20e626baba6ac7a28e
0e12bdc49744eb6d5c29b9611a8dbe10bac4cd53 15-May-2014 Brian Carlstrom <bdc@google.com> Add ISA directory to image and odex pathnames.

Bug: 14882223
Bug: 14694978
Change-Id: Ic1b5ae836b8e91ea461dcd4f3da8e38dc3bec00f
c6585b7db95771782b2b0144efb8a18fa0f6906f 24-Apr-2014 Ying Wang <wangying@google.com> 64-bit host multilib build.

Bug: 13751317
Change-Id: I98c0d593e441add79d51ec1b690c4abd3489a8cf
3c0335735e9e8963003eeabb984e5208731d972e 13-May-2014 Andreas Gampe <agampe@google.com> ART: Run cctest_vixl in test-art-host

Added a make rule "test-art-host-vixl" that will run the vixl test
when the host is built in 64b mode.

Change-Id: I896f998432d089e6554d2a9c9aa92cb9f89094ec
83ae6d2d5ddb1c1a81544ad0343113385aab9072 10-May-2014 Brian Carlstrom <bdc@google.com> More dalvik-cache cleaning fixes.

Change-Id: If483965949eff9fc910c2c326ffae52759c5e5ac
81c56e73558dee0a8e537a12a210d4bc0ef01a62 05-Mar-2014 Dmitry Petrochenko <dmitry.petrochenko@intel.com> art/test: support sequential run

Introduce --seq option for art/test/run-all-tests.
This option runs tests one-by-one, avoiding failures
caused by busy CPU

Change-Id: Ibe29f749d267fb05dff4617787c7afcbdbeb43c0
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
ae089616183e7af01fee83dad45aff06f3dd47ca 01-May-2014 Brian Carlstrom <bdc@google.com> Update clean-oat targets to handle ISA directories

Change-Id: Ia2f04058deff7b31ac458064723b05a6eb0e7f8d
a63229ca67388b322951c422b31340cdc946134f 21-Apr-2014 Andreas Gampe <agampe@google.com> ART: GTest target tests missing "PASSED"

This seems to have gotten lost a while ago.

Change-Id: Ia0114d4fc0dfcf6e53339307cd556e168312fc53
2fe07927610177e9b83809e5bdb6d2b3d835a076 21-Apr-2014 Andreas Gampe <agampe@google.com> Fix dependencies in the test suite for multi-target tests

Change-Id: I94dd767490a7cd8cceddc158d90f56f5bd3fef26
9b79776f14108ea559e5e08f94a5188468fda1e9 19-Apr-2014 Ian Rogers <irogers@google.com> Get instruction-set/features from build/core/config.mk

Depends upon https://android-review.googlesource.com/#/c/91524

Change-Id: Iad1a1b0499aac7acf7c4e42b62bb3fe4474e2f47
4a200f56b7075309316b04d550c9cc50f8314edd 01-Apr-2014 Jeff Hao <jeffhao@google.com> Add support for -Xverify:none mode.

This mode skips all verification and compilation.
Public bug: https://code.google.com/p/android/issues/detail?id=67664

Change-Id: Idd00ab8e9e46d129c02988b063c41a507e07bf5b
1db132d0b88a17d65570199f79be84b844c54c33 26-Mar-2014 Nicolas Geoffray <ngeoffray@google.com> Use debug version of DEX2OAT explicitly.

Change-Id: I57b4c8caedcc6bfbeaa541d8171f8b5b3069c584
934ce8082aeccb491a24f5af0fdcf40966d54dfb 02-Apr-2014 Brian Carlstrom <bdc@google.com> Use TEST_ART_RUN_TESTS consistently

Change-Id: I0242702886d53a39f2604e209a0763ff82278e1c
afbaa1aab02cfe519d00336870b1bcd24b61378d 26-Mar-2014 Andreas Gampe <agampe@google.com> Build changes to build multilib tests

Test files will be emitted into directories for both first and second
target architectures. Going with the naming scheme for binaries,
single-architecture and 32b cases have the standard name, and
64b goes into a directory with "64" suffix.

In multi-architecture setups, the default concrete test targets are
extended with a "32" and "64" suffix, e.g., test-art-target-oat-JniTest64.
The suffix-less form is linked to the primary architecture target (usually 64).
That means running combined targets, e.g., test-art-target-oat, will only
test the primary architecture right now.

Fixed target run tests calling the right dalvikvm. Fixed library search
path for tests derived from CommonRuntimeTest.

Missing in this work-in-progress is correct handling of dex2oat for the
secondary architecture. To make it work on 64b, comment out line 101
in build/Android.executable.mk

Change-Id: I3d260994e6efe8b73b56c71994053cc9392943a9
8ccc3f5d06fd217cdaabd37e743adab2031d3720 19-Mar-2014 Nicolas Geoffray <ngeoffray@google.com> Add support for invoke-static in optimizing compiler.

Support is limited to calls without parameters and returning
void. For simplicity, we currently follow the Quick ABI.

Change-Id: I54805161141b7eac5959f1cae0dc138dd0b2e8a5
92cf83e001357329cbf41fa15a6e053fab6f4933 18-Mar-2014 Nicolas Geoffray <ngeoffray@google.com> Run Java tests with the optimizing compiler.

Also fix a vector.reserve -> vector.resize braino, and build
a GC map that dex2oat expects.

Change-Id: I6acf2f90a4c32f90b79bf7709bf2e43931b98757
1e895cd5a9b67fc7aa44445d1e5b54afa387e308 07-Mar-2014 Brian Carlstrom <bdc@google.com> Add convenience targets for switching between full, smart, interpret-only

Change-Id: Ic0e016404d79fd0e40519f33210b332414adc8bf
9583fbcf597eff6d0b3c5359b8e8d5f70ed82c40 28-Feb-2014 Nicolas Geoffray <ngeoffray@google.com> Remove oat file location in the image.

The oat file is now always in the same directory, and has the
same name as the image file. Only difference is the extension.

This also removes the need for host-prefix.

Change-Id: I16d1f7aeb1d58372d41921694664e9c321afc1ad
a1ce1fef2d49d1d537776a5308ace7102a815fe5 25-Feb-2014 Brian Carlstrom <bdc@google.com> Split up CommonTest into CommonRuntimeTest and CommonCompilerTest

Change-Id: I8dcf6b29a5aecd445f1a3ddb06386cf81dbc9c70
435348618590b0d5674fb4d9bbc022c6488e11b3 19-Feb-2014 Brian Carlstrom <bdc@google.com> Fixes to allow test-art-host to run via build server

Change-Id: Ifc4259ab03cb3867b625c2e1edf4352398c8a8e8
dc781a13ddb4dabf646bb45d0c53b65cab948e5b 05-Feb-2014 Colin Cross <ccross@android.com> art: convert makefiles to support multilib build

Convert makefiles to allow for building two architectures at the
same time. More changes may be necessary to get the tests to
build.

Change-Id: I02ba11706b7e5b5592d76e43c167bcbf0e665b93
97f4489166ae31c12d35ad3f550a5fc8d143b4fa 15-Feb-2014 Ian Rogers <irogers@google.com> Revert "Revert "Revert "Add a script for running art standalone."""

This reverts commit 4b23250f4cbf3047924c646c1a0c078394f8362d.

Change-Id: Ib749a8267abf35e51552b741ba749d6ed6975f95
938d30f40d41074cddc2a5afb749544ff2a41720 14-Feb-2014 Brian Carlstrom <bdc@google.com> Add jasmin dependency needed for run-test

Change-Id: Id14eecf6c65e8a1bd3db2721e742d7f5fa86f324
4b23250f4cbf3047924c646c1a0c078394f8362d 13-Feb-2014 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "Add a script for running art standalone.""

This reverts commit 41dcb9f856a2051527cd595f8fe7d200066acba4.

Change-Id: Ide6fa696c6fb43fe17e0993e8c9d1b588c99b1f3
41dcb9f856a2051527cd595f8fe7d200066acba4 12-Feb-2014 Brian Carlstrom <bdc@google.com> Revert "Add a script for running art standalone."

This reverts commit 1f5a90f28443886ebefcfbd531b8e41ece298cca.
1f5a90f28443886ebefcfbd531b8e41ece298cca 07-Feb-2014 Nicolas Geoffray <ngeoffray@google.com> Add a script for running art standalone.

Change-Id: I0c48856d811c40662a6e4a4782478a0bc8e0f697
db79f747740c272ec3f16d9ca7353baad464eb56 01-Feb-2014 Brian Carlstrom <bdc@google.com> Fix dump-oat-boot to work with new build location by supplying explict host-prefix

Change-Id: I6b44dbae63dc8fbc26473da5ee1649d725e44d57
2492b9ddb8111c7efbe7eb9e0c5c709c8878d0f2 31-Jan-2014 Ian Rogers <irogers@google.com> Remove jdwpspy.

Change-Id: Ic9814dadcf1ccf46e280bddde0dffbef8438e48d
24b2e6f57c228b5bcf43df1106a2ddfb4b31ce68 30-Jan-2014 Brian Carlstrom <bdc@google.com> art: Rename persist.sys.dalvik.vm.lib to allow new default

Bug: 12798969

(cherry picked from commit 2d27d83795cb9761bb1225c6b946d645ccee3fdc)

Change-Id: I5d9661d89394f79cfa2ad2b86bbf6ecf58fab1c4
2d27d83795cb9761bb1225c6b946d645ccee3fdc 30-Jan-2014 Brian Carlstrom <bdc@google.com> art: Rename persist.sys.dalvik.vm.lib to allow new default

Bug: 12798969
Change-Id: Ib2aa85d611dd97b7a6e437a6ca9095d4993c138d
be1ca55db3362f5b100c4c65da5342fd299520bb 15-Jan-2014 Hiroshi Yamauchi <yamauchi@google.com> Use direct class pointers at allocation sites in the compiled code.

- Rather than looking up a class from its type ID (and checking if
it's resolved/initialized, resolving/initializing if not), use
direct class pointers, if possible (boot-code-to-boot-class pointers
and app-code-to-boot-class pointers.)
- This results in a 1-2% speedup in Ritz MemAllocTest on Nexus 4.
- Embedding the object size (along with class pointers) caused a 1-2%
slowdown in MemAllocTest and isn't implemented in this change.
- TODO: do the same for array allocations.
- TODO: when/if an application gets its own image, implement
app-code-to-app-class pointers.
- Fix a -XX:gc bug.
cf. https://android-review.googlesource.com/79460/
- Add /tmp/android-data/dalvik-cache to the list of locations to
remove oat files in clean-oat-host.
cf. https://android-review.googlesource.com/79550
- Add back a dropped UNLIKELY in FindMethodFromCode().
cf. https://android-review.googlesource.com/74205

Bug: 9986565
Change-Id: I590b96bd21f7a7472f88e36752e675547559a5b1
b32a3ad73be87835faec086eb587d23570de3296 20-Jan-2014 Brian Carlstrom <bdc@google.com> Fix bit-rot in clean-oat targets

Change-Id: If7f1681b34284b16ace6bafdacc2a19a3268480c
7ab763caf16cc88a9696c1ebb727242106af61eb 09-Dec-2013 Brian Carlstrom <bdc@google.com> Move boot image generation to the build project

Change-Id: I1c87640baa681ed5f0bc10bca8dc130895bb6a95
fd7ad0acf1a50e248fff1a9849c8d89e9e200ef6 11-Dec-2013 Brian Carlstrom <bdc@google.com> Fix dependencies to be on core-libart, not core

Change-Id: I002f4ab170146d48210655fbed44328a289873f5
1f8730b5569a20f6293b10b98b0bda12a927be99 14-Nov-2013 Brian Carlstrom <bdc@google.com> Fix clean-oat

Change-Id: I96ba59794e50f630aaa06d226b1048000b1b6188
d912e5c36f952db8ff027d67979724fe0e56b35a 13-Nov-2013 Ian Rogers <irogers@google.com> Allow host valgrind gtests to be run individually.

Change-Id: I80976600034046cb42e8565bfd38f75811d7a08e
fa82427c68b09f4aedbee319dc71579afbfc66f5 06-Nov-2013 Ian Rogers <irogers@google.com> Fix oatdump and valgrind.

Bug: 11531382
Move allocation instrumentation out of runtime into instrumentation. Don't
attempt to suspend threads in unstarted runtimes.
Make indentation support sputc returning eof, on which it will sync and try
again. A further failure likely means the disk is full.
Move the dump-oat output directory to be art as now there's too much output to
fit all the dump-oat data in our standard /tmp.

Change-Id: I8ea848ace318552c180e2efa46570288ff1ca62c
7020278bce98a0735dc6abcbd33bdf1ed2634f1d 23-Oct-2013 Dave Allison <dallison@google.com> Support hardware divide instruction

Bug: 11299025

Uses sdiv for division and a combo of sdiv, mul and sub for modulus.
Only does this on processors that are capable of the sdiv instruction, as determined
by the build system.

Also provides a command line arg --instruction-set-features= to allow cross compilation.
Makefile adds the --instruction-set-features= arg to build-time dex2oat runs and defaults
it to something obtained from the target architecture.

Provides a GetInstructionSetFeatures() function on CompilerDriver that can be
queried for various features. The only feature supported right now is hasDivideInstruction().

Also adds a few more instructions to the ARM disassembler

b/11535253 is an addition to this CL to be done later.

Change-Id: Ia8aaf801fd94bc71e476902749cf20f74eba9f68
02ed4c04468ca5f5540c5b704ac3e2f30eb9e8f4 06-Sep-2013 Ian Rogers <irogers@google.com> Move disassembler out of runtime.

Bug: 9877500.
Change-Id: Ica6d9f5ecfd20c86e5230a2213827bd78cd29a29
a404db0a6d6f0f9da259d2d27bae9ee21ac05d38 28-Aug-2013 Brian Carlstrom <bdc@google.com> Add test-art-oat-<test> test-art-run-test-<test> variants

Lets you run a test across all configurations (host, target, interpretter, ...)

Change-Id: Ie1c6b5f0e3ae1ef44a710ebec07daf2bd0309413
fa50baa45bf7c82e489bd66bbba70544f7981997 02-Aug-2013 Brian Carlstrom <bdc@google.com> Restore build-art minimal build

Change-Id: I0f4f2e8c6d2505a339cb9a1175d30ed9b229c45d
dbaa93a4265e2fdbe729ec58f543a4042ccd2d8e 01-Aug-2013 Brian Carlstrom <bdc@google.com> Make test-art-host-run-test and test-art-host-oat run with and without interpreter.

Change-Id: I54e7162c839910fcf8b8a394aebff2d3c807ccfb
19e776ceb178397661b0323a9a982f6db249a56d 23-Jul-2013 Brian Carlstrom <bdc@google.com> Enable darwin target build for art.

Change-Id: I8fc04258360d663d2fcd07c307fdfdd2981cdd19
05eecea70b64095db2bc5f9f8aef7475964a9d7b 19-Jul-2013 Brian Carlstrom <bdc@google.com> Enable running cpplint.py on art C++ files when using mm and mmm

Change-Id: I945bfc37c1e95310ee52e171faeeafc224934215
fb6996fe2b1bb28526751650441d7ac29dcdb4e6 19-Jul-2013 Brian Carlstrom <bdc@google.com> Fixing cpplint runtime/arrays, runtime/int, runtime/virtual issues

Change-Id: Ia2ff94d2fb69465df26aaf83df82614a483b26e0
3e79aadc447dcdb9e52368baced9405667e68e6a 19-Jul-2013 Brian Carlstrom <bdc@google.com> Fixing cpplint readability/constructors issues

Change-Id: Idea2685007de2051f2be51a84d8956a142804402
4274889d48ef82369bf2c1ca70d84689b4f9e93a 19-Jul-2013 Brian Carlstrom <bdc@google.com> Fixing cpplint readability/check issues

Change-Id: Ia81db7238b4a13ff2e585aaac9d5e3e91df1e3e0
2d88862f0752a7a0e65145b088f49dabd49d4284 19-Jul-2013 Brian Carlstrom <bdc@google.com> Fixing cpplint readability/casting issues

Change-Id: I6821da0e23737995a9b884a04e9b63fac640cd05
751d4ed43e8118f145edf18db4d987daf7dabbae 19-Jul-2013 Brian Carlstrom <bdc@google.com> Fixing cpplint legal/copyright issues

Change-Id: I9547b53bccb0e67079c5e9c6b26889316739dc64
02c8cc6d1312a2b55533f02f6369dc7c94672f90 19-Jul-2013 Brian Carlstrom <bdc@google.com> Fixing cpplint whitespace/blank_line, whitespace/end_of_line, whitespace/labels, whitespace/semicolon issues

Change-Id: Ide4f8ea608338b3fed528de7582cfeb2011997b6
6f485c62b9cfce3ab71020c646ab9f48d9d29d6d 19-Jul-2013 Brian Carlstrom <bdc@google.com> Fix cpplint whitespace/indent issues

Change-Id: I7c1647f0c39e1e065ca5820f9b79998691ba40b1
9b7085a4e7c40e7fa01932ea1647a4a33ac1c585 19-Jul-2013 Brian Carlstrom <bdc@google.com> Fix cpplint readability/braces issues

Change-Id: I56b88956510077b0e13aad4caee8898313fab55b
38f85e4892f6504971bde994fec81fd61780ac30 18-Jul-2013 Brian Carlstrom <bdc@google.com> Fix cpplint whitespace/operators issues

Change-Id: I730bd87b476bfa36e93b42e816ef358006b69ba5
1895ea386ca78573302483f589ebabd8ce1480e7 18-Jul-2013 Brian Carlstrom <bdc@google.com> Fix cpplint readability/fn_size issues

Change-Id: I1efdb07a948a2af49db1a9d21ccab16dacc03a54
3e3d591f781b771de89f3b989830da2b6ac6fac8 18-Jul-2013 Brian Carlstrom <bdc@google.com> Fix cpplint build/namespaces issues

Change-Id: I19c68703270c1482d6c6aad8cdf97d3d2924360a
0cd7ec2dcd8d7ba30bf3ca420b40dac52849876c 18-Jul-2013 Brian Carlstrom <bdc@google.com> Fix cpplint whitespace/blank_line issues

Change-Id: Ice937e95e23dd622c17054551d4ae4cebd0ef8a2
f69863b3039fc621ff4250e262d2a024d5e79ec8 18-Jul-2013 Brian Carlstrom <bdc@google.com> Fix cpplint whitespace/newline issues

Change-Id: Ie2049d9f667339e41f36c4f5d09f0d10d8d2c762
b1eba213afaf7fa6445de863ddc9680ab99762ea 18-Jul-2013 Brian Carlstrom <bdc@google.com> Fix cpplint whitespace/comma issues

Change-Id: I456fc8d80371d6dfc07e6d109b7f478c25602b65
2ce745c06271d5223d57dbf08117b20d5b60694a 18-Jul-2013 Brian Carlstrom <bdc@google.com> Fix cpplint whitespace/braces issues

Change-Id: Ide80939faf8e8690d8842dde8133902ac725ed1a
fc0e3219edc9a5bf81b166e82fd5db2796eb6a0d 17-Jul-2013 Brian Carlstrom <bdc@google.com> Fix multiple inclusion guards to match new pathnames

Change-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43
7940e44f4517de5e2634a7e07d58d0fb26160513 12-Jul-2013 Brian Carlstrom <bdc@google.com> Create separate Android.mk for main build targets

The runtime, compiler, dex2oat, and oatdump now are in seperate trees
to prevent dependency creep. They can now be individually built
without rebuilding the rest of the art projects. dalvikvm and jdwpspy
were already this way. Builds in the art directory should behave as
before, building everything including tests.

Change-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81
cef450c613d8324db7c418130596182b8e9a5cdd 28-Jun-2013 Brian Carlstrom <bdc@google.com> add dalvik.system.VMRuntime.vmLibrary implementation for ART

Change-Id: Ibc1a5abb5a0ee49cb20e55dc2e169a224fcf9d8b
a7a60a8244dd6f6e70ff1d7babf261c7a8da873a 25-Jun-2013 Brian Carlstrom <bdc@google.com> add use-art, use-artd, use-dalvik phony targets

Change-Id: I0d2e583821b53c138acdcd491acf5699c0a7b3e4
999cd43edadfd408064457c2b46a9f3b6dde4dd3 23-Jun-2013 Brian Carlstrom <bdc@google.com> Fix oat-target to use new odex style extensions

Change-Id: I2add476d54c8c1d1f3dc42a9657171bbd5b72a6f
(cherry picked from commit ce3e27bae5914b6999e45361b476fce25cfd5c5e)
ce3e27bae5914b6999e45361b476fce25cfd5c5e 23-Jun-2013 Brian Carlstrom <bdc@google.com> Fix oat-target to use new odex style extensions

Change-Id: I2add476d54c8c1d1f3dc42a9657171bbd5b72a6f
30e2ea4a701d53f28431041af68dc0669e60c569 20-Jun-2013 Brian Carlstrom <bdc@google.com> Move art to use dalvik names for .oat files

Change-Id: Ia383c0a0847684a513cab7db44b4ecf8fe05e1c3
35bd61a3e107b3bd30550d268dd708b0381af04a 18-Jun-2013 Brian Carlstrom <bdc@google.com> Fix Mac build by making dalvikvm definition visible

Change-Id: Ic8ef59f7bf9a88785b1c5e7fcc11a0942ef096a0
7675e16bcae06c0fe258aad89b3d511037dec399 11-Jun-2013 Brian Carlstrom <bdc@google.com> Rename art-cache to dalvik-cache

Change-Id: I294995066aecc29fbd739c3e9e6f60934f743064
13aebfc95964147d680c323b3afe5c96f49f6f3a 22-May-2013 Brian Carlstrom <bdc@google.com> Disable darwin build of art

Change-Id: I763a104078325ff4b59714a05f1b4762baaf5611
62d6c772205b8859f0ebf7ad105402ec4c3e2e01 27-Feb-2013 Ian Rogers <irogers@google.com> Interpreter entries and instrumentation as a listener.

Make the instrumentation responsible for whether we want method entry/exit
stubs, and allow it to use interpreter entry stubs when instruction by
instruction instrumentation is required. Improve deoptimization so more JDWP
test cases are passing.

Refactor exception debug posting, in particular improve reporting in the
interpreter. Improve class linker exception throwing so that broken dex files
are more likely to be reported. Fixes the performance issue Bug: 8410519.

Fix some error reporting lock level errors for the large object space. Make
fast object verification faster.

Add some debug mode robustness to finding dex PCs in GC maps.

Add printf attributes to JniAbortF and fix errors.

Expand run-test 044 to test return behaviors and fix issues with not throwing
appropriate exceptions for proxies.

Ensure causes are reported with a class linker NoClassDefFoundError and JNI
NoSuchFieldError.

Remove unused debugMe and updateDebuggerFromCode.

There's a minor sizing tweak to the arg array builder, and an extra reference
array check in the interpreter.

Some clean-up of trace code.

Fix reg type cache destructor if it is called after the reg type cache is
shutdown (as is the case in oatdump).

Change-Id: I6519c7b35df77f978d011999354c864f4918e8ce
58805e4974fcc73c3a2830608679e051f9e5f78f 31-Mar-2013 Brian Carlstrom <bdc@google.com> Fix missing dependency for test-art-host-gtest-dex_method_iterator_test

Change-Id: Ic513bb62c4d18fd2a607241890e48ca2bd51e7d9
52e55cbc6d18694556176b58ef79b5ae52c8039c 22-Mar-2013 Brian Carlstrom <bdc@google.com> Remove gcc-based tsan support

Change-Id: I145331e295f69e99408e03cb59df26fb337510f5
90e2741aaa006c70b1ca20f97ead299c547c76f1 14-Mar-2013 Brian Carlstrom <bdc@google.com> Fix oat-target-* to create output directory

Change-Id: I43e76d4306a616926c2a10900c3e92589996e8fd
3f47c12487250f61f3be95e9f275e3b08e2c49fb 07-Mar-2013 Brian Carlstrom <bdc@google.com> Fix portable build on build server by removing depenency on ANDROID_HOST_OUT

Change-Id: I713a156468d14e07c784013c3c37a18c3c075a71
1d6848c6f8b723d2b19870f0bb032a327b7c3c41 07-Mar-2013 Brian Carlstrom <bdc@google.com> Update clean-oat to remove unstripped versions with symbols

Change-Id: I0c9871869110f71cfa29dfdd0b514956e3dbca65
265091e581c9f643b37e7966890911f09e223269 30-Jan-2013 Brian Carlstrom <bdc@google.com> Remove ExtractCodeAndPrelink and switch Portable to MCLinker

Change-Id: Ia2459c7da6b79e0a1c0f1148c6e28ad9cbbe27a2
00bc1dc4f81268d78d7dfeb298b85c56876425a9 02-Feb-2013 Brian Carlstrom <bdc@google.com> Remove separate libart-compiler-llvm

Change-Id: I82303c6db3361e2842ff9d882f43f7d0830584b1
cb91f1aaf22a786368f1e35d8879662c366574f2 01-Feb-2013 Brian Carlstrom <bdc@google.com> Improve ART_BUILD_ disabling

Warn when builds are disabled
Disable .oat generation as appropriate

Change-Id: Ifee2bba943d8aa29ef543c7f552f6c8673aa4268
85d9ba682533da0dcd3ed96dfe1057e6865e33bc 17-Jan-2013 Ian Rogers <irogers@google.com> Interpreter oat tests.

Add interpreter oat and run-tests as part of test-art-host.

Change-Id: Id44aab9f3f8a6cd88b4cdf853394c043e198f4eb
27cedf87e47b446d125c6f1713ea83f282f315b5 21-Nov-2012 Ian Rogers <irogers@google.com> Add test-art-host-interpreter-run-test build rule.

Runs all the run-tests on the host using the interpreter.

Change-Id: I0dd3a23b80122aac2373d629d7c809aca98ca82e
c531cefbfb5394413122e9f57d211ba436cff012 18-Oct-2012 buzbee <buzbee@google.com> Eliminate #ifdef ART_USE_QUICK_COMPILER

One of several steps towards having a single compiler build.
In this CL, we introduce a compiler_backend command-line option
to select between Quick, Quick w/ GBC, Portable and Iceland
back ends. The Iceland option is temporary, and will go away once
we combine with Portable. The Quick variants are with
and without GBC conversion. In time, those will converge to a
single option.

All uses of "#if defined(ART_USE_QUICK_COMPILER)" are eliminated. All
previous uses in the Quick compiler have been converted to runtime
tests. On the llvm side, ART_USE_QUICK_COMPILER was previously
used to differentiate between Portable and Iceland builds. Those
usages have been replaced with ART_USE_PORTABLE_COMPILER, and in
a following CL will also be converted to run-time tests.

As of this CL, we're still generating separate libraries for
Quick and Portable/Iceland. Next up is elminating the target-specific
libraries for Quick-arm, Quick-x86 and Quick-mips. Once that is
complete, we will consoldate Quick and Portable into a single build.

To build either Iceland or Portable, touch USE_PORTABLE_COMPILER or
USE_LLVM_COMPILER as usual. Otherwise, the build will default
to Quick (non-GBC).

Change-Id: Ic86c56f51710c9b06d4430b71a429ae12903cc47
2e92fd62b8b1e3a14be4642d4e77a022d863a94e 18-Oct-2012 Brian Carlstrom <bdc@google.com> Revert "Remove dump-oat-Calculator"

This reverts commit de4f7be05813c8a32ae0d0cf9c76edc8f6cff845.

Change-Id: Id5d8dd9070197422a4e24eff45c19a592963357e
de4f7be05813c8a32ae0d0cf9c76edc8f6cff845 18-Sep-2012 Ian Rogers <irogers@google.com> Remove dump-oat-Calculator

Change-Id: I07da279b537c8a29ce7ef61b76eec4d250bed05f
46b8a62388f6ac5209371515e48915c32e6d62b9 20-Jun-2012 Brian Carlstrom <bdc@google.com> Compare checksum in oat files adjacent to jar/apk to support oat in system image

Change-Id: I45554c9fa5c369a0f47830623b6dbe7f9c691a08
62e3ee3d5a8d3823f4537f48354159954ae6c5aa 18-Jun-2012 Brian Carlstrom <bdc@google.com> clean-oat should not build anything

also add sub-targets so we can avoid build errors when no target device is present

Change-Id: I954b2c712df0770cd697a26ae5eca4e506eabdad
105215d007639a6fc35b1ef9705ac138f51f35b2 14-Jun-2012 Brian Carlstrom <bdc@google.com> Improve run-test to use new directory for each run

This ensures we rerun dex2oat on each test run. We also now cleanup better on host and target.

Change-Id: I2b48c45d8a4bf7629aa6b538556fcf78fc22d0dc
2ab7f486ba73b2846bdbdde65cc2d41f62a26015 05-Jun-2012 Brian Carlstrom <bdc@google.com> Remove explicit dex2oat calls from run-test

Change-Id: If7222e834602bfc1232ac199ab81e7c09c058f43
60d25e456f195ff26e0464ce31f701426b7f24e1 03-Jun-2012 Logan Chien <loganchien@google.com> Fix cross compiling ISA flag for oat-target.

Change-Id: I28416784552ebbb437ec52c8b421b65f7f2e24f9
7eea0e8f0838598c67ef93df3149b8040dcb8f0f 29-May-2012 Shih-wei Liao <sliao@google.com> Fix oat-target-sync dependency: Use $$(OUT_OAT_FILE) instead of $.

Change-Id: Icf2c41aa648fc71f9a65a1efdaf2be2592d06ddc
e94d9b23c52ec0f36c8a132914eac33bc707faff 22-May-2012 Shih-wei Liao <sliao@google.com> Add dex_lang as common frontend to lir and LLVM. dex_lang + bc2lir =
Greenland

First commit of Greenland compiler: It's working in the sense of oat
tests. E.g., mm test-art-host-oat-Fibonacci. It shows the correct
bitcode before lir.

Change-Id: I91cbb02188325eb1fa605ed71ec7108fd2b0dbb9
2e01f2428d50cd3002266759a4de09d629059074 28-May-2012 Shih-wei Liao <sliao@google.com> oat-target-sync: Only build those apks that haven't been dex2oat'ed.

This also helps cope with slower compilation speed due to LLVM.

Change-Id: Ib0f2a8959ebcf6c64e5cbe47457432f143b3302c
08981abe9085d35f6b87f03ceefc78e81d915e60 26-May-2012 Brian Carlstrom <bdc@google.com> Add test-art-host-run-test to test-art-host

Also add test-art-run-test for completeness

Change-Id: I8d2466a19d2912c71258da374ab42980c6ea2e5b
84a5bb4556d8974d3aa1c436af36e48d622b4045 17-May-2012 Elliott Hughes <enh@google.com> Even better reflection IllegalArgumentException detail messages and less code.

Also ensure that the new 200-reflection-errors run-test test gets run
by the "test-art" make target.

Bug: 6504175
Change-Id: I5afee8845715151d25ed4751381b6ceb8cb4eca5
c72f1b102dc3044d575c382da7d45b13e89def06 16-May-2012 Brian Carlstrom <bdc@google.com> clean-oat should remove intermediate oat files

Change-Id: Id0b46c35aa5449b9803b2ba9031ca61ee95535ab
41005ddb5576b8630a1084fbb3979ffa602c0599 10-May-2012 jeffhao <jeffhao@google.com> Fix x86 type conversions. test-art-host-oat passes.

- test-art-host-oat enabled in test builds.

- Created inline versions of float-to-int and double-to-int.

- Fixed calls to helper functions for long-to-float/double and
float/double-to-long.

- Removed storePair and replaced its use with storeBaseDispWide (fixes
iput-wide and aput-wide with doubles).

- Renamed helper functions to have art_ prefix.

- Fixed move-exception to store the result back.

- Fixed floating point comparison when the destination reg is the same as
a source. The typing would get confused since the source is floating
point, but the result is int, and a clobber is needed to overwrite the
expected result type. A similar thing happens in float/double-to-int.

Change-Id: I0a876072254411aa42d6acadb8723be030727219
58e63f9e999605bce6e8dc301eaf5e2ee0981e03 24-Apr-2012 TDYa127 <tdy@google.com> Higher degree of parallel compilation on the LLVM side.

Change-Id: If69deaa7c787021a7b136719ce316fff803aa3b0
f1eedca3a34bce42bb25bb8432b5d5df12103d16 21-Apr-2012 Elliott Hughes <enh@google.com> Don't say .so when we might mean .dylib or .dll...

Change-Id: I53a4d39f7e88fa73cabd275929f03d3da071cda7
b0aa9d313b2cc36a0b6420266131631bee2da807 08-Apr-2012 Brian Carlstrom <bdc@google.com> Fix target gtest depenencies

The main ingredient was moving the include of Android.gest.mk earlier.
But then to keep host gtests dependencies working, their dependencies
were made to mirror how the target works, to hopefully avoid similar
issues in the future.

Change-Id: If7223b8a6f3a2fef449616494b14558e1752226d
4855cd516d97c9728fa58312acdf6c4b8b81397a 04-Apr-2012 Brian Carlstrom <bdc@google.com> Update run-test support for host

Change-Id: I716df88f1ab81f7afd689b9370be449729caf918
b25c3f6a86dc634ce44fb2849385b49465caa84d 27-Mar-2012 Elliott Hughes <enh@google.com> Fix cpplint's whitespace complaints.

Change-Id: I11fd2db2badf7bd98e7866ca2155d8ef1e112408
13c492bce0daf19cbea71670b9e1fe2df2e153e5 23-Mar-2012 Brian Carlstrom <bdc@google.com> Make oatdump work on the host by not defaulting --host-prefix if it is explictly set

Change-Id: I188dda58c86c374f50492461814204313a72605e
db279c0e4c37e5b58947f52964f5a275b591541f 20-Mar-2012 Brian Carlstrom <bdc@google.com> "adb remount" during clean-oat

Change-Id: Ia35c7391f9659041bac112186bbdafdcae094410
b2793375d42b5d90d9a0111581c4314abe11ca4c 18-Mar-2012 Brian Carlstrom <bdc@google.com> Add disabled test-art-host-oat

Change-Id: I33ca0f29301dcd26db46b6b7876090eaf2ddaa70
92ba3d9871d16d1cf4dbc841f14fe6e0900c6ff0 17-Mar-2012 Brian Carlstrom <bdc@google.com> Add dependency between host gtests and test dex file generation

This fixes test-art-host-gtest-jni_internal_test which was complaining
about the lack of art-test-dex-NonStaticLeafMethods.jar in a top level
build.

(cherry picked from commit 4178729e7735b1e02990f12b39f41217ce80ef58)

Change-Id: I1ebbd7bcb8a3d6c4ab8824d165ebc9d1e69cb633
4178729e7735b1e02990f12b39f41217ce80ef58 17-Mar-2012 Brian Carlstrom <bdc@google.com> Add dependency between host gtests and test dex file generation

This fixes test-art-host-gtest-jni_internal_test which was complaining
about the lack of art-test-dex-NonStaticLeafMethods.jar in a top level
build.

Change-Id: Ibadb0b9f7cb71cc2eec206fbbe956f9222f31c56
f8bbb8448c733e9e3ad43aad69774c37888329b1 14-Mar-2012 Brian Carlstrom <bdc@google.com> Add code size to oat files

Change-Id: Ic2519551864dd7090ba98f2fc92318f95f92947f
c4c9881e5d22432f3f1a30eeec5aa109dfc08a7d 11-Mar-2012 Shih-wei Liao <sliao@google.com> Fix the LLVM build. Separate out libart-compiler-llvm.so.

After this refactoring:
If (!USE_LLVM_COMPILER), I pass the test-art and boot the phone alright.
The behavior is the same for non-LLVM builds as before. Multi-target
art-compiler shared libraries are generated as before.
If (USE_LLVM_COMPILER), I generate libart-compiler-llvm.so successfully.

Note that the ideal refactoring for the next step will be to always build
art-compiler and LLVM-[arm|mips|x86] shared libraries. Currently, we
haven't removed all the ifdefs for libart.so yet, so this is not ideal yet.
Reason for not-done-yet is that the next step requires discussions.
I can remove all the ifdefs today, but then the (!USE_LLVM_COMPILER)
build will incur extra fields and overhead.

This refactoring allows us to restore the LLVM build situation to be before
the breakage yesterday, so we can continue making forward progress again.

One difficulty in the refactoring is that LLVM is not a method compiler
in default, unlike (!USE_LLVM_COMPILER). LLVM actually compiles an LLVM module
at a time normally. So we need to do more call backs and tell
libart-compiler-llvm.so in each invocation where we are in terms of
OatCompilationUnit.

Another difficulty is that currently our LLVM compiler is not
multithreaded and requires locking, unlike (!USE_LLVM_COMPILER). So more
callbacks are needed. This will be fixed when we fix the multithreading
issue.

Change-Id: I93bce21b6d673254188f2a60b1a7f91b508e497f
1580379bb02ee7866ca94d54851a4d08de12a5a4 13-Mar-2012 Brian Carlstrom <bdc@google.com> Fix dependencies from host gtests to core-hostdex.jar, etc.

Change-Id: I40933ad665e2701a756d9fcaf1fe8e19532ac545
b3bd5f07884f5a1f2b84224363b1372d7c28d447 09-Mar-2012 Elliott Hughes <enh@google.com> Refactor the compilers out of libart.

This builds three separate compilers and dynamically links with the right one
at runtime.

Change-Id: I59d22b9884f41de733c09f97e29ee290236d5f4b
37c44442a0f1b3ae5f95e40d455022bcafb566e4 07-Mar-2012 Brian Carlstrom <bdc@google.com> Expand test-art to cover rest of run-test

Change-Id: I30b0b97d81154b4beb2a8281e9609c0b53c8b4da
fe487d0c789b94e75c93a2b799f1955c3e4edb10 01-Mar-2012 Brian Carlstrom <bdc@google.com> Fix dump-oat-Calculator

also add --host-prefix defaulting to oatdump matching oatexec

Change-Id: I0e82f78510be18dcb09dbb1ec14931fe46173a68
bf2cb16f442fc48acd296d3d321590fb58173f36 28-Feb-2012 Brian Carlstrom <bdc@google.com> Fix oat-target-sync generated oat files to have leading /

Change-Id: I62321b05106c08e9e8cc15d2cadf8abee91ce568
04941d992eca73f23ba268a0f422d501502cd6cf 19-Feb-2012 Brian Carlstrom <bdc@google.com> Always run dex2oat (2 of 3)

Change-Id: I2714508cbd655adfd9c6d46b40eedabc9d83dff6
cbfe6fea382328cd5a0a9906b61da5ed4ae3eaab 17-Feb-2012 Brian Carlstrom <bdc@google.com> Fix automatic dex2oat when boot files are in /data

Also fix oat-target-sync

Change-Id: I003f48c830fb646194ae4f9ab518c7822b705b9e
a004aa933a58428489e42d77f707c2b063b73747 09-Feb-2012 Brian Carlstrom <bdc@google.com> user build support for art (2 of 3)

Change-Id: I4696fee58e43db48540e2442c4235fc4bb02d9e3
bd411021057416e56a1544b98831b92faf66a1a1 07-Feb-2012 Brian Carlstrom <bdc@google.com> trygon support

Change-Id: I27ff7e26b583614f2577aed79dcd629ad4595e63
c8b917bf534435c3fff31c27158757f9e8edb6c6 01-Feb-2012 Ian Rogers <irogers@google.com> Remove apks from oat-target-sync that aren't built in mysid-userdebug

Change-Id: Icd79e3d4b3a6497c15bf10f97aefcdaeb419bed7
beb60e28572288772c219a0bd62457d7d9bbd1f5 31-Jan-2012 Ian Rogers <irogers@google.com> full_stingray oat-target-sync support

Tested on a stingray, just 8 package/dex2oat differences compared to
stingray.

Change-Id: Iedb53e36ded4cbcb5079fb8d6d859dcecf73e186
32b4b2a30636360756058524f8491ee4cd81c423 01-Feb-2012 Brian Carlstrom <bdc@google.com> Test changes to support tradefed

- move jar files for gtest support to /data/nativetest/art
- tag jar files in /data/art-test as "tests"

Change-Id: I43fe38bee4a47096754ee41c3207a93a3d3ad830
1f72dce6fffdcb0695d8a8bee67fc0340643fe1f 31-Jan-2012 Ian Rogers <irogers@google.com> Support stingray in oat-target-sync

Change-Id: Ic2ab89350acba49f8f2816aa22a114da2ee2f541
b9cc1ca34adec5e9254f78e9ee40d57348aa2fd0 27-Jan-2012 Brian Carlstrom <bdc@google.com> Remove need for libarttest.so for gtests for tradefed

Change-Id: I18b39b9fc6f0bfa163ef7e7063864696d6958ad0
fc0842b8200e719b49ccedf9035d569d75676ee7 26-Jan-2012 Brian Carlstrom <bdc@google.com> Fix divide by zero in compiler stats

Also remove ext.jar from compilation since its part of the bootclasspath

Change-Id: I208746479d44664c8c868952d477a312fea6547a
6cc332ef80edf56221676e33ea16bb4022130344 21-Jan-2012 Elliott Hughes <enh@google.com> Mac runtime fixes.

This is enough to let us run test-art-host on the Mac. The tests
that don't start a runtime (and thus don't try to dlopen(3)
libjavacore.dylib) succeed. The others fail, but I'm not sure how
the Linux tests find libjavacore.so, so I'm not sure how to fix
things for Mac OS.

Change-Id: Idf489fc09f0a8f64fbb60dfcdbca9c3df2d4fdcb
f9fb88f71e6f8e4dcdc84ff921fe89b6ea3dfa99 20-Jan-2012 Brian Carlstrom <bdc@google.com> Add runtime dependencies to libjavacore.so

Change-Id: Ib8da1536b36ba0794b0642ff149a59d1bf9153a5
4d6850c47515fe2a4f9de923befb6287bb863c8c 19-Jan-2012 Elliott Hughes <enh@google.com> Fix the handful of leaks detectable in our tests.

Change-Id: I74ad1a3831fbebad60ff24f0b3ac07cade823b7a
a6cc893c4b142cd410fc956963b6f5a014e983ad 04-Jan-2012 Brian Carlstrom <bdc@google.com> Add installd support to dex2oat

Change-Id: Id1a64403ccea7dc2c1e8b8340d33d383d4045a33
c74a6971fb9a65dbee337d51e7981a37be208a00 23-Dec-2011 Shih-wei Liao <sliao@google.com> Add sojus target.

Change-Id: I69ab14004353936206d81fe7b49297b3e0b7582a
8ce8647adae0bcea84ae67d1c791f29a69639d94 15-Dec-2011 Brian Carlstrom <bdc@google.com> Enable art build for non-linux hosts

Change-Id: Ie4ac3241a3239aee77fe9532331eb3f16db8dd26
29e7ac74a3f9aec192099fec381baadaa55730ad 06-Dec-2011 Brian Carlstrom <bdc@google.com> Moving from libdvm to libart (1 of 5)

Change-Id: I6541802c5f403a4ba4424818084b94bebe71dfca
42298fab70318f39e53c0595e9fc570548dc253c 14-Dec-2011 Elliott Hughes <enh@google.com> Fix build.

Our continuous build uses a different TARGET_PRODUCT, and we want it to build
anyway, even if the result won't actually be useful.

This will be addressed later by moving this stuff out so every .apk gets this
done as it's built.

Change-Id: Iefa15615a5bcdd23e7eed99fb87bca86429fc109
0dc36d74f1f743d6f8d61e9aa5b2f1d48c980e0f 14-Dec-2011 Elliott Hughes <enh@google.com> Support building for mysid too.

Change-Id: Ia52b318b54878e775d433ac151c7d67aa4824abf
55124a5a4026a364a8ccc8152ec2d73b2ccf415e 09-Dec-2011 Elliott Hughes <enh@google.com> Clean .art files as well as .oat files.

The failure if you have a stale boot.art lying around and don't specify
-Ximage is deeply impenetrable.

Change-Id: I32ae1efccdcc5ab298384ecb764e64657679a37b
ae826983f7903bc0a6bbbe8426bf393fb2f6d747 09-Nov-2011 Brian Carlstrom <bdc@google.com> Add --image-classes to dex2oat

Change-Id: Ia88f9d302e0f9cd72be2199ee46d212d99864c67
41df06566cdf8b4b01af8225a2c61509aaef57df 10-Nov-2011 Brian Carlstrom <bdc@google.com> Update APK list post-merge

Change-Id: I185fd54c700d05942888fa99843d174b39acae30
d02399284a2d97e334cad325c38ab56d44305581 09-Nov-2011 Brian Carlstrom <bdc@google.com> Replace persist.sys.strictmode.disabled with persist.sys.strictmode.disable

Change-Id: Ibdb6af410b5b0b1b74480181f84c9d3db0f2c6a0
f8a199cb0c53b7a6f0def21ec5b462992d93746b 04-Nov-2011 Ian Rogers <irogers@google.com> Host precompilation of apks to speed boot.

Change-Id: Iad0fb1243e5736b3fb17e004395a1183d67e4ff3
352a4244b62ad4a24eec6228dc4dd9983dfbf78e 31-Oct-2011 Elliott Hughes <enh@google.com> Make it easier to run an optimized build, turn the GC timings back on, and remove some unnecessary code.

The Class* field is a regular instance field now, so no need to scan it twice.
We do our null checking in ScanObject, so we don't need to duplicate the checks
in each child.

Also count the number of class, array, and other objects we scan.

Change-Id: I9034708d5e0e1edffaccf3cad4785c5fccf3b38e
fab62933853bf86275e683246f427cfe77205de3 28-Oct-2011 Brian Carlstrom <bdc@google.com> Add zygote-art and zygote-art-target-sync (non debug build targets)

Change-Id: I13b9c57a1f87f5725a7afac7bcc1dce81d86ddad
6ba581a6711c4fed24828c9a294b1b49ac6bbb30 25-Oct-2011 Elliott Hughes <enh@google.com> Implement ThreadContinuing and detach the JDWP thread before it exits.

This fixes Calculator.

Change-Id: Ic38e234a91469e9694e21bbf1507912b542bf908
7c6deaa3382f1f4fb0f591af206f03045c6e9004 21-Oct-2011 Brian Carlstrom <bdc@google.com> Add ThreadStress test to try and exercise corner cases

Change-Id: I8d151e9ba935b8c76406483c6c276cc26896aabf
362f9bc807169bcfc8761dde067bbfb79b5ad0fd 18-Oct-2011 Elliott Hughes <enh@google.com> Fix cpplint's whitespace warnings.

Change-Id: I16b69d773e59b49e8e30227b5aa5cb1959a8930f
24a3c2e9924e8765c4a9b4d383cb8f3b922f9c9f 18-Oct-2011 Brian Carlstrom <bdc@google.com> ClassLinker changes

- Add ClassLinker::LockOwner for SignalCatcher
- ClassLinker::ResolveMethod now sets CodeAndDirectMethod when code is available

Change-Id: I404b80d1994808e018d00e0b30e8ba4f9d08fecc
a51a3dd5603daf3d368b7735067e1d9eb54c4c40 18-Oct-2011 Elliott Hughes <enh@google.com> Add missing 'explicit's on single-argument constructors.

Change-Id: I1494df6e74ec16238971fb4346ba184eb61c37ab
31edec5b9e506cb702818c074ffef4edcc142105 17-Oct-2011 Brian Carlstrom <bdc@google.com> Disable StrictMode when booting with art

Change-Id: I2a19136ec960399f2d492d010e74f4d05817af86
5de8fe5253ca8bd285cba0eb2e56930573ea4c7f 16-Oct-2011 Brian Carlstrom <bdc@google.com> Add internal compiler option to control defaulting of boot.art

Change-Id: I92a46cbd25cfc51c5c5d16fd8ae24c50195bf1d4
b7bbba49d88eae58223d9878da4069bf6d7140bf 13-Oct-2011 Brian Carlstrom <bdc@google.com> Add oatopt drop in replacement for dexopt

Change-Id: I094375230af2d9a88e30245b390cac71be7b50f4
03a20ba67cfdc46f5ad8d77242a666a4cb0512f2 13-Oct-2011 Brian Carlstrom <bdc@google.com> Implement DexFile_getClassNameList

Change-Id: I9b48628e338a5346bc3ac21f3469e4e3d224a956
a9f19787df870456f5ae654bc9967d319d1bffe0 13-Oct-2011 Brian Carlstrom <bdc@google.com> Add support for oat files in /data/art-cache

Also implement Zygote_nativeForkAndSpecialize

Change-Id: I7dfb257b2897279a4cdac4b1ca194c1ac84eb047
47a0d5a6f221066c3daf7f67f2122ed9c9cd217c 13-Oct-2011 Brian Carlstrom <bdc@google.com> Move art content to /data

oat tests, gtests, and run-test content to /data/art-test
boot.oat and boot.art to /data/art-cache

Change-Id: I68f9f6798bc4ea0596642ff5624f3e77dec6ccbe
0796af03edc06d92bb8d631f1c0c23befdae2315 12-Oct-2011 Brian Carlstrom <bdc@google.com> Fix Object::IsSoftReference

Also changed -Xzygote to default boot.art and log arguments

Finally Makefile work:
- separate out test dependencies
- changed zygote with art to work by replacing libdvm with libart[d]
- changed Makefile defines to name and error check their arguments
This was to fix bug in generating ART_TARGET_EXECUTABLES
where we used $(1) when we meant $(3)

Change-Id: I7ef6008eff1fe99b59d151b6793e8fd8ea5304d4
648e5e9160fbd3ece4c4ab58370e9cf22e0d76b7 12-Oct-2011 Brian Carlstrom <bdc@google.com> Disable zygote preloading

Change-Id: I2b0cfdb8f0a66c1bac92f4c67a4be06fa78b6d74
76aa0c0134a3e5754a877d42f2273858e1672cf3 12-Oct-2011 Brian Carlstrom <bdc@google.com> Add targets for switching zygote runtime

"mm zygote-oat-process" will switch to art.
"mm zygote-app-process" will switch back to dalvik.

Change-Id: I32a6b5700f08a863a22db2b29876f31f4ab8d364
df143242f4beaad4cc9fbabebfc033b68c40964e 11-Oct-2011 Brian Carlstrom <bdc@google.com> Setup Thread's context ClassLoader and add image DexFiles to ClassLinker's boot classpath

Change-Id: I84337c69ff743c58be9e7125d17fcccb514614ef
aded5f7ab991f3c1132851599d3bc60ff6707eed 08-Oct-2011 Brian Carlstrom <bdc@google.com> Working ClassLoader

Change-Id: Ia1122165e47f846a1d4506111849f830d9f14c1b
4377a7e93b47386de1e0c2e472a6e3e99d235331 04-Oct-2011 Brian Carlstrom <bdc@google.com> Update oat_process for recent command line argument changes

Change-Id: I5d6547905947b301eff0a02c48cba2d9f873d49e
58ae9416e197ae68ed12ed43d87407d4dfb15093 04-Oct-2011 Brian Carlstrom <bdc@google.com> Simplify command line arguments

Change-Id: I9d6902b0c447fd8fbe5600fd36139791b2ceefb7
e24fa61603a60ade3797e4a0c8b3fccb346cb048 29-Sep-2011 Brian Carlstrom <bdc@google.com> Separate oat from image

Change-Id: If2abdb99826ead14e3465d90ba2acffd89709389
dddab0c244e639d30276b6a66ec90f8648c81e78 27-Sep-2011 Brian Carlstrom <bdc@google.com> Kill oat_process before rerunning

Change-Id: Ibc73c2435bd3e7925eaac535759f4adf1d06901d
5d40f182181488eb39ccd19ffd306bb1fb9740c9 27-Sep-2011 Brian Carlstrom <bdc@google.com> Fixes for "null instanceof" and class initialization

First issue was that the codegen seemed to expect r0 to contain 0 for
a false result in the null object case. This is a quick fix to make
that true. Given that the code is doing the work of a null check and
pulling out the object's class, the code should probably just pass the
class to the helper function, making this a case of IsAssignableFrom,
not instanceof.

Second issues were related to missing EnsureInitialized calls in two
different code paths, one coming from reflection, one coming from
managed code. New Class::AllocObject assert should help keep us out of
trouble in the future in this area, although perhaps Heap::AllocObject
should have a check as well.

Change-Id: Ib7975b6457481c1ac85135d38f42c6061e6443a0
e10b6974d54f38001aee7bec518d45a7d4fb64c1 26-Sep-2011 Brian Carlstrom <bdc@google.com> Fix bug in HasSameMethodDescriptorClass on return types

Also included:
- Make oatdump tolerant of missing code
- Include class status in oatdump output
- Additional oat_process support for testing

Change-Id: Id1b8d5662ca061f2dc22b2b087b5a5945e54b91c
395520eaa47eca25b92e86188accf3095d60af49 26-Sep-2011 Brian Carlstrom <bdc@google.com> Assorted fixes for running frameworks apps

- Adding Heap::target_utililization_
- Convert ClassNotFoundError to ClassNotFoundException in Class.forName
- Finish String::GetHashCode
- Changed Runtime.gc to unimplemented
- Disable preload simulation in oat_process
- Empty native placeholder for org.apache.harmony.dalvik.ddmc.DdmServer
- Bonus: Fix problem with reflective invocation of constructors and private methods

Change-Id: If11b273e2f82e8e0fa7161a756098514e1156a19
65ca077378935beb113bb5aec5e890054ca3286e 25-Sep-2011 Brian Carlstrom <bdc@google.com> Tolerant compilation of classes with missing super classes

Change-Id: If64f25ae36204ab2ea5499f27601696dea9d4016
bc2f3e3e41d02eb2896dc16390c5c4023a7b5649 23-Sep-2011 Brian Carlstrom <bdc@google.com> Add support for oat_process for use as a wrap.* launcher

Add test support for running Calculator

Change-Id: I7ec0681febe6f6c836452e8afb4c12a2ebfa0ea8
27ec961a1da540ba7f16c07a682585ab167317ad 20-Sep-2011 Brian Carlstrom <bdc@google.com> Adding oat_process

- Added oat_process, a version of app_process use to launch frameworks apps
- Added liboat_runtime, a version of libandroid_runtime that uses art instead of dvm
This is just a special makefile, frameworks/base/core/jni code is used for source
- Added support for build a boot.oat with the full BOOTCLASSPATH
The older smaller boat.oat is now core.oat
- Added mem_map code for making sure a requested memory region is available
Moved mem_map code to cc file to make easier to debug with smaller rebuild
- Moved oat base address to 0x6000000 as a work around to host addres conflict
- Added -Xms and -Xmx options to dex2oat to allow build specific memory options
- Fixed miranda method initialization problem found compiling full bootclasspath
- Made compiler.cc tolerant of verification errors found compiling full bootclasspath
- Bumped arena block alloc warning to avoid noise when compiling full bootclasspath
- Marked implicit GC unimplemented to fail fast
- Added --output argument to oatdump
- Made many object asserts tolerate access in IsErroneous state
now that verifier is failing validation of some classes during compilation
- Made runtime tolerate unknown access as short term solution for oat_process
- Workaround SSA issue to restore full bootclasspath compilation
- Added test-art-target-processs to excercise oat_process with "am"
"am" found bug where class_linker was using Method::GetClass and not ::GetDeclaringClass

Change-Id: I1a645a142b163e06bab9e72eb094ae1f1dbfbd97
bbf1e41e8d9b2446756e729f30c2501fb3e682c1 18-Sep-2011 Brian Carlstrom <bdc@google.com> Move main method tests from gtests to oat tests

Change-Id: Ifffa4d083488114d6cc14d578ec2be7db8a7553f
c228252eb1bf859c6b976b9493269ea31b3c14c9 17-Sep-2011 Brian Carlstrom <bdc@google.com> Fix order CheckCastFromCode and enable Fibonacci test

Change-Id: I6dc589df3a328777678ac407110810cec9bf5480
f867b6f706818c886087f61b89d1e8f5fc4653cf 16-Sep-2011 Brian Carlstrom <bdc@google.com> Filling in some Class, Method, and Field native code needed during startup and I/O

Change-Id: Ia2f2a0ec295d1bd848e6f65254bd9fec2fde56f6
78128a63b2615744760b7f8ab83df9764a5d4a95 16-Sep-2011 Brian Carlstrom <bdc@google.com> oatdump

FROM MAKE:
mm dump-boot-oat

ON HOST:
oatdump --dex-file=$ANDROID_PRODUCT_OUT/system/framework/core.jar --image=$ANDROID_PRODUCT_OUT/system/framework/boot.oat --strip-prefix=$ANDROID_PRODUCT_OUT
oatdump --boot-dex-file=$ANDROID_PRODUCT_OUT/system/framework/core.jar --boot=$ANDROID_PRODUCT_OUT/system/framework/boot.oat --dex-file=$ANDROID_PRODUCT_OUT/system/framework/art-test-dex-HelloWorld.jar --image=$ANDROID_PRODUCT_OUT//system/framework/art-test-dex-HelloWorld.oat --strip-prefix=$ANDROID_PRODUCT_OUT

ON TARGET:
adb shell oatdump --dex-file=/system/framework/core.jar --image=/system/framework/boot.oat
adb shell oatdumpd --boot-dex-file=/system/framework/core.jar --boot=/system/framework/boot.oat --dex-file=/system/framework/art-test-dex-HelloWorld.jar --image=/system/framework/art-test-dex-HelloWorld.oat

Change-Id: Iad2ae40a9cf2dc28799ff5dc5222d50f1bc6b39f
8692721dd8a3679ca874c3d1be0cecb62ff148f6 15-Sep-2011 Brian Carlstrom <bdc@google.com> Fix ClassLinker::LinkInterfaceMethods bug

Also:
- Expanded class_linker_test with additional vtable and iftable coverage
- Added -fkeep-inline-functions where it works on host for debugging
- Added disabled test for running command line Fibonacci with oatexec

Change-Id: Ie295551e42493c7cca05684e71e56bf55bd362a4
161928613d3f097108319de60494fab1aab8d48a 13-Sep-2011 Brian Carlstrom <bdc@google.com> Add oat file generation and tests to build

- Currently builds boot.oat for host and target
and target oat files for art tests.
- Added cross compilation support via --strip-prefix option to dex2oat
- Reduced output to prevent build log spam (Compiler::verbose_)
- Added image roots for recovering important pointers on image load
- Redid JNI stub creation and made the stub array an image root
- Fixed JNI stub test by making JNI stub array executable
- Fixed JNI UnregisterNative to having it reinstall the JNI stub
- Fixed ARM JNI stub to generate PIC code (with irogers)
- Fixed JniCompiler to generate PIC code (with irogers)
- Fixed FindNativeMethod to handle recursive calls
- Finished checkFieldType to use Object::InstanceOf
- Fixed thread unsafe access to ClassLinker::{dex_files_,dex_caches_}
- Added ResolvedMethod variant for use with Method* for context
- Fixed ImageWriter to call FixupMethod
- Fixed ImageWriter to rewrite JNI stub references
- Improved error reporting on lack of ANDROID_DATA dir or art-cache dir
- Fixed Runtime::Start to InitLibraries before creating thread peer
- Implemented Space::IsCondemned to skip spaces loaded from images
- Implemented artFindInterfaceMethodInCache,
allowing interface invocation from managed code

Change-Id: I603e97fa0ac44508ae05a2e47c1cdb4481678d7b
56778d8117d268867c054097bfda51f78a473c42 11-Sep-2011 Brian Carlstrom <bdc@google.com> Only do host build on linux

Change-Id: Ica0433cdffe80348303d9dcd7d71dba28fc12236
4b620ffb1b4d0c96a94bb3afe314f35d53990ec6 11-Sep-2011 Brian Carlstrom <bdc@google.com> Finish moving state to managed heap

Change-Id: I8a3b0e353b30268a05d6ed8ea0a6a4bead100660
69b15fb098162f19a4c20e6dccdcead04d9c77f0 03-Sep-2011 Brian Carlstrom <bdc@google.com> Working dex2oat and oatexec

adb shell dex2oatd --dex-file=/system/framework/core.jar --image=/system/framework/boot.oat --base=0x50000000 "'--method=Ljava/lang/System;logI(Ljava/lang/String;)V'" "'--method=Ljava/lang/System;log(CLjava/lang/String;Ljava/lang/Throwable;)V'"
adb shell dex2oatd --boot-dex-file=/system/framework/core.jar --boot=/system/framework/boot.oat --dex-file=/system/framework/art-test-dex-HelloWorld.jar --image=/system/framework/art-test-dex-HelloWorld.oat
adb shell oatexecd -Xbootclasspath:/system/framework/core.jar -Xbootimage:/system/framework/boot.oat -classpath /system/framework/art-test-dex-HelloWorld.jar -Ximage:/system/framework/art-test-dex-HelloWorld.oat HelloWorld

09-05 17:58:18.912 2385 2385 I System : Hello, world!

Change-Id: I53e534068584f0c3a837313e4d517a0e4a7154fc
9f30b38d74990286ce27c3a45368f73dbe3638f0 29-Aug-2011 Brian Carlstrom <bdc@google.com> Externalize test code

Change-Id: Iab19397c7a72fb9a3ca63bfd0bc4eaf1a98138ba
b465ab0e103d7760df903c1fddf4fa6b89d5d1f5 24-Aug-2011 Elliott Hughes <enh@google.com> Implement the direct ByteBuffer JNI functions, GetObjectRefType, and the string region functions.

Also run tests in a consistent (alphabetical) order.

Change-Id: I1bb4f3389e749ec031254d23da349be0397c260d
47940d644a15074c3ab8725de98bde9f57f16d68 14-Aug-2011 Carl Shapiro <cshapiro@google.com> Make formatting more consistent.

Change-Id: I81a2dfd0817ccaa3c2b1fdb3876ee71635edaf87
2cae5a22e73c540c5e4c5f37b31b545674eb4d2b 14-Aug-2011 Elliott Hughes <enh@google.com> Add a tsan target.

Change-Id: I20fc9a31edb5ddd64da88eb5c8704cc26d37a29e
5511f2161d71ac67a9bc140cbbca5d9637ab7499 13-Aug-2011 Elliott Hughes <enh@google.com> Add a valgrind-art-host target to run the tests under valgrind.

Change-Id: I15b909891492776ff24e62423deadeaa72c38b18
b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995 29-Jul-2011 Brian Carlstrom <bdc@google.com> Add support for opening classes.dex file from zip, jar, apk

Adding new ZipArchive class and test

src/zip_archive.h
src/zip_archive.cc
src/zip_archive_test.cc
build/Android.common.mk

Change from host only use of build dex file for libcore to using host
and target core.jar containing classes.dex files. This requires
setting up an ANDROID_DATA directory to containing an art-cache file
for the extracted dex files, similar to the dalvik-cache for odex
files. A unique ANDROID_DATA and art-cache is created and cleaned up
for each test run (similar to vogar).

src/common_test.h

Add dependency for libcore jar files to test targets to support
RuntimeTest use of core.jar

Android.mk

Extract common includes to ART_C_INCLUDES when adding zlib dependency

build/Android.common.mk
build/Android.libart.mk
build/Android.test.mk

Adding TODO regarding unordered map for ClassLinker::classes_ table.

src/class_linker.h

Adding DexFile::OpenZip (also changed OpenFile to take
src/dex_file.cc
src/dex_file.h

Adding kPageSize of 4096, validated by Runtime::Init

src/globals.h
src/runtime.cc

Updated to use kPageSize where it seemed appropriate.

src/jni_compiler.cc
src/jni_compiler_test.cc
src/space.cc
src/thread.cc
src/thread_x86.cc

Changed thread_list_ and class_linker_ to be declared in Runtime::Init
initialization order.

src/runtime.h

Change-Id: Id626abe5b6c1990e4f93598256ee0fae000818f6
8ecd08cde96e2463123a54eaec9429149f53ed2f 28-Jul-2011 Brian Carlstrom <bdc@google.com> Switch tests and aexecd to use libartd

Change-Id: I7b6b63f4e7b92da906b3104adfa7661c5912c295
07d579faa0abc835e8db970ff48b6f79cdc67f8f 27-Jul-2011 Brian Carlstrom <bdc@google.com> Add NDEBUG build

Change-Id: I81032fb43d6b4919bd264a644062dc31ae564427
4a96b60e45fba4a9d4a2e9c8fc849660eacef684 27-Jul-2011 Brian Carlstrom <bdc@google.com> ClassLinker can now FindClass all libcore classes

Summary:
- added ClassLinkerTest/LibCore test of finding all libcore classes
- fixed bug in LinkInterfaceMethods appending mirant methods to vtable_
- fixed bug in LinkVirtualMethods allocating subclass vtable_
- fixed mmap bug in MarkStack::Init
- bumped default (and max) heap sizes to handle ClassLinkerTest/LibCore
- made ObjectArray a templated class
- heap allocate Class::vtable_
- "mm test-art" and "mm test-art-target" added
- new is_host_ for use by tests

Details:

Added support for "mm test-art" and "mm test-art-target" in addition to test-art-host
Android.mk

Made ObjectArray a template class for clearer declarations and to
remove need the need for down_cast.

src/object.h
src/object_test.cc
src/class_linker.cc
src/class_linker.h
src/dex_cache.cc
src/dex_cache.h
src/dex_cache_test.cc
src/mark_sweep.cc

Made Class::vtable_ a heap allocated ObjectArray<Method>

src/class_linker.cc

Fix bug in ClassLinker::LinkInterfaceMethods where we were not
extending the vtable_ before appending miranda methods.

src/class_linker.cc

Changed all uses of DexFile* in ClassLinker to be const

src/class_linker.cc
src/class_linker.h

Fix bug in ClassLinker::LinkVirtualMethods where we were using
NumVirtualMethods vs vtable->GetLength when determining new max
vtable_ length.

src/class_linker.cc

New ClassLinkerTest/LibCore that enumerates the libcore dex file
and tries to FindClass every descriptor found.

src/class_linker_test.cc

Added if_host_ check for host only tests. In the future will use
for picking proper location of files, etc. on host vs target.

src/common_test.h

Fixed test to use ClassLinker::AllocDexCache

src/dex_cache_test.cc

Fixed fooIds comments to foo_ids_

src/dex_file.h

Bumped default heap size (and max as well) to make ClassLinkerTest/LibCore run

src/heap.h

Fixed bug where we were not using MAP_ANONYMOUS for MarkStack
allocation found running ClassLinkerTest/LibCore.

src/mark_stack.cc

Change-Id: I204e2ec7205210e2b60f5b81d126ab6e1da5a71c
59848dad0b711856fc1bfb81748bbe944b045640 24-Jul-2011 Brian Carlstrom <bdc@google.com> Import cpplint.py and make target cpplint-art

Imported without change from http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py
Will start making local changes to cpplint.py in followup changes.

Change-Id: I0fda185f4a9f96815739db8f862cf8537402bf3b
6547ace95d86e0f1aec8a0abc76fe87838a81815 23-Jul-2011 Carl Shapiro <cshapiro@google.com> Ignore the .arm hint in the top-level targets as well.

Change-Id: Idfd62d23bdaf63869999a5086eb636d3b51700f7
cdc8de4642ca447a7ed205f0d2203cb217e48aad 19-Jul-2011 Brian Carlstrom <bdc@google.com> Move base64 to test code

Change-Id: I0cda5d8a559a2d60250c1d8a8ee6f69509515214
934486cf07c578b6494417ca5dcbae89cf04b019 13-Jul-2011 Brian Carlstrom <bdc@google.com> Make ClassLinker set Class::super_class_ plus test and build improvements

Create placeholder ClassLinker::java_lang_Object_ for use a
super-class of java_lang_Class_ instances.

src/class_linker.cc
src/class_linker.h

Expand ClassLinker FindClass test to verify Class::GetSuperClass

src/class_linker_test.cc

Move DexFile::Load* methods to ClassLinker so they can reference
java_lang_Object_ and java_lang_Class_

src/class_linker.cc
src/class_linker.h
src/dex_file.cc
src/dex_file.h

Move corresponding Load tests from class_linker_test to dex_file_test

src/class_linker_test.cc
src/dex_file_test.cc

Tracking change to object_test to use ClassLinker::Load* methods

src/object_test.cc

Move base64 to new src/common_test.h for reuse accross tests. Add
missing example source for MyClass dex.

src/common_test.h
src/class_linker_test.cc
src/dex_file_test.cc
src/object_test.cc

Change Heap::AllocClass to take DexFile argument

src/heap.h

Remove Method::dex_file_ in favor of using Method::GetClass::GetDexFile

src/object.cc
src/object.h

Made a few more RawDexFile methods const

src/raw_dex_file.cc
src/raw_dex_file.h

Add convenience targets for build-art and test-art-host

Android.mk

Drop use of _LOCAL_ from make variants, which isn't the appropriate
here, where we aren't differentiating between LOCAL_ and PRIVATE_.
Avoid redefinition of variables based on now removed
LIBART_TARGET_ARCH and TEST_TARGET_ARCH to support phony targets in
Android.mk

build/Android.aexec.host.mk
build/Android.aexec.mk
build/Android.common.mk
build/Android.libart.host.mk
build/Android.libart.mk
build/Android.test.host.mk
build/Android.test.mk

Change-Id: I84ce2b7a2b4e37799d4d782b97c02d5e97ac081c
0e6d19703440a2c440c19308390a12330d13c86e 07-Jul-2011 Carl Shapiro <cshapiro@google.com> Relocate all of the included Makefiles into the build subdirectory.

Change-Id: I95dc51d72ff7076efac9f04aae098038c4464f4e
008e41230a702ddb4c558fca95af5d84d56b51cb 24-Jun-2011 Carl Shapiro <cshapiro@google.com> Add and enable a Makefile for building tests on the device.

Change-Id: Ifb97822e13aea307d14068a18e24714672c6f87b
c981ace51da03ca6a9cd100c2c4d6c9bf6100138 22-Jun-2011 Jesse Wilson <jessewilson@google.com> Add a gtest build target for the host.

Change-Id: Ib888e143c7f3c110a0596ce37f51138a4da31b5a
http://b/4584343
7b21670581d13db32f1384a3b2692bcfc8f57320 18-Jun-2011 Carl Shapiro <cshapiro@google.com> Initial build configuration for the new Android runtime.

Change-Id: I9956c8623f7bd333ceba5a41fc8cd3d16c309fd7