| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I4fc443c1b942a2231d680fc2c7a1530c86104584
|
|
|
|
|
| |
Bug: 12439831
Change-Id: I3d3fc0978543ae8c6fc76d88b9edece1e17bc7ce
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is more a benchmark than a real test. It highlights a pattern where Art's
verifier is currently slower than Dalvik's verifier.
Bug: 12126841
Change-Id: I1ed6466798696b0aa04b94edac2d2b9d0015c6a2
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
At least on my machine, /bin/sh complains about the [[ line.
Rewrite as a standard shell 'if'
Change-Id: I68efc4ceab8e2eb5636fa04ce8877883a4d76998
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes the implementation symmetric with direct
buffers allocated from java.
- GetDirectBufferAddress returns the address of the buffer
passed in to NewDirectByteBuffer (and not NULL).
- GetDirectBufferCapaticy returns 0.
bug: https://code.google.com/p/android/issues/detail?id=63055
Change-Id: I55b24623ec4f7670972fed898ea097934c6c0b5f
|
| |
| |
| |
| | |
Change-Id: I1c87640baa681ed5f0bc10bca8dc130895bb6a95
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also includes a test case, though the test case does not recreate
this exact issue because the attached native thread would need to
have a null context classloader.
Bug: 11737351
Change-Id: Ieb7536702a556485d667361124cd7985b712b093
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
First race:
We were releasing the thin_lock_id in Unregister before the thread
was not suspended. This could cause problems in
SuspendThreadByThreadId since there was a small window of time where
two threads could share the same thread id. This race caused an
occasional check failure in SuspendThreadByThreadId.
Second race:
We were setting the thin_lock_thread_id_ to 0 in Unregister before
waiting to not be suspended. This caused another race in
SuspendThreadByThreadId where we modified the thread suspend count,
busy waited, but didn't find the thread the next iteration. This
meant that we were returning null even though we had modified the
suspend count. This caused the suspend count to not get decremented
since the caller didn't know that the suspend count had been
increased. Removing the self->thin_lock_thread_id_ = 0 in
ThreadList::UnRegister fixes this race.
Added a bit of additional checks and logging to prevent these issues
from resurfacing, other misc cleanup.
Added thread names to threads in ThreadStress.
Bug: 11319866
Change-Id: I48e3a0700193b72079e450be1e924a2f88cf52e2
|
|/
|
|
|
|
| |
Bug: 11861564
Change-Id: I9513359ff9e5d345ee71d84388afed02bd114ecf
|
|\
| |
| |
| |
| | |
* commit '8250232f44cd3ec85d4832174197d9b8287b70fe':
Update test/044-proxy/expected.txt
|
| |
| |
| |
| | |
Change-Id: If2b2aaac869ebfba3abb0f167bbd381054688a97
|
| |
| |
| |
| | |
Change-Id: I69f74e7207b19caae376746dc2dce102cbfde186
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also added tests that get miranda methods via reflection and jni.
Miranda methods can't be found via reflection, and have the interface
class as their declaring class when found via jni.
Bug: 11736932
Change-Id: I92b4fdf31be64269898ed2686a28dfb6008b213a
|
| | |
| | |
| | |
| | | |
Change-Id: I69f74e7207b19caae376746dc2dce102cbfde186
|
|\| |
| |/
|/|
| |
| | |
* commit '91b81daa60b50c915d5ac032bda4a3d8050695b9':
Remove usage of LOCAL_BUILD_HOST_DEX
|
| |
| |
| |
| | |
Change-Id: Id6745578e7ecc4899a52df5de2e81a915cdbb5e0
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When verifying an invoke-virtual-quick on a "null" instance, we can't infer the
class of the method being invoked. This CL handles this case and avoid a crash
due to a failed check in RegType::GetClass.
Also revert changes made to test 082-inline-execute since it succeeds with this
CL now.
Bug: 11427954
Change-Id: I4b2c1deaa43b144684539acea471543716f36fb3
|
| | |
| | |
| | |
| | | |
Change-Id: Idf7fe85e1293453a8ad862ff2380dcd5db4e3a39
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
dalvik/tests"
* commit '661cc989b99e8eed3929a79aee9e10cfb5aa4f1d':
Make ART's run-test support Dalvik so we can remove dalvik/tests
|
| |
| |
| |
| | |
Change-Id: Iba4ddf39169346573c97b443d5d65c6b8963fd4b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update test 082-inline-execute to avoid a verifier issue with quickening.
An invoke-virtual is quickened into an invoke-virtual-quick. However it is
made on a "null" instance. During verification, we can't infer the method
being invoked from the vtable index since we have no access to the class. This
leads to fail on a check and abort.
Bug: 11427954
Change-Id: I740d67c72abb617db67a2c35d9be8346358f78ce
|
|\|
| |
| |
| |
| | |
* commit '67fe2b41a6afccf6ab1a58879eae3e0e8f3d6c7a':
Fix backwards check in CheckStaticMethod
|
| |
| |
| |
| |
| | |
Bug: 11243757
Change-Id: I559d1163ce72ab7831bd328c621519acb72975e0
|
|\|
| |
| |
| | |
Change-Id: Ic56131b49ddfa1ffbc9b50f15e79a0210bd07a41
|
| |
| |
| |
| |
| |
| | |
Bug: 10994325
Change-Id: Id0a46e78eecfe8a9eb91008765c4fff48697cc58
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 10244719
This removes the computation of the dex file index, when necessary this is
computed by searching the dex file. Its only necessary in
dalvik.system.DexFile.defineClassNative and DexFile::FindInClassPath, the
latter not showing up significantly in profiling with this change.
(cherry-picked from 8b2c0b9abc3f520495f4387ea040132ba85cae69)
Change-Id: I20c73a3b17d86286428ab0fd21bc13f51f36c85c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Method resolution currently creates strings to then compare with strings formed
from methods in other dex files. The temporary strings are purely created for
the sake of comparisons. This change creates a new Signature type that
represents a method signature but not as a string. This type supports
comparisons and so can be used when searching for methods in resolution.
With this change malloc is no longer the hottest method during dex2oat (now its
memset) and allocations during verification have been reduced. The verifier is
commonly what is populating the dex cache for methods and fields not declared
in the dex file itself.
Change-Id: I5ef0542823fbcae868aaa4a2457e8da7df0e9dae
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 10244719
Depends on:
https://googleplex-android-review.git.corp.google.com/362363
This removes the computation of the dex file index, when necessary this is
computed by searching the dex file. Its only necessary in
dalvik.system.DexFile.defineClassNative and DexFile::FindInClassPath, the
latter not showing up significantly in profiling with this change.
Change-Id: I20c73a3b17d86286428ab0fd21bc13f51f36c85c
|
|/
|
|
|
|
| |
Bug: 10748067
Change-Id: I732fe23d53f27e7bb030d10c5e4955d9d78b4024
|
|
|
|
|
|
| |
Lets you run a test across all configurations (host, target, interpretter, ...)
Change-Id: Ie1c6b5f0e3ae1ef44a710ebec07daf2bd0309413
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug 10432288.
Find Classes and Strings from dex caches lazily rather than when the image is
loaded.
Make class status changes do notifies when there can be waiters.
For Class lookup there's a pathology if we always search dex caches and
so after 1000 failures move all classes into the class table.
Be consistent in using "const char*" for class linker descriptors as this
most easily agrees with the type in the dex file.
Improve the intern run-test so that it has a case of a literal contained in the
image.
Modify image_test to allow any valid lock word rather than expecting 0, ideally
we wouldn't see inflated monitors but we do due to NotifyAll (see bug 6961405).
Change-Id: Ia9bfa748eeccb9b4498784b97c6823141b1f6db8
|
|
|
|
|
|
|
|
| |
So that it is synchronized with dx message.
Bug: 10425798
Change-Id: I3f2a1a618c96e350953ff2a4e764cd7905491dac
|
|
|
|
|
|
| |
Bug: 9482191
Change-Id: Ida5d742c8a341df3946635424d996de6e19dd795
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Art's Quick compiler currently uses a convervative mechanism
to ensure that a safe point will be reached within a "small" amount
of time. Explicit suspend checks are placed prior to backwards
branches and on returns. There are a lot of ways to optimize,
which we'll get to in the future, but for now the only optimization
is to detect a backwards branch that targets a return block. That's
a common pattern in dex, and simple to detect. In those cases, we can
suppress the suspend check on the backwards branch knowing that the
return will do it.
However, the notion of what is a backwards branch got a bit muddied
with some mir optimizations that transform the graph by changing the
sense of branches. What started off as a taken backwards branch may
turn into a fallthrough backwards branch.
This CL avoid the confusion by marking branches backwards based on
their original dex targets rather than using the post-transform test
of backwardness.
Change-Id: I9b30be168c801af51bae7f66ecd442edcb115a18
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Remove -fno-inline. Fix a missing #include.
Change-Id: Idf87a14e39cc127749d4db41fb0e75c899f5d029
|
|/
|
|
|
| |
Bug: 9071417
Change-Id: I1ee9ff281867f90fba7a8ed8bbf06b33ac29d511
|
|
|
|
|
|
|
|
|
|
|
| |
Cherry-picked from commit ed41d5c44299ec5d44b8514f6e17f802f48094d1.
Move to ArtMethod/Field instead of AbstractMethod/Field and have
java.lang.reflect APIs delegate to ArtMethod/ArtField.
Bug: 10014286.
Change-Id: Iafc1d8c5b62562c9af8fb9fd8c5e1d61270536e7
|
|
|
|
|
|
| |
Bug 9437697.
Change-Id: I30bcb97d12cd8b46d3b2cdcbdd358f08fbb9947a
|
|
|
|
|
|
| |
interpreter.
Change-Id: I54e7162c839910fcf8b8a394aebff2d3c807ccfb
|
|\
| |
| |
| | |
Change-Id: I8798a6f154463d3f92f6aca62f14130aec82d273
|
| |
| |
| |
| | |
Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
|
|/
|
|
|
|
|
| |
This reverts commit 73dda0bc2adcd6a3a7d75f663a3559f8b527d485.
It also fixes the problematic line in the ReferenceMap test.
Change-Id: Ic3b62db7c040853a5ddfed589f6e0acff25d82b7
|
|\
| |
| |
| |
| | |
* commit '6f485c62b9cfce3ab71020c646ab9f48d9d29d6d':
Fix cpplint whitespace/indent issues
|
| |
| |
| |
| | |
Change-Id: I7c1647f0c39e1e065ca5820f9b79998691ba40b1
|
|\|
| |
| |
| | |
Change-Id: I78fbcfc7a2dcbeccb7557ca27302928d7d00debd
|