OSDN Git Service
Hiroshi Yamauchi [Fri, 22 May 2015 22:28:59 +0000 (22:28 +0000)]
Revert "Switch to using ELF-64 for 64-bit architectures."
This reverts commit
a3a49fe863e0bcf423ed0b4082136d1439fb2e79.
Change-Id: I0afabec15f5d9110de0d4105cbab7d040f2b86e2
David Srbecky [Tue, 19 May 2015 17:21:54 +0000 (18:21 +0100)]
Switch to using ELF-64 for 64-bit architectures.
Bug:
21297086
Change-Id: I4914e097ceffa58ddbe567d23ab563b0d9db1f66
David Srbecky [Tue, 19 May 2015 15:37:43 +0000 (15:37 +0000)]
Merge "Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write."
David Srbecky [Tue, 19 May 2015 15:30:51 +0000 (16:30 +0100)]
Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write.
Change-Id: I0d1b7f6ca18a992bb7619a08a2cb0ed538578410
Calin Juravle [Tue, 19 May 2015 14:57:08 +0000 (14:57 +0000)]
Merge "Eliminate redundant constructor barriers when inlining."
Calin Juravle [Thu, 14 May 2015 14:15:42 +0000 (15:15 +0100)]
Eliminate redundant constructor barriers when inlining.
Bug:
20410297
Change-Id: I2097743d00eb795d050d390b1918e38c7f41d506
David Srbecky [Tue, 19 May 2015 14:49:13 +0000 (14:49 +0000)]
Merge "Support generation of CFI in .debug_frame format."
David Srbecky [Wed, 6 May 2015 17:27:35 +0000 (18:27 +0100)]
Support generation of CFI in .debug_frame format.
.debug_frame section is almost identical to .eh_frame section.
There are only minor differences in the CIE and FDE headers.
The main difference is that .eh_frame is intended to be used
at runtime for exception handling and is therefore allocated
within the running program whereas .debug_frame is not.
This makes .debug_frame easier to remove using standard tools.
"objcopy --strip-debug" removes .debug_frame, but not .eh_frame.
(although objcopy can be still be forced to remove .eh_frame)
Similarly, we might want to separate the CFI to separate debug
file or include it as compressed .gnu_debugdata section.
It is more appropriate to use .debug_frame for this purpose.
Bug:
20556771
Change-Id: I9d91a333b9fb37523fd6fafccfad89b21d2477af
Sebastien Hertz [Tue, 19 May 2015 12:39:36 +0000 (12:39 +0000)]
Merge "Fix debuggable compiler flag detection for secondary dex files"
Sebastien Hertz [Wed, 13 May 2015 10:14:05 +0000 (12:14 +0200)]
Fix debuggable compiler flag detection for secondary dex files
Compiles secondary dex files like the primary dex file: if it has
been compiled with the --debuggable flag, compile secondary dex files
with the --debuggable flag too.
Therefore, dex files loaded at runtime are compiled the same way as
dex files compiled at install time on the classpath (excluding the
boot image that is not compiled debuggable).
Also adds debuggable key in the oat header and bump the oat version.
Bug:
20944228
Change-Id: I59119f3468adb27ab1d6026f2cefbebbd814224c
Nicolas Geoffray [Tue, 19 May 2015 11:43:08 +0000 (11:43 +0000)]
Merge "Don't do a null test in MarkGCCard if the value cannot be null."
Andreas Gampe [Tue, 19 May 2015 06:54:58 +0000 (06:54 +0000)]
Merge "ART: Change huge-method warning in verifier"
Andreas Gampe [Tue, 19 May 2015 05:50:52 +0000 (05:50 +0000)]
Merge "ART: Add verbose:deopt logging"
Andreas Gampe [Tue, 19 May 2015 04:41:13 +0000 (21:41 -0700)]
ART: Add verbose:deopt logging
Add verbose logging for deoptimization. Can be enabled with the
regular command line option "-verbose:_".
Change-Id: Iab63e02f3a4e0a213fc61efed1118fe829feeaa4
Andreas Gampe [Tue, 19 May 2015 03:50:12 +0000 (20:50 -0700)]
ART: Change huge-method warning in verifier
Change the logging to be included in the took-a-long-time warning,
instead of being a non-descriptive standalone. This should reduce
the noise.
Bug:
21149450
Change-Id: Ia4493dd12f54a8452a46541f6da86530584016ea
Hiroshi Yamauchi [Mon, 18 May 2015 21:59:22 +0000 (21:59 +0000)]
Merge changes Ia1f2269a,I2ac93038
* changes:
Print more info on mark sweep invalid ref crash.
Enable tlab by default for the read barrier config.
Hiroshi Yamauchi [Fri, 15 May 2015 22:23:30 +0000 (15:23 -0700)]
Print more info on mark sweep invalid ref crash.
- Add extra info about the field holder.
- Suspend threads when verifying roots.
(cherry pick commit
1e1a47204984e3b72c4a753a2beb704350f38373)
Bug:
20557050
Change-Id: Ia1f2269aaa3b1a81d0594e781e439a5decfb82f9
Hiroshi Yamauchi [Fri, 15 May 2015 23:24:24 +0000 (16:24 -0700)]
Enable tlab by default for the read barrier config.
Bug:
12687968
Change-Id: I2ac930386aebe5aaacbccf1b950c376df0d9c81b
Nicolas Geoffray [Mon, 18 May 2015 13:22:09 +0000 (14:22 +0100)]
Don't do a null test in MarkGCCard if the value cannot be null.
Change-Id: I45687f6d3505178e2fc3689eac9cb6ab1b2c1e29
David Brazdil [Mon, 18 May 2015 16:46:21 +0000 (16:46 +0000)]
Merge "ART: Rephrase test comments, update Checker README"
Nicolas Geoffray [Mon, 18 May 2015 15:25:39 +0000 (15:25 +0000)]
Merge "Opt compiler: ARM64: Use ldp/stp on arm64 for slow paths."
David Brazdil [Mon, 18 May 2015 15:06:10 +0000 (15:06 +0000)]
Merge "ART: Mark constructor 'explicit'"
David Brazdil [Mon, 18 May 2015 15:04:53 +0000 (16:04 +0100)]
ART: Mark constructor 'explicit'
Fixes a cpp-lint error.
Change-Id: Ibd2c84a6f171a5ddb9aa1a3b9e23c1e5a30537f0
David Brazdil [Mon, 18 May 2015 14:25:28 +0000 (14:25 +0000)]
Merge "ART: Revert change to LiveRange::Dump"
Nicolas Geoffray [Mon, 18 May 2015 14:14:47 +0000 (14:14 +0000)]
Merge "Stack walking of inlined frames."
David Brazdil [Fri, 15 May 2015 15:44:05 +0000 (16:44 +0100)]
ART: Revert change to LiveRange::Dump
Changes back the LiveRange printing format to "[start,end)" for better
clarity. However, it removes the space after comma due to b/
1189305
and prints the "ranges" attribute with curly brackets to improve
readability.
This is a resubmission of CL Ic83025fa78d6f1edb5e0e39d66160182b0198ab8
which fixes a compilation issue on target.
Bug:
21189305
Change-Id: Ic232c02ba19a710ead67793a039f99c0345353c7
Nicolas Geoffray [Fri, 15 May 2015 12:20:41 +0000 (13:20 +0100)]
Stack walking of inlined frames.
Be "true" to the stack visitor design, which seems to be:
1) Carry minimal state, so this CL just adds an inlining depth to it.
2) Compute needed information for each method, which is what GetDexPc,
GetMethod, and GetVRegFromOptimized code do.
Change-Id: I3d14126766f12216a7b448ce856259f1e7f37395
David Brazdil [Mon, 18 May 2015 13:57:33 +0000 (13:57 +0000)]
Merge "Revert "ART: Revert change to LiveRange::Dump""
David Brazdil [Mon, 18 May 2015 13:57:11 +0000 (13:57 +0000)]
Revert "ART: Revert change to LiveRange::Dump"
This reverts commit
294a0509cf811061b8009ade61e76a1f94e248b2.
Need to investigate a compilation error.
Change-Id: I62020f6e546c9faf5f4a2ed6cc1f7e1499c2fa30
David Brazdil [Mon, 18 May 2015 13:50:13 +0000 (14:50 +0100)]
ART: Rephrase test comments, update Checker README
Addressing minor comments on a previous CL.
Change-Id: Ic011adc578111fc162480ed09723ff5d48690fe5
David Brazdil [Mon, 18 May 2015 13:38:17 +0000 (13:38 +0000)]
Merge "ART: Revert change to LiveRange::Dump"
David Brazdil [Fri, 15 May 2015 15:44:05 +0000 (16:44 +0100)]
ART: Revert change to LiveRange::Dump
Changes back the LiveRange printing format to "[start,end)" for better
clarity. However, it removes the space after comma due to b/
1189305
and prints the "ranges" attribute with curly brackets to improve
readability.
Bug:
21189305
Change-Id: Ic83025fa78d6f1edb5e0e39d66160182b0198ab8
Nicolas Geoffray [Mon, 18 May 2015 13:00:29 +0000 (13:00 +0000)]
Merge "Support InlineInfo in StackMap."
Narayan Kamath [Mon, 18 May 2015 12:40:32 +0000 (12:40 +0000)]
Merge "Fix libcore buildbot failure."
Narayan Kamath [Mon, 18 May 2015 12:35:24 +0000 (13:35 +0100)]
Fix libcore buildbot failure.
... due to a duplicate suppression. test_PacketSocketAddress has been
moved to libcore/knownfailures.txt.
Change-Id: I5c9cc98938d46607cba5a799e9c45b864ec22bf8
Nicolas Geoffray [Thu, 14 May 2015 11:41:51 +0000 (12:41 +0100)]
Support InlineInfo in StackMap.
Change-Id: I9956091775cedc609fdae7dec1433fcb8858a477
Nicolas Geoffray [Mon, 18 May 2015 11:20:07 +0000 (11:20 +0000)]
Merge "Don't emit bkpt, takes extra space for nothing."
David Brazdil [Mon, 18 May 2015 11:14:35 +0000 (11:14 +0000)]
Merge "ART: Removed redundant Phis as part of DCE"
David Brazdil [Mon, 18 May 2015 11:06:52 +0000 (12:06 +0100)]
ART: Removed redundant Phis as part of DCE
Removing dead blocks can render some phis redundant but they do not
get removed. This patch adds running SsaRedundantPhiElimination to
adress that.
Change-Id: Iec9a16f3c20b2d5b5607cd5aaf802917c155a0f1
Nicolas Geoffray [Mon, 18 May 2015 09:42:57 +0000 (09:42 +0000)]
Merge "Callee/caller save logic in register allocator."
Nicolas Geoffray [Fri, 17 Apr 2015 08:15:11 +0000 (09:15 +0100)]
Callee/caller save logic in register allocator.
Prevent intervals that do not span a 'will-call' safepoint
to allocate a callee-save register when caller-saves
are available.
Change-Id: I6e613ab54b087f433bbc433aa62847fbca423377
David Brazdil [Mon, 18 May 2015 09:19:23 +0000 (09:19 +0000)]
Merge "ART: Print C1vis lists as [v1,...,vN]"
Nicolas Geoffray [Mon, 18 May 2015 08:49:16 +0000 (09:49 +0100)]
Don't emit bkpt, takes extra space for nothing.
Change-Id: Id091dcdc950b590e5be55c4fa31d7779308e1a2c
Sebastien Hertz [Mon, 18 May 2015 08:02:28 +0000 (08:02 +0000)]
Merge "JDWP: more GC safety"
Kenny Root [Fri, 15 May 2015 22:10:16 +0000 (22:10 +0000)]
Merge "Add new style String operations during compilation init, part 2"
Kenny Root [Thu, 14 May 2015 22:58:17 +0000 (15:58 -0700)]
Add new style String operations during compilation init, part 2
This allows some class initializers that deal with Strings to run during
compilation. However, java.lang.Character.toUpperCase() is blocking
initialization for some parts.
Bug:
21036900
Change-Id: Ia969c6a643f510bc798f94fb10bca1a68fe2ae67
Elliott Hughes [Fri, 15 May 2015 16:58:44 +0000 (16:58 +0000)]
Merge "Stop wrapping close(2) with TEMP_FAILURE_RETRY in art."
David Brazdil [Fri, 15 May 2015 15:01:59 +0000 (16:01 +0100)]
ART: Print C1vis lists as [v1,...,vN]
Checker interprets whitespace as a don't-care placeholder, making it
easier to write assertions which test only parts of the output (e.g.
"//CHECK: Add liveness:44" does not test the inputs or any other
attributes apart from "liveness").
However, since the GraphVisualizer prints lists with elements
separated by spaces ("[ v1 ... vN ]"), this allows for false positives
caused by an occurrence elsewhere in the output. For example, the
assertion: "//CHECK: [ x y ]" will match "[ x y ]" but also
"[ x a y b ]" or even "[ x ] abc [ y ]".
Switching to comma-separated lists works around this issue.
This patch updates all test files, fixes one false positive that this
change revealed (test 442, line 337) and two occurrences of a wrong
match (test 462, lines 121, 149).
Bug:
21189305
Change-Id: I3b22503be3d92529dac0b13f66bccbcfabea6721
Elliott Hughes [Fri, 15 May 2015 15:25:58 +0000 (08:25 -0700)]
Stop wrapping close(2) with TEMP_FAILURE_RETRY in art.
Note that all the TEMP_FAILURE_RETRY([A-Z] calls in this file are
wrong. The member functions return -errno, so only an EPERM failure
will return -1 (but errno should be EPERM, so you won't loop).
Bug: http://b/
20501816
Change-Id: Ibde6a2c7bf92469d008d6d510f9391669ae37a84
Nicolas Geoffray [Fri, 15 May 2015 15:24:00 +0000 (15:24 +0000)]
Merge "Opt compiler: Speedup div/rem by constants on arm32 and arm64."
Zheng Xu [Fri, 15 May 2015 08:08:45 +0000 (16:08 +0800)]
Opt compiler: Speedup div/rem by constants on arm32 and arm64.
This patch also includes:
1. Add java test for div/rem negative constants.
2. Fix a thumb2 encoding issue where the last operand is
"reg, shift #amount" in some instructions.
3. Support a simple filter in arm32 assembler test to filter out
unsupported cases, such as "smull r0, r0, r1, r2".
4. Add smull arm32 assembler test.
5. Add smull/umull thumb2 test.
6. Add test for the thumb2 encoding issue which is fixed in this
patch.
Change-Id: I1601bc9c38f70f11909f2816fe3ec105a158951e
David Brazdil [Fri, 15 May 2015 14:21:26 +0000 (14:21 +0000)]
Merge "ART: Fix a minor lint error"
David Brazdil [Fri, 15 May 2015 14:15:09 +0000 (15:15 +0100)]
ART: Fix a minor lint error
Change-Id: I956656fa4c36f20d80ef885c03487970f707be8e
David Brazdil [Fri, 15 May 2015 13:59:20 +0000 (13:59 +0000)]
Merge "ART: Change Checker syntax for variables"
David Brazdil [Fri, 15 May 2015 13:24:31 +0000 (14:24 +0100)]
ART: Change Checker syntax for variables
This patch changes the syntax for defining and referencing variables
from square brackets '[[VAR]]' to angle brackets '<<VAR>>'. This is
done in order to avoid clashes when matching against lists enclosed
in square brackets.
Change-Id: Ib9560b07bdc7bd641fd1eb6143c0063e0783f1eb
David Brazdil [Fri, 15 May 2015 13:21:51 +0000 (13:21 +0000)]
Merge "ART: Refactor GraphVisualizer attribute printing"
David Brazdil [Wed, 13 May 2015 16:50:09 +0000 (17:50 +0100)]
ART: Refactor GraphVisualizer attribute printing
This patch unifies the way GraphVisualizer prints instruction
attributes in preparation of changes to the Checker syntax.
Change-Id: I44e91e36c660985ddfe039a9f410fedc48b496ec
Calin Juravle [Fri, 15 May 2015 11:28:21 +0000 (11:28 +0000)]
Merge "Fix minor checker bug"
Jeff Hao [Fri, 15 May 2015 01:02:56 +0000 (01:02 +0000)]
Merge "In hprof, use an address within string for char array of empty string."
Jeff Hao [Fri, 15 May 2015 00:19:15 +0000 (17:19 -0700)]
In hprof, use an address within string for char array of empty string.
Bug:
21089461
(cherry picked from commit I203345caf74fba2e9bf0549256147d84d1bb829e)
Change-Id: I38d1bc0d303558ab535ec4c3aa17a046fcb055a1
Kenny Root [Fri, 15 May 2015 00:48:10 +0000 (00:48 +0000)]
Merge changes I2ea008b7,Ibd7a643d
* changes:
Add new style String operations during compilation init
Fix non-range String init calls
Kenny Root [Thu, 14 May 2015 22:58:17 +0000 (15:58 -0700)]
Add new style String operations during compilation init
This allows some class initializers that deal with Strings to run during
compilation. This includes the current implementation of
java.security.Security because it reads the "java.security" resource.
(cherry picked from commit
a298e6daf8a11a780f061f2177ac3e75b8dd5e55)
Bug:
21036900
Change-Id: I2ea008b774d4ed359e155318e0d06c1566186c34
Kenny Root [Thu, 14 May 2015 23:48:22 +0000 (16:48 -0700)]
Fix non-range String init calls
When the String constructor was called via invoke-direct, it is changed
to the new StringFactory which is static. That means that the args need
to be shifted by one to deal with the change from non-static to static.
However, the non-range version of the invoke-direct was not shifted
correctly causing unstarted runtime initialization to get the wrong
first_dest_reg argument.
(cherry picked from commit
788a0a157cb138c33882511ff09afacde99443b7)
Bug:
21036900
Change-Id: Ibd7a643d877514ea396d7e4ab0dea327207cb78f
Jeff Hao [Thu, 14 May 2015 23:09:02 +0000 (23:09 +0000)]
Merge "In hprof, set string class instance size to that of an empty string."
Hiroshi Yamauchi [Thu, 14 May 2015 21:55:43 +0000 (21:55 +0000)]
Merge "Remove doublequoted command to adb sh -c."
Jeff Hao [Wed, 13 May 2015 01:58:32 +0000 (18:58 -0700)]
In hprof, set string class instance size to that of an empty string.
Bug:
21066704
(cherry-picked from commit
c99b900283296663a37bffe06ae5ca6453748e16)
Change-Id: I91fc397f8ea6bdec654eae51b82528ba5843532c
Hiroshi Yamauchi [Thu, 14 May 2015 20:42:06 +0000 (13:42 -0700)]
Remove doublequoted command to adb sh -c.
Change-Id: I0e0fceedf927df25b8d6b0cf235f43f928cb3534
Hiroshi Yamauchi [Thu, 14 May 2015 18:54:48 +0000 (18:54 +0000)]
Merge "Print field info on mark sweep invalid ref crash."
Vladimir Marko [Thu, 14 May 2015 18:48:24 +0000 (18:48 +0000)]
Merge "Quick: Fix marking high words in DCE."
Hiroshi Yamauchi [Thu, 14 May 2015 04:14:22 +0000 (21:14 -0700)]
Print field info on mark sweep invalid ref crash.
Bug:
20557050
Change-Id: I3abb7a44e3b7ed3256653824fd1705aac5f7d72c
Vladimir Marko [Thu, 14 May 2015 10:47:39 +0000 (11:47 +0100)]
Quick: Fix marking high words in DCE.
This CL properly fixes the high word marking and reverts
https://android-review.googlesource.com/150352
which was just covering up the underlying issue. A unit test
for the encountered issue is provided, though it does not
expose the deficiency in the cover-up CL.
Bug:
20640451
Change-Id: Ia19a1134610e271ebbab5679ac0bd0cb0223d462
Calin Juravle [Thu, 14 May 2015 16:30:21 +0000 (17:30 +0100)]
Fix minor checker bug
Change-Id: I8fd4cf4ae61c1175cba834479dd69cbde326a08a
Nicolas Geoffray [Thu, 14 May 2015 14:06:15 +0000 (14:06 +0000)]
Merge "Revert "Revert "Remove junit from our core image."""
Nicolas Geoffray [Thu, 14 May 2015 14:05:34 +0000 (14:05 +0000)]
Revert "Revert "Remove junit from our core image.""
This reverts commit
7028d59fa70c7c8482975c4f9b42308c6959483b.
Change-Id: Ia005921af58595999b5b76001fbd16dfb484ab35
Nicolas Geoffray [Thu, 14 May 2015 14:05:10 +0000 (14:05 +0000)]
Merge "Revert "Revert "Do not pass junit.jar to vogar."""
Nicolas Geoffray [Thu, 14 May 2015 14:03:51 +0000 (14:03 +0000)]
Revert "Revert "Do not pass junit.jar to vogar.""
This reverts commit
5bf24f3d8633efda0b20126be411c2cfa4e75097.
Change-Id: I5512c57e7b725991468e9d08d8110df5809dc854
Vladimir Marko [Thu, 14 May 2015 13:31:52 +0000 (13:31 +0000)]
Merge "ART: Do not relocate app program headers in patchoat."
Roland Levillain [Thu, 14 May 2015 12:42:43 +0000 (12:42 +0000)]
Merge "[optimizing] Fold HTypeConversion of constants"
Vladimir Marko [Wed, 13 May 2015 18:06:30 +0000 (19:06 +0100)]
ART: Do not relocate app program headers in patchoat.
Change the check whether to relocate program headers in
patchoat to simply look whether there is a PT_LOAD section
with p_vaddr == 0. If there is, don't relocate the headers,
it should be an app. Otherwise, it's a boot image and needs
to be relocated.
Add overflow checking to ElfFileImpl<>::GetLoadedSize().
Bug:
21047854
Change-Id: Ie6737f338687296b6dbf4bb3b36358501dfb1587
Nicolas Geoffray [Thu, 14 May 2015 06:18:39 +0000 (06:18 +0000)]
Merge "Revert "Do not pass junit.jar to vogar.""
Nicolas Geoffray [Thu, 14 May 2015 06:18:25 +0000 (06:18 +0000)]
Revert "Do not pass junit.jar to vogar."
Will re-land after fiing vogar.
This reverts commit
3185c8da1dc2c2497168817c083b3c9587ba0883.
Change-Id: I6f5ed14aa3f7deb768195c0797125a34c6255d85
Andreas Gampe [Thu, 14 May 2015 01:10:32 +0000 (01:10 +0000)]
Merge "ART: Fix unused return-value in test"
Andreas Gampe [Thu, 14 May 2015 00:00:41 +0000 (17:00 -0700)]
ART: Fix unused return-value in test
Check the return value of system() call.
Change-Id: I1f5f9621f6a39029b9df5b0d4ab0e230ba6c79a3
Chih-Hung Hsieh [Thu, 14 May 2015 00:22:02 +0000 (00:22 +0000)]
Merge "Undo arm64 workaround."
Nicolas Geoffray [Wed, 13 May 2015 22:05:52 +0000 (22:05 +0000)]
Merge "Revert "Remove junit from our core image.""
Nicolas Geoffray [Wed, 13 May 2015 22:05:40 +0000 (22:05 +0000)]
Revert "Remove junit from our core image."
To put us back green. Will re-land when vogar is cleaned up.
This reverts commit
0ad65a3c794b18101def5096d8ed151382c9d5aa.
Change-Id: I24a58bd87f133132d7774104eb8f77d6bbd6292b
Nicolas Geoffray [Wed, 13 May 2015 21:38:15 +0000 (21:38 +0000)]
Merge "Revert "New failure due to a junit/vogar difference.""
Nicolas Geoffray [Wed, 13 May 2015 21:37:44 +0000 (21:37 +0000)]
Revert "New failure due to a junit/vogar difference."
This reverts commit
203a5555957f4c56c4a5cc7ffcb99600c8ab557e.
Change-Id: I51c3aa7275ab43b4adaf8728245612b8416c8284
Mathieu Chartier [Wed, 13 May 2015 21:27:01 +0000 (21:27 +0000)]
Merge "Also print class for NoSuchFieldException"
Nicolas Geoffray [Wed, 13 May 2015 21:20:03 +0000 (21:20 +0000)]
Merge "New failure due to a junit/vogar difference."
Nicolas Geoffray [Wed, 13 May 2015 21:18:12 +0000 (22:18 +0100)]
New failure due to a junit/vogar difference.
Change-Id: I2148c56dd67406d719778ac41b6691fbad2614d3
Mathieu Chartier [Wed, 13 May 2015 20:13:24 +0000 (13:13 -0700)]
Also print class for NoSuchFieldException
Example message:
Caused by: java.lang.NoSuchFieldException: No field value in class Ljava/lang/String;
Added test.
(cherry picked from commit
3beb245da9392818e3154d47593f82cf0ef69aac)
Bug:
20881251
Bug:
21027454
Change-Id: I4043cbf26c3077952b6c151da0d0edd980da26b1
Mark Mendell [Wed, 6 May 2015 14:55:34 +0000 (10:55 -0400)]
[optimizing] Fold HTypeConversion of constants
While looking into optimizing long shifts on x86, I found that the
compiler wasn't folding HTypeConversion of constants. Add simple
conversions of constants, taking care of float/double values
with NaNs and small/large values, ensuring Java conversion semantics.
Add checker cases to see that constant folding of HTypeConversion is
done.
Ensure 422-type-conversion type conversion routiness don't get
inlined to avoid compile time folding.
Change-Id: I5a4eb376b64bc4e41bf908af5875bed312efb228
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Nicolas Geoffray [Wed, 13 May 2015 16:49:46 +0000 (16:49 +0000)]
Merge "Remove junit from our core image."
Elliott Hughes [Wed, 13 May 2015 16:27:07 +0000 (16:27 +0000)]
Merge "Silence unused result warnings in art."
Nicolas Geoffray [Wed, 13 May 2015 14:02:55 +0000 (15:02 +0100)]
Remove junit from our core image.
It's not used, and when we run art with vogar, we get
incompatibilities. For example vogar's TestSuite class
is very different than junit's TestSuite.
Change-Id: I45c78d86c09c28b6136a6e50f6a08a746103794a
Nicolas Geoffray [Wed, 13 May 2015 10:16:44 +0000 (10:16 +0000)]
Merge "Do not pass junit.jar to vogar."
Nicolas Geoffray [Wed, 13 May 2015 10:03:19 +0000 (11:03 +0100)]
Do not pass junit.jar to vogar.
Not needed after https://android-review.googlesource.com/#/c/150563.
Also dex2oat now complains about duplicated classes, and fallbacks
to the interpreter if it sees any. Since vogar has its own junit,
dex2oat was complaining.
Change-Id: I579feb0b1a049af3fba664fd2d86c67c66c8eae1
Sebastien Hertz [Wed, 8 Apr 2015 07:36:07 +0000 (09:36 +0200)]
JDWP: more GC safety
Ensures GC safety when keeping references that may be moved by GC:
- SingleStepControl: stores ArtMethod* in a GcRoot
- ModBasket: stores references in a StackHandleScope
Bug:
18166750
Change-Id: If2b6f9ecff4cf469b50487fd863319fdfa9b9f37
Elliott Hughes [Wed, 13 May 2015 04:25:36 +0000 (21:25 -0700)]
Silence unused result warnings in art.
This lets us turn on _FORTIFY_SOURCE=2 for the host.
The logging change is basically a trick (since we're still ignoring the
result unless it's an EINTR failure).
The profiler change is in a function whose error checking is a mess; the
fd is leaked, and it's not clear what's supposed to happen about the flock
on failure. I didn't exit if the ftruncate fails because the rest of the
function just blunders on, and error handling here needs a deeper rethink.
Bug: http://b/
20558757
Change-Id: I7a2873fce08e37f4af826a04b4701d7ac6a8e3fa