OSDN Git Service
jeffhao [Mon, 16 Apr 2012 18:12:46 +0000 (11:12 -0700)]
Merge "Output number of bytes used by LinearAlloc during dexopt."
jeffhao [Fri, 13 Apr 2012 23:55:01 +0000 (16:55 -0700)]
Output number of bytes used by LinearAlloc during dexopt.
Maps is exceeding the LinearAlloc limit set in Gingerbread (5MB). They
wanted a way to know how close they were from going over, so this added
output can tell them how much room is left.
Change-Id: I0b78ce24accc05746bc396398086ce695bd7ba57
Ben Cheng [Fri, 13 Apr 2012 23:35:41 +0000 (16:35 -0700)]
Fix an array out-of-bound read in the JIT compiler.
Without the fix the compiler is still safe since the offending memory access
is a read, though the hoisted distance is non-deterministic. The easiest and
safest fix is to unconditionally hoist a load when it can reach the
scheduling barrier.
BUG:
6300640
Change-Id: Ic83de6dd1e3f602bda6809bfe840db3a097a5176
Elliott Hughes [Thu, 12 Apr 2012 23:01:09 +0000 (16:01 -0700)]
Add a -XX:mainThreadStackSize= option.
Similar to -Xss, but for the main thread only.
Bug:
6315322
Change-Id: I84bd5974f830f348fd9a0486ae972520b4a02cc4
Bill Buzbee [Thu, 12 Apr 2012 18:04:13 +0000 (11:04 -0700)]
Merge "Support building Dalvik with AddressSanitizer."
Evgeniy Stepanov [Wed, 4 Apr 2012 16:23:54 +0000 (20:23 +0400)]
Support building Dalvik with AddressSanitizer.
Change-Id: I007c5080081a4a66b39fa6b539afd8f00fd8ce0f
Jeff Brown [Wed, 11 Apr 2012 03:34:39 +0000 (20:34 -0700)]
Make sure we rethrow the same exception we started with.
Bug:
6312938
Change-Id: I41d8adf27fd32103c55d9eeafa28a25c37f5029d
jeffhao [Fri, 6 Apr 2012 17:53:11 +0000 (10:53 -0700)]
Make indexOfCommon clamp start to count when start > count.
This fixes bug http://b/
6299423
Change-Id: Ib41166d021eac9cc47830ecce30fe9c58f2cec39
Elliott Hughes [Thu, 5 Apr 2012 23:27:26 +0000 (16:27 -0700)]
Throw ArrayStoreException instead of corrupting the heap.
Protect against bad calls to SetObjectArrayElement. Found while debugging
a Chrome crash. (This will make Chrome fail at the point where it does the
invalid operation rather than later, but we already merged the fix upstream.)
Change-Id: Ie7b2238d99f2ee4dde46342eb77cfec0495a30e7
Elliott Hughes [Thu, 5 Apr 2012 22:30:42 +0000 (15:30 -0700)]
Dump the native stacks of threads in VmWait as well Native.
Mostly these are boring, but when they're boring they're also short.
And sometimes they're interesting.
Bug:
6294717
Change-Id: I1bf9e32a5cc237efda365abe39ad84ac59fd5c8f
Mike Lockwood [Tue, 3 Apr 2012 17:34:41 +0000 (10:34 -0700)]
Merge remote-tracking branch 'goog/ics-aah'
Elliott Hughes [Sat, 31 Mar 2012 05:35:24 +0000 (22:35 -0700)]
am
6353fe2f: am
2a3cc744: Merge "Set SYSTEM_PAGE_SIZE from PAGE_SHIFT"
* commit '
6353fe2fbb380551a576fb38ad68dbc1566d250c':
Set SYSTEM_PAGE_SIZE from PAGE_SHIFT
Elliott Hughes [Sat, 31 Mar 2012 05:33:22 +0000 (22:33 -0700)]
am
2a3cc744: Merge "Set SYSTEM_PAGE_SIZE from PAGE_SHIFT"
* commit '
2a3cc744730ec76a05b31df8ac5b6de538d6d70b':
Set SYSTEM_PAGE_SIZE from PAGE_SHIFT
Elliott Hughes [Sat, 31 Mar 2012 03:02:23 +0000 (20:02 -0700)]
Merge "Set SYSTEM_PAGE_SIZE from PAGE_SHIFT"
Elliott Hughes [Wed, 28 Mar 2012 01:00:47 +0000 (18:00 -0700)]
am
b9f5c7aa: am
3ddb30bd: am
6bcf5d20: Merge "Obvious mix of = and =="
* commit '
b9f5c7aa88c3c731501bd1c61baefa5c761947a1':
Obvious mix of = and ==
Elliott Hughes [Wed, 28 Mar 2012 01:00:46 +0000 (18:00 -0700)]
am
92ab8d50: am
531f7273: am
54ff31a5: Merge "Compact merged dexes on their byte aligned size"
* commit '
92ab8d5069c51de75903a5b4768d4d94563bceb1':
Compact merged dexes on their byte aligned size
Elliott Hughes [Wed, 28 Mar 2012 00:57:43 +0000 (17:57 -0700)]
am
3ddb30bd: am
6bcf5d20: Merge "Obvious mix of = and =="
* commit '
3ddb30bd32fd2abe06741f001411479c2d4ee416':
Obvious mix of = and ==
Elliott Hughes [Wed, 28 Mar 2012 00:57:42 +0000 (17:57 -0700)]
am
531f7273: am
54ff31a5: Merge "Compact merged dexes on their byte aligned size"
* commit '
531f7273925a1de8d13fe89d5b6409d7c64b5b56':
Compact merged dexes on their byte aligned size
Elliott Hughes [Wed, 28 Mar 2012 00:53:40 +0000 (17:53 -0700)]
am
6bcf5d20: Merge "Obvious mix of = and =="
* commit '
6bcf5d200bc9d1be6c3d766005c19694a325da61':
Obvious mix of = and ==
Elliott Hughes [Wed, 28 Mar 2012 00:53:39 +0000 (17:53 -0700)]
am
54ff31a5: Merge "Compact merged dexes on their byte aligned size"
* commit '
54ff31a5f467aea7352b034f37406a6f4fe6a253':
Compact merged dexes on their byte aligned size
Elliott Hughes [Tue, 27 Mar 2012 19:25:33 +0000 (12:25 -0700)]
Merge "Obvious mix of = and =="
Elliott Hughes [Tue, 13 Mar 2012 17:30:29 +0000 (10:30 -0700)]
Merge "Compact merged dexes on their byte aligned size"
Mark Gordon [Tue, 27 Mar 2012 19:16:32 +0000 (15:16 -0400)]
Obvious mix of = and ==
Change-Id: I52183924c287b80e9ca7c20df6edfe132b43e088
Jesse Wilson [Mon, 26 Mar 2012 18:53:18 +0000 (14:53 -0400)]
Transform static values eagerly rather than on use.
Apparently there is some situations where a single static value
may be referenced by multiple sites. Not transforming them eagerly
lead to oversized dex files (and could crash the merge).
Change-Id: I4ac5b9cd621b0fff1e5ba247c9590aa0d562cd65
Jeff Brown [Fri, 16 Mar 2012 00:40:31 +0000 (17:40 -0700)]
Always call the native exit hook, even for halt().
Change-Id: I6990d66175c4075ab3357c9be1486c11eceb41e5
Charlie Groves [Sun, 11 Mar 2012 07:40:47 +0000 (23:40 -0800)]
Compact merged dexes on their byte aligned size
Previously, if a merged dex had too much free space, the compaction step
would subtract the unused space from the section sizes generated by
adding the merged dexes section sizes. The merged sizes weren't 4-byte
aligned, which meant if a section had been bumped in size for the
boundary, the compaction would fail when loading into a section eg
'Section limit
3665072 exceeded by string data'.
This gets the compacted section size from the actual used space instead
of from the non-aligned estimate, so everything fits.
Change-Id: I1aee1abd721ec21998bb3ea78f6f424e7421b614
Iliyan Malchev [Thu, 16 Feb 2012 19:23:36 +0000 (11:23 -0800)]
Replace malloc() followed by memset() to zero with calloc()
Bionic's calloc() is smart enough to not zero out memory if it gets that memory
from an anonyous mmap. Thus, if we use malloc for large allocations, we cause
unnecessary memory duplication by following the malloc() with a memset().
An even better approach would be to replace the known large calloc() calls with
dvmAllocRegion() allocation.
Change-Id: Id308f541c9a040d5929bf991b6c2bfdefb823c3c
Iliyan Malchev [Wed, 15 Feb 2012 18:47:24 +0000 (10:47 -0800)]
Replace large calloc() with ashmem-backed anonymous mmap
This change eliminates a large amount of memory duplication arising from the
use of a calloc() to initialize auxiliary data structures. Calloc() calls
memset() to zero out memory after it has been allocated. That memory may
either be gotten via an anonymous mmap (in which case the memset() is
unnecessary, as the kernel zeros out the memory before handing it to user
space), or it can get recycled by the heap (in which case the memset() is
necessary.)
This becomes a problem for large callocs in any case. In addition, when
initializing aux structures, we create a large sparse array for each DEX file.
The data in each array tends to remain mostly zeroed out, which leads to a lot
of duplicated zero pages.
By switching to anonymous mmaps() instead of calloc(), we keep the zeroed-out
pages together and minimize duplication.
Change-Id: Ic38b78e54acc782a863513a7b1972492e50e099c
Signed-off-by: Iliyan Malchev <malchev@google.com>
jeffhao [Mon, 13 Feb 2012 18:54:15 +0000 (10:54 -0800)]
Fix verifier typing for null float arrays.
Since the array is null, the verifier would get confused about its type.
Now it's treated as zero to allow it to be merged later without conflict.
Bug: http://code.google.com/p/android/issues/detail?id=24814
Change-Id: Id7e96f5d2fd4879c9eaa8535c2b9ae95b0b78cff
Jean-Baptiste Queru [Mon, 13 Feb 2012 22:42:49 +0000 (14:42 -0800)]
am
67feae03: am
4cda226f: am
c1052f9a: Merge "Add a test for a dalvikvm \'switch\' bug."
* commit '
67feae038c9e6f076223335aa308f25d24a3a51e':
Add a test for a dalvikvm 'switch' bug.
Jean-Baptiste Queru [Mon, 13 Feb 2012 22:39:57 +0000 (14:39 -0800)]
am
4cda226f: am
c1052f9a: Merge "Add a test for a dalvikvm \'switch\' bug."
* commit '
4cda226f6917845f491aaea6408b23db5d8d3fd6':
Add a test for a dalvikvm 'switch' bug.
Jean-Baptiste Queru [Mon, 13 Feb 2012 22:27:37 +0000 (14:27 -0800)]
am
c1052f9a: Merge "Add a test for a dalvikvm \'switch\' bug."
* commit '
c1052f9a61539f212885555b0b2c110582f11e28':
Add a test for a dalvikvm 'switch' bug.
Jean-Baptiste Queru [Mon, 13 Feb 2012 22:23:40 +0000 (14:23 -0800)]
Merge "Add a test for a dalvikvm 'switch' bug."
Elliott Hughes [Fri, 10 Feb 2012 23:15:39 +0000 (15:15 -0800)]
Add a test for a dalvikvm 'switch' bug.
Bug: http://code.google.com/p/android/issues/detail?id=22344
Change-Id: I3bf9f8a0732876d758bc5378c5d25ad0c8a71684
The Android Open Source Project [Wed, 1 Feb 2012 18:03:20 +0000 (10:03 -0800)]
The Android Open Source Project [Wed, 1 Feb 2012 18:00:29 +0000 (10:00 -0800)]
am
af140189: Reconcile with ics-mr1-release
* commit '
af140189514d64be270439303eb0f0ab26583af5':
Jean-Baptiste Queru [Wed, 1 Feb 2012 17:48:38 +0000 (09:48 -0800)]
am
81894b3a: am
2fe129bf: Merge "Updates to the VM tests."
* commit '
81894b3aa4215d389a0673826a76a1839f578dcb':
Updates to the VM tests.
Jean-Baptiste Queru [Wed, 1 Feb 2012 17:34:46 +0000 (09:34 -0800)]
am
2fe129bf: Merge "Updates to the VM tests."
* commit '
2fe129bf176c32f8b507da813ffa02868ff32604':
Updates to the VM tests.
The Android Open Source Project [Wed, 1 Feb 2012 16:49:28 +0000 (08:49 -0800)]
Reconcile with ics-mr1-release
Change-Id: Ib9dd6f8b4d4f3d978450cf0db6a3a598adad6fea
Jean-Baptiste Queru [Wed, 1 Feb 2012 16:41:43 +0000 (08:41 -0800)]
Merge "Updates to the VM tests."
Elliott Hughes [Wed, 1 Feb 2012 01:55:18 +0000 (17:55 -0800)]
Updates to the VM tests.
Bug: http://code.google.com/p/android/issues/detail?id=21599
Bug: http://code.google.com/p/android/issues/detail?id=21597
Change-Id: I9c6d67cd18943eb6fa68104f0ec2fbec5ea9e0ec
Chris Dearman [Tue, 31 Jan 2012 02:22:27 +0000 (18:22 -0800)]
Set SYSTEM_PAGE_SIZE from PAGE_SHIFT
Hardwiring the expected page size is not portable
Signed-off-by: Chris Dearman <chris@mips.com>
buzbee [Mon, 30 Jan 2012 18:44:57 +0000 (10:44 -0800)]
x86 mterp debug/profile fix (issue
5938080)
When profiling or debugging is active, the Dalvik vm calls out to
a helper function to handle any pending debug/profile activities
before and after native invokes. The assembly code in footer.s
was passing arguments to these routines in the wrong oder.
Issue
5938080
Change-Id: I425eb2bfbee504a70eda8b382f4cf7340e458241
Andy McFadden [Fri, 27 Jan 2012 21:31:02 +0000 (13:31 -0800)]
Fix assert
Change-Id: If764fe38e215473590a6fe6be910827a38382054
Andy McFadden [Tue, 24 Jan 2012 19:07:25 +0000 (11:07 -0800)]
Tweak Dalvik tests
030 - adjust sleep duration so it's not a multiple of the 10-second
timeout (and hence less likely to hit edge)
070 - added tests for all "view buffers", both big and little endian,
plus a quick check for array() on direct buffers
092 - fixed date format test so it doesn't fail late at night, and
added a getISO3Language test
Change-Id: Ibc6f1111861a2ec8c69ded28d5e3de08f4ed2bc2
The Android Open Source Project [Mon, 23 Jan 2012 18:41:32 +0000 (10:41 -0800)]
am
f9d0ce5f: Reconcile with ics-mr1-release
* commit '
f9d0ce5f917adc46d1940425eff9d0f5b8459ff6':
The Android Open Source Project [Mon, 23 Jan 2012 18:15:35 +0000 (10:15 -0800)]
Reconcile with ics-mr1-release
Change-Id: Iaa3411a4a3a03f433d2a841b3b48bb6371bd9fba
jeffhao [Mon, 23 Jan 2012 17:18:13 +0000 (09:18 -0800)]
am
7c9027e2: am
1c7e1e14: Fix to dex verifier to handle float types that look like Boolean.
* commit '
7c9027e23fd7096d82964961811103469d21b296':
Fix to dex verifier to handle float types that look like Boolean.
The Android Automerger [Sat, 21 Jan 2012 00:11:41 +0000 (16:11 -0800)]
merge in ics-mr1-release history after reset to ics-mr1
The Android Open Source Project [Fri, 20 Jan 2012 23:52:22 +0000 (15:52 -0800)]
am
31856263: Reconcile with ics-mr1-release
* commit '
318562634a59d1c027dae121799fe6b1b9984500':
Ben Cheng [Fri, 20 Jan 2012 23:48:14 +0000 (15:48 -0800)]
am
f9568520: am
232c385b: Bug fix for control-flow construction involving nested loops.
* commit '
f9568520b2196693a41b8703fff0d2ddba31bc8e':
Bug fix for control-flow construction involving nested loops.
Andy McFadden [Fri, 20 Jan 2012 22:34:05 +0000 (14:34 -0800)]
Merge "Update and extend Dalvik tests"
Andy McFadden [Fri, 20 Jan 2012 22:05:24 +0000 (14:05 -0800)]
Tweak UnsatisfiedLinkError
Change this:
java.lang.UnsatisfiedLinkError: getSuperclass
to this:
java.lang.UnsatisfiedLinkError: Native method not found:
java.lang.Class.getSuperclass:()Ljava/lang/Class;
Change-Id: I23bd4350caf743ad9ba3524da0a10107c63af56a
Andy McFadden [Fri, 20 Jan 2012 21:37:56 +0000 (13:37 -0800)]
Update and extend Dalvik tests
029 - exercise setDefaultAssertionStatus
031 - enable some tests that were disabled back when our generics
support didn't exist. Added new FancyClass test.
034 - print success/fail rather than matching exact exception text
038 - (same as 034)
042 - added new test for bug
5861201, currently disabled
045 - added a bunch of new tests, including one that fails
046 - added new tests, including some for bug
5861201 (the latter
are disabled)
068 - loadClass() wants class names with dots, not slashes
086 - (same as 068)
087 - (same as 068)
092 - new test, exercises some locale-specific classes
093 - new test, exercises object serialization
094 - new test, exercises regex code
Test 045 now fails, because it's exercising a feature that should
work but doesn't. All others pass.
Change-Id: I6481bfa88681c4ac8af629cb60797b2708bdeba4
jeffhao [Fri, 20 Jan 2012 20:38:15 +0000 (12:38 -0800)]
am
1c7e1e14: Fix to dex verifier to handle float types that look like Boolean.
* commit '
1c7e1e149d3dcf3949c76ae594ca9c1ca20392f9':
Fix to dex verifier to handle float types that look like Boolean.
jeffhao [Fri, 20 Jan 2012 20:38:09 +0000 (12:38 -0800)]
am
1c7e1e14: Fix to dex verifier to handle float types that look like Boolean.
* commit '
1c7e1e149d3dcf3949c76ae594ca9c1ca20392f9':
Fix to dex verifier to handle float types that look like Boolean.
jeffhao [Wed, 18 Jan 2012 02:18:36 +0000 (18:18 -0800)]
Fix to dex verifier to handle float types that look like Boolean.
Addresses http://code.google.com/p/android/issues/detail?id=23465, where
a Float value is potentially 0x0 or Float.MIN_VALUE (0x1), which combines
into a Boolean type, which should be allowed to be promoted to Float.
(cherry picked from commit
2a249c50903d669d2a9296f0fe407b67646626c8)
Change-Id: I1b81fad5e1e166246535bdfa4b7a98db3b2531bf
jeffhao [Thu, 19 Jan 2012 21:29:29 +0000 (13:29 -0800)]
Merge "Fix to dex verifier to handle float types that look like Boolean."
The Android Open Source Project [Thu, 19 Jan 2012 21:06:27 +0000 (13:06 -0800)]
Reconcile with ics-mr1-release
Change-Id: I69e3e58260f9a81452ac12d0365c8be2a17edc93
The Android Automerger [Thu, 19 Jan 2012 05:16:51 +0000 (21:16 -0800)]
merge in ics-mr1-release history after reset to ics-mr1
Ben Cheng [Thu, 19 Jan 2012 00:27:31 +0000 (16:27 -0800)]
am
232c385b: Bug fix for control-flow construction involving nested loops.
* commit '
232c385b9ece322d677a48947ab1e052c1e2427c':
Bug fix for control-flow construction involving nested loops.
Ben Cheng [Thu, 19 Jan 2012 00:27:02 +0000 (16:27 -0800)]
am
232c385b: Bug fix for control-flow construction involving nested loops.
* commit '
232c385b9ece322d677a48947ab1e052c1e2427c':
Bug fix for control-flow construction involving nested loops.
Ben Cheng [Wed, 18 Jan 2012 21:45:57 +0000 (13:45 -0800)]
Bug fix for control-flow construction involving nested loops.
Bug:
5884080
Change-Id: Ic2f42abae3e71f9c0729984902396f92902184a3
Ben Cheng [Wed, 18 Jan 2012 22:11:18 +0000 (14:11 -0800)]
Merge "Bug fix for control-flow construction involving nested loops."
Ben Cheng [Wed, 18 Jan 2012 21:45:57 +0000 (13:45 -0800)]
Bug fix for control-flow construction involving nested loops.
Bug:
5884080
Change-Id: Ic2f42abae3e71f9c0729984902396f92902184a3
buzbee [Wed, 18 Jan 2012 17:42:29 +0000 (09:42 -0800)]
Remove stale assert
Delete a stale assert that can cause problems when running with
the portable interpreter when debugging or profiling.
Change-Id: I354a1fbe280e1baeb885cb51fed1f3e2c8eef159
Jean-Baptiste Queru [Wed, 18 Jan 2012 02:20:25 +0000 (18:20 -0800)]
am
9e8b05e4: am
a669206d: Merge "cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use"
* commit '
9e8b05e4529c4f9bf66d3db21ae79ccbbe97a1dc':
cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use
jeffhao [Wed, 18 Jan 2012 02:18:36 +0000 (18:18 -0800)]
Fix to dex verifier to handle float types that look like Boolean.
Addresses http://code.google.com/p/android/issues/detail?id=23465, where
a Float value is potentially 0x0 or Float.MIN_VALUE (0x1), which combines
into a Boolean type, which should be allowed to be promoted to Float.
Change-Id: I1718820dc05719772aa939f3f7830bb86a161d56
Jean-Baptiste Queru [Wed, 18 Jan 2012 02:17:56 +0000 (18:17 -0800)]
am
a669206d: Merge "cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use"
* commit '
a669206dc91323e664a84b2a4ca170ec0332c926':
cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use
Jean-Baptiste Queru [Tue, 17 Jan 2012 23:26:45 +0000 (15:26 -0800)]
Merge "cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use"
Nick Kralevich [Tue, 17 Jan 2012 21:09:54 +0000 (13:09 -0800)]
am
516c0968: am
390d7c08: fix personality call.
* commit '
516c096823b3e1c06a9875334c2ec3cdcc00d125':
fix personality call.
Nick Kralevich [Tue, 17 Jan 2012 19:45:43 +0000 (11:45 -0800)]
am
390d7c08: fix personality call.
* commit '
390d7c08821750d0633435278b2d533fd6b1a7a5':
fix personality call.
Nick Kralevich [Tue, 17 Jan 2012 19:45:32 +0000 (11:45 -0800)]
am
390d7c08: fix personality call.
* commit '
390d7c08821750d0633435278b2d533fd6b1a7a5':
fix personality call.
The Android Automerger [Sat, 14 Jan 2012 00:17:11 +0000 (16:17 -0800)]
merge in ics-mr1-release history after reset to ics-mr1
Nick Kralevich [Fri, 13 Jan 2012 22:04:38 +0000 (14:04 -0800)]
fix personality call.
Change-Id: I25845344494ac15b4a6876784d2b040779892459
Selim Gurun [Fri, 13 Jan 2012 20:54:39 +0000 (12:54 -0800)]
Fix log macro name
Convert LOGW to ALOGW.
Change-Id: I4096541cfb6f76d6ab3af289288c840f87125dfa
Selim Gurun [Fri, 13 Jan 2012 20:18:57 +0000 (12:18 -0800)]
am
ca5d7a30: am
311886c6: Prevent memory fragmentation.
* commit '
ca5d7a300ecb8a96c5751796dff62b007c7095b1':
Prevent memory fragmentation.
Selim Gurun [Fri, 13 Jan 2012 20:17:24 +0000 (12:17 -0800)]
am
311886c6: Prevent memory fragmentation.
* commit '
311886c6c6fcd3b531531f592d56caab5e2a259c':
Prevent memory fragmentation.
Selim Gurun [Fri, 13 Jan 2012 20:15:52 +0000 (12:15 -0800)]
am
311886c6: Prevent memory fragmentation.
* commit '
311886c6c6fcd3b531531f592d56caab5e2a259c':
Prevent memory fragmentation.
Jean-Baptiste Queru [Fri, 13 Jan 2012 19:20:45 +0000 (11:20 -0800)]
am
6dea1575: Merge "fix dvmDbgOutputAllInterfaces to include only direct super-interfaces"
* commit '
6dea1575fd44aeee1dbe4d2bb184357598581652':
fix dvmDbgOutputAllInterfaces to include only direct super-interfaces
Selim Gurun [Fri, 13 Jan 2012 18:47:15 +0000 (10:47 -0800)]
Prevent memory fragmentation.
Bug:
5817320
Prevent memory fragmentation and potential allocation failures. This
change is temporary.
Change-Id: Id1e8f9606687648235ea9e18861125a8c799d812
Jean-Baptiste Queru [Fri, 13 Jan 2012 15:49:24 +0000 (07:49 -0800)]
Merge "fix dvmDbgOutputAllInterfaces to include only direct super-interfaces"
Johannes Rudolph [Fri, 13 Jan 2012 07:18:17 +0000 (08:18 +0100)]
cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use
In deep interface hierarchies super-interfaces are recursively concatenated
to create the iftable. There was no checking for duplicated entries so that the
iftable could get pretty large with just a few layers of interfaces up to the
point where the LinearAlloc was exceeded completely.
This change scans the iftable linearly for existing entries before it adds another
one.
Issue: http://code.google.com/p/android/issues/detail?id=22586
Change-Id: Idb4a13ca7a52f390661629cf2539930242526876
Signed-off-by: Johannes Rudolph <johannes.rudolph@gmail.com>
Jesse Wilson [Thu, 12 Jan 2012 17:09:26 +0000 (12:09 -0500)]
Provide detail when methods or fields exceed the limit.
Here's what the new message looks like:
trouble writing output: Too many fields: 88304; max is 65536. By package:
10 dalvik.annotation
278 dalvik.bytecode
81 dalvik.system
94 dalvik.system.profiler
111 java.awt.font
12 java.beans
322 java.io
519 java.lang
20 java.lang.annotation
13 java.lang.ref
72 java.lang.reflect
72 java.math
...
Change-Id: Ieea7efb178522d9ac3cb10c5a6cfb453be3fd72d
Johannes Rudolph [Thu, 12 Jan 2012 09:53:48 +0000 (10:53 +0100)]
fix dvmDbgOutputAllInterfaces to include only direct super-interfaces
As the javadoc and the spec say dvmDbgOutputAllInterfaces should output only
the directly implemented interfaces. This can be achieved by just iterating
over the `clazz->interfaces`.
Issue: http://code.google.com/p/android/issues/detail?id=21422
Change-Id: I1779e2cc2ada7afaaf4a1e2e5c7861d61d9ea014
Signed-off-by: Johannes Rudolph <johannes.rudolph@gmail.com>
Elliott Hughes [Sat, 7 Jan 2012 01:25:14 +0000 (17:25 -0800)]
Fix a small memory leak.
Found by someone reading the code, rather than because we saw a crash. This is
only a small leak, and you'd have to be dumping threads (because of an ANR) or
creating a new thread to provoke it.
Change-Id: I9c660d86056765bcbebbdfa634032885c3f91b82
Steve Block [Fri, 6 Jan 2012 19:16:58 +0000 (19:16 +0000)]
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/#/c/157220
Also fix an occurrence of LOGW missed in an earlier change.
Bug:
5449033
Change-Id: I2e3b23839e6dcd09015d6402280e9300c75e3406
Steve Block [Thu, 5 Jan 2012 23:21:27 +0000 (23:21 +0000)]
Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/157065
Bug:
5449033
Change-Id: Ia5d301248024df26c2a29dabdfe738e39ec87c82
Elliott Hughes [Fri, 6 Jan 2012 01:43:32 +0000 (17:43 -0800)]
Remove misleading and outdated documentation.
Change-Id: Id118f2fc173fc37225a1fb36e8182f54030b1f5f
Elliott Hughes [Fri, 6 Jan 2012 01:28:21 +0000 (17:28 -0800)]
Remove documentation that's now in docs/source.android.com.
Change-Id: If6ea32e923a8c7fe99824760d9a09e7eee1ff71b
Steve Block [Wed, 4 Jan 2012 20:04:51 +0000 (20:04 +0000)]
Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156801
Bug:
5449033
Change-Id: Ic558031c75b3702d90eb78bd730501ae5d3c077b
Elliott Hughes [Wed, 4 Jan 2012 23:38:58 +0000 (15:38 -0800)]
Remove unsupported experimental opcodes.
External developers were starting to try to get themselves into trouble with
this stuff...
Change-Id: I2b03bfeaa8c98b6a994bc7924fc8dcf4e4d4f6cb
Jesse Wilson [Thu, 5 Jan 2012 16:29:24 +0000 (08:29 -0800)]
Merge "Remove dexmaker code from dx."
Jesse Wilson [Wed, 4 Jan 2012 16:41:54 +0000 (11:41 -0500)]
Remove dexmaker code from dx.
This now lives as a standalone project:
http://code.google.com/p/dexmaker/
Change-Id: I4f7abff9399d6827082c9af78a015562fdbcdbb3
Steve Block [Tue, 20 Dec 2011 16:22:13 +0000 (16:22 +0000)]
Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156016
Bug:
5449033
Change-Id: Ic663376d1ad6a6cb14bf81405ad9afd247cf2f60
Hugo Hudson [Fri, 16 Dec 2011 18:06:39 +0000 (18:06 +0000)]
Introduces ProxyBuilder and tests.
- ProxyBuilder is to concrete classes what java.lang.reflect.Proxy is to
interfaces.
- Uses a builder pattern to make specifying of the various (optional)
parameters easier.
- Creates a concrete subclass of the supplied input class whose
implementation delegates to the given invocation handler.
- Also provides a fix for the Code#loadConstant method to allow loading
null values.
Change-Id: I3ca6a98b91c64466df03120bc85f095365250aca
Hugo Hudson [Fri, 16 Dec 2011 16:31:49 +0000 (08:31 -0800)]
Merge "DexGenerator: allow specifying dex cache dir."
Hugo Hudson [Wed, 30 Nov 2011 12:12:51 +0000 (12:12 +0000)]
DexGenerator: allow specifying dex cache dir.
- Switches DexGenerator to not use extended opcodes. This allows us to
write suitable files for earlier versions of Android.
- Allows caller to specify optimised dex directory. This allows us to
get around /data/dalvik-cache not being world-writeable.
- Allows caller to specify optimised dex files cache dir. This allows
us to skip the requirement of being able to write to /sdcard.
Change-Id: I2cae2e187ccf5b20b98763cb7eb791383a7d5a59
Brian Carlstrom [Mon, 12 Dec 2011 22:35:59 +0000 (14:35 -0800)]
DexOptions should default targetApiLevel to API_NO_EXTENDED_OPCODES
Bug:
5738782
(cherry picked from commit
b14b69728337cf5808eed4d5652fb9d5be33dff0)
Change-Id: I51991c85c74b41fa51556b369a3724ba9dd0c090
Jesse Wilson [Tue, 13 Dec 2011 21:49:50 +0000 (13:49 -0800)]
Merge "Don't throw an AssertionError on invalid input."