| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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
|
|
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
|