OSDN Git Service
Mathieu Chartier [Tue, 18 Aug 2015 20:52:50 +0000 (20:52 +0000)]
am
add6cfac: Merge "Guard thread exited message by try-catch in ThreadStress"
* commit '
add6cfac914f48136e71a05f72123154d7d2d44b':
Guard thread exited message by try-catch in ThreadStress
Mathieu Chartier [Tue, 18 Aug 2015 20:48:30 +0000 (20:48 +0000)]
Merge "Guard thread exited message by try-catch in ThreadStress"
Mathieu Chartier [Tue, 18 Aug 2015 18:42:03 +0000 (11:42 -0700)]
Guard thread exited message by try-catch in ThreadStress
Bug:
18577101
Change-Id: I1c3cbbfad09b88f4d913dc86bb6a89bf5b5269a8
Mathieu Chartier [Tue, 18 Aug 2015 18:20:43 +0000 (18:20 +0000)]
am
edd0a6db: Merge "Fix some global constructors and destructors"
* commit '
edd0a6dbe26bb334f02d5abe649e3da9165277b2':
Fix some global constructors and destructors
Mathieu Chartier [Tue, 18 Aug 2015 18:14:12 +0000 (18:14 +0000)]
Merge "Fix some global constructors and destructors"
Mathieu Chartier [Tue, 18 Aug 2015 17:41:39 +0000 (10:41 -0700)]
Fix some global constructors and destructors
Bug:
17994073
Change-Id: Ib4da5ac25812460b3dcee26024d1a3415a21257b
Roland Levillain [Tue, 18 Aug 2015 17:49:18 +0000 (17:49 +0000)]
am
fc5b096f: Merge "Fix codegen_test."
* commit '
fc5b096fcddb0ddb2d01e2b28e86ed5a02d37b2e':
Fix codegen_test.
Roland Levillain [Tue, 18 Aug 2015 17:43:29 +0000 (17:43 +0000)]
Merge "Fix codegen_test."
Roland Levillain [Tue, 18 Aug 2015 17:36:20 +0000 (18:36 +0100)]
Fix codegen_test.
Allow the execution of Thumb-2 code on ARM32 hardware.
Change-Id: I2fec71e39d538249569ffa88435f3198e8c28c01
Roland Levillain [Tue, 18 Aug 2015 13:32:44 +0000 (13:32 +0000)]
am
a539ec06: Merge "Introduce support for hardware simulators, starting with ARM64"
* commit '
a539ec06503766fcad4be71480c194a225fb037c':
Introduce support for hardware simulators, starting with ARM64
Roland Levillain [Tue, 18 Aug 2015 13:28:20 +0000 (13:28 +0000)]
Merge "Introduce support for hardware simulators, starting with ARM64"
Phil Wang [Wed, 29 Jul 2015 07:14:09 +0000 (15:14 +0800)]
Introduce support for hardware simulators, starting with ARM64
Simulator support for ARM64 is implemented with VIXL.
Now codegen_test will also run on all supported hardware simulators.
Change-Id: Idc740f566175d1a23c373ea9292b8fc5ba526d00
Mathieu Chartier [Tue, 18 Aug 2015 00:44:45 +0000 (00:44 +0000)]
am
009c34cb: Merge "Fix and improve reference cache mod-union table"
* commit '
009c34cba875885d9540696f33255a9b355d6e15':
Fix and improve reference cache mod-union table
Mathieu Chartier [Tue, 18 Aug 2015 00:40:27 +0000 (00:40 +0000)]
Merge "Fix and improve reference cache mod-union table"
Mathieu Chartier [Sun, 16 Aug 2015 21:37:04 +0000 (14:37 -0700)]
Fix and improve reference cache mod-union table
Improvements:
Remove cards that only contain null references, this can save memory
in some cases.
Fixes:
Fix a bug where the mod-union table didn't properly handle class
loaders in the boot image. This was cause by not adding the new
classes as references. The fix is to leave these cards dirty.
Bug:
23203999
Change-Id: Ib1f1f74154df976dd8abaf2430c6dabd4cae2dbe
Andreas Gampe [Mon, 17 Aug 2015 23:04:47 +0000 (23:04 +0000)]
am
f0917e0e: Merge "ART: Some header cleaning around bit-utils"
* commit '
f0917e0e4b5a4e10bbe33f23f6ea6f73d36d8c52':
ART: Some header cleaning around bit-utils
Andreas Gampe [Mon, 17 Aug 2015 22:59:27 +0000 (22:59 +0000)]
Merge "ART: Some header cleaning around bit-utils"
Andreas Gampe [Fri, 14 Aug 2015 15:22:54 +0000 (08:22 -0700)]
ART: Some header cleaning around bit-utils
Try to remove dependencies where they are not necessary.
Change-Id: I5ff35cb17aea369bed3725b1610b50d7eb05b81e
Andreas Gampe [Mon, 17 Aug 2015 22:30:32 +0000 (22:30 +0000)]
am
0d52a673: Merge "Correct for 115-native-bridge hard-coded x86/x86_64 signal handling values"
* commit '
0d52a6738f55d9610f08d3be24270bd0eeb88edc':
Correct for 115-native-bridge hard-coded x86/x86_64 signal handling values
Andreas Gampe [Mon, 17 Aug 2015 22:24:30 +0000 (22:24 +0000)]
Merge "Correct for 115-native-bridge hard-coded x86/x86_64 signal handling values"
Andreas Gampe [Mon, 17 Aug 2015 21:26:44 +0000 (21:26 +0000)]
am
b0aeeb77: Merge "ART: Follow-up fixes"
* commit '
b0aeeb777f6c2567a9ea038c9442c1df592b7e04':
ART: Follow-up fixes
Andreas Gampe [Mon, 17 Aug 2015 21:21:59 +0000 (21:21 +0000)]
am
228b3973: Merge "ART: Dex2oat lint fix"
* commit '
228b3973b2b24783c727a55fda2b4b80375f7207':
ART: Dex2oat lint fix
Andreas Gampe [Mon, 17 Aug 2015 21:19:23 +0000 (21:19 +0000)]
Merge "ART: Follow-up fixes"
Andreas Gampe [Mon, 17 Aug 2015 21:15:15 +0000 (21:15 +0000)]
Merge "ART: Dex2oat lint fix"
Andreas Gampe [Mon, 17 Aug 2015 21:14:25 +0000 (14:14 -0700)]
ART: Dex2oat lint fix
Lint fix.
Change-Id: Id45bc246645715afaca58c145a70c3b319e5d673
Agi Csaki [Mon, 17 Aug 2015 20:40:45 +0000 (13:40 -0700)]
Correct for 115-native-bridge hard-coded x86/x86_64 signal handling values
Added inline assembly to ensure that the instruction causing a segfault
in x86/x86_64 for the 115-native-bridge test always has a size of 3 bytes,
in response to a bug that caused the test to fail when this instruction
had variable sizes.
Bug:
22876261
Change-Id: I296e623f170fd1925919bedf913c569a6563e3dc
Andreas Gampe [Mon, 17 Aug 2015 21:02:01 +0000 (21:02 +0000)]
am
18d54cda: Merge "Revert "Revert "ART: DCHECK zero case for CLZ/CTZ"""
* commit '
18d54cda7d9a0e6846a1c7b9b72c07598f3d1855':
Revert "Revert "ART: DCHECK zero case for CLZ/CTZ""
Andreas Gampe [Mon, 17 Aug 2015 20:52:26 +0000 (20:52 +0000)]
Merge "Revert "Revert "ART: DCHECK zero case for CLZ/CTZ"""
Andreas Gampe [Fri, 14 Aug 2015 23:01:49 +0000 (23:01 +0000)]
Revert "Revert "ART: DCHECK zero case for CLZ/CTZ""
This reverts commit
4318d91ea4be673d4deba39d33ac4718d77986a7.
Fix up the lit=-1 case in the arm32 Quick backend; add test case.
Change-Id: I8d0861133db950090ee959f532ede1448683dfa9
Andreas Gampe [Mon, 17 Aug 2015 20:43:55 +0000 (13:43 -0700)]
ART: Follow-up fixes
Addressing comments for CL 166499, commit
5073fedd553afeb6ccdb49c1a1ab2cc2947c0870.
Change-Id: I359e5a4c026d58d75cb62b90c495796855302b94
Dan Albert [Mon, 17 Aug 2015 20:37:04 +0000 (20:37 +0000)]
am
381e58a4: Merge "Only apply aarch64 clang WAR to the target."
* commit '
381e58a43c6833f7fa7018cf0545681d3ebea4c3':
Only apply aarch64 clang WAR to the target.
Dan Albert [Mon, 17 Aug 2015 20:31:53 +0000 (20:31 +0000)]
am
0b9c2424: Merge "Refactor art::Dex2Oat::ParseArg."
* commit '
0b9c24247d40e9ff1909fcc89cb01d89f2469721':
Refactor art::Dex2Oat::ParseArg.
Dan Albert [Mon, 17 Aug 2015 20:31:27 +0000 (20:31 +0000)]
Merge "Only apply aarch64 clang WAR to the target."
Dan Albert [Mon, 17 Aug 2015 17:14:51 +0000 (10:14 -0700)]
Only apply aarch64 clang WAR to the target.
Note that the ART_TARGET_CLANG_CFLAGS_$(arch) was actually broken over a
year ago. This patch fixes that and drops the no longer needed
-DNVALGRIND for clang aarch64.
Bug: http://b/
23256622
Change-Id: I749db286c0fd533aeb50744b323c1faddf951d79
Dan Albert [Mon, 17 Aug 2015 20:25:39 +0000 (20:25 +0000)]
Merge "Refactor art::Dex2Oat::ParseArg."
Roland Levillain [Mon, 17 Aug 2015 19:18:41 +0000 (20:18 +0100)]
Refactor art::Dex2Oat::ParseArg.
Split up art::Dex2Oat::ParseArg to allow
`clang++ -01 -Werror -Wframe-larger-than=1728` to compile
dex2oat.cc.
Change-Id: I0b45f394568765ccd849c87a7cf910507291e65d
Alex Light [Mon, 17 Aug 2015 17:29:49 +0000 (17:29 +0000)]
am
5e289b2b: Merge "Make patchoat match offset when given a patched image"
* commit '
5e289b2bca7a0bc67fcf00a1017d70db8b363113':
Make patchoat match offset when given a patched image
Alex Light [Mon, 17 Aug 2015 17:20:46 +0000 (17:20 +0000)]
Merge "Make patchoat match offset when given a patched image"
Vladimir Marko [Mon, 17 Aug 2015 16:03:50 +0000 (16:03 +0000)]
am
4b7b5fcd: Merge "ART: Rename ArtMethod\'s size and alignment methods."
* commit '
4b7b5fcda0f97ed874de0ccd18940030e6c71f04':
ART: Rename ArtMethod's size and alignment methods.
Vladimir Marko [Mon, 17 Aug 2015 15:57:24 +0000 (15:57 +0000)]
Merge "ART: Rename ArtMethod's size and alignment methods."
Vladimir Marko [Mon, 17 Aug 2015 11:07:23 +0000 (12:07 +0100)]
ART: Rename ArtMethod's size and alignment methods.
Remove the historical prefix "Object" to avoid confusion
with Java objects.
Change-Id: Ib36422c9a24878d8d4bd757977d99cbf66b3d567
Vladimir Marko [Mon, 17 Aug 2015 12:01:07 +0000 (12:01 +0000)]
am
8ecc1357: Merge "ART: Compress LengthPrefixedArray on 32-bit targets."
* commit '
8ecc1357e2c682165467ca8e10c7a748f7554df2':
ART: Compress LengthPrefixedArray on 32-bit targets.
Roland Levillain [Mon, 17 Aug 2015 12:01:05 +0000 (12:01 +0000)]
am
6103d962: Merge "Add \'bsr\' instruction to x86 and x86_64"
* commit '
6103d9624f0d2f3e4a486d9f1b188fddf26c8e7c':
Add 'bsr' instruction to x86 and x86_64
Vladimir Marko [Mon, 17 Aug 2015 10:49:15 +0000 (10:49 +0000)]
Merge "ART: Compress LengthPrefixedArray on 32-bit targets."
Roland Levillain [Mon, 17 Aug 2015 10:06:07 +0000 (10:06 +0000)]
Merge "Add 'bsr' instruction to x86 and x86_64"
Vladimir Marko [Wed, 12 Aug 2015 18:27:26 +0000 (19:27 +0100)]
ART: Compress LengthPrefixedArray on 32-bit targets.
Previously, the LengthPrefixedArray<ArtMethod> on 32-bit
targets contained a 64-bit length field followed by the
ArtMethod elements with size only a multiple of 4, not 8.
Consequently, an odd-length array broke the alignment for
the following array which would have the 64-bit length
placed at an unaligned address.
To fix that, we make the length field 32-bit and explicitly
pass the alignment information to the LengthPrefixedArray.
This also makes the 32-bit boot image a bit smaller.
On Nexus 5, AOSP, ToT, the field section is 11528B smaller
and the method section is 21036B smaller. 64-bit targets
should see the same savings for the field section but no
difference for the methods section.
Change-Id: I3e03e7b94129025c8a1c117c27645a34dec516d2
Dan Albert [Mon, 17 Aug 2015 01:11:01 +0000 (01:11 +0000)]
am
9d0f8210: Merge "Force Clang aarch64 builds to -O1."
* commit '
9d0f8210973aa0d823df3274f63b86116f2c58a8':
Force Clang aarch64 builds to -O1.
Dan Albert [Sun, 16 Aug 2015 23:57:36 +0000 (23:57 +0000)]
Merge "Force Clang aarch64 builds to -O1."
Dan Albert [Sun, 16 Aug 2015 23:49:29 +0000 (16:49 -0700)]
Force Clang aarch64 builds to -O1.
Bug: http://b/
23256622
Change-Id: Icab87964576f12a671e255500dec901f3558e7ad
Stephen Hines [Sat, 15 Aug 2015 02:12:54 +0000 (02:12 +0000)]
am
799e81c5: Merge "Add -Wno-pessimizing-move to Clang flags"
* commit '
799e81c5bd283bdaed07c4712a3e9df014230d12':
Add -Wno-pessimizing-move to Clang flags
Stephen Hines [Sat, 15 Aug 2015 02:04:56 +0000 (02:04 +0000)]
Merge "Add -Wno-pessimizing-move to Clang flags"
Andreas Gampe [Fri, 14 Aug 2015 23:56:59 +0000 (23:56 +0000)]
am
63fdedf3: Merge "Optimizing String.Equals as an intrinsic (x86_64)"
* commit '
63fdedf3c46a42c77713b5cc5abce47defaf5550':
Optimizing String.Equals as an intrinsic (x86_64)
Andreas Gampe [Fri, 14 Aug 2015 23:49:45 +0000 (23:49 +0000)]
Merge "Optimizing String.Equals as an intrinsic (x86_64)"
Andreas Gampe [Fri, 14 Aug 2015 22:54:53 +0000 (22:54 +0000)]
am
b31de31c: Merge "ART: Fix verifier dumping, add hard-fail dumping"
* commit '
b31de31c4559c8434aa37701ef2f9e0ba3d2ad44':
ART: Fix verifier dumping, add hard-fail dumping
Andreas Gampe [Fri, 14 Aug 2015 22:47:09 +0000 (22:47 +0000)]
Merge "ART: Fix verifier dumping, add hard-fail dumping"
Andreas Gampe [Fri, 14 Aug 2015 22:37:35 +0000 (15:37 -0700)]
ART: Fix verifier dumping, add hard-fail dumping
Fix the dumping code in the verifier.
Add an option to dump the verifier state on hard failure when
verbose:verifier.
Change-Id: Iccea92fcbcb2301356d86004ea0f5f3e5da84f3c
Andreas Gampe [Fri, 14 Aug 2015 21:40:49 +0000 (21:40 +0000)]
am
933fdd0b: Merge "ART: Relax verifier aput checking"
* commit '
933fdd0b0e7b1f831033d70b922d1845955caa53':
ART: Relax verifier aput checking
Andreas Gampe [Fri, 14 Aug 2015 21:32:53 +0000 (21:32 +0000)]
Merge "ART: Relax verifier aput checking"
Andreas Gampe [Fri, 14 Aug 2015 21:07:43 +0000 (14:07 -0700)]
ART: Relax verifier aput checking
When checking on a null array, the cases of aput and aput-wide are
shared between integral and floating point types. Be careful to not
reject a valid program.
Bug:
21867457
Bug:
23201502
Change-Id: I6c54a389c06e40a2dae00995aa16ff08a089e512
Alex Light [Wed, 12 Aug 2015 01:03:47 +0000 (18:03 -0700)]
Make patchoat match offset when given a patched image
Previously if we gave patchoat a patched image and a already patched
(but improperly relocated) oat file it would not correctly patch the
oat file to the same offset as the image.
Bug:
22599792
Bug:
23119724
Change-Id: I8773022bd75c2e0b7eb529893b147cbd8792bcad
Andreas Gampe [Fri, 14 Aug 2015 18:46:29 +0000 (18:46 +0000)]
am
a0856f51: Merge "Revert "ART: DCHECK zero case for CLZ/CTZ""
* commit '
a0856f5158e35e8cd83b36ece16c58915292653a':
Revert "ART: DCHECK zero case for CLZ/CTZ"
Andreas Gampe [Fri, 14 Aug 2015 18:39:46 +0000 (18:39 +0000)]
Merge "Revert "ART: DCHECK zero case for CLZ/CTZ""
Andreas Gampe [Fri, 14 Aug 2015 18:39:30 +0000 (18:39 +0000)]
Revert "ART: DCHECK zero case for CLZ/CTZ"
This reverts commit
51db2c217052fd6881b81f3ac5162fe88c36dbf0.
Still breaks for arm32. :(
Change-Id: I5fe6fc0cc410cc1c5b6bd68028ce9bf835cb94d5
Mathieu Chartier [Fri, 14 Aug 2015 17:59:26 +0000 (17:59 +0000)]
am
b2812de0: Merge "Change SS to use MarkObjectIfNotInToSpace for roots"
* commit '
b2812de049b55dabf6bf39535a5c9ea26d477be0':
Change SS to use MarkObjectIfNotInToSpace for roots
Andreas Gampe [Fri, 14 Aug 2015 17:59:24 +0000 (17:59 +0000)]
am
72eb673b: Merge "ART: Add utility function to dump dex CFG"
* commit '
72eb673bf8e2da90f1454cd0591a9c8173ed9213':
ART: Add utility function to dump dex CFG
Mathieu Chartier [Fri, 14 Aug 2015 17:54:21 +0000 (17:54 +0000)]
Merge "Change SS to use MarkObjectIfNotInToSpace for roots"
Andreas Gampe [Fri, 14 Aug 2015 17:51:51 +0000 (17:51 +0000)]
Merge "ART: Add utility function to dump dex CFG"
Agi Csaki [Fri, 14 Aug 2015 00:54:54 +0000 (17:54 -0700)]
Optimizing String.Equals as an intrinsic (x86_64)
The fourth implementation of String.Equals. I added an intrinsic
in x86_64 which is similar to the original java implementation
of String.equals: an instanceof check, null check,length check,
and reference equality check followed by a loop comparing strings
four characters at a time.
Interesting Benchmarking Values:
Optimizing Compiler on 64-bit Emulator
Intrinsic 1-5 Character Strings: 48 ns
Original 1-5 Character Strings: 56 ns
Intrinsic 1000+ Character Strings: 4009 ns
Original 1000+ Character Strings: 4704 ns
Intrinsic Non-String Argument: 35 ns
Original Non-String Argument: 42 ns
Bug:
21481923
Change-Id: I17d0d2e24a670a898ab1729669d3990403b9a853
Mathieu Chartier [Fri, 14 Aug 2015 17:37:28 +0000 (10:37 -0700)]
Change SS to use MarkObjectIfNotInToSpace for roots
The roots can be in the to-space since we may visit the declaring
class of an ArtMethod multiple times if it is on the call stack.
Fixes GSS/SS tests for a few test cases.
Change-Id: Iba354340289fc49987d06e70929dadb2f367734b
Mark Mendell [Thu, 13 Aug 2015 01:16:41 +0000 (21:16 -0400)]
Add 'bsr' instruction to x86 and x86_64
Add support for 'bsr' instruction. Add tests.
Change-Id: I1cd8b30d7f3f5ee7fbeef8124cc6a31bf8ce59d5
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Roland Levillain [Fri, 14 Aug 2015 16:15:18 +0000 (16:15 +0000)]
am
f67ab129: Merge "Add rep movsw to x86 and x86_64 instructions."
* commit '
f67ab129d868b8355a8403a9627f96ac1e41a796':
Add rep movsw to x86 and x86_64 instructions.
Roland Levillain [Fri, 14 Aug 2015 16:07:50 +0000 (16:07 +0000)]
Merge "Add rep movsw to x86 and x86_64 instructions."
Andreas Gampe [Fri, 14 Aug 2015 15:28:38 +0000 (15:28 +0000)]
am
d95ab77f: Merge "Revert "Revert "Optimizing String.Equals as an intrinsic (x86)"""
* commit '
d95ab77f5db43767fc78f9be42c1dd991033d682':
Revert "Revert "Optimizing String.Equals as an intrinsic (x86)""
Andreas Gampe [Fri, 14 Aug 2015 15:21:14 +0000 (15:21 +0000)]
Merge "Revert "Revert "Optimizing String.Equals as an intrinsic (x86)"""
Andreas Gampe [Fri, 14 Aug 2015 15:12:33 +0000 (15:12 +0000)]
am
f1dacdd5: Merge "ART: DCHECK zero case for CLZ/CTZ"
* commit '
f1dacdd52146841fc69949b3f485922debed9237':
ART: DCHECK zero case for CLZ/CTZ
Mark Mendell [Wed, 1 Jul 2015 18:26:52 +0000 (14:26 -0400)]
Add rep movsw to x86 and x86_64 instructions.
Add 'REP MOVSW' as a supported instruction for x86 32 and 64 bit.
Added tests.
Change-Id: I1c615ac1e7fa46c48983c90f791b92be0375c8b8
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Andreas Gampe [Fri, 14 Aug 2015 15:06:46 +0000 (15:06 +0000)]
Merge "ART: DCHECK zero case for CLZ/CTZ"
Nicolas Geoffray [Fri, 14 Aug 2015 11:00:48 +0000 (11:00 +0000)]
am
1cad8c7c: Merge "Fix a bug in the register allocator when allocating pairs."
* commit '
1cad8c7c63b600a3da83bf05fb645e08ac8fafc0':
Fix a bug in the register allocator when allocating pairs.
Nicolas Geoffray [Fri, 14 Aug 2015 10:54:56 +0000 (10:54 +0000)]
Merge "Fix a bug in the register allocator when allocating pairs."
Andreas Gampe [Fri, 14 Aug 2015 03:55:31 +0000 (20:55 -0700)]
ART: DCHECK zero case for CLZ/CTZ
Add a DCHECK_CONSTEXPR. All current callers have an explicit
zero check before hand and so we should not trip this at the
moment. Remove the TODO.
Add the check for T being unsigned for CLZ (trivial fix for
leb128.h). We use CTZ with signed types.
Change-Id: I7bbf0b1699eed21715c6cc20dbfe22b7da403b1a
Andreas Gampe [Fri, 14 Aug 2015 03:04:47 +0000 (03:04 +0000)]
am
1def08ee: Merge "Optimizing String.Equals as an intrinsic (ARM64)"
* commit '
1def08ee2f1189ddcb73f72211afb223142d173f':
Optimizing String.Equals as an intrinsic (ARM64)
Andreas Gampe [Fri, 14 Aug 2015 03:00:37 +0000 (03:00 +0000)]
Merge "Optimizing String.Equals as an intrinsic (ARM64)"
Mathieu Chartier [Fri, 14 Aug 2015 01:45:28 +0000 (01:45 +0000)]
am
0e780e48: Merge "Visit declaring class of methods on call stack"
* commit '
0e780e48aca3f6b5aef12659362d6f6adb3e2da0':
Visit declaring class of methods on call stack
Mathieu Chartier [Fri, 14 Aug 2015 01:37:58 +0000 (01:37 +0000)]
Merge "Visit declaring class of methods on call stack"
Agi Csaki [Fri, 14 Aug 2015 00:46:44 +0000 (17:46 -0700)]
Revert "Revert "Optimizing String.Equals as an intrinsic (x86)""
This reverts commit
aabdf8ad2e8d3de953d.
The third implementation of String.Equals. I added an intrinsic
in x86 which is similar to the original java implementation of
String.equals: an instanceof check, null check, length check, and
reference equality check followed by a loop comparing strings
character by character.
Interesting Benchmarking Values:
Optimizing Compiler on Nexus Player
Intrinsic 15-30 Character Strings: 177 ns
Original 15-30 Character Strings: 275 ns
Intrinsic Null Argument: 59 ns
Original Null Argument: 137 ns
Intrinsic 100-1000 Character Strings: 1812 ns
Original 100-1000 Character Strings: 6334 ns
Bug:
21481923
Change-Id: I93fa603c4bd22639143d29d0bfc7e773846f21d3
Mathieu Chartier [Thu, 13 Aug 2015 19:56:31 +0000 (12:56 -0700)]
Visit declaring class of methods on call stack
Bug:
22720414
Change-Id: Iab9727dde243d76fd9dfdb1db73899fedd1ab6ea
Agi Csaki [Fri, 14 Aug 2015 00:51:19 +0000 (17:51 -0700)]
Optimizing String.Equals as an intrinsic (ARM64)
The fifth implementation of String.Equals. I added an intrinsic
in ARM64 which is similar to the original java implementation
of String.equals: an instanceof check, null check, length check, and
reference equality check followed by a loop comparing strings four
characters at a time starting at the beginning of the string.
Interesting Benchmarking Values:
64 Bit Nexus 9:
Intrinsic Short (1-5 Character) Strings: 40 ns
Original Short (1-5 Character) Strings: 80 ns
Intrinsic Very Long (1000+ Character) Strings: 1556 ns
Original Very Long (1000+ Character) Strings: 4554 ns
Intrinsic Non-String Argument: 15 ns
Original Non-String Argument: 62 ns
Bug:
21481923
Change-Id: If37b399614c2250f52ac709a3b50c356419ca88a
Mathieu Chartier [Thu, 13 Aug 2015 21:35:27 +0000 (21:35 +0000)]
am
060841a3: Merge "Ignore OOME in ThreadStress Daemon threads"
* commit '
060841a3966afc7a5251134d1f1ef100849b1468':
Ignore OOME in ThreadStress Daemon threads
Mathieu Chartier [Thu, 13 Aug 2015 21:28:28 +0000 (21:28 +0000)]
Merge "Ignore OOME in ThreadStress Daemon threads"
Mathieu Chartier [Thu, 13 Aug 2015 20:02:01 +0000 (13:02 -0700)]
Ignore OOME in ThreadStress Daemon threads
When the runtime is shutting down we don't allow GC, this can cause
OOME in Daemon threads that are allocating. The OOME stack trace
printing can cause the test to fail.
Bug:
18577101
Change-Id: Iabbce3d75caada361dd06942f4b3be9907596091
Roland Levillain [Thu, 13 Aug 2015 16:31:39 +0000 (16:31 +0000)]
am
837b6497: Merge "Adjust art::HTypeConversion\'s side effects for MIPS64."
* commit '
837b64974977f615dd1f0662857b97536acdb4dd':
Adjust art::HTypeConversion's side effects for MIPS64.
Roland Levillain [Thu, 13 Aug 2015 16:25:52 +0000 (16:25 +0000)]
Merge "Adjust art::HTypeConversion's side effects for MIPS64."
Nicolas Geoffray [Thu, 13 Aug 2015 15:23:30 +0000 (15:23 +0000)]
am
e28dde5c: Merge "Small optimization improvements."
* commit '
e28dde5c7907f14042a0c9bcfa8dad436a1d82f4':
Small optimization improvements.
Nicolas Geoffray [Thu, 13 Aug 2015 15:16:40 +0000 (15:16 +0000)]
Merge "Small optimization improvements."
Roland Levillain [Thu, 13 Aug 2015 11:31:44 +0000 (12:31 +0100)]
Adjust art::HTypeConversion's side effects for MIPS64.
Also improve debugging information in
art::CodeGenerator::ValidateInvokeRuntime.
Change-Id: Icfcd1a5cfa5e5449a316251dc20547de6badecb5
Roland Levillain [Thu, 13 Aug 2015 11:06:35 +0000 (11:06 +0000)]
am
7c2af0d8: Merge "Remove unnecessary `explicit` qualifiers on constructors."
* commit '
7c2af0d873b7033adccf8fa7adf259166c53d369':
Remove unnecessary `explicit` qualifiers on constructors.
Roland Levillain [Thu, 13 Aug 2015 11:00:54 +0000 (11:00 +0000)]
Merge "Remove unnecessary `explicit` qualifiers on constructors."
Andreas Gampe [Mon, 10 Aug 2015 18:40:25 +0000 (11:40 -0700)]
ART: Add utility function to dump dex CFG
Add a utility function in utils.h to dump the dex CFG of
a method.
Add an option ("-g") to dump CFGs of a dex file in dexdump2.
Change-Id: I380082f0abe8ed7eeb6a9186364a99425f69f55c
Andreas Gampe [Thu, 13 Aug 2015 05:32:50 +0000 (05:32 +0000)]
am
1d4219ee: Merge "Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets"
* commit '
1d4219ee25dfb228cc72f353d97be69584fc0722':
Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets
Andreas Gampe [Thu, 13 Aug 2015 05:26:35 +0000 (05:26 +0000)]
Merge "Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets"