OSDN Git Service
Andreas Gampe [Thu, 10 Mar 2016 00:18:11 +0000 (00:18 +0000)]
Merge "ART: Fix assumption in class profile collection" into nyc-dev
Mathieu Chartier [Wed, 9 Mar 2016 19:14:50 +0000 (11:14 -0800)]
Use PwriteFully and write image header last
Prevent corrupted images if dex2oat gets killed or if the image
writer is interrupted during writing.
Bug:
22858531
Bug:
27561308
Change-Id: Ia882d23d672f93c90733fc59a1f6508b0985a011
Andreas Gampe [Wed, 9 Mar 2016 23:52:21 +0000 (15:52 -0800)]
ART: Fix assumption in class profile collection
The dex cache may contain erroneous classes. Filter, instead of
DCHECK.
Bug:
27500691
Change-Id: Ic99bca3a7e54a5e7893c801ec5ac92cbf690cd67
Mathieu Chartier [Wed, 9 Mar 2016 00:50:20 +0000 (16:50 -0800)]
Use per character suffix for multi image
E.g. if you pull the oat files from the device, you get oat files
with the following names:
system@framework@boot.art
But the name stored in the image header is:
boot.art
So we need to append system@framework@ as a file name prefix to each
image file to get the actual one.
Required for adding oatdump support for app images.
Bug:
22858531
Bug:
27408512
Change-Id: I93dd3f16652400f232e6175670fcd572395879e0
Mathieu Chartier [Wed, 2 Mar 2016 20:52:37 +0000 (12:52 -0800)]
Delete alloc tracking map outside of critical section
There can be lock order violations otherwise due to runtime shutdown
lock that may get acquired in the condition variable destructor.
Bug:
27506909
(cherry picked from commit
0b8b4a609120b90081d898dbf3c26f68fe80de96)
Change-Id: I6972c450db8856e30c13e27aea94b01943618f64
Mathieu Chartier [Tue, 23 Feb 2016 18:37:32 +0000 (10:37 -0800)]
Fix allocation tracking race
Need to instrument the stubs before calling
Heap::SetAlloctrackingEnabled or else we can get this DCHECK failing
DCHECK(!IsAllocTrackingEnabled())
Bug:
27506909
(cherry picked from commit
16e51beb9a771ffe7be833173e3dd5f2dac63892)
Change-Id: I45d6f716ed55371d41e7b7673209166401dbc62e
Sebastien Hertz [Tue, 8 Mar 2016 14:03:31 +0000 (14:03 +0000)]
Merge "Support multidex run-test with Jack" into nyc-dev
Sebastien Hertz [Tue, 8 Mar 2016 14:03:08 +0000 (14:03 +0000)]
Merge "More run-test with Jack" into nyc-dev
Calin Juravle [Tue, 8 Mar 2016 13:32:08 +0000 (13:32 +0000)]
Merge "Handle unexpected cases in profile saver" into nyc-dev
Calin Juravle [Tue, 8 Mar 2016 12:52:52 +0000 (12:52 +0000)]
Handle unexpected cases in profile saver
There are some unexpected cases that should not occur in a normal run.
Log warnings but avoid crashing if:
- dex location is empty
- we cannot figure the real paths of the locations.
Bug:
27532729
Change-Id: I2c9ee8d616378d1d6f771b071f61321a2916ce27
Sebastien Hertz [Thu, 3 Mar 2016 17:08:17 +0000 (18:08 +0100)]
Support multidex run-test with Jack
Updates default-build script to compile multidex run-tests with
Jack. Such test needs a 'multidex.jpp' file specifying how to
partition classes in the output dex files (mainly how to stick some
classes in the classes.dex file and others in a classes2.dex file).
Bug:
19467889
(cherry picked from commit
4856ca7f652b889c176a2af747d5cc4b334fc1c6)
Change-Id: I056d49d50f62f9fadbc6749fb4b185d5bb3dea12
Sebastien Hertz [Mon, 29 Feb 2016 15:54:16 +0000 (16:54 +0100)]
More run-test with Jack
Updates the following tests
* 004-ReferenceMap: updates expectations
* 004-StackWalk: updates expectations
* 089-many-methods: updates expectations
* 138-duplicate-classes-check2: add Jack support
* 454-get-vreg: updates expectations
Bug:
19467889
(cherry picked from commit
c94ff128d770f5126d7685972b95a789c0b55cb0)
Change-Id: Ie9927201e45046d4b89a4b028d0844bf25831d0b
Mathieu Chartier [Tue, 8 Mar 2016 01:41:39 +0000 (17:41 -0800)]
Fix lock order violation
Release class linker lock before acquiring heap bitmap lock.
Bug:
27493510
Change-Id: I7809e0f591513b85d295d43e639152ce92984f9c
Mathieu Chartier [Tue, 8 Mar 2016 00:13:54 +0000 (16:13 -0800)]
Add verification for image ArtMethod declaring classes
Try and see if any ArtMethods in the image have declaring classes
that are not marked in the heap live bitmap. Trying to mark these
would cause a SIGSEGV since the bitmap is read only.
TODO: Disable for performance.
Bug:
27493510
Change-Id: I231b07b84d98dcd7ee1557c18956c86264058ee1
Mathieu Chartier [Mon, 7 Mar 2016 21:48:08 +0000 (13:48 -0800)]
Add systrace logging to ScopedCodeCacheWrite
Shows if we are taking a long time to mprotect.
Bug:
27502458
Change-Id: Ib83aed3d15b252baaf8f0cffab6bf58d69471d64
Mathieu Chartier [Mon, 7 Mar 2016 21:22:25 +0000 (21:22 +0000)]
Merge "Increase kDumpWaitTimeout 10x for target builds" into nyc-dev
Mathieu Chartier [Mon, 7 Mar 2016 19:59:01 +0000 (11:59 -0800)]
Increase kDumpWaitTimeout 10x for target builds
New timeout is 100s, the old one was occasionally hit by overloaded
device. This caused a confusing crash in the barrier destructor
since not all the threads had went through the barrier yet.
Bug:
27334917
Change-Id: I5bcdaa39cfc104f3555f62b6117b417c8bf36e7a
Mathieu Chartier [Mon, 7 Mar 2016 18:25:04 +0000 (10:25 -0800)]
Don't use ScopedObjectAccess in Heap::DumpSpaces
ScopedObjectAccess does not work well if the mutator lock is
excusively held while in a suspend thread state. This caused
deadlocks and DCHECK failures.
Bug:
27493316
Change-Id: I75ab223b2d15ab4e53753f1046c580228fc1866e
Nicolas Geoffray [Mon, 7 Mar 2016 15:54:45 +0000 (15:54 +0000)]
Merge "Add some debugging for zygote crash." into nyc-dev
Nicolas Geoffray [Mon, 7 Mar 2016 15:44:08 +0000 (15:44 +0000)]
Add some debugging for zygote crash.
bug:
27340451
(cherry picked from commit
de166544d6539942d3507ce47910f601c97b7532)
Change-Id: Ie4400064d81e260b41bd1408a9ed54be8ca0479e
Mathieu Chartier [Sat, 5 Mar 2016 02:33:27 +0000 (02:33 +0000)]
Merge "Use MarkIfNotInToSpace for SemiSpace::MarkObject" into nyc-dev
Mathieu Chartier [Sat, 5 Mar 2016 02:06:07 +0000 (02:06 +0000)]
Merge "Add more systracing everywhere" into nyc-dev
Mathieu Chartier [Fri, 4 Mar 2016 18:30:39 +0000 (10:30 -0800)]
Use MarkIfNotInToSpace for SemiSpace::MarkObject
SemiSpace::MarkObject is called from ModUnionScanImageRootVisitor
which. These roots may be visited multiple times by the GC. One
example is the allocation stack traces and a class visiting the same
ArtMethod twice.
Bug:
27435111
(cherry picked from commit
9a9aee662ebde18bed2a8e263c921df4f529b27b)
Change-Id: I2387a6efaed79d37f2ee47725637af29e78e3548
Mathieu Chartier [Wed, 2 Mar 2016 18:30:23 +0000 (10:30 -0800)]
Fix potential linear alloc memory leak
Previously, if we created a linear alloc for a class loader but
never created the class table, the linear alloc would never get
freed since it would have no corresponding ClassLoaderData.
Fixes valgrind-test-art-host-gtest-oat_test
Bug:
27384882
Bug:
22858531
(cherry picked from commit
5b83050affa6a3b1d3863c0b903f9d48fe4aefb2)
Change-Id: I71b650eac4e33212a7f03c43141db99e635a19ad
Mathieu Chartier [Fri, 4 Mar 2016 22:58:03 +0000 (14:58 -0800)]
Add more systracing everywhere
Added to:
JIT
DexFile functions
Oat file manager
Added helper ScopedTrace to prevent errors and reduce excess code.
Bug:
27502458
Change-Id: Ifaeff8913d79eefc797380987d13cc00456266f8
Mathieu Chartier [Thu, 3 Mar 2016 00:08:31 +0000 (16:08 -0800)]
Only visit app image classes in class loader
Only update dex cache arrays of added classes since the declaring
class is in image DCHECK fails for other classes in the class loader.
Also some cleanup to prevent app images leaving invalid state if
they get rejected.
Bug:
22858531
Bug:
27431418
(cherry picked from commit
6973100705716bffce3768a8a0908d7ca1d02ec1)
Change-Id: Ib05364c44f2b943e3341ef2b1dd43337833de143
Mathieu Chartier [Thu, 3 Mar 2016 03:23:17 +0000 (19:23 -0800)]
Add systrace to VerifyClass
Useful to see if verifier is preempting anything.
Bug:
27398183
Change-Id: I3e318d2c9c5cbc4254b3ffe8e6e8c7b98a0f2ef7
Calin Juravle [Thu, 3 Mar 2016 10:54:00 +0000 (10:54 +0000)]
Merge "Update GetDexOptNeeded to handle the different levels of compilation" into nyc-dev
Nicolas Geoffray [Wed, 2 Mar 2016 17:09:35 +0000 (17:09 +0000)]
Clear inline caches if a ProfilingInfo gets revived.
This avoids stalled class references.
Bug:
27398183
Bug:
23128949
Bug:
26846185
(cherry picked from commit
511e41b4ec2d378a5c434598ebd0b3d6136fff9d)
Change-Id: I5e33496859e65456d185cc09ca12736dd6414d77
Nicolas Geoffray [Wed, 2 Mar 2016 12:05:30 +0000 (12:05 +0000)]
Revert "Revert "Use the interpreter as a heartbeat for the JIT.""
Bug:
27398183
Bug:
23128949
Bug:
26846185
This reverts commit
a96917a6983a5abbe973255a3846fda549fb1657.
(cherry picked from commit
35122443e5f8606cc5a660ac32745a06aefb341b)
Change-Id: Ib02401c76bf28e1aac6bbce01f97ddd0373c1ba5
Calin Juravle [Thu, 18 Feb 2016 18:47:37 +0000 (18:47 +0000)]
Update GetDexOptNeeded to handle the different levels of compilation
extract-only or profile-guide oat files are considered up to date from
runtime perspective as they don't necessary need (re)compilation or
relocation. However, it is useful to return a more refined code to the
caller so that they can decide whether or not that's good enough.
For example, the package manager might decide to still compile a
previous extract-only and during profile guide compilation we should
always recompile even if we have an oat file.
Note that dex files compiled via ClassLoaders will still be fully
compiled.
This change introduces:
- a new key in the oat header kCompilationType to capture what type of
compilation has been made. Note tha the key might be missing. The
distinction is needed in order to avoid recompilation of a previous
fully compiled file during profile guide compilation analysis.
- a new argument to GetDexOptNeeded which tells the runtime to cast its
opinion whether or not the oat file is up to date relative to the
desired target type of compilation.
Bug:
27189430
Change-Id: Icd9794b1df6f6e21242e1dd1d5b5d064963dbbb7
Mathieu Chartier [Tue, 1 Mar 2016 02:13:38 +0000 (18:13 -0800)]
Fix allocation tracking race
Check if changed from uninstrumented to instrumented during GC for
alloc. If we changed, retry the allocation with kInstrumented = true.
Added stress test.
Bug:
27337759
(cherry picked from commit
eebc3af4453f5c1fb5fd80c710cfd49566080d28)
Change-Id: I8fa50975b558199fcf142c8555476053001ace50
Andreas Gampe [Tue, 1 Mar 2016 04:49:38 +0000 (20:49 -0800)]
Lower JIT thread priority
Modify the JIT thread to run at a lower priority in order to allow
UI-critical threads to get enough CPU time.
Bug:
27417985
Change-Id: I5b962a7970ae81dac9e01a8011128c538cd78e40
Calin Juravle [Tue, 1 Mar 2016 17:59:18 +0000 (17:59 +0000)]
Merge "Record foreign dex files loaded by the app in the profile" into nyc-dev
Calin Juravle [Wed, 24 Feb 2016 10:13:09 +0000 (10:13 +0000)]
Record foreign dex files loaded by the app in the profile
A foreign dex file is a file which is not owned by the app
(it's not part of its code paths or its private data directory).
When such a dex file is loaded by the app, the runtime will record
a marker in a dedicated profile folder (foreing_dex_profile_path).
The marker is just a file named after the canonical location of the
dex file where '/' is replaced by '@'.
The markers will be used by the system server system server to
decide if the apk should be fully or profile guide compiled.
Bug:
27334750
Bug:
26080105
Change-Id: If4fa8208be4e2f6f0b748b8a5417c4ae9c2d5df6
Mathieu Chartier [Sun, 28 Feb 2016 21:10:58 +0000 (13:10 -0800)]
Revert "Revert "Improve immune spaces logic""
Test was flaky due to missing guard page at the end of the region.
Bug:
27136196
This reverts commit
07dbbca0b42cb8da1811de8209b4a7d4becfc7b2.
(cherry picked from commit
032c0051eb47f1f62586602894e5833356f4f9ec)
Change-Id: I7f9fcb0785ec45aaeded8ed65b7fa1abcf798282
Nicolas Geoffray [Sat, 27 Feb 2016 11:30:25 +0000 (11:30 +0000)]
Revert "Improve immune spaces logic"
test is flaky. For example:
[ RUN ] ImmuneSpacesTest.MultiImage
art/runtime/gc/collector/immune_spaces_test.cc:351: Failure
Value of: space5->Limit()
Actual: 0xb6d72000
Expected: reinterpret_cast<uint8_t*>(spaces.GetLargestImmuneRegion().End())
Which is: 0xb6d93000
[ FAILED ] ImmuneSpacesTest.MultiImage (1076 ms)
Bug:
27136196
This reverts commit
17b8bce064fe4c0b29117abe489b7f8c2c950d43.
(cherry picked from commit
07dbbca0b42cb8da1811de8209b4a7d4becfc7b2)
Change-Id: I5da504491dc4ff5d665891df5c93d892790d990d
Nicolas Geoffray [Mon, 29 Feb 2016 16:55:49 +0000 (16:55 +0000)]
Merge "Forgot to initialize JIT memory use fields." into nyc-dev
Nicolas Geoffray [Mon, 29 Feb 2016 16:55:15 +0000 (16:55 +0000)]
Merge "Introduce partial code cache collection." into nyc-dev
Nicolas Geoffray [Mon, 29 Feb 2016 16:19:10 +0000 (16:19 +0000)]
Merge "Cleanup polymorphic inlining to the same target." into nyc-dev
Nicolas Geoffray [Mon, 29 Feb 2016 16:18:48 +0000 (16:18 +0000)]
Merge "Bug fix for polymorphic inlining." into nyc-dev
Nicolas Geoffray [Wed, 24 Feb 2016 17:18:25 +0000 (17:18 +0000)]
Forgot to initialize JIT memory use fields.
bug:
23128949
(cherry picked from commit
b0d220835f2ddc03510f17fcc4fb4c64b426a0f5)
Change-Id: Iea81925ebd0fd60fe58a972269313a98f93fdac5
Nicolas Geoffray [Thu, 25 Feb 2016 13:27:47 +0000 (13:27 +0000)]
Dump the number of OSR compiled code.
bug:
23128949
(cherry picked from commit
fcdd72941810f03460a8efca0c6255439be80c35)
Change-Id: I7f6c428511ee7fe346c665be8f02880bcc317cae
Nicolas Geoffray [Tue, 23 Feb 2016 13:56:43 +0000 (13:56 +0000)]
Introduce partial code cache collection.
It will collect code that is known unused (because it deoptimized),
and osr code.
bug:
26846185
(cherry picked from commit
8d37250f7b9a7839b11488f45a1842b025026f94)
Change-Id: Iffe87e356066a3f0bd28cb3df41c17bf2ac9ea0f
Nicolas Geoffray [Thu, 25 Feb 2016 16:17:54 +0000 (16:17 +0000)]
Cleanup polymorphic inlining to the same target.
- Don't do expensive lookups, just fetch the ArtMethods from the
imtable or vtable.
- Don't perform the optimization if we may end up in the conflicting
trampoline.
bug:
27398183
(cherry picked from commit
4f97a212b6ff801eb9f7f88a87f44e0584339cca)
Change-Id: Ia4007743ae00860f679f96f45eb14d26e6dc3fce
Nicolas Geoffray [Mon, 29 Feb 2016 11:46:58 +0000 (11:46 +0000)]
Bug fix for polymorphic inlining.
The code used to wrongly propagate try/catch information to
new blocks. Since it has the same logic as Hraph::InlineInto,
extract the code that updates loop and try/catch information
to blocks to a shared method.
bug:
27330865
bug:
27372101
bug:
27360329
(cherry picked from commit
a1d8ddfaf09545f99bc326dff97ab604d4574eb6)
Change-Id: Ice0373ec0a1c24d78121634a377f6f502e814cfb
Mathieu Chartier [Tue, 23 Feb 2016 03:32:16 +0000 (19:32 -0800)]
Improve immune spaces logic
We now properly include the largest continuous region with the most
image bytes. Oat bytes are considered as part of the region but are
not counted when comparing. This can result in more image bytes in
cases where large oat files were previously included for the immune
region.
Also added handling for adjacent oat files:
[image][image][oat][oat][space] will now properly be a single region.
Bug:
27136196
(cherry picked from commit
17b8bce064fe4c0b29117abe489b7f8c2c950d43)
Change-Id: Ic69489fef1ba72f735ee613d5416eeadc703c06e
Alex Light [Fri, 26 Feb 2016 23:41:30 +0000 (23:41 +0000)]
Merge "Support new JDWP InterfaceType.InvokeMethod command" into nyc-dev
Alex Light [Thu, 25 Feb 2016 00:35:59 +0000 (16:35 -0800)]
Support new JDWP InterfaceType.InvokeMethod command
This command is used to invoke static methods in interfaces.
(cherry picked from commit
4a28e1e4e02aa44aa6fd20e22d50f9d73f6279cc)
Bug:
27218415
Change-Id: Ie4dc1876a20567240267f309dc18f1aec2c1b4c2
Mathieu Chartier [Fri, 26 Feb 2016 21:07:19 +0000 (21:07 +0000)]
Merge "Add and use loaded class profiling" into nyc-dev
Andreas Gampe [Fri, 26 Feb 2016 20:58:51 +0000 (20:58 +0000)]
Merge "ART: Add unstarted-runtime functions" into nyc-dev
Mathieu Chartier [Thu, 10 Dec 2015 00:38:30 +0000 (16:38 -0800)]
Add and use loaded class profiling
Class profiling is a way to keep track of which classes are resolved.
From here the compiler can use this information to generate a smaller
app image.
TODO: Add tests for profile stuff.
Bug:
22858531
Change-Id: I91ccd686394cc2517512f66abb0e277f3d26d4da
Alex Light [Fri, 26 Feb 2016 00:13:54 +0000 (16:13 -0800)]
Add JNI tests for lambdas
(cherry picked from commit
e9d2ca237620b0af28eed9fef52b09bddebdbc6f)
Bug:
27259142
Change-Id: I2a1b31db85dc487c1e6a62609d4497c3a4d4d3a6
Dimitry Ivanov [Fri, 26 Feb 2016 18:03:54 +0000 (18:03 +0000)]
Merge "Simplify LoadNativeLibrary()" into nyc-dev
Nicolas Geoffray [Fri, 26 Feb 2016 10:02:05 +0000 (10:02 +0000)]
Merge "Revert "Preload public libraries on Runtime::Start()"" into nyc-dev
Sebastien Hertz [Thu, 25 Feb 2016 17:50:23 +0000 (18:50 +0100)]
Disable test 097-duplicate-method for investigation
Broekn by latest Jack release (1.2-a19)
Bug:
27358065
(cherry picked from commit
fc07555f6b8ce07b2c0897c6919597b53faa419d)
Change-Id: I13946fcd6cdf61645a4a60e619b343da8d9be341
Nicolas Geoffray [Fri, 26 Feb 2016 08:48:04 +0000 (08:48 +0000)]
Revert "Preload public libraries on Runtime::Start()"
Loading is done in app_process.
Bug: http://b/
27245894
This reverts commit
7bca74e53d3665bcd243d4e0277f6561c0c80271.
Change-Id: Ie2edbe88dea867fcd5cca109d279f1c19e4df6bb
Andreas Gampe [Mon, 22 Feb 2016 18:03:12 +0000 (10:03 -0800)]
ART: Add unstarted-runtime functions
Add more functions to allow compile-time initialization of
code.
Bug:
27248115
Change-Id: Iaf8d92deb73547ccd31c0d6dde68da3bc14c3985
Mathieu Chartier [Thu, 25 Feb 2016 21:52:10 +0000 (13:52 -0800)]
Add lz4hc image compression format
Smaller than lz4 and decompresses at the same speed. Compression is
a bit slower.
Example saves on old FB APK:
Uncompressed:
44748800 bytes
LZ4:
12443648 bytes
LZ4HC:
11055104 bytes
Generating the image slows down by ~1s per 20MB of image due to
slower compression. Decompression is about the same speed but there
should be a slight speedup since less data needs to be read from
flash.
Added test.
Bug:
22858531
(cherry picked from commit
a6e81ed4c185b7362cd5199ebe5507d00883a9b0)
Change-Id: Idd0bbe1ea45fc6ab75a42bfeb0ef250e8b3e2f1b
Mathieu Chartier [Thu, 25 Feb 2016 20:28:40 +0000 (12:28 -0800)]
Add a decompression scoped timing for image loading
Shows up in systrace.
Bug:
22858531
(cherry picked from commit
31317c319667cf1d7d0f61229ccb5e76f22606cf)
Change-Id: Id4997fb9abc28fa8c1dd1e78ff01234637b229d3
Dimitry Ivanov [Thu, 25 Feb 2016 00:39:57 +0000 (00:39 +0000)]
Merge "Preload public libraries on Runtime::Start()" into nyc-dev
Dimitry Ivanov [Mon, 22 Feb 2016 22:26:48 +0000 (14:26 -0800)]
Preload public libraries on Runtime::Start()
Preloading public libraries on Runtime::Start()
instead of doing it in native_loader c-tor
ensures that the libraries are loaded only for
binaries that are using Android Runtime, and not
just linking against libandroid_runtime or libart.
Loading public libraries on Runtime::Start()
also helps some apps to save startup time and space
by ensuring that all NDK libraries are loaded
and ready to use.
Bug: http://b/
27245894
Change-Id: I15679a72450f3d18a7dd503d0ae977cebcfd7f52
Dimitry Ivanov [Wed, 24 Feb 2016 21:33:33 +0000 (13:33 -0800)]
Simplify LoadNativeLibrary()
With ApplicationLoaders.getClassLoader() ensuring
linker-namespace initialization there is no longer
need for LoadNativeLibrary() and callers to pass
along namespace-specific information to art.
This change removes unnecessary parameters of such
calls.
Bug: http://b/
27189432
Bug: http://b/
22548808
Change-Id: I341d35a2d5195e634678b352f4361f8712984b69
Mathieu Chartier [Wed, 24 Feb 2016 18:09:23 +0000 (10:09 -0800)]
Add MapAnonymous handling for null error_str
We use MapAnonymous with null error_str for app image loading when
we want to fail quickly. Also avoid doing CheckNonOverlapping in
CheckMapRequest if error_msg is null. The result from
CheckNonOverlapping is unused and CheckNonOverlapping is slow since
it creates a backtrace map.
Bug:
22858531
Bug:
26746779
(cherry picked from commit
83723aedac536fd8a3cd6e1662dbd6260e576194)
Change-Id: I0ff03a778b36303aa1e256fe7238dece5b3bbfab
Calin Juravle [Tue, 23 Feb 2016 16:53:30 +0000 (16:53 +0000)]
Fix profman path for the gtest.
(cherry picked from commit
de4fb63be26cd561111cad4574cac5e0c2314d11)
Change-Id: If710aaf047b6f557abd0cebfe9169c58fcb248a6
Calin Juravle [Tue, 23 Feb 2016 12:00:03 +0000 (12:00 +0000)]
Revert "Revert "Add profman tool: responsible to process profiles""
This reverts commit
3da74687e42de7d33a8e75df9bd64374e650f75e.
(cherry picked from commit
2e2db786b8fbaa4dceb37603a4296b0b2aea4e9e)
Change-Id: I38086cc9de939bad33bcd13b1677e1626af61c29
Alex Light [Mon, 22 Feb 2016 21:43:29 +0000 (13:43 -0800)]
Make JNI work correctly with default methods.
Also adds some tests for JNI and DefaultMethods.
Bug:
27259142
Bug:
24618811
(cherry picked from commit
3612149aee482ab7a17da68b0ef5fef3879729a2)
Change-Id: I31222e3e41059d803be1dbb0f40e1144ac4bf457
Igor Murashkin [Sat, 20 Feb 2016 00:41:44 +0000 (16:41 -0800)]
image: Allow methods with code in another oat file to work correctly
This fixes an issue when classes with default methods are in the boot
image and are used by an app image.
Bug:
27315287
Change-Id: Iaa66848fc07a0c779bc6e047bd154e2a4b87e1c8
Nicolas Geoffray [Tue, 23 Feb 2016 13:52:01 +0000 (13:52 +0000)]
Don't allocate mspaces of less than a page.
Fixes jit tests in debug mode.
bug:
26846185
(cherry picked from commit
7ca4b77c98ffdf7a4db26fd9f84b2cfcc274c4aa)
Change-Id: I73d357ee47f532c3d7ae65ddacbd5c88170dfe1d
Nicolas Geoffray [Tue, 23 Feb 2016 11:12:17 +0000 (11:12 +0000)]
Merge remote-tracking branch 'goog/master' into nyc-dev
bug:
27173201
bug:
23128949
bug:
26846185
Change-Id: I7333734be71a83dc4808735ead80ae3a4dcd841d
Vladimir Marko [Tue, 23 Feb 2016 10:57:44 +0000 (10:57 +0000)]
Merge "Dex-wide ArenaPool scoping for AOT compilation" am:
e4c77b4d37
am:
c4199dff25
* commit '
c4199dff25d960878bde79bcc2ee676b080955c1':
Dex-wide ArenaPool scoping for AOT compilation
Nicolas Geoffray [Tue, 23 Feb 2016 10:57:27 +0000 (10:57 +0000)]
Merge "Add a new kReservedCapacity to decide when to start GC code." am:
08e992e41e
am:
075bf626e8
* commit '
075bf626e80a7ad6858d734cb88bcbe293caa33d':
Add a new kReservedCapacity to decide when to start GC code.
Vladimir Marko [Tue, 23 Feb 2016 10:54:41 +0000 (10:54 +0000)]
Merge "Dex-wide ArenaPool scoping for AOT compilation"
am:
e4c77b4d37
* commit '
e4c77b4d37024c1ed74e72494e69605942fead61':
Dex-wide ArenaPool scoping for AOT compilation
Nicolas Geoffray [Tue, 23 Feb 2016 10:54:32 +0000 (10:54 +0000)]
Merge "Add a new kReservedCapacity to decide when to start GC code."
am:
08e992e41e
* commit '
08e992e41e5e234ecc6b38a4ab53d4876fd077b6':
Add a new kReservedCapacity to decide when to start GC code.
Vladimir Marko [Tue, 23 Feb 2016 10:52:23 +0000 (10:52 +0000)]
Merge "Dex-wide ArenaPool scoping for AOT compilation"
Nicolas Geoffray [Tue, 23 Feb 2016 10:52:11 +0000 (10:52 +0000)]
Merge "Add a new kReservedCapacity to decide when to start GC code."
Calin Juravle [Tue, 23 Feb 2016 10:45:40 +0000 (10:45 +0000)]
Merge "Fix static dex2oat build" am:
4764d4e253
am:
f006a4bc9d
* commit '
f006a4bc9d112af0f90bf09d194da2bf681af806':
Fix static dex2oat build
Calin Juravle [Tue, 23 Feb 2016 10:42:41 +0000 (10:42 +0000)]
Merge "Fix static dex2oat build"
am:
4764d4e253
* commit '
4764d4e253aaea1595bbe1f5aaa8677ea9319b79':
Fix static dex2oat build
Calin Juravle [Tue, 23 Feb 2016 10:41:25 +0000 (10:41 +0000)]
Merge "Fix static dex2oat build"
Sebastien Hertz [Tue, 23 Feb 2016 08:51:55 +0000 (08:51 +0000)]
Merge "Build jdwp tests with Jack in vogar" into nyc-dev
am:
b7555a478a
* commit '
b7555a478a1d2b16ad2093c8499449bfd3bf9bc8':
Build jdwp tests with Jack in vogar
Sebastien Hertz [Tue, 23 Feb 2016 08:49:07 +0000 (08:49 +0000)]
Merge "Build jdwp tests with Jack in vogar" into nyc-dev
Delphine Martin [Tue, 23 Feb 2016 08:43:09 +0000 (08:43 +0000)]
Merge "Revert "Force Jack to consider multidex annotations"" am:
920e1230d6
am:
16d7cbbd42
* commit '
16d7cbbd42c6690592b4dda7823f2693b7829dba':
Revert "Force Jack to consider multidex annotations"
Delphine Martin [Tue, 23 Feb 2016 08:32:52 +0000 (08:32 +0000)]
Merge "Revert "Force Jack to consider multidex annotations""
am:
920e1230d6
* commit '
920e1230d617ec1194dc22cab3ec9d704e1b30dc':
Revert "Force Jack to consider multidex annotations"
Sebastien Hertz [Wed, 17 Feb 2016 16:05:52 +0000 (17:05 +0100)]
Build jdwp tests with Jack in vogar
These tests are compiled with Jack in the CTS so we do the same
with vogar now.
Bug:
27218415
(cherry picked from commit
6705dabdb9a882cc7829abed41e0bb3196fc829c)
Change-Id: Idccaef9e2ee2434f6ad2568286504063b0fe5268
Delphine Martin [Tue, 23 Feb 2016 08:19:30 +0000 (08:19 +0000)]
Merge "Revert "Force Jack to consider multidex annotations""
Mathieu Chartier [Tue, 23 Feb 2016 01:37:46 +0000 (01:37 +0000)]
Merge "Add regression test for alloc stack trace and unloading" am:
6a5c5b8f17
am:
d1060f4d5b
* commit '
d1060f4d5b4e104260777f145f1083ee747a5957':
Add regression test for alloc stack trace and unloading
Mathieu Chartier [Tue, 23 Feb 2016 01:32:53 +0000 (01:32 +0000)]
Add regression test for alloc stack trace and unloading
am:
dcfb382456
* commit '
dcfb3824562a5d75c8080686211584b1b40002b5':
Add regression test for alloc stack trace and unloading
Mathieu Chartier [Tue, 23 Feb 2016 01:30:53 +0000 (01:30 +0000)]
Merge "Add regression test for alloc stack trace and unloading"
am:
6a5c5b8f17
* commit '
6a5c5b8f1738404bebc5f880e6cc0967cbb687e1':
Add regression test for alloc stack trace and unloading
Mathieu Chartier [Tue, 23 Feb 2016 00:56:54 +0000 (16:56 -0800)]
Add regression test for alloc stack trace and unloading
Test creates allocations in a different loader, then unloads it.
This would free the ArtMethod except that we now visit them as
roots.
Bug:
26849503
(cherry picked from commit
8a7ef10d10ac1509b79d315fe865bd3c4731262b)
Change-Id: If63e26b49380e7b99244ee25e70e729a1736344a
Mathieu Chartier [Tue, 23 Feb 2016 01:21:13 +0000 (01:21 +0000)]
Merge "Add regression test for alloc stack trace and unloading"
Mathieu Chartier [Tue, 23 Feb 2016 00:56:54 +0000 (16:56 -0800)]
Add regression test for alloc stack trace and unloading
Test creates allocations in a different loader, then unloads it.
This would free the ArtMethod except that we now visit them as
roots.
Bug:
26849503
Change-Id: Ied9f5942ff9022b1cd39052363f119a630ffbaef
Mathieu Chartier [Tue, 23 Feb 2016 00:41:09 +0000 (00:41 +0000)]
Merge "Visit stack trace roots" am:
5039728b6c
am:
9e75d48fb0
* commit '
9e75d48fb0563adffa72a0d54146e6343366fd07':
Visit stack trace roots
Mathieu Chartier [Tue, 23 Feb 2016 00:34:22 +0000 (00:34 +0000)]
Visit stack trace roots
am:
ac5fb70796
* commit '
ac5fb70796f7fbf210e664992b052c05438939eb':
Visit stack trace roots
Mathieu Chartier [Tue, 23 Feb 2016 00:26:51 +0000 (00:26 +0000)]
Merge "Visit stack trace roots"
am:
5039728b6c
* commit '
5039728b6ce61e70bfca5d35889ecbd4150a5af9':
Visit stack trace roots
Mathieu Chartier [Mon, 22 Feb 2016 22:49:04 +0000 (14:49 -0800)]
Visit stack trace roots
We need to visit the declaring classes of all the methods in the
allocation stack traces to prevent class unloading for these
methods. If the class gets unloaded, it will free the linear alloc
resulting in hprof crashing during dumping.
Also a bit of clean up.
Bug:
26849503
(cherry picked from commit
a7deef9260bd53dfd6b51ace02b4e6200078d5ea)
Change-Id: If7df7259d0e5044dbcf35f5b4e86f6cf2e583adb
Mathieu Chartier [Tue, 23 Feb 2016 00:18:30 +0000 (00:18 +0000)]
Merge "Visit stack trace roots"
Mathieu Chartier [Mon, 22 Feb 2016 22:49:04 +0000 (14:49 -0800)]
Visit stack trace roots
We need to visit the declaring classes of all the methods in the
allocation stack traces to prevent class unloading for these
methods. If the class gets unloaded, it will free the linear alloc
resulting in hprof crashing during dumping.
Also a bit of clean up.
Bug:
26849503
Change-Id: I5cc57436294e4399388cb497819148b8a3b973d9
Nicolas Geoffray [Mon, 22 Feb 2016 22:51:49 +0000 (22:51 +0000)]
Merge "Revert "Add profman tool: responsible to process profiles"" am:
a5502e31cb
am:
12986557d2
* commit '
12986557d2776f62eeff6d7c2523b233f18bf2a2':
Revert "Add profman tool: responsible to process profiles"
Hiroshi Yamauchi [Mon, 22 Feb 2016 22:46:33 +0000 (22:46 +0000)]
Merge "Fix class_linker_test for valgrind." am:
4a582f864c
am:
e8693f0624
* commit '
e8693f06247dd769eaad614c5573163f1b890b2f':
Fix class_linker_test for valgrind.
Hiroshi Yamauchi [Mon, 22 Feb 2016 22:46:25 +0000 (22:46 +0000)]
Merge "Fix CC collector thread flip and JNI critical section deadlocks." am:
8852d809b2
am:
c8bdb4597e
* commit '
c8bdb4597eeab5b33e2382e0399e74de919f78f1':
Fix CC collector thread flip and JNI critical section deadlocks.