OSDN Git Service
Nicolas Geoffray [Mon, 12 Sep 2016 22:05:33 +0000 (22:05 +0000)]
Revert "Use implicit null checks inside try blocks."
Fails gcstress tests.
This reverts commit
7aa7560683626c7893011271c241b3265ded1dc3.
Change-Id: I4f5c89048b9ffddbafa02f3001e329ff87058ca2
Vladimir Marko [Wed, 7 Sep 2016 14:09:21 +0000 (15:09 +0100)]
Use implicit null checks inside try blocks.
Make implicit null check entrypoint save all registers, use
platform-specific approach to still pass the fault address.
Allow implicit null checks in try blocks.
On Nexus 9, AOSP ToT, the boot.oat size reduction is
prebuilt multi-part boot image:
- 32-bit boot.oat: -452KiB (-0.7%)
- 64-bit boot.oat: -482KiB (-0.7%)
on-device built single boot image:
- 32-bit boot.oat: -444KiB (-0.7%)
- 64-bit boot.oat: -488KiB (-0.7%)
Test: Run ART test suite on host and Nexus 9.
Test: Build aosp_mips64-eng.
Change-Id: I279f3ab57e2e2f338131c5cac45c51b673bdca19
Vladimir Marko [Fri, 9 Sep 2016 10:56:05 +0000 (11:56 +0100)]
ARM64: Use macros for increasing and decreasing frame size.
And fix saving/restoring CFI around returns.
Test: m test-art-target on Nexus9.
Change-Id: Iad94ca694ac899adec158ae79a931316a0be46f1
Treehugger Robot [Thu, 8 Sep 2016 13:06:38 +0000 (13:06 +0000)]
Merge "ARM64: Use macros for saving/restoring registers in assembly."
Vladimir Marko [Wed, 7 Sep 2016 17:05:55 +0000 (18:05 +0100)]
ARM64: Use macros for saving/restoring registers in assembly.
And for read barrier entrypoints, store LR conventionally
at the top of the frame instead of having a padding there.
Test: m test-art-target on Nexus 9.
Test: m test-art-target with CC on Nexus 9.
Change-Id: I48eaba3ee71c0629d2cc851fdd802590256a0739
David Sehr [Thu, 8 Sep 2016 00:39:03 +0000 (00:39 +0000)]
Merge "Fix some memory leaks found by valgrind."
Treehugger Robot [Thu, 8 Sep 2016 00:35:10 +0000 (00:35 +0000)]
Merge changes I20396a1b,I794df17a
* changes:
Support CUSTOM_TARGET_LINKER
Support HOST_PREFER_32_BIT
David Sehr [Wed, 7 Sep 2016 20:04:01 +0000 (13:04 -0700)]
Fix some memory leaks found by valgrind.
Bug:
29921113
Change-Id: If70d475a3317751d206658c5794a32d78bc33e47
Test: valgrind-test-art-host-gtest (with --trace-children=yes)
Treehugger Robot [Wed, 7 Sep 2016 22:54:12 +0000 (22:54 +0000)]
Merge "ART: Generate path to entrypoints in VisitLoadString for arm"
Colin Cross [Wed, 7 Sep 2016 21:12:50 +0000 (14:12 -0700)]
Support CUSTOM_TARGET_LINKER
Support overriding the dynamic linker setting in ART binaries when
CUSTOM_TARGET_LINKER is set. Used for ART testing of new binaries on a
device flashed to an old platform.
Change-Id: I20396a1bedd37cdf884d0c5a68f93b9a3e7e10b2
Colin Cross [Tue, 6 Sep 2016 17:24:28 +0000 (10:24 -0700)]
Support HOST_PREFER_32_BIT
HOST_PREFER_32_BIT has been removed from the build system, support it
directly in art. When it is set, set the compile_multilib property of
all host art modules to "prefer32".
Change-Id: I794df17a805588392bd448983f279e4b8c8fe1c6
Christina Wadsworth [Wed, 31 Aug 2016 00:19:14 +0000 (17:19 -0700)]
ART: Generate path to entrypoints in VisitLoadString for arm
ARM32 boot.oat with CC:
72534816 ->
71888864 (-0.9%)
Move code that branches to entrypoints from GenerateSlowPaths to
VisitLoadString. Since we're doing this every time, we shouldn't have it
at the end with all of the slow paths.
Test: N6P booting with CC, test-art-target32 on shamu
Change-Id: I9c3307629015c9f6460506519339d4f275abe5a9
Mathieu Chartier [Wed, 7 Sep 2016 21:10:34 +0000 (21:10 +0000)]
Merge "Avoid read barrier for image HLoadClass"
Aart Bik [Wed, 7 Sep 2016 18:14:06 +0000 (18:14 +0000)]
Merge "Prepare bisection search for runtest integration"
David Sehr [Wed, 7 Sep 2016 17:43:28 +0000 (17:43 +0000)]
Merge "Separate DexIr building from constructors."
Mathieu Chartier [Sat, 3 Sep 2016 00:11:57 +0000 (17:11 -0700)]
Avoid read barrier for image HLoadClass
Concurrent copying baker:
X86_64 core-optimizing-pic.oat:
28583112 ->
27906824 (2.4% smaller)
Around 0.4% of 2.4% is from re-enabling kBootImageLinkTimeAddress,
kBootImageLinkTimePcRelative, and kBootImageAddress.
N6P boot.oat 32:
73042140 ->
71891956 (1.57% smaller)
N6P boot.oat 64:
83831608 ->
82531456 (1.55% smaller)
EAAC: 1252 -> 1245 (32 samples)
Bug:
29516974
Test: test-art-host CC baker, N6P booting
Change-Id: I9a196cf0157058836981c43c93872e9f0c4919aa
Greg Kaiser [Wed, 7 Sep 2016 15:00:51 +0000 (15:00 +0000)]
Merge "LogMessageData: Fix assignment in constructor"
Roland Levillain [Wed, 7 Sep 2016 11:12:37 +0000 (11:12 +0000)]
Merge "Add build rules for statically linked oatdump on host."
Colin Cross [Wed, 7 Sep 2016 07:27:40 +0000 (07:27 +0000)]
Merge "Revert "Convert more of art to Android.bp""
Colin Cross [Wed, 7 Sep 2016 07:16:35 +0000 (00:16 -0700)]
Revert "Convert more of art to Android.bp"
This reverts commits
4a456275e25c536f525b6c020ca38c8ada8a05de and
198a957915eb75c5f837ea57d385aa6cfa69f76e.
Change-Id: Ibe49f611ae3ed7748bcfc9ac07f8d1f52d6bea3a
Treehugger Robot [Wed, 7 Sep 2016 04:15:09 +0000 (04:15 +0000)]
Merge "Fix art tests"
Colin Cross [Wed, 7 Sep 2016 02:32:39 +0000 (19:32 -0700)]
Fix art tests
dalvikvm needs to be compiled for 32-bit and 64-bit.
Change-Id: I184d7e4e3338c0858b0520f7eba7f9b256cfc02a
Treehugger Robot [Wed, 7 Sep 2016 01:35:01 +0000 (01:35 +0000)]
Merge "Convert more of art to Android.bp"
Treehugger Robot [Tue, 6 Sep 2016 23:12:04 +0000 (23:12 +0000)]
Merge "Add -g to art script --perf-report"
Hiroshi Yamauchi [Tue, 6 Sep 2016 21:42:29 +0000 (21:42 +0000)]
Merge changes I31aaf3ae,I8ef4639f
* changes:
Disable the from-space memory protection under host debug build.
Revert "Disable the from-space memory protection under debug/gcstress."
David Sehr [Thu, 1 Sep 2016 20:03:50 +0000 (13:03 -0700)]
Separate DexIr building from constructors.
Move all the construction from DexFile out of the constructors of the
basic IR.
Bug:
29921113
Change-Id: I3f79c104ce7183ddde73f143c047061416009a54
Test: test-art-host-gtest
Treehugger Robot [Tue, 6 Sep 2016 19:43:09 +0000 (19:43 +0000)]
Merge "ART: Dump more info on 137-cfi failure"
Hiroshi Yamauchi [Tue, 6 Sep 2016 19:24:52 +0000 (12:24 -0700)]
Disable the from-space memory protection under host debug build.
Temporarily for diagnosing the odd memory protection issue on the build
server.
Bug:
31172841
Test: test-art-host with SS
Change-Id: I31aaf3ae5b1d3bda901c6c739933b5a4751058c1
Treehugger Robot [Tue, 6 Sep 2016 19:24:44 +0000 (19:24 +0000)]
Merge "Optimizing: Fix handling empty fill-array-data."
Hiroshi Yamauchi [Tue, 6 Sep 2016 19:20:26 +0000 (12:20 -0700)]
Revert "Disable the from-space memory protection under debug/gcstress."
Bug:
31172841
This reverts commit
7a2d267b907000c56f401ab3c51f155cee9752a9.
Change-Id: I8ef4639f255118aba278f8051adf356271116507
Colin Cross [Tue, 30 Aug 2016 20:49:26 +0000 (13:49 -0700)]
Convert more of art to Android.bp
Change-Id: I1b10f140e17dd5e12a9d7f6a29d47cf61f5bf6ef
Treehugger Robot [Tue, 6 Sep 2016 18:20:07 +0000 (18:20 +0000)]
Merge "Change deoptimize entrypoint to save everything."
Treehugger Robot [Tue, 6 Sep 2016 17:59:40 +0000 (17:59 +0000)]
Merge "ARM: VIXL32: Support a newer version of VIXL."
Andreas Gampe [Mon, 5 Sep 2016 19:30:49 +0000 (12:30 -0700)]
ART: Dump more info on 137-cfi failure
Print the maps of the secondary process. Try to induce in-process
dumping of the secondary.
Bug:
31208203
Change-Id: I16a80e8510b297d61a51fdee91ab1c2f2e5a47c8
Vladimir Marko [Tue, 6 Sep 2016 15:49:15 +0000 (16:49 +0100)]
Optimizing: Fix handling empty fill-array-data.
Test: m test-art-host-run-test-412-new-array
Bug:
31300081
Change-Id: Id0512fc95a96c37de2ceab481666688435fa30f6
Vladimir Marko [Mon, 5 Sep 2016 09:44:04 +0000 (10:44 +0100)]
Change deoptimize entrypoint to save everything.
And implement FPU register retrieval from stack on x86.
On Nexus 9, AOSP ToT, the boot.oat size reduction is
prebuilt multi-part boot image:
- 32-bit boot.oat: -20KiB (-0.03%)
- 64-bit boot.oat: -45KiB (-0.06%)
on-device built single boot image:
- 32-bit boot.oat: -24KiB (-0.04%)
- 64-bit boot.oat: -36KiB (-0.05%)
Test: Run ART test suite on host and Nexus 9.
Bug:
30212852
Change-Id: I5d98e2a24363136d73dfec6100ab02f8eb101911
Greg Kaiser [Tue, 6 Sep 2016 04:39:51 +0000 (21:39 -0700)]
LogMessageData: Fix assignment in constructor
The previous code was assigning to the function argument, not
the member variable. Since our member variable is 'const'
we use a helper function to acheive this.
Test: m test-art-host
Change-Id: I11bf7b04297b7b6c0649a87416a7a6e622e2db43
Roland Levillain [Tue, 6 Sep 2016 10:09:41 +0000 (11:09 +0100)]
Add build rules for statically linked oatdump on host.
Also extend oatdump_test to exercise oatdump(d)s.
Test: ART_BUILD_HOST_STATIC=true m test-art-host-gtest-oatdump_test
Bug:
29530992
Change-Id: I6eb6c96f385832733d18d0400abd9974a6d8e45c
Treehugger Robot [Tue, 6 Sep 2016 09:07:05 +0000 (09:07 +0000)]
Merge "MIPS32: Ensure preservation of RA in leaf methods if it's clobbered"
Treehugger Robot [Mon, 5 Sep 2016 21:24:09 +0000 (21:24 +0000)]
Merge "Fix typo in definition of `build-art-executable`."
Treehugger Robot [Mon, 5 Sep 2016 18:12:13 +0000 (18:12 +0000)]
Merge "Avoid excessive spill slots for slow paths."
Vladimir Marko [Tue, 9 Aug 2016 10:04:26 +0000 (11:04 +0100)]
Avoid excessive spill slots for slow paths.
Reducing the frame size makes stack maps smaller as we need
fewer bits for stack masks and some dex register locations
may use short location kind rather than long. On Nexus 9,
AOSP ToT, the boot.oat size reduction is
prebuilt multi-part boot image:
- 32-bit boot.oat: -416KiB (-0.6%)
- 64-bit boot.oat: -635KiB (-0.9%)
prebuilt multi-part boot image with read barrier:
- 32-bit boot.oat: -483KiB (-0.7%)
- 64-bit boot.oat: -703KiB (-0.9%)
on-device built single boot image:
- 32-bit boot.oat: -380KiB (-0.6%)
- 64-bit boot.oat: -632KiB (-0.9%)
on-device built single boot image with read barrier:
- 32-bit boot.oat: -448KiB (-0.6%)
- 64-bit boot.oat: -692KiB (-0.9%)
The other benefit is that at runtime, threads may need fewer
pages for their stacks, reducing overall memory usage.
We defer the calculation of the maximum spill size from
the main register allocator (linear scan or graph coloring)
to the RegisterAllocationResolver and do it based on the
live registers at slow path safepoints. The old notion of
an artificial slow path safepoint interval is removed as
it is no longer needed.
Test: Run ART test suite on host and Nexus 9.
Bug:
30212852
Change-Id: I40b3d114e278e2c5807982904fa49bf6642c6275
Roland Levillain [Mon, 5 Sep 2016 15:27:20 +0000 (16:27 +0100)]
Fix typo in definition of `build-art-executable`.
Uses of `LOCAL_MODULES` need two `$` signs within that Make
function definition, so the variable is properly evaluated,
as `build-art-executable` is expanded twice (because it is
used in calls to the `eval` function).
Test: ART_BUILD_HOST_STATIC=true mmma art
Change-Id: I669d493aa7470cb8cde28b2018c784937cd2d335
Anton Kirilov [Fri, 2 Sep 2016 19:55:46 +0000 (20:55 +0100)]
ARM: VIXL32: Support a newer version of VIXL.
Change-Id: I410c1536637a3282640d06894632491fe5d3c72a
Orion Hodson [Mon, 5 Sep 2016 14:42:31 +0000 (14:42 +0000)]
Merge "Address a couple of TODOs and remove an unused header."
Nicolas Geoffray [Mon, 5 Sep 2016 12:54:42 +0000 (12:54 +0000)]
Merge changes I3f825746,Ia4284ccd,I437ffd43
* changes:
Extend the InvokeRuntime() changes to mips64.
Extend the InvokeRuntime() changes to mips.
Extend the InvokeRuntime() changes to x86 and x86_64.
Orion Hodson [Mon, 5 Sep 2016 12:43:11 +0000 (13:43 +0100)]
Address a couple of TODOs and remove an unused header.
Fixing overlooked comments in:
https://android-review.googlesource.com/#/c/258402/
Test: test-art-target-gtest-dex_file_test
Change-Id: I5dc4ddb0cfaf1445a92620d8e2fa35cdb277df6a
Treehugger Robot [Mon, 5 Sep 2016 09:18:53 +0000 (09:18 +0000)]
Merge "Clean up some includes."
Orion Hodson [Mon, 5 Sep 2016 09:11:36 +0000 (09:11 +0000)]
Merge "Support for loading classes from DEX files stored in a ByteBuffer."
Treehugger Robot [Sat, 3 Sep 2016 17:06:43 +0000 (17:06 +0000)]
Merge changes I5acba084,I08a3379d
* changes:
ART: Suppress libbase failures in valgrind
ART: Use a 50-deep call-stack in valgrind
Nicolas Geoffray [Sat, 3 Sep 2016 13:56:59 +0000 (13:56 +0000)]
Merge "ART: Fixup JDWP tests script"
Andreas Gampe [Thu, 31 Dec 2015 03:37:48 +0000 (19:37 -0800)]
ART: Fixup JDWP tests script
The tests have problems on the host because of boot images. Vogar
by default runs in 32-bit mode, but the art script, used for forked
debuggee processes, by default runs in 64-bit. The JDWP forks also
do not set a boot classpath. With that mismatch, when the tests
are run in 32-bit mode on a 64-bit enabled host, the forked processes
will die.
Check whether a --variant parameter was passed to the test (and if
not assume it's x32). If the parameter is x32, then adapt the
debuggee command to ensure the forked runtime also runs in 32-bit
mode and finds the image from the controller. Similarly handle
the x64 case.
Change-Id: Ic22477e33702e1a7c1ca94466bf02df4cb201723
Andreas Gampe [Sat, 3 Sep 2016 02:43:59 +0000 (19:43 -0700)]
ART: Suppress libbase failures in valgrind
Whitelist globals in libbase's logging code that are triggered
when loading libjavacore.
Note: this suppression is very broad and applies to all leaks
during core native-methods binding. It is intentionally so to
be robust to name changes.
Test: m valgrind-test-art-host
Test: m valgrind-test-art-target-gtest-exception_test (N9)
Bug:
31275764
Change-Id: I5acba084fe6cfc3b03e1f899ea546a57ad5cf11c
Andreas Gampe [Sat, 3 Sep 2016 02:43:09 +0000 (19:43 -0700)]
ART: Use a 50-deep call-stack in valgrind
Necessary to diagnose issues. Required for deep suppressions.
Test: m valgrind-test-art-host
Change-Id: I08a3379d4763d66a2ae7db1f2f500c93b0a93e90
Wojciech Staszkiewicz [Thu, 1 Sep 2016 21:36:13 +0000 (14:36 -0700)]
Prepare bisection search for runtest integration
Prepares bisection_search.py for run-test integration.
Introduces a --raw-cmd switch which accepts a full dalvikvm
command.
Fixes few bugs.
Test: ./art/tools/bisection-search/bisection_test.py
manual testing
Change-Id: I0272d21fe1e73278837bce76ad3eef632993fbe2
Mathieu Chartier [Fri, 2 Sep 2016 21:32:59 +0000 (21:32 +0000)]
Merge "Use the fast path object size for RosAlloc asm stubs"
Mathieu Chartier [Fri, 2 Sep 2016 18:44:11 +0000 (11:44 -0700)]
Add -g to art script --perf-report
Gives a basic call stack, good for knowing what calls what.
Test: art --perf-report
Change-Id: Ifa44040491ed865bf839d62622494d951f2bcd62
Nicolas Geoffray [Fri, 2 Sep 2016 18:43:10 +0000 (18:43 +0000)]
Merge "Remove duplicate entry."
Nicolas Geoffray [Fri, 2 Sep 2016 18:42:22 +0000 (19:42 +0100)]
Remove duplicate entry.
Change-Id: Ic9f172a19adb83028e9d13c8349a732931aec7db
Mathieu Chartier [Thu, 1 Sep 2016 21:06:54 +0000 (14:06 -0700)]
Use the fast path object size for RosAlloc asm stubs
Also address comments. MemAllocTest perf on N5X speedup in the noise.
Bug:
9986565
Test: test-art-host -j32, N5X booting
Change-Id: Ic22ca92aab88b37fd66928949bf11264ee3476dc
Treehugger Robot [Fri, 2 Sep 2016 14:55:29 +0000 (14:55 +0000)]
Merge "Blacklist flaky test."
Treehugger Robot [Fri, 2 Sep 2016 14:52:27 +0000 (14:52 +0000)]
Merge "verifier: Pass ClassDef as a reference"
Vladimir Marko [Fri, 2 Sep 2016 11:38:38 +0000 (12:38 +0100)]
Clean up some includes.
Remove some unnecessary includes from header files, replace
others with forward references and add includes to source
files as needed. Reduce dependency on stack.h by pulling
StackReference<> out to its own file.
Test: m test-art-host
Change-Id: I0fb182145e328870cbd918b0ef6ae2950223c1b2
Treehugger Robot [Fri, 2 Sep 2016 13:41:22 +0000 (13:41 +0000)]
Merge "Cache result of an expensive DCHECK"
David Brazdil [Fri, 2 Sep 2016 13:13:18 +0000 (14:13 +0100)]
verifier: Pass ClassDef as a reference
Tiny refactor. ClassDef should never be null, yet we pass it as
a pointer, check it is not null and dereference everywhere.
Change-Id: Id89a1f599f1289d3cc00846306a890e06e438f88
David Brazdil [Fri, 2 Sep 2016 10:42:48 +0000 (11:42 +0100)]
Cache result of an expensive DCHECK
LiveInterval::AddBackEdgeUses tests whether linear order is well
formed on debug builds. This is expensive and can significantly hinder
compilation times when many back edge uses are added.
This patch moves the IsLinearOrderWellFormed test at the end of
linear order generation.
Bug:
31163119
Change-Id: Ic4fe66bee2055f4b2cb065d9451ad5f21ba00676
Treehugger Robot [Fri, 2 Sep 2016 11:32:29 +0000 (11:32 +0000)]
Merge "Revert "Revert "Refactor writing type lookup tables into OAT"""
Orion Hodson [Wed, 17 Aug 2016 09:51:42 +0000 (10:51 +0100)]
Support for loading classes from DEX files stored in a ByteBuffer.
Bug: http://b/
26878838
Test: test-art-target-gtest-dex_file_test
Change-Id: I68845c35784386bde6270102f0079d4f07bc4d03
David Brazdil [Thu, 1 Sep 2016 16:38:47 +0000 (16:38 +0000)]
Revert "Revert "Refactor writing type lookup tables into OAT""
OatWriter used to write type lookup tables through an mmap of the
DEX section of the OAT file. This approach would not work once the
DEX section is moved into the VDEX file, hence it was rewritten to
write the data through OutputStream.
This reverts commit
b92ba6296d4ef5b9a6674120ffaafde7d2511812.
Test: m test-art-host
Bug:
30937355
Change-Id: Id923f2c8a4f9ce2a3834b9886b4358e1b379b83d
Nicolas Geoffray [Fri, 2 Sep 2016 09:04:52 +0000 (10:04 +0100)]
Blacklist flaky test.
bug:
31258002
Change-Id: Ida80028b0fb49208f4eb4d0ba929800b28574902
Treehugger Robot [Fri, 2 Sep 2016 03:09:44 +0000 (03:09 +0000)]
Merge "Disable the from-space memory protection under debug/gcstress."
Treehugger Robot [Fri, 2 Sep 2016 02:05:00 +0000 (02:05 +0000)]
Merge "ART: Use thread annotation macros from base"
Colin Cross [Fri, 2 Sep 2016 00:16:33 +0000 (00:16 +0000)]
Merge "Remove auto-generated executable list"
Alexey Frunze [Wed, 31 Aug 2016 04:40:46 +0000 (21:40 -0700)]
MIPS32: Ensure preservation of RA in leaf methods if it's clobbered
Test: booted MIPS32 in QEMU
Test: test-art-host-gtest
Test: test-art-target-gtest-codegen_test in QEMU
Test: test-art-target-run-test-optimizing on CI20
Change-Id: Ia3da5902d967cd7af313f03ebf414320b0063619
Mathieu Chartier [Thu, 1 Sep 2016 23:06:09 +0000 (23:06 +0000)]
Merge "ART: Clean up x86 asm in dex cache entrypoints"
Colin Cross [Thu, 1 Sep 2016 22:29:52 +0000 (22:29 +0000)]
Merge changes Id2bc87dc,I17c191ec
* changes:
Fix naming of libartd-simulator
Fix debug flag ordering
Treehugger Robot [Thu, 1 Sep 2016 22:12:27 +0000 (22:12 +0000)]
Merge "Make 115-native-bridge idempotent"
Colin Cross [Tue, 30 Aug 2016 23:18:42 +0000 (16:18 -0700)]
Remove auto-generated executable list
Keep a list of the useful executables, and use the -host and -target
phony targets to depend on them for build-art-host and build-art-target.
Relanding I8ff4da32a03c219924be7990963e0c3ba90ef316 with fixes to build
the debug versions of executables, which are needed by the tests.
Change-Id: Id941cf5d1a638763cf4cf2bc0412b0782ae21694
Treehugger Robot [Thu, 1 Sep 2016 21:57:41 +0000 (21:57 +0000)]
Merge "MIPS32: Additional bitCount optimizations."
Hiroshi Yamauchi [Thu, 1 Sep 2016 21:27:25 +0000 (14:27 -0700)]
Disable the from-space memory protection under debug/gcstress.
Temporarily for diagnosing the odd memory protection issue on the build
server.
Bug:
31172841
Test: test-art-host with SS and with SS/gcstress.
Change-Id: I915fcdc451ee92b5487c1fcbf8186767830ef1ad
Mathieu Chartier [Thu, 1 Sep 2016 16:42:39 +0000 (16:42 +0000)]
Merge "Clean up art_quick_resolve_string for arm64"
Mathieu Chartier [Thu, 1 Sep 2016 16:34:48 +0000 (16:34 +0000)]
Merge "Faster allocation fast path"
David Brazdil [Thu, 1 Sep 2016 16:01:13 +0000 (16:01 +0000)]
Merge "Revert "Refactor writing type lookup tables into OAT""
David Brazdil [Thu, 1 Sep 2016 16:00:30 +0000 (16:00 +0000)]
Revert "Refactor writing type lookup tables into OAT"
Gtest not happy.
This reverts commit
1a069a5baa78e55dfa95ad989dc137517000b7fd.
Change-Id: Iada7a93c1928f7f61462615f3128c6b50bb21859
David Brazdil [Thu, 1 Sep 2016 15:38:40 +0000 (15:38 +0000)]
Merge "Refactor writing type lookup tables into OAT"
Vladimir Marko [Thu, 1 Sep 2016 15:35:43 +0000 (15:35 +0000)]
Merge "Revert "Re-enable boot image string sharpening.""
Vladimir Marko [Thu, 1 Sep 2016 15:33:04 +0000 (15:33 +0000)]
Revert "Re-enable boot image string sharpening."
The boot image may not contain the target String.
Bug:
20323084
Bug:
31239436
This reverts commit
9ed010e43c729a801089307c55f20f6d4df8271c.
Change-Id: Id299619ff9866bacd5098f76836355878a478042
David Brazdil [Wed, 31 Aug 2016 16:15:12 +0000 (17:15 +0100)]
Refactor writing type lookup tables into OAT
OatWriter used to write type lookup tables through an mmap of the
DEX section of the OAT file. This approach would not work once the
DEX section is moved into the VDEX file, hence it was rewritten to
write the data through OutputStream.
Test: m test-art-host
Bug:
30937355
Change-Id: Id89a680e6e7cbdba47fa7e211a48b92d30a82b29
Vladimir Marko [Thu, 1 Sep 2016 12:40:03 +0000 (12:40 +0000)]
Merge "[MIPS] Fix a mips64 mterp bug."
Vladimir Marko [Thu, 1 Sep 2016 10:17:20 +0000 (10:17 +0000)]
Merge "Constant fold Equal/NotEqual between null and non-null."
Vladimir Marko [Thu, 1 Sep 2016 09:50:44 +0000 (09:50 +0000)]
Merge "Avoid decrementing iterator to std::set<>::begin() in RosAlloc."
Vladimir Marko [Wed, 31 Aug 2016 17:56:04 +0000 (18:56 +0100)]
Avoid decrementing iterator to std::set<>::begin() in RosAlloc.
Avoid undefined behavior in the expression
free_page_runs_.erase(it--);
when it == free_page_runs_.begin().
Also avoid the similar expression
free_page_runs_.erase(it++)
even though it's always well-defined.
In practice, the undefined behavior has no observable
side effects with the std::set<> implementation we use.
Therefore a regression test is not feasible.
Test: m test-art-host
Change-Id: I4bdeb6cdd068fe5da416b0e66953d5620ad5e999
Treehugger Robot [Thu, 1 Sep 2016 03:21:22 +0000 (03:21 +0000)]
Merge "Disable dexlayout_test on target."
Treehugger Robot [Thu, 1 Sep 2016 02:43:38 +0000 (02:43 +0000)]
Merge "Revert "Remove auto-generated executable list""
Mathieu Chartier [Wed, 31 Aug 2016 16:38:40 +0000 (09:38 -0700)]
Faster allocation fast path
Added a new object size field to class, this field contains the
aligned object size if the object is not finalizable and is
initialized. If the object is finalizable or uninitialized the field
is set to some large value that forces the ASM allocators to go slow
path.
Only implemented for region/normal TLAB for now, will add the to
RosAlloc stubs soon.
CC N6P MemAllocTest: 1067 -> 1039 (25 samples)
CC N6P EAAC: 1281 -> 1260 (25 samples)
RAM overhead technically 0 since mirror::Class was not 8 byte aligned
previously. Since the allocators require 8 byte allignment, there
would have been 1 word of padding at the end of the class. If there
was actually 4 extra bytes per class, the system overhead would be
36000 * 4 = 120KB based on old N6P numbers for the number of loaded
classes after boot.
Bug:
9986565
Test: test-art-host CC baker, N6P phone boot and EAAC runs.
Change-Id: I119a87b8cc6c980bff980a0c62f42610dab5e531
Jeff Hao [Thu, 1 Sep 2016 00:56:13 +0000 (17:56 -0700)]
Disable dexlayout_test on target.
Target doesn't have diff to compare output files.
Bug:
29921113
Test: mm test-art-target-gtest-dexlayout_test
Change-Id: I244c0c74214b780676283de1b309978667ff58e3
Colin Cross [Thu, 1 Sep 2016 01:09:57 +0000 (01:09 +0000)]
Revert "Remove auto-generated executable list"
This reverts commit
6cb44d986fc4a5b12c50f8ae8bafe4d58ae81a36.
Change-Id: Ic9b5413069585d8cda6746307c604ecba8515716
Mathieu Chartier [Tue, 30 Aug 2016 16:42:28 +0000 (09:42 -0700)]
Clean up art_quick_resolve_string for arm64
Use ubfx instead of and, add missing cfi directives.
Test: test-art-target-run-test CC baker, N6P phone booting.
Change-Id: I6e0e958fa7d77a37f727a7170f6fe03eecbc7bcc
Andreas Gampe [Wed, 31 Aug 2016 20:53:13 +0000 (13:53 -0700)]
ART: Use thread annotation macros from base
Use thread annotations from libbase. Only leave the two local
definitions.
Test: m
Test: m test-art-host
Change-Id: I55a731e60b995fa6d0fd54a4da50654d6574019d
Colin Cross [Wed, 31 Aug 2016 21:16:22 +0000 (21:16 +0000)]
Merge "Remove auto-generated executable list"