OSDN Git Service
Andreas Gampe [Wed, 20 Apr 2016 17:15:12 +0000 (17:15 +0000)]
Merge changes I0360a078,I3e267519 into nyc-dev
am:
ccfc77e
* commit '
ccfc77e63b0bdc288f217d3b5e2657e911fa350b':
ART: Add Math cutouts
ART: Add some reflection cutouts
Change-Id: I6e2d75b4b7a9192079420a7f61c7220b3c4f40c9
Andreas Gampe [Wed, 20 Apr 2016 17:09:24 +0000 (17:09 +0000)]
Merge changes I0360a078,I3e267519 into nyc-dev
* changes:
ART: Add Math cutouts
ART: Add some reflection cutouts
Aart Bik [Wed, 20 Apr 2016 16:38:54 +0000 (16:38 +0000)]
Merge "Avoid constructing types with errors." into nyc-dev
am:
709fb64
* commit '
709fb64646823e55b1c687eb0efa822f7d9563d7':
Avoid constructing types with errors.
Change-Id: I2f0bc659991bc9cfcddf1e4442714a4505e24aba
Aart Bik [Wed, 20 Apr 2016 16:29:45 +0000 (16:29 +0000)]
Merge "Avoid constructing types with errors." into nyc-dev
Vladimir Marko [Wed, 20 Apr 2016 16:23:37 +0000 (16:23 +0000)]
Merge changes Iddd42d75,Ifb2d7b35 into nyc-dev
am:
9e95b36
* commit '
9e95b3697ebae72173804cc867557fa20caf7ef3':
Reuse HUseListNode<>s when replacing instruction or input.
Use iterators "before" the use node in HUserRecord<>.
Change-Id: I0b75ea4892646fdf5c8f0889d2e3d2ab92befc81
Vladimir Marko [Wed, 20 Apr 2016 16:17:49 +0000 (16:17 +0000)]
Merge changes Iddd42d75,Ifb2d7b35 into nyc-dev
* changes:
Reuse HUseListNode<>s when replacing instruction or input.
Use iterators "before" the use node in HUserRecord<>.
Vladimir Marko [Tue, 19 Apr 2016 13:36:35 +0000 (14:36 +0100)]
Reuse HUseListNode<>s when replacing instruction or input.
Compiling the Nexus 5 boot image with the 64-bit dex2oat
on host this CL reduces the memory used for compiling the
most hungry method, BatteryStats.dumpLocked(), by ~5.6MiB:
Before:
MEM: used:
44393040, allocated:
45361248, lost: 968208
Number of arenas allocated: 319,
Number of allocations: 815492, avg size: 54
...
UseListNode
10308480
...
After:
MEM: used:
38554536, allocated:
39463008, lost: 908472
Number of arenas allocated: 274,
Number of allocations: 572221, avg size: 67
...
UseListNode
4469976
...
With 32-bit dex2oat, the UseListNode would be 2/3 of the
values for 64-bit dex2oat (both before and after).
Bug:
28173563
Bug:
27856014
(cherry picked from commit
3c19d3e029a9fcc123d2c6fd1e5e13867d2cfe1f)
Change-Id: Iddd42d7545e4f97a13da63590b33711a5bbdd43b
Vladimir Marko [Tue, 29 Mar 2016 11:21:58 +0000 (12:21 +0100)]
Use iterators "before" the use node in HUserRecord<>.
Create a new template class IntrusiveForwardList<> that
mimicks std::forward_list<> except that all allocations
are handled externally. This is essentially the same as
boost::intrusive::slist<> but since we're not using Boost
we have to reinvent the wheel.
Use the new container to replace the HUseList and use the
iterators to "before" use nodes in HUserRecord<> to avoid
the extra pointer to the previous node which was used
exclusively for removing nodes from the list. This reduces
the size of the HUseListNode by 25%, 32B to 24B in 64-bit
compiler, 16B to 12B in 32-bit compiler. This translates
directly to overall memory savings for the 64-bit compiler
but due to rounding up of the arena allocations to 8B, we
do not get any improvement in the 32-bit compiler.
Compiling the Nexus 5 boot image with the 64-bit dex2oat
on host this CL reduces the memory used for compiling the
most hungry method, BatteryStats.dumpLocked(), by ~3.3MiB:
Before:
MEM: used:
47829200, allocated:
48769120, lost: 939920
Number of arenas allocated: 345,
Number of allocations: 815492, avg size: 58
...
UseListNode
13744640
...
After:
MEM: used:
44393040, allocated:
45361248, lost: 968208
Number of arenas allocated: 319,
Number of allocations: 815492, avg size: 54
...
UseListNode
10308480
...
Note that while we do not ship the 64-bit dex2oat to the
device, the JIT compilation for 64-bit processes is using
the 64-bit libart-compiler.
Bug:
28173563
Bug:
27856014
(cherry picked from commit
46817b876ab00d6b78905b80ed12b4344c522b6c)
Change-Id: Ifb2d7b357064b003244e92c0d601d81a05e56a7b
Calin Juravle [Wed, 20 Apr 2016 14:44:45 +0000 (14:44 +0000)]
Merge "ProfileSaver: query profiling_infos instead of the code_map" into nyc-dev
am:
181a2d3
* commit '
181a2d3a9ad4a8ed1a89333a006c0e8898c453dc':
ProfileSaver: query profiling_infos instead of the code_map
Change-Id: I79d56b55b7b8dc8712df3ec1f84dd7af398aa9c3
TreeHugger Robot [Wed, 20 Apr 2016 14:40:26 +0000 (14:40 +0000)]
Merge "ProfileSaver: query profiling_infos instead of the code_map" into nyc-dev
Calin Juravle [Tue, 19 Apr 2016 15:33:46 +0000 (16:33 +0100)]
ProfileSaver: query profiling_infos instead of the code_map
This is the first step in being able to record profiles without jit
being active.
Bug:
27916886
Change-Id: I2fcbd03560e109e6866ad6d82c79b902a889e620
Vladimir Marko [Wed, 20 Apr 2016 09:13:57 +0000 (09:13 +0000)]
Merge changes I5044e94b,I149273b7 into nyc-dev
am:
c88af3f
* commit '
c88af3f53e3fced0559f770a9da645701fec9609':
Fix 570-checker-osr test for non-debuggable mode.
Fix inlining loops in OSR mode.
Change-Id: I51bfc2df556cfe3a7cff0b1a8209501e0a9f7bb0
Vladimir Marko [Wed, 20 Apr 2016 09:07:45 +0000 (09:07 +0000)]
Merge changes I5044e94b,I149273b7 into nyc-dev
* changes:
Fix 570-checker-osr test for non-debuggable mode.
Fix inlining loops in OSR mode.
Andreas Gampe [Wed, 20 Apr 2016 04:00:13 +0000 (04:00 +0000)]
Merge "ART: Fast-fail empty other handlers in fault handling" into nyc-dev
am:
e8f8ad3
* commit '
e8f8ad3727d19cf1ff47c402c16c4a3db77f8633':
ART: Fast-fail empty other handlers in fault handling
Change-Id: I6848614aed3d0bd463ca11bb129fe8dc9ae4c72f
Andreas Gampe [Wed, 20 Apr 2016 03:53:51 +0000 (03:53 +0000)]
Merge "ART: Fast-fail empty other handlers in fault handling" into nyc-dev
Aart Bik [Wed, 6 Apr 2016 18:22:12 +0000 (11:22 -0700)]
Avoid constructing types with errors.
BUG=
27626735
Rationale:
Do not construct classes with a link error. Without this,
the error type thought it was Object (mirror's method
IsObjectClass() returns true if there is no superclass).
(cherry picked from commit
8b3f9b246d5bdbf67faeb2b872b75b8d72777bc0)
(also contains follow-up commit
31244b4cde9156632a08103a8bf1cbff4cbae3cc)
Change-Id: I4443779dda47c320115975c1c71b22e118bd8252
Mathieu Chartier [Tue, 19 Apr 2016 22:02:58 +0000 (22:02 +0000)]
Do less work holding thread list lock
am:
dee19e3
* commit '
dee19e3caaeb5666055842d656dc0516b901f30c':
Do less work holding thread list lock
Change-Id: Ic2d9c5dade6d283386e378de4a71dc9d31f9ba98
Mathieu Chartier [Tue, 19 Apr 2016 20:46:03 +0000 (13:46 -0700)]
Do less work holding thread list lock
Avoid doing stuff that requires access java heap like PrettyMethod.
Fixes lock violation.
Bug:
28268478
Change-Id: Ie090879690df7a6db15a9c8b7e82f3809450d653
Vladimir Marko [Tue, 19 Apr 2016 16:26:54 +0000 (17:26 +0100)]
Fix 570-checker-osr test for non-debuggable mode.
For non-debuggable mode, we need to create profiling info.
Bug:
28210356
(cherry picked from commit
b9d338b96c804a077dc2ed60b36b7ab64dc2c78c)
Change-Id: I5044e94bf78bd982007c8e7a3a9e5ee56f861e9c
Calin Juravle [Tue, 19 Apr 2016 17:34:04 +0000 (17:34 +0000)]
Fix comparison in profile saver
am:
d19dc46
* commit '
d19dc4688b5b93f149d45435deb0a67217464e37':
Fix comparison in profile saver
Change-Id: I1e2dc5ce69cc5995f1507c3e652c4a6d0783a985
Calin Juravle [Tue, 19 Apr 2016 17:17:41 +0000 (18:17 +0100)]
Fix comparison in profile saver
Bug:
27893309
Change-Id: I076a20413cffc69ca9e562fb4fc75615fead7690
Calin Juravle [Tue, 19 Apr 2016 17:08:52 +0000 (17:08 +0000)]
Merge "Fix tracking foreign dex files" into nyc-dev
am:
5546062
* commit '
554606225a5d573f3a69648290c1a79fc3d5f196':
Fix tracking foreign dex files
Change-Id: I263e69980e30947156b6a2779df49579c692f838
Calin Juravle [Tue, 19 Apr 2016 17:03:28 +0000 (17:03 +0000)]
Merge "Fix tracking foreign dex files" into nyc-dev
Calin Juravle [Tue, 19 Apr 2016 17:02:13 +0000 (17:02 +0000)]
Merge "Skip profiling if the dex file is fully compiled" into nyc-dev
am:
c4b8e11
* commit '
c4b8e11a652ed9281b8068315526e0a4aae31f64':
Skip profiling if the dex file is fully compiled
Change-Id: I425528b4b04f7615832334a4f489343d5fbf93eb
TreeHugger Robot [Tue, 19 Apr 2016 16:56:18 +0000 (16:56 +0000)]
Merge "Skip profiling if the dex file is fully compiled" into nyc-dev
Andreas Gampe [Tue, 19 Apr 2016 16:55:58 +0000 (16:55 +0000)]
Merge "ART: Remove Security initialization cutout" into nyc-dev
am:
46f7d32
* commit '
46f7d32bde9787e0e515b301ca74a51f99953a15':
ART: Remove Security initialization cutout
Change-Id: Ie45c01d901b4f53c4138820c536d9651856a358d
Andreas Gampe [Tue, 19 Apr 2016 16:49:03 +0000 (16:49 +0000)]
Merge "ART: Remove Security initialization cutout" into nyc-dev
Richard Uhler [Tue, 19 Apr 2016 16:34:15 +0000 (16:34 +0000)]
Merge changes Ia55ae13e,Ib3e2e6d2 into nyc-dev
am:
0fca5f7
* commit '
0fca5f75f56f59d68fc6d3a891302efbebd621da':
Disable stripped-dex test for no-dex2oat.
Disable stripped-dex test on target.
Change-Id: I82e0183b451dae790a81ee1c200efd777928b082
Richard Uhler [Tue, 19 Apr 2016 16:24:12 +0000 (16:24 +0000)]
Merge changes Ia55ae13e,Ib3e2e6d2 into nyc-dev
* changes:
Disable stripped-dex test for no-dex2oat.
Disable stripped-dex test on target.
Vladimir Marko [Tue, 19 Apr 2016 15:53:51 +0000 (15:53 +0000)]
Merge "Use dex cache from compilation unit in HInstructionBuilder." into nyc-dev
am:
8b336cd
* commit '
8b336cd546267dcb5b46991ce0d1227549eadda8':
Use dex cache from compilation unit in HInstructionBuilder.
Change-Id: I1578e2ac28a9b92bbeb0da52e4629949fb592c81
David Brazdil [Tue, 19 Apr 2016 15:50:50 +0000 (15:50 +0000)]
ART: Fix IsLinearOrderWellFormed in liveness analysis
am:
14b0b23
* commit '
14b0b23a2f8b1c18274f945f82c6f30a27c0daaa':
ART: Fix IsLinearOrderWellFormed in liveness analysis
Change-Id: I99458c9bb19bf5a7cf40aeb9b1d560c51b6b68eb
TreeHugger Robot [Tue, 19 Apr 2016 15:50:39 +0000 (15:50 +0000)]
Merge "Use dex cache from compilation unit in HInstructionBuilder." into nyc-dev
Andreas Gampe [Tue, 19 Apr 2016 00:15:42 +0000 (17:15 -0700)]
ART: Fast-fail empty other handlers in fault handling
Don't try to set up the nested handler environment if there are
no other handlers installed.
Stop-gap for the current setup without other handlers. There are
a myriad more issues before we can safely re-enable other handlers.
Bug:
28245957
(cherry picked from commit
d14b73d9d9027539c1dfeff93f784a58c93f4e32)
Change-Id: I526aef82aa1ca2b6c4b1959858fe76231bc067d9
David Brazdil [Tue, 19 Apr 2016 09:10:17 +0000 (10:10 +0100)]
ART: Fix IsLinearOrderWellFormed in liveness analysis
Graph may contain nullptr in list of basic blocks when
the basic block is removed. So we must handle nullptr explicitly.
Bug:
28252537
Bug:
27615840
Bug:
27624868
Change-Id: If430939b8fe793e4a9c974936180d06c1a9f90c6
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
(cherry picked from commit
fa3091ef031da6c18478fdede12d7762634ee271)
Calin Juravle [Mon, 18 Apr 2016 17:59:22 +0000 (18:59 +0100)]
Fix tracking foreign dex files
Apps which share the same VM will have different application data
directories. We used to store only the first one registered and miss
subsequent registrations.
Bug:
28012567
Change-Id: I27c2aa2efa938b072be7c73bb778db82f80fcf1e
Calin Juravle [Mon, 18 Apr 2016 15:38:27 +0000 (16:38 +0100)]
Skip profiling if the dex file is fully compiled
The OatFile does not store the original dex location that was used to
compile the file. So in order to get the oat file for a given code path
we need to iterate over the inner oat dex files and check against them.
Also, we used to pass the unfiltered code_paths set to the saver which
would make the filtering useless. This fixes the parameter passing as
well.
Bug:
27893309
Change-Id: Ia95d61a82a9e74769ebf3329bb1f9c714bcff27f
Vladimir Marko [Wed, 13 Apr 2016 18:29:26 +0000 (19:29 +0100)]
Use dex cache from compilation unit in HInstructionBuilder.
Avoid calling costly ClassLinker::FindDexCache() from
HInstructionBuilder, the dex cache is already available in
the compilation unit. Compiling Nexus 5 boot image on host
under perf(1) shows that the time spent in FindDexCache()
is reduced from about 2% to well under 0.2%, 90% of the
remaining hits coming from ReferenceTypePropagation which
doesn't have access to the compilation unit.
Bug:
28173563
(cherry picked from commit
3cd50df11b3076b801954018236c366fd9b97948)
Change-Id: Ife0dba2dd8f49bd52f86ddadf06ee787bad03d66
Vladimir Marko [Mon, 18 Apr 2016 14:37:01 +0000 (15:37 +0100)]
Fix inlining loops in OSR mode.
When compiling a method in OSR mode and the method does not
contain a loop (arguably, a very odd case) but we inline
another method with a loop and then the final DCE re-runs
the loop identification, the inlined loop would previously
be marked as irreducible. However, the SSA liveness analysis
expects irreducible loop to have extra loop Phis which were
already eliminated from the loop before the inner graph was
inlined to the outer graph, so we would fail a DCHECK().
We fix this by not marking inlined loops as irreducible when
compiling in OSR mode.
Bug:
28210356
(cherry picked from commit
fd66c50d64c38e40bafde83b4872e27bbff7546d)
Change-Id: I149273b766d1c713c571baad6033c5f70e6dd960
Andreas Gampe [Tue, 19 Apr 2016 03:51:13 +0000 (20:51 -0700)]
ART: Add Math cutouts
Add sin, cos and pow to unstarted runtime. Add tests for some
very specific values that are seen.
Allows to compile-time initialize:
* android.graphics.drawable.RippleForeground
* android.widget.EdgeEffect
Bug:
27265238
Change-Id: I0360a078e7dc9d2a176ec1cf2d8dbb242da1c83e
Andreas Gampe [Tue, 19 Apr 2016 00:07:30 +0000 (17:07 -0700)]
ART: Add some reflection cutouts
Add Class.getInnerClassFlags and Method.invoke to unstarted runtime.
Allows to compile-time initialize:
* android.net.NetworkInfo
* android.net.wifi.WifiInfo
Bug:
27265238
Change-Id: I3e267519acf14b08c687f1e831e2027d37158767
Andreas Gampe [Tue, 19 Apr 2016 00:15:37 +0000 (00:15 +0000)]
Merge "ART: Add cutout for Character.toLower/UpperCase" into nyc-dev
am:
78d7c88
* commit '
78d7c8826d5cca583202085dfde382fb6fcc1629':
ART: Add cutout for Character.toLower/UpperCase
Change-Id: If237b93c82eef3831cd45c0acdbb290057d92a11
Andreas Gampe [Tue, 19 Apr 2016 00:15:36 +0000 (00:15 +0000)]
Merge "ART: Add ClassLoader.getResourceAsStream cutout" into nyc-dev
am:
ae628c2
* commit '
ae628c2827e822f6152b29ff1c795f218ed30245':
ART: Add ClassLoader.getResourceAsStream cutout
Change-Id: I096fa0db88e1532994d1251166c175d588ac389b
Andreas Gampe [Tue, 19 Apr 2016 00:04:14 +0000 (00:04 +0000)]
Merge "ART: Add cutout for Character.toLower/UpperCase" into nyc-dev
Andreas Gampe [Tue, 19 Apr 2016 00:03:46 +0000 (00:03 +0000)]
Merge "ART: Add ClassLoader.getResourceAsStream cutout" into nyc-dev
Mathieu Chartier [Mon, 18 Apr 2016 22:39:45 +0000 (22:39 +0000)]
Prevent holding stale Thread pointers
am:
81c170f
* commit '
81c170fede9af9174aba71428334ac8f366a4b4f':
Prevent holding stale Thread pointers
Change-Id: Iac670101765fc5d059a7c22d25fde91b1e5b7281
Mathieu Chartier [Mon, 18 Apr 2016 18:43:29 +0000 (11:43 -0700)]
Prevent holding stale Thread pointers
It is only really safe to hold non-self Thread* if you hold the
thread list lock. Changed a few places to use thread ids instead
of Thread.
Bug:
28223501
Change-Id: Ie58bd755bf1dcf3c1f37da79ba0b2507f77574dd
Andreas Gampe [Sat, 16 Apr 2016 04:24:28 +0000 (21:24 -0700)]
ART: Add cutout for Character.toLower/UpperCase
Add support for ASCII codepoint toLowerCase/toUpperCase. Those
inputs are easy, and generally sufficient.
Allows to compile-time initialize:
* android.text.Html$HtmlParser
* java.util.UUID$Holder
* sun.security.ec.ECKeyFactory
Bug:
27265238
Change-Id: I0f164a7df4f26c0b266cef230e36f6ca3af20bde
Mathieu Chartier [Mon, 18 Apr 2016 18:03:01 +0000 (18:03 +0000)]
Merge "Add more info to monitor contention logging" into nyc-dev
am:
ad0b769
* commit '
ad0b769e15eeb62963d543811a960deb6f309adf':
Add more info to monitor contention logging
Change-Id: I632a0ca6630a1b566efa08441a563d0a7fe0a7ff
Mathieu Chartier [Mon, 18 Apr 2016 17:37:19 +0000 (17:37 +0000)]
Merge "Add more info to monitor contention logging" into nyc-dev
Mathieu Chartier [Sat, 16 Apr 2016 02:11:45 +0000 (19:11 -0700)]
Add more info to monitor contention logging
Print owner thread name and tid. Print blocking file name and line
number.
Bug:
28223501
Change-Id: I6ee50ba8521c37977accad039fcf039c78b246e2
Richard Uhler [Fri, 15 Apr 2016 19:16:45 +0000 (12:16 -0700)]
Disable stripped-dex test for no-dex2oat.
Because the stripped-dex test requires a prebuild configuration.
Bug:
27599626
(cherry picked from commit
1b85354e974bac725b5baf1c8d1041b9b1e96643)
Change-Id: Ia55ae13e8ce2ab34348a5b9a096031d57c0048fa
Richard Uhler [Thu, 14 Apr 2016 20:31:30 +0000 (13:31 -0700)]
Disable stripped-dex test on target.
Because the targets don't have the required zip command.
Bug:
27599626
(cherry picked from commit
d7864d85b9ce87bc4a0ceb94adf6b9c216543da0)
Change-Id: Ib3e2e6d2874a36fa0e2ff2cba3e986107a05eaaa
Alexandre Rames [Mon, 18 Apr 2016 14:24:04 +0000 (14:24 +0000)]
Merge changes I077465e3,I30173023 into nyc-dev
am:
b848ef4
* commit '
b848ef45dacfcacfec59d020275cd5cc79e71f06':
Fix: correctly destruct VIXL labels.
Move Assemblers to the Arena.
Change-Id: I29ebd5bf07cb494813a151d056622f27e84ea069
Roland Levillain [Mon, 18 Apr 2016 14:15:22 +0000 (14:15 +0000)]
Merge changes I077465e3,I30173023 into nyc-dev
* changes:
Fix: correctly destruct VIXL labels.
Move Assemblers to the Arena.
Yi Kong [Mon, 18 Apr 2016 12:16:27 +0000 (12:16 +0000)]
Merge "Increase vtable size for String class" into nyc-dev
am:
b66bf30
* commit '
b66bf30ae959fe1e8ff8b7b3ff52ac367d2c9b10':
Increase vtable size for String class
Change-Id: I51f171f36d4a2227502e19e23b0eeba92a005d27
Yi Kong [Mon, 18 Apr 2016 12:07:51 +0000 (12:07 +0000)]
Merge "Increase vtable size for String class" into nyc-dev
Alexandre Rames [Fri, 15 Apr 2016 10:54:06 +0000 (11:54 +0100)]
Fix: correctly destruct VIXL labels.
(cherry picked from commit
c01a66465a398ad15da90ab2bdc35b7f4a609b17)
Bug:
27505766
Change-Id: I077465e3d308f4331e7a861902e05865f9d99835
Vladimir Marko [Wed, 13 Apr 2016 10:59:46 +0000 (11:59 +0100)]
Move Assemblers to the Arena.
And clean up some APIs to return std::unique_ptr<> instead
of raw pointers that don't communicate ownership.
(cherry picked from commit
93205e395f777c1dd81d3f164cf9a4aec4bde45f)
Bug:
27505766
Change-Id: I3017302307a0253d661240750298802fb0d9585e
Calin Juravle [Mon, 18 Apr 2016 10:45:36 +0000 (10:45 +0000)]
Merge "Allow the framework to register sensistive threads to the runtime" into nyc-dev
am:
0ed11c2
* commit '
0ed11c2c2e4e8dce366aefacbab912588a516b57':
Allow the framework to register sensistive threads to the runtime
Change-Id: I81c34859414677db3fccaa19494d1c9ecd74f01c
Nicolas Geoffray [Mon, 18 Apr 2016 10:45:36 +0000 (10:45 +0000)]
Merge "Add weight to compiled/interpreter transitions." into nyc-dev
am:
62d6119
* commit '
62d61195916596c2e3511e218870883c8855650f':
Add weight to compiled/interpreter transitions.
Change-Id: Ia965f1724ec8a472d8f00626a6210350dc1d4780
Calin Juravle [Mon, 18 Apr 2016 10:40:29 +0000 (10:40 +0000)]
Merge "Allow the framework to register sensistive threads to the runtime" into nyc-dev
Nicolas Geoffray [Mon, 18 Apr 2016 10:36:01 +0000 (10:36 +0000)]
Merge "Add weight to compiled/interpreter transitions." into nyc-dev
Yi Kong [Tue, 12 Apr 2016 21:38:06 +0000 (22:38 +0100)]
Increase vtable size for String class
Tracks libcore change
5458546631c65f6d375b6a1780d36d0abb5b95af which
increases vtable size for String by four.
Bug:
28108421
Change-Id: I3f7b373ffc08a0f5351f04b5045866ea040f8e6e
(cherry picked from commit
478078a8f9375ec53a3c77c19c0cdb82a9917c88)
Narayan Kamath [Mon, 18 Apr 2016 09:50:58 +0000 (09:50 +0000)]
Track removal of String hash functions.
am:
617209c
* commit '
617209c00dae14fd179ed1926166a691140c1912':
Track removal of String hash functions.
Change-Id: I38f357335075b8e013cc4d94389f1eaf5e8edbfc
Narayan Kamath [Wed, 13 Apr 2016 13:17:44 +0000 (14:17 +0100)]
Track removal of String hash functions.
The number of virtual methods dropped by one. The change to the
field counting merits some explanation, with the change to OpenJDK
we got rid of two 16 bit fields and added a 32 bit field (which the
companion change removed), so things continued to work happily.
This change brings the number of 16 bit fields down to zero.
Also fixes 100-reflect2, which iterates over all methods in j.l.String.
bug:
28082128
(cherry picked from commit
5d8fa8bbcb9411015c92d687cb1f3cb785146bf7)
Change-Id: I4e5454547e08b072768bbc466e2f5c027b8dab86
Narayan Kamath [Mon, 18 Apr 2016 08:50:47 +0000 (08:50 +0000)]
OpenJdkJVM: Fix Mac OS build.
am:
589bf49
* commit '
589bf49ef3068c148f7b9650c42b0794b65f5e35':
OpenJdkJVM: Fix Mac OS build.
Change-Id: I865f3a5c9500a628be89c6d53c0dfec8237a77a0
Narayan Kamath [Mon, 18 Apr 2016 08:50:47 +0000 (08:50 +0000)]
OpenJdkJVM: Fix JVM_Lseek
am:
6fb4c73
* commit '
6fb4c732f3fed182fdd4d9a725a9d039d42dce83':
OpenJdkJVM: Fix JVM_Lseek
Change-Id: I8b249d452e191836d543bcfddcc4cebc2a62681f
Narayan Kamath [Fri, 15 Apr 2016 16:51:55 +0000 (17:51 +0100)]
OpenJdkJVM: Fix Mac OS build.
bug:
28192631
(cherry picked from commit
5b2cfd8b195d8f0fb69c4fe57223c648dfa4c4f2)
Change-Id: Ifc1d89d728c406956efb48b46d73ace0835c8ff1
Narayan Kamath [Fri, 15 Apr 2016 14:57:28 +0000 (15:57 +0100)]
OpenJdkJVM: Fix JVM_Lseek
Use lseek64 and remove unnecessary TEMP_FAILURE_RETRY.
bug:
28192631
(cherry picked from commit
77f5d65a23f964f40af0baa4cb45e54deb37bafc)
Change-Id: I48a5baf7281618723a6eb262fd0d999405b6ad8c
Nicolas Geoffray [Thu, 14 Apr 2016 14:00:33 +0000 (15:00 +0100)]
Add weight to compiled/interpreter transitions.
Also:
- Cleanup logging.
- Check ArtMethod status before adding compilation requests.
- Don't request osr compilation if we know AddSamples does not come
from a back edge.
Bug:
27865109
(cherry picked from commit
71cd50fb67fa48667b0ab59aa436a582c04ba43d)
Change-Id: Icbe89fe6cc495b113616391a8f257758d34b4b60
Andreas Gampe [Sat, 16 Apr 2016 04:21:38 +0000 (21:21 -0700)]
ART: Remove Security initialization cutout
Change
c94eeebc7cf3e577eed3ea380401007aea642bf3 introduced general
support for getResourceAsStream. Remove the specialized cutout.
Bug:
27265238
Change-Id: I3aad0053199809e11de4eed8ee6aac53346d3d22
Andreas Gampe [Thu, 14 Apr 2016 00:58:05 +0000 (17:58 -0700)]
ART: Add ClassLoader.getResourceAsStream cutout
Add support for getResourceAsStream to unstarted runtime.
Allows to compile-time initialize:
* android.icu.impl.ICUConfig
Allows to revert other resource loading hacks.
Do not intercept Class.getResourceAsStream directly. There is
name-mangling involved, leave that on the Java side.
Bug:
27265238
Change-Id: I8c408aa633086f4a1aa14bb1b404607b2498fe97
Andreas Gampe [Fri, 15 Apr 2016 17:09:16 +0000 (10:09 -0700)]
ART: Fix nits for verifier change
Follow-up to
6659624baadf2285ac5880fd28ffa31767dcae0b.
Bug:
28187158
Change-Id: Ie81aff1cae1ff275faaaf4b858608e74b86d8622
(cherry picked from commit
8f4ade0f05c0203b33e5f421d1e3794ab6075a82)
Andreas Gampe [Thu, 14 Apr 2016 17:55:04 +0000 (10:55 -0700)]
ART: Make iget receiver mismatch hard verifier error
If the classes are resolved, and still not match, this should be
a verify error.
Bug:
28187158
Change-Id: I89c996ae15865674f21cf32ec378d37bac34861b
(cherry picked from commit
6659624baadf2285ac5880fd28ffa31767dcae0b)
TreeHugger Robot [Fri, 15 Apr 2016 22:57:46 +0000 (22:57 +0000)]
Merge "Sort output of a find command in makefile" into nyc-dev
Bill Buzbee [Fri, 15 Apr 2016 21:23:41 +0000 (21:23 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86_64 mterp""" into nyc-dev
Bill Buzbee [Mon, 4 Apr 2016 16:59:35 +0000 (16:59 +0000)]
Revert "Revert "ART: Improve JitProfile perf in x86_64 mterp""
Bug:
28080135
Bug triggering original revert fixed by:
https://android-review.googlesource.com/#/c/214728
This CL additionally corrects a secondary bug in argument setup
appearing in both x86 and x86_64 versions.
This reverts commit
0402c5690b1a961e923a39dab92ec1ee0b54b05a.
(cherry picked from commit
9afaac4ccdd90774cf95ce6fc42d9c6df4c8b817)
Change-Id: If86a5d43469d8a958e007acc0afe924330de5c16
Andreas Gampe [Fri, 15 Apr 2016 19:16:14 +0000 (19:16 +0000)]
Merge "ART: Add a System.getProperty cutout" into nyc-dev
Calin Juravle [Fri, 15 Apr 2016 15:16:35 +0000 (16:16 +0100)]
Allow the framework to register sensistive threads to the runtime
Bug:
27865109
Bug:
28065407
Change-Id: Ieac3215879c40b16eb21b47a457fd0345d45177a
Nicolas Geoffray [Fri, 15 Apr 2016 14:55:32 +0000 (14:55 +0000)]
Merge "Fix initialization of field after conflicting merges." into nyc-dev
Nicolas Geoffray [Fri, 15 Apr 2016 14:55:15 +0000 (14:55 +0000)]
Merge "Remove the JIT from the instrumentation framework." into nyc-dev
Nicolas Geoffray [Fri, 15 Apr 2016 14:43:05 +0000 (14:43 +0000)]
Merge "Properly initialize the is_osr_method_being_compiled_ flag." into nyc-dev
Nicolas Geoffray [Thu, 14 Apr 2016 13:17:29 +0000 (14:17 +0100)]
Fix initialization of field after conflicting merges.
bug:
27865109
(cherry picked from commit
ba6aae0b49932a0ae3050d1fc22c6571e51f8180)
Change-Id: Ia2a0cac929070a02bfbf3ed3eb0a30fc33aba46d
Nicolas Geoffray [Fri, 15 Apr 2016 13:16:34 +0000 (14:16 +0100)]
Properly initialize the is_osr_method_being_compiled_ flag.
bug:
27939339
Change-Id: I0a8bf42f97aff95cad9ebdbe788b868c3f2f5233
David Brazdil [Fri, 15 Apr 2016 11:12:59 +0000 (11:12 +0000)]
Merge changes Id1538275,I63632e88 into nyc-dev
* changes:
Rename test whose name was too long for some configs
ART: Update DCHECKs in SsaLivenessAnalysis::AddBackEdgeUses
Nicolas Geoffray [Tue, 12 Apr 2016 15:33:24 +0000 (16:33 +0100)]
Remove the JIT from the instrumentation framework.
This was slowing down the interpreter for no reason.
Also, call AddSamples for invoke-static and invoke-direct.
bug:
27865109
(cherry picked from commit
274fe4adcb0610a9920be7814d9beb9cac6417ce)
Change-Id: I3519456ac8e0c7211cbe3f12e88d134beee87479
David Brazdil [Fri, 15 Apr 2016 09:35:04 +0000 (10:35 +0100)]
Rename test whose name was too long for some configs
Bug:
27615840
Bug:
27624868
Change-Id: Id15382753a65a16d438abf514104233441444c8d
(cherry picked from commit
d5d892d412bba7132e40e0ab95c016770416615c)
David Brazdil [Thu, 14 Apr 2016 12:47:24 +0000 (13:47 +0100)]
ART: Update DCHECKs in SsaLivenessAnalysis::AddBackEdgeUses
Graph linearization in the presence of irreducible loops is not
guaranteed to generate a linear order where all blocks of a loop are
adjacent, first block is the header and last block is one of the back
edges.
These assumptions are made when inserting synthesized uses at the back
edges to aid the register allocator. Not meeting them will result in
the algorithm's early termination and back-edge uses not being added.
This patch updates the DCHECKs so the compiler does not fail in such
circumstances.
Bug:
27615840
Bug:
27624868
Change-Id: I63632e8819ea3644d5c6fdfea00b66128bf22c24
(cherry picked from commit
adf84911030ca36835c48cbff8be6b078693fb00)
David Brazdil [Thu, 14 Apr 2016 15:36:15 +0000 (16:36 +0100)]
ART: Save a bit of memory in production LICM
LICM uses a bit vector to DCHECK that inner loops are visited before
outer loops. Allocate the bit vector only if kIsDebugBuild.
Bug:
28173563
Change-Id: Ic2641607ebe55ad8974de2ebe03973f0bf182e42
(cherry picked from commit
aa680e89cf35ac3af7d3344d7960ba2f055e16d8)
Andreas Gampe [Wed, 13 Apr 2016 21:53:23 +0000 (14:53 -0700)]
ART: Add a System.getProperty cutout
Add support for certain keys of System.getProperty, derived
from AndroidHardcodedSystemProperties.
Allows to compile-time initialize:
* android.icu.impl.Utility
* java.net.URLDecoder
* java.net.URLEncoder
* java.util.regex.PatternSyntaxException
Bug:
27265238
Bug:
28174137
Change-Id: Ib919fb05f0459be19331ac356af34a968bf685cd
Richard Uhler [Mon, 4 Apr 2016 20:30:16 +0000 (13:30 -0700)]
Restore fallback behavior in the no-image stripped-dex case.
Add --strip-dex option to run-test to test this case.
Bug:
27599626
(cherry picked from commit
76f5cb6026b9c83bf00fd1007703503a327f704d)
Change-Id: I96bd2b013dd11ca1256f259181ea9c6087f16287
Alex Light [Tue, 12 Apr 2016 22:50:55 +0000 (15:50 -0700)]
Allow private methods in interfaces.
Private methods may be generated in interfaces during compilation of
some default methods. Change the verifier to allow these methods.
Bug:
27999840
(cherry picked from commit
b55f1ac873f9541f391625c13fe9129fbd38e74c)
Change-Id: Ib8120a8f6cb036021334d9af0ed78ae372974ecb
Mathieu Chartier [Fri, 8 Apr 2016 21:08:37 +0000 (14:08 -0700)]
Add imgdiag support for diff against zygote
Adds option --zygote-diff-pid. If this option is passed in then it
tries to differentiate objects that are private dirty by comparing
them against the zygote image contents if they are different from
the boot image contents.
Bug:
27906566
Change-Id: I6d214f73af5bf6de1f1a07f309065fc455cf7543
Calin Juravle [Wed, 13 Apr 2016 13:50:42 +0000 (14:50 +0100)]
Merge remote-tracking branch 'goog/master' into nyc-dev
Bug:
28081559
Bug:
28065407
Bug:
27865109
Bug:
27856014
Bug:
27894376
Bug:
27998571
Bug:
27995065
Bug:
28036230
Bill Buzbee [Wed, 13 Apr 2016 13:32:18 +0000 (13:32 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86 mterp""" am:
6990775 am:
feb48f1
am:
f57b6ac
* commit '
f57b6ac95c8436105638b779ddcdbaf17330d9a5':
Revert "Revert "ART: Improve JitProfile perf in x86 mterp""
Change-Id: Id9a536627594a121829c8a366fa3b1731f50a010
Bill Buzbee [Wed, 13 Apr 2016 13:28:59 +0000 (13:28 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86 mterp""" am:
6990775
am:
feb48f1
* commit '
feb48f11c422f63a8944db076739ab1b329aa3da':
Revert "Revert "ART: Improve JitProfile perf in x86 mterp""
Change-Id: I32828b204ddca18db00aef30b91336f1215a8ca7
Bill Buzbee [Wed, 13 Apr 2016 12:44:28 +0000 (12:44 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86 mterp"""
am:
6990775
* commit '
6990775e323cd9164d6cc10955a047b9d9f15f32':
Revert "Revert "ART: Improve JitProfile perf in x86 mterp""
Change-Id: I4fa915fa29400dee54c5475fed1aea55d4f73ded
Bill Buzbee [Wed, 13 Apr 2016 12:37:16 +0000 (12:37 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86 mterp"""
Calin Juravle [Wed, 13 Apr 2016 11:57:02 +0000 (11:57 +0000)]
Merge "Add option to tune sample collection based on thread sensitivity" am:
2c3b101 am:
a429ea7
am:
c90ccec
* commit '
c90ccec90605034ab52f3dc068e967f4639dfc1a':
Add option to tune sample collection based on thread sensitivity
Change-Id: I31a6c8265114ba8349f23aa171ea933771f9a6c6
Calin Juravle [Wed, 13 Apr 2016 11:53:49 +0000 (11:53 +0000)]
Merge "Add option to tune sample collection based on thread sensitivity" am:
2c3b101
am:
a429ea7
* commit '
a429ea7b6039aff0fbc7ac31b1e314e459d9418f':
Add option to tune sample collection based on thread sensitivity
Change-Id: Idb221810aa5834488f3057581a68154d7dcad0c6