| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Fix associated errors about unused paramenters and implict sign conversions.
For sign conversion this was largely in the area of enums, so add ostream
operators for the effected enums and fix tools/generate-operator-out.py.
Tidy arena allocation code and arena allocated data types, rather than fixing
new and delete operators.
Remove dead code.
Change-Id: I5b433e722d2f75baacfacae4d32aef4a828bfe1b
|
|
|
|
|
|
|
|
|
| |
'art --perf' will record user space cycle information
'art --perf-report' will also report the saved data.
When using perf, the temporary data directory is not deleted.
Change-Id: Iadceeb3883f815cac8ed2b8a96b9b8363661d156
|
|
|
|
|
|
|
| |
- Build both archs version when available.
- Add --64 and --32 command line flags to the art script.
Change-Id: I037ec94670767f1761adb26f44aafc5592ea3a2b
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Also add a phony target to build what's needed to use it.
Change-Id: I0bca6b0cbe921653de05fec0ae0cbbff63df580e
|
|/
|
|
|
|
|
|
|
| |
Refactors some classes in elf_writer_quick.h to elf_builder.h to
be more friendly for re-use. Use this in oatdump to add a symtab
to an oat file.
Bug: 17187621, 17322125
Change-Id: I2333291334fd98bd09cc5717fb83cb18efe3a029
|
|
|
|
| |
Change-Id: I11c2989020de14057ffbfc80bd5baac01234f54b
|
|
|
|
|
|
|
|
| |
Adapt generate-operator-out.py to work with both Python 2.x (x >= 6)
and 3.x
Change-Id: I20f1b212069f368f3cf289dfd6b2aaee393cac68
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
|
|
|
|
|
|
| |
We need to define ANDROID_HOST_OUT in the script before using it.
Change-Id: I6b415d8de5fb6001bc579b013683957abb33f394
|
|
|
|
| |
Change-Id: Ideb6a83d71cda126d94ad01965b2dcf5005d449a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Native support for zip files with multiple classesX.dex.
Works by explicitly looking for those files in ascending order. As
these files have no file system representation for themselves,
introduce synthetic dex locations: the name of the originating file
plus a colon plus the name of the dex file, e.g., test.jar:classes2.dex.
Opening a zip dex file will return all dex files in this way. This
keeps the changes to dex2oat minimal.
To hide multidex/synthetic names from the Java layer, let the handle
of dalvik.system.DexFile refer to a vector of DexFile objects. When
opening a location, test possible synthetic names and add them to the
vector. Thus, the original multidex jar in the classpath will be
associated with all embedded dex files.
Change-Id: I0de107e1369cbc94416c544aca3b17525c9eac8b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Bug: 14470552
Change-Id: I71367052d2a5f0dcf66cf2dfdbc260aff4ac952e
|
|
|
|
| |
Change-Id: I79ef402196ba875f51f924b3eeafffadc012834f
|
|
|
|
| |
Change-Id: Ieb2a9674c95aafadbdb26c060f186f3f2d0f5e15
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This reverts commit 4b23250f4cbf3047924c646c1a0c078394f8362d.
Change-Id: Ib749a8267abf35e51552b741ba749d6ed6975f95
|
|
|
|
|
|
| |
This reverts commit 41dcb9f856a2051527cd595f8fe7d200066acba4.
Change-Id: Ide6fa696c6fb43fe17e0993e8c9d1b588c99b1f3
|
|
|
|
| |
This reverts commit 1f5a90f28443886ebefcfbd531b8e41ece298cca.
|
|
|
|
| |
Change-Id: I0c48856d811c40662a6e4a4782478a0bc8e0f697
|
|
|
|
|
|
|
|
| |
* This is how it is done in other scripts in the AOSP tree, as
'/usr/bin/python' may be python3 on some distros, which isn't
supported yet.
Change-Id: I0d9857fc6a122f505953fddcd6244dad75b1838a
|
|
|
|
|
|
|
| |
When I created this file I just copied the license from the first .py
file I came across, without noticing it wasn't the appropriate license.
Change-Id: I63ccec962a7a906a393a9889fdda35861d977e9c
|
|
|
|
|
|
|
|
|
|
|
|
| |
Needed to update cpplint to handle const auto.
Fixed a few cpplint errors that were being missed before.
Replaced most of the TODO c++0x with ranged based loops. Loops which
do not have a descriptive container name have a concrete type instead
of auto.
Change-Id: Id7cc0f27030f56057c544e94277300b3f298c9c5
|
|
|
|
|
|
| |
The upstream cpplint.py already made this change.
Change-Id: I9614d51080557eab6730cffd476e01e7872729d0
|
|
|
|
| |
Change-Id: I1efdb07a948a2af49db1a9d21ccab16dacc03a54
|
|
|
|
| |
Change-Id: Ifc678d59a8bed24ffddde5a0e543620b17b0aba9
|
|
|
|
| |
Change-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7
|
|
|
|
| |
Change-Id: I294995066aecc29fbd739c3e9e6f60934f743064
|
|
|
|
|
|
| |
There's a test that asserts that the bootclasspath is non-empty.
Change-Id: I9cd93f658255361cdd9dd73e6ecda6da37219cb7
|
|
|
|
|
|
|
|
|
| |
This isn't the real fix, and it means that your oatexec will be running
from $(ANDROID_BUILD_TOP) rather than your current directory, but it lets
me use a modified vogar that just calls "art" instead of "dalvikvm", as
long as I use absolute paths.
Change-Id: Iac35fcd2114316a06780b4f1f27eee9fbe95282d
|
|
|
|
|
|
|
| |
$* is always a mistake, which is a shame because that's what everyone
learns first.
Change-Id: I0c18d13a42653cdde72b55ba7a4284e3454a5ba8
|
|
|
|
| |
Change-Id: I0ae2a7e35ba4bc2675836b45677aa535eccf0850
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Handy if you have an ANR that's locking related. Quick tour:
at org.apache.harmony.dalvik.NativeTestTarget.emptyJniStaticSynchronizedMethod0(Native method)
- locked <0x60135aa8> (a java.lang.Class<org.apache.harmony.dalvik.NativeTestTarget>)
at java.lang.reflect.Method.invoke(Native method)
at C.whileTrue(Main.java:63)
at C.synchronizedOnClassString(Main.java:56)
- locked <0x60002a70> (a java.lang.Class<java.lang.String>)
at C.nestedSynchronizationWithTryCatch(Main.java:44)
- locked <0x61336b90> (a java.lang.String)
- locked <0x61336bd0> (a java.lang.String)
at C.nestedSynchronization(Main.java:35)
- locked <0x61336b18> (a java.lang.String)
- locked <0x61336b50> (a java.lang.String)
at C.synchronizedOnClassC(Main.java:30)
- locked <0x613366f8> (a java.lang.Class<C>)
at C.noLocks(Main.java:27)
at C.<clinit>(Main.java:24)
- locked <0x613366f8> (a java.lang.Class<C>)
at Main.main(Main.java:19)
A non-static synchronized native method works too:
at org.apache.harmony.dalvik.NativeTestTarget.emptyJniSynchronizedMethod0(Native method)
- locked <0x613371a8> (a org.apache.harmony.dalvik.NativeTestTarget)
...
Note that most stack traces don't look any different; the above is a
pathological example that exercises different kinds of locking. Testing
with system_server shows most threads don't hold any locks.
Future work (marked by TODO) is that explicit JNI MonitorEnter calls in
native code aren't shown.
Change-Id: I2747f5cddb4ef64b1935736f084a68fe8e4005e9
|
|
|
|
| |
Change-Id: Iab8d5e1e3abf372d7a7a567bce55becdb5a139d7
|
|
|
|
|
|
| |
From https://code.google.com/p/google-styleguide/source/browse/trunk#trunk%2Fcpplint .
Change-Id: Ie9c0efe36c9af5c1fead502ae673ca6693f3cf7b
|
|
|
|
|
|
|
| |
This still passes 034, but is a bit clearer because we get all comments
out of the way early on.
Change-Id: I580ebdca24a4a0738ee102536c8d5b076427264d
|
|
|
|
| |
Change-Id: I5d279b735b383a901fd25034fdd9202c8e97582d
|
|
|
|
|
|
|
| |
This requires a bit more work in the script to support
enums nested inside classes.
Change-Id: Id0e3561c3675214f74f47ac9f36ba82c41fa775d
|
|
|
|
|
|
| |
This is obsolete historical cruft.
Change-Id: I140a93ac04f5be0034812f90204e6f9ae36d2d5f
|
|
|
|
| |
Change-Id: Iae3b8f32f49f4c91cd41c53bbafb95db071d57bb
|
|
|
|
| |
Change-Id: I457a74f1be68debfd351c63f282c3579c6becda2
|
|
|
|
| |
Change-Id: I0f53db089b9a1ba38ce82b75ab22448877be67e0
|
|
|
|
| |
Change-Id: I29bc2f216361ac4ed0cc0fefb7e3c46ee64e0ae8
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Also add -d to run aexecd.
Change-Id: I38fefd9ad2e08b42039cb2a09351b4e6e30a9c5c
|
|
|
|
|
|
|
|
|
|
| |
Previously, we just cast the Runtime* to a JavaVM*, which blew up as soon as
the caller tried to use their supposed JavaVM*.
This also implements NewObjectArray. Running aexecd on the host, this gets us
as far as not having an x86 CreateInvokeStub...
Change-Id: Iba5f148797d053fba1c69af99b20508ea6aff5cb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch replaces our JniEnvironment class with the regular JNIEnv.
This patch also adds support for .jar, .zip, and .apk files in the
boot classpath.
There's also an attempt at implementing JNIEnv::FindClass.
I've also fixed a few scoped_ptr/scoped_array bugs (this kind of thing
being the reason we use UniquePtr in libcore), and removed some
unnecessary .
The 'tools/art' script makes it easier to play with aexec on the command-line.
Change-Id: Ic4f704c12e0071f17e95b6e182fdab9370ead9b0
|