summaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Create separate Android.mk for main build targetsBrian Carlstrom2013-07-121-4/+3
| | | | | | | | | | 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
* Move to new art dalvikvmBrian Carlstrom2013-06-171-3/+3
| | | | Change-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7
* Rename art-cache to dalvik-cacheBrian Carlstrom2013-06-101-1/+1
| | | | Change-Id: I294995066aecc29fbd739c3e9e6f60934f743064
* Fix the last failing host -Xint JDWP test.Elliott Hughes2013-02-191-6/+7
| | | | | | There's a test that asserts that the bootclasspath is non-empty. Change-Id: I9cd93f658255361cdd9dd73e6ecda6da37219cb7
* Make the tools/art script appear to work from any directory.Elliott Hughes2013-01-171-0/+1
| | | | | | | | | 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
* Fix art script argument quoting.Elliott Hughes2013-01-081-1/+1
| | | | | | | $* is always a mistake, which is a shame because that's what everyone learns first. Change-Id: I0c18d13a42653cdde72b55ba7a4284e3454a5ba8
* Change art script to use execBrian Carlstrom2012-08-021-1/+1
| | | | Change-Id: I0ae2a7e35ba4bc2675836b45677aa535eccf0850
* Include held locks in SIGQUIT thread dumps.Elliott Hughes2012-06-271-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make art script work for the first timeBrian Carlstrom2012-06-251-11/+7
| | | | Change-Id: Iab8d5e1e3abf372d7a7a567bce55becdb5a139d7
* Update cpplint.py.Elliott Hughes2012-06-211-88/+323
| | | | | | From https://code.google.com/p/google-styleguide/source/browse/trunk#trunk%2Fcpplint . Change-Id: Ie9c0efe36c9af5c1fead502ae673ca6693f3cf7b
* Clean up the confusing comment-related logic a bit.Elliott Hughes2012-06-071-13/+16
| | | | | | | This still passes 034, but is a bit clearer because we get all comments out of the way early on. Change-Id: I580ebdca24a4a0738ee102536c8d5b076427264d
* Make generate-operator-out.py only skip // line commentsBrian Carlstrom2012-06-061-1/+1
| | | | Change-Id: I5d279b735b383a901fd25034fdd9202c8e97582d
* Auto-generate operator<< for enum ::art:Class::Status.Elliott Hughes2012-06-061-3/+9
| | | | | | | This requires a bit more work in the script to support enums nested inside classes. Change-Id: Id0e3561c3675214f74f47ac9f36ba82c41fa775d
* Don't explicitly request python2.4.Elliott Hughes2012-04-052-2/+2
| | | | | | This is obsolete historical cruft. Change-Id: I140a93ac04f5be0034812f90204e6f9ae36d2d5f
* Use the operator<< generator more widely.Elliott Hughes2012-04-041-10/+49
| | | | Change-Id: Iae3b8f32f49f4c91cd41c53bbafb95db071d57bb
* Fix the operator<< generation to work with "mmm" as well as "mm".Elliott Hughes2012-04-041-0/+3
| | | | Change-Id: I457a74f1be68debfd351c63f282c3579c6becda2
* Start automatically generating operator<<s for enums.Elliott Hughes2012-04-041-0/+150
| | | | Change-Id: I0f53db089b9a1ba38ce82b75ab22448877be67e0
* Remove old code to support multiple imagesBrian Carlstrom2012-02-041-8/+8
| | | | Change-Id: I29bc2f216361ac4ed0cc0fefb7e3c46ee64e0ae8
* Working dex2oat and oatexecBrian Carlstrom2011-09-061-3/+3
| | | | | | | | | | 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
* Add vogar-like --invoke-with to 'art', and fix a bug valgrind finds.Elliott Hughes2011-08-181-1/+20
| | | | | | Also add -d to run aexecd. Change-Id: I38fefd9ad2e08b42039cb2a09351b4e6e30a9c5c
* Fix the invocation interface.Elliott Hughes2011-08-151-1/+3
| | | | | | | | | | 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
* Start implementing JNI.Elliott Hughes2011-08-111-0/+26
| | | | | | | | | | | | | | | | | 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
* Import cpplint.py and make target cpplint-artBrian Carlstrom2011-07-231-0/+3126
Imported without change from http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py Will start making local changes to cpplint.py in followup changes. Change-Id: I0fda185f4a9f96815739db8f862cf8537402bf3b