OSDN Git Service
Ian Rogers [Tue, 4 Nov 2014 23:59:32 +0000 (23:59 +0000)]
am
4150611d: Merge "Fix mac build."
* commit '
4150611d5229c87e49762b9edf6540995eb325e1':
Fix mac build.
Ian Rogers [Tue, 4 Nov 2014 23:59:29 +0000 (23:59 +0000)]
am
cc19cb68: Merge "Don\'t define DISALLOW_COPY_AND_ASSIGN if already defined."
* commit '
cc19cb6845f427036513e155d50c11533933c63f':
Don't define DISALLOW_COPY_AND_ASSIGN if already defined.
Ian Rogers [Tue, 4 Nov 2014 22:45:09 +0000 (22:45 +0000)]
Merge "Fix mac build."
Ian Rogers [Tue, 4 Nov 2014 22:43:18 +0000 (14:43 -0800)]
Fix mac build.
Change-Id: I228cdb0b25cd0f2c5e745a87a97aa8fd3c8a160a
Ian Rogers [Tue, 4 Nov 2014 22:18:08 +0000 (22:18 +0000)]
Merge "Don't define DISALLOW_COPY_AND_ASSIGN if already defined."
Ian Rogers [Tue, 4 Nov 2014 21:20:30 +0000 (13:20 -0800)]
Don't define DISALLOW_COPY_AND_ASSIGN if already defined.
Required by:
https://android-review.googlesource.com/#/c/113053/
Change-Id: I0226afffc738a4b7c162a0d467513a35d62dbfdc
Nicolas Geoffray [Tue, 4 Nov 2014 13:49:19 +0000 (13:49 +0000)]
am
e03864e9: Merge "Try to fix mac build."
* commit '
e03864e99f5ab0e27a48a17275122ad8f324b615':
Try to fix mac build.
Nicolas Geoffray [Tue, 4 Nov 2014 13:46:22 +0000 (13:46 +0000)]
Merge "Try to fix mac build."
Nicolas Geoffray [Tue, 4 Nov 2014 13:03:29 +0000 (13:03 +0000)]
Try to fix mac build.
Change-Id: I6c7faa1c80bc7c250d14859d51c910d50b7fb562
Nicolas Geoffray [Tue, 4 Nov 2014 11:55:06 +0000 (11:55 +0000)]
am
457e6170: Merge "New failure on optimizing/arm64 after CONST_CLASS support."
* commit '
457e6170ac55e4cbede79a23b021422ef4ccd92f':
New failure on optimizing/arm64 after CONST_CLASS support.
Nicolas Geoffray [Tue, 4 Nov 2014 11:50:23 +0000 (11:50 +0000)]
Merge "New failure on optimizing/arm64 after CONST_CLASS support."
Nicolas Geoffray [Tue, 4 Nov 2014 11:49:17 +0000 (11:49 +0000)]
New failure on optimizing/arm64 after CONST_CLASS support.
Change-Id: I7bae21795bc038e98f17a903e5964feef0718a37
Nicolas Geoffray [Tue, 4 Nov 2014 11:26:56 +0000 (11:26 +0000)]
am
636e1f55: Merge "Implement CONST_CLASS in optimizing compiler."
* commit '
636e1f55be6657a49d1ec536ba576d4c22833bc4':
Implement CONST_CLASS in optimizing compiler.
Nicolas Geoffray [Tue, 4 Nov 2014 11:23:47 +0000 (11:23 +0000)]
Merge "Implement CONST_CLASS in optimizing compiler."
Nicolas Geoffray [Mon, 3 Nov 2014 14:51:25 +0000 (14:51 +0000)]
Implement CONST_CLASS in optimizing compiler.
Change-Id: Ia8c8dfbef87cb2f7893bfb6e178466154eec9efd
Nicolas Geoffray [Tue, 4 Nov 2014 09:57:49 +0000 (09:57 +0000)]
am
793d1023: Merge "miranda multidex test fails on optimizing/arm64."
* commit '
793d1023785f81eb8e29a3eb67fec17d7ee7dcbe':
miranda multidex test fails on optimizing/arm64.
Nicolas Geoffray [Tue, 4 Nov 2014 09:17:11 +0000 (09:17 +0000)]
Merge "miranda multidex test fails on optimizing/arm64."
Nicolas Geoffray [Tue, 4 Nov 2014 09:15:35 +0000 (09:15 +0000)]
miranda multidex test fails on optimizing/arm64.
Change-Id: I9c41f7aaeb77d2a50c177fdc71fa54503eeb612f
Andreas Gampe [Tue, 4 Nov 2014 08:48:15 +0000 (08:48 +0000)]
am
b6b9eeab: Merge "ART: Fix unused parameter warning on Mac"
* commit '
b6b9eeaba9b8006029a56a1c7241e56f82dcbf11':
ART: Fix unused parameter warning on Mac
Andreas Gampe [Tue, 4 Nov 2014 08:45:07 +0000 (08:45 +0000)]
Merge "ART: Fix unused parameter warning on Mac"
Andreas Gampe [Tue, 4 Nov 2014 08:42:32 +0000 (00:42 -0800)]
ART: Fix unused parameter warning on Mac
Change-Id: Ibf462b90a44c41e2f450724be8cc934b00f17f41
Andreas Gampe [Tue, 4 Nov 2014 07:53:25 +0000 (07:53 +0000)]
am
ad17d418: Merge "ART: Replace COMPILE_ASSERT with static_assert (compiler)"
* commit '
ad17d41841ba1fb177fb0bf175ec0e9f5e1412b3':
ART: Replace COMPILE_ASSERT with static_assert (compiler)
Andreas Gampe [Tue, 4 Nov 2014 07:53:23 +0000 (07:53 +0000)]
am
8851cbae: Merge "ART: Replace COMPILE_ASSERT with static_assert (runtime)"
* commit '
8851cbaeb75f5a89ec88cbf4b26d6f846bbf6411':
ART: Replace COMPILE_ASSERT with static_assert (runtime)
Andreas Gampe [Tue, 4 Nov 2014 07:51:34 +0000 (07:51 +0000)]
Merge "ART: Replace COMPILE_ASSERT with static_assert (compiler)"
Andreas Gampe [Tue, 4 Nov 2014 07:49:16 +0000 (07:49 +0000)]
Merge "ART: Replace COMPILE_ASSERT with static_assert (runtime)"
Andreas Gampe [Tue, 4 Nov 2014 07:41:03 +0000 (23:41 -0800)]
ART: Replace COMPILE_ASSERT with static_assert (runtime)
Replace all occurrences of COMPILE_ASSERT in the runtime tree.
Change-Id: I01e420899c760094fb342cc6cb9e692dd670a0b2
Andreas Gampe [Tue, 4 Nov 2014 06:57:30 +0000 (22:57 -0800)]
ART: Replace COMPILE_ASSERT with static_assert (compiler)
Replace all occurrences of COMPILE_ASSERT in the compiler tree.
Change-Id: Icc40a38c8bdeaaf7305ab3352a838a2cd7e7d840
Andreas Gampe [Tue, 4 Nov 2014 04:31:30 +0000 (04:31 +0000)]
am
2998e9cd: Merge "ART: Fix unused parameters in libsigchain"
* commit '
2998e9cdc9f19c30c4944a4726ed9f147de79ebd':
ART: Fix unused parameters in libsigchain
Andreas Gampe [Tue, 4 Nov 2014 04:27:33 +0000 (04:27 +0000)]
Merge "ART: Fix unused parameters in libsigchain"
Andreas Gampe [Tue, 4 Nov 2014 04:25:24 +0000 (20:25 -0800)]
ART: Fix unused parameters in libsigchain
The sigchain dummy implementation does not use any parameters.
Change-Id: Icbb71677e5092cd5990a69ea3a62703c0747ae17
Ian Rogers [Tue, 4 Nov 2014 04:06:06 +0000 (04:06 +0000)]
am
a10a8b56: Merge "Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags."
* commit '
a10a8b56a01be95b3ec13022d3a155e163a11673':
Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags.
Ian Rogers [Tue, 4 Nov 2014 04:02:48 +0000 (04:02 +0000)]
Merge "Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags."
Ian Rogers [Fri, 31 Oct 2014 07:33:20 +0000 (00:33 -0700)]
Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags.
Fix associated errors about unused paramenters and implict sign conversions.
For sign conversion this was largely in the area of enums, so add ostream
operators for the effected enums and fix tools/generate-operator-out.py.
Tidy arena allocation code and arena allocated data types, rather than fixing
new and delete operators.
Remove dead code.
Change-Id: I5b433e722d2f75baacfacae4d32aef4a828bfe1b
Mingyao Yang [Tue, 4 Nov 2014 00:53:39 +0000 (00:53 +0000)]
am
c6e09557: Merge "Some improvement to reg alloc."
* commit '
c6e0955737e15f7c0c3575d4e13789b3411f4993':
Some improvement to reg alloc.
Andreas Gampe [Tue, 4 Nov 2014 00:53:37 +0000 (00:53 +0000)]
am
9aee6fc7: Merge "ART: Add missing test dependency"
* commit '
9aee6fc7f23ca4c23d11b8b269da02a383d8debb':
ART: Add missing test dependency
Jeff Hao [Tue, 4 Nov 2014 00:53:36 +0000 (00:53 +0000)]
am
0c25f441: Merge "Check null this pointer for direct methods in FindMethodFast."
* commit '
0c25f441d0d85ec882b4634f496ed5bb71995f7c':
Check null this pointer for direct methods in FindMethodFast.
Mingyao Yang [Tue, 4 Nov 2014 00:21:46 +0000 (00:21 +0000)]
Merge "Some improvement to reg alloc."
Mingyao Yang [Mon, 6 Oct 2014 23:47:28 +0000 (16:47 -0700)]
Some improvement to reg alloc.
Change-Id: If579a37791278500a7e5bc763f144c241f261920
Andreas Gampe [Mon, 3 Nov 2014 23:41:18 +0000 (23:41 +0000)]
Merge "ART: Add missing test dependency"
Andreas Gampe [Mon, 3 Nov 2014 23:36:53 +0000 (15:36 -0800)]
ART: Add missing test dependency
Change-Id: Ic37fd3b8885a9745e1efe4f42578d9ab090a201c
Jeff Hao [Mon, 3 Nov 2014 22:27:16 +0000 (22:27 +0000)]
Merge "Check null this pointer for direct methods in FindMethodFast."
Jeff Hao [Thu, 30 Oct 2014 00:24:25 +0000 (17:24 -0700)]
Check null this pointer for direct methods in FindMethodFast.
Also adds regression test 127-secondarydex.
Bug:
18150997
(cherry picked from commit
d2bee3dffa2f552512f47bca605ed857e3ae30ea)
Change-Id: I911dd7c92c51939504cfee5a3d18a835987b8388
Andreas Gampe [Mon, 3 Nov 2014 18:37:14 +0000 (18:37 +0000)]
am
a338da43: Merge "ART: Add miranda checking"
* commit '
a338da434433b180c33e043929ea79b18f4c093c':
ART: Add miranda checking
Andreas Gampe [Mon, 3 Nov 2014 18:30:41 +0000 (18:30 +0000)]
Merge "ART: Add miranda checking"
Andreas Gampe [Mon, 3 Nov 2014 18:28:32 +0000 (18:28 +0000)]
am
4450721d: Merge "ART: Discard generated image in a low-memory environment"
* commit '
4450721d3d396b392b1ec27bafbf3b6f956682f7':
ART: Discard generated image in a low-memory environment
Andreas Gampe [Mon, 3 Nov 2014 18:24:44 +0000 (18:24 +0000)]
Merge "ART: Discard generated image in a low-memory environment"
Andreas Gampe [Sat, 1 Nov 2014 01:12:30 +0000 (18:12 -0700)]
ART: Add miranda checking
Add a test for resolution of miranda methods across dex-files. See
CL 112688 and b/
18193682 for the code change.
Fix the test script to support no-verify again.
Weaken the dex cache check to a check whether the found method is a
miranda method. This will penalize miranda methods, as they will
always have to be resolved by name, but does not require the multi-step
load of the method's dex cache.
Bug:
18193682
Change-Id: I1dae2a9ec0985dc8625acd7dd5686a5d3cdc8888
Mathieu Chartier [Mon, 3 Nov 2014 18:20:52 +0000 (18:20 +0000)]
am
a88219f1: Merge "Add image strings to intern table"
* commit '
a88219f157a53d6ba334bee92ad4718bfa6eb9c1':
Add image strings to intern table
Nicolas Geoffray [Mon, 3 Nov 2014 18:20:50 +0000 (18:20 +0000)]
am
71ed8c7e: Merge "Remove generated file if compiling the image failed."
* commit '
71ed8c7e38595e650dbd5a9fd17852776a938848':
Remove generated file if compiling the image failed.
Mathieu Chartier [Mon, 3 Nov 2014 18:18:40 +0000 (18:18 +0000)]
Merge "Add image strings to intern table"
Nicolas Geoffray [Mon, 3 Nov 2014 18:17:53 +0000 (18:17 +0000)]
Merge "Remove generated file if compiling the image failed."
Mathieu Chartier [Fri, 31 Oct 2014 18:49:27 +0000 (11:49 -0700)]
Add image strings to intern table
When we create the runtime, we now add the image strings to the
intern table if we are the zygote. This caused some memory bloat,
so I added an extra unordered set to the intern table.
There is now two unordered sets (hash talbe). One for pre-zygote
interns and one for post-zygote interns. This helps since the
pre-zygote hash table doesn't get dirtied. Even with adding
the image strings, we get total memory savings of around 5-7 MB
native PSS after device boot.
FB launch Before:
2.20% art::DexFile::FindStringId(char const*) const
TotalTime: 2069
TotalTime: 1985
TotalTime: 2088
TotalTime: 2003
TotalTime: 2034
TotalTime: 2049
After boot native PSS: 175585 kB: Native
After:
0.27% art::DexFile::FindStringId(char const*) const
TotalTime: 1682
TotalTime: 1756
TotalTime: 1825
TotalTime: 1751
TotalTime: 1666
TotalTime: 1813
After boot native PSS: 167089 kB: Native
Bug:
18054905
Bug:
16828525
Bug:
17808975
(cherry picked from commit
b6e292bf7eac9d73c6b79b1e9b7b87beb02436c9)
Change-Id: Ie367f3222f8c4db409ec49c3845276908b51e9c9
Andreas Gampe [Mon, 3 Nov 2014 18:17:18 +0000 (18:17 +0000)]
am
31e7c162: Merge "ART: Remove unnecessary includes"
* commit '
31e7c1628ffd90018a971e6650c924dc804b9a9a':
ART: Remove unnecessary includes
Andreas Gampe [Mon, 3 Nov 2014 18:12:44 +0000 (18:12 +0000)]
Merge "ART: Remove unnecessary includes"
Andreas Gampe [Mon, 3 Nov 2014 16:47:01 +0000 (08:47 -0800)]
ART: Remove unnecessary includes
Remove unnecessary includes from context_ISA.cc
Change-Id: Ic9919c0afd081ec405a5d972d152fe996d12fa3d
Nicolas Geoffray [Mon, 3 Nov 2014 16:23:48 +0000 (16:23 +0000)]
Remove generated file if compiling the image failed.
Change-Id: Ie809ad15d090e8303ec6ce308f76fc7f3f80cadd
Nicolas Geoffray [Mon, 3 Nov 2014 14:45:34 +0000 (14:45 +0000)]
am
07f09809: Merge "Add missing when testing TARGET_ARCH."
* commit '
07f09809c0575e985249450843b06f266b831fe1':
Add missing $() when testing TARGET_ARCH.
Nicolas Geoffray [Mon, 3 Nov 2014 14:40:29 +0000 (14:40 +0000)]
Merge "Add missing $() when testing TARGET_ARCH."
Nicolas Geoffray [Mon, 3 Nov 2014 14:39:21 +0000 (14:39 +0000)]
Add missing $() when testing TARGET_ARCH.
Change-Id: I02a25022d144ad2a502278755ff286278109a830
Nicolas Geoffray [Mon, 3 Nov 2014 14:00:33 +0000 (14:00 +0000)]
am
17231d03: Merge "Only use Quick for optimizing on arm64."
* commit '
17231d03bddaca260d8988d1007bb39c02383601':
Only use Quick for optimizing on arm64.
Nicolas Geoffray [Mon, 3 Nov 2014 14:00:32 +0000 (14:00 +0000)]
am
6cc88a7e: Merge "Disable kNoOutputOverlap optimization."
* commit '
6cc88a7e5ad695ce4f2651009231fd8f025d1a99':
Disable kNoOutputOverlap optimization.
Nicolas Geoffray [Mon, 3 Nov 2014 13:57:55 +0000 (13:57 +0000)]
Merge "Only use Quick for optimizing on arm64."
Nicolas Geoffray [Mon, 3 Nov 2014 13:57:14 +0000 (13:57 +0000)]
Merge "Disable kNoOutputOverlap optimization."
Andreas Gampe [Fri, 31 Oct 2014 23:45:19 +0000 (16:45 -0700)]
ART: Discard generated image in a low-memory environment
In case the available memory after image generation is low,
discard the image and continue in interpreted mode to mitigate
low-mem issues.
Bug:
17975190
(cherry picked from commit
e059b778a6a471455659eb8c3616858eb189fda8)
Change-Id: I9bbb5e52ffbf3570f85510efb76bcd7654e6951c
Brian Carlstrom [Fri, 31 Oct 2014 21:37:37 +0000 (21:37 +0000)]
am
9a41fb16: Merge "Fix FindDeclaredVirtualMethod(DexCache...) for miranda methods"
* commit '
9a41fb1616df7e966e58cabc2abc1b5d90c9e14f':
Fix FindDeclaredVirtualMethod(DexCache...) for miranda methods
Brian Carlstrom [Fri, 31 Oct 2014 21:33:35 +0000 (21:33 +0000)]
Merge "Fix FindDeclaredVirtualMethod(DexCache...) for miranda methods"
Brian Carlstrom [Fri, 31 Oct 2014 07:01:54 +0000 (00:01 -0700)]
Fix FindDeclaredVirtualMethod(DexCache...) for miranda methods
If a class in classes.dex implements an interface from classes2.dex,
the miranda method will be in the dex cache for classes2.dex, but
pointed to by the virtual methods of the class in the dex caches for
classes.dex.
Therefore the fast path for DexCache::ResolveMethod that searches via
class and superclass virtual methods should ensure that any method
matching on dex method_idx should be from the same dex cache as the
class itself, which is not the case for miranda methods.
Bug:
18193682
(cherry picked from commit
9a783d6a0cb437fc0d9ffcc84502912f3d1cb73b)
Change-Id: Ia44f72c2ed2701e48153d14d2c5ca4ccc4959b30
Nicolas Geoffray [Fri, 31 Oct 2014 16:30:17 +0000 (16:30 +0000)]
am
57b4d1c4: Merge "Fix armv8 testing with default ANDROID_ROOT."
* commit '
57b4d1c44e246dfd4aaef2d23b20a696a0c5e57e':
Fix armv8 testing with default ANDROID_ROOT.
Nicolas Geoffray [Fri, 31 Oct 2014 16:30:16 +0000 (16:30 +0000)]
am
f6e59f57: Merge "More armv8 failures now that optimizing supports CONST_STRING."
* commit '
f6e59f57d0c0cbbbe64d6862507350e4853495cd':
More armv8 failures now that optimizing supports CONST_STRING.
Nicolas Geoffray [Fri, 31 Oct 2014 15:50:18 +0000 (15:50 +0000)]
Merge "Fix armv8 testing with default ANDROID_ROOT."
Nicolas Geoffray [Fri, 31 Oct 2014 15:34:50 +0000 (15:34 +0000)]
Fix armv8 testing with default ANDROID_ROOT.
Change-Id: I68ac57240783822972a3f49dd54de01ef60e637d
Nicolas Geoffray [Fri, 31 Oct 2014 15:09:24 +0000 (15:09 +0000)]
Merge "More armv8 failures now that optimizing supports CONST_STRING."
Nicolas Geoffray [Fri, 31 Oct 2014 15:07:56 +0000 (15:07 +0000)]
More armv8 failures now that optimizing supports CONST_STRING.
Change-Id: Ifd53c7f520266e5a3ccdf58c50fcb7788e1eb9c6
Nicolas Geoffray [Fri, 31 Oct 2014 14:27:37 +0000 (14:27 +0000)]
Disable kNoOutputOverlap optimization.
Found a case where it does not work. Need to think more about it
as well as write a regression test.
Change-Id: I2abe05c84f2c608d622fbe6d373b6dcdb68f4162
Nicolas Geoffray [Fri, 31 Oct 2014 14:26:54 +0000 (14:26 +0000)]
am
a9014f97: Merge "Support for CONST_STRING in optimizing compiler."
* commit '
a9014f977ae90373f5bad4cf812c2bda810b10f8':
Support for CONST_STRING in optimizing compiler.
Nicolas Geoffray [Fri, 31 Oct 2014 14:24:05 +0000 (14:24 +0000)]
Merge "Support for CONST_STRING in optimizing compiler."
Nicolas Geoffray [Thu, 30 Oct 2014 10:58:41 +0000 (10:58 +0000)]
Support for CONST_STRING in optimizing compiler.
Change-Id: Iab8517bdadd1d15ffbe570010f093660be7c51aa
Nicolas Geoffray [Fri, 31 Oct 2014 10:48:25 +0000 (10:48 +0000)]
Only use Quick for optimizing on arm64.
Also, force recompilation of the images with optimizing at each
dex2oat change.
Change-Id: I4a6e3a7badc3dae4f35d4eb93659a0d59569cd1a
Ian Rogers [Thu, 30 Oct 2014 23:43:18 +0000 (23:43 +0000)]
am
8b557af8: Merge "Add math routines with defined wrapping behavior for the interpreter."
* commit '
8b557af85871e5086589afd2b3a17089d0f67df8':
Add math routines with defined wrapping behavior for the interpreter.
Ian Rogers [Thu, 30 Oct 2014 23:43:15 +0000 (23:43 +0000)]
am
2a4e71ca: Merge "Avoid signed integer overflow in identity hash code."
* commit '
2a4e71ca268f8a5b3d8424116a7a8650265d8774':
Avoid signed integer overflow in identity hash code.
Ian Rogers [Thu, 30 Oct 2014 23:43:13 +0000 (23:43 +0000)]
am
45664c99: Merge "Avoid signed integer overflow."
* commit '
45664c995b99e81f6d425206d7a43cb3b898daab':
Avoid signed integer overflow.
Mathieu Chartier [Thu, 30 Oct 2014 23:43:10 +0000 (23:43 +0000)]
am
6163fd40: Merge "Add hash table to link virtual methods"
* commit '
6163fd4004d357744ed5e1b681f74adb406c23fd':
Add hash table to link virtual methods
Ian Rogers [Thu, 30 Oct 2014 23:43:09 +0000 (23:43 +0000)]
am
c74c218d: Merge "Fix mixed signed/unsigned arithmetic in BitVector."
* commit '
c74c218da71957250b4bda45fd1ac5ed8acd0131':
Fix mixed signed/unsigned arithmetic in BitVector.
Ian Rogers [Thu, 30 Oct 2014 23:43:08 +0000 (23:43 +0000)]
am
da7bb738: Merge "Avoid signed arithmetic overflow in UTF hash functions."
* commit '
da7bb73801b53f4b70ccd7340aca5892db4f0867':
Avoid signed arithmetic overflow in UTF hash functions.
Igor Murashkin [Thu, 30 Oct 2014 23:43:04 +0000 (23:43 +0000)]
am
3efa15fd: Merge "art: Fix classlinker and nopatchoat test for PIC case"
* commit '
3efa15fd486fd07d61898720419f020066a307b2':
art: Fix classlinker and nopatchoat test for PIC case
Ian Rogers [Thu, 30 Oct 2014 23:27:25 +0000 (23:27 +0000)]
Merge "Add math routines with defined wrapping behavior for the interpreter."
Ian Rogers [Thu, 30 Oct 2014 22:41:08 +0000 (15:41 -0700)]
Add math routines with defined wrapping behavior for the interpreter.
Add a RSUB_INT_LIT16 instruction alias to make instruction opcode switch
statements easier to read.
Change-Id: I3bac07c9518665abf0b05b5c3105a90be22f780a
Ian Rogers [Thu, 30 Oct 2014 22:42:26 +0000 (22:42 +0000)]
Merge "Avoid signed integer overflow in identity hash code."
Ian Rogers [Thu, 30 Oct 2014 22:25:36 +0000 (15:25 -0700)]
Avoid signed integer overflow in identity hash code.
Caught by -ftrapv.
Change-Id: Ib8dbb31440ccce88a3c3ce7ea3b2394621616eff
Ian Rogers [Thu, 30 Oct 2014 22:25:22 +0000 (22:25 +0000)]
Merge "Avoid signed integer overflow."
Mathieu Chartier [Thu, 30 Oct 2014 22:24:49 +0000 (22:24 +0000)]
Merge "Add hash table to link virtual methods"
Ian Rogers [Thu, 30 Oct 2014 22:24:10 +0000 (22:24 +0000)]
Merge "Fix mixed signed/unsigned arithmetic in BitVector."
Mathieu Chartier [Wed, 29 Oct 2014 01:23:02 +0000 (18:23 -0700)]
Add hash table to link virtual methods
Added a hash table for turning the O(m*n) lookup average case to
O(m+n) average case. There is probably still some room for improvement.
Before:
WaitTime: 2121
WaitTime: 2051
WaitTime: 2134
WaitTime: 2104
WaitTime: 2237
WaitTime: 2391
4.99% art::MethodNameAndSignatureComparator::HasSameNameAndSignature(art::mirror::ArtMethod)
1.65% art::ClassLinker::LinkVirtualMethods(art::Thread*, art::Handle<art::mirror::Class>)
After:
WaitTime: 2038
WaitTime: 1965
WaitTime: 1979
WaitTime: 1976
WaitTime: 1957
WaitTime: 2004
0.46% art::MethodNameAndSignatureComparator::HasSameNameAndSignature(art::mirror::ArtMethod*)
1.39% art::ClassLinker::LinkVirtualMethods(art::Thread*, art::Handle<art::mirror::Class>)
Bug:
18054905
Bug:
16828525
(cherry picked from commit
a9ca9ac444ceb2cf5e8bd5c98c1ed47f2a9a94dd)
Change-Id: If847afb7194daa05ace38d15862e4b871dfffae1
Ian Rogers [Thu, 30 Oct 2014 22:19:02 +0000 (22:19 +0000)]
Merge "Avoid signed arithmetic overflow in UTF hash functions."
Ian Rogers [Thu, 30 Oct 2014 22:16:16 +0000 (15:16 -0700)]
Avoid signed arithmetic overflow in UTF hash functions.
Change-Id: I3485ef8445a6034661c1e75dc11ab9ad48884458
Ian Rogers [Thu, 30 Oct 2014 22:13:22 +0000 (15:13 -0700)]
Fix mixed signed/unsigned arithmetic in BitVector.
Change-Id: I59c7f5a26e42689f77b067f4c73b086335e9273d
Ian Rogers [Thu, 30 Oct 2014 22:10:02 +0000 (15:10 -0700)]
Avoid signed integer overflow.
Caught by -ftrapv there is a benign integer overflow if a switch has the
value max int within it (as in run-test 095).
Change-Id: I86bb8ce2f9097cb367c031ec51d58d01b31313e2
Igor Murashkin [Thu, 30 Oct 2014 21:40:18 +0000 (21:40 +0000)]
Merge "art: Fix classlinker and nopatchoat test for PIC case"
Igor Murashkin [Thu, 30 Oct 2014 02:45:42 +0000 (19:45 -0700)]
art: Fix classlinker and nopatchoat test for PIC case
ClassLinker should not be checking oat data begin and the patch delta
as part of the checksum verification (when PIC is enabled).
Also update nopatchoat test since it needs to be parametric on whether
PIC is used.
Bug:
18035729
Change-Id: I4eb184d22616230a7b8f0dd514d3416d0976b07e
Ian Rogers [Thu, 30 Oct 2014 18:59:32 +0000 (18:59 +0000)]
am
d99865e1: Merge "Remove bogus compiler flag from libart-compiler."
* commit '
d99865e11d9fb88567da3e68163d275982fd6cba':
Remove bogus compiler flag from libart-compiler.