| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The initialized static storage array is used by compiled code to determine if
for a sget/sput class initialization is necessary. The compiled code typically
doesn't require this test as the class is pre-initialized or the class being
accessed is the same as the current method.
Change-Id: Icbc45e692b3d0ac61e559e69edb6c9b29439e571
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to detect small methods for inlining at the end of
the method verification. Instead of adding more compiler
code to the runtime, we create a callback from the runtime
into the compiler, so that we can keep the code there.
Additionally, we move the compiler-related code that was
already in the method verifier to the compiler since it
doesn't really belong to the runtime in the first place.
Change-Id: I708ca13227c809e07917ff3879a89722017e83a9
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed NoFramePointerElimNonLeaf because this is now only specified via
a function attribute (and thus covered by existing cases).
Switch to llvm::sys::fs::F_* enums.
Remove unused DisableSimplifyLibCalls().
(cherry picked from commit 1961a2716cf02f597f06c27a0850daa2dc917586)
Change-Id: Ic7b311b635483a44265c89d47f37f4202a5b18f7
|
|
|
|
| |
This reverts commit f7ee11632e3dfda29d553d8962be9747d5ce6dfd.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed NoFramePointerElimNonLeaf because this is now only specified via
a function attribute (and thus covered by existing cases).
Switch to llvm::sys::fs::F_* enums.
Remove unused DisableSimplifyLibCalls().
(cherry picked from commit 1961a2716cf02f597f06c27a0850daa2dc917586)
Change-Id: Idc2e3fb73d798a62b6ebf6f55aff5c715b2c62f7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug 6961405.
Don't inflate monitors for Notify and NotifyAll.
Tidy lock word, handle recursive lock case alongside unlocked case and move
assembly out of line (except for ARM quick). Also handle null in out-of-line
assembly as the test is quick and the enter/exit code is already a safepoint.
To gain ownership of a monitor on behalf of another thread, monitor contenders
must not hold the monitor_lock_, so they wait on a condition variable.
Reduce size of per mutex contention log.
Be consistent in calling thin lock thread ids just thread ids.
Fix potential thread death races caused by the use of FindThreadByThreadId,
make it invariant that returned threads are either self or suspended now.
Code size reduction on ARM boot.oat 0.2%.
Old nexus 7 speedup 0.25%, new nexus 7 speedup 1.4%, nexus 10 speedup 2.24%,
nexus 4 speedup 2.09% on DeltaBlue.
Change-Id: Id52558b914f160d9c8578fdd7fc8199a9598576a
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 9877500.
Change-Id: Ica6d9f5ecfd20c86e5230a2213827bd78cd29a29
|
|
|
|
|
|
|
| |
Don't use non-const reference arguments.
Move ins before outs.
Change-Id: I7b251156388d8f07513b3da62ebfd29e5fd9ff76
|
|
|
|
|
|
|
| |
Don't use non-const reference arguments.
Move ins before outs.
Change-Id: I4a7b8099abe91ea60f93a56077f4989303fa4876
|
|\
| |
| |
| | |
dalvik-dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This CL allows the DEX-to-DEX compiler to disable devirtualization detection.
This allows to quicken invoke-virtual/range instructions that used to be
eligible for devirtualization.
Bug: 10632943
Change-Id: I6c9f4d3249cf42b47f004be5825b3186fa83501e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We're seeing contention during compilation on the dedupe locks, sharding 4 ways
on an occam brings down contention by > 5x.
Improve dedupe hash function to have a FNV hash function at its heart.
Improve naming of dedupe locks.
Tidy portable JNI compiler paramters to be pointers, given that's their primary
use.
Change-Id: I95d905f2ca5fee4e83a0034926a5f6501b4aeb79
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
into klp-dev
* commit '22955837e20f126845ff0e516dfa6f74ec81d240':
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
|
|/ /
| |
| |
| | |
This reverts commit 70814f7746793934a29e010211ef6e652ad75cd2.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Removed NoFramePointerElimNonLeaf because this is now only specified via
a function attribute (and thus covered by existing cases).
Switch to llvm::sys::fs::F_* enums.
Remove unused DisableSimplifyLibCalls().
(cherry picked from commit 1961a2716cf02f597f06c27a0850daa2dc917586)
Change-Id: I49e691b6771f7e3f77fe583841ea51b06ee7cfdf
|
| |
| |
| |
| |
| |
| | |
This reverts commit eaeab46304a139da495de941e853ce9acdace175.
Change-Id: I854e09c9c988702de08a9ff642619761d1d57639
(cherry picked from commit 03feadd72f6205f0b88fe69aaa30c69d1b2e8c2d)
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Removed NoFramePointerElimNonLeaf because this is now only specified via
a function attribute (and thus covered by existing cases).
Switch to llvm::sys::fs::F_* enums.
Remove unused DisableSimplifyLibCalls().
(cherry picked from commit 1961a2716cf02f597f06c27a0850daa2dc917586)
Change-Id: I5ee58031e423838cdc8968675192f9b63a7d867d
|
|
|
|
| |
This reverts commit b8a874ca3b13007f4bf688963483ffb3c76e0d7d.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed NoFramePointerElimNonLeaf because this is now only specified via
a function attribute (and thus covered by existing cases).
Switch to llvm::sys::fs::F_* enums.
Remove unused DisableSimplifyLibCalls().
(cherry picked from commit 1961a2716cf02f597f06c27a0850daa2dc917586)
Change-Id: I7403dca575104de2ceb5fc0619611366a8058e5d
|
|
|
|
| |
This reverts commit 6a94caa048121858ee8e71f84caf7b9ae1f940df.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed NoFramePointerElimNonLeaf because this is now only specified via
a function attribute (and thus covered by existing cases).
Switch to llvm::sys::fs::F_* enums.
Remove unused DisableSimplifyLibCalls().
(cherry picked from commit 1961a2716cf02f597f06c27a0850daa2dc917586)
(cherry picked from commit 6e6819f7b8b4820ae2b1003a516fe9aa60fa478e)
Change-Id: I4fb59f291bb58c7ed8575f71a44f7c59f653a5ec
|
|\
| |
| |
| |
| |
| |
| | |
prevent races
* commit '3e78664ffa63f3a01b0769a57409933a82648b4a':
Add flock(2)ing on dex-cache files to prevent races
|
| |
| |
| |
| |
| | |
Bug: 9071417
Change-Id: I1ee9ff281867f90fba7a8ed8bbf06b33ac29d511
|
|/
|
|
| |
This reverts commit 6e6819f7b8b4820ae2b1003a516fe9aa60fa478e.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed NoFramePointerElimNonLeaf because this is now only specified via
a function attribute (and thus covered by existing cases).
Switch to llvm::sys::fs::F_* enums.
Remove unused DisableSimplifyLibCalls().
(cherry picked from commit 1961a2716cf02f597f06c27a0850daa2dc917586)
Change-Id: Idc2e3fb73d798a62b6ebf6f55aff5c715b2c62f7
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
This reverts commit 1961a2716cf02f597f06c27a0850daa2dc917586.
|
|
|
|
|
|
|
|
|
|
|
| |
Removed NoFramePointerElimNonLeaf because this is now only specified via
a function attribute (and thus covered by existing cases).
Switch to llvm::sys::fs::F_* enums.
Remove unused DisableSimplifyLibCalls().
Change-Id: I792e3a31f5dc289459aeacac995e7c828b6063d3
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
|
|
|
|
| |
Change-Id: Ia81db7238b4a13ff2e585aaac9d5e3e91df1e3e0
|
|
|
|
| |
Change-Id: I6821da0e23737995a9b884a04e9b63fac640cd05
|
|
|
|
|
|
| |
whitespace/labels, whitespace/semicolon issues
Change-Id: Ide4f8ea608338b3fed528de7582cfeb2011997b6
|
|
|
|
| |
Change-Id: I1efdb07a948a2af49db1a9d21ccab16dacc03a54
|
|
|
|
| |
Change-Id: I19c68703270c1482d6c6aad8cdf97d3d2924360a
|
|
|
|
| |
Change-Id: Ifc678d59a8bed24ffddde5a0e543620b17b0aba9
|
|
|
|
| |
Change-Id: Ice937e95e23dd622c17054551d4ae4cebd0ef8a2
|
|
|
|
| |
Change-Id: Ie2049d9f667339e41f36c4f5d09f0d10d8d2c762
|
|
|
|
| |
Change-Id: I352ba0b427f1ff9b22887693952b180eae0839ba
|
|
|
|
| |
Change-Id: Ide80939faf8e8690d8842dde8133902ac725ed1a
|
|
|
|
| |
Change-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43
|
|
|
|
| |
Change-Id: I069586205a9a92fc7375ccf5cdde136bbbcfc800
|
|
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
|