OSDN Git Service
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 [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 [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.
Andreas Gampe [Mon, 22 Feb 2016 22:46:16 +0000 (22:46 +0000)]
Merge "ART: Add Class.getEnclosingClass() to UnstartedRuntime" am:
eacf4cbb21
am:
1024d3e274
* commit '
1024d3e2747d1efc54b5ff502411fca3d4efd0fd':
ART: Add Class.getEnclosingClass() to UnstartedRuntime
Bill Buzbee [Mon, 22 Feb 2016 22:46:07 +0000 (22:46 +0000)]
Merge "ART: Enable JitProfiling for Arm Mterp" am:
e33d20e321
am:
e0c79bead6
* commit '
e0c79bead65d3955adf5ebf2b121ce95c4225401':
ART: Enable JitProfiling for Arm Mterp
Vladimir Marko [Mon, 22 Feb 2016 22:45:55 +0000 (22:45 +0000)]
Merge "Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>()." am:
8fda759172
am:
5d82869763
* commit '
5d82869763ae3238781a0746c6c653e5b1cd4f9a':
Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>().
Nicolas Geoffray [Mon, 22 Feb 2016 22:45:20 +0000 (22:45 +0000)]
Merge "Revert "Add profman tool: responsible to process profiles""
am:
a5502e31cb
* commit '
a5502e31cb558c6e257d1dd1889c073a793e3d9d':
Revert "Add profman tool: responsible to process profiles"
Nicolas Geoffray [Mon, 22 Feb 2016 22:38:27 +0000 (22:38 +0000)]
Merge "Revert "Add profman tool: responsible to process profiles""
Nicolas Geoffray [Mon, 22 Feb 2016 22:37:52 +0000 (22:37 +0000)]
Revert "Add profman tool: responsible to process profiles"
Needs a profile_assistant_test fix.
Bug:
26719109
Bug:
26563023
This reverts commit
6caefd983a800a063b219f1d3ed71b1416cecd70.
Change-Id: Ibdeb7385737dd7846ed861e0a95f083abb9aa974
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:52:27 +0000 (21:52 +0000)]
Merge "Fix class_linker_test for valgrind."
am:
4a582f864c
* commit '
4a582f864c10fce33fe9ba632aefc5e656280bc2':
Fix class_linker_test for valgrind.
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:45:16 +0000 (21:45 +0000)]
Merge "Fix class_linker_test for valgrind."
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:44:53 +0000 (21:44 +0000)]
Merge "Fix CC collector thread flip and JNI critical section deadlocks."
am:
8852d809b2
* commit '
8852d809b21b37a0e97ea3514ff9f13b2ec8dcb3':
Fix CC collector thread flip and JNI critical section deadlocks.
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:30:35 +0000 (13:30 -0800)]
Fix class_linker_test for valgrind.
Fix a memory leak.
Bug:
27156726
Change-Id: I4d9a2dc9cff447b6f2fd02432e018ae49766563a
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:41:06 +0000 (21:41 +0000)]
Merge "Fix CC collector thread flip and JNI critical section deadlocks."
Andreas Gampe [Mon, 22 Feb 2016 20:52:18 +0000 (20:52 +0000)]
Merge "ART: Add Class.getEnclosingClass() to UnstartedRuntime"
am:
eacf4cbb21
* commit '
eacf4cbb21ec35f5261779e60be8981d2e85e493':
ART: Add Class.getEnclosingClass() to UnstartedRuntime
Andreas Gampe [Mon, 22 Feb 2016 20:50:35 +0000 (20:50 +0000)]
Merge "ART: Add Class.getEnclosingClass() to UnstartedRuntime"
Andreas Gampe [Mon, 22 Feb 2016 20:06:41 +0000 (20:06 +0000)]
Merge "ART: Add Class.getEnclosingClass() to UnstartedRuntime" into nyc-dev
am:
f7e0d1afc0
* commit '
f7e0d1afc0f80bf867834c7e46cc7c7af4eb719d':
ART: Add Class.getEnclosingClass() to UnstartedRuntime
Bill Buzbee [Mon, 22 Feb 2016 19:41:44 +0000 (19:41 +0000)]
Merge "ART: Enable JitProfiling for Arm Mterp"
am:
e33d20e321
* commit '
e33d20e321b630bcab83f6dfbfac2788d8145148':
ART: Enable JitProfiling for Arm Mterp
Hiroshi Yamauchi [Fri, 19 Feb 2016 23:44:06 +0000 (15:44 -0800)]
Fix CC collector thread flip and JNI critical section deadlocks.
There's a bug in the synchronization between the CC collector's thread
flip and JNI critical sections where it incorrectly attempts to make
the synchronization scheme to be writer (GC) preference to avoid
starvation of GC in the presence of frequent JNI critical section
enter/exit. This could cause a deadlock between them if a thread
enters a nested JNI critical section after a thread flip occurs. This
is reproduced in the added test.
The fix is to use a thread local disable counter in addition to the
global counter to detect a nested enter by the same thread and avoid
waiting if nested.
Bug:
19235243
Bug:
12687968
Change-Id: Idf7720a6906c9ea508219935af3727f76680d2d8
Andreas Gampe [Fri, 19 Feb 2016 18:49:50 +0000 (10:49 -0800)]
ART: Add Class.getEnclosingClass() to UnstartedRuntime
Required to initialize classes calling getSimpleName().
Bug:
27265238
(cherry picked from commit
fb5c22e28030cc9ba8424b7f6f70677ec3ba3afc)
Change-Id: Id63dac5b75b3bbcdfe80f73f2d9d76dea3996823
Andreas Gampe [Mon, 22 Feb 2016 19:32:18 +0000 (19:32 +0000)]
Merge "ART: Add Class.getEnclosingClass() to UnstartedRuntime" into nyc-dev
Bill Buzbee [Mon, 22 Feb 2016 19:14:13 +0000 (19:14 +0000)]
Merge "ART: Enable JitProfiling for Arm Mterp"
Vladimir Marko [Mon, 22 Feb 2016 18:41:47 +0000 (18:41 +0000)]
Merge "Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>()."
am:
8fda759172
* commit '
8fda7591726fa274ccb126f216356ef9fd39e035':
Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>().
Vladimir Marko [Mon, 22 Feb 2016 18:37:47 +0000 (18:37 +0000)]
Merge "Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>()."
Calin Juravle [Mon, 22 Feb 2016 18:20:49 +0000 (18:20 +0000)]
Fix static dex2oat build
Change-Id: I1a5fb726fa72d9ccd083f90a818e245f075fc89c
Vladimir Marko [Mon, 22 Feb 2016 16:54:39 +0000 (16:54 +0000)]
Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>().
Change-Id: Ie8bfb1861a384d0906f2aff9e8a94be0925c65b6
Hans Boehm [Mon, 22 Feb 2016 16:06:12 +0000 (16:06 +0000)]
Merge "Add Math.round tests for large integers." am:
827e2128fa
am:
2ad71dd6ca
* commit '
2ad71dd6ca7f5a833d382b84e23163d25ed9015f':
Add Math.round tests for large integers.
Hans Boehm [Mon, 22 Feb 2016 16:00:13 +0000 (16:00 +0000)]
Merge "Add Math.round tests for large integers."
am:
827e2128fa
* commit '
827e2128fa65e1256abe40c0841fc1d1494583e7':
Add Math.round tests for large integers.
Sebastien Hertz [Mon, 22 Feb 2016 15:54:33 +0000 (15:54 +0000)]
Merge "Revert "Workaround JDWP failures"" am:
506cf19829
am:
45c8b19ebd
* commit '
45c8b19ebda04b89f3141a6a1de6a2aac88c1058':
Revert "Workaround JDWP failures"
Hans Boehm [Mon, 22 Feb 2016 15:52:53 +0000 (15:52 +0000)]
Merge "Add Math.round tests for large integers."
Sebastien Hertz [Mon, 22 Feb 2016 15:48:24 +0000 (15:48 +0000)]
Merge "Revert "Workaround JDWP failures""
am:
506cf19829
* commit '
506cf19829ba61e9ad6e34e2c811cff097c2a6b5':
Revert "Workaround JDWP failures"
Sebastien Hertz [Mon, 22 Feb 2016 15:43:30 +0000 (15:43 +0000)]
Merge "Revert "Workaround JDWP failures""
Calin Juravle [Mon, 22 Feb 2016 15:18:20 +0000 (15:18 +0000)]
Merge "Add profman tool: responsible to process profiles" am:
b7f9aa85a3
am:
d808ed149c
* commit '
d808ed149c09a7a6ac23e97060b234f90c97e92e':
Add profman tool: responsible to process profiles
Delphine Martin [Mon, 22 Feb 2016 15:16:25 +0000 (15:16 +0000)]
Revert "Force Jack to consider multidex annotations"
This reverts commit
8cc049c2354af3964d2c15223a9c8d4f57a6691b.
The bug that necessitated that workaround was fixed.
Bug:
26441710
Change-Id: Idf238e497052cb983fd56f50a36f0f7998240fa8
Calin Juravle [Mon, 22 Feb 2016 15:12:04 +0000 (15:12 +0000)]
Merge "Add profman tool: responsible to process profiles"
am:
b7f9aa85a3
* commit '
b7f9aa85a3e138440f392a9f0921fcaff8761d20':
Add profman tool: responsible to process profiles
Calin Juravle [Mon, 22 Feb 2016 15:05:03 +0000 (15:05 +0000)]
Merge "Add profman tool: responsible to process profiles"
Narayan Kamath [Mon, 22 Feb 2016 14:02:13 +0000 (14:02 +0000)]
Calin Juravle [Mon, 1 Feb 2016 12:06:18 +0000 (12:06 +0000)]
Add profman tool: responsible to process profiles
This pulls out profile parsing from dex2oat into a separate tool.
Some additional refactoring:
- better return codes
- dex2oat now accepts only one profile file
This is the first step towards support secondary dex files and
extracting profiles out of the code_cache directory.
Bug:
26719109
Bug:
26563023
(cherry picked from commit
d81c289e58f4ced8ec7674fd377c356669f97227)
Change-Id: I34d408faa318e866e1a23d4d04c369131ee5012b
Narayan Kamath [Mon, 22 Feb 2016 13:53:41 +0000 (13:53 +0000)]
Narayan Kamath [Mon, 22 Feb 2016 13:50:02 +0000 (13:50 +0000)]
Narayan Kamath [Mon, 22 Feb 2016 13:34:07 +0000 (13:34 +0000)]
Track libcore change
b5d045f7e4023c0ba9a42fb95efad4c30dfc085f
Change-Id: I40bfd7f85c3972cb21c1ddde07ae9b5727df8909
Nicolas Geoffray [Mon, 22 Feb 2016 13:14:04 +0000 (13:14 +0000)]
Add a new kReservedCapacity to decide when to start GC code.
Change-Id: Ib9d0ad9bc86c66ac29975f7f907f79f842342500
Calin Juravle [Mon, 22 Feb 2016 11:49:24 +0000 (11:49 +0000)]
Merge "Add profman tool: responsible to process profiles" into nyc-dev
am:
6b37c7f9c0
* commit '
6b37c7f9c09ace1c121a16a95070a19043a4d439':
Add profman tool: responsible to process profiles
Calin Juravle [Mon, 22 Feb 2016 11:41:59 +0000 (11:41 +0000)]
Merge "Add profman tool: responsible to process profiles" into nyc-dev