34fa79ece5b3a1940d412cd94dbdcc4225aae72f |
15-Sep-2014 |
Brian Carlstrom <bdc@google.com> |
Avoid printing absolute addresses in oatdump - Added printing of OatClass offsets. - Added printing of OatMethod offsets. - Added bounds checks for code size size, code size, mapping table, gc map, vmap table. - Added sanity check of 100k for code size. - Added partial disassembly of questionable code. - Added --no-disassemble to disable disassembly. - Added --no-dump:vmap to disable vmap dumping. - Reordered OatMethod info to be in file order. Bug: 15567083 Change-Id: Id86a21e06d4a28f29f16fd018cba7e55c57f849a
ndroid.gtest.mk
|
235e77bd9f19e4faefda109be40f8744f3a66f40 |
13-Aug-2014 |
Andreas Gampe <agampe@google.com> |
ART: Set default visibility to protected Set default visibility of symbols to protected. This allows the linker to optimize internal calls and helps avoid plt calls. Make almost all assembly stubs hidden, as -fvisibility does not seem to apply to them. Change the assembly tests accordingly. Also allows to clean up previous hacks to avoid plt calls. Bug: 16974467 Change-Id: I9030dcf6116251f434f94a2b08e56e12085af652
ndroid.common_build.mk
|
2c26501d24d929abe096ecce44f91410290b33c0 |
06-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add card table test. Tests some of the functionality supported by the card table. Removed some logcat spam from monitor_pool. Change-Id: I1423816a72572f78aca44552effa2b4c6aac46c8
ndroid.gtest.mk
|
3d4e684d05a43bb7ae182112b58bd8322fd64b2b |
29-Jul-2014 |
Brian Carlstrom <bdc@google.com> |
Revert "Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY." This reverts commit b1efe9746724f28773d185c7137c16ca8207ed47. Change-Id: I5af2fae2c7b72e6ded72f00d3f7d4f306f6703ee
ndroid.oat.mk
|
bfac14acef0c2327ef8c28f146dd17d009aa8669 |
30-Jul-2014 |
Alex Light <allight@google.com> |
Add --always-clean flag to run-test. This flag makes run-test remove the test-artifacts even if it fails. Also enable this option by default when doing run-tests with make. Add a ART_TEST_RUN_TEST_ALWAYS_CLEAN environment variable to control this option. Change-Id: I7867b400d570d8d679d9822d1fa65f49eb3522ae
ndroid.common_test.mk
|
3bb12b9bea020e2b797ec3fe6bc253d33189ed97 |
28-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add a variable to disable PREBUILD in run-tests. Change-Id: I318d37a2d98972c689829258e129ec8973bdc038
ndroid.common_test.mk
|
1fe5e5cce85a3cdc64a8d226a8ef4e6134c2b9eb |
12-Jul-2014 |
Andreas Gampe <agampe@google.com> |
ART: Fix target test paths Nativetest is now nativetest64 on 64b targets. Change-Id: I4c4c6bba1a56525df2993708caaae3e6f7f5f2f6
ndroid.common_path.mk
ndroid.common_test.mk
|
1740eca19de8870a319033eacde16793ef391825 |
25-Jul-2014 |
Dehao Chen <dehao@google.com> |
Remove the per-project FDO support. Use the common FDO support from build/core. LOCAL_FDO_SUPPORT indicates if the module should enable FDO builds. Change-Id: I1eab8bf418b7ceb060eea18bdd304a06597af3d3
ndroid.common_build.mk
|
86507ed48af6046ee9e5bc84daeb795fc8acc3bf |
25-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Add a new stack map scheme that encodes compilation info per pc."
|
e7655c554403dbac5110b7e3aa875116814a8dc3 |
25-Jul-2014 |
Andreas Gampe <agampe@google.com> |
ART: Turn on ART_TEST_KEEP_GOING by default, clean up unused vars Change-Id: I8db60eade0338e53e76a87ef38ad661550475e3c
ndroid.common_test.mk
|
1159727e271ad3dbc5f84859e3f3c463842e821e |
24-Jul-2014 |
Stephen Hines <srhines@google.com> |
Increase limit to 2600 on host clang builds for frame size. Change-Id: I573e1bcdc7a935145e88077def9c90a5573d2e90
ndroid.common_build.mk
|
7f9c8f7b6ce6c936d234771d2a4103a13850c422 |
24-Jul-2014 |
Stephen Hines <srhines@google.com> |
Merge "Update frame-larger-than limit to 2440 for new clang."
|
67a4338c5cc91ad3a8a3b99f06e1cf03b232d156 |
17-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update frame-larger-than limit to 2440 for new clang. Bug: 16362912 The latest version of clang is generating larger frames on elf_writer_quick.cc and dex2oat.cc than we had previously encountered. This change unblocks the LLVM rebase temporarily. Change-Id: I20d9f88959b91e0509e58f01c22532720225f44d
ndroid.common_build.mk
|
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
ndroid.common_test.mk
|
6a6d3c2712fab6314ed28dc080a50788d270a8fe |
23-Jul-2014 |
Ian Rogers <irogers@google.com> |
Use the TMPDIR environment variable for test directory if set. Bug: 16499668 Change-Id: I7da5559c13597d7bca4e4037a1e9335f0b6d8230
ndroid.common_path.mk
|
55fff044d3a4f7196098e25bab1dad106d9b54a2 |
10-Jul-2014 |
Vladimir Marko <vmarko@google.com> |
Rewrite topological sort order and improve GVN. Rewrite the topological sort order to include a full loop before the blocks that go after the loop. Add a new iterator class LoopRepeatingTopologicalSortIterator that differs from the RepeatingTopologicalSortIterator by repeating only loops and repeating them early. It returns to the loop head if the head needs recalculation when we reach the end of the loop. In GVN, use the new loop-repeating topological sort iterator and for a loop head merge only the preceding blocks' LVNs if we're not currently recalculating this loop. Also fix LocalValueNumbering::InPlaceIntersectMaps() which was keeping only the last element of the intersection, avoid some unnecessary processing during LVN merge and add some missing braces to MIRGraph::InferTypeAndSize(). Bug: 16398693 Change-Id: I4e10d4acb626a5b8a28ec0de106a7b37f9cbca32
ndroid.gtest.mk
|
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
ndroid.oat.mk
|
ab9167bd054eaa8469a73250e33034b5109a7b6e |
23-Jul-2014 |
Andreas Gampe <agampe@google.com> |
Merge "Changed default non-full tests to be prebuild."
|
9d722533b0ef6547ee0ab5286f65af98451c36e4 |
23-Jul-2014 |
Alex Light <allight@google.com> |
Changed default non-full tests to be prebuild. Also added ability to turn off non-prebuild manually. Change-Id: I0315ac43703a9c7e79812658523013799fb5d5dd
ndroid.common_test.mk
|
d2c0b097261f8c55139bfb6426c89f3d0f8deb8a |
22-Jul-2014 |
Ian Rogers <irogers@google.com> |
Put oat test output on stderr. Change-Id: Iad318f63263dc5d264d8a84eacedf5065a4e5248
ndroid.common_test.mk
|
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
ndroid.common_build.mk
ndroid.common_test.mk
|
99ea58cc68b51837c065f4a2a54efbf208dd76fa |
02-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add a new stack map scheme that encodes compilation info per pc. Encodes stack mask, register mask, dex register values, and inlining info. The encoding is currently very straightforward: there is no clever encoding, nor compression. Change-Id: I5fd9ae28189a5513cd9e3c8d52c648463207643d
ndroid.gtest.mk
|
f12feb8e0e857f2832545b3f28d31bad5a9d3903 |
17-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Stack overflow checks and NPE checks for optimizing. Change-Id: I59e97448bf29778769b79b51ee4ea43f43493d96
ndroid.common_test.mk
|
5182915657a6002672c6e1b421043f1ae6a4186a |
22-Jul-2014 |
Ian Rogers <irogers@google.com> |
Redirect failing test output to stderr. Change-Id: I8feeeef569854476d33fdc613182dbe16f7ba53c
ndroid.common_test.mk
|
1a43dd78d054dbad8d7af9ba4829ea2f1cb70b53 |
17-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add write barriers to optimizing compiler. Change-Id: I43a40954757f51d49782e70bc28f7c314d6dbe17
ndroid.gtest.mk
|
8a14b75d876ad20f08087664070354fa6f65a029 |
19-Jul-2014 |
Ian Rogers <irogers@google.com> |
Add a GC stress run that uses a moving collector and small heap sizes. Disable 3 run-tests for this configuration that fail for reasons relating to OOME handling. Add 012-math to the failing trace tests, it fails due to hitting a file size limit when running in the interpreter. Change-Id: Ia58f4c245d9d2d14caf5f2f2f3dcbfa40d4ccadb
ndroid.common_test.mk
|
701aa645a3e61fe8866000bb66b1287196a5536a |
18-Jul-2014 |
Ian Rogers <irogers@google.com> |
Add GC verification test rules. Change-Id: I7469ecaf98f680e7e642035f3536b00bdd97b486
ndroid.common_test.mk
|
5242c0ab0505f0f038b15c3d934a79a6b4e5ef17 |
18-Jul-2014 |
Ian Rogers <irogers@google.com> |
Allow optimizing and trace tests to be not run. Make it so that optimizing and trace tests can be chosen to be not run. mm -j32 test-art will run all optimizing and trace tests. mm -j32 test-art ART_TEST_FULL=false will not run optimizing and trace tests. mm -j32 test-art ART_TEST_FULL=false ART_TEST_OPTIMIZING=true will not run trace tests but will run optimizing tests. Change-Id: I9c04d9489f08fb837da5561d9496c97aee7c4a4a
ndroid.common_test.mk
|
b0777f04c9d79a43c2e490716fe4300f1fb68df7 |
17-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Use the thumb2 assembler for the optimizing compiler."
|
8d486731559ba0c5e12c27b4a507181333702b7e |
16-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Use the thumb2 assembler for the optimizing compiler. Change-Id: I2b058f4433504dc3299c06f5cb0b5ab12f34aa82
ndroid.common_test.mk
|
69dfe51b684dd9d510dbcb63295fe180f998efde |
11-Jul-2014 |
Dave Allison <dallison@google.com> |
Revert "Revert "Revert "Revert "Add implicit null and stack checks for x86"""" This reverts commit 0025a86411145eb7cd4971f9234fc21c7b4aced1. Bug: 16256184 Change-Id: Ie0760a0c293aa3b62e2885398a8c512b7a946a73
ndroid.gtest.mk
ndroid.oat.mk
|
e63db27db913f1a88e2095a1ee8239b2bb9124e8 |
16-Jul-2014 |
Ian Rogers <irogers@google.com> |
Break apart header files. Create libart-gtest for common runtime and compiler gtest routines. Rename CompilerCallbacksImpl that is quick compiler specific. Rename trace clock source constants to not use the overloaded profiler term. Change-Id: I4aac4bdc7e7850c68335f81e59a390133b54e933
ndroid.gtest.mk
|
0025a86411145eb7cd4971f9234fc21c7b4aced1 |
11-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Revert "Revert "Add implicit null and stack checks for x86""" Broke the build. This reverts commit 7fb36ded9cd5b1d254b63b3091f35c1e6471b90e. Change-Id: I9df0e7446ff0913a0e1276a558b2ccf6c8f4c949
ndroid.gtest.mk
ndroid.oat.mk
|
7fb36ded9cd5b1d254b63b3091f35c1e6471b90e |
10-Jul-2014 |
Dave Allison <dallison@google.com> |
Revert "Revert "Add implicit null and stack checks for x86"" Fixes x86_64 cross compile issue. Removes command line options and property to set implicit checks - this is hard coded now. This reverts commit 3d14eb620716e92c21c4d2c2d11a95be53319791. Change-Id: I5404473b5aaf1a9c68b7181f5952cb174d93a90d
ndroid.gtest.mk
ndroid.oat.mk
|
95a059793c4c194f026afc74c713cc295d75d91a |
30-May-2014 |
Vladimir Marko <vmarko@google.com> |
Global Value Numbering. Implement the Global Value Numbering for optimization purposes. Use it for the null check and range check elimination as the LVN used to do. The order of evaluation of basic blocks needs improving as we currently fail to recognize some obviously identical values in methods with more than one loop. (There are three disabled tests that check this. This is just a missed optimization, not a correctness issue.) Change-Id: I0d0ce16b2495b5a3b17ad1b2b32931cd69f5a25a
ndroid.gtest.mk
|
c4f72ec44660f804b595bfaf2b959f46fd2ff00d |
10-Jul-2014 |
Andreas Gampe <agampe@google.com> |
Merge "Use memory chunks for monitors on LP64"
|
74240819ae09e29b2753ef38f4eb4be1c2762e2e |
17-Apr-2014 |
Andreas Gampe <agampe@google.com> |
Use memory chunks for monitors on LP64 Monitor IDs in lock words are only 30b. On a 32b system that works fine, as memory is usually aligned enough that shifting works out. On 64b systems, the virtual memory space is too large for that. This adds memory chunks into which we allocate the monitors so that we have base_addr + offset and can use the offset as the monitor ID. To allow for relatively compact but growable storage, we use a list of chunks. Added a global lock for the monitor pool. Change-Id: I0e290c4914a2556e0b2eef9902422d7c4dcf536d
ndroid.gtest.mk
|
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
ndroid.oat.mk
|
3d14eb620716e92c21c4d2c2d11a95be53319791 |
10-Jul-2014 |
Dave Allison <dallison@google.com> |
Revert "Add implicit null and stack checks for x86" It breaks cross compilation with x86_64. This reverts commit 34e826ccc80dc1cf7c4c045de6b7f8360d504ccf. Change-Id: I34ba07821fc0a022fda33a7ae21850957bbec5e7
ndroid.gtest.mk
ndroid.oat.mk
|
34e826ccc80dc1cf7c4c045de6b7f8360d504ccf |
29-May-2014 |
Dave Allison <dallison@google.com> |
Add implicit null and stack checks for x86 This adds compiler and runtime changes for x86 implicit checks. 32 bit only. Both host and target are supported. By default, on the host, the implicit checks are null pointer and stack overflow. Suspend is implemented but not switched on. Change-Id: I88a609e98d6bf32f283eaa4e6ec8bbf8dc1df78a
ndroid.gtest.mk
ndroid.oat.mk
|
608520c8ba1adc7d8d0623b021b7ea509b00751c |
09-Jul-2014 |
Ian Rogers <irogers@google.com> |
Merge "Adds PGO_GEN and PGO_USE for libart and libart-compiler."
|
997660dec8b10bba56276f35a9ee8d7ce9d62fc2 |
08-Jul-2014 |
Dehao Chen <dehao@google.com> |
Adds PGO_GEN and PGO_USE for libart and libart-compiler. PGO_GEN=device_path is used to build an instrumented binary. The profile will be stored in the specified path in device. PGO_USE=host_path is used to build an PGO-optimized binary. The profile should be pre-stored in the specified path in host. Bug: 16153819 Change-Id: Ib56f8707df009f290608ca66f669db06e65815c1
ndroid.common_build.mk
|
6e524ddc060f10a493dc63fa5b6dde0deef22219 |
09-Jul-2014 |
Brian Carlstrom <bdc@google.com> |
Merge "Make dex2oat heap size product configurable [art]"
|
670134e8555d40fc880271b1ab97483094b4b816 |
08-Jul-2014 |
Brian Carlstrom <bdc@google.com> |
Make dex2oat heap size product configurable [art] Bug: 15919420 Change-Id: I1b4f3256f6352b2d3e268991406def9e8efab945
ndroid.oat.mk
|
a1d1781e29098e4d0d154bd3d2e8ae21b0b20b0f |
08-Jul-2014 |
Ian Rogers <irogers@google.com> |
Merge "Fix dex file dependencies for oat tests."
|
1a2f84e80e852b1e210ed54fa995f3d781a23bd3 |
08-Jul-2014 |
Ian Rogers <irogers@google.com> |
Fix dex file dependencies for oat tests. The initial prerequisit used as an argument to "cp" wasn't set causing dex2oat to attempt to compile dex2oat. Make the setting of host and target dex dependencies more explicit in build-art-test-dex and update the test rules appropriately. Change-Id: I4f591f817537043bcb0328c7623fe7e2f0830b60
ndroid.common_test.mk
ndroid.gtest.mk
|
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
ndroid.oat.mk
|
b63727cded6674db4768d49ef2a0833f773c8e5a |
08-Jul-2014 |
Andreas Gampe <agampe@google.com> |
Merge "ART: Update Monitor::Wait so it releases monitor_lock_ before throwing an exception"
|
1af6a1fa35ff7dc0a5c653f19dbc8a91c914aa42 |
20-Jun-2014 |
Elena Sayapina <elena.v.sayapina@intel.com> |
ART: Update Monitor::Wait so it releases monitor_lock_ before throwing an exception Thread should release monitor_lock_ Mutex (which guards shared structures behind Java monitor) in Monitor::Wait before throwing any exception. Otherwise the thread may be suspended by GC during that time still holding the lock. This may cause deadlock during GC in case some other thread needs to acquire the monitor_lock_. The other thread can't be suspended by GC then waiting for exclusive lock and "thread suspend timeout" occurs. Change-Id: Id02f45052e1cfc01e676a43434125817564d7874 Signed-off-by: Elena Sayapina <elena.v.sayapina@intel.com>
ndroid.gtest.mk
|
e130ee6fe902315062ce17f8ce115b1dc506576d |
02-Jul-2014 |
Brian Carlstrom <bdc@google.com> |
Add a local elf.h Change-Id: Ic2d449bfdd3c95e393c083c9e1022adc4e9c06b8
ndroid.cpplint.mk
|
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
ndroid.common.mk
ndroid.gtest.mk
|
8b11544881ad6c8aeb50ba7c6a594363c2b684ec |
01-Jul-2014 |
Andreas Gampe <agampe@google.com> |
Merge "AArch64: Add memcmp16() for Arm64; ensure xSELF not clobbered"
|
86797a791d692f81def5c1b5f0918992c49ed122 |
19-Jun-2014 |
Serban Constantinescu <serban.constantinescu@arm.com> |
AArch64: Add memcmp16() for Arm64; ensure xSELF not clobbered This patch modifies memcmp() to memcmp16(). Please note that this implementation of memcmp16() is based on the bionic's memcmp(). However, to reflect a recent specification change, the file has been modified to respect the new String.compareTo() behavior. A test for memcmp16() has been added. The string_compareto test in stub_test has been changed to invoke __memcmp16 in assembly stubs. Add artIsAssignableFromCode to the list of native downcalls to store and reload x18. Remove CheckSuspendFromCode, as it is unused. Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com> Change-Id: Ie0b5425ecfb62906d29a5d02e84c7e07ffb34a11
ndroid.gtest.mk
|
327e6b49230c2adcb142fe59ea03a6a13cfe346c |
27-Jun-2014 |
Brian Carlstrom <bdc@google.com> |
We can no longer use "adb shell sh -c ..." internally Change-Id: I9357ca59f73b79fa56686d221c83e024137eee35
ndroid.gtest.mk
|
f5449a2ebde6fee2c9806ff2a447fc1748f3c6f2 |
26-Jun-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Fix build rule. There is no such thing as 2ND_HOST_CORE_DEX_FILES. Change-Id: I87187267effe239c898aa504b914138e4f722a80
ndroid.oat.mk
|
b1cbf58b4d0bfe58d1ac8716c1d5c4c646983478 |
26-Jun-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Re-enable tests with the optimizing compiler."
|
f61b5377068f22c0be7b2f6e62961e620408beb2 |
25-Jun-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Re-enable tests with the optimizing compiler. Tests run ok on my host/target. I reverted the move to using thumb2, because tests were crashing. But I could not reproduce file limits issues. Make SignalTest as crashing for optimizing. We need to implement stack overflow checks. Change-Id: Ieda575501eaf30af7aaa2c44e71544c9c467c24f
ndroid.common_test.mk
|
eb85f2bab0b402094a56276558afbf0e137176eb |
25-Jun-2014 |
Brian Carlstrom <bdc@google.com> |
Further refine gtest dependencies. (cherry picked from commit 4ac5c69266a7deab188e65df0e528eadc66e1c06) Change-Id: I3603776efbc697bae21e79f6976afbd21baf150d
ndroid.gtest.mk
|
532714abd50c547f0fdbe830f811d99e621e2d34 |
25-Jun-2014 |
Brian Carlstrom <bdc@google.com> |
Fix test-art-target error Change-Id: If1f800a056b3f95252037163784ab3ae26d9fa6d
ndroid.common_path.mk
ndroid.common_test.mk
ndroid.gtest.mk
|
665de8a1710d2418f60d3bffdc99bdac32252530 |
25-Jun-2014 |
Ian Rogers <irogers@google.com> |
Fix various test dependencies. Change-Id: I2e4761f4cc061f74319a7b64ebe67c553d5297df
ndroid.common.mk
ndroid.common_build.mk
ndroid.gtest.mk
|
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
ndroid.common.mk
ndroid.common_build.mk
ndroid.common_path.mk
ndroid.common_test.mk
ndroid.cpplint.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libarttest.mk
ndroid.oat.mk
|
ea521dccd5dea59bcdfda7cc61cdd413152a8890 |
25-Jun-2014 |
Sebastien Hertz <shertz@google.com> |
Really use GCC for ARM64 Restores change https://android-review.googlesource.com/98911 lost in change https://android-review.googlesource.com/98456. Change-Id: Ie11f807c554dbfa812a70b8a183966f388018276
ndroid.common_build.mk
|
a76724f4bc4a8d36c6c99243835b8e3ddf1eb2d7 |
24-Jun-2014 |
Sebastien Hertz <shertz@google.com> |
Merge "Use GCC on ARM64"
|
ca3aabac5748c256c42839dd16e8c80a09d99a48 |
23-Jun-2014 |
Dave Allison <dallison@google.com> |
Fix implicit check option handling for non-cross-compiles This fixes an issue where the compiler was not being told to generate implicit checks but the runtime was expecting them. Bug: 15747876 Change-Id: I65e7475bac245c44d5094eb666d67bc1af327ab1
ndroid.oat.mk
|
56c3e842bca13767f453b077229bbf2da2e4bacb |
20-Jun-2014 |
Sebastien Hertz <shertz@google.com> |
Use GCC on ARM64 This automatically enables the computed-goto interpreter as default. Bug: 15763315 Bug: 15405621 Change-Id: I4f6ed5f7cad96333bc8dc1029e9b90ba1b6916df
ndroid.common.mk
|
df10b32c4d0adfa86201169692eaa7ef038b642c |
12-Jun-2014 |
Andreas Gampe <agampe@google.com> |
ART: Dex file verifier needs to check proto idx of method id. Bug: 15570490 Change-Id: I4e90aea6e77711ee37d14d96a1fc9a2fbb980d94
ndroid.gtest.mk
|
e3d5581266301e6a672af6233220037abf52fea1 |
11-Jun-2014 |
Ian Rogers <irogers@google.com> |
Fix host Mac build. Ptr - ptr is an int not size_t on the Mac. Fix use of assembly literal macro. Remove forgotten about WITH_HOST_DALVIK. Change-Id: I64db1927b2c6a145b6a96ffcc33d704914bba1bb
ndroid.oat.mk
|
c5f17732d8144491c642776b6b48c85dfadf4b52 |
06-Jun-2014 |
Ian Rogers <irogers@google.com> |
Remove deprecated WITH_HOST_DALVIK. Bug: 13751317 Fix the Mac build: - disable x86 selector removal that causes OS/X 10.9 kernel panics, - madvise don't need does zero memory on the Mac, factor into MemMap routine, - switch to the elf.h in elfutils to avoid Linux kernel dependencies, - we can't rely on exclusive_owner_ being available from other pthread libraries so maintain our own when futexes aren't available (we can't rely on the OS/X 10.8 hack any more), - fix symbol naming in assembly code, - work around C library differences, - disable backtrace in DumpNativeStack to avoid a broken libbacktrace dependency, - disable main thread signal handling logic, - align the stack in stub_test, - use $(HOST_SHLIB_SUFFIX) rather than .so in host make file variables. Not all host tests are passing on the Mac with this change. dex2oat works as does running HelloWorld. Change-Id: I5a232aedfb2028524d49daa6397a8e60f3ee40d3
ndroid.common.mk
ndroid.gtest.mk
ndroid.libarttest.mk
|
afdc560ad421d0b699ec5d6723a9155e46d629ae |
11-Jun-2014 |
Brian Carlstrom <bdc@google.com> |
Fix for test-art-host Courtesy of dallison@ Change-Id: I160a5c84c176f22168bf236899349b6087494807
ndroid.common.mk
|
41c507a9dae44b8329a857da3d9810fab2e9ddc6 |
15-May-2014 |
Alexei Zavjalov <alexei.zavjalov@intel.com> |
ART: Generalize code to find PC for artInvokeInterfaceTrampoline This allows to determine target method when the interface method has no dex index, now also for X86-64 and ARM64. Add constexpr functions to callee_save_frame.h to have compile-time sizes of callee-save frames. Add a test that ensures they agree with computations by the corresponding ArtMethod methods. Move some instruction-set functions into the header file to allow inlining them. Move arch-specific pointer sizes and alignment sizes out of globals.h to instruction_set.h to reduce dependencies. Change-Id: I2997592c7dd1f4dd2bd497522c64bd235ae615a6 Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
ndroid.gtest.mk
|
d1c606f280797be81e2592c483869a6ec836a9f3 |
09-Jun-2014 |
Narayan Kamath <narayan@google.com> |
Add locking around boot image generation. If zygote aborts due to an error, it will restart and spawn another dex2oat process while the old one is still running. If this happens fast enough, the system will eventually need a kernel reboot since neither the zygote nor dex2oat are killable. This brings boot image generation in line with dex2oat generation, which uses a similar pattern of advisory locking. bug: 15415316 Change-Id: Iaccd274d3d96ab002b04e246ec4b3ef9a422ff7c
ndroid.gtest.mk
|
ec7e4727e99aa1416398ac5a684f5024817a25c7 |
06-Jun-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Fix some bugs in graph construction/simplification methods. Also fix a brano during SSA construction. The code should not have been commented out. Added a test to cover what the code intends. Change-Id: Ia00ae79dcf75eb0d412f07649d73e7f94dbfb6f0
ndroid.gtest.mk
|
dadc7dcc06057bcebfb118e5fe352c3ff5a95dd9 |
05-Jun-2014 |
Dave Allison <dallison@google.com> |
Disable thumb assembler test to fix art build Having difficulty getting this to run on the build server. Disable until I can figure out how to do it. Change-Id: I4f356fd1168b213b770426adc34bf62b8fb56b8f
ndroid.gtest.mk
|
0eb3e752b65ef908e3790d81fae57cd85a41006b |
05-Jun-2014 |
Dave Allison <dallison@google.com> |
Merge "Thumb2 assembler for JNI compiler and optimizing compiler"
|
65fcc2cf3c5cd97b84330c094908f3a6a7a8d4e7 |
28-Apr-2014 |
Dave Allison <dallison@google.com> |
Thumb2 assembler for JNI compiler and optimizing compiler This provides a programmatic assembler for the thumb2 instruction set for ARM. The interface is the same as the ARM assembler and the ARM assembler has been moved into Arm32Assembler. The assembler handles most 16 and 32 bit instructions and also allows relocations due to branch expansion. It will also rewrite cbz/cbnz instructions if they go out of range. It also changes the JNI compiler to use the thumb2 assembler as opposed to forcing it to use ARM32. The trampoline compiler still uses ARM due to the way it returns the address of its generated code. A trampoline in thumb2 is the same size as that in ARM anyway (8 bytes). Provides gtest for testing the thumb2 instruction output. This gtest only runs on the host as it uses arm-eabi-objdump to disassemble the generated code. On the target the output is not checked but the assembler will still be run to perform all its checks. Change-Id: Icd9742b6f13541bec5b23097896727392e3a6fb6
ndroid.gtest.mk
|
4352b4556c138eb9f583367d678531930b5b8fb0 |
05-Jun-2014 |
Andreas Gampe <agampe@google.com> |
ART: Add a test checking TLS offsets and entrypoints Add a test (runtime for now, as compile-time checks seem not possible with current infrastructure) that checks the structure of the thread tls and entrypoint structs. A failure of the test indicates a structural change, which hints at a necessary oat version bump. Change-Id: I500b5cd940c916ebfc1580e9dd2c287c4d263956
ndroid.gtest.mk
|
278ff9e14763c466699c9725f4ad9ede286c099b |
27-May-2014 |
Sebastien Hertz <shertz@google.com> |
Enable -Wframe-larger-than=1728 compilation error Bug: 15278350 Change-Id: I142dc9de0312ac1f8aa55a4bce86b5bb6722535f
ndroid.common.mk
|
5ca4eaace8ba513f97309bbdc2e156de4b1d648a |
29-May-2014 |
Andreas Gampe <agampe@google.com> |
ART: Make LOCAL_CLANG architecture dependent for the target Be selective for which target we compile with Clang. Currently we only want to compile with Clang for ARM64, which means we need to be careful about ARM, which is the second architecture for that. Bug: 15014252 (cherry picked from commit 9689e3768621130b2536564f4e00fcb6b3d25df4) Change-Id: I312e1caea08f2f3a20304b27f979d3c7b72b0a04
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libarttest.mk
|
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
ndroid.libarttest.mk
|
a7062e05e6048c7f817d784a5b94e3122e25b1ec |
22-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add a linear scan register allocator to the optimizing compiler. This is a "by-the-book" implementation. It currently only deals with allocating registers, with no hint optimizations. The changes remaining to make it functional are: - Allocate spill slots. - Resolution and placements of Move instructions. - Connect it to the code generator. Change-Id: Ie0b2f6ba1b98da85425be721ce4afecd6b4012a4
ndroid.gtest.mk
|
adde7d2854dbcd4282e94cebd7c66ee8793aece8 |
23-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Import Dart's parallel move resolver."
|
4e3d23aa1523718ea1fdf3a32516d2f9d81e84fe |
22-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Import Dart's parallel move resolver. And write a few tests while at it. A parallel move resolver will be needed for performing multiple moves that are conceptually parallel, for example moves at a block exit that branches to a block with phi nodes. Change-Id: Ib95b247b4fc3f2c2fcab3b8c8d032abbd6104cd7
ndroid.gtest.mk
|
dfd301f19800a4f168283cf2d0b15b2c09071955 |
23-May-2014 |
Brian Carlstrom <bdc@google.com> |
Merge "Update dump-oat-* and oatdump for new image file layout"
|
0f5baa079eea76758aee32d7f87cb175deab8308 |
22-May-2014 |
Brian Carlstrom <bdc@google.com> |
Update dump-oat-* and oatdump for new image file layout Bug: 11997009 Change-Id: I30c356f3ea62b1850d17b5c6bf4af4080a466858
ndroid.common.mk
|
5da6e2b88258733dd3856543af27ca73b395ef60 |
22-May-2014 |
Dan Albert <danalbert@google.com> |
Merge "Move art host to libc++"
|
2a0e954ecf7c60e6ec62d64b9382cc4ee447e224 |
21-May-2014 |
Dan Albert <danalbert@google.com> |
Move art host to libc++ Change-Id: Ia51a4fdfdbae7377130a43c401c2d8d241671d1e
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libarttest.mk
|
c32deb49108348cd0d3e3e2c89a757f044a54471 |
21-May-2014 |
Sebastien Hertz <shertz@google.com> |
Fix test-art-target-oat for multi target Avoids running dalvikvm with 32-bit native library. When the primary target is 64-bit, dalvikvm is a symlink to dalvikvm64 which can't load 32-bit native library. Bug: 15131102 Change-Id: I29c2f3b5a62b5f507674f3f6d1b9f3f2e5a9de23
ndroid.common.mk
|
1271e5db25eda9ebf97d0cd8388a2b6b2f7efd1e |
21-May-2014 |
Mathieu Chartier <mathieuc@google.com> |
Merge "Add DALVIKVM_FLAGS to test invocation."
|
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
ndroid.common.mk
|
607fa7b07233a7233ebe21bba8f3e7c1925ae0f2 |
20-May-2014 |
Ian Rogers <irogers@google.com> |
Merge "Now we have a proper C++ library, use std::unique_ptr."
|
700a402244a1a423da4f3ba8032459f4b65fa18f |
20-May-2014 |
Ian Rogers <irogers@google.com> |
Now we have a proper C++ library, use std::unique_ptr. Also remove the Android.libcxx.mk and other bits of stlport compatibility mechanics. Change-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libarttest.mk
ndroid.libcxx.mk
|
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
ndroid.common.mk
ndroid.oat.mk
|
bbf079eb47cd9e7f96ceaf5bba89719e13cb9635 |
19-May-2014 |
Brian Carlstrom <bdc@google.com> |
Remove unneeded realpath that was causing bad dependencies in a clean build (cherry picked from commit 361b324a396071aa6e32ca3296ab07818f887e59) Change-Id: I59756a4ad89014d01e4022caf63d1ac34bef5c07
ndroid.oat.mk
|
ba0c51fd282c4f47b95230c5444e76f342900cfa |
16-May-2014 |
Ian Rogers <irogers@google.com> |
Switch ART to libc++. TODO: remove all vestiges of stlport. Change-Id: I95a3cb0b53d0898f0a5d388b606e79522f4d85e0
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libcxx.mk
|
84e524207b23d58a1b1e5f4443000ccac97c4184 |
19-May-2014 |
Brian Carlstrom <bdc@google.com> |
Merge "Add ISA directory to image and odex pathnames."
|
4f3f3fa1dde1bb0c89485012f7e6396be2ad2850 |
19-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Build live ranges in preparation for register allocation."
|
ddb311fdeca82ca628fed694c4702f463b5c4927 |
16-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Build live ranges in preparation for register allocation. Change-Id: I7ae24afaa4e49276136bf34f4ba7d62db7f28c01
ndroid.gtest.mk
|
0e12bdc49744eb6d5c29b9611a8dbe10bac4cd53 |
15-May-2014 |
Brian Carlstrom <bdc@google.com> |
Add ISA directory to image and odex pathnames. Bug: 14882223 Bug: 14694978 Change-Id: Ic1b5ae836b8e91ea461dcd4f3da8e38dc3bec00f
ndroid.common.mk
ndroid.gtest.mk
ndroid.libarttest.mk
ndroid.oat.mk
|
3232297f97836c90d42809cddb44dda0099963fb |
16-May-2014 |
Ying Wang <wangying@google.com> |
Merge "64-bit host multilib build."
|
c6585b7db95771782b2b0144efb8a18fa0f6906f |
24-Apr-2014 |
Ying Wang <wangying@google.com> |
64-bit host multilib build. Bug: 13751317 Change-Id: I98c0d593e441add79d51ec1b690c4abd3489a8cf
ndroid.common.mk
|
c001b0952513690216f9a14153a839d569a91538 |
16-May-2014 |
Tsu Chiang Chuang <tsu@google.com> |
Merge "add make target variables for gtests"
|
ec245a42e04adbde15b75d8123287c54fd9fa7b3 |
16-May-2014 |
Tsu Chiang Chuang <tsu@google.com> |
add make target variables for gtests Change-Id: I109dca4ffdb35484cdee49751cb5bb3be10dcb60
ndroid.gtest.mk
|
27710fa87cc7fc0f205a6b5a46f418a0cf9a5171 |
16-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Linearize the graph before creating live ranges."
|
0d3f578909d0d1ea072ca68d78301b6fb7a44451 |
14-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Linearize the graph before creating live ranges. Change-Id: I02eb5671e3304ab062286131745c1366448aff58
ndroid.gtest.mk
|
507dfdd147c97bfbadebfd63584d094b6a4e7b47 |
16-May-2014 |
Ian Rogers <irogers@google.com> |
Compatibility layer to transition from UniquePtr to std::unique_ptr. Use ART_WITH_STLPORT (enabled for the target) to cause the use of UniquePtr, for the host switch to std::unique_ptr. For now the type remains called UniquePtr. Make dalvik compile with clang on the host, move its build to C++11. Change-Id: I5ba8d2757904bc089ed62047ea03de3c0853fb12
ndroid.libcxx.mk
|
8bebd1a8dae414f742424b6714ae90636238f18a |
15-May-2014 |
Andreas Gampe <agampe@google.com> |
Merge "ART: Make build error a warning for TARGET_CPU_SMP"
|
ef5113dcdbe0aba596dab6bfcd413d75fa246e21 |
15-May-2014 |
Andreas Gampe <agampe@google.com> |
ART: Make build error a warning for TARGET_CPU_SMP Builds that do not build for targets will not have this information. Make it a warning. Change-Id: Ibd5fa6f5d2c1cf6d86de30df24d25eddb23fb81d
ndroid.common.mk
|
3b2bcbf9daf39f4cece7fde1186f3fa494000ed9 |
15-May-2014 |
Ian Rogers <irogers@google.com> |
Merge "Move RoS allocator to use unordered_set."
|
b2c3e10deb6a2f069748c7a48e778a5da66900fd |
15-May-2014 |
Andreas Gampe <agampe@google.com> |
Merge "ART: Fix MonitorExit code on ARM"
|
b14329f90f725af0f67c45dfcb94933a426d63ce |
15-May-2014 |
Andreas Gampe <agampe@google.com> |
ART: Fix MonitorExit code on ARM We do not emit barriers on non-SMP systems. But on ARM, we have places that need to conditionally execute, which is done through an IT instruction. The guide of said instruction thus changes between SMP and non-SMP systems. To cleanly approach this, change the API so that GenMemBarrier returns whether it generated an instruction. ARM will have to query the result and update any dependent IT. Throw a build system error if TARGET_CPU_SMP is not set. Fix runtime/Android.mk to work with new multilib host. Bug: 14989275 Change-Id: I9e611b770e8a1cd4ca19367d7dae0573ec08dc61
ndroid.common.mk
|
5fcfa7d9d97246f7eb48a74356cb00ec2cbc0181 |
15-May-2014 |
Ian Rogers <irogers@google.com> |
Move RoS allocator to use unordered_set. Work-around existing stlport issues for the target. This will go away when the target is using libc++. Change-Id: I8f213ecd9dc7d93d17f4a0d7e84182c12af6ca1b
ndroid.common.mk
|
28f5c0973a55c4d29e974ef1394d6b013fe966a0 |
15-May-2014 |
Ian Rogers <irogers@google.com> |
Don't import llvm.mk for non-portable builds. Change-Id: I447e7d816c0e4f84bc4d13bc34ff93b026d192b5
ndroid.common.mk
|
eb8167a4f4d27fce0530f6724ab8032610cd146b |
08-May-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add Handle/HandleScope and delete SirtRef. Delete SirtRef and replaced it with Handle. Handles are value types which wrap around StackReference*. Renamed StackIndirectReferenceTable to HandleScope. Added a scoped handle wrapper which wraps around an Object** and restores it in its destructor. Renamed Handle::get -> Get. Bug: 8473721 Change-Id: Idbfebd4f35af629f0f43931b7c5184b334822c7a
ndroid.gtest.mk
|
622d9c31febd950255b36a48b47e1f630197c5fe |
12-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add loop recognition and CFG simplifications in new compiler. We do three simplifications: - Split critical edges, for code generation from SSA (new). - Ensure one back edge per loop, to simplify loop recognition (new). - Ensure only one pre header for a loop, to simplify SSA creation (existing). Change-Id: I9bfccd4b236a00486a261078627b091c8a68be33
ndroid.gtest.mk
|
1dda060e0f2c2d00d3b5d064d68f18d85bfa9be8 |
12-May-2014 |
Hiroshi Yamauchi <yamauchi@google.com> |
Make it easy to change the default GC type. Bug: 13641307 Change-Id: I47a36326be8dbb5fd637b743bbfad1fdde54011d
ndroid.common.mk
|
804d09372cc3d80d537da1489da4a45e0e19aa5d |
02-May-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Build live-in, live-out and kill sets for each block. This information will be used when computing live ranges of instructions. Change-Id: I345ee833c1ccb4a8e725c7976453f6d58d350d74
ndroid.gtest.mk
|
2220cb17d2879c6296313bb671c6ee1813b93b55 |
02-May-2014 |
Tim Murray <timmurray@google.com> |
Merge "Make arm64 build with ART_TARGET_CLANG."
|
a7f9871683dd8534a7d7586e160d75a822ca61e0 |
02-May-2014 |
Tim Murray <timmurray@google.com> |
Merge "Add additional flags to make ART_TARGET_CLANG function with 3.5."
|
a7e7c2a644c7877496ca6f05d6bb15d286dfb597 |
30-Apr-2014 |
Tim Murray <timmurray@google.com> |
Make arm64 build with ART_TARGET_CLANG. Change-Id: If47ba8afbce3bbe9696cc7d6d08502e07aba5e7d
ndroid.common.mk
|
11d9f06a96a6909905c248ed684366190140095c |
23-Apr-2014 |
Narayan Kamath <narayan@google.com> |
Use instruction specific dalvik cache dirs. - All oat & art files are now placed under /data/dalvik-cache/<isa>/. - GetDalvikCacheOrDie now requires a mandatory subdirectory argument, and is implicitly rooted under /data/. - Added helper methods to convert InstructionSet enums into strings and vice versa. (cherry picked from commit 2974bc3d8a5d161d449dd66826d668d87bdc3cbe) Change-Id: Ic7986938e6a7091a2af675ebafec768f7b5fb8cd
ndroid.gtest.mk
|
5a4fa82ab42af6e728a60e3261963aa243c3e2cd |
01-Apr-2014 |
Andreas Gampe <agampe@google.com> |
x86_64 Assembler Test Infrastructure, fix x86_64 assembler Some infrastructure to do real assembler testing. Need to extend to other assemblers, and a lot more tests. Fix some of the cases of the x86_64 assembler. Change-Id: I15b5f3a094af469130db68a95a66602cf30d8fc4
ndroid.gtest.mk
|
4a0047afbaa6ce2b1823de559028bb1d8a111cb6 |
30-Apr-2014 |
Tim Murray <timmurray@google.com> |
Add additional flags to make ART_TARGET_CLANG function with 3.5. Change-Id: I5fbf29e5d08d905f7585fb6d0de9472e3f3ed218
ndroid.common.mk
|
5dee5df89aa2cefef6c886d5b9b642cc6f1c595b |
28-Apr-2014 |
Ian Rogers <irogers@google.com> |
Merge "Avoid volatile 64-bit tearing on 32-bit architectures."
|
a984454098971739a1469d62cba02cda3600268b |
22-Apr-2014 |
Ian Rogers <irogers@google.com> |
Avoid volatile 64-bit tearing on 32-bit architectures. Change b122a4bbed34ab22b4c1541ee25e5cf22f12a926 removed inline assembly for volatile 64bit read/writes. This isn't sound in the general case, reinstate. Motivating change: https://android-review.googlesource.com/91250 Add optimizations for ARM in the case of LPAE support. Change-Id: Ie86d8885d27c8f0da75f0c3bd50d4553a331282f
ndroid.common.mk
|
53e5d10036a5d4fdf84b32354c11dd8f2140b8ab |
28-Apr-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Add a Transform to SSA phase to the optimizing compiler."
|
c32e770f21540e4e9eda6dc7f770e745d33f1b9f |
24-Apr-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add a Transform to SSA phase to the optimizing compiler. Change-Id: Ia9700756a0396d797a00b529896487d52c989329
ndroid.gtest.mk
|
5c1e4352614d61fed6868567e58b96682828cb4d |
22-Apr-2014 |
Andreas Gampe <agampe@google.com> |
Add "arch_test" gtest for assembly stub constants, add some ARM64 assembly code Add a test that (1) checks all callee-save method frame sizes for all architectures, (2) checks thread offsets for the runtime architecture and (3) checks callee-save method offsets for the runtime architecture. The "asm_support_XXX.h" files now only contain definitions that are common between all architectures. Architecture-specific definitions (i.e., special registers names) have been pushed into the corresponding .S file. This change was required to be able to undefine definitions in the test, so that multiple tests can be written in one file. Test (1) above is in a sense two-stage. The arch_test gtest compares constants (if it finds them) against the frame size as reported by the ArtMethods created by the Runtime. This works for all architectures as we can provide the instruction-set to CreateCalleeSaveMethod. The second stage of the "test" are preprocessor tests with "#error" in the case that the constants are not the expected value. Optimally I'd like to change that to an actual runtime test exercising the assembly code, which would also allow to check whether the right registers are stored. Also added missing assembly code for ARM64 for the callee-save macros. Also fix X86_64 compilation for Clang 3.5. Change-Id: I018e6433dffd3d31ba3bfcd75661653f4c7b6552
ndroid.gtest.mk
|
525cde2dd7cc7ad4212765ad3975cf260a934d3e |
23-Apr-2014 |
Andreas Gampe <agampe@google.com> |
Add a GTest for Assembly Stubs, Add some ARM64 and X86-64 Stubs This GTest adds some runtime testing for the stubs that does not rely on the compiler. This should allow to add or update the stubs and do testing, especially on architectures without working compiler. This test is a bit dangerous: if it doesn't know how to handle an architecture, it will only log a warning. This is so that testing does not break at the moment. The warning is forced to stdout, too, so that it is always visible. Add art_quick_check_cast to ARM64 and X86-64. Add art_quick_memcpy to X86-64. The latter should be removed in a good compiler, as it is practically only overhead. Add minor CFI information in ARM. Change-Id: Ia9c6d0f4035eb1527c12b5f6067dece59e25528d
ndroid.gtest.mk
|
2fe07927610177e9b83809e5bdb6d2b3d835a076 |
21-Apr-2014 |
Andreas Gampe <agampe@google.com> |
Fix dependencies in the test suite for multi-target tests Change-Id: I94dd767490a7cd8cceddc158d90f56f5bd3fef26
ndroid.common.mk
ndroid.gtest.mk
ndroid.oat.mk
|
bd5ea6a2f7c61c4cd7b66fead1bedd96e938369d |
17-Apr-2014 |
Ian Rogers <irogers@google.com> |
Preparation for transition to libc++. Move the dependency on libc++ to its own makefile so that we can switch in a single place between libc++ and stlport. Change-Id: Ie61e7d054dcd049e36d5e7298c27d8a4abe6edf7
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libarttest.mk
ndroid.libcxx.mk
|
2faf284e072230d4fd447955fa72ac4d9a3b51a0 |
16-Apr-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Long support in optimizing compiler."
|
01bc96d007b67fdb7fe349232a83e4b354ce3d08 |
11-Apr-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Long support in optimizing compiler. - Add stack locations to the Location class. - Change logic of parameter passing/setup by setting the location of such instructions the ones for the calling convention. Change-Id: I4730ad58732813dcb9c238f44f55dfc0baa18799
ndroid.gtest.mk
|
135016a1feee5576014f377e8006057837ee73a2 |
03-Apr-2014 |
Dmitry Petrochenko <dmitry.petrochenko@intel.com> |
art: Use SIRT::GetAlignedSirtSizeTarget in calling convention Calculate frame size based on SIRT::GetAlignedSirtSizeTarget existing method. Make offset functions pointer-size-dependent for cross-compiling. Add a test to check whether our computations are correct. Change-Id: Ic66daf6f9908890eda906bdcbbc4444c4fef614f Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
ndroid.gtest.mk
|
15523731549152276f23dcf94d81b1a9ce9c5038 |
02-Apr-2014 |
Serban Constantinescu <serban.constantinescu@arm.com> |
AArch64: Fix Managed Register unit tests Fixes the XZR change introduced by one of the previous patches. It also adds extra testing for VIXL register integration. Change-Id: I4935f06726e25829613ef7bb6ac052d82056812c Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
ndroid.gtest.mk
|
d74754320e4706796ebb1d4b413dc1fede6e4854 |
20-Mar-2014 |
Colin Cross <ccross@android.com> |
force dex2oat target executables to be compiled for 32-bit 64-bit dex2oat doesn't support 32-bit targets yet, force dex2oat target executables to compile 32-bit for now by passing in a value for LOCAL_MULTILIB to build-art-executable. Bug: 13764385 Change-Id: I41adba1e64f373e4b61a3c13af2592ed4f7d0b57
ndroid.executable.mk
|
668e9d870015297e59d29caa38adb249b2c36350 |
02-Apr-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Update missed DEX2OAT -> DEX2OATD changes. Change-Id: I9556ac9ce30fe057e8b278858303e25c547e86ba
ndroid.oat.mk
|
1db132d0b88a17d65570199f79be84b844c54c33 |
26-Mar-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Use debug version of DEX2OAT explicitly. Change-Id: I57b4c8caedcc6bfbeaa541d8171f8b5b3069c584
ndroid.oat.mk
|
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
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libarttest.mk
ndroid.oat.mk
|
cae10f73bdad63774a3a8bc67d568b131f9bd591 |
01-Apr-2014 |
Andrew Hsieh <andrewhsieh@google.com> |
Add -lpthread -ldl to link executable/tests The new binutils-2.23 based linker in prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6 no longer implicity adds dependencies on *so an executable needs. eg. ld -o barrier_test barrier_test.o common_runtime_test.o ... -lartd produces error messages read art/runtime/thread-inl.h:43: error: undefined reference to 'pthread_getspecific' art/runtime/common_runtime_test.h:219: error: undefined reference to 'dlsym' external/gtest/src/../include/gtest/internal/gtest-port.h:1482: error: undefined reference to 'pthread_getspecific' because libartd.so DT_NEEDED libdl.so and libpthread.so, and new linker no longer implicitly add both to dependencies. Explicitly add -lpthread -ldl to fix the issue Change-Id: Ic29c68480b2ed55d282be949640b9158411f213d
ndroid.executable.mk
ndroid.gtest.mk
|
7f2e3da1052132854dcace88af75e2f5c067295d |
26-Mar-2014 |
Brian Carlstrom <bdc@google.com> |
Fix host gtests compiled with gcc (cherry picked from commit d016e1fab648093706f85cc78b63da0f3f487733) Change-Id: I5d2b8061278fd5a477ec87395fca435a3da801a3
ndroid.gtest.mk
|
06160f20ecebd72844f55589935f6d5d0d413943 |
25-Mar-2014 |
Tim Murray <timmurray@google.com> |
Merge "Fix missing link line for libgtest_host."
|
0ab4461e0cfa4ccb0acd8db25b764ba8fd78289b |
20-Mar-2014 |
Tim Murray <timmurray@google.com> |
Fix missing link line for libgtest_host. bug 13435344 Change-Id: If4197ddb97b235c731e4c771968eae46483d55b3
ndroid.gtest.mk
|
2269d2a647dbd4ad60a32be0238eda4db844d95b |
20-Mar-2014 |
Colin Cross <ccross@android.com> |
HACK: force target art executables to be compiled for 32-bit 64-bit dex2oat doesn't support 32-bit targets yet, force all art executables to compile 32-bit for now. Change-Id: If69f0a45e55104a5e915a9c58afa9009aa68b71c
ndroid.executable.mk
|
b95a5345ae4217b70ca36f0cced92f68dda7caf5 |
12-Mar-2014 |
Stuart Monteith <stuart.monteith@arm.com> |
AArch64: Add arm64 runtime support. Adds support for arm64 to ART. Assembler stubs are sufficient for down calls into interpreter. JNI compiler and generics are not finished. Basic Generic JNI functionality. Change-Id: I4a07c79d1e037b9f5746673480e32cf456867b82
ndroid.common.mk
|
43c86422e210a3883729ab90997711e79f26bccc |
18-Mar-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Fix lint error, and Makefile that could be confused with local files. Change-Id: I780cc0d6593eadd6f82e1126d7ad445894af666c
ndroid.cpplint.mk
|
bfea9c29e809e04bde4a46591fea64c5a7b922fb |
17-Jan-2014 |
Vladimir Marko <vmarko@google.com> |
Class initialization check elimination. Also, move null check elimination temporaries to the ScopedArenaAllocator and reuse the same variables in the class initialization check elimination. Change-Id: Ic746f95427065506fa6016d4931e4cb8b34937af
ndroid.gtest.mk
|
53b8b09fc80329539585dcf43657bc5f4ecefdff |
14-Mar-2014 |
Ian Rogers <irogers@google.com> |
Refactor reflective method invocation. Move invocation code out of JNI internal into reflection, including ArgArray code. Make reflective invocation use the ArgArray to build arguments rather than allocating a jvalue[] and unboxing arguments into that. Move reflection part of jni_internal_test into reflection_test. Make greater use of fast JNI. Change-Id: Ib381372df5f9a83679e30e7275de24fa0e6b1057
ndroid.gtest.mk
|
3314dcf81d116c3142520970286ffaede67ab522 |
13-Mar-2014 |
Sebastien Hertz <shertz@google.com> |
Merge "Fix debugger crashes in presence of proxy objects."
|
b7054baf28d4d652fbd98a94b089344a31898d53 |
13-Mar-2014 |
Sebastien Hertz <shertz@google.com> |
Fix debugger crashes in presence of proxy objects. Fix ClassHelper::NumDirectInterfaces to use IfTable::Count instead of the iftable array's length (which is twice the interface count). This happens when processing ReferenceType::Interfaces command and was causing a crash. Return ABSENT_INFORMATION error code when we're asked for the source file of a proxy class. Otherwise we call ClassHelper::GetSourceFile which expect the class has a corresponding ClassDef item in the DEX file which is not true for proxy classes. Add new proxy_test to check ClassHelper works correctly with proxy classes. Bug: 13426918 Change-Id: I5c1212b1a697dd7dc1ab18e99552ee113c533a5a
ndroid.gtest.mk
|
b34f69ab43aaf7a6e6045c95f398baf566ef5023 |
07-Mar-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add command line support for enabling the optimizing compiler. Also run tests with the optimizing compiler enabled when the file art/USE_OPTIMIZING_COMPILER is present. Change-Id: Ibc33eed62a43547bc3b9fe786d014c0d81b5add8
ndroid.common.mk
|
922141ac9a0ffd4888583aa6c6a06aadc016cdb8 |
12-Mar-2014 |
Andreas Gampe <agampe@google.com> |
Fixed and refactored 64b host build Add a global variable ART_HOST_ARCH in build/Android.common.mk that will be set to x86 or x86_64 depending on BUILD_HOST_64bit. This is then used as the instruction set for dex2oat. Change-Id: Icec8ef9139f780314a3ff325a729750e65d6d8da
ndroid.common.mk
ndroid.oat.mk
|
d858c96632a3e4afe522365fc725f913c8a750b9 |
11-Mar-2014 |
Ying Wang <wangying@google.com> |
Disable host clang only if WITHOUT_HOST_CLANG is set Bug: 13402154 Change-Id: Ib915e31106aeb2adf64f8fa5d008b34debc205d7
ndroid.common.mk
|
9719cd2b6ca766e9a6313793730b337c980643ff |
09-Mar-2014 |
Brian Carlstrom <bdc@google.com> |
Support WITHOUT_CLANG builds (cherry picked from commit c9f7723cdb39f9791775166ec1942e456086ad3c) Change-Id: I9443e73a07b81038452c694a2f138faecdeff500
ndroid.common.mk
|
35df1f31ae7122ea66db4b6a66efec333117ec5c |
09-Mar-2014 |
Ian Rogers <irogers@google.com> |
Work around arm64 host prebuilt differences. Change-Id: I345c994b06cc513f67270907f3877ad78dbadcc7
ndroid.common.mk
|
e0dcd46314d07eeb332edea292f5110178e4e3d2 |
09-Mar-2014 |
Ian Rogers <irogers@google.com> |
JNI down call fixes. Ensure SIRT isn't accessed via quick callee save frame. Some tidying of code. Change-Id: I8fec3e89aa6d2e86789c60a07550db2e92478ca7
ndroid.gtest.mk
|
a03de6dbabbe857deae5b0f1e388fbd3a2420dc2 |
09-Mar-2014 |
Ian Rogers <irogers@google.com> |
Revert "Revert "Make clang the default compiler on host."" This reverts commit d54f3a6219bca6ae018f4395fa0f1254bd4459be. Change-Id: Id96bb52a0d599f8848010d1589bdf0f70fc7124b
ndroid.common.mk
|
d54f3a6219bca6ae018f4395fa0f1254bd4459be |
08-Mar-2014 |
Ian Rogers <irogers@google.com> |
Revert "Make clang the default compiler on host." This reverts commit 87f8b4cf0c1d6aab3eb5d1e99cc4e7cf175ef772. Change-Id: I91a513042f0f9cf66288a296ad4a3b5da7830c7b
ndroid.common.mk
|
87f8b4cf0c1d6aab3eb5d1e99cc4e7cf175ef772 |
07-Mar-2014 |
Ian Rogers <irogers@google.com> |
Make clang the default compiler on host. Motivation, GCC's compiler warnings are inferior to clang's. -Wthread-safety is not supported by GCC starting with version 4.7. As this change only effects the host, performance issues are an impact on host building and testing alone. Fix clang gtest building on host with BUILD_HOST_64bit. Fix clang build regressions caused by unused fields. Fix x86-64 regression caused by requirement to fire-up quick compiler even in an interpret-only environment. Long-term this code doesn't belong in the quick compiler. Change-Id: Ifc2b10177f40d0724cbbf8dab9653ac03cdd1cee
ndroid.common.mk
|
719d1a33f6569864f529e5a3fff59e7bca97aad0 |
06-Mar-2014 |
Ian Rogers <irogers@google.com> |
Enable annotalysis on clang ART builds. Fix clang build errors aswell as restructure locking/mutex code for correct thread safety analysis support. Reorder make dependencies so that host builds build first as they should provide better compilation errors than target. Remove host's use of -fno-omit-frame-pointer as it has no value with correct use of CFI, which we should have. Change-Id: I72cea8da9a3757b1a0b3acb4081feccb7c6cef90
ndroid.common.mk
|
befbd5731ecca08f08780ee28a913d08ffb14656 |
06-Mar-2014 |
Ian Rogers <irogers@google.com> |
Fix host architecture for 64bit. Also, hack x86 assembler for use as a x86-64 trampoline compiler's assembler. Implement missing x86-64 quick resolution trampoline. Add x86-64 to the quick elf writer. Change-Id: I08216c67014a83492ada12898ab8000218ba7bb4
ndroid.oat.mk
|
ed8dd492e43cbaaa435c4892447072c84dbaf2dc |
11-Feb-2014 |
Serban Constantinescu <serban.constantinescu@arm.com> |
AArch64: Add ARM64 Assembler This patch adds the ARM64 Assembler and ManagedRegister backend. The implementation of the Arm64Assembler class is based on VIXL (a programmatic A64 Assembler - see external/vixl ). Change-Id: I842fd574637a953c19631eedf26f6c70d9ed7f9e Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
ndroid.common.mk
ndroid.gtest.mk
|
2fecd65be4ce930e15a9d20358d32a650a2442b9 |
05-Mar-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Add codegen support to the optimizing compiler."
|
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
ndroid.oat.mk
|
d4dd255db1d110ceb5551f6d95ff31fb57420994 |
28-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add codegen support to the optimizing compiler. Change-Id: I9aae76908ff1d6e64fb71a6718fc1426b67a5c28
ndroid.gtest.mk
|
491ca9e75fad381468dd7f5fdbff56d1a9738dd7 |
03-Mar-2014 |
Brian Carlstrom <bdc@google.com> |
Add ART -help and -showversion Bug: https://code.google.com/p/android/issues/detail?id=62149 Change-Id: I5c21c0433f5f341f94e7d977e8d2d69cc46d6fe3
ndroid.gtest.mk
|
24651ecef33eac8ea155ce36681ca7331340547a |
27-Feb-2014 |
Andreas Gampe <agampe@google.com> |
Further split of the space tests Split the random-size allocations from the static-size allocation tests Have all tests have distinguished names Bug: 13117676 Change-Id: I40130b04d11715b9bd1d1ea8d76720f83af6ba82
ndroid.gtest.mk
|
b48b9eb6d181a1f52e2e605cf26a21505f1d46ed |
01-Mar-2014 |
Ian Rogers <irogers@google.com> |
Fix clang to compile and run host tests. Don't use the computed goto interpreter with clang 3.4 as it causes compilation to hang. Avoid inclusion of LLVM_(HOST|DEVICE)_BUILD_MK except for with portable as it sets clang incompatible cflags. Most fixes are self-evident, for the quick dex file method inliner the enums were being used with ostreams, so fix the enums and operator out python script to allow this. Note this change effects portable but this is untestable as portable was broken by ELF file and mc linker changes. Change-Id: Ia54348f6b1bd3f76d3b71c6e8c5f97626386b903
ndroid.common.mk
ndroid.gtest.mk
|
a1ce1fef2d49d1d537776a5308ace7102a815fe5 |
25-Feb-2014 |
Brian Carlstrom <bdc@google.com> |
Split up CommonTest into CommonRuntimeTest and CommonCompilerTest Change-Id: I8dcf6b29a5aecd445f1a3ddb06386cf81dbc9c70
ndroid.gtest.mk
|
504e6997501aa19c7e7973e70f187314af95602c |
26-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Merge "Add conditional branches, and build dominator tree."
|
be9a92aa804c0d210f80966b74ef8ed3987f335a |
25-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Add conditional branches, and build dominator tree. Change-Id: I4b151a07b72692961235a1419b54b6b45cf54e63
ndroid.gtest.mk
|
a7433515114ae725c3427cd510f76b84107170a1 |
21-Feb-2014 |
Andreas Gampe <agampe@google.com> |
Split space_test into separate checks Split space_test by space type: dlmalloc, rosalloc and large object space to facilitate parallelized testing. Bug: 13117676 Change-Id: I152dc03717c26dfcf14e93ba2b39f83612a5f560
ndroid.gtest.mk
|
f59f18b2bd5432bb083205680c69fe64aaf60f39 |
17-Feb-2014 |
Vladimir Marko <vmarko@google.com> |
Fix and rewrite local value numbering. Fix memory versioning to take aliasing and method calls into account. Use more instructions for the null check elimination. Return the local value name of the register defined by the instruction if applicable. Change-Id: I4560bc680ae1ad553a7a00fa092c937e3da9fbbe
ndroid.gtest.mk
|
f3e2cc4a38389aa75eb8ee3973a535254bf1c8d2 |
18-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Code cleanup to avoid LLVM dependency when building with quick only. Change-Id: I0985c227d775c72fd23975d4c9bf673ba32615c2
ndroid.common.mk
|
c4a2ee4958c1abe17973233b154874ade01d0a99 |
19-Feb-2014 |
Colin Cross <ccross@android.com> |
Merge "art: convert makefiles to support multilib build"
|
818f2107e6d2d9e80faac8ae8c92faffa83cbd11 |
18-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Re-apply: Initial check-in of an optimizing compiler. The classes and the names are very much inspired by V8/Dart. It currently only supports the RETURN_VOID dex instruction, and there is a pretty printer to check if the building of the graph is correct. Change-Id: I28e125dfee86ae6ec9b3fec6aa1859523b92a893
ndroid.gtest.mk
|
1af0c0b88a956813eb0ad282664cedc391e2938f |
19-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Initial check-in of an optimizing compiler." g++ warnings turned into errors. This reverts commit 68a5fefa90f03fdf5a238ac85c9439c6b03eae96. Change-Id: I09bb95d9cc13764ca8a266c41af04801a34b9fd0
ndroid.gtest.mk
|
68a5fefa90f03fdf5a238ac85c9439c6b03eae96 |
18-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Initial check-in of an optimizing compiler. The classes and the names are very much inspired by V8/Dart. It currently only supports the RETURN_VOID dex instruction, and there is a pretty printer to check if the building of the graph is correct. Change-Id: Id5ef1b317ab997010d4e3888e456c26bef1ab9c0
ndroid.gtest.mk
|
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
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libarttest.mk
|
d2fe10a3a34af171bf1631219cd2d6ff6b7778b5 |
15-Jan-2014 |
Sebastien Hertz <shertz@google.com> |
Remove blacklist Removes the class initialization blacklist and use transaction to detect and revert class initialization attempting to invoke native method. This only concerns class initialization happening at compilation time when generating an image (like boot.art for the system). In transactional mode, we log every object's field assignment and array update. Therefore we're able to abort a transaction to restore values of fields and array as they were before the transaction starts. We also log changes to the intern string table so we can restore its state prior to transaction start. Since transactional mode only happens at compilation time, we don't need to log all these changes at runtime. In order to reduce the overhead of testing if transactional mode is on/off, we templatize interfaces of mirror::Object and mirror::Array, respectively responsible for setting a field and setting an array element. For various reasons, we skip some specific fields from transaction: - Object's class and array's length must remain unchanged so garbage collector can compute object's size. - Immutable fields only set during class loading: list of fields, method, dex caches, vtables, ... as all classes have been loaded and verified before a transaction occurs. - Object's monitor for performance reason. Before generating the image, we browse the heap to collect objects that need to be written into it. Since the heap may still holds references to unreachable objects due to aborted transactions, we trigger one collection at the end of the class preinitialization phase. Since the transaction is held by the runtime and all compilation threads share the same runtime, we need to ensure only one compilation thread has exclusive access to the runtime. To workaround this issue, we force class initialization phase to run with only one thread. Note this is only done when generating image so application compilation is not impacted. This issue will be addressed in a separate CL. Bug: 9676614 Change-Id: I221910a9183a5ba6c2b99a277f5a5a68bc69b5f9
ndroid.gtest.mk
|
4d2efce8bf1947880b90efc44448b4940c8016fb |
11-Feb-2014 |
Hiroshi Yamauchi <yamauchi@google.com> |
Don't hardcode object layout in Unsafe and space_test. Add a test for Unsafe.arrayBaseOffset() and Unsafe.arrayIndexScale(). Change-Id: I9cbdb79a4a7ee055129f41811a117910c8b2febd
ndroid.libarttest.mk
|
43b2e0f9105848da6470458e7c04bf1fd7fcb25c |
31-Jan-2014 |
Ian Rogers <irogers@google.com> |
Fix multi-line hex dumping and add unit test. Change-Id: I7657018fef5d9c17410a9a634db275555f180014
ndroid.gtest.mk
|
b5a964661b9145fa1d8e2b7a2ae1d9ea56868c8a |
30-Jan-2014 |
Ian Rogers <irogers@google.com> |
Remove -D__STDC_FORMAT_MACROS. Its either unnecessary (bionic) or defined globally for host builds. Change-Id: I2d6ebe7069545d8e2e66f13cb26887ab91b2202c
ndroid.common.mk
|
660f8f0d3c9b703660c683ce304eccce31fbf4dd |
29-Jan-2014 |
Brian Carlstrom <bdc@google.com> |
Remove boot.art phony target Change-Id: Idb1e22828567fa2c89c2e0057d5bc65a70ba2f32
ndroid.oat.mk
|
be9e06c7b73c08b5ca00ebd913f8d8f4140e811d |
28-Jan-2014 |
Brian Carlstrom <bdc@google.com> |
Merge "art: PRODUCT_DEX_PREOPT_IMAGE_IN_DATA"
|
3cab422021b121cad7a4592114f1b28f636b599d |
24-Jan-2014 |
Ian Rogers <irogers@google.com> |
Move __STDC_FORMAT_MACROS to a cflag. Current inttypes.h don't define stdint printf formatting characters for C++ but in the future this will change. Rather than #define __STDC_FORMAT_MACROS at the point of inclusion (conventional) pass it as a cflag so there is a single place to remove the #define when conventions change. Change-Id: Ice2fb07e19d8fc06ebc534c903a2d02497c31b3d
ndroid.common.mk
|
3f2d031f639b3b9dd4adbf9e70d23de931a9801d |
21-Jan-2014 |
Mark Mendell <mark.p.mendell@intel.com> |
Use macros to remove CFI information for MAC OS/X Place allocation macros inline for x86 as the macros aren't/can't go through the Linux/OSX normalizing macro wrappers. Switch to clang for OS/X host build thereby enabling -std=gnu++11 and -Wthread-safety. Remove the -Wstrict-aliasing numeric option as 3 is the default warning level and warning levels aren't supported by clang's command line. This builds as far as gtests which fail due to assumptions they would only ever compile on non-GCC with RTTI. Change-Id: Id0d83578e9b93b0f6aea5e9b8ddf2815f0dcd8aa Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
ndroid.common.mk
|
b32a3ad73be87835faec086eb587d23570de3296 |
20-Jan-2014 |
Brian Carlstrom <bdc@google.com> |
Fix bit-rot in clean-oat targets Change-Id: If7f1681b34284b16ace6bafdacc2a19a3268480c
ndroid.common.mk
|
84c7ac294130576f6886abbebe382031c20404c3 |
17-Jan-2014 |
Brian Carlstrom <bdc@google.com> |
art: PRODUCT_DEX_PREOPT_IMAGE_IN_DATA (cherry picked from commit 483236b6662f6671e4fd31279500af4f196e0ad3) Change-Id: I0f668dd8e3193f7d00618ff3d4535f39f5744dfd
ndroid.oat.mk
|
8a7b39caf0eaba78a4123e1e299c8b3e13b1d980 |
18-Dec-2013 |
Ying Wang <wangying@google.com> |
Build boot.art only if we are building the host toolchain. This fixed the Mac checkbuild. Change-Id: I88780cddf1fec6306e0c54b6d801a34b2ddafabf
ndroid.oat.mk
|
7ab763caf16cc88a9696c1ebb727242106af61eb |
09-Dec-2013 |
Brian Carlstrom <bdc@google.com> |
Move boot image generation to the build project Change-Id: I1c87640baa681ed5f0bc10bca8dc130895bb6a95
ndroid.common.mk
ndroid.oat.mk
|
500793f33b8af8bc7ccf5595a66b4b13bce766bc |
15-Nov-2013 |
Ian Rogers <irogers@google.com> |
LEB128 tests and performance measurements. Change-Id: I1850a2ff9225cfab8f896619c212b1b55f03ae94
ndroid.gtest.mk
|
86aed2a0b7972bf5a5f564d710e7b270589bbddc |
14-Nov-2013 |
Ian Rogers <irogers@google.com> |
Fix testing all valgrind tests and make errors abort. Change-Id: I6185e26cf89fde6fc8642fd4f7c5285a6f33f835
ndroid.gtest.mk
|
d912e5c36f952db8ff027d67979724fe0e56b35a |
13-Nov-2013 |
Ian Rogers <irogers@google.com> |
Allow host valgrind gtests to be run individually. Change-Id: I80976600034046cb42e8565bfd38f75811d7a08e
ndroid.gtest.mk
|
7bcbb29cdf95177cb675f2a6c8c10afa6197af43 |
07-Nov-2013 |
Brian Carlstrom <bdc@google.com> |
am 55ed56bd: Merge "Make missing DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES an error" * commit '55ed56bd5ba912d6b91776046bee09e779c8d879': Make missing DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES an error
|
ce90ec44861977372aeac550ed6c878c908bd774 |
06-Nov-2013 |
Dave Allison <dallison@google.com> |
Don't force dex2oat run on dex2oat changes This was accidentally checked in on a previous CL. Bug: 11299025 Change-Id: I6c695dc891db9102fabd7805ee9480dfc41d0408
ndroid.oat.mk
|
1bd2ceb3a8c68ae6ea1f9627b588a7bc7a74487f |
06-Nov-2013 |
Brian Carlstrom <bdc@google.com> |
Make missing DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES an error Change-Id: I3ca23e4db80c8ab8a86da6408cf38daccd4cfaf1
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.oat.mk
|
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
ndroid.executable.mk
ndroid.gtest.mk
ndroid.oat.mk
|
ef9ddc9621bb466edf91c0bebdecf3fad5745164 |
29-Oct-2013 |
Brian Carlstrom <bdc@google.com> |
am 2b07096c: Fix Mac build * commit '2b07096c1de5461339d9ea97869d33b5166544ae': Fix Mac build
|
2b07096c1de5461339d9ea97869d33b5166544ae |
29-Oct-2013 |
Brian Carlstrom <bdc@google.com> |
Fix Mac build Change-Id: I2125cd9555c48ef69627f0824ae60759fc6ac853
ndroid.oat.mk
|
fe6e6a75ae3dcb4ff8a5cbcf0069171d0fe75255 |
29-Oct-2013 |
Brian Carlstrom <bdc@google.com> |
am 661cc989: Merge "Make ART\'s run-test support Dalvik so we can remove dalvik/tests" * commit '661cc989b99e8eed3929a79aee9e10cfb5aa4f1d': Make ART's run-test support Dalvik so we can remove dalvik/tests
|
dc959ea822b100740424fc2eee4037512bde82c2 |
28-Oct-2013 |
Brian Carlstrom <bdc@google.com> |
Make ART's run-test support Dalvik so we can remove dalvik/tests Change-Id: Iba4ddf39169346573c97b443d5d65c6b8963fd4b
ndroid.oat.mk
|
ba150c37d582eeeb8c11ba5245edc281cf31793c |
28-Aug-2013 |
Brian Carlstrom <bdc@google.com> |
Omit OatMethodOffsets for classes without compiled code Change-Id: If0d290f4aebc778ff12d8fed017c270ad2ac3220
ndroid.gtest.mk
|
413e89f277ec6ba1bdf2040f5b5611f29a27a447 |
22-Oct-2013 |
Brian Carlstrom <bdc@google.com> |
Refactor ArenaBitVector to create more general BitVector Change-Id: Ib26f2884de9ce7d620048bdf5ed6dec639622e41
ndroid.gtest.mk
|
775c496f989f0e37d2e9a43274c0b55f201b4116 |
11-Oct-2013 |
Brian Carlstrom <bdc@google.com> |
resolved conflicts for merge of b926b3c6 to dalvik-dev Change-Id: Ic56131b49ddfa1ffbc9b50f15e79a0210bd07a41
|
b926b3c6821726bf24245478cf24788c57910f0c |
11-Oct-2013 |
Brian Carlstrom <bdc@google.com> |
am 920d7fd5: am ce88853a: Have JNI FindClass fall back to system ClassLoader Bug: 10994325 * commit '920d7fd575cc42b11b278f6bb10760f291db7e38': Have JNI FindClass fall back to system ClassLoader Bug: 10994325
|
ce88853ab316c70ef7b598978a3609611db60552 |
10-Oct-2013 |
Brian Carlstrom <bdc@google.com> |
Have JNI FindClass fall back to system ClassLoader Bug: 10994325 Change-Id: Id0a46e78eecfe8a9eb91008765c4fff48697cc58
ndroid.libarttest.mk
|
b60df31f4c7a1642ef8b3bad1cbdba4d471d4e55 |
18-Sep-2013 |
Ying Wang <wangying@google.com> |
am d910172d: Don\'t fail if llvm.mk is not available. * commit 'd910172d7acc5d62617e40d1c264a8268eb75a7e': Don't fail if llvm.mk is not available.
|
d910172d7acc5d62617e40d1c264a8268eb75a7e |
18-Sep-2013 |
Ying Wang <wangying@google.com> |
Don't fail if llvm.mk is not available. This enables doing dalvik minimal host build without external/llvm. Change-Id: I1f44f4d29b941086a79758c816674c9f9966eb31
ndroid.common.mk
|
75165d015cc737f951d4264f8c55012298abdb18 |
12-Sep-2013 |
Mathieu Chartier <mathieuc@google.com> |
Add valgrind support to compiler arena allocator. Change-Id: Id9974301d3810bfac968ee562b01a11098e402c2
ndroid.common.mk
|
193bad9b9cfd10642043fa2ebbfc68bd5f9ede4b |
30-Aug-2013 |
Mathieu Chartier <mathieuc@google.com> |
Multi threaded hashed deduplication during compilation. Moved deduplication to be in the compiler driver instead of oat writer. This enables deduplication to be performed on multiple threads. Also added a hash function to avoid excessive comparison of byte arrays. Improvements: Before (alloats host): real 1m6.967s user 4m22.940s sys 1m22.610s Thinkfree.apk (target mako): 0m23.74s real 0m50.95s user 0m9.50s system 0m24.62s real 0m50.61s user 0m10.07s system 0m24.22s real 0m51.44s user 0m10.09s system 0m23.70s real 0m51.05s user 0m9.97s system 0m23.50s real 0m50.74s user 0m10.63s system After (alloats host): real 1m5.705s user 4m44.030s sys 1m29.990s Thinkfree.apk (target mako): 0m23.32s real 0m51.38s user 0m10.00s system 0m23.49s real 0m51.20s user 0m9.80s system 0m23.18s real 0m50.80s user 0m9.77s system 0m23.52s real 0m51.22s user 0m10.02s system 0m23.50s real 0m51.55s user 0m9.46s system Bug: 10552630 Change-Id: Ia6d06a747b86b0bfc4473b3cd68f8ce1a1c7eb22
ndroid.gtest.mk
|
0e480cad5d2cf0904b98b7b56e90280e9b97ba30 |
16-Aug-2013 |
Ian Rogers <irogers@google.com> |
Move output_stream files out of runtime. Also move image_test and oat_test that are more writing tests. Change-Id: I6af1400d8e745bbf87f626ca87dae3e2d85b40f1
ndroid.gtest.mk
|
8d11af55067676eba0e210f05f340784f541c4c7 |
15-Aug-2013 |
Ian Rogers <irogers@google.com> |
Switch GCC -O flags, O3 non-debug, 01 debug. Remove -fno-inline. Fix a missing #include. Change-Id: Idf87a14e39cc127749d4db41fb0e75c899f5d029
ndroid.common.mk
|
9b3c3cdb62f7142384e6bf2c0cb6e3a76b16f0e3 |
13-Aug-2013 |
Mathieu Chartier <mathieuc@google.com> |
C++11 support for ART. We can now use auto, ranged based loops, etc.. This compiles, the phone boots, and the tests pass. Depends on: https://googleplex-android-review.googlesource.com/#/c/342487/ Change-Id: I8ba8ed47d2118e4711668c9c8f973a67beb261b2
ndroid.common.mk
|
b3733086ab415088b97fac20b3eea24433a7d2c5 |
13-Aug-2013 |
Hiroshi Yamauchi <yamauchi@google.com> |
Add a systrace support for lock contention logging. - Now several ART executables like oatdump need to link with libcutils as the mutex code is shared among them. - The blocking thread ID and lock owner thread ID are passed to ScopedContentionRecorder in the correct order. Bug: 9986464 Change-Id: Id766de23fbc4af1d8ba2de051595e365b04f5ae7
ndroid.libarttest.mk
|
4446ab9e70dde779d97f451c4904f6b8770232bd |
10-Aug-2013 |
Anwar Ghuloum <anwarg@google.com> |
Systrace fixups and refactoring for TimingLogger Fixed systrace bounds for timing logger in GC. Refactored CumulativeLogger a bit to allow for multiple identical entries. Added ScopedSplit, now composes with explicit start/end/new splits. Adds some unit tests. Bug: 10036801 Change-Id: If0afb88b48ec3a1e19462ed354babb274a9517a7
ndroid.gtest.mk
|
597e46bf300244a45d1e214c618e89250b39912b |
08-Aug-2013 |
Dragos Sbirlea <dragoss@google.com> |
Added tests for SEA IR intermediate representation. Change-Id: Ibc55fc3d1f6f753381a9d508d250944c2c45531d
ndroid.gtest.mk
|
423fb4d70f2ac36bf9f630146b4150771a8e7e76 |
06-Aug-2013 |
Dragos Sbirlea <dragoss@google.com> |
Add tests for SEA IR types infrastructure. type_data_test.cc: Tests the type store used to record info on the types of results from instructions. type_inferecen_visitor_test.cc: Tests type merging and related operations. Android.gtest.mk: Included new tests. type_inference_visitor.h/.cc: Marked function as const and made public. scoped_hashtable_test.cc: Included full header path in #include. Change-Id: I868461dcaed1e7f75db15958b83a3db7e17f6a64
ndroid.gtest.mk
|
fa50baa45bf7c82e489bd66bbba70544f7981997 |
02-Aug-2013 |
Brian Carlstrom <bdc@google.com> |
Restore build-art minimal build Change-Id: I0f4f2e8c6d2505a339cb9a1175d30ed9b229c45d
ndroid.executable.mk
|
f133479fa1d7e41bc9e63f50088dbcb8592d074c |
31-Jul-2013 |
Elliott Hughes <enh@google.com> |
am 025218c7: Clean up stlport usage. * commit '025218c7e4330a4942b14f9a8f1f68bd3390261c': Clean up stlport usage.
|
025218c7e4330a4942b14f9a8f1f68bd3390261c |
31-Jul-2013 |
Elliott Hughes <enh@google.com> |
Clean up stlport usage. Change-Id: I133cd88f1da37f6f801a9e07a78ae23b671cf4f1
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libarttest.mk
|
7655f29fabc0a12765de828914a18314382e5a35 |
29-Jul-2013 |
Ian Rogers <irogers@google.com> |
Portable refactorings. Separate quick from portable entrypoints. Move architectural dependencies into arch. Change-Id: I9adbc0a9782e2959fdc3308215f01e3107632b7c
ndroid.gtest.mk
|
32e8e0421c34cfbeffdbb35e57751e9c4d8d1fa2 |
30-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Merge "Multiple-inclusion protection for Android.common.mk" into dalvik-dev
|
2f7eb4d21f6a744d01924b02e8ad2b79bc368f6e |
30-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
am 9004cb65: Allow MemMap to support empty map requests * commit '9004cb6591781d1e6c5ec6d7bc6dc99d9ecee124': Allow MemMap to support empty map requests
|
9004cb6591781d1e6c5ec6d7bc6dc99d9ecee124 |
27-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Allow MemMap to support empty map requests Discovered trying to use ZipEntry::ExtractToMemMap on an empty preloaded-classes. Bug: 8659045 Change-Id: Icfbbe6b313e2d1ee708b44a8d8d354d6203fd669
ndroid.gtest.mk
|
37c19bc2b36535e686782b7b5d4030d2fb7e2f56 |
29-Jul-2013 |
Dragos Sbirlea <dragoss@google.com> |
Multiple-inclusion protection for Android.common.mk Change-Id: I0d228dfacc87f0b50ab1414cb4a46f6010578834
ndroid.common.mk
|
166db04e259ca51838c311891598664deeed85ad |
26-Jul-2013 |
Ian Rogers <irogers@google.com> |
Move assembler out of runtime into compiler/utils. Other directory layout bits of clean up. There is still work to separate quick and portable in some files (e.g. argument visitor, proxy..). Change-Id: If8fecffda8ba5c4c47a035f0c622c538c6b58351
ndroid.gtest.mk
|
7934ac288acfb2552bb0b06ec1f61e5820d924a4 |
26-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix cpplint whitespace/comments issues Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
ndroid.cpplint.mk
|
8a7bc17da633d3577eda040ac490cbd8351dc6b9 |
23-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
am 55c0ac85: Merge "Enable darwin target build for art." * commit '55c0ac8528fb07c9f0900013b828ee8c60120860': Enable darwin target build for art.
|
19e776ceb178397661b0323a9a982f6db249a56d |
23-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Enable darwin target build for art. Change-Id: I8fc04258360d663d2fcd07c307fdfdd2981cdd19
ndroid.common.mk
ndroid.gtest.mk
ndroid.libarttest.mk
|
d0e4e9eea233a55856df726c98ecc7aaca7f826c |
19-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
am 05eecea7: Enable running cpplint.py on art C++ files when using mm and mmm * commit '05eecea70b64095db2bc5f9f8aef7475964a9d7b': Enable running cpplint.py on art C++ files when using mm and mmm
|
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
ndroid.cpplint.mk
|
61ecc585bd4d2ae64f6cb6cd4524a3292ff4f201 |
17-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
am 17bfe263: Use LOCAL_REQUIRED_MODULES instead of LOCAL_ADDITIONAL_DEPENDENCIES so we only relink the tests on libart changes but do not recompile them. * commit '17bfe263d8a37aa4da4c5088e4245dedaebc3ff8': Use LOCAL_REQUIRED_MODULES instead of LOCAL_ADDITIONAL_DEPENDENCIES so we only relink the tests on libart changes but do not recompile them.
|
17bfe263d8a37aa4da4c5088e4245dedaebc3ff8 |
17-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Use LOCAL_REQUIRED_MODULES instead of LOCAL_ADDITIONAL_DEPENDENCIES so we only relink the tests on libart changes but do not recompile them. Change-Id: I47d7cdaa51749970eccac8528b032448a26b6e91
ndroid.gtest.mk
|
cf6aba685c25b5a0f9e65243416ed9a07cea98df |
17-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
am 0cb7853d: Fix typo in makefile * commit '0cb7853dec0ccc99c5d21f6b591b315710a15922': Fix typo in makefile
|
0cb7853dec0ccc99c5d21f6b591b315710a15922 |
17-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix typo in makefile Change-Id: I462df0f268472460171c355d322eafc58a46a522
ndroid.gtest.mk
|
c0ee6506e0c824f6ea737b37e1d6c23f5d258dea |
13-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix LOCAL_ADDITIONAL_DEPENDENCIES in Android.oat.mk (cherry picked from commit c8475a6eda5d640263210e1e0c025d15b6180c02) Change-Id: Ie97484e53c9187fdcaaf9f27b6f0c3770ab7d7a9
ndroid.oat.mk
|
875ebec9f100d0269f3da1ff2c4db3315d341f77 |
15-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
am 3795f251: Use non-PHONY dependency to avoid rebuilding art gtests repeatedly. * commit '3795f2517f47702764f372086367c47d4cd776d9': Use non-PHONY dependency to avoid rebuilding art gtests repeatedly.
|
3795f2517f47702764f372086367c47d4cd776d9 |
15-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Use non-PHONY dependency to avoid rebuilding art gtests repeatedly. Change-Id: I675552b68c3375204eb9ef356ce80aa9615f4ccf
ndroid.gtest.mk
|
ad0c220e193593b76966252bf057d5ef29e1c7a3 |
15-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
am 4478eb0a: Include dex2oatd along with libart and libartd-compiler * commit '4478eb0a14a154fbdbaeef075dce8a5f8a33b25c': Include dex2oatd along with libart and libartd-compiler
|
4478eb0a14a154fbdbaeef075dce8a5f8a33b25c |
15-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Include dex2oatd along with libart and libartd-compiler Change-Id: I154fccef2667d640141f9fc484697d5cf6531608
ndroid.gtest.mk
|
58cc497e7382d4eeb6d39bcc98d222689909ba39 |
13-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Move ScopedHashtable files out of art/src Change-Id: If854ee34dc81abb81bc7e021bc59c7b151cd6ab5
ndroid.gtest.mk
|
c8475a6eda5d640263210e1e0c025d15b6180c02 |
13-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix LOCAL_ADDITIONAL_DEPENDENCIES in Android.oat.mk Change-Id: Ie9177e15dd53f7a89a8f12d056fb0b4386ec5fba
ndroid.oat.mk
|
1db9113bcc12368e405583804ceb8aa7c80cc0cd |
13-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
resolved conflicts for merge of 7940e44f to dalvik-dev Change-Id: I6529b2fc27dfaedd2cb87b3697d049ccabed36ee
|
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
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart-compiler.mk
ndroid.libart.mk
ndroid.libarttest.mk
ndroid.oattest.mk
|
bba5dd55b7deda3a3271be502f1d3b0c30a759d6 |
13-Jul-2013 |
Anwar Ghuloum <anwarg@google.com> |
Merge "Semi-pruned SSA support for sea-ir." into dalvik-dev
|
8cc5162f19d64eb6414e7e421cea4413debe671e |
21-Jun-2013 |
Dragos Sbirlea <dragoss@google.com> |
Semi-pruned SSA support for sea-ir. Added the following: Per file: sea_ir/sea.*: IDominator pass, dominance frontiers, global variables for ssa transformation, phi-function insertion pass, SSA renaming pass. sea_ir/instruction_tools.*: These tools provide info needed by dataflow analysis that is dependent on dex format. compiler/utils/scoped_hashtable.h: Scoped hashtable implementation that allows fast SSA renaming. src/compiler/utils/scoped_hashtable_test.cc: Test for scoped_hashtable.h. dex_instruction.cc: Changed semantics of the VRegA,B,C function to return NO_REGISTER instead of aborting if the instruction does not have register operands. Android.common.mk: Added support for scoped_hashtable test. Change-Id: I990fe4c213d241a033e43a04a67c6083fca4b347
ndroid.gtest.mk
|
987ccff48fe2c0645756e1089608e4b6b7e9f7bf |
08-Jul-2013 |
Mathieu Chartier <mathieuc@google.com> |
Native allocation accounting Added two new functions: registerNativeAllocation and registerNativeFree. These functions should be used to let the GC know about native allocations which are held live by Java objects and released in finalizers. GC are performed or requested from within registerNativeAllocation when the total number of native bytes accounted for exceeds a certain threshold. After a GC occurs in registerNativeAllocation, finalizers are run so that the native memory is freed. Added a test which shows how to use these functions. Change-Id: I40f3c79e1c02d5008dec7d58d61c5bb97ec2fc1b
ndroid.oattest.mk
|
1581766afea0b31de0ed0f9f677fc3b92a29daae |
12-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
resolved conflicts for merge of 51c2467e to dalvik-dev Change-Id: Ia7a8785d3220df6feeb999bc70f6d1917cad8d75
|
51c2467e8771b56e25ae4f17f66522f979f57a7e |
12-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
libart-compiler cleanup - Move compile-time code to src/compiler and libart-compiler OatWriter, ImageWriter, ElfWriter, ElfFixup, ElfStripper, stub generation - Move ClassReference and MethodReference to remove MethodVerifier dependency on CompilerDriver - Move runtime_support_llvm.cc out of src/compiler and next to runtime_support.cc - Change dex2oat and gtests to directly depend on libart-compiler - Move non-common definitions from Android.common.mk to more specific makefiles - Add LOCAL_ADDITIONAL_DEPENDENCIES on appropriate makefiles Change-Id: I897027e69945914128f21f317a92caf9255bc600
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart-compiler.mk
ndroid.libart.mk
ndroid.libarttest.mk
ndroid.oat.mk
ndroid.oattest.mk
|
d25de7a7c5f3c9462654a572e28cca73909520b0 |
21-Jun-2013 |
Dragos Sbirlea <dragoss@google.com> |
Preparing SSA support for SEA IR: reaching definitions. Added the following: - Downward-exposed uses. - Reaching definitions. - Better .dot generation. Per file: sea_ir/sea.*: Downward exposed definitions and reaching definitions code. dex_instruction.*: Wrapper function added to expose the vA register, which is later used by dataflow analysis. sea_ir/instruction_tools.*: These tools provide info needed by dataflow analysis that is dependent on dex format. dex/frontend.cc: Formatting issues fixed. sea_ir/*.*: All files pass cpplint validation. *.mk: Support for new files added in this CL. Change-Id: Ic510e7fb55aebcde99a121304ee7e841a3307358
ndroid.common.mk
ndroid.libart-compiler.mk
|
e53ebbcf98d004f0e1f631a630d0344d104e3dc6 |
27-Jun-2013 |
Anwar Ghuloum <anwarg@google.com> |
Merge changes I3b33358e,I7467ee05 into dalvik-dev * changes: Added wrapper functions for register acccess in Instruction. Added support for SEA IR.
|
eae05507f22a9f58d2058514496afd0f9b3e94b6 |
26-Jun-2013 |
Brian Carlstrom <bdc@google.com> |
Make art use core-libart explicitly (part 2) Change-Id: Id08306ae147c745a407635d6ce93019f14145181
ndroid.oat.mk
|
9c7ca420ca940ac778f64ac2277792b47779e1fb |
26-Jun-2013 |
Brian Carlstrom <bdc@google.com> |
am 3b010aa8: Make art use core-libart explicitly * commit '3b010aa88cec548a9a4213c7cbdc416f73ea5c3c': Make art use core-libart explicitly
|
3b010aa88cec548a9a4213c7cbdc416f73ea5c3c |
26-Jun-2013 |
Brian Carlstrom <bdc@google.com> |
Make art use core-libart explicitly Change-Id: Ibc75910df56428dd8d5d2a4bab41dc3d2a3c61d7
ndroid.oat.mk
|
7467ee05012e1fd9834df74663c1ebda46f5636b |
21-Jun-2013 |
Dragos Sbirlea <dragoss@google.com> |
Added support for SEA IR. - Modified makefile to take the existance of SEA_IR_ART file to mean "switch to sea ir mode". - Switching SEA IR mode on leads to the new compiler being fed the fibonacci methods only, if they are used as input. - Added partial support for the control flow subgraph of the SEA IR (instruction nodes and region nodes for conditional and unconditional branches). Change-Id: I29020b8e2df5a00fde75715c3683cc25038589f4 Conflicts: src/compiler/driver/compiler_driver.cc
ndroid.common.mk
ndroid.libart-compiler.mk
|
2d6ba5158d7fd459db2870df47300b517dc4d08c |
17-May-2013 |
Sebastien Hertz <shertz@google.com> |
Quickening support. This CL adds quickening support for methods which are interpreted at runtime. This CL introduces a DEX-to-DEX compiler. A method is now compiled in one of the two following modes: - Native compilation: the method is compiled by the Quick or Portable backends. At runtime, the generated native target-dependent code is executed. - DEX-to-DEX compilation: the method is executed by the interpreter at runtime. Its DEX code is compiled so some instructions can be replaced by special instructions only valid at runtime. No native code is generated. The quickening adds special instructions to improve runtime performance. They are "-quick" versions of the following instructions: - iget/iput - iget-wide/iput-wide - iget-object/iput-object - invoke-virtual/range. These special instructions cannot be treated by the verifier since they lose the field/method index referencing the field/method being accessed/invoked. To prevent this, the DEX-to-DEX compiler is run only on methods of preverified classes (without verification error at compilation time). The DEX-to-DEX compiler implements quickening support using the CompilerDriver interface like the native compiler does (Quick or Portable backends). To replace instructions, the DEX-to-DEX compiler must be able to modify the mmapped DEX file. Since it can be read-only protected, the DEX-to-DEX compiler must be able to temporarily change its protection to read-write mmapped file. To achieve this, this CL adds support for changing DEX file protection with DexFile::EnableWrite and DexFile::DisableWrite methods. Besides, it also adds a dedicated lock (DexFile::modification_lock) to ensure thread-safety and avoid concurrent DEX file protection change (from a parallel DEX-to-DEX compiler on the same DEX file). Change-Id: Iaafd103b9766810d7fc94a2c424a8fafba66e26a
ndroid.libart-compiler.mk
|
1d54e73444e017d3a65234e0f193846f3e27472b |
03-May-2013 |
Ian Rogers <irogers@google.com> |
GC clean up. Greater use of directories and namespaces. Fix bugs that cause verify options to fail. Address numerous other issues: GC barrier wait occurring holding locks: GC barrier waits occur when we wait for threads to run the check point function on themselves. This is happening with the heap bitmap and mutator lock held meaning that a thread that tries to take either lock exclusively will block waiting on a thread that is waiting. If this thread is the thread we're waiting to run the check point then the VM will deadlock. This deadlock occurred unnoticed as the call to check for wait safety was removed in: https://googleplex-android-review.googlesource.com/#/c/249423/1. NewTimingLogger: Existing timing log states when a split ends but not when it begins. This isn't good for systrace, in the context of GC it means that races between mutators and the GC are hard to discover what phase the GC is in, we know what phase it just finished and derive but that's not ideal. Support for only 1 discontinuous space: Code special cases continuous and large object space, rather than assuming we can have a collection of both. Sorted atomic stacks: Used to improve verification performance. Simplify their use and add extra checks. Simplify mod-union table abstractions. Reduce use of std::strings and their associated overhead in hot code. Make time units of fields explicit. Reduce confusion that IsAllocSpace is really IsDlMallocSpace. Make GetTotalMemory (exposed via System) equal to the footprint (as in Dalvik) rather than the max memory footprint. Change-Id: Ie87067140fa4499b15edab691fe6565d79599812
ndroid.common.mk
|
4c22e7eabef3f815841dfc6e0d5bbead96150752 |
21-Jun-2013 |
Brian Carlstrom <bdc@google.com> |
am 30e2ea4a: Move art to use dalvik names for .oat files * commit '30e2ea4a701d53f28431041af68dc0669e60c569': Move art to use dalvik names for .oat files
|
30e2ea4a701d53f28431041af68dc0669e60c569 |
20-Jun-2013 |
Brian Carlstrom <bdc@google.com> |
Move art to use dalvik names for .oat files Change-Id: Ia383c0a0847684a513cab7db44b4ecf8fe05e1c3
ndroid.oattest.mk
|
e4c891a0dc88cd3c5891372f28659f6bea0cbcfd |
18-Jun-2013 |
Brian Carlstrom <bdc@google.com> |
am fa42b441: Move to new art dalvikvm * commit 'fa42b4410d49134a8e63dc2196be4013d286f2d6': Move to new art dalvikvm
|
fa42b4410d49134a8e63dc2196be4013d286f2d6 |
17-Jun-2013 |
Brian Carlstrom <bdc@google.com> |
Move to new art dalvikvm Change-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7
ndroid.common.mk
ndroid.executable.mk
ndroid.oattest.mk
|
0aba0ba155bef7346bde19e53581200b89ae8a7a |
03-Jun-2013 |
Jeff Hao <jeffhao@google.com> |
Created compiled stubs in image. Saves class linker from having to set code pointers when loading from an image. Added stubs for quick and portable resolution trampolines, and interpreter-to-interpreter and interpreter-to-quick entry points. Also added sizing stats output for oat writer. Change-Id: I3905fae81047742c23d1cf0ca001db798db971b1
ndroid.common.mk
|
8d3a117b374352a1853fae9b7306afeaaa9e3b91 |
04-Jun-2013 |
Ian Rogers <irogers@google.com> |
Perf tweaks to compiling and oat writing. Make hot quick compiler routines inlinable. Remove computation/use of SSA strings. Use vector insert when writing to the end of a vector in the output stream, to avoid a memset followed by a memcpy. Generating boot.oat/art these changes improve performance by around 2.5%. Change-Id: I3d0bdb01333efe8f0eda4bdf97225e0b307f934d
ndroid.libart-compiler.mk
|
a72dd8b69408a46877cf2a6c104716e4c09a4358 |
04-Jun-2013 |
Anwar Ghuloum <anwarg@google.com> |
Conform to convention for build env var for small art Change-Id: Ic1f8c490a9341f2526713aa9b9b6c7ff9d4a8c70
ndroid.common.mk
|
637c65b1e431fd90195b71c141b3590bd81cc91a |
31-May-2013 |
Ian Rogers <irogers@google.com> |
Verifier improvements. Make type hierarchy for unresolved and unitialized types explicit. Tidy and comment code. Add DexFile::FindStringId that takes UTF-16 to avoid unnecessary UTF-8 conversions during image writing. Explicitly disable RTTI that causes problems in debug builds. Change-Id: I701f1c3be8be5854fcabf5ec39e9f9c5d388aab0
ndroid.common.mk
|
f89eccd509475cb1949c729e796b26a2a248ae04 |
30-May-2013 |
Ian Rogers <irogers@google.com> |
Use no-omit-frame-pointer in host builds. Change-Id: Ic9cbf1244f7867996c0ec5f79908cce25fc6c7b0
ndroid.common.mk
|
ba3ce9a51651f3f3de2ecc82673b46762b1f2d9d |
18-May-2013 |
Ian Rogers <irogers@google.com> |
Re-enable thread-safety checking on host, warn when not enabled. Disable thread safety checks in the interpreter where template specialization is causing annotalysis issues. Change-Id: I178ea278a93a3eb90f386b3e02827b5c61ea0e52
ndroid.common.mk
|
1e8c505213dea6ce5a29aa1b7a78a3566251e60c |
22-May-2013 |
Brian Carlstrom <bdc@google.com> |
Remove quick compile-time dependency on mclinker Change-Id: Ib3444a0cb53438dcd38290a23381cb445384c865
ndroid.libart-compiler.mk
|
6a47b9dc850b903aabefcfab4adb132cb68bba2e |
17-May-2013 |
Brian Carlstrom <bdc@google.com> |
Refactor ElfWriter and introduce ElfWriterQuick Change-Id: I3eaa1fa1085bb4d28fe342a7420272720e48274b
ndroid.libart-compiler.mk
|
cd5d0422ac07b03220970a3606f8b402a3636528 |
18-May-2013 |
Ian Rogers <irogers@google.com> |
Clang build support, -Wthread-safety with GCC 4.6. Change-Id: Idccb4daa012c66a6ece3f7a037c9c2c029beba64
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart-compiler.mk
ndroid.libart.mk
ndroid.libarttest.mk
|
c44f68fb6a6d55c0df28dd05b93d8906ec20bd08 |
10-May-2013 |
Anwar Ghuloum <anwarg@google.com> |
Fixed Android.common.mk #define setting for small art We were seeing things compile when they shouldn't have. This fixes it. Plus added a bit more documentation to options, set default values for the two small art related thresholds to zero. Change-Id: Id5db11962f3e30d8d4ee6b85d4cf7d6e66323adb
ndroid.common.mk
|
cf9773a7adff883012dbd519a66e85f1f7aaaa11 |
01-May-2013 |
Anwar Ghuloum <anwarg@google.com> |
Merge "Compile filter for small applications and methods" into dalvik-dev
|
8447d84d847d4562d7a7bce62768c27e7d20a9aa |
01-May-2013 |
Anwar Ghuloum <anwarg@google.com> |
Compile filter for small applications and methods Adds a filter per method and program size (in method count). Right now, options are treated as runtime options...but we might want to change this and separate options for compilers and runtime. Change-Id: I8c3e925116119af8ffa95ff09f77bcfdd173767b
ndroid.common.mk
|
654d91957edb4d1f7534ed5d743cf914db763448 |
01-May-2013 |
Brian Carlstrom <bdc@google.com> |
Add conscrypt to art tests Change-Id: I26694517d398b0f84f48c7496c3159b7863fa833
ndroid.oat.mk
|
79fe539587d4c09244172d0168eeed0ec9770466 |
25-Apr-2013 |
Jeff Hao <jeffhao@google.com> |
Removing remaining compiled stubs from image. Abstract method error stub and jni dlsym lookup stubs are gone. After this change, the image no longer needs to be executable. Change-Id: Ic75d72bf7e76e3b8ecc596e82af68ab592dde15e
ndroid.common.mk
|
c4f105d75cd0cbc5145620068bbb8a819148e535 |
11-Apr-2013 |
Anwar Ghuloum <anwarg@google.com> |
Compile less stuff Don't compile class initializers, compile programs with fewer than commmand-line specified number of methods, mildly refactor SLOW_MODE, rename into LIGHT_MODE. Also, walks the image for uncompiled methods and fixes up with pointers to the interpreter entry point. (Removed hot method list and light method limit as these are experimental.) Change-Id: I2ae33d8add84ab9f4d76f9d910cae422c81a7832
ndroid.common.mk
|
9d6589c2744835bf946e52b3dfcbcec7099e343e |
11-Apr-2013 |
buzbee <buzbee@google.com> |
Merge "Compiler: continuing refactoring" into dalvik-dev
|
862a76027076c341c26aa6cd4a30a7cdd6dc2143 |
05-Apr-2013 |
buzbee <buzbee@google.com> |
Compiler: continuing refactoring Moving the arena memory allocation mechanism into it's own class as a prelude to cleaning up the MIR and LIR data structures. Reworked bit vector as a class using placement new w/ the arena allocator. Reworked GrowableList as a class template using the new arena allocator and renamed to GrowableArray. Change-Id: I639c4c08abe068094cae2649e04f58c8addd0015
ndroid.libart-compiler.mk
|
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
ndroid.common.mk
|
9609cb6ee479d5853aaf170d55b60715491c5db5 |
06-Apr-2013 |
Jeff Hao <jeffhao@google.com> |
Remove remaining code related to compiled invoke and proxy stubs. Change-Id: Ib0b2829fed9d7efee09d098ce4db9d13f2fa2eac
ndroid.libart-compiler.mk
|
bf393efe476801b7f27fe6aa47691e3305552e9e |
30-Mar-2013 |
Brian Carlstrom <bdc@google.com> |
Merge branch 'dalvik-dev' of https://googleplex-android.googlesource.com/a/platform/art into fixes-for-art-build-with-mr2 Change-Id: Ie46d1f77f98b8a6f55f02b8614cb88b36b6a2d44
|
ecc668244c869af4241662f51ff0ecb7e77c6bdb |
30-Mar-2013 |
Brian Carlstrom <bdc@google.com> |
Tracking rename of libcompiler-rt.a to libcompiler_rt.a Change-Id: I3f9396dbef38d38245a181023f2ad0f74866458c
ndroid.libart-compiler.mk
|
74180cad94848107cf297d37e72437c5a6eecf1b |
27-Mar-2013 |
Jeff Hao <jeffhao@google.com> |
Remove code related to compiled invoke stubs. Note that the oat file version is now bumped to 004. A clean-oat will be necessary after syncing this change. Change-Id: If8875335b7fcc39b6b40c6f95de07da50da7b6b8
ndroid.libart-compiler.mk
|
37d4879df243f7a2161b5416fad299ad1d495131 |
22-Mar-2013 |
Brian Carlstrom <bdc@google.com> |
Changes to move to jb-mr2 based llvm Change-Id: Iae8b2164f25146807662a6025a254fec6d40bb52
ndroid.libart-compiler.mk
|
59b976bc993af84fdc7af9b72cb60bf709cc7ffa |
22-Mar-2013 |
Brian Carlstrom <bdc@google.com> |
Remove gcc-based annotalysis support Change-Id: I2aeb9410eb004e5158c680d90c28b18832041b87
ndroid.common.mk
|
52e55cbc6d18694556176b58ef79b5ae52c8039c |
22-Mar-2013 |
Brian Carlstrom <bdc@google.com> |
Remove gcc-based tsan support Change-Id: I145331e295f69e99408e03cb59df26fb337510f5
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart.mk
ndroid.libarttest.mk
|
f3e9855ee2000106b54fd479f7a46da2dc2ad079 |
20-Mar-2013 |
Ian Rogers <irogers@google.com> |
Slow ART. Run ART with the interpreter for all but boot.oat code. Change-Id: I1654ecff6769a6c754f713be7580717d5ce07dc1
ndroid.common.mk
|
311ca169f4727d46a55bdc8dfa0059719fa72b65 |
01-Mar-2013 |
buzbee <buzbee@google.com> |
Compiler: Spring cleaning Significant restructuring of the Quick compiler to break out the common frontend more cleanly. Additional C++'ification. The goal is to move from the monolithic structure of the old JIT towards a more modular model in which components - in particular the compiler backend - can be replaced. This CL focuses on moving MIR-related data from the CompilationUnit struct into a new MIRGraph class. The next CL will isolate all LIR-related data and code down into the Quick backend. This change will happen in multiple steps, and may look uglier before it starts looking better. Among the changes: o Moved all mir-related fields from CompilationUnit to new MirGraph class. o Moved the register promotion stuff into the Quick backend. o Deleted the GBC to LIR conversion code. o Replaced with old C-style function pointer dataflow analysis dispatcher with a basic block iterator class. o Renamed some files to make the name more consistent with what the code actually does. o Added the foundation for future inlining support. o Stripped out the remains of the old fingerprinting mechanism. Change-Id: I6c30facc642f8084b1c7b2075cf7014de387aa56
ndroid.libart-compiler.mk
|
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
ndroid.oat.mk
ndroid.oattest.mk
|
265091e581c9f643b37e7966890911f09e223269 |
30-Jan-2013 |
Brian Carlstrom <bdc@google.com> |
Remove ExtractCodeAndPrelink and switch Portable to MCLinker Change-Id: Ia2459c7da6b79e0a1c0f1148c6e28ad9cbbe27a2
ndroid.common.mk
ndroid.executable.mk
ndroid.libart-compiler.mk
ndroid.libart.mk
ndroid.oat.mk
ndroid.oattest.mk
|
4c1c283a7410784e9cab309f868248690b788a9c |
05-Mar-2013 |
Ian Rogers <irogers@google.com> |
Move compiler_llvm to art::llvm. Also move the invoke stubs (soon to be removed) under compiler. Start moving LLVM code under compiler. Will move GBC expander to dex/portable once it is disentangled from other builds (moving toward solving Bug: 8195425). Change-Id: I8829f9db6ade9ac8e32bd16198b90f83619769f1
ndroid.common.mk
ndroid.libart-compiler.mk
|
8550c9c0eed90dedaf1c9062b246693528efe21d |
04-Mar-2013 |
Ian Rogers <irogers@google.com> |
Move the jni_compiler_test under compiler/jni. Change-Id: I641c4720e7658624bcb9d8cabdd4bfdd0a8976e0
ndroid.common.mk
|
0211378ed7ccdedac8ad910eb62b74625ea271aa |
04-Mar-2013 |
Ian Rogers <irogers@google.com> |
Move the JNI compilers under compiler. Change-Id: Id1d40f35be191758906b96b56b74a83ab0dfb88e
ndroid.libart-compiler.mk
|
1212a022fa5f8ef9585d765b1809521812af882c |
04-Mar-2013 |
Ian Rogers <irogers@google.com> |
Move the Compiler to CompilerDriver. Change-Id: I0bb4d3c2b79b45fd8ef180688c767712b0c55978
ndroid.common.mk
|
01d1134c605190f988744ad4916f79fcb99273cd |
28-Feb-2013 |
Ian Rogers <irogers@google.com> |
Always compile compiler_llvm files. Build fix. Change-Id: I7dec1350345ffe2ed60a498896eda3854b0c75ff
ndroid.common.mk
ndroid.libart-compiler.mk
|
76ae4fe651c77619aeeb4dd395c7ec8fc29685fc |
28-Feb-2013 |
Ian Rogers <irogers@google.com> |
1 IR builder. Kill greenland. Remove JTypeSpace. Change-Id: I7d08cfd8c1fec46df4ce5f51706dff2e246695b5
ndroid.libart-compiler.mk
|
395116cae130c983498c0a2f42b89e42f75bb9d0 |
27-Feb-2013 |
buzbee <buzbee@google.com> |
Compiler: rearranging the deck chairs. First of several steps to adopt the new source directory layout. No logic changes - just moved files around. Change-Id: I087631f8aa23973e18da4dc7706249c490bee061
ndroid.common.mk
ndroid.libart-compiler.mk
|
c928de90ad22ecdf83c18a07008409595f13d3b1 |
27-Feb-2013 |
Ian Rogers <irogers@google.com> |
Remove Iceland. ART_USE_LLVM_COMPILER is removed and when necessary ART_USE_PORTABLE_COMPILER is used in #ifdefs. Change-Id: Iffa9ce5b0246c7c427ccc4e67ecc134624632e55
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart-compiler.mk
ndroid.libart.mk
|
7b3ddd27c223fcce784314f78fda7f67dcb37730 |
22-Feb-2013 |
Ian Rogers <irogers@google.com> |
Refactor DescribeVRegs to allow caching. In oatdump we want to describe vregs at regular intervals and reverifying is slow. Refactor MethodVerifier to allow this. Move instruction flags into its own file so the complete type is visible to files other than method verifier. Change-Id: I14d491e7376ab1d7117a9725847870ef1337803f
ndroid.common.mk
|
4b9702c6912c6f8745a77f5b5af56e7fe196e7c2 |
21-Feb-2013 |
Elliott Hughes <enh@google.com> |
Add a JDWP::Request type to replace the old uint8_t* and int. This also lets us check that all the data in a (successful) request is actually read, though doing so caught two bugs in the tests, and may well catch bugs in the actual debuggers. Change-Id: Ibed402e6f1c0c7a1d19d61f0be9bddd0c2f5a388
ndroid.common.mk
|
64f574f474aa77c72778640ab21f8cfa72546812 |
20-Feb-2013 |
Elliott Hughes <enh@google.com> |
Implement EnableCollection, DisableCollection, IsCollected, and fix Exit. Rewrites the object registry to not just be one big leak. We use jweaks by default, which means (a) the GC doesn't need to know anything about us and (b) we don't cause unnecessary heap retention. We promote to regular JNI global references if the debugger asks us to. The problem with VirtualMachine.Exit turned out to be that you're supposed to send a success reply to the command before exiting. This is a bit awkward with our current division of responsibilities, but it lets us pass another test. Also log a summary of our replies when -verbose:jdwp is in effect, not just the requests. Change-Id: Idb33e99fe7d8bee7a79152d81fee42e2af00852b
ndroid.common.mk
|
a84395489098e4531619b1cffd1afc282b14510e |
15-Feb-2013 |
Sameer Abu Asal <sasal@google.com> |
Using histograms for timing statistics. Histogram class and test cases added. Modified make file to add test cases and class file. Added a guard to avoid race condition in Cumulative logger that was possible race between Addlogger and Dump() functions. Change-Id: I060a0d65648c7120963856624e7008c0aa681eb7
ndroid.common.mk
|
38a3a0c4ef36fca004582cb6787b10b6c1f2fc8d |
07-Feb-2013 |
Brian Carlstrom <bdc@google.com> |
Fix test-art-host-oat flakiness Compile the .oat before the two tests that depend on it. Otherwise when run in parallel, they can step on each other. Bug: 8144206 Change-Id: I745ac070dc1a2d956c8f5d236bf89094178e6a57
ndroid.oattest.mk
|
1ffa32f0be7becec4907b26ead353e4b17e1219c |
06-Feb-2013 |
Ian Rogers <irogers@google.com> |
Reduce inlining in debug builds. Fixes 018-stack-overflow on the host with interpreter. Change-Id: Ieed091b341b7812cfe898421a74d2f41f6a6a8bc
ndroid.common.mk
|
00bc1dc4f81268d78d7dfeb298b85c56876425a9 |
02-Feb-2013 |
Brian Carlstrom <bdc@google.com> |
Remove separate libart-compiler-llvm Change-Id: I82303c6db3361e2842ff9d882f43f7d0830584b1
ndroid.libart-compiler-llvm.mk
ndroid.libart-compiler.mk
|
398622398702737fa5b006e63bd6707fe792910d |
01-Feb-2013 |
Brian Carlstrom <bdc@google.com> |
Merge "Improve ART_BUILD_ disabling" into dalvik-dev
|
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
ndroid.oat.mk
|
641ce0371c2f0dc95d26be02d8366124c8b66653 |
01-Feb-2013 |
Brian Carlstrom <bdc@google.com> |
Rename compiler_llvm CompilationUnit to LlvmCompilationUnit Also fixed stray ART_TEST_CFLAGS to LOCAL_CFLAGS Also fixed relative includes Tried to change CompilationUnit to reference LlvmCompilationUnit, but that causes issues because of the split libart-compiler libart-compiler-llvm. Change-Id: I7a490f339add6355a20c1cedae858ccf6967a6aa
ndroid.libart-compiler-llvm.mk
ndroid.libart-compiler.mk
|
2dd0e2cea360bc9206eb88ecc40d259e796c239d |
24-Jan-2013 |
Ian Rogers <irogers@google.com> |
Directory restructuring of object.h Break object.h into constituent files. Reduce number of #includes in other GC header files. Introduce -inl.h files to avoid mirror files #include-ing each other. Check invariants of verifier RegTypes for all constructors. Change-Id: Iecf1171c02910ac152d52947330ef456df4043bc
ndroid.common.mk
|
6ff7f8078287b75ef396e8fd6e9734ef768aca07 |
30-Jan-2013 |
Brian Carlstrom <bdc@google.com> |
Realphabetize source file lists Change-Id: Icc70954cca67b5dc0a9acdfd027df6e74a529626
ndroid.common.mk
|
700c8d31733534a3d978b75a03f6f7e177dc7e81 |
05-Nov-2012 |
Brian Carlstrom <bdc@google.com> |
Move .oat files to ELF format Generates .oat in ELF file format using MCLinker - Uses MCLinker IRBuilder to create a synthetic .o from OatWriter output. - Uses new ElfFile for prelinking to support art image optimizations. Adapted OatFile to load using dlopen, ElfFile, or memory, removing raw MemMap mechanism. Changed image code to not assume oat data will be immediately after image to allow space for ELF headers. Passes test-art and works with installd. Change-Id: Idc026eddb5de93f4b97490c405f3ed7b39589749
ndroid.common.mk
ndroid.gtest.mk
ndroid.libart-compiler-llvm.mk
ndroid.libart-compiler.mk
|
9adbff5b85fcae2b3e2443344415f6c17ea3ba0a |
24-Jan-2013 |
Ian Rogers <irogers@google.com> |
Implement Intel QuasiAtomics. Don't use striped locks for 64bit atomics on x86. Modify QuasiAtomic::Swap to be QuasiAtomic::Write that fits our current use of Swap and is closer to Intel's implementation. Return that MIPS doesn't support 64bit compare-and-exchanges in AtomicLong. Set the SSE2 flag for host and target Intel ART builds as our codegen assumes it. Change-Id: Ic1cd5c3b06838e42c6f94e0dd91e77a2d0bb5868
ndroid.common.mk
|
cd60ac736bc7104785dc67671660d70fb434466f |
21-Jan-2013 |
Brian Carlstrom <bdc@google.com> |
Create OutputStream abstraction Allows data to be sent to file or memory transparently. Standard C++ streams don't allow to create a stream from a file descriptor. Change-Id: I820a864172e756949c61f29ef1517d1ebb253a0b
ndroid.common.mk
|
fa011c82efce92a8e0e739ae9732b4c6f3903294 |
17-Jan-2013 |
Ian Rogers <irogers@google.com> |
Merge "Interpreter oat tests." into dalvik-dev
|
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
ndroid.oattest.mk
|
7db619bb2a4e01e8532a04b613745d4926b205d7 |
17-Jan-2013 |
Ian Rogers <irogers@google.com> |
Enter interpreter stub. Untested code that when set as the code for a AbstractMethod* will force the next invocation of the Method to transition into the interpreter. Change-Id: I557bca3a2caf4a78551b39aa5ac4ffb4c486105b
ndroid.common.mk
|
dd7bf568b28efb65c0322979790552946eda1fc1 |
12-Jan-2013 |
Ian Rogers <irogers@google.com> |
Move IntMath into run-test. Remove the IntMath method_verifier_test. We can harness oatdump to give a better test. Change-Id: Id7c4417331e6311ca21efdb8aa744851b7216c98
ndroid.common.mk
|
a26babddfce488172648efcd18d8c9e672a71759 |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Move ExceptionTest to a run-test. Change-Id: Ied054e1770ccc86c470dfc8d06cab39fc3e97216
ndroid.common.mk
|
fef2a2947258a6e25b860061151932ff83fa81a2 |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Merge "Move Invoke to a run-test." into dalvik-dev
|
dd0c4b81d611893f1a8cb6c613be8955219cc40d |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Move GrowthLimit to a run-test. Change-Id: I33853625e095f35cc0cf6310c5e4401980322623
ndroid.common.mk
|
e41931a27c0a9818c06d26621c05af9e4e187503 |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Move Invoke to a run-test. Change-Id: I3496e0bc88afb0ff0316b59b01cfc5a2df5aabfb
ndroid.common.mk
|
3a226e3b1980a9c0814c20be628bae91848fa408 |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Merge "Move MemUsage into run-test." into dalvik-dev
|
e4dd006b59cce58aa8322bfefa298aec611cf03f |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Merge "Move ConcurrentGC to run-test." into dalvik-dev
|
f118407d45822d27678a9255be250ab2954da8a2 |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Merge "Move Fibonacci to run-test." into dalvik-dev
|
54a63fdbeccf8f976dfa8af741629d013c24476e |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Move MemUsage into run-test. Change-Id: If14a75aa1a2297ea51577baa5b4ee9e654c5db1a
ndroid.common.mk
|
ffb5600d2b9ebb045d0db7020599a198d39d08c0 |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Move ConcurrentGC to run-test. Change-Id: Icf12321ece840c2edd4de6a80bb0d319317abc98
ndroid.common.mk
|
9ac995bc84d396ed5a748b591a01ae0c43f4dbb3 |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Move Fibonacci to run-test. Change-Id: I52bc4e68f59da9d327d373a7cb81f5b960f5416e
ndroid.common.mk
|
af81f926b65adde0b7dcef4f80dcfa8990ed812c |
11-Jan-2013 |
Ian Rogers <irogers@google.com> |
Move ReflectionTest to a run-test. Change-Id: I3d3047aeea3db467beebd7c76b336b6699fb9238
ndroid.common.mk
|
26f10eed520942d3db754c31941e457048475f61 |
21-Dec-2012 |
buzbee <buzbee@google.com> |
Fix Portable build A previous change broke the ability to compile the Portable build. Instead of building Portable, we unwittingly were building Iceland. This CL fixes that, along with some bitrot unknowingly introduced by subsequent CLs. In particular, the debugger support change to add an intrinsic call to associate value definitions with the original Dalvik VReg broke llvm's Phi constraint. Fixed. However, problems remain. Though the build is now fixed, CLs subsequent to the makefile breakage broke the Portable llvm backend. This CL will shift all Portable compilations to Iceland while the new breakage is being addressed. Change-Id: I7b08b26ed653a7b477f0ae9a226b7ee09c6b3398
ndroid.libart-compiler-llvm.mk
ndroid.libart.mk
|
1d6df8edb5b177bd24d692e1fa854272af394d0a |
03-Jan-2013 |
buzbee <buzbee@google.com> |
Fix Portable build Forgot to add a new sourcefile to the makefile. Change-Id: I79ae0f1742b1d1215c3f2940e4ca468d17a184ce
ndroid.libart-compiler-llvm.mk
|
7f1df62028142ec01dcee190f4f171a088c4087f |
03-Jan-2013 |
buzbee <buzbee@google.com> |
Merge "Basic block optimization refactoring" into dalvik-dev
|
2502e004d93734a99bdfeab811b3c5ae06f45bec |
01-Jan-2013 |
buzbee <buzbee@google.com> |
Basic block optimization refactoring Various optimization improvements for the common frontend. Before applying basic block optimizations, split the graph into extended basic blocks. Replace existing pattern-match range-check elimination with a scheme based on local value numbering (which could also serve as the basis for some CSE if the existing, but so-far untested, common frontend temp register mechanism works as designed). For the framework, this CL improves null check elimination from 90.74% (statically) to 91.24% removed, and range check elimination from 3.45% to 8.17%. Change-Id: Ie1ce730cfe12a12fef665a30fe3814bad1993895
ndroid.libart-compiler.mk
|
306057fd278d75bf3794bd5243a3b6652c487d18 |
26-Nov-2012 |
Ian Rogers <irogers@google.com> |
Support for deoptimization needed for debugging. The deoptimization code is untested, and some sanity checks in the instrumentation are disabled because they need debugging. Change-Id: I1b60a65a60bddc9b107ad4659da097b55ce901c3
ndroid.common.mk
|
e222ee0b794f941af4fb1b32fb8224e32942ea7b |
13-Dec-2012 |
Elliott Hughes <enh@google.com> |
Move stringpiece.h and stringprintf.h to base/. Change-Id: I7f71b4a12f99c5f81771146c66629ae5a947b229
ndroid.common.mk
|
07ed66b5ae659c452cbe1ab20c3dbf1d6f546461 |
13-Dec-2012 |
Elliott Hughes <enh@google.com> |
Move logging.h into base/logging.h. Change-Id: Id68f85f7c3a71b156cb40dec63f94d4fb827f279
ndroid.common.mk
|
76b6167407c2b6f5d40ad895b2793a6b037f54b2 |
13-Dec-2012 |
Elliott Hughes <enh@google.com> |
Move mutex.h into base/mutex.h. We don't actually need any hackery to get the right mutex.h any more, but since we planned on having the google3-like stuff in google3-like locations, this is an easy one to fix. Change-Id: Ie27464ebbc208a6f4e694a97cf26b1cee0737009
ndroid.common.mk
|
f66330a747eff155eb571b634fc9d901c55a78a7 |
13-Dec-2012 |
Elliott Hughes <enh@google.com> |
Fix icu4c include path pollution. Change-Id: Ie96abd97ea98fd36cc9a796a3ce35233addfd1ee
ndroid.common.mk
|
761600567d73b23324ae0251e871c15d6849ffd8 |
13-Dec-2012 |
Elliott Hughes <enh@google.com> |
Switch over to the google3 unix_file File*. I also moved macros.h to base/macros.h to ease google3 porting, at the expense of a larger than necessary change. (I learned my lesson, though, and didn't make the equivalent base/logging.h change.) I'm not sure whether we want to keep the unix_file MappedFile given our existing MemMap, but it's easier to bring it over and then remove it (and possibly revert the removal) than to bring it over later. Change-Id: Id50a66faa5ab17b9bc936cc9043dbc26f791f0ca
ndroid.common.mk
|
8c4bbb55d0d801e492d849ee636771c8b2840429 |
26-Nov-2012 |
buzbee <buzbee@google.com> |
Eliminate build of target-specific compiler .so Now that the Quick compiler backend supports all targets, stop building target-specific versions. Change-Id: I5e519930dd3ed731c8e73005f654213af3ab5a3e
ndroid.libart-compiler.mk
|
02031b185b4653e6c72e21f7a51238b903f6d638 |
23-Nov-2012 |
buzbee <buzbee@google.com> |
Quick compiler: Single .so for all targets With this CL, all targets can be built into a single .so (but we're not yet doing so - the compiler driver needs to be reworked). A new Codgen class is introduced (see compiler/codegen/codegen.h), along with target-specific sub-classes ArmCodegen, MipsCodegens and X86Codegen (see compiler/codegen/*/codegen_[Arm|Mips|X86].h). Additional minor code, comment and format refactoring. Some source files combined, temporary header files deleted and a few file renames to better identify their function. Next up is combining the Quick and Portable .so files. Note: building all targets into libdvm-compiler.so increases its size by 140K bytes. I'm inclined to not bother introducing conditional compilation to limit code to the specific target - the added build and testing complexity doesn't doesn't seem worth such a modest size savings. Change-Id: Id9c5b4502ad6b77cdb31f71d3126f51a4f2e9dfe
ndroid.libart-compiler-llvm.mk
ndroid.libart-compiler.mk
|
024c463536180ce1e464bbb9853ab427dfac35f5 |
21-Nov-2012 |
buzbee <buzbee@google.com> |
Merge "Continuing Quick compiler refactoring" into dalvik-dev
|
1bc37c60da71c923ea9a2e99d31ba1b3d76d79a8 |
20-Nov-2012 |
buzbee <buzbee@google.com> |
Continuing Quick compiler refactoring With this CL, we no longer include any .cc files - all source files compile stand-alone. We still build a separate .so for each target, but all code in the target-independent "codegen" directory is now truly independent and doesn't rely on any target-specific macros to compile. Header file inclusion is still a bit of a mess, but that will be addressed in a subsequent CL. Next up: create a codegen class to hold code generator routines overrideable by target. Change-Id: I3a93118d11afeab11f310950a6a73381a99e26e1
ndroid.libart-compiler-llvm.mk
ndroid.libart-compiler.mk
|
e89a354ce08d76cfefd58a3cb3da5115327b2d63 |
20-Nov-2012 |
Ian Rogers <irogers@google.com> |
Merge "Refactor GC to have a class for each different type of GC." into dalvik-dev
|
2b82db45c09450022199376c3a5420eacf2aa81e |
15-Nov-2012 |
Mathieu Chartier <mathieuc@google.com> |
Refactor GC to have a class for each different type of GC. Added a seperate files for mark sweep, partial mark sweep, sticky mark sweep. Added a common superclass for GC. Added additional statistics for each GC. Moved main garbage collection code away from Heap.cc. Change-Id: Ida0021ab2f740fc8228bbbf4d43cd9bc56b4ba46
ndroid.common.mk
|
cbd6d44c0a94f3d26671b5325aa21bbf1335ffe8 |
17-Nov-2012 |
buzbee <buzbee@google.com> |
C++'ification of Quick compiler's casts o Eliminate old useless LIR casts. o Replace remaining C-style casts with new C++ versions. o Unified instruction encoding enum o Expand usage of the auto-generated ostream helpers for enum LOG messages. o Replaced all usages of intptr_t with uintptr_t. o Fixed bug in removeRedundantBranches, and moved to common code Change-Id: I53211c0de1be913f958c8fde915296ac08345b7e
ndroid.common.mk
|
6aa852b927a12ba16f5c05ee7d044ac1372feb7f |
17-Nov-2012 |
buzbee <buzbee@google.com> |
Merge "Quick compiler: more refactoring" into dalvik-dev
|
eaf09bc65f9a10d12befcdb239156938c9bceef2 |
15-Nov-2012 |
buzbee <buzbee@google.com> |
Quick compiler: more refactoring Focus on header file cleanup here. Note: target_list.h is transitional, and upcoming CLs will do additional header file reorganization. Change-Id: If86e1a8c1c43305762fe37b157a9d3c17d911ea7
ndroid.libart-compiler-llvm.mk
ndroid.libart-compiler.mk
|
2bcb4a496b7aa00d996df3a070524f7568fb35a1 |
08-Nov-2012 |
Ian Rogers <irogers@google.com> |
Add "kind" argument to Get/SetVReg. In order to determine where a register is promoted its necessary to know the kind of use of the register. Extend notion of precise-ness to numeric verifier register types. Dump verifier output in oatdump. Dump vregs with their location or constant value. Introduce indenting ostream utility. Change-Id: Ia3d29497877976bc24465484743bca08236e1768
ndroid.common.mk
|
efc6369224b036a1fb77849f7ae65b3492c832c0 |
15-Nov-2012 |
buzbee <buzbee@google.com> |
Quick compiler source reorganizatio - part 1 A step towards cleanup of the quick compiler source. In this CL we rename all files to Art standards, combine some of the old target-specific files that may have made sense in the JIT, but no longer do. Also removed some codegen/<target>/ subdirectories, combined and deleted some existing files. Still quite a bit of work to do in cleaning up header files, getting some better consistency in what codegen functions go where. That will happen in later CLs. No logic changes in this CL - just renaming and moving stuff around Change-Id: Ic172cd3b76d4c670f8e4d5fdd4a3e967db3f4c1e
ndroid.libart-compiler-llvm.mk
ndroid.libart-compiler.mk
|
725a957985171d712d5c048cc3d00ff14968784b |
14-Nov-2012 |
jeffhao <jeffhao@google.com> |
Pulled out instrumentation into its own class separate from trace. This is in preparation for Ian's debugger changes. The instrumentation still needs support for debugging, which I'll add later. Change-Id: I29ce0af1ff2eaec8f6d2f54963263381363ebf72
ndroid.common.mk
|
8161c0336b97e11e02c000af357f8f40de2e23e4 |
31-Oct-2012 |
jeffhao <jeffhao@google.com> |
More MIPS fixes. The vm-tests and oat tests all work on the emulator. - Changed the base address of the art image for MIPS to allow enough space for CTS to run on the target. - Fixed exception delivery to jump without linking, and to preserve the value of $gp. - Added dumping of /proc/self/maps whenever mmap fails, and cleaned up other debugging output (not MIPS related). Change-Id: I4e92e992ee6a6167e901db8ad90a6062bbc5168a
ndroid.common.mk
ndroid.oat.mk
|
2fa6b2e2fc3d2a2fc27808ce518dc76b80ce369a |
17-Oct-2012 |
Ian Rogers <irogers@google.com> |
Interpreter. The opcodes filled-new-array and packed-switch aren't implemented but are trivial given that they are variants of implemented opcodes. Refactor Field::Get routines to take the declaring class in the case of static field accesses. This avoids a check on every use of a field. Refactor arg array builder to be shared by JNI invokes and invocations into the interpreter. Fix benign bug in const decoding in the verifier. Change-Id: I8dee6c1f4b7f033e6c003422c56e9471cfaccda8
ndroid.common.mk
|
6ed960d260d0ec3cbbef455c646ccd47f4e78119 |
26-Oct-2012 |
Ian Rogers <irogers@google.com> |
Merge "Add thread pool class" into dalvik-dev
|
0e4627e593bc39f8e3d89c31f8977d55054c07cc |
24-Oct-2012 |
Mathieu Chartier <mathieuc@google.com> |
Add thread pool class Added a thread pool class loosely based on google3 code. Modified the compiler to have a single thread pool instead of creating new threads in ForAll. Moved barrier to be in top level directory as it is not GC specific code. Performance Timings: Reference: boot.oat: 14.306596s time mm oat-target: real 2m33.748s user 10m23.190s sys 5m54.140s Thread pool: boot.oat: 13.111049s time mm oat-target: real 2m29.372s user 10m3.130s sys 5m46.290s The speed increase is probably just noise. Change-Id: If3c1280cbaa4c7e4361127d064ac744ea12cdf49
ndroid.common.mk
ndroid.gtest.mk
|
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
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart-compiler-greenland.mk
ndroid.libart-compiler-llvm.mk
ndroid.libart-compiler.mk
ndroid.libart.mk
|
858f1c5fd5e528d0b16040ced74d4636046a42d8 |
18-Oct-2012 |
Mathieu Chartier <mathieuc@google.com> |
Check point root marking. Added thread list checkpoint function, this goes through every thread and runs the checkpoint on each thread. Threads that are runnable run the checkpoint callback themselves in the next suspend check, while suspended threads are left suspended but have the callback called on them. Added a checkpoint visitor member to each thread, this visitor called when the checkpoint request flag is set during transitions to suspended from runnable. Using the checkpoint to mark the roots reduces the first pause of partial / full gc to around 1 ms. Change-Id: I97239cc72ee0e4a3397e9138a62ee559268dce0a
ndroid.common.mk
|
c4dc43e8df6e1dba780d9eb06a1c7676d0577ba0 |
17-Oct-2012 |
Brian Carlstrom <bdc@google.com> |
Add libselinux to libart linker options Change-Id: I7d6df8b779ab0f6866abb11db17aed503c119e55
ndroid.libart.mk
|
88f365433dd8412a80258847e0b0359b125c06c2 |
17-Oct-2012 |
Brian Carlstrom <bdc@google.com> |
Add support for Value Format VALUE_TYPE in the encoded_array_item used for initial values of static field references from a class_def_item Bug: 7356558 Change-Id: I2bef6de9b41605f17518bbcc72907bf5a92c6c26
ndroid.common.mk
|
1c23e1edb7361bbaec6e57fca86d8d3797960ad2 |
12-Oct-2012 |
Mathieu Chartier <mathieuc@google.com> |
More space refactoring. Add common interface, AllocSpace. Renamed the old AllocSpace to DLMallocSpace. Added an new option enforce_target_size_, which when enabled, doesn't let the heap grow past ideal heap size calculated during last Gc. Removed redundant AllocationSize calls. Moved large object space to its own file instead of being in space.h/cc. Change-Id: I15e60531114bf213800599737cbd66ef44b46b15
ndroid.common.mk
|
7469ebf3888b8037421cb6834f37f946646265ec |
25-Sep-2012 |
Mathieu Chartier <mathieuc@google.com> |
Refactor and remove copy mark bits. Refactor code GC realted code to be in a GC folder. Remove copy mark bits by using pointer changing instead. Enable concurrent sweeping of system weaks. Fix non concurrent GC plan. Change-Id: I9c71478be27d21a75f8a4e6af6faabe896e5e263
ndroid.common.mk
|
d8195f19840911a73b1491dfc8e7c18139753731 |
05-Oct-2012 |
Mathieu Chartier <mathieuc@google.com> |
Reduce mark stack / allocation stack / live stack address space usage. We now have upper bounds on the stack sizes so that we don't run out of virtual addresses with large heaps. Rename mark stack to atomic stack, which now takes any data type. Added behaviour to force GC when the allocation stack becomes too full. Added a new special map for reserving the oat file address range. Change-Id: I5169dd98b5f5072ac67637798da50cb8fc68af2b
ndroid.common.mk
|
a75a01313e801c53145df00bad1842d9f643c0a1 |
28-Sep-2012 |
Ian Rogers <irogers@google.com> |
Make dex instruction size a lookup. Add ostream operators for dex instruction enums. Move simple methods to header file. Change-Id: I9644bfb975896a491ee73ef9a8ef13c062c5fcbd
ndroid.common.mk
|
81d425b0b232962441616f8b14f73620bffef5e5 |
28-Sep-2012 |
Ian Rogers <irogers@google.com> |
Pass self to lock methods. This avoids frequent recomputation of Thread::Current/pthread_getspecific. Also add a futex based reader/writer mutex that is disabled. Change-Id: I118fdb99ef1d1c4bfda6446ba3a0d8b6ab31eaee
ndroid.common.mk
|
0c7abda482f53db3d153c073d1c7a145f84e0626 |
19-Sep-2012 |
Ian Rogers <irogers@google.com> |
NativePcOffsetToReferenceMap Rather than translate a native PC to a Dex PC and then to the reference bitmap, just go straight from the native PC to the reference bitmap. Encode the native PC offsets using a hash rather than linearly searching. Change-Id: Iee1073d93c941c0a31f639e5f23cea9e9f747bee
ndroid.common.mk
|
06809edbe7058aac95069e6a3d392bae4de17c35 |
17-Sep-2012 |
Brian Carlstrom <bdc@google.com> |
Add WITH_ART_USE_PORTABLE_COMPILER and art/USE_PORTABLE_COMPILER support Change-Id: I750fb1fc0e94ae97b56cc165228e572adc06c686
ndroid.common.mk
|
55e5e6c5702e3f1f68bd83ae741af769740d9a74 |
12-Sep-2012 |
TDYa127 <tdy@google.com> |
Fix quick fly2iceland after rebase. Change-Id: I844f005782b3ecdcb52dc2484d44f4ae34e1c670
ndroid.libart-compiler-llvm.mk
|
bb33f2fa8e462937574a8cd1b744b86c2f762571 |
23-Aug-2012 |
Shih-wei Liao <sliao@google.com> |
Integrating portable path with the Frontend. (1) Connect the new interface oatCompileMethodToGBC and gbc_expander. (2) Need to fix Android.common.mk for fly2iceland: Portable path has frontend: USE_QUICK_COMPILER and backend: USE_LLVM_COMPILER. (3) Fix Android.libart-compiler-llvm.mk so we can call the new interface. Change-Id: I7216f378bdb5e42a35fd6fa10c1d5d161a912401
ndroid.common.mk
ndroid.libart-compiler-llvm.mk
|
89f960588c2d7e5220f9c82431df579294300932 |
13-Jul-2012 |
TDYa127 <tdy@google.com> |
Move inferred_reg_category_map to greenland. Change-Id: I33e98b3cfe661f69046362d71f9315bd5b439abd
ndroid.common.mk
ndroid.libart-compiler-greenland.mk
ndroid.libart-compiler-llvm.mk
|
1f196f1c338487d53d16fb132c619d6f5941a065 |
12-Jul-2012 |
TDYa127 <tdy@google.com> |
Use MDBuilder to build metadata. Change-Id: I7e6872bf46c5e064a8cc936edfd18566610d80d5
ndroid.libart-compiler-llvm.mk
|
21d28f510eb590f52810c83f1f3f37fe5f4adf46 |
12-Jun-2012 |
Shih-wei Liao <sliao@google.com> |
GBC Expander. Removed lir. Change-Id: If8d13e36f1e6d82c2a7f7bfec62b8fb41fd8cdaa
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart-compiler-greenland.mk
ndroid.libart-compiler-llvm.mk
ndroid.libart.mk
|
871599a0289b6b81f83caafae7ba755718186205 |
06-Sep-2012 |
Brian Carlstrom <bdc@google.com> |
Restore tests tag for target Change-Id: Iee24512e5baac2bc0b068558e29e16000a7b2869
ndroid.gtest.mk
ndroid.libarttest.mk
ndroid.oattest.mk
|
fd678beb171a4686a4f2d53ca4188a4ade8fa54e |
30-Aug-2012 |
Mathieu Chartier <mathieuc@google.com> |
Additional heap verification for the Gc There are now two verification booleans which can be enabled. When these get enabled, it verifies that each live object only references other live objects. Changed SetClass to use SetFieldPtr to avoid having an extra card mark. This is safe since all classes are held live by the class linker. Change-Id: I005bb59e5cc8153a79d3ccb3d7b5cabd29fb4051
ndroid.common.mk
|
87e552db94588455c081efd87dbde0cd96d02942 |
01-Sep-2012 |
Ian Rogers <irogers@google.com> |
Make ICCE logic common, refactor throws. There were 2 sets of ICCE logic in ClassLinker::ResolveMethod and Method::CheckIncompatibleClassChange, merged into just 1 piece of logic in Method::CheckIncompatibleClassChange. Move Throw... routines into own file and make adding the dex location to the detail message more thorough. Change-Id: I953dbfa3fed3767f35799b2f82b16637c437dbbe
ndroid.common.mk
|
15bf2d34efa2218e287b584fb3653d268b9edc8d |
29-Aug-2012 |
Ian Rogers <irogers@google.com> |
Use bionic's dlmalloc 2.8.5. Also fix free space computations for DDMS. Change-Id: Icbc045b5461af89a0516f37f01acaaa815205348
ndroid.common.mk
|
7fbee0731b14b5bf392a4254f5cd84685ab517da |
25-Aug-2012 |
jeffhao <jeffhao@google.com> |
Preliminary changes to allow mips target to build. It compiles, but it doesn't work yet. Change-Id: I2973a03bd956d8d398b9cfd1047e66fbf3ff439c
ndroid.common.mk
ndroid.libart-compiler-greenland.mk
ndroid.libart-compiler.mk
|
3bdcd3dc77b8564d443c0f9e2fbbfda0124b5508 |
24-Aug-2012 |
Brian Carlstrom <bdc@google.com> |
Remove build warnings due to now unnecessary LOCAL_MODULE_TAGS Change-Id: I90b413525b00de930ab9319546c32dece0ec1e77
ndroid.gtest.mk
ndroid.libarttest.mk
ndroid.oattest.mk
|
931c278aed62d7a97b87cf1bb9cfdd189e77eb24 |
20-Aug-2012 |
Ian Rogers <irogers@google.com> |
Remove build flag brought over from dalvik. Change-Id: Icf6d3f87f7300c923f9f13cc176f129ecb9dafb4
ndroid.common.mk
|
00f7d0eaa6bd93d33bf0c1429bf4ba0b3f28abac |
20-Jul-2012 |
Ian Rogers <irogers@google.com> |
Global lock levels. Introduce the notion of the mutators/GC being a shared-exclusive (aka reader-writer) lock. Introduce globally ordered locks, analysable by annotalysis, statically at compile time. Add locking attributes to methods. More subtly, remove the heap_lock_ and split between various locks that are held for smaller periods (where work doesn't get blocked). Remove buggy Dalvik style thread transitions. Make GC use CMS in all cases when concurrent is enabled. Fix bug where suspend counts rather than debug suspend counts were sent to JDWP. Move the PathClassLoader to WellKnownClasses. In debugger refactor calls to send request and possibly suspend. Break apart different VmWait thread states. Move identity hash code to a shared method. Change-Id: Icdbfc3ce3fcccd14341860ac7305d8e97b51f5c6
ndroid.common.mk
|
cc236d74772dda5a4161d9bc5f497fd3d956eb87 |
20-Jul-2012 |
Mathieu Chartier <mathieuc@google.com> |
Zygote space / partial collection support. The zygote space is now created right before zygote fork. This space has new allocations into it disabled, this reduces memory usage since we have more shared pages. Partial collection works by marking all the zygote space -> alloc space references by using a mod-union table and then recursively marking only over the alloc space. Approximate improvements; Deltablue time goes down ~0.5 seconds. Caffeinemark score goes up ~300. System memory usage goes down ~7MB. Change-Id: I198389371d23deacd9b4534f39727eb641786b34
ndroid.common.mk
|
cdc6690a59ad63186b3c3e5f1f52e363c3381e39 |
23-Jul-2012 |
Shih-wei Liao <sliao@google.com> |
Switch to use libbcc and single copy of LLVM. Don't check this in until libbcc's 6841435 and API refactoring CLs are checked in. Change-Id: Ie49e1e9c2dc11bd92240d9153b60edf04296869c
ndroid.libart-compiler-llvm.mk
ndroid.libart-compiler.mk
|
9ba4f47026587cf6e46b4660b76aca1b554e3131 |
19-Jul-2012 |
Brian Carlstrom <bdc@google.com> |
Allow various LLVM builds to be enabled by environment variable Change-Id: Idb6e3eff3f3c6917024eef7c935e3b4fc571a118
ndroid.common.mk
|
b062fdd4cb097fbae69b4bcb479c34d83ecab8ca |
03-Jul-2012 |
Mathieu Chartier <mathieuc@google.com> |
Each space has its own bitmap(s) Each alloc space now has One mark+live bitmap. Each image space has only one live bitmap. Change-Id: I2e919d1bd7d9f4d35d0e95ed83a58df6f754df6e
ndroid.common.mk
|
5644f0048d6a98dc099ae9fe898ced491da700aa |
28-Jun-2012 |
Brian Carlstrom <bdc@google.com> |
Only build target compiler for TARGET_ARCH Change-Id: Iad4867a358dc273799396ec1c3a76af32b56f5b6
ndroid.libart-compiler-greenland.mk
ndroid.libart-compiler.mk
|
85545cd13c16c5074cca987f65247d7abddb39f7 |
27-Jun-2012 |
Brian Carlstrom <bdc@google.com> |
Add PHONY target for host core.art so that is included in default build Change-Id: I4a2161de73a391b0db953be0e5cd8ec3f79bb9b8
ndroid.oat.mk
|
971bf3f9184010d68b9a3ad30b396fa401af91a3 |
01-May-2012 |
Logan Chien <loganchien@google.com> |
Compile method one-by-one. Change-Id: Ic56fb397f3bd6dee32372eb875261a3383eaf30c
ndroid.common.mk
ndroid.gtest.mk
ndroid.libart-compiler-llvm.mk
ndroid.libart.mk
|
67008a6d4ed1e107ad6a1d983a7d1f9fee313ad9 |
06-Jun-2012 |
Logan Chien <loganchien@google.com> |
Add procedure linkage table. Change-Id: I18bc173c6f7565862e9fcb1b603b391401e7beca
ndroid.common.mk
|
b43b7d42b0c497333564e76be953157066c2b995 |
19-Jun-2012 |
Mathieu Chartier <mathieuc@google.com> |
Enable mod union table Enable mod union table(bitmap). This change aims to reduce the second pause times by processing dirty image cards and cleaning them by storing their alloc space references in a bitmap. The bitmap is then scanned concurrently(if CMS) before recursive mark. Reduces second pause time. Second pause time now typically < 5 ms instead of 30-40ms. Change-Id: I831eeb8af7299d4e86cf2dd9c29d0b7e230cd387
ndroid.common.mk
|
008fa5114f356861f74f086f0b0c50fe42ef2891 |
22-Jun-2012 |
Logan Chien <loganchien@google.com> |
Fix d2i, f2i runtime support regression. (double)(int32_t)(0x80000000ul) is not equal to static_cast<double>(0x80000000ul). We should use static_cast<double>(static_cast<int32_t>(0x80000000)) instead. Change-Id: Idfc39ec7c990056bd157689fe4cdb899e62c0f10
ndroid.common.mk
|
06f7987f1013638a172715986e8fce3fe884e47a |
21-Jun-2012 |
Mathieu Chartier <mathieuc@google.com> |
Fix "holding ThreadListLock while doing condition variable wait on HeapLock" Now we release the ThreadListLock if we are going to wait on the heap condition variable in WaitForConcurrentGC. Change-Id: I506c8ff93f4b79ee74c98b7936a7d155be833b90
ndroid.common.mk
|
f8349361a16a4e2796efe9f3586b994e8d4834e4 |
19-Jun-2012 |
Elliott Hughes <enh@google.com> |
Use static thread safety analysis when available, and fix the bugs GCC finds. It's impossible to express the Heap locking and the ThreadList locking with GCC, but Clang is supposed to be able to do it. This patch does what's possible for now. Change-Id: Ib64a890c9d27c6ce255d5003cb755c2ef1beba95
ndroid.common.mk
|
eaec3ae9ef61e461ac5d2a1453a6f20b70b5d806 |
18-Jun-2012 |
Brian Carlstrom <bdc@google.com> |
chmod +x before running a gtest on the target otherwise binaries written by flashing userdata.img cannot be run. Change-Id: I495ca3cde4e5d7cbdf6b535b5d38345da4846e90
ndroid.gtest.mk
|
08fcb2591b4e60eee41d0aab92f3bcc36784fa5a |
12-Jun-2012 |
Brian Carlstrom <bdc@google.com> |
Merge "Add missing PASSED/FAILED logging for test-art-host-oat-*" into ics-mr1-plus-art
|
5d93cf938be77cbf01f366707c5e18ec14b239cd |
12-Jun-2012 |
Brian Carlstrom <bdc@google.com> |
Add missing PASSED/FAILED logging for test-art-host-oat-* Change-Id: Ia95e60f199d7cfd5859cd880ccdcfe02a5330624
ndroid.oattest.mk
|
eb02a124afcd6869ada475712bca8cbe0de20222 |
12-Jun-2012 |
Elliott Hughes <enh@google.com> |
Use our own 'main' for gtest tests. This lets us include the test name in crashes. Change-Id: Id8ed130589b5bc058bedc835a7fe06bbc6178be5
ndroid.gtest.mk
|
622a6988351d77da0008142f4ce1ea447d838556 |
09-Jun-2012 |
Elliott Hughes <enh@google.com> |
Clean up the hprof implementation a bit. Change-Id: I9e6622cd5ec10fe8af6553f72095bf3dee00afdd
ndroid.common.mk
|
2cfc639fc803bf67e3d2a961f2b637220c86d5f7 |
07-May-2012 |
buzbee <buzbee@google.com> |
Foundation for Quick LLVM compiler Ready for review - probably better get this cleaned up and checked in even though much work remains. Basic conversion from MIR to GreenlandIR and from GreenlandIR back to LIR. Support sufficient to run Fibonacci test. Note some structural changes in MIR to support this work: o retaining incoming label for phi nodes o constant propagation o include object reference detection in type inference pass Change-Id: I8ba63c73e76d071aa40cae0f744e598b96f68699
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart-compiler.mk
ndroid.libart.mk
|
b08ed1255fc34b9f34bcea66cd5e0a292af3d698 |
06-Jun-2012 |
TDYa127 <tdy@google.com> |
Implement thin-lock fast path for compiler-llvm. Change-Id: I09d6a0dba4df7cbeb0c0e3f432ab3b09fce0846d
ndroid.libart-compiler-llvm.mk
|
4825756c621ff709079ef3cd3f981e7036c0ebdb |
07-Jun-2012 |
Elliott Hughes <enh@google.com> |
Auto-generate operator<< for enum ::art:Class::Status. This requires a bit more work in the script to support enums nested inside classes. Change-Id: Id0e3561c3675214f74f47ac9f36ba82c41fa775d
ndroid.common.mk
|
eead4ac17ec9d5e750269a7d36bf6c36a6fd60c6 |
03-Jun-2012 |
TDYa127 <tdy@google.com> |
Implement proxy stub for compiler_llvm. Change-Id: Id8ba59c62795d885a18b3cc634e7ef370a2d2f97
ndroid.libart-compiler-llvm.mk
|
60234563a621362c6ffe753fe5368afcd6682bcb |
01-Jun-2012 |
Elliott Hughes <enh@google.com> |
Various missing hunks. These are hunks of changes that seem to have been lost between ics-mr1-plus-art and dalvik-dev. Maybe bad merge resolutions? Change-Id: I822c64651dc693df38efa8bc290edb959ce3398c
ndroid.common.mk
|
46e251bf7200cc06f5a9a82ee2030e650f5e1443 |
23-May-2012 |
Elliott Hughes <enh@google.com> |
Switch to libcorkscrew for native stack traces. This is both for the current thread (which backtrace(3) could do) and other threads, which is functionality we didn't have on x86 before. We jump through the appropriate hoops to get static symbols as well as dynamic ones. Also unify the existing native stack dumpers so they can share the best code. Example x86 check failure: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) fault addr 0xdeadd00d Registers: eax: 0x00000000 ebx: 0x55a966f0 ecx: 0x55d523c0 edx: 0x09225a50 edi: 0x559d9b84 esi: 0xfffd8bcc ebp: 0x55a9aba0 esp: 0xfffd8b90 eip: 0x558e2e98 eflags: 0x00010246 [ PF ZF IF ] cs: 0x00000023 ds: 0x0000002b es: 0x0000002b fs: 0x00000007 gs: 0x00000063 ss: 0x0000002b Backtrace: #00 unwind_backtrace_thread+536 [0x55d76bb8] (libcorkscrew.so) #01 art::DumpNativeStack(std::ostream&, int, char const*, bool)+79 [0x55924fcf] (libartd.so) #02 art::HandleUnexpectedSignal(int, siginfo*, void*)+1431814659 [0x5597cc23] (libartd.so) #03 __kernel_rt_sigreturn [0x55573410] ([vdso]) #04 art::Runtime::Abort()+600 [0x558e2e98] (libartd.so) #05 art::LogMessage::~LogMessage()+1052 [0x5580c16c] (libartd.so) #06 art::EnsureResolved(art::Class*)+336 [0x5570dad0] (libartd.so) #07 art::ClassLinker::FindClass(char const*, art::ClassLoader const*)+144 [0x5571bc90] (libartd.so) #08 art::ClassLinker::FindSystemClass(char const*)+43 [0x5572287b] (libartd.so) #09 art::ClassLinker::FinishInit()+82 [0x557228d2] (libartd.so) #10 art::ClassLinker::InitFromImage()+1469 [0x5572451d] (libartd.so) #11 art::ClassLinker::CreateFromImage(art::InternTable*)+60 [0x5572583c] (libartd.so) #12 art::Runtime::Init(std::vector<std::pair<std::string, void const*>, std::allocator<std::pair<std::string, void const*> > > const&, bool)+943 [0x558e882f] (libartd.so) #13 art::Runtime::Create(std::vector<std::pair<std::string, void const*>, std::allocator<std::pair<std::string, void const*> > > const&, bool)+119 [0x558e9057] (libartd.so) #14 art::Dex2Oat::CreateRuntime(std::vector<std::pair<std::string, void const*>, std::allocator<std::pair<std::string, void const*> > >&, art::InstructionSet)+42 [0x80ac68a] (dex2oatd) #15 art::Dex2Oat::Create(std::vector<std::pair<std::string, void const*>, std::allocator<std::pair<std::string, void const*> > >&, art::InstructionSet, unsigned int, bool)+60 [0x80ac87c] (dex2oatd) #16 art::dex2oat(int, char**)+3167 [0x80894cf] (dex2oatd) #17 main+17 [0x8086a01] (dex2oatd) #18 __libc_start_main+230 [0x55c12bd6] (libc-2.11.1.so) Example x86 SIGQUIT dump (note the three stacks, and note the absence of all the crap that makes dalvik's attempt so unreadable): "Thread-10" prio=5 tid=11 VmWait | group="main" sCount=1 dsCount=0 obj=0x612d6620 self=0x884f8f0 | sysTid=30512 nice=0 sched=0/0 cgrp=default handle=1458686832 | schedstat=( 1249502 8995 26 ) utm=0 stm=0 core=14 HZ=100 | stackSize=1044KB stack=0x57905000-0x57906000 kernel: futex_wait_queue_me+0xcd/0x110 kernel: futex_wait+0x1e5/0x310 kernel: do_futex+0x101/0xb00 kernel: compat_sys_futex+0x75/0x160 kernel: sysenter_dispatch+0x7/0x2e native: __kernel_vsyscall+14 [0x5557342e] ([vdso]) native: pthread_mutex_lock+54 [0x55cd8bf6] (libc-2.11.1.so) native: art::Mutex::Lock()+86 [0x55823a86] (libartd.so) at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:75) at java.lang.StringBuilder.<init>(StringBuilder.java:54) at java.lang.Thread.create(Thread.java:427) at java.lang.Thread.<init>(Thread.java:223) at ThreadStress$1.run(ThreadStress.java:134) (cherry picked from commit 00e446e5d912100b831fdcdbc276e7c31447f0c4) Conflicts: src/thread.cc Change-Id: I4712f8235992eafe6d8d6f915aa96f684bceaff2
ndroid.libart-compiler-llvm.mk
ndroid.libart.mk
|
fd2ec5473d9c63b15dbc28c8a5996c83120cb8ae |
03-May-2012 |
Brian Carlstrom <bdc@google.com> |
Fix compilation issues with new gcc (cherry picked from commit efad79fa4121e20ab613e31bde44cc3120f23832) Conflicts: src/compiler/codegen/mips/Mips32/Factory.cc src/compiler/codegen/x86/X86/Factory.cc Change-Id: I5e0e9dc48ba76092cccc70b25668978a08a5449b
ndroid.common.mk
ndroid.libart.mk
|
29dbef28a9fa99d337265de1f054ba418f6bf127 |
31-May-2012 |
jeffhao <jeffhao@google.com> |
Merge "Fix build to rebuild tests correctly, and disable pre-dexopt." into ics-mr1-plus-art
|
50808a37b6a60e0c18f8b5e0573ccf4b9d7eb283 |
31-May-2012 |
jeffhao <jeffhao@google.com> |
Fix build to rebuild tests correctly, and disable pre-dexopt. Tests weren't being regenerated when their sources changed. Also, pre-dexopt is disabled to allow tests that require dex files to work. Change-Id: I378ee80515e785ff1ec97d93e3782be8f68107f1
ndroid.oattest.mk
|
bba47a499beac418d3fc933acd6d4fe01dcaa3cb |
30-May-2012 |
Mathieu Chartier <mathieuc@google.com> |
Test for ConcurrentGC validity. Test aims to test for the lost object problem. Should consistently crash incorrect (no dirty card scanning) CMS if the CMS is requested after every allocation. Change-Id: I6161f0d678067947b60c5fadf57f5bdcb33b6749
ndroid.common.mk
|
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
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart-compiler-greenland.mk
ndroid.libart.mk
ndroid.oattest.mk
|
024cf66d3359c015fabca8f5f3964592973e3f6e |
29-May-2012 |
Shih-wei Liao <sliao@google.com> |
To build x86 image, fix target assumption of "arm". Change-Id: Ica552e9311e5b56782ffd1467861366762f7a1d4
ndroid.libart-compiler-llvm.mk
|
eac766769e3114a078c188ea26776a81f0edb3cf |
25-May-2012 |
Elliott Hughes <enh@google.com> |
DO NOT MERGE Fix all unsafe caching to be like libcore. This way, if a runtime is restarted within a process, we re-initialize all the cached data. Conflicts: src/native/java_lang_Runtime.cc -- nativeExit lost an argument in dalvik-dev (cherry picked from commit 7756d5473fa27ce7e6ac7c31770eef7030431da4) Change-Id: I6184fc20c2a9ec16c4b053584a4d1c3b64452d0f
ndroid.common.mk
|
1f71ae819e506c40ad5adccec4b2e57699e0b5c4 |
25-May-2012 |
jeffhao <jeffhao@google.com> |
Fix host build to properly build x86. Change-Id: Ib8acb75cca2f0728297180e082a89f4f81784e75
ndroid.oat.mk
ndroid.oattest.mk
|
4b2966b3e22395dfe2e927f7a5f28699961e3b32 |
22-May-2012 |
Brian Carlstrom <bdc@google.com> |
Add empty gtest_test for debugging (cherry picked from commit be1f5881221863acce651d1351a76b8022bb463e) Change-Id: Ic12ff636599451213d6db36e52fab89166b7e6b7
ndroid.common.mk
|
3e778f7ee62fe75912379531022a09230c25f5f8 |
22-May-2012 |
Elliott Hughes <enh@google.com> |
Fix JNI stubs for synchronized native methods with double/long arguments in low registers. Change-Id: I3639f7a7a9564630ae01651119fcad237a5e675d
ndroid.common.mk
|
71e85b74eb5710a689e83623706b3bb372762eb5 |
11-May-2012 |
Shih-wei Liao <sliao@google.com> |
Add libMipsAsmParser and libMipsDisassembler. Change-Id: I939725123556965562936a0c226c41f944b610b1
ndroid.libart-compiler-llvm.mk
|
08e1ba3c5899213e63007b0158e0a491f2449ea4 |
08-May-2012 |
Logan Chien <loganchien@google.com> |
Don't fork dex2oat process on target device. Change-Id: I35370d328aaa1aaaed5b56e62e51c4c74afa9cba
ndroid.common.mk
|
aba61123f9c10a19ab0c14f9833622d8e4788f96 |
05-May-2012 |
TDYa127 <tdy@google.com> |
Basic TBAA. Separate load/store of register, memory, runtime information, and stack temp. Change-Id: I9d1eadac718c48f43839b0762460defc6c641ae4
ndroid.libart-compiler-llvm.mk
|
d8749cff01eb5d91ff770d8f75d853745903e781 |
26-Apr-2012 |
Logan Chien <loganchien@google.com> |
Remove unused file: src/compiler_llvm/frontend.cc Change-Id: I035e60d2c274d5bc5f158b30c671c32d110f0a0a
ndroid.libart-compiler-llvm.mk
|
60454e8b48663e6e5cb4bb301cec5edf93f8ce54 |
25-Apr-2012 |
Elliott Hughes <enh@google.com> |
MIPS disassembler. 0x0000: invoke-direct {v0}, Ljava/lang/Object;.<init>()V // method@163 0xf7229004: 8e220050 lw r2, +80(r17) ; stack_end_ 0xf7229008: 27bdfff8 addiu r29, r29, -8 0xf722900c: afb20004 sw r18, +4(r29) 0xf7229010: afbf0000 sw r31, +0(r29) 0xf7229014: 27a3ffe8 addiu r3, r29, -24 0xf7229018: 0062402b sltu r8, r3, r2 0xf722901c: 15000010 bne r8, r0, 0xf7229060 ; +68 0xf7229020: 00000000 nop 0xf7229024: 0060e825 or r29, r3, r0 0xf7229028: afa40000 sw r4, +0(r29) 0xf722902c: 00a09025 or r18, r5, r0 0xf7229030: 8fa40000 lw r4, +0(r29) 0xf7229034: 02402825 or r5, r18, r0 0xf7229038: 8c840010 lw r4, +16(r4) 0xf722903c: 8c840298 lw r4, +664(r4) 0xf7229040: 8c820020 lw r2, +32(r4) 0xf7229044: 0040f809 jalr r2 0xf7229048: 00000000 nop 0x0003: return-void 0xf722904c: 8fb2001c lw r18, +28(r29) 0xf7229050: 8fbf0018 lw r31, +24(r29) 0xf7229054: 27bd0020 addiu r29, r29, 32 0xf7229058: 03e00008 jr r31 0xf722905c: 00000000 nop 0x0000: invoke-direct {v0}, Ljava/lang/Object;.<init>()V // method@163 0xf7229060: 27bd0008 addiu r29, r29, 8 0xf7229064: 8e2901f4 lw r9, +500(r17) ; pThrowStackOverflowFromCode 0xf7229068: 0120f809 jalr r9 0xf722906c: 00000000 nop Change-Id: Ib5b8c9ed91fa92586f3b93793b5fb893e9ac09c2
ndroid.common.mk
|
58e63f9e999605bce6e8dc301eaf5e2ee0981e03 |
24-Apr-2012 |
TDYa127 <tdy@google.com> |
Higher degree of parallel compilation on the LLVM side. Change-Id: If69deaa7c787021a7b136719ce316fff803aa3b0
ndroid.common.mk
ndroid.oat.mk
|
8cfa88200fcae8dd0a9c4d3cadffc9284985c771 |
21-Apr-2012 |
Shih-wei Liao <sliao@google.com> |
Higher degree of parallel compilation on the LLVM side. Non-LLVM side is fast, so 2 threads will make do there. Change-Id: Id74aa063d965366ead16d25b22dc14efdccd1bb6
ndroid.oat.mk
|
f1eedca3a34bce42bb25bb8432b5d5df12103d16 |
21-Apr-2012 |
Elliott Hughes <enh@google.com> |
Don't say .so when we might mean .dylib or .dll... Change-Id: I53a4d39f7e88fa73cabd275929f03d3da071cda7
ndroid.common.mk
|
6e94f144e2d41c75c17c11f41ee8daba3455980b |
17-Apr-2012 |
Shih-wei Liao <sliao@google.com> |
Fix LLVM runtime failures. Change-Id: I39b35696687e00f7c3153b65fd49d741ce4625d0
ndroid.common.mk
|
d668a06b5dcc3b0f7f788da4d756cd4ee6f1d0fa |
13-Apr-2012 |
TDYa127 <tdy@google.com> |
Implement runtime support inlining. Change-Id: I8608b246a4dfde9959b5b86872f65dfa61646c84
ndroid.libart-compiler-llvm.mk
|
0dae08ead9112adb81ad507b81187f00f77bc168 |
14-Apr-2012 |
Ian Rogers <irogers@google.com> |
Move JNI methods out of top-level. Change-Id: Ia9c883ba9a13b205cda7b72024e2939f02583acb
ndroid.common.mk
|
776ac1fa61237db645adb4370a4aab888530caf4 |
14-Apr-2012 |
Ian Rogers <irogers@google.com> |
Separate out more of LLVM build. Move verifier. Move the verifier to its own directory and break out major components. Avoid compiling unused files as part of the LLVM build, increase the use of unimplemented for LLVM. Change-Id: Icd3b1708363fb70ae99417d06ef8669d60446533
ndroid.common.mk
|
fa3c10ced11e0f8876bb59d4d8e983acc7791b64 |
11-Apr-2012 |
Shih-wei Liao <sliao@google.com> |
Build libart-compiler-llvm successfully, in addition to libartd-compiler-llvm. Author: Brian Carlstrom. Tested. Change-Id: Ib1b5dc402ba4b85f56f99dda69112432b7340062
ndroid.libart-compiler-llvm.mk
|
ceeea7d1610a88dee67b701c90208bfdc935c3d8 |
10-Apr-2012 |
Elliott Hughes <enh@google.com> |
Add missing escaping in makefile. (Causing libart-compiler-.so in place of libart-compiler-X86.so.) Change-Id: I4551c2e8fdfd2f6801a8516b503de495813a5c69
ndroid.libart-compiler.mk
|
34e069606d6f1698cd3c33b39e72b79ae27e1c7b |
09-Apr-2012 |
Elliott Hughes <enh@google.com> |
Remove the useless "suspend count already zero" message for new threads. We can actually detect the expected case of this warning ourselves, and not emit it. Then we can upgrade the WARNING to a FATAL. I also tripped over the fact that the operator<< for Thread::State was out of date, so I've moved the Thread enums up to namespace scope so the script can automatically generate correct operator<< implementations for us. (All the high-numbered thread states have been off by one for a couple of weeks.) Change-Id: I5de573d33d641e5a3cba87b370e9620c8c66e633
ndroid.common.mk
|
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
ndroid.gtest.mk
ndroid.oattest.mk
|
b264f081424642b06b0bbe7102781895d41faa9d |
07-Apr-2012 |
Elliott Hughes <enh@google.com> |
Implement native method return value and upcall argument type checking. Also clean up the CheckJNI testing a bit. I still need to do some work so that JniAbort catches more of the detail, but this is a step forward. Change-Id: Ibf5e32867d56123cff902ebf602406b731f567d2
ndroid.gtest.mk
|
937105a220983351695bf4c8924171ba5d17a68c |
01-Apr-2012 |
Logan Chien <loganchien@google.com> |
Use ELF function index to distinguish generated functions. We replaced LLVMLongName and LLVMStubName with ElfFuncName, and we are using the simple name: Art0, Art1, ..., ArtN, as the function name of every generated functions. This gives us 3 benefits: 1. We can avoid the ambiguous function name returned by LLVMLongName() in some special situation. 2. We don't need to have the art::Method object during the executable linking procedure. Besides, this will make bootstrapping easier. 3. Reduce the size of the ELF executable, since we don't have to save a long function name, which usually contains more than 30 characters. Change-Id: Ib698062b272458e847ad5545d7acf33a4dc9eb85
ndroid.common.mk
ndroid.libart-compiler-llvm.mk
|
3fe0c60b00f32274f0763feb6b51bb05dff2abb9 |
27-Mar-2012 |
Logan Chien <loganchien@google.com> |
Move ElfLoader from libart-compiler-llvm to libart. Due to the fact that we are going to use ElfLoader in OatFile, CommonTest, and Compiler, it won't be a good idea to keep ElfLoader as backend specific class. Thus, we should move ElfLoader to libart. Change-Id: I3d264266b3771eaa935b1768be1937797f57f7d7
ndroid.common.mk
ndroid.libart-compiler-llvm.mk
|
34f1fa453357af94377f83b21485a60429d1cd7f |
06-Apr-2012 |
Brian Carlstrom <bdc@google.com> |
Run dex2oat for test-art-host-oat targets with core.art Revert "test-art-host-oat targets should not rerun dex2oat" This reverts commit 14a8e7342c218208f124a5bf0079365dcb456d27. Change-Id: Iad5d90e8968ad0dcfbe6d5c9d67c47c9c0ceb112
ndroid.oattest.mk
|
d0b3a301128904cc1717dd963e45c1b18b78fb8a |
05-Apr-2012 |
Brian Carlstrom <bdc@google.com> |
Do not rerun dex2oat just because dex2oat changed Change-Id: I4b3c6ce3a451776ca9b0ca846c8aa01fcdb5ee85
ndroid.oat.mk
|
c8eeb9b283d5053c1b1092363320646dc7c0deab |
05-Apr-2012 |
Elliott Hughes <enh@google.com> |
Merge "Use the operator<< generator more widely." into ics-mr1-plus-art
|
ad7ac50258e68d2b314fb4f60cce585884afc654 |
05-Apr-2012 |
Brian Carlstrom <bdc@google.com> |
Merge "test-art-host-oat targets should not rerun dex2oat" into ics-mr1-plus-art
|
14a8e7342c218208f124a5bf0079365dcb456d27 |
05-Apr-2012 |
Brian Carlstrom <bdc@google.com> |
test-art-host-oat targets should not rerun dex2oat Change-Id: Ic1c70c750b892e34ef69199e7d8cce166c9f8791
ndroid.oattest.mk
|
460384f04f933f94546db7bfbfa02896b9e77962 |
05-Apr-2012 |
Elliott Hughes <enh@google.com> |
Use the operator<< generator more widely. Change-Id: Iae3b8f32f49f4c91cd41c53bbafb95db071d57bb
ndroid.common.mk
|
ef67aec56cfc8b43239027f8ddc331162eb103a1 |
04-Apr-2012 |
Elliott Hughes <enh@google.com> |
Fix the operator<< generation to work with "mmm" as well as "mm". Change-Id: I457a74f1be68debfd351c63f282c3579c6becda2
ndroid.libart.mk
|
0e57ccbbc2de9eeaeecd699575aab22a3f555619 |
04-Apr-2012 |
Elliott Hughes <enh@google.com> |
Start automatically generating operator<<s for enums. Change-Id: I0f53db089b9a1ba38ce82b75ab22448877be67e0
ndroid.common.mk
ndroid.libart.mk
|
b1ab7df793844398c71ee18c2bd60e3bc6484d10 |
29-Mar-2012 |
Shih-wei Liao <sliao@google.com> |
Cope with runtime refactoring on the LLVM side. Change-Id: I654e6d0553938a84542a76a996ed6dfd932250b2
ndroid.common.mk
|
57b86d47b66322693a070185fadfb43cb9c12eab |
28-Mar-2012 |
Ian Rogers <irogers@google.com> |
Refactor runtime support. Change-Id: Id7470a4105838150d5ceb73ab2c8c83e739660df
ndroid.common.mk
ndroid.libart-compiler.mk
ndroid.oat.mk
ndroid.oattest.mk
|
c38a90188f0eb70e896b3cd05b5e6867f0be6a8e |
27-Mar-2012 |
Logan Chien <loganchien@google.com> |
Remove unused static libraries from libart.so. Change-Id: I72ab607d195278d0753ed613abd323ad57b7dbc2
ndroid.libart.mk
|
0faf82f6ebd9122c995b620bd51253e6f59515e0 |
27-Mar-2012 |
Logan Chien <loganchien@google.com> |
Fix LLVM build linking error. Change-Id: Ia39cb3bd6fc5f52b5bffffd6f1f596813ea1e04b
ndroid.libart-compiler-llvm.mk
|
6e41d42f6b7977325a87a125c344c1c9cdf6c949 |
27-Mar-2012 |
Shih-wei Liao <sliao@google.com> |
DO NOT MERGE: Cope with current LLVM in this branch. Change-Id: Id3dbfb96919bf1dd0e93d45ab18d0e4a06a08b72
ndroid.libart-compiler-llvm.mk
ndroid.libart.mk
|
b4669208ee02f16c198eb21332701b6a0c5af278 |
25-Mar-2012 |
TDYa127 <tdy@google.com> |
Fix space_test for (USE_LLVM_COMPILER) build. If we use libcutils, it will link bionic's dlmalloc. And we will call bionic's init_mparams(). The init_mparams() initializes a "static" variable, mparams. So, if we don't call ART's copy of init_mparams(), our own mparams will not be initialized. Later, when we call mspace_set_footprint_limit(), which only exists in ART's copy of dlmalloc, it can not successfully set limit. The problematic code path is as follows: Most recent callee is: art::Runtime::VisitRoots at art/src/runtime.cc:839 art::MarkSweep::MarkRoots at art/src/mark_sweep.cc:91 art::Heap::CollectGarbageInternal at art/src/heap.cc:581 art::Heap::AllocateLocked at art/src/heap.cc:465 art::Heap::AllocateLocked at art/src/heap.cc:421 art::Heap::AllocObject at art/src/heap.cc:281 art::Array::Alloc at art/src/object.cc:1252 art::PrimitiveArray<unsigned short>::Alloc at art/src/object.cc:1280 art::String::Alloc at art/src/object.cc:1392 art::String::AllocFromModifiedUtf8 at art/src/object.cc:1380 art::String::AllocFromModifiedUtf8 at art/src/object.cc:1375 art::InternTable::InternStrong at art/src/intern_table.cc:136 art::ClassLinker::AllocDexCache at art/src/class_linker.cc:1042 art::ClassLinker::AppendToBootClassPath at art/src/class_linker.cc:1607 art::ClassLinker::InitFromCompiler at art/src/class_linker.cc:314 art::ClassLinker::CreateFromCompiler at art/src/class_linker.cc:213 art::Runtime::Init at art/src/runtime.cc:666 art::Runtime::Create at art/src/runtime.cc:495 which is the oldest callee. This will happen to (!USE_LLVM_COMPILER) build as well: When creating runtime.class_linker_, it should allocate DexCache. When initializing DexCache, it needs to allocate managed Object. Then, when running (USE_LLVM_COMPILER) build, allocate without growth failed. See space->AllocWithoutGrowth() at heap.cc:442. Then, (USE_LLVM_COMPILER) build will call CollectGarbageInternal, which will call through Runtime::VisitRoots(). VisitRoots needs class_linker. But at that time, we are still initializing runtime::class_linker_! In general, this could be a bug for (!USE_LLVM_COMPILER) build too, when we need to run GC before class_linker_ is initialized. (cherry picked from commit 8771a2fe9f5892fa4646cf50ae728f54b427356f) Change-Id: I02b313b4153bb7ff7554aaf3d0dc760c5bdb2087
ndroid.gtest.mk
|
f7015fd55a8dc969ac2440ffc829a6b4d942fb5a |
17-Mar-2012 |
Logan Chien <loganchien@google.com> |
Add ELF loader to load the executables. (cherry picked from commit 8c9ca414a7ed05c3530973c63496e477e9ca5eb7) Conflicts: src/compiler.cc Change-Id: I950749625d5b266990c617e2d8cea688fbdc11fb
ndroid.libart-compiler-llvm.mk
|
5147733292cd0b80ca7da3099e43cc549d67526b |
26-Mar-2012 |
Brian Carlstrom <bdc@google.com> |
Fix sdk_x86 build (cherry picked from commit 26b8c9d432adc2fc71438050377cb6106dffde1a) (cherry picked from commit 2fc2bd6aaa1c9a743f2d2bb9d81ab1570e510923) Change-Id: I20a705cb83279ff6b6fdc4a543853e020eb34a04
ndroid.common.mk
|
706a10ea53a32455c6b3ffc5e5e0e1f6f191ec2a |
24-Mar-2012 |
Ian Rogers <irogers@google.com> |
X86 disassembler. Change-Id: Ie38c55979931f365ec20073a651cfbccc4b86bb4
ndroid.common.mk
|
3bbbe82cfec2d3b03b0b560a3978a8231a9a51d3 |
18-Mar-2012 |
Brian Carlstrom <bdc@google.com> |
Add disabled --instruction-set=X86 for test-art-host-oat Change-Id: I4e05f5c8a8ac59ef74287626f0d3ec46507870d2
ndroid.oat.mk
ndroid.oattest.mk
|
b2793375d42b5d90d9a0111581c4314abe11ca4c |
18-Mar-2012 |
Brian Carlstrom <bdc@google.com> |
Add disabled test-art-host-oat Change-Id: I33ca0f29301dcd26db46b6b7876090eaf2ddaa70
ndroid.oattest.mk
|
1bac54ffa933fbe9b92b62437577f2f4583eff1a |
16-Mar-2012 |
Elliott Hughes <enh@google.com> |
Fix all our unused parameter warnings so we let GCC report them. There were a couple of genuine bugs here (fixed), plus there's a missing feature in trace.cc that I've just added a TODO for. Also note that I haven't touched the compilers; this warning is still explicitly disabled for that code. I'll do that when there's less going on in those directories. Change-Id: Ic3570bf82411a07c7530bfaf1995ac995b9fc00f
ndroid.common.mk
ndroid.libart-compiler.mk
|
88c5c355fc3d881f905564911d746b2313d5fc89 |
16-Mar-2012 |
Elliott Hughes <enh@google.com> |
Make CheckJNI and JNI workarounds mutually exclusive... ...in the opposite direction; needing workarounds turns off CheckJNI. This isn't necessarily a good idea, but I like the cleanup parts of this change. Change-Id: I708235ea3e5cc35ef90b01dd810e097e3ff9dd26
ndroid.common.mk
|
77405796564c6c1353807cda18b28678a719bd68 |
15-Mar-2012 |
Elliott Hughes <enh@google.com> |
Rewrite the invoke stubs to use JValue[]s. The tests were only testing the static stubs, so extend the tests to include non-static stubs too. Also add just enough of an ARM disassembler to disassemble the invoke stubs. Change-Id: If71dfb66b8b8188f9d871914f0eaf1013c9993b9
ndroid.common.mk
|
002b915276064dbe2ce9caf7474d3032301d8d7c |
14-Mar-2012 |
Elliott Hughes <enh@google.com> |
Don't try to link in libraries we're not building yet. We can link these back in when we upgrade LLVM. Change-Id: I0fda984364e7aa9bdaf09b0fe3f502b5e7c37000
ndroid.libart-compiler-llvm.mk
ndroid.libart.mk
|
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
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart-compiler-llvm.mk
ndroid.libart.mk
|
73666be63d30f9af5487982f69600be38caaed1b |
11-Mar-2012 |
Brian Carlstrom <bdc@google.com> |
Add dependency from dex2oat to supporting libart-compiler-* libraries Also make .art the primary build rule, not the .oat. The build/core/dex_preopt.mk rules depend on the .art files, and without this, unnecessary rebuilds can happen when the .art file is regenerated. Change-Id: I0b116d6975916b9140e7ef095f8b0ec994c8e50f
ndroid.libart-compiler.mk
ndroid.oat.mk
|
46f060a53fffc14333096f0a48f95730ee4768ee |
10-Mar-2012 |
Elliott Hughes <enh@google.com> |
Move other compiler bits into the compiler shared libraries. Change-Id: I288337af4c70716709217ff2d21050ba5f858807
ndroid.common.mk
ndroid.libart-compiler.mk
|
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
ndroid.common.mk
ndroid.libart-compiler.mk
|
4d3c07f0bbfd07815f2ac848ad2b08979b9bee4d |
08-Mar-2012 |
Brian Carlstrom <bdc@google.com> |
Fix core.oat dex file dependencies Change-Id: Id543e71c01b65b40abdfd658f6969b3d62c6e04e
ndroid.oat.mk
|
87587cb6e34b17daf76a50c27bf7c317a28ed8c4 |
08-Mar-2012 |
Brian Carlstrom <bdc@google.com> |
Update core image to include everything needed by core-tests Change-Id: I3dd20bf3e9da85a99abdee9994d1d02cbbda86cf
ndroid.oat.mk
|
b0ee9d705a51b3de188be1f8a28e00574d8eabae |
08-Mar-2012 |
Shih-wei Liao <sliao@google.com> |
Add runtime_support_common. Addressed the issue that we shouldn't maintain 2 copies of almost the same code. Change-Id: I212656f65e6c47e1167a193c1024100ae97f0028
ndroid.common.mk
|
adb8c67f6d87a160d4e3a8afea7cb93f6c14568b |
07-Mar-2012 |
Elliott Hughes <enh@google.com> |
Move the compiler away from libdex. Change-Id: I0c5fdc38d94f1199023cfc6aab3060b927ad2383
ndroid.common.mk
ndroid.libart.mk
|
9787ac4a18e71a57ed2b559759e9903b557a65dd |
06-Mar-2012 |
Logan Chien <loganchien@google.com> |
Skip src/jni_compiler.cc from llvm backend LLVM backend has llvm-specific JNI compiler, which is using different calling convention and being incompatible with src/jni_compiler.cc, thus we are not using src/jni_compiler.cc in the llvm backend. Change-Id: I68a3beb2668b4bcc8ed36aed57fa252907ad2453
ndroid.common.mk
|
a7678db092ac6bb79f7cad490099a1015fbbc714 |
06-Mar-2012 |
buzbee <buzbee@google.com> |
x86 source code hack and slash Made a pass over the compiler source to get it into a compileable state for the x86 target. Lots of temporary #ifdefs, but it compiles and makes it to oatArchInit(). Change-Id: Ib8bcd2a032e47dcb83430dbc479a29758e084359
ndroid.common.mk
|
a8a9c3490776ab897a15bebd31119c94ede5c19a |
04-Mar-2012 |
Shih-wei Liao <sliao@google.com> |
Initial runtime support routines for ART LLVM. Change-Id: Id5bb87685e1a95444bdd7a676f68b378e1b88d3f
ndroid.common.mk
|
3a5c1ce3f11805a3382046f699c8fb1410a602b3 |
29-Feb-2012 |
Ian Rogers <irogers@google.com> |
Extra verbosity and disassembler for oatdump Disassembler for thumb2 instructions. Print outlying methods for ART files. Find oat code methods that require trampolines. Fix accounting of code and which file contains which bytes. Dump oat meta-data. Change-Id: I10f52a4841f57a3f65d61ce0d1bb71bb4eb9f595
ndroid.common.mk
|
ffb465f23d9549dd591e6aa62e9250523cb00233 |
02-Mar-2012 |
Elliott Hughes <enh@google.com> |
libcorkscrew native stacks, mutex ranking, and better ScopedThreadListLock. This change uses libcorkscrew to show native stacks for threads in kNative or, unlike dalvikvm, kVmWait --- working on the runtime directly I've found it somewhat useful to be able to see _which_ internal resource we're waiting on. We can always take that back out (or make it oatexecd-only) if it turns out to be too noisy/confusing for app developers. This change also lets us rank mutexes and enforce -- in oatexecd -- that you take locks in a specific order. Both of these helped me test the third novelty: removing the heap locking from ScopedThreadListLock. I've manually inspected all the callers and added a ScopedHeapLock where I think one is necessary. In manual testing, this makes jdb a lot less prone to locking us up. There still seems to be a problem with the JDWP VirtualMachine.Resume command, but I'll look at that separately. This is a big enough and potentially disruptive enough change already. Change-Id: Iad974358919d0e00674662dc8a69cc65878cfb5c
ndroid.libart.mk
|
5b8b1edc803a85bb3172560826d6a23fb23c3452 |
24-Feb-2012 |
Shih-wei Liao <sliao@google.com> |
Implement Link-loading and pass 62 tests in JniInternalTest. The passed tests include the 12 originally ARM-only tests. Now it works on x86 as well if defined(ART_USE_LLVM_COMPILER). Change-Id: I03092637fa4f0979ca77e0cac06e5d31a867e465
ndroid.gtest.mk
ndroid.libart.mk
|
31a4a6f5717f645da6b97ccc1e420ae1e1c71ce0 |
29-Feb-2012 |
buzbee <buzbee@google.com> |
More target-independence Continuing to move target-specific code from the Arm code generator into the independent realm. This will be done in multiple small steps. In this CL, the focus is on unifying the LIR data structure and various enums that don't really need to be target specific. Also creates two new shared source files: GenCommon.cc (to hold top-level code generation functions) and GenInvoke.cc (which is likely to be shared only by the Arm and Mips targets). Also added is a makefile hack to build for Mips (which we'll eventually remove when the compiler support multiple targets via the command line) and various minor cleanups. Overall, this CL moves more than 3,000 lines of code from target dependent to target independent. Change-Id: I431ca4ae728100ed7d0e9d83a966a3f789f731b1
ndroid.common.mk
|
8b977d38483aaa08abcbdaa5fa888076c1142169 |
21-Feb-2012 |
Logan Chien <loganchien@google.com> |
Compile llvm.Module into ELF object file. Change-Id: I8faf7427944324c9bac12573d217cde2a2e658f1
ndroid.common.mk
ndroid.libart.mk
|
88894ee835411de72025cd8a5d8d111a6f2a004a |
13-Feb-2012 |
Logan Chien <loganchien@google.com> |
JNI compiler. Change-Id: Ia9a52cced70b8c44d1354e3342ad27f212c8d993
ndroid.common.mk
|
282dab03fd0c80819fa988ef2e81b2bae1c36287 |
29-Feb-2012 |
Brian Carlstrom <bdc@google.com> |
Add Java_MyClass_sbar to list of test symbols Change-Id: Ib34abfb5c1d2542ff3c3ae9417cd65d174bb6834
ndroid.gtest.mk
|
04941d992eca73f23ba268a0f422d501502cd6cf |
19-Feb-2012 |
Brian Carlstrom <bdc@google.com> |
Always run dex2oat (2 of 3) Change-Id: I2714508cbd655adfd9c6d46b40eedabc9d83dff6
ndroid.common.mk
ndroid.oat.mk
ndroid.oattest.mk
|
e3acd07f28d5625062b599c2817cb5f7a53f54a9 |
26-Feb-2012 |
buzbee <buzbee@google.com> |
Multi-target support This CL represents a step towards splitting out the target dependent and target independent portions of the compiler, and also adds in the beginning of a MIPS compiler based on the MIPS AOSP Jit submission. More polish is clearly needed, but the split is here probably pretty close. The MIPS code will not compile at this point (and there is no makefile target at present), but it's pretty close. There should be no changes in functionality of the Arm compiler in this CL - just moved stuff around. Change-Id: Ia66b2847e22644a1ec63e66bf5f2fee722f963d4
ndroid.common.mk
|
50e510229e874e78f40419533057a562a69747d7 |
24-Feb-2012 |
Shih-wei Liao <sliao@google.com> |
Minor fix to be consistent with the style today. Change-Id: Ic3967570d71440801635fd83a90b7dfddea667be
ndroid.common.mk
|
e75a8cc8c34c055181ac3f9dfbe33461ea90c37a |
23-Feb-2012 |
Logan Chien <loganchien@google.com> |
Ignore frame-larger-than warning for auto generated code. Change-Id: I2fd44f7fd54899d905b2630c2373e02251562617
ndroid.common.mk
|
753d7ff905bd1d397ba6b8cb4336096535021e40 |
23-Feb-2012 |
Shih-wei Liao <sliao@google.com> |
Add missing art_cflags. Change-Id: Ie546026f7377b7d229da65f3a6e0a4124a97742a
ndroid.common.mk
|
f04364f0ff789935d05490ee684f01c3de431780 |
09-Feb-2012 |
Logan Chien <loganchien@google.com> |
Add upcall compiler. Upcall compiler compiles the invoke stub for native-to-managed method invocation. Change-Id: I09fb1e4b3f166e8da5de73e8f39509cd9be6c152
ndroid.common.mk
|
646c3d7b965122bc88706307704d6d50e26df758 |
18-Feb-2012 |
Ian Rogers <irogers@google.com> |
Fix inadvertent submission in last CL. Change-Id: I3f8c55832dbee39b0cb8d1a245a72eef6f7b911c
ndroid.common.mk
|
c8b306f5221658c7e4b5516be8917dc8c9288e7e |
18-Feb-2012 |
Ian Rogers <irogers@google.com> |
Run time illegal access checks on static and direct methods Fixes test 075. Change-Id: I28b20451dcae8000dc0e2cb9068dfa5166659d43
ndroid.common.mk
|
a004aa933a58428489e42d77f707c2b063b73747 |
09-Feb-2012 |
Brian Carlstrom <bdc@google.com> |
user build support for art (2 of 3) Change-Id: I4696fee58e43db48540e2442c4235fc4bb02d9e3
ndroid.common.mk
ndroid.oat.mk
ndroid.oattest.mk
|
c670a8df21d1f047fcc2c7f90701a7f65e9cff6e |
20-Dec-2011 |
Logan Chien <loganchien@google.com> |
Add Dalvik register allocation codegen. Change-Id: I8842b1b03ff3fa362b69d386cc5927be6d65b460
ndroid.common.mk
|
7e6e33d45f96ca36803455f158d02fd1f5c21a1a |
31-Jan-2012 |
Logan Chien <loganchien@google.com> |
Add name mangling function for LLVM. Change-Id: I0fb352e946ef4be532fec540362468dba7a8138b
ndroid.common.mk
|
fca7e87c4831ac52073bdd0b2c7342488ce286d8 |
20-Dec-2011 |
Logan Chien <loganchien@google.com> |
Add inferred register category map to Method object. Change-Id: I69456c79eb3ce3df1924bffe4db5314b0552f1de
ndroid.common.mk
|
d1fec81868a3567560a3868350e0a945248e925b |
13-Feb-2012 |
Shih-wei Liao <sliao@google.com> |
Beginning of LLVM backend for ART. Change-Id: I03466aed94670ac72d489ebc6e34d7ee1c9c857e
ndroid.common.mk
ndroid.libart.mk
|
06e3ad4a651c2c58dba5e865cd06d2f98462bf1d |
07-Feb-2012 |
Elliott Hughes <enh@google.com> |
Turn on some basic tsan annotations. The most useful bit here is that tsan now knows the names of our threads. Change-Id: I8eef8f31e954ffc373555b392d6d9678d76ead34
ndroid.common.mk
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart.mk
ndroid.libarttest.mk
|
bd411021057416e56a1544b98831b92faf66a1a1 |
07-Feb-2012 |
Brian Carlstrom <bdc@google.com> |
trygon support Change-Id: I27ff7e26b583614f2577aed79dcd629ad4595e63
ndroid.common.mk
ndroid.oat.mk
|
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
ndroid.common.mk
ndroid.gtest.mk
ndroid.oattest.mk
|
0f09676a8f61809c474e71b4a677093615bfba19 |
31-Jan-2012 |
Elliott Hughes <enh@google.com> |
Fix test-art-target on the Mac. We only want to avoid using GNU ld options when building host binaries for the Mac. Change-Id: I10da9dcbb74ebf68877d16384c962daf40c8d56c
ndroid.gtest.mk
|
cfede668645d1fd40ff500974188cab5fb49d11c |
30-Jan-2012 |
Brian Carlstrom <bdc@google.com> |
Fix Mac build Change-Id: I81ee45431604de5c788dd572faf2e582b477a498
ndroid.gtest.mk
|
b9cc1ca34adec5e9254f78e9ee40d57348aa2fd0 |
27-Jan-2012 |
Brian Carlstrom <bdc@google.com> |
Remove need for libarttest.so for gtests for tradefed Change-Id: I18b39b9fc6f0bfa163ef7e7063864696d6958ad0
ndroid.common.mk
ndroid.gtest.mk
ndroid.libarttest.mk
ndroid.oattest.mk
|
30fab40ee5a07af6b8c3b6b0e9438071695a57f4 |
24-Jan-2012 |
Ian Rogers <irogers@google.com> |
Upgrade to latest dlmalloc. Refactor Heap and related APIs to use STL like naming. We fail assertions in the existing heap code, as does Dalvik. This refactoring is to clean the heap and space APIs and to reduce duplication of data and thereby solve a failing assertion in the card table. This change also wires up clearing of soft references including before out-of-memory errors are reported. In doing this change it was made clear that mspaces are buggy (and violating invariants with the garbage collector). This change upgrades to an un-Android molested version of dlmalloc-2.8.5 and implements a version of the mspace morecore routine under ART control. run-test 061-out-of-memory is updated for current heap sizes. Change-Id: I377e83ab2a8c78afb9b1881f03356929e2c9dc64
ndroid.common.mk
|
10037c866b04550fc5461058c398c2e3e509381a |
24-Jan-2012 |
jeffhao <jeffhao@google.com> |
Added pass to verify structure of dex file. When a dex file is first opened, this pass runs through to make sure sizes and offsets of the various sections of the dex file match the header and don't overlap. Change-Id: I4900c9665d6572ccfca2fe5f79d5d48ce7252036
ndroid.common.mk
|
6717d0d2dfd84e895794aea08ec45bfe60b0a856 |
25-Jan-2012 |
Brian Carlstrom <bdc@google.com> |
Move target gtests to /data/nativetest for tradefed Change-Id: I937061dc25139fefc2f26efdd908a4efc2a21cf1
ndroid.gtest.mk
|
cd74c4b3a6893c876c6e03fd99a1264249653d80 |
23-Jan-2012 |
Brian Carlstrom <bdc@google.com> |
Fix thread hang - Primary problem was ScopedThreadListLock was releasing heap lock in constructor instead of destructor - Secondary problem was ScopedThreadListLock should not be used with Mutex::Wait - Added Thread.getStackTrace case to ThreadStress that reproduces YouTube problem - Added Mutex::GetDepth and related methods that were useful in diagnoising this issue Change-Id: I1bdc7245e9b411378b98f4dcf498ad66eb96366d
ndroid.common.mk
|
659526d5899fbed659b08fedba31c36f7f31724a |
21-Jan-2012 |
Elliott Hughes <enh@google.com> |
Work around unexplained $(filter-out) trouble. ($filter-out) was leaving us with the empty list. Manually write out the two choices. Change-Id: Ib79677164f25b447418d75382b831659d0c7332d
ndroid.gtest.mk
|
34cf51471a40d55dd63897daf855fec8179b0f7f |
21-Jan-2012 |
Elliott Hughes <enh@google.com> |
Work around the fact that Linux and Mac OS have opposite requirements for libgtest. This should let us keep the working Mac build without breaking the Linux build! Change-Id: I2ec44b7043c8ac9be49f0068d9eb7e18e9c88c7d
ndroid.common.mk
ndroid.gtest.mk
|
af59858482521366dc8920af45ff02977b237674 |
21-Jan-2012 |
Elliott Hughes <enh@google.com> |
Merge "Fix the Mac build. Really. I have binaries and everything." into dalvik-dev
|
e71719d5aae738e61024127f3f75c221c1ddc579 |
21-Jan-2012 |
Elliott Hughes <enh@google.com> |
Fix the Mac build. Really. I have binaries and everything. Change-Id: I7bb27f6ebbb09162c803764f23520e6f682555c7
ndroid.gtest.mk
|
1ba271478b17b25ca634563fc915fb6263efd492 |
21-Jan-2012 |
Elliott Hughes <enh@google.com> |
Fix build (add -fkeep-inline-functions back for Linux). Change-Id: I61abff2ed9b6a6ad38f70a1caaf27d892c16dc83
ndroid.common.mk
|
ad6c9c3dbf7541340f22ccbb333f08556ad7e000 |
20-Jan-2012 |
Elliott Hughes <enh@google.com> |
Mac build fixes. This gets us pretty close. There are a few problems with libraries we depend on (system/core/liblog and external/icu4c) that I have workarounds for, and a problem with gtest that I haven't yet worked around that prevents us from linking any of the tests. But this at least gives us a Mac dex2oat binary. Change-Id: Iac39a6c2963c3d37ab2165d7d1a70e303ba22c45
ndroid.common.mk
ndroid.libart.mk
ndroid.libarttest.mk
|
24782c6aa7abf396de057d7eb15035b4c594a3b4 |
08-Jan-2012 |
Shih-wei Liao <sliao@google.com> |
Add a macro GCC_VERSION and use it to control code paths. Code paths that work on lower version of GCC are required because Mac OS will never move beyond GCC 4.2. I added the code paths so that Mac builds can pass. Change-Id: I4a3340355133dff4a5107b94970bc809d9de264e
ndroid.common.mk
|
fe9cf7aee70aa3aeda32c64bd80194b52664c22e |
10-Jan-2012 |
Elliott Hughes <enh@google.com> |
Rename SystemMethods to ReflectionTest. This test started out as one thing, but ended up as something else. Change-Id: Idf85693cf49acf0ed198a92c4f3c66db31214ac0
ndroid.common.mk
ndroid.oattest.mk
|
eaa200d9b8a28f1a23b6ded7875d2b8fca555254 |
06-Jan-2012 |
Elliott Hughes <enh@google.com> |
Remove unnecessary casts. Also turn up strict-aliasing warnings to the maximum (and default!) level. Change-Id: I97f1d2c180ce515719f8c92d54b8a6ae6a6942c4
ndroid.common.mk
|
a6cc893c4b142cd410fc956963b6f5a014e983ad |
04-Jan-2012 |
Brian Carlstrom <bdc@google.com> |
Add installd support to dex2oat Change-Id: Id1a64403ccea7dc2c1e8b8340d33d383d4045a33
ndroid.common.mk
ndroid.executable.mk
ndroid.oat.mk
ndroid.oattest.mk
|
89521898b56f2ebc3fb68acfb6bc6dde9b6f5c38 |
08-Dec-2011 |
Brian Carlstrom <bdc@google.com> |
Merge art-cache dex files into oat files Change-Id: I5a327a4e0b678bd9dabb12de4e21ef05e3fefd0b
ndroid.common.mk
ndroid.executable.mk
|
5c9f0b4d3933cdf6c3897dead3f77b16515b401c |
16-Dec-2011 |
Elliott Hughes <enh@google.com> |
Mac OS assembler compatibility. I haven't bothered changing the ARM code because we don't need to build that with Mac OS' assembler. Change-Id: I2f7465de86d6ee5d767be409d8ea20731c91a8a1
ndroid.common.mk
|
69d7a6b9f87afbf6308e28c66bbcab7ff94c8049 |
16-Dec-2011 |
Brian Carlstrom <bdc@google.com> |
Disable -Wframe-larger-than for non-linux hosts Change-Id: Id9ceb398cc6741545728009672f596abf32cb99f
ndroid.common.mk
|
29e7ac74a3f9aec192099fec381baadaa55730ad |
06-Dec-2011 |
Brian Carlstrom <bdc@google.com> |
Moving from libdvm to libart (1 of 5) Change-Id: I6541802c5f403a4ba4424818084b94bebe71dfca
ndroid.gtest.mk
ndroid.oat.mk
ndroid.oattest.mk
|
6ef827a33b04fd5413d2ad88fd4599ca1920c824 |
11-Dec-2011 |
Brian Carlstrom <bdc@google.com> |
Revert dex2oat file locking Effectively "git revert 234da578a2d91ed7f2ef47b2ec23fb0033e2746b" Changed run-test to do dex2oat on the host to eliminate original motivation for dex2oat locking Change-Id: I58d64f9b2ad7cf137df865945dd31361ca57f675
ndroid.oat.mk
ndroid.oattest.mk
|
e343b76af81a005ef64f5e75a555389fd9147dab |
06-Dec-2011 |
jeffhao <jeffhao@google.com> |
Stub to capture method entry/exit. Added stubs to allow traceview to do method tracing. Currently only outputs to logcat, and a later change will generate the proper log file. Change-Id: Icaafc50e2eaf042ddc4d882011f7e8121bdd8b1c
ndroid.common.mk
|
ae826983f7903bc0a6bbbe8426bf393fb2f6d747 |
09-Nov-2011 |
Brian Carlstrom <bdc@google.com> |
Add --image-classes to dex2oat Change-Id: Ia88f9d302e0f9cd72be2199ee46d212d99864c67
ndroid.common.mk
ndroid.oat.mk
|
0571d357843c53e042f370f5f2c2e9aa3fe803a9 |
04-Nov-2011 |
Ian Rogers <irogers@google.com> |
Refactor the use of Method by the compiler. Remove the dependence on the Method object in dex2oat, allowing lazier resolution. Introduce new find and iterators in DexFile to simplify common operations and avoid misuse of class data items. Change-Id: I39fb8252190f543d89d8b233076355cec310fe08
ndroid.common.mk
|
0c54ac102a3c489d284a8db5d91189da5b455c40 |
09-Nov-2011 |
Jesse Wilson <jessewilson@google.com> |
Divide up hprof code by classes. This divides the _class, _heap, _output and _string files among hprof.cc and hprof_record.cc. This removes the use of mutex locks on class and string collections. This does not otherwise change the body of any functions, just which files they live in. Change-Id: I88521529dbe3e00bd88ec0030a6105dceda9500d
ndroid.common.mk
|
6c9c06dbb0b16714079afaedbebd3d548aa832b2 |
08-Nov-2011 |
Elliott Hughes <enh@google.com> |
Use ashmem to name our various anonymous regions. Change-Id: If64576b831a2fdcb83ffce40e6ec8ece8d902672
ndroid.libart.mk
|
234da578a2d91ed7f2ef47b2ec23fb0033e2746b |
04-Nov-2011 |
Elliott Hughes <enh@google.com> |
Basic file locking. If someone's already doing dex2oat, wait for them to finish rather than duplicate their work. Change-Id: Id620c75e013cbbcc84f5bf62a7629533a95307df
ndroid.oat.mk
ndroid.oattest.mk
|
f8a199cb0c53b7a6f0def21ec5b462992d93746b |
04-Nov-2011 |
Ian Rogers <irogers@google.com> |
Host precompilation of apks to speed boot. Change-Id: Iad0fb1243e5736b3fb17e004395a1183d67e4ff3
ndroid.oattest.mk
|
5d76c435082332ef79a22962386fa92a0870e378 |
01-Nov-2011 |
Ian Rogers <irogers@google.com> |
Mark non-image spaces and use write barrier for image spaces. Don't mark string and class roots that are in the image, alloc space references will be caught by the write barrier. Change-Id: Idcf9e4ede3b83556d4f8a01276273726dc6eea46
ndroid.common.mk
|
c4824e60fef6cb9fdf0f8442408338f4141e09de |
01-Nov-2011 |
Jesse Wilson <jessewilson@google.com> |
Add hprof. This code builds but is untested. Change-Id: Ied6549ef903761447fb3d28cf28b8bbc76e5ef35
ndroid.common.mk
|
c11607024d2e7a52ca690b8339306cab040e6653 |
28-Oct-2011 |
jeffhao <jeffhao@google.com> |
Added support for -XX:HeapGrowthLimit switch Runtime can now take in a growth limit for the heap, which can be smaller than the maximum size of the heap, and will prevent the heap from growing beyond that size. The growth limit can also be cleared to increase the size of the heap to the specified maximum size. This gives apps some control of the size of the heap, but should be removed when we have better ways to resize the heap. Change-Id: I338655bccd20bfd32e2318365f0f3283dbaaab1e
ndroid.common.mk
ndroid.oattest.mk
|
f6a1e1e44b94221c4e6b063b36921c712a33910b |
26-Oct-2011 |
Elliott Hughes <enh@google.com> |
Implement more DDMS support. You can now launch DDMS without killing running oatexec processes... Change-Id: I13e1d6df4f0cbd0c06b69471823a13e4e820b93b
ndroid.common.mk
|
5d84040e2231de1d48e6f30cab2cc8d4beb8effe |
25-Oct-2011 |
jeffhao <jeffhao@google.com> |
Created --runtime-arg switch for dex2oat to pass arguments to runtime. This replaces the -Xms, -Xmx, and -verbose options. Change-Id: Idc023b6d369bd8b5df932b9f2eb6dbc79d591ab1
ndroid.oat.mk
ndroid.oattest.mk
|
6b4ef025af12b158d117fc80fc79acf620f411a0 |
23-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Make ResolveField not rely on Field::GetType resolution Change-Id: I10f4a874809ac9db2cd54e200cf10eb7c8979fce
ndroid.oattest.mk
|
4514d3c0e69a49f5dbe19138330a2bb2aee36d63 |
22-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Fixes for ThreadStress test - Fix deadlock when ThreadGroup.remove(Thread) was run with thread_list_lock_ but needed to GC to allocate an iterator - Fix ~MonitorList to clean ownership of any locks that might be held by JNI or daemon threads on shutdown. Change-Id: I95e23c3b7c745f6a8387789949f3ec849458a27d
ndroid.oattest.mk
|
872d4ec7225444d9400d30f9027247deb91012fd |
22-Oct-2011 |
Elliott Hughes <enh@google.com> |
Bring across the JDWP implementation. This compiles and links, but does nothing until we fill out the 100 or so unimplemented methods in "debugger.cc". Note that I also need to add the extra command-line handling for the JDWP agent stuff, and add calls from the runtime to the various "something interesting is going on" hooks. Change-Id: I477cf3caf9e248c384ce1d739cbfadb60e2008bc
ndroid.common.mk
|
7c6deaa3382f1f4fb0f591af206f03045c6e9004 |
21-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Add ThreadStress test to try and exercise corner cases Change-Id: I8d151e9ba935b8c76406483c6c276cc26896aabf
ndroid.common.mk
ndroid.oattest.mk
|
5e71b52a6f2c16fd02b389d220e60808cbc8f74a |
20-Oct-2011 |
Elliott Hughes <enh@google.com> |
Rename object_bitmap to heap_bitmap (since that's what the class is called). Change-Id: Idce6e9062545eb13b701e6b7e371c262977814d1
ndroid.common.mk
|
fc86162ce2a3467acb690e18cc8bd9b3daafc606 |
18-Oct-2011 |
Elliott Hughes <enh@google.com> |
Implement lock contention event logging. Change-Id: I88b30985590157bb5d04229a97f191b898f141bb
ndroid.common.mk
|
aa7dadf542ed6d329b69010927c244f47bb88f7e |
18-Oct-2011 |
Elliott Hughes <enh@google.com> |
Merge "Add missing _jni in the build file. Fixing the build." into dalvik-dev
|
a6af3c35cd671014b68ffae3137559ffdcf6475f |
18-Oct-2011 |
Shih-wei Liao <sliao@google.com> |
Add missing _jni in the build file. Fixing the build. Change-Id: I9a8114db21c5ee2c04af6fdbca38ffd735f58d10
ndroid.common.mk
|
6a21982c960c8fb92ece0483c5b5b6047b0a7f77 |
18-Oct-2011 |
Elliott Hughes <enh@google.com> |
Merge "Clean up the makefile and add a missing 'static'." into dalvik-dev
|
498508c1187dc07d3eae5476784cde20f5224d93 |
17-Oct-2011 |
Elliott Hughes <enh@google.com> |
Clean up the makefile and add a missing 'static'. Change-Id: I9665c4c2ed6e2b4e9ad84e6c476d54b4e90a011c
ndroid.oattest.mk
|
2641f715c987ba560d246adf95e5e5434d70c6db |
17-Oct-2011 |
Shih-wei Liao <sliao@google.com> |
Move test codes out of src/. They belong to the test/ directory. Change-Id: Icd671cfef4026facef37c81aa67f4bed24e8f640
ndroid.common.mk
|
accd83d1523545ac69bafd38e72a7d5cff8e2fac |
17-Oct-2011 |
Elliott Hughes <enh@google.com> |
Fix a heap lock/thread list lock deadlock. We had an uncaught OOME whose uncaught exception handler -- running with the thread lock held -- was trying to cause a GC while some other thread had the heap lock and was waiting for the thread list lock. Change-Id: I22177129562268837127d9edcc63ef5e93054bdf
ndroid.oattest.mk
|
556217477768af1b2abf6768f007c09f226bbe7e |
17-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Add ParallelGC to reproduce system_server hang Change-Id: Ie563663df5fc744755102719378446b9efa16cf3
ndroid.common.mk
ndroid.oattest.mk
|
31edec5b9e506cb702818c074ffef4edcc142105 |
17-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Disable StrictMode when booting with art Change-Id: I2a19136ec960399f2d492d010e74f4d05817af86
ndroid.oat.mk
ndroid.oattest.mk
|
3b6baaa203fa63f1522b2172a1645f90412afdae |
15-Oct-2011 |
Elliott Hughes <enh@google.com> |
Bring our native stack usage down. I'd have preferred to have a 512-byte limit, but there are some monsters in the verifier; 2000-line functions and the like. I'm also not policing tests (except for one silly one). They can use all the stack they like. This fixes the IntMath test (the stack overflow test was failing because we were using more than 4KiB to throw!). Change-Id: I7e53e2fde2b39fde1910f8ee5b1712e8a66069c7
ndroid.common.mk
ndroid.executable.mk
ndroid.libart.mk
|
63433ba79fbe063881c263f8b348fb990c25a83e |
16-Oct-2011 |
Shih-wei Liao <sliao@google.com> |
Add a unit test for ReferenceMap that involves try-catch-finally. Stress test the ReferenceMap when the program may have out-of-bound exception. Change-Id: Iec892d9564c501794571a7c52519ac539a792d6e
ndroid.common.mk
ndroid.oattest.mk
|
b7bbba49d88eae58223d9878da4069bf6d7140bf |
13-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Add oatopt drop in replacement for dexopt Change-Id: I094375230af2d9a88e30245b390cac71be7b50f4
ndroid.common.mk
ndroid.executable.mk
ndroid.oat.mk
|
95caa791e560da97363c0c0d22bfda4a7e7377c3 |
13-Oct-2011 |
Jesse Wilson <jessewilson@google.com> |
Create proxy class, constructor, and methods. This code compiles but has not been exercised. I still need to wire in the code blocks and return types. Change-Id: I1796103d3bc4fc3c863f95bdca4cfb9765d4b3b7
ndroid.common.mk
|
b8233d140270a2545d31af0c8818c10b684dfa22 |
13-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Fix compilation of boot image and oat Change-Id: I7de0bb04adac4c68cb410cefec86f50bb30dddea
ndroid.oat.mk
|
2b7cdf4c0243e1bbf1989a5e270d23857d43269f |
13-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Teach make that to make an art file, you make the oat file. Change-Id: Ie9130eb0af4230bfe280d549c559762c7643e4ad
ndroid.oat.mk
|
03a20ba67cfdc46f5ad8d77242a666a4cb0512f2 |
13-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Implement DexFile_getClassNameList Change-Id: I9b48628e338a5346bc3ac21f3469e4e3d224a956
ndroid.oat.mk
ndroid.oattest.mk
|
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
ndroid.oattest.mk
|
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
ndroid.common.mk
ndroid.gtest.mk
ndroid.oat.mk
ndroid.oattest.mk
|
7178e733005d40cb50cbfea4a9355765ccf05ee7 |
13-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Fix gtest build and execution Change-Id: I495f6e32873e7ea5ffde25490678b571312e34cd
ndroid.gtest.mk
|
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
ndroid.executable.mk
ndroid.gtest.mk
ndroid.libart.mk
ndroid.libarttest.mk
|
8e4b2fc0565d6222ba49a14d87624e3ac170b6c5 |
11-Oct-2011 |
Shih-wei Liao <sliao@google.com> |
Turn on StackWalk. It passes the test now. Also fix line numbers (some were off by 2). Change-Id: Ic209b0824c28c808f8e029147356b909b535ab48
ndroid.oattest.mk
|
92827a5fc2598589b3717269cc09c33b8c53f30b |
11-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Setup AbstractMethodError and dlsym stub when loading from oat Change-Id: Ie97fa6eb3cfb7d0c6224aa6914f28a7b137ae056
ndroid.oattest.mk
|
bc4b76dc2680327bf3f9460caed4547b5ac5f5e9 |
10-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Fix class name format for jniThrowExceptionFmt Change-Id: I25d087b23294f00f7cd6d38add79bb15aaa8f0fb
ndroid.common.mk
|
aded5f7ab991f3c1132851599d3bc60ff6707eed |
08-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Working ClassLoader Change-Id: Ia1122165e47f846a1d4506111849f830d9f14c1b
ndroid.common.mk
ndroid.oattest.mk
|
3320cf46afd082398aa401b246e6f301cebdf64d |
04-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Move rest of code related blobs from Method to oat Change-Id: I55041b564ab65317c8b1f863005f20ba650a0322
ndroid.common.mk
|
68e76526e98432625464022cb26f66b9ef6f5af4 |
05-Oct-2011 |
Elliott Hughes <enh@google.com> |
Start moving stack-related stuff out of thread.h. This was in preparation for implementing "SmartFrame", which is back on hold while I finish finalization. Change-Id: I006c9cfbc34520b9b0a72972611036d908a1d84b
ndroid.common.mk
|
58ae9416e197ae68ed12ed43d87407d4dfb15093 |
04-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Simplify command line arguments Change-Id: I9d6902b0c447fd8fbe5600fd36139791b2ceefb7
ndroid.oat.mk
ndroid.oattest.mk
|
33f741eefef8f8012f6c190b39355f2e0430d535 |
03-Oct-2011 |
Brian Carlstrom <bdc@google.com> |
Remove opening of DexFile from pointer Change-Id: I158e75e9e72f1dcc579742ff08c80d3f857852b3
ndroid.common.mk
|
e24fa61603a60ade3797e4a0c8b3fccb346cb048 |
29-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Separate oat from image Change-Id: If2abdb99826ead14e3465d90ba2acffd89709389
ndroid.common.mk
ndroid.oat.mk
ndroid.oattest.mk
|
2d831014d88e38c0c499ce8597dcdb17b9d4c4b9 |
29-Sep-2011 |
Shih-wei Liao <sliao@google.com> |
Code refactoring: Split thread.cc into thread.cc and runtime_support.cc. Change-Id: I8484ee2993a2eb927ebba1f7b9db4709d16dad00
ndroid.common.mk
|
abcfde3b9661618a88e170fac6fdf092a59eb993 |
30-Sep-2011 |
jeffhao <jeffhao@google.com> |
Fixed test for static final fields that don't use <clinit>. Static final fields that are initialized by a compile-time constant expression are replaced by copies of the constant value. This is done by the compiler, and the dex file format passes it on. Change-Id: I19c9b63508a4632ac32b8b877f33d68bfb3b054b
ndroid.common.mk
|
4f894e385e8ac018f078be75fea0a45696626b15 |
28-Sep-2011 |
Shih-wei Liao <sliao@google.com> |
Fix stack scanning bugs: Add PC OFFSET before retrieving Registermap. GC passes for the MemUsage of 5 MB * 100. Note that RegisterMap is uncompressed. Also add new GC test. Change-Id: I7a7afc845d4582f8f2f3ba95e4716266ec46c635
ndroid.oattest.mk
|
9773120aaf041191a9197ce1e76bfbd0d18acf46 |
28-Sep-2011 |
Shih-wei Liao <sliao@google.com> |
Disable test until RegisterMap is fixed for thread run. Change-Id: I0ae63abdadf8eeec0ba5fa3d820f91774a10aa01
ndroid.oattest.mk
|
8ab8328fe00ba9906fa8c1f6b96003d84f784215 |
25-Sep-2011 |
Shih-wei Liao <sliao@google.com> |
Add a test to trigger GC. Change-Id: I398465ae0129612d0f8742d129a4c82c796584a3
ndroid.common.mk
ndroid.oattest.mk
|
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
ndroid.common.mk
|
9407c60800c95902fba0b3c3265520d47c1e7052 |
16-Sep-2011 |
Shih-wei Liao <sliao@google.com> |
Stack scanning: Find RegisterMap and unit-test it. Add decoding of the map. Tests disabled, because there is a bug in System's LoadLibrary. Change-Id: Ied3f4a31ce454f37c4d0f9caacd4ba03c4adb493
ndroid.common.mk
ndroid.libarttest.mk
ndroid.oattest.mk
|
2a20cfd0b7fc81099f5de0da782ebcc1cb262792 |
24-Sep-2011 |
Elliott Hughes <enh@google.com> |
Implement java.lang.reflect.Constructor.constructNative. Change-Id: Iefa92ad1bd89073d4bfa9a80b9e4f0dea90a5849
ndroid.common.mk
|
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
ndroid.oattest.mk
|
418d20fc407052d4152157f61e7453359f902383 |
22-Sep-2011 |
Elliott Hughes <enh@google.com> |
Implement reflective method invocation. Change-Id: Ib3af9d7e00bf226398610b5ac6efbfe3eb2d15e8
ndroid.common.mk
|
f91c8c328c922ecd522e1d3508d2603e78de8a7b |
22-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Adding JNI code for dalvik.system.DexFile and java.lang.Class Change-Id: I079c037db77aeaca0dec06660f7551f57adf2607
ndroid.common.mk
|
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
ndroid.common.mk
ndroid.oat.mk
ndroid.oattest.mk
|
64bf5a33d55aa779ef452552a466943002d39e4f |
20-Sep-2011 |
Elliott Hughes <enh@google.com> |
Implement VMClassLoader's native methods. Change-Id: I6e617f415e54ce29c3a0a470b58e79d3aaa0a4bf
ndroid.common.mk
|
01158d7a57c8321370667a6045220237d16e0da8 |
20-Sep-2011 |
Elliott Hughes <enh@google.com> |
Implement most of VMStack and some of Zygote. Change-Id: I07e18259a0452a2a9b077148f4f1ca67d3f63427
ndroid.common.mk
|
9d5ccec86d60c9ddd811836b9a2bc28d0b3d11fe |
19-Sep-2011 |
Elliott Hughes <enh@google.com> |
Implement as much of VMDebug as we can reasonably do right now. No hprof and no method tracing, but everything else. Change-Id: Ifccd1f08e31f34b947c30f1211db788aae674d81
ndroid.common.mk
|
25c3325bf95036bf325fc7cb21b4fd6d40282857 |
19-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Fix compiler class initialization to properly deal with super classes Also moving active parts of compiler_test to be oat tests including IntMath and Invoke. Added an interface invocation test case to Invoke test. Changed Compiler to CHECK that it is not used once the Runtime::IsStarted, forcing some jni_compiler_test to have two phases, one for compiling before Runtime::Start and one for JNI operations after the Runtime::IsStarted. Finally, fixed Class::CanPutArrayElementFromCode by removing CanPutArrayElement and calling IsAssignableFrom directly. Change-Id: I52ca4dbc0e02db65f274ccc3ca7468dce365a44e
ndroid.oattest.mk
|
c0fe6c7dcc3d5269d2c7dcffafe8b0741f6b8bca |
19-Sep-2011 |
buzbee <buzbee@google.com> |
Fix manyargs test Had the src & dst backwards in the argument copying case > 20 arguments. Change-Id: I0247c4ac2992d4505277a773cfbf65edc7d57695
ndroid.oattest.mk
|
29f2742a478e4f5bd2ec7473410c5e5e7134a6f2 |
19-Sep-2011 |
Elliott Hughes <enh@google.com> |
Uncaught exception handlers and automatic removal from thread groups. Also fix exception stack traces to only include what they should. Change-Id: I9aebc48515b60bfb2b93710192d9a1407936e04a
ndroid.oattest.mk
|
bbf1e41e8d9b2446756e729f30c2501fb3e682c1 |
18-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Move main method tests from gtests to oat tests Change-Id: Ifffa4d083488114d6cc14d578ec2be7db8a7553f
ndroid.gtest.mk
ndroid.oattest.mk
ndroid.test.mk
|
5b8e4c810a97c9dc417142b8c6e07871ae15c797 |
18-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Change Class::component_type_ and implement reflect.Array Change-Id: I9e06f31577551c738eca2621146c8d2328119442
ndroid.common.mk
|
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
ndroid.common.mk
|
85d1545e985ac689db4bad7849880e843707c862 |
17-Sep-2011 |
Elliott Hughes <enh@google.com> |
Add packing to class Thread. Otherwise, code compiled on the host can use different offsets than we need for the same structure on the target. Also add commented-out code to start up the various GC daemon threads. More Class native methods need to be implemented before that will work. Change-Id: I618b647b92378eec1b25cee469c8cfccf42f21fd
ndroid.common.mk
|
bc512351f95163157712cbf1a35e38f00355bde2 |
17-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Remove redundant libgtest_host linkage Change-Id: I2932347166fa993c7125c32ecf6a3497462f3115
ndroid.executable.mk
ndroid.test.mk
|
08125a079f921df703daaccb715291d1a88d4167 |
16-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
fix DCHECK in libartd Change-Id: Iaea17ecdc56eba78795fc026ba01ac7f4c662095
ndroid.libart.mk
|
54e7df1896a4066cbb9fe6f72249829f0b8c49c6 |
16-Sep-2011 |
Elliott Hughes <enh@google.com> |
Various bits of cleanup. Most notable: PrettyField now includes the type (but, like PrettyMethod, lets you turn this off), and there's a new PrettyClass, and PrettyType has been renamed to PrettyTypeOf. I've also moved the dalvik "sync" stuff into files named "monitor", and made some of the implementation details private. Change-Id: I39ea79b45e173f9ebbf9878bcead207766a5653f
ndroid.common.mk
|
5f79133a435ebcb20000370d56046fe01201dd80 |
16-Sep-2011 |
Elliott Hughes <enh@google.com> |
Implement monitors. Change-Id: Ifc7a801f9cbcdfbc1e1af5c905261dfadaa60f45
ndroid.common.mk
|
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
ndroid.common.mk
ndroid.executable.mk
ndroid.oat.mk
|
bdb0391258abc54bf77c676e36847d28a783bfe5 |
14-Sep-2011 |
Ian Rogers <irogers@google.com> |
Support for exception throwing. These changes start to add support for a long jump style of exception throw. A Context is added to build up the registers that will be loaded by the long jump from callee saves that are on the stack. Throws are reworked slightly to give the PC for the frame of the method being looked at, rather than the return PC (that previously led the trace's PC to be off by a frame). Callee save support is added to the JNI compiler which then no longer needs to spill incoming argument registers as it may reuse the callee saves. Currently the code is lightly tested on ARM and doesn't support restoring floating point callee save registers. Also clean up some PIC TODOs. Change-Id: I9bcef4ab3bf4a9de57d7a5123fb3bb1707ca8921
ndroid.common.mk
|
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
ndroid.common.mk
ndroid.executable.mk
ndroid.libart.mk
ndroid.libarttest.mk
ndroid.test.mk
|
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
ndroid.oat.mk
ndroid.test.mk
|
7ede61eceed2f8da14a4fff05c57c748c160d57f |
15-Sep-2011 |
Elliott Hughes <enh@google.com> |
Implement VMRuntime. (Some of this forwards to unimplemented stuff in Heap.) Change-Id: I01e51d5673e61ddfdbfa2098310122502c3afcf1
ndroid.common.mk
|
8d768a954b101a9532f980253ac46be2c53aba11 |
15-Sep-2011 |
Elliott Hughes <enh@google.com> |
Thread suspension. Includes SuspendAll/ResumeAll, and uses them in Heap and SignalCatcher. Change-Id: Ie39b868ca5961f5016f367acade5071392bb723e
ndroid.common.mk
|
43a364291dcdfe08e530e9568748359735dd7442 |
14-Sep-2011 |
buzbee <buzbee@google.com> |
Fix null check elimination The existing null check elimination mechanism suffered from the same limitation as the SSA renaming: it took shortcuts that were valid in a trace compilation world, but not in a method compilation world. This CL replaces the old mechanism, and additionally takes advantage of some the fact that "this" is always non-null, as are objects returned from OP_NEW_* (thanks Ian!). Two test cases added. The one for ensuring that unnecessary null checks are elminated requires manual inspection. The other - that we don't eliminate a necessary null check - is disabled until exceptions are working. Change-Id: I2a9b72741f56617bf609e4d7c20244796c988f28
ndroid.common.mk
|
303b01ed0d36017371e29b1f1e209dd19896ac9e |
14-Sep-2011 |
Shih-wei Liao <sliao@google.com> |
Add unit test for exercising AbstractMethodErrorStub code. Change-Id: I6021459a75681c92a40931f591852e974f1ca1a6
ndroid.common.mk
|
5ee7a8b56dee896245e0f4ae5215f8b7376c1787 |
14-Sep-2011 |
Elliott Hughes <enh@google.com> |
Implement sun.misc.Unsafe and fix the jfieldID/jmethodID leak. Change-Id: I2997e19d9ae5e332a6731e7e10ebeff32bff085a
ndroid.common.mk
|
5ea047b386c5dac78eda62305d14dedf7b5611a8 |
13-Sep-2011 |
Elliott Hughes <enh@google.com> |
Support 64-bit volatiles and reference/pointer volatiles. Change-Id: I62c0751747767c02d6c57afd0fce3db6c8b02510
ndroid.common.mk
|
1d3f114124b140629a7d22fa5cfa20ab8fc96934 |
13-Sep-2011 |
Elliott Hughes <enh@google.com> |
Support 32-bit volatiles. Change-Id: If40ead8e13986d589ac1d1637034e25fc4108189
ndroid.common.mk
ndroid.executable.mk
ndroid.libart.mk
ndroid.libarttest.mk
ndroid.test.mk
|
d369bb76dee0df2d2a106e9bf7f4e6446ed6deaa |
12-Sep-2011 |
Elliott Hughes <enh@google.com> |
Various things. This patch: 1. adds good-enough implementations for a couple of Class native methods we need. 2. removes a fixed TODO from image_test. 3. adds missing null checks to the Thread native methods, and forwards Thread.nativeCreate to Thread::Create. 4. stops jni_compiler from overwriting already-registered native methods with the dynamic lookup stub. 5. adds workarounds to Thread::CreatePeer so we can cope better without code, attempts to initialize thread groups correctly, dumps thread state from the managed peer (where one exists), and implements Thread::DumpStack for debugging (and SIGQUIT dumps). Change-Id: I3281226dd22ec852dca5165748fc75a254904ac0
ndroid.common.mk
|
31384c59bb4b387f29f2b6d4d3db886c29b81170 |
07-Sep-2011 |
Shih-wei Liao <sliao@google.com> |
Generating stub code for registering a jni function at runtime. On ARM and x86. Added a unit test. Change-Id: I6b1ee09ad18295108f406ce21d73555796ecbba6
ndroid.common.mk
|
8daa0929f08a3080ea64dbd4e997e72f411e6fc9 |
11-Sep-2011 |
Elliott Hughes <enh@google.com> |
More threads work. Adds stubs (and sometimes implementations) for dalvik.system.VMStack and java.lang.Thread native methods. There was a bug in the dalvik thread priority setting code, where the current thread and the passed-in thread were confused. I've also pulled Mutex and ThreadList out into their own files, and moved some functionality around (with the aim of having more stuff private, especially locks). Change-Id: Ieb0f22669cac3df44ca34f7868f8e7d4dfa09ab6
ndroid.common.mk
|
4b620ffb1b4d0c96a94bb3afe314f35d53990ec6 |
11-Sep-2011 |
Brian Carlstrom <bdc@google.com> |
Finish moving state to managed heap Change-Id: I8a3b0e353b30268a05d6ed8ea0a6a4bead100660
ndroid.common.mk
ndroid.executable.mk
ndroid.libart.mk
ndroid.libarttest.mk
ndroid.test.mk
|
5ade1d255ef1b5022321ac20493208703b34d2b1 |
09-Sep-2011 |
buzbee <buzbee@google.com> |
Complete compiler portion of exception handling Will still need much testing once the runtime portions are in place. Change-Id: I90fc7c1fd89bfae89dfd19a6e422024b6b5454ec
ndroid.common.mk
|
1240dade91d6c4bbf4e367ca608fcdc15348da45 |
10-Sep-2011 |
Elliott Hughes <enh@google.com> |
Test conversion of floats and doubles to strings. There was some confusion about what Method::HasCode meant, and we weren't quite ready to compile all methods _and_ be able to invoke them. We were also missing a couple of native methods in Throwable that we need if we've compiled all Throwable's code (because the next time we ask ClassLinker to do anything, it'll try to throw NoClassDefFoundException from one of the ClassLoaders, and that will try to run a Throwable constructor, which will end up trying to call these native methods). Change-Id: If4783f3c866aaa72413d7b7810ef2541d418ae33
ndroid.common.mk
|
2c8f653c98d658419f464b6147c10e11a664d2e6 |
03-Sep-2011 |
Ian Rogers <irogers@google.com> |
Support for cross compilation. Refactor architecture specific files into arm and x86 name spaces. Make assemblers and calling conventions use the factory pattern and an instruction set specifier. Change-Id: I20cd7aecacc1ae3d418221d98bbe1d69be9162a7
ndroid.common.mk
|
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
ndroid.aexec.mk
ndroid.common.mk
ndroid.executable.mk
ndroid.libart.mk
|
109bd6a38d0cd7c4b7797a9f2db8324c797d1368 |
06-Sep-2011 |
buzbee <buzbee@google.com> |
Fix for argument passing bug The code was using r1 as a temp when it was live. Change-Id: I79f42203eced2aff49980241c890629ecc3ff09a
ndroid.common.mk
|
42ee14279065352a4b9a3e8028d02c567e847d05 |
06-Sep-2011 |
Elliott Hughes <enh@google.com> |
Log line-at-a-time to work around Android logging lossage. Also deduplicate the two copies of gettid, and switch image_test over to using SignalCatcher's SIGQUIT dumping rather than rolling its own subset. Change-Id: I8b70aaa3a3b9258c8258728c6a66e5dc4fa6399e
ndroid.common.mk
|
0f4c41d75c821162184501cd4b510a93f6eb580f |
04-Sep-2011 |
Elliott Hughes <enh@google.com> |
Various fixes. CHECK_xx arguments should be the "right" way round, not backwards like ASSERT_xx and EXPECT_xx. Use /mnt/sdcard/ rather than /sdcard/ to bypass FUSE and avoid getting intermittent mkdir(2) "Device or resource busy" failures. Better diagnostics when methods not found by test helpers. Remove the whitelist from oatCompileMethod. Leave evidence in the log of what we've compiled and where we put it. Disable card marking by generated code until we have a cards to mark. Distinguish between CanPutArrayElementFromCode and CanPutArrayElement. Implement both. Add a new test to see how much of the basic System and String/StringBuilder facilities are working. Change-Id: Ie24f2859e404ab912e6cc77d170ceb4df5ecdf19
ndroid.common.mk
|
7f40ffcb953870fb0df7646c447ffdc7b3ef0b2c |
04-Sep-2011 |
Elliott Hughes <enh@google.com> |
Fix the LDT code to be -O2 safe and valgrind clean. Change-Id: Iad987f828a8d8932a9f7212c71eddd3c943f6311
ndroid.common.mk
|
93620f65a41af2a5708249845452a603ca13b807 |
03-Sep-2011 |
Elliott Hughes <enh@google.com> |
Temporarily work around a problem with the LDT code. We crash at -O2 (in the same code valgrind doesn't like) but not at -O0. Using the #pragma to just use -O0 for that file doesn't help. So for now we'll have to suffer the 2x slowdown until someone gets change to find and fix this. Change-Id: Ibcd2b5d4aba9044abb353f6d38dbce0705935a7f
ndroid.common.mk
|
9b81cf3cbd222363c087807406fd54d27ca57cc6 |
03-Sep-2011 |
Elliott Hughes <enh@google.com> |
Switch to -O2. -O0 benefits no-one. Change-Id: I0ce5406000701b11455ffcc4be90e78bccb5d92d
ndroid.common.mk
|
cd2764fda5dc4eeccb0c66fcc06eb91f70b98e24 |
03-Sep-2011 |
Ian Rogers <irogers@google.com> |
Remove ARM suffix from JNI tests Change-Id: I9a4a667ad8e3e22656c761062d771076b7dac190
ndroid.common.mk
|
bf86d0438e9ef9c145ebcf16a2e74c4efaa2686a |
01-Sep-2011 |
Elliott Hughes <enh@google.com> |
Start adding implementations for runtime-provided native methods. The library can't do everything... Change-Id: Ib808c00570c7214aeb2ca058b1a66cacbeb372f1
ndroid.common.mk
|
1f87008b165d26541d832ff805250afdc89c253d |
24-Aug-2011 |
Brian Carlstrom <bdc@google.com> |
Add HeapTest and make GC work enough to pass it Change-Id: If06eaef2921b64b3226bfd347acaec60ec993e67
ndroid.common.mk
|
881dd56c9b6ea2c922956650b763d36d2eeb799b |
30-Aug-2011 |
Brian Carlstrom <bdc@google.com> |
Reduce test dependencies Change-Id: I4acdadb38c91ba76c88d90da52a883c3d20cbe88
ndroid.test.mk
|
8a48741b96ca9cc5835cac72ac133c4ca480930f |
30-Aug-2011 |
Brian Carlstrom <bdc@google.com> |
Allow compilation of classes in different ClassLoaders Change-Id: Ib0420471590a4c6d16bc25285ef3876098eacb36
ndroid.test.mk
|
a2501990dd0f68baf38ce19251949d7bb3ecfe5a |
27-Aug-2011 |
Elliott Hughes <enh@google.com> |
Add -Xcheck:jni. I think this is as complete as possible right now. The remaining two #if 0 sections require: 1. a way to get the Method* of the current native method. 2. a way to get the Class* of the type of a given Field*. Change-Id: I331586022095fb36ccc10c9ac1890a59a9224d01
ndroid.common.mk
|
9f30b38d74990286ce27c3a45368f73dbe3638f0 |
29-Aug-2011 |
Brian Carlstrom <bdc@google.com> |
Externalize test code Change-Id: Iab19397c7a72fb9a3ca63bfd0bc4eaf1a98138ba
ndroid.common.mk
ndroid.test.mk
|
7b1b86d68244b0bb4ea3f43505eb45fdd46814d6 |
27-Aug-2011 |
buzbee <buzbee@google.com> |
Various bug fixes and new tests. Amusingly realized that many tests believed to be passing were in fact not running at all. The test harness returned 0 if the test wasn't run, but some of the tests used 0 as a success code. Will change the tests later. Most were failing only because the function pointer table in Thread wasn't fully initialized with the math helper functions. Change-Id: If2e42f06139f219a423eef475b599258ccfc82d4
ndroid.common.mk
|
e27955ca3ca960928d4dbd6cb79711fce06950b3 |
27-Aug-2011 |
Elliott Hughes <enh@google.com> |
Add the signal catcher (for SIGQUIT and SIGUSR1). Also fix some of the thread implementation. Change-Id: If2d1b59a149ba1ac192ad9bc74319c8dff228549
ndroid.common.mk
|
ba5ebb944b7c5c6a1b754b6dd47eed96f39aea29 |
26-Aug-2011 |
jeffhao <jeffhao@google.com> |
Added first pass of verifier and supporting changes. The verifier still needs to make a second pass through the code where it checks the code flow. A TODO marks where it will be added. Change-Id: I0abea5bad563776186df342d8132fb1ca8869652
ndroid.common.mk
|
2cc022b653e1e84eed2522254ec684bd097572b8 |
25-Aug-2011 |
Brian Carlstrom <bdc@google.com> |
Build oat compiler on host, wire in JniCompiler to CompileMethod Change-Id: I9531eea8e216e9835856bfee5aa9d934d9f64126
ndroid.common.mk
|
9ea1cb1a22be5b85dc2622e3836c46a1c48e3f25 |
25-Aug-2011 |
Brian Carlstrom <bdc@google.com> |
First pass of compiler wrapping class Change-Id: I343625310f69cc4de315af91b9cc72bb4da8f59b
ndroid.common.mk
|
5433072f589b61413e042eddf76e8190a048f71d |
24-Aug-2011 |
buzbee <buzbee@google.com> |
Added support for 64-bit shifts, fix const-wide Change-Id: I4823056d83652ecc7d3e391e905d480d73fab718
ndroid.common.mk
|
814e40397fe6c8a2c645bae99f356dbddd6dbe18 |
23-Aug-2011 |
Elliott Hughes <enh@google.com> |
Add some missing JNI string functions, GetObjectArrayElement, and all the primitive array region functions. This also pulls the UTF-8/UTF-16 functions out of class String. Change-Id: I75936b84fd619c9cf91f6e6a6037488220b05781
ndroid.common.mk
|
c143c55718342519db5398e41dda31422cf16c79 |
21-Aug-2011 |
buzbee <buzbee@google.com> |
Updating the compiler to use the new-world model New compiler is integrated and passes first test (Fibonacci). Change-Id: Ic5448ab89ebd22baa30fafc3d1300324687d1fc2
ndroid.common.mk
ndroid.libart.mk
|
67bf885d62b1473c833bece1c9e0bb624e6ba391 |
18-Aug-2011 |
buzbee <buzbee@google.com> |
Oat compiler integration snapshot. Cleanly compiles, but not integrated. Old-world dependencies captured in hacked-up temporary files "Dalvik.h" and "HackStubs.cc". Dalvik.h is a placeholder that captures all of the constants, struct definitions and inline functions the compiler needs. It largely consists of declaration fragments of libdex, Object.h, DvmDex.h and Thread.h. HackStubs.cc contains empty shells for some required libdex routines. Change-Id: Ia479dda41da4e3162ff6df383252fdc7dbf38d71
ndroid.common.mk
|
0a96fe07175b960050a606fadbf76d85a060e4fa |
19-Aug-2011 |
Elliott Hughes <enh@google.com> |
Use libnativehelper's existing code for creating a String[]. Change-Id: I9d3341b2db5de0313b3542307a43a7be6b83a927
ndroid.aexec.mk
|
18c0753c1659629021b4becdaa3f6ea81aecce35 |
19-Aug-2011 |
Elliott Hughes <enh@google.com> |
Initialize the rest of libcore's native code. This native code requires NewGlobalRef, so this patch also implements NewLocalRef/DeleteLocalRef, NewGlobalRef/DeleteGlobalRef, and NewWeakGlobalRef/DeleteWeakGlobalRef. (The assembler change is because "math.h" also defines OVERFLOW. A slight change in #include ordering caused the names to conflict.) Change-Id: Ifbf3b532ec3b0896bd7507d2881c6b77b64f01e7
ndroid.libart.mk
ndroid.test.mk
|
4a289ed61242964b921434de7d375f46480472a1 |
17-Aug-2011 |
Brian Carlstrom <bdc@google.com> |
Work on heap and space initialization to support image loading Change-Id: Icab25efa4dee17e4b6c6e97e38f63f5ab8a8a005
ndroid.common.mk
|
0af5543f8ea20c3e655b2d748a1b7dcf283792fe |
18-Aug-2011 |
Elliott Hughes <enh@google.com> |
Code for loading shared libraries and calling JNI_OnLoad. This causes a bit of log spam as we call unimplemented JNI functions, but fixing those is my first job tomorrow. The exciting thing here is that we're now loading libcore's classes and libcore's JNI. I've changed ParsedOptions' std::vector of verbose options over to a std::set for the convenience of callers, and defaulted -verbose:jni to on. (This is not the cause of the log spam.) The only nasty bit here is that icu4c doesn't like being initialized more than 10 times, because it has a 10-element fixed-size array. The u_cleanup function is not publicly accessible, so we have to fiddle around with dlsym(3) twice in one patch... Change-Id: I9f6b5d74621eb2e88d04a89f00335067fda4ccbe
ndroid.common.mk
ndroid.libart.mk
ndroid.libarttest.mk
ndroid.test.mk
|
6c1a394b47c85c8d1723fc3b156a3b1b0b29a757 |
18-Aug-2011 |
Elliott Hughes <enh@google.com> |
Add IndirectReferenceTable and initialize all the instances. We're not _using_ any of the tables yet (except in tests), but all the reference tables are now in place. Change-Id: Ifd3fc114254460b4a1302520f2a4653319b113e5
ndroid.common.mk
|
11e45077acba2e757799a00b3be9d63fec36a7cc |
17-Aug-2011 |
Elliott Hughes <enh@google.com> |
Add a reference table implementation. This is suitable for pinned array references and the like. I've also brought in some of the human-readable type printing stuff for the benefit of the reference table dumping code. This patch includes tests, but doesn't yet wire anything up. Change-Id: Iaf6066201bbd254e033dee4fd0b8dfd0bc17afa9
ndroid.common.mk
|
db4d54081f09abcbe97ffdf615874f2809a9e777 |
09-Aug-2011 |
Brian Carlstrom <bdc@google.com> |
First pass of ImageWriter Change-Id: I4f189587a2e3cc1c265200b8fa64321b299947eb
ndroid.common.mk
|
9b9ba28b1277b4ddb967c5a968c6d550febce6af |
15-Aug-2011 |
Carl Shapiro <cshapiro@google.com> |
Implement upcalls with compiled JNI callback bridges. Change-Id: Ib475a5957a3e2596a812df1314fbc73a96f01725
ndroid.common.mk
|
0c9cd5692fbbc5d92fcdc1ef41ef881a492b00ce |
12-Aug-2011 |
Elliott Hughes <enh@google.com> |
Add tests for JNI FindClass. Change-Id: I409887167229a421d19adb0f884518e843ca7690
ndroid.common.mk
|
2fb9753c58ce1a511fd6996856840120eb2930db |
12-Aug-2011 |
Shih-wei Liao <sliao@google.com> |
Exception Handling: libdex integration. Also added unit test on exception. Runtime processing of TryItem and CatchHandler. Added iterator. Next step: Exception Handling: RT integration. Implement throw and unwind. Change-Id: Idf88ce83e37b004016f1eca2c621e5a86948fe91
ndroid.common.mk
|
7e93b50433cde2a44d99212e8040299bde498546 |
04-Aug-2011 |
Brian Carlstrom <bdc@google.com> |
String intern table and support for unordered_map Change-Id: I22d86d060780552675c5d7f14a98ffde480eac82
ndroid.common.mk
|
74eb46ab15c5b9cb39bf15246db84aea7fd4cc27 |
03-Aug-2011 |
Brian Carlstrom <bdc@google.com> |
Improved ClassLoader support Change-Id: I587c0fa439c64a0c947641b01c072149f480bf85
ndroid.test.mk
|
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
ndroid.common.mk
ndroid.libart.mk
ndroid.test.mk
|
6f6beb4ecbcf5620196525be3b3684ca24aa46b0 |
30-Jul-2011 |
Shih-wei Liao <sliao@google.com> |
Fix host build: Add -lpthread. Change-Id: I5c952b540d0b953b62d58b8eb191a538395c4256
ndroid.test.mk
|
8ecd08cde96e2463123a54eaec9429149f53ed2f |
28-Jul-2011 |
Brian Carlstrom <bdc@google.com> |
Switch tests and aexecd to use libartd Change-Id: I7b6b63f4e7b92da906b3104adfa7661c5912c295
ndroid.aexec.mk
ndroid.test.mk
|
07d579faa0abc835e8db970ff48b6f79cdc67f8f |
27-Jul-2011 |
Brian Carlstrom <bdc@google.com> |
Add NDEBUG build Change-Id: I81032fb43d6b4919bd264a644062dc31ae564427
ndroid.aexec.host.mk
ndroid.aexec.mk
ndroid.libart.host.mk
ndroid.libart.mk
ndroid.libarttest.mk
ndroid.test.host.mk
ndroid.test.mk
|
fc322c72d7a89a6f7a05c8bdc232d780aecd9232 |
27-Jul-2011 |
Carl Shapiro <cshapiro@google.com> |
Initialize the bootstrap class path from standard sources. Change-Id: Ib49d21f98fd76504e5d3675fc731261426ca84ed
ndroid.common.mk
|
e2d373e6e09c1df9a47e73a26254048adb31ce82 |
26-Jul-2011 |
Carl Shapiro <cshapiro@google.com> |
Initial ARM JNI compiler support. Change-Id: I85183eec9a2645e6cb074b4b18bc6af800a77e06
ndroid.common.mk
|
7e49dca262933bc30cbc8b9f07cfc8cce2343389 |
23-Jul-2011 |
Brian Carlstrom <bdc@google.com> |
Rename DexFile to DexCache Change-Id: I93fa3e4f7cf87fbaac974f0d2577628a23f0d8c2
ndroid.common.mk
|
51472c555deacd828b2f69063076b29217cb2f70 |
23-Jul-2011 |
Carl Shapiro <cshapiro@google.com> |
Merge "Do not assume the .arm hint is part of the source file path." into dalvik-dev
|
8492996b70b0032ffb223f4406c6418f5ac9958f |
23-Jul-2011 |
Carl Shapiro <cshapiro@google.com> |
Do not assume the .arm hint is part of the source file path. Change-Id: I31e4d4c3947dd377b4e9df623697976e1b815cf2
ndroid.test.host.mk
ndroid.test.mk
|
578bbdc684db8ed68e9fedbc678669d27fa68b6e |
21-Jul-2011 |
Brian Carlstrom <bdc@google.com> |
Move DexFiles to be allocated on the heap Removed pointer from DexFile to RawDexfile to allow heap allocation of DexFile. DexFile is now an ObjectArray of ObjectArrays. Removing the pointer from DexFile to RawDexfile meant adding arguments to pass the RawDexfile along to ClassLinker::LoadClass, LoadInterfaces, LoadField, LoadMethod, LinkClass, LinkInterfaces, ResolveClass to avoid the need to look a RawDexfile up from a DexFile. ClassLinker::CreateArrayClass now takes the raw_dex_file to assist in looking up the component class from the proper source. Moved Method::HasSame* methods to ClassLinker since for access to the RawDexfile (and tests of HasSame from ObjectTest to ClassLinkerTest. src/dex_file.cc src/dex_file.h src/class_linker.cc src/class_linker.h src/object.h RunTime::Create/RunTime::Init/ClassLinker::Create/ClassLinker::Init now take the boot class path. A boot class path with Ljava/lang/Object; must be provided to initalize [Ljava/lang/Object; during startup in order to heap allocate DexFiles. src/class_linker.cc src/class_linker.h src/runtime.cc src/runtime.h Restored FindClass to load from a specific dex file. This is for use by class loaders, otherwise it is assumed the caller wants to use the boot classpath. We now distinguish and track the boot classpath as separate from other dex files known to the class linker. Renamed AppendToClassPath to AppendToBootClassPath and FindInClassPath to FindInBootClassPath to clarify. src/class_linker.cc src/class_linker.h Cleaned up AllocCharArray to generic AllocArray and added AllocObjectArray. Added a functional ObjectArray implementation and a ObjectTest to cover it. src/heap.h src/object.h src/object_test.cc Switched more Object* downcasting to down_cast src/class_linker.cc Switched order of arguments for DexFile::SetResolved to follow more conventional collection ordering ( "(index, value)" vs "(value, index)" ) src/dex_file.h src/class_linker.cc src/class_linker.h Added class_linker_ and java_lang_raw_dex_file_ to RuntimeTest as convenience to test subclasses. ClassLinkerTest now can use these to simplify its ::Assert* methods. JniCompilerTest now uses it for setting up its boot class path. Removed now unneeded OpenDexFileBase64. src/common_test.h src/class_linker_test.cc src/jni_compiler_test.cc Add external/gtest/include to non-test include path so FRIEND_TEST can be used. Add src to include path to remove the need of using in in art/src files. build/Android.libart.host.mk build/Android.libart.mk src/assembler.cc src/assembler.h src/assembler_arm.cc src/assembler_arm.h src/assembler_x86.cc src/assembler_x86.h src/assembler_x86_test.cc src/base64.cc src/base64.h src/calling_convention.cc src/calling_convention.h src/calling_convention_arm.cc src/calling_convention_x86.cc src/casts.h src/class_linker.h src/class_linker_test.cc src/common_test.h src/constants.h src/constants_arm.h src/constants_x86.h src/dex_file.cc src/dex_file.h src/dex_file_test.cc src/dex_instruction.cc src/dex_instruction.h src/dex_instruction_visitor.h src/dex_instruction_visitor_test.cc src/dex_verifier.cc src/dex_verifier.h src/heap.cc src/heap.h src/jni_compiler.cc src/jni_compiler_test.cc src/jni_internal.cc src/jni_internal.h src/leb128.h src/managed_register.h src/managed_register_arm.cc src/managed_register_arm.h src/managed_register_arm_test.cc src/managed_register_x86.cc src/managed_register_x86.h src/managed_register_x86_test.cc src/mark_stack.cc src/mark_stack.h src/mark_sweep.cc src/mark_sweep.h src/memory_region.cc src/memory_region.h src/monitor.h src/object.cc src/object.h src/object_bitmap.cc src/object_bitmap.h src/object_test.cc src/offsets.cc src/offsets.h src/raw_dex_file.cc src/raw_dex_file.h src/raw_dex_file_test.cc src/runtime.cc src/runtime.h src/scoped_ptr.h src/space.cc src/space.h src/space_test.cc src/stringpiece.cc src/thread.cc src/thread.h src/thread_arm.cc src/thread_x86.cc src/utils.h Change-Id: Ib633cea878c36921e9037b0464cb903aec318c3e
ndroid.libart.host.mk
ndroid.libart.mk
|
69759eaa6fd4386f1e6d8748052ad221087b3476 |
22-Jul-2011 |
Carl Shapiro <cshapiro@google.com> |
Add allocation and garbage collection infrastructure. Change-Id: I4b04cdfdf18afb75a7b0df87b509e8156b4a932b
ndroid.common.mk
ndroid.libart.host.mk
|
dbd05642d4157b65d837da30c1d8df0ef577a378 |
21-Jul-2011 |
Brian Carlstrom <bdc@google.com> |
Merge "Give unique name to host build shared libraries #1" into dalvik-dev
|
df20fe0c097073f75f22d16e72fd3636a31d3ca1 |
21-Jul-2011 |
Ian Rogers <irogers@google.com> |
Support for synchronized native methods. This change adds support for synchronized native methods by using calls to MonitorEnter and MonitorExit on the JNIEnv*. There is some tidying of the assembler and a straw man JNIEnv implementation. The JNIEnv implementation just warns when MonitorEnter/Exit are called and doesn't adhere to the correct JNIEnv layout. Change-Id: I90ed6ec8f85f5b01b929f16e0dbdecadd0b01359
ndroid.common.mk
|
31bcc7edf61ffa535ad4894b1a3b16f69030dade |
21-Jul-2011 |
Brian Carlstrom <bdc@google.com> |
Give unique name to host build shared libraries #1 Change-Id: I17fe097ad65903e678da38250917701d10eabb19
ndroid.libart.host.mk
ndroid.libart.mk
|
b033c75ebda80ac75f936366fe78d1edf5cec937 |
20-Jul-2011 |
Ian Rogers <irogers@google.com> |
x86 JNI compiler and unit tests. Change-Id: I4c2e10328961a2e8e27c90777fe2a93737b21143
ndroid.common.mk
|
cdc8de4642ca447a7ed205f0d2203cb217e48aad |
19-Jul-2011 |
Brian Carlstrom <bdc@google.com> |
Move base64 to test code Change-Id: I0cda5d8a559a2d60250c1d8a8ee6f69509515214
ndroid.aexec.host.mk
ndroid.aexec.mk
ndroid.common.mk
ndroid.libart.host.mk
ndroid.libart.mk
ndroid.test.host.mk
ndroid.test.mk
|
ffe6736397d17457188727510f0a2953f69a383a |
17-Jul-2011 |
Elliott Hughes <enh@google.com> |
Implement Runtime::Abort and switch LOG(FATAL) over to it. Runtime::Abort takes arguments so it can provide less misleading log output, but this shouldn't matter to callers because they should be using LOG(FATAL) anyway. This patch also fixes an errno/errno_ mixup in the logging code. Change-Id: If24b66b7bbf0bf7c0ecb93dd806d82b1d21ee239
ndroid.common.mk
|
eb4f614f2eb53b92ebd416fa418f550861655887 |
16-Jul-2011 |
Elliott Hughes <enh@google.com> |
Flesh out the logging implementation. Add PLOG and ensure we have CHECK_STREQ and CHECK_STRNE to go with the existing non-functional DCHECK_STREQ and DCHECK_STRNE. This also gives us two different logging implementations, one for the host that just uses std::cerr, and one for Android that uses the Android log. Also bring in the StringPrintf family. Change-Id: I8e190c2c58f26b22ee76a2a87d447df6eb0fa73b
ndroid.common.mk
|
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
ndroid.aexec.host.mk
ndroid.aexec.mk
ndroid.common.mk
ndroid.libart.host.mk
ndroid.libart.mk
ndroid.test.host.mk
ndroid.test.mk
|
b557353b22c728eecbd1c68593b482622c7782a8 |
13-Jul-2011 |
Carl Shapiro <cshapiro@google.com> |
Add more functionality to the thread and mutex implementation. Change-Id: I33b2e53acb4c4c6653f13f1bbdd77cc7ce27e581
ndroid.common.mk
|
528153d96162da53af031a9c4d52d82512aa2a3c |
11-Jul-2011 |
Brian Carlstrom <bdc@google.com> |
Only tag tests for test builds, not eng builds Change-Id: I1cd2956512c42002cc5845e37894a39069f2c08b
ndroid.test.host.mk
ndroid.test.mk
|
0e6d19703440a2c440c19308390a12330d13c86e |
07-Jul-2011 |
Carl Shapiro <cshapiro@google.com> |
Relocate all of the included Makefiles into the build subdirectory. Change-Id: I95dc51d72ff7076efac9f04aae098038c4464f4e
ndroid.aexec.host.mk
ndroid.aexec.mk
ndroid.common.mk
ndroid.libart.host.mk
ndroid.libart.mk
ndroid.test.host.mk
ndroid.test.mk
|