OSDN Git Service

android-x86/art.git
9 years agoam 1e64b55d: am 4d05d931: Merge "ART: Fix read-out-of-bounds in the compiler" into...
Andreas Gampe [Wed, 3 Sep 2014 14:33:12 +0000 (14:33 +0000)]
am 1e64b55d: am 4d05d931: Merge "ART: Fix read-out-of-bounds in the compiler" into lmp-dev

* commit '1e64b55d5bec5d8555bb9f3cbdaafe24b57defd7':
  ART: Fix read-out-of-bounds in the compiler

9 years agoam f4bb9ef6: am 635531a2: Merge "Change native allocations to use growth limit."...
Mathieu Chartier [Wed, 3 Sep 2014 14:33:11 +0000 (14:33 +0000)]
am f4bb9ef6: am 635531a2: Merge "Change native allocations to use growth limit." into lmp-dev

* commit 'f4bb9ef65cdc2c8cb8d50d023ab57320310cf96a':
  Change native allocations to use growth limit.

9 years agoam 3fa54ea1: am 37bb8184: Merge "Pre-allocate the NoClassDefFoundError to be thrown...
Ian Rogers [Wed, 3 Sep 2014 14:33:09 +0000 (14:33 +0000)]
am 3fa54ea1: am 37bb8184: Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes." into lmp-dev

* commit '3fa54ea15bcf6d0f79c1b04c1bd1f804a4526412':
  Pre-allocate the NoClassDefFoundError to be thrown for boot classes.

9 years agoMerge '0122cf8b' "Reduce and speed-up class def searches." into lmp-dev-plus-aosp.
Marcin Kosiba [Wed, 3 Sep 2014 14:16:47 +0000 (15:16 +0100)]
Merge '0122cf8b' "Reduce and speed-up class def searches." into lmp-dev-plus-aosp.

Conflicts:
compiler/driver/compiler_driver.cc
runtime/class_linker.cc

Change-Id: I9c98e6a34858f6f9863fc6a0df0506f3a28bd7ee

9 years agoam 2a095043: Merge "Fix SetupResourceMasks to pass correct parameters"
Vladimir Marko [Wed, 3 Sep 2014 12:09:05 +0000 (12:09 +0000)]
am 2a095043: Merge "Fix SetupResourceMasks to pass correct parameters"

* commit '2a09504334a3a3b4c47100197df0827cc6740433':
  Fix SetupResourceMasks to pass correct parameters

9 years agoMerge "Fix SetupResourceMasks to pass correct parameters"
Vladimir Marko [Wed, 3 Sep 2014 11:48:42 +0000 (11:48 +0000)]
Merge "Fix SetupResourceMasks to pass correct parameters"

9 years agoam 859efc4e: Merge "ART fix oat debug source map operations"
Vladimir Marko [Wed, 3 Sep 2014 09:33:27 +0000 (09:33 +0000)]
am 859efc4e: Merge "ART fix oat debug source map operations"

* commit '859efc4e6f5f0bba503ff55dc08a59d8ce7a81d1':
  ART fix oat debug source map operations

9 years agoMerge "ART fix oat debug source map operations"
Vladimir Marko [Wed, 3 Sep 2014 08:53:49 +0000 (08:53 +0000)]
Merge "ART fix oat debug source map operations"

9 years agoam a70343f9: Merge "Reduce lock contention when debugging"
Sebastien Hertz [Wed, 3 Sep 2014 07:41:59 +0000 (07:41 +0000)]
am a70343f9: Merge "Reduce lock contention when debugging"

* commit 'a70343f996aea274a2568e8f2bcda829cdbc61d7':
  Reduce lock contention when debugging

9 years agoMerge "Reduce lock contention when debugging"
Sebastien Hertz [Wed, 3 Sep 2014 07:17:29 +0000 (07:17 +0000)]
Merge "Reduce lock contention when debugging"

9 years agoam dc720bf1: am e610faf9: Merge "ART: Tighten verifier list reading and offsets"...
Andreas Gampe [Wed, 3 Sep 2014 06:13:38 +0000 (06:13 +0000)]
am dc720bf1: am e610faf9: Merge "ART: Tighten verifier list reading and offsets" into lmp-dev

* commit 'dc720bf11457c7a3d568f6e23e82586b6ce18ffd':
  ART: Tighten verifier list reading and offsets

9 years agoresolved conflicts for merge of 64dc9daf to lmp-dev-plus-aosp
Mathieu Chartier [Wed, 3 Sep 2014 05:38:04 +0000 (22:38 -0700)]
resolved conflicts for merge of 64dc9daf to lmp-dev-plus-aosp

Change-Id: I4f69fc547e4cde43f4ab6d8080076d5b62b0fe75

9 years agoam 4a946795: Merge "Quick compiler, aarch64: Insane sanity checker"
buzbee [Wed, 3 Sep 2014 02:12:45 +0000 (02:12 +0000)]
am 4a946795: Merge "Quick compiler, aarch64: Insane sanity checker"

* commit '4a9467959d4693f805c39536eed3c3bc5e8bbfd8':
  Quick compiler, aarch64: Insane sanity checker

9 years agoMerge "Quick compiler, aarch64: Insane sanity checker"
buzbee [Wed, 3 Sep 2014 01:41:16 +0000 (01:41 +0000)]
Merge "Quick compiler, aarch64: Insane sanity checker"

9 years agoam 878bb62d: Merge "Fix native allocation test."
Mathieu Chartier [Wed, 3 Sep 2014 01:33:30 +0000 (01:33 +0000)]
am 878bb62d: Merge "Fix native allocation test."

* commit '878bb62d86636b42ea0a0203945f160606adfc61':
  Fix native allocation test.

9 years agoam 2cc4e2a1: Merge "Change native allocations to use growth limit."
Mathieu Chartier [Wed, 3 Sep 2014 01:33:28 +0000 (01:33 +0000)]
am 2cc4e2a1: Merge "Change native allocations to use growth limit."

* commit '2cc4e2a1ae9a8827503b1508dca8346a465da20a':
  Change native allocations to use growth limit.

9 years agoam 47e877ab: Merge "ART: Fix StubTest Interface Trampoline test"
Andreas Gampe [Wed, 3 Sep 2014 01:28:20 +0000 (01:28 +0000)]
am 47e877ab: Merge "ART: Fix StubTest Interface Trampoline test"

* commit '47e877ab2d6744f4360d37f179eb5affd6a46470':
  ART: Fix StubTest Interface Trampoline test

9 years agoMerge "Fix native allocation test."
Mathieu Chartier [Wed, 3 Sep 2014 01:14:14 +0000 (01:14 +0000)]
Merge "Fix native allocation test."

9 years agoMerge "Change native allocations to use growth limit."
Mathieu Chartier [Wed, 3 Sep 2014 01:13:57 +0000 (01:13 +0000)]
Merge "Change native allocations to use growth limit."

9 years agoMerge "ART: Fix StubTest Interface Trampoline test"
Andreas Gampe [Wed, 3 Sep 2014 01:00:21 +0000 (01:00 +0000)]
Merge "ART: Fix StubTest Interface Trampoline test"

9 years agoART: Fix StubTest Interface Trampoline test
Andreas Gampe [Wed, 21 May 2014 22:37:53 +0000 (15:37 -0700)]
ART: Fix StubTest Interface Trampoline test

The imt conflict test does not actually need a proper conflict,
as we do not invoke through a lookup.

Added simple check for art_quick_invoke_interface_trampoline_with_access_check.
Only non-failure testing, as failure requires a properly setup frame etc.

Change-Id: I173dac04db950bd23f62eaf13341a7b19802e5e8

9 years agoam 2013de57: Merge "Add missing read barriers to intern table."
Mathieu Chartier [Wed, 3 Sep 2014 00:56:41 +0000 (00:56 +0000)]
am 2013de57: Merge "Add missing read barriers to intern table."

* commit '2013de579050cff717a6fb910ec386a6e61330bc':
  Add missing read barriers to intern table.

9 years agoam 579123b2: Merge "ART: Fix read-out-of-bounds in the compiler"
Andreas Gampe [Wed, 3 Sep 2014 00:56:40 +0000 (00:56 +0000)]
am 579123b2: Merge "ART: Fix read-out-of-bounds in the compiler"

* commit '579123b22546d36ed47e896a567a7ca6b5470d1a':
  ART: Fix read-out-of-bounds in the compiler

9 years agoam fa6fe2df: Merge "ART: Tighten verifier list reading and offsets"
Andreas Gampe [Wed, 3 Sep 2014 00:56:39 +0000 (00:56 +0000)]
am fa6fe2df: Merge "ART: Tighten verifier list reading and offsets"

* commit 'fa6fe2dfb401e30890f1feb48b664eb19636b8d4':
  ART: Tighten verifier list reading and offsets

9 years agoam 62bcfec9: Merge "Change intern table to unordered set."
Mathieu Chartier [Wed, 3 Sep 2014 00:56:38 +0000 (00:56 +0000)]
am 62bcfec9: Merge "Change intern table to unordered set."

* commit '62bcfec936692ff4f75cdc3267c081080b0e6acc':
  Change intern table to unordered set.

9 years agoam 4d05d931: Merge "ART: Fix read-out-of-bounds in the compiler" into lmp-dev
Andreas Gampe [Wed, 3 Sep 2014 00:54:33 +0000 (00:54 +0000)]
am 4d05d931: Merge "ART: Fix read-out-of-bounds in the compiler" into lmp-dev

* commit '4d05d931d3d608f5047e0d9dfb422df018ace716':
  ART: Fix read-out-of-bounds in the compiler

9 years agoam 635531a2: Merge "Change native allocations to use growth limit." into lmp-dev
Mathieu Chartier [Wed, 3 Sep 2014 00:54:32 +0000 (00:54 +0000)]
am 635531a2: Merge "Change native allocations to use growth limit." into lmp-dev

* commit '635531a2d99f413339187ce39b08affdf1b31d9f':
  Change native allocations to use growth limit.

9 years agoam 37bb8184: Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot class...
Ian Rogers [Wed, 3 Sep 2014 00:54:32 +0000 (00:54 +0000)]
am 37bb8184: Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes." into lmp-dev

* commit '37bb8184e091e8d9199cfc2fc888dfb40a5c0f20':
  Pre-allocate the NoClassDefFoundError to be thrown for boot classes.

9 years agoam 9db18e16: Merge "Reduce and speed-up class def searches." into lmp-dev
Ian Rogers [Wed, 3 Sep 2014 00:54:31 +0000 (00:54 +0000)]
am 9db18e16: Merge "Reduce and speed-up class def searches." into lmp-dev

* commit '9db18e1679800bc57c1e30f7c5ff786949ffe5cf':
  Reduce and speed-up class def searches.

9 years agoam e610faf9: Merge "ART: Tighten verifier list reading and offsets" into lmp-dev
Andreas Gampe [Wed, 3 Sep 2014 00:54:30 +0000 (00:54 +0000)]
am e610faf9: Merge "ART: Tighten verifier list reading and offsets" into lmp-dev

* commit 'e610faf917fd280fa0d9e02d5c2d0dbacbb037b7':
  ART: Tighten verifier list reading and offsets

9 years agoFix native allocation test.
Mathieu Chartier [Wed, 3 Sep 2014 00:36:08 +0000 (17:36 -0700)]
Fix native allocation test.

Forgot to update with last CL.

(cherry picked from commit c60bdf667b5c6fa767548942f0115547523593b4)

Change-Id: I41ad168a5906ca07938bdd212a55f0e995ee5df7

9 years agoChange native allocations to use growth limit.
Mathieu Chartier [Tue, 2 Sep 2014 23:21:01 +0000 (16:21 -0700)]
Change native allocations to use growth limit.

Previously native allocation tracking used a GC footprint limit
which would cause GC in the allocating thread. This prevented
excessive growth of the heap but could cause jank due to GC in
the allocating thread. The new behavior is using the growth_limit
instead of the native footprint limit.

(cherry picked from commit d9819ecc0bc21a2bb356a4de9b013e36fe618627)

Change-Id: Ia40ed830e8c674cc49d4c0a6fd773d6cb8ff97fa

9 years agoMerge "Add missing read barriers to intern table."
Mathieu Chartier [Wed, 3 Sep 2014 00:47:15 +0000 (00:47 +0000)]
Merge "Add missing read barriers to intern table."

9 years agoMerge "ART: Fix read-out-of-bounds in the compiler"
Andreas Gampe [Wed, 3 Sep 2014 00:31:30 +0000 (00:31 +0000)]
Merge "ART: Fix read-out-of-bounds in the compiler"

9 years agoam d3c93585: Merge "Disable SignalTest with GC stress."
Ian Rogers [Wed, 3 Sep 2014 00:25:45 +0000 (00:25 +0000)]
am d3c93585: Merge "Disable SignalTest with GC stress."

* commit 'd3c9358544bbab15093614c5c2b6a9de86e11f7b':
  Disable SignalTest with GC stress.

9 years agoART: Fix read-out-of-bounds in the compiler
Andreas Gampe [Wed, 27 Aug 2014 21:24:42 +0000 (14:24 -0700)]
ART: Fix read-out-of-bounds in the compiler

In case of a wide dalvik register, asking for the constant value
can lead to a read out of bounds.

Bug: 17302671

(cherry picked from commit ade731854d18839823e57fb2d3d67238c5467d15)

Change-Id: Ie1849cd67cc418c97cbd7a8524f027f9b66e4c96

9 years agoMerge "ART: Fix read-out-of-bounds in the compiler" into lmp-dev
Andreas Gampe [Wed, 3 Sep 2014 00:24:14 +0000 (00:24 +0000)]
Merge "ART: Fix read-out-of-bounds in the compiler" into lmp-dev

9 years agoMerge "Change native allocations to use growth limit." into lmp-dev
Mathieu Chartier [Wed, 3 Sep 2014 00:07:28 +0000 (00:07 +0000)]
Merge "Change native allocations to use growth limit." into lmp-dev

9 years agoMerge "ART: Tighten verifier list reading and offsets"
Andreas Gampe [Wed, 3 Sep 2014 00:06:22 +0000 (00:06 +0000)]
Merge "ART: Tighten verifier list reading and offsets"

9 years agoChange native allocations to use growth limit.
Mathieu Chartier [Tue, 2 Sep 2014 23:21:01 +0000 (16:21 -0700)]
Change native allocations to use growth limit.

Previously native allocation tracking used a GC footprint limit
which would cause GC in the allocating thread. This prevented
excessive growth of the heap but could cause jank due to GC in
the allocating thread. The new behavior is using the growth_limit
instead of the native footprint limit.

Bug: 17006948

Change-Id: I40f30af09bb25596a9f57fa50e2a155fb947b5fe

9 years agoMerge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes." into...
Ian Rogers [Tue, 2 Sep 2014 23:56:37 +0000 (23:56 +0000)]
Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes." into lmp-dev

9 years agoMerge "Reduce and speed-up class def searches." into lmp-dev
Ian Rogers [Tue, 2 Sep 2014 23:56:14 +0000 (23:56 +0000)]
Merge "Reduce and speed-up class def searches." into lmp-dev

9 years agoART: Tighten verifier list reading and offsets
Andreas Gampe [Tue, 2 Sep 2014 18:17:34 +0000 (11:17 -0700)]
ART: Tighten verifier list reading and offsets

Check offsets and sizes for header entries of a dex file.

Bug: 17347459

(cherry picked from commit 78d639ef4be3ad7314846e1e6c1261d7d30f83fa)

Change-Id: Ia1727c33dea51f7a8e345f3799f1ba414708239c

9 years agoMerge "ART: Tighten verifier list reading and offsets" into lmp-dev
Andreas Gampe [Tue, 2 Sep 2014 23:51:42 +0000 (23:51 +0000)]
Merge "ART: Tighten verifier list reading and offsets" into lmp-dev

9 years agoAdd missing read barriers to intern table.
Mathieu Chartier [Tue, 2 Sep 2014 23:20:45 +0000 (16:20 -0700)]
Add missing read barriers to intern table.

Also deleted GcRoot::Assign.

Change-Id: Ib1ea739cf79c72fc92a8628cd9095c11b660e018

9 years agoMerge "Change intern table to unordered set."
Mathieu Chartier [Tue, 2 Sep 2014 23:42:02 +0000 (23:42 +0000)]
Merge "Change intern table to unordered set."

9 years agoMerge "Disable SignalTest with GC stress."
Ian Rogers [Tue, 2 Sep 2014 23:32:25 +0000 (23:32 +0000)]
Merge "Disable SignalTest with GC stress."

9 years agoFix SetupResourceMasks to pass correct parameters
Junmo Park [Sat, 30 Aug 2014 11:13:02 +0000 (20:13 +0900)]
Fix SetupResourceMasks to pass correct parameters

Calling SetupTargetResourceMasks function with correct parameter.
SetupTargetResourceMasks(lir, flags, use_mask, def_mask) is correct order.

Change-Id: I49118c3f2d3d06fac83fa3d5014b7fdaff6a2b00
Signed-off-by: Junmo Park <junmoz.park@samsung.com>
9 years agoPre-allocate the NoClassDefFoundError to be thrown for boot classes.
Ian Rogers [Wed, 4 Jun 2014 23:57:15 +0000 (16:57 -0700)]
Pre-allocate the NoClassDefFoundError to be thrown for boot classes.

Bring over a Dalvik "optimization".
Bug: 12804658
Bug: 16853450
Change-Id: I6419de7bd2ba18d91479cb52489104954f5c4524

(cherry picked from commit 63557459a4098294a9ff44d035241de2966047c0)

9 years agoReduce and speed-up class def searches.
Ian Rogers [Sat, 30 Aug 2014 03:19:11 +0000 (20:19 -0700)]
Reduce and speed-up class def searches.

Use the class linker for descriptor lookups from the compile driver so that
dex caches are populated.
Reduce the scope of functions for scanning class paths to just the class
linker where they are performed.
If we see more than a threshold number of find class def misses on a dex file
lazily compute an index, so that future lookups are constant time (part of the
collection code is taken from
https://android-review.googlesource.com/#/c/103865/3). Note that we take a lazy
approach so that we don't serialize on loading dex files, this avoids the
reason the index was removed in 8b2c0b9abc3f520495f4387ea040132ba85cae69.
Remove an implicit and unnecessary std::string creation for PrintableString.

Single threaded interpret-only dex2oat performance is improved by roughly 10%.

Bug: 16853450

Change-Id: Icf72df76b0a4328f2a24075e81f4ff267b9401f4
(cherry picked from commit 68b56858367e29461ae290fd797443a1ef6d8005)

9 years agoDisable SignalTest with GC stress.
Ian Rogers [Tue, 2 Sep 2014 22:59:28 +0000 (15:59 -0700)]
Disable SignalTest with GC stress.

Also, only add to broken tests list run-tests that will be generated.

Change-Id: Ibd363c059c799110da7f3f5ec8ceba55277d5e0e

9 years agoam d40b810c: Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes."
Ian Rogers [Tue, 2 Sep 2014 23:02:57 +0000 (23:02 +0000)]
am d40b810c: Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes."

* commit 'd40b810c6fcd1e3b641b9f3d37ab097b49e098e3':
  Pre-allocate the NoClassDefFoundError to be thrown for boot classes.

9 years agoQuick compiler, aarch64: Insane sanity checker
buzbee [Tue, 2 Sep 2014 22:39:57 +0000 (15:39 -0700)]
Quick compiler, aarch64: Insane sanity checker

Fix bit-mask generation used in the sanity checking code
for long division by small constants via multiplication.  The
failing case was a 64-bit wide mask.  The macro was using the
desired width of the result as a shift count - and a left
shift of a 64-bit integer by 64 bits is undefined.

Note that the generated code is correct - it's just the sanity
checking code that was wrong.

Change-Id: Ic6654662f848d3caab2c3b1ef0d92fe2eb9673f4

9 years agoMerge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes."
Ian Rogers [Tue, 2 Sep 2014 22:49:45 +0000 (22:49 +0000)]
Merge "Pre-allocate the NoClassDefFoundError to be thrown for boot classes."

9 years agoPre-allocate the NoClassDefFoundError to be thrown for boot classes.
Ian Rogers [Wed, 4 Jun 2014 23:57:15 +0000 (16:57 -0700)]
Pre-allocate the NoClassDefFoundError to be thrown for boot classes.

Bring over a Dalvik "optimization".
Bug: 12804658
Bug: 16853450
Change-Id: I6419de7bd2ba18d91479cb52489104954f5c4524

9 years agoam 23590fd0: Merge "Change intern table to unordered set." into lmp-dev
Mathieu Chartier [Tue, 2 Sep 2014 21:54:07 +0000 (21:54 +0000)]
am 23590fd0: Merge "Change intern table to unordered set." into lmp-dev

* commit '23590fd094df6a4a2360b722763249adf1689f15':
  Change intern table to unordered set.

9 years agoChange intern table to unordered set.
Mathieu Chartier [Sat, 30 Aug 2014 01:16:58 +0000 (18:16 -0700)]
Change intern table to unordered set.

Intern table active used bytes goes from 430k to 317k on system
server. Similar %wise savings on other apps.

Bug: 16238192

(cherry picked from commit d910fcef539e12ab181e56ec80684f39c4e95733)

Change-Id: Ic70395124435c6f420a77e6d8639404a160f395a

9 years agoMerge "Change intern table to unordered set." into lmp-dev
Mathieu Chartier [Tue, 2 Sep 2014 21:39:25 +0000 (21:39 +0000)]
Merge "Change intern table to unordered set." into lmp-dev

9 years agoam 9a4f0272: Merge "Reduce and speed-up class def searches."
Ian Rogers [Tue, 2 Sep 2014 21:38:40 +0000 (21:38 +0000)]
am 9a4f0272: Merge "Reduce and speed-up class def searches."

* commit '9a4f02722051955e536d6aacb776d637a6713545':
  Reduce and speed-up class def searches.

9 years agoMerge "Reduce and speed-up class def searches."
Ian Rogers [Tue, 2 Sep 2014 21:22:20 +0000 (21:22 +0000)]
Merge "Reduce and speed-up class def searches."

9 years agoam 6e360428: Merge "Change heap transitions + hspace compation to use VLOG(heap)"
Mathieu Chartier [Tue, 2 Sep 2014 20:19:56 +0000 (20:19 +0000)]
am 6e360428: Merge "Change heap transitions + hspace compation to use VLOG(heap)"

* commit '6e3604287f73fbc58d8297c0bca6bfe808524a2b':
  Change heap transitions + hspace compation to use VLOG(heap)

9 years agoam 6f8f4ff0: am 8bd2961b: Change heap transitions + hspace compation to use VLOG...
Mathieu Chartier [Tue, 2 Sep 2014 20:07:46 +0000 (20:07 +0000)]
am 6f8f4ff0: am 8bd2961b: Change heap transitions + hspace compation to use VLOG(heap)

* commit '6f8f4ff08a7cd2c68ba700b17b044a2434996bc8':
  Change heap transitions + hspace compation to use VLOG(heap)

9 years agoMerge "Change heap transitions + hspace compation to use VLOG(heap)"
Mathieu Chartier [Tue, 2 Sep 2014 19:56:48 +0000 (19:56 +0000)]
Merge "Change heap transitions + hspace compation to use VLOG(heap)"

9 years agoam 8bd2961b: Change heap transitions + hspace compation to use VLOG(heap)
Mathieu Chartier [Tue, 2 Sep 2014 19:54:39 +0000 (19:54 +0000)]
am 8bd2961b: Change heap transitions + hspace compation to use VLOG(heap)

* commit '8bd2961b385c870953e650c253a04ee24b76809b':
  Change heap transitions + hspace compation to use VLOG(heap)

9 years agoChange heap transitions + hspace compation to use VLOG(heap)
Mathieu Chartier [Tue, 2 Sep 2014 19:33:25 +0000 (12:33 -0700)]
Change heap transitions + hspace compation to use VLOG(heap)

VLOG(gc) is spammy since it is enabled.

(cherry picked from commit 8bd2961b385c870953e650c253a04ee24b76809b)

Change-Id: Id75256cdc6a9802818bb56f77533cca88ace42a6

9 years agoChange heap transitions + hspace compation to use VLOG(heap)
Mathieu Chartier [Tue, 2 Sep 2014 19:33:25 +0000 (12:33 -0700)]
Change heap transitions + hspace compation to use VLOG(heap)

VLOG(gc) is spammy since it is enabled.

Change-Id: I07d1d40e2f19134f885d6777b60533a9010ae164

9 years agoART: Tighten verifier list reading and offsets
Andreas Gampe [Tue, 2 Sep 2014 18:17:34 +0000 (11:17 -0700)]
ART: Tighten verifier list reading and offsets

Check offsets and sizes for header entries of a dex file.

Bug: 17347459
Change-Id: Ia1727c33dea51f7a8e345f3799f1ba414708239c

9 years agoam e18c9016: Merge "ART: Fix typo"
Andreas Gampe [Tue, 2 Sep 2014 18:08:15 +0000 (18:08 +0000)]
am e18c9016: Merge "ART: Fix typo"

* commit 'e18c901644cf8fdc012d0c852c97d77bb1f652ee':
  ART: Fix typo

9 years agoam 102d139c: am b373ba1b: ART: Fix typo
Andreas Gampe [Tue, 2 Sep 2014 17:49:48 +0000 (17:49 +0000)]
am 102d139c: am b373ba1b: ART: Fix typo

* commit '102d139c956b8f6dda1247dde3631b9accf3d67c':
  ART: Fix typo

9 years agoMerge "ART: Fix typo"
Andreas Gampe [Tue, 2 Sep 2014 17:43:07 +0000 (17:43 +0000)]
Merge "ART: Fix typo"

9 years agoam b373ba1b: ART: Fix typo
Andreas Gampe [Tue, 2 Sep 2014 17:41:57 +0000 (17:41 +0000)]
am b373ba1b: ART: Fix typo

* commit 'b373ba1bf7e67d4dd8286df08065ac76aa8ac1ee':
  ART: Fix typo

9 years agoART: Fix typo
Andreas Gampe [Tue, 2 Sep 2014 17:22:20 +0000 (10:22 -0700)]
ART: Fix typo

Bug: 17327877

(cherry picked from commit b373ba1bf7e67d4dd8286df08065ac76aa8ac1ee)

Change-Id: I6132a8afb4b69c8d22a01b477f6f324c789ed666

9 years agoReduce lock contention when debugging
Sebastien Hertz [Tue, 19 Aug 2014 13:33:43 +0000 (15:33 +0200)]
Reduce lock contention when debugging

Uses a ReaderWriterMutex for the breakpoint lock to reduce contention during
debugging session.

Also adds missing thread safety annotations on fields and methods related to
instrumentation and debugging.

Bug: 16814665
Bug: 11667502

(cherry picked from commit 59d9d668d4f4286813afe2b4e7c6db839222ce96)

Change-Id: I5f1156da8c6cc8316d6db16e6cfb2470fe289ad3

9 years agoART: Fix typo
Andreas Gampe [Tue, 2 Sep 2014 17:22:20 +0000 (10:22 -0700)]
ART: Fix typo

Bug: 17327877
Change-Id: I6132a8afb4b69c8d22a01b477f6f324c789ed666

9 years agoam e25b994c: Merge "ART: Fix dex file verifier type-list handling"
Andreas Gampe [Tue, 2 Sep 2014 16:44:38 +0000 (16:44 +0000)]
am e25b994c: Merge "ART: Fix dex file verifier type-list handling"

* commit 'e25b994ccf50e0c7abfab11785e231dfe70d7707':
  ART: Fix dex file verifier type-list handling

9 years agoam 3f4b1a54: am 277a7c7b: ART: Fix dex file verifier type-list handling
Andreas Gampe [Tue, 2 Sep 2014 16:43:53 +0000 (16:43 +0000)]
am 3f4b1a54: am 277a7c7b: ART: Fix dex file verifier type-list handling

* commit '3f4b1a540215f5390dfec1bd05765b75006c12c0':
  ART: Fix dex file verifier type-list handling

9 years agoam 277a7c7b: ART: Fix dex file verifier type-list handling
Andreas Gampe [Tue, 2 Sep 2014 16:31:44 +0000 (16:31 +0000)]
am 277a7c7b: ART: Fix dex file verifier type-list handling

* commit '277a7c7b4bb9c421380592fd3998d2e79e4035b3':
  ART: Fix dex file verifier type-list handling

9 years agoMerge "ART: Fix dex file verifier type-list handling"
Andreas Gampe [Tue, 2 Sep 2014 16:23:23 +0000 (16:23 +0000)]
Merge "ART: Fix dex file verifier type-list handling"

9 years agoART: Fix dex file verifier type-list handling
Andreas Gampe [Fri, 29 Aug 2014 23:07:49 +0000 (16:07 -0700)]
ART: Fix dex file verifier type-list handling

It is rare, but valid, to have an empty type list.

Bug: 17327877

(cherry picked from commit 277a7c7b4bb9c421380592fd3998d2e79e4035b3)

Change-Id: Ib3a8ff3e5ccd8fe7c04b1e97485bf3e6de72aa4d

9 years agoReduce and speed-up class def searches.
Ian Rogers [Sat, 30 Aug 2014 03:19:11 +0000 (20:19 -0700)]
Reduce and speed-up class def searches.

Use the class linker for descriptor lookups from the compile driver so that
dex caches are populated.
Reduce the scope of functions for scanning class paths to just the class
linker where they are performed.
If we see more than a threshold number of find class def misses on a dex file
lazily compute an index, so that future lookups are constant time (part of the
collection code is taken from
https://android-review.googlesource.com/#/c/103865/3). Note that we take a lazy
approach so that we don't serialize on loading dex files, this avoids the
reason the index was removed in 8b2c0b9abc3f520495f4387ea040132ba85cae69.
Remove an implicit and unnecessary std::string creation for PrintableString.

Single threaded interpret-only dex2oat performance is improved by roughly 10%.

Bug: 16853450

Change-Id: Icf72df76b0a4328f2a24075e81f4ff267b9401f4

9 years agoam 7c7686e6: Merge "Revert "Revert "ART: Prepare for ELF64."""
Nicolas Geoffray [Tue, 2 Sep 2014 09:29:44 +0000 (09:29 +0000)]
am 7c7686e6: Merge "Revert "Revert "ART: Prepare for ELF64."""

* commit '7c7686e62d262f1823876cebb3700e20f967dd56':
  Revert "Revert "ART: Prepare for ELF64.""

9 years agoMerge "Revert "Revert "ART: Prepare for ELF64."""
Nicolas Geoffray [Tue, 2 Sep 2014 08:12:44 +0000 (08:12 +0000)]
Merge "Revert "Revert "ART: Prepare for ELF64."""

9 years agoRevert "Revert "ART: Prepare for ELF64.""
Nicolas Geoffray [Tue, 2 Sep 2014 08:12:09 +0000 (08:12 +0000)]
Revert "Revert "ART: Prepare for ELF64.""

Fix was commited in "Fix frame size issue with 64-bit"

This reverts commit 7eebd95bddc7c6866ba29010d28b4f8251b43242.

Change-Id: I799b7fcab14ae24471d2f9d6d3a5e5cedd4aa7b8

9 years agoam dcea56f4: Merge "Fix frame size issue with 64-bit"
Narayan Kamath [Mon, 1 Sep 2014 16:13:11 +0000 (16:13 +0000)]
am dcea56f4: Merge "Fix frame size issue with 64-bit"

* commit 'dcea56f4132bc19abf867ee9ef01244d5283c2cf':
  Fix frame size issue with 64-bit

9 years agoMerge "Fix frame size issue with 64-bit"
Narayan Kamath [Mon, 1 Sep 2014 15:55:16 +0000 (15:55 +0000)]
Merge "Fix frame size issue with 64-bit"

9 years agoam 893600ce: Merge "Revert "ART: Prepare for ELF64.""
Nicolas Geoffray [Mon, 1 Sep 2014 15:37:45 +0000 (15:37 +0000)]
am 893600ce: Merge "Revert "ART: Prepare for ELF64.""

* commit '893600ce548fb4cf057e2bdcf8b305eae3338f7d':
  Revert "ART: Prepare for ELF64."

9 years agoMerge "Revert "ART: Prepare for ELF64.""
Nicolas Geoffray [Mon, 1 Sep 2014 15:14:16 +0000 (15:14 +0000)]
Merge "Revert "ART: Prepare for ELF64.""

9 years agoRevert "ART: Prepare for ELF64."
Nicolas Geoffray [Mon, 1 Sep 2014 15:13:00 +0000 (15:13 +0000)]
Revert "ART: Prepare for ELF64."

Build fails on arm64 with error message:
art/compiler/elf_writer_quick.cc:1083:1: error: the frame size of 2016 bytes is larger than 1728 bytes [-Werror=frame-larger-than=]

This reverts commit 45b8f1ab2782d02830c77751f883456de799dfb6.

Change-Id: I61b2e5f27ba4b2b32eacaec51fb5e5ed12fd8066

9 years agoresolved conflicts for merge of 5974d730 to lmp-dev-plus-aosp
Mathieu Chartier [Sat, 30 Aug 2014 18:34:52 +0000 (11:34 -0700)]
resolved conflicts for merge of 5974d730 to lmp-dev-plus-aosp

Change-Id: I415996d240a32c2ab7b66e25c824b42c908094dd

9 years agoART: Fix dex file verifier type-list handling
Andreas Gampe [Fri, 29 Aug 2014 23:07:49 +0000 (16:07 -0700)]
ART: Fix dex file verifier type-list handling

It is rare, but valid, to have an empty type list.

Bug: 17327877
Change-Id: Ib3a8ff3e5ccd8fe7c04b1e97485bf3e6de72aa4d

9 years agoam 645f9871: Merge "Add native memory accounting through custom allocator."
Mathieu Chartier [Sat, 30 Aug 2014 02:44:01 +0000 (02:44 +0000)]
am 645f9871: Merge "Add native memory accounting through custom allocator."

* commit '645f9871115e82ff836397f6470cca825befd245':
  Add native memory accounting through custom allocator.

9 years agoChange intern table to unordered set.
Mathieu Chartier [Sat, 30 Aug 2014 01:16:58 +0000 (18:16 -0700)]
Change intern table to unordered set.

Intern table active used bytes goes from 430k to 317k on system
server. Similar %wise savings on other apps.

Bug: 16238192

Change-Id: I92de72de3eae0b76629e9da83db2c2d0fa613052

9 years agoMerge "Add native memory accounting through custom allocator."
Mathieu Chartier [Sat, 30 Aug 2014 01:58:53 +0000 (01:58 +0000)]
Merge "Add native memory accounting through custom allocator."

9 years agoAdd native memory accounting through custom allocator.
Mathieu Chartier [Mon, 25 Aug 2014 20:08:22 +0000 (13:08 -0700)]
Add native memory accounting through custom allocator.

Added a custom allocator that lets you pass in a special tag which
specifices where the allocation came from. This is used when
dumping. The performance overhead is low since each allocation only
does a atomic add/sub for each allocation/free.

The measurements are dumped to traces.txt during SIGQUIT.

Example output:
I/art     (27274): AllocatorTagHeap active=120 max=120 total=168
I/art     (27274): AllocatorTagMonitorList active=1572 max=6240 total=11724
I/art     (27274): AllocatorTagClassTable active=185208 max=185208 total=268608
I/art     (27274): AllocatorTagInternTable active=430368 max=430368 total=436080
I/art     (27274): AllocatorTagMaps active=5616 max=6168 total=34392
I/art     (27274): AllocatorTagLOS active=1024 max=1536 total=2044
I/art     (27274): AllocatorTagSafeMap active=0 max=51936 total=533688
I/art     (27274): AllocatorTagLOSMaps active=144 max=1248 total=5760
I/art     (27274): AllocatorTagReferenceTable active=10944 max=11840 total=19136
I/art     (27274): AllocatorTagHeapBitmap active=32 max=40 total=56
I/art     (27274): AllocatorTagHeapBitmapLOS active=8 max=8 total=8
I/art     (27274): AllocatorTagVerifier active=0 max=18844 total=1073156
I/art     (27274): AllocatorTagModUnionCardSet active=5300 max=5920 total=56020
I/art     (27274): AllocatorTagModUnionReferenceArray active=24864 max=24864 total=24864
I/art     (27274): AllocatorTagJNILibrarires active=320 max=320 total=320
I/art     (27274): AllocatorTagOatFile active=1400 max=1400 total=5852

Change-Id: Ibb470ef2e9c9a24563bb46422d46a55799704d82

(cherry picked from commit 5369c40f75fdcb1be7a7c06db212ce965c83a164)

9 years agoam 20632daa: Merge "Add native memory accounting through custom allocator." into...
Mathieu Chartier [Sat, 30 Aug 2014 01:49:42 +0000 (01:49 +0000)]
am 20632daa: Merge "Add native memory accounting through custom allocator." into lmp-dev

* commit '20632daac36995947d2d1943f89f07ac277e61f0':
  Add native memory accounting through custom allocator.

9 years agoam 0772a9d9: Merge "ART: Fix accidental "1""
Andreas Gampe [Sat, 30 Aug 2014 01:42:09 +0000 (01:42 +0000)]
am 0772a9d9: Merge "ART: Fix accidental "1""

* commit '0772a9d99c8774463c9076824340eaa4eb66f47f':
  ART: Fix accidental "1"

9 years agoMerge "Add native memory accounting through custom allocator." into lmp-dev
Mathieu Chartier [Sat, 30 Aug 2014 01:17:19 +0000 (01:17 +0000)]
Merge "Add native memory accounting through custom allocator." into lmp-dev

9 years agoMerge "ART: Fix accidental "1""
Andreas Gampe [Sat, 30 Aug 2014 01:16:09 +0000 (01:16 +0000)]
Merge "ART: Fix accidental "1""

9 years agoART: Fix accidental "1"
Andreas Gampe [Sat, 30 Aug 2014 01:15:04 +0000 (18:15 -0700)]
ART: Fix accidental "1"

Should have been "0".

Change-Id: I9ad3cf1e6be6d0fcf4c8f3700ddeec4e6d5ce167

9 years agoresolved conflicts for merge of 2258d319 to lmp-dev-plus-aosp
Andreas Gampe [Sat, 30 Aug 2014 01:12:45 +0000 (18:12 -0700)]
resolved conflicts for merge of 2258d319 to lmp-dev-plus-aosp

Change-Id: I567c32c2111f3f36f26ec0b259c08c867bc34e28