OSDN Git Service

android-x86/dalvik.git
10 years agoSimplify merges of the annotation code.
Elliott Hughes [Tue, 23 Jul 2013 23:17:22 +0000 (16:17 -0700)]
Simplify merges of the annotation code.

Change-Id: I9fd3b53032b2e6053094500571775ed2fb5edf78

10 years agoMerge "Remove an assertion that JDWP packets are small."
Elliott Hughes [Tue, 16 Jul 2013 20:45:54 +0000 (20:45 +0000)]
Merge "Remove an assertion that JDWP packets are small."

10 years agoRemove an assertion that JDWP packets are small.
Elliott Hughes [Tue, 16 Jul 2013 20:41:03 +0000 (13:41 -0700)]
Remove an assertion that JDWP packets are small.

Now we support longer allocation tracker runs, it's possible
to collect more than 1MiB of data.

Bug: 9871848
Change-Id: Ifb575538b97563ce909f7e0aa6840ccbd6e93569

10 years agoMerge "Increase the default alloc tracker maximum."
Elliott Hughes [Fri, 12 Jul 2013 00:36:54 +0000 (00:36 +0000)]
Merge "Increase the default alloc tracker maximum."

10 years agoIncrease the default alloc tracker maximum.
Elliott Hughes [Fri, 12 Jul 2013 00:23:15 +0000 (17:23 -0700)]
Increase the default alloc tracker maximum.

Also add a new system property "dalvik.vm.allocTrackerMax" that allows
developers to choose an arbitrary limit.

Change-Id: I246a31d0ee46557544b1babae412246914495f80

10 years agoMerge "Disable -Xjnigreflimit."
Elliott Hughes [Tue, 2 Jul 2013 20:09:00 +0000 (20:09 +0000)]
Merge "Disable -Xjnigreflimit."

10 years agoDisable -Xjnigreflimit.
Elliott Hughes [Tue, 2 Jul 2013 19:50:29 +0000 (12:50 -0700)]
Disable -Xjnigreflimit.

This was supposed to help find bugs, but in practice (unlike the
locale reference limit and the pinned array limit) doesn't. What it
does do is cause well-behaved code to fail if its allocation rate
is high. This has caused trouble for both audio and graphics code
running on eng builds.

Bug: 7903975
Change-Id: If475cb51c9cab13270a83a60d6d0aecfab758e88

10 years agoMerge "JIT: Use rsb and shift in easy multiply."
Elliott Hughes [Mon, 17 Jun 2013 17:14:21 +0000 (17:14 +0000)]
Merge "JIT: Use rsb and shift in easy multiply."

10 years agoMerge "Fix inner class access flags and array modifiers."
Elliott Hughes [Fri, 14 Jun 2013 17:41:43 +0000 (17:41 +0000)]
Merge "Fix inner class access flags and array modifiers."

10 years agoFix inner class access flags and array modifiers.
Elliott Hughes [Fri, 14 Jun 2013 01:57:33 +0000 (18:57 -0700)]
Fix inner class access flags and array modifiers.

Inner class access flags should come from the InnerClass attribute.

Array classes should all have the ACC_ABSTRACT modifier set.

Bug: https://code.google.com/p/android/issues/detail?id=56267
Change-Id: If4793ee6c7a6b24bf4d32ef05167d81b58011188

10 years agoJIT: Use rsb and shift in easy multiply.
Anders O Nilsson [Wed, 10 Oct 2012 13:26:32 +0000 (15:26 +0200)]
JIT: Use rsb and shift in easy multiply.

For easy multiplication using reverse subtract (when
lit is 2^n-1) use the barrel shifter for rsb.

This improves arithmetic performance for code executing
in Dalvik. E.g String.hashCode.

Change-Id: Ifb086dcec344b30fd3e392ac21d508b43e820cdc
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
10 years agoMerge "JIT: Allow use of cbz/cbnz for conditional branch gen."
Elliott Hughes [Thu, 13 Jun 2013 21:43:55 +0000 (21:43 +0000)]
Merge "JIT: Allow use of cbz/cbnz for conditional branch gen."

10 years agoMerge "Now that abort(3) is fixed, dvmAbort can be simplified."
Elliott Hughes [Tue, 11 Jun 2013 18:01:49 +0000 (18:01 +0000)]
Merge "Now that abort(3) is fixed, dvmAbort can be simplified."

10 years agoNow that abort(3) is fixed, dvmAbort can be simplified.
Elliott Hughes [Tue, 11 Jun 2013 17:52:34 +0000 (10:52 -0700)]
Now that abort(3) is fixed, dvmAbort can be simplified.

The fix to abort(3) has SHA 7e6ce1a3c52d8533fed92c143419fedb0c93988a.
(https://android-review.googlesource.com/#/c/60341/)

Change-Id: I89e7ed174cbd08ad9046a98e2fdd73af8ae3ee5c

10 years agoMerge "Lose System.currentTimeMillis, nanoTime, and mapLibraryName to the library."
Brian Carlstrom [Fri, 7 Jun 2013 22:35:56 +0000 (22:35 +0000)]
Merge "Lose System.currentTimeMillis, nanoTime, and mapLibraryName to the library."

10 years agoLose System.currentTimeMillis, nanoTime, and mapLibraryName to the library.
Elliott Hughes [Wed, 31 Aug 2011 17:29:38 +0000 (10:29 -0700)]
Lose System.currentTimeMillis, nanoTime, and mapLibraryName to the library.

(cherry picked from commit 0f526895f34904784e3d2ef964b016d2764cb662)

Change-Id: I4f6f22e782e58a9b21af68aab1cebc21b3437976

10 years agoMerge "Fix a minor leak in dvmCreateInlineSubsTable"
Elliott Hughes [Wed, 5 Jun 2013 21:13:00 +0000 (21:13 +0000)]
Merge "Fix a minor leak in dvmCreateInlineSubsTable"

10 years agoMerge "Fix minor leaks caused by failed initialization in JNI_CreateJavaVM"
Elliott Hughes [Wed, 5 Jun 2013 21:09:03 +0000 (21:09 +0000)]
Merge "Fix minor leaks caused by failed initialization in JNI_CreateJavaVM"

10 years agoMerge "Fix a minor bug in dvmCreateInterpThread"
Elliott Hughes [Wed, 5 Jun 2013 21:02:50 +0000 (21:02 +0000)]
Merge "Fix a minor bug in dvmCreateInterpThread"

10 years agoMerge "Remove unused compiler templates for armv7-a*"
Elliott Hughes [Wed, 5 Jun 2013 20:30:48 +0000 (20:30 +0000)]
Merge "Remove unused compiler templates for armv7-a*"

10 years agoMerge "Rename unreasonable function name dmvCompilerTemplateEnd"
Elliott Hughes [Wed, 5 Jun 2013 20:22:09 +0000 (20:22 +0000)]
Merge "Rename unreasonable function name dmvCompilerTemplateEnd"

10 years agoRename unreasonable function name dmvCompilerTemplateEnd
Yanchuan Nian [Tue, 21 May 2013 02:41:51 +0000 (10:41 +0800)]
Rename unreasonable function name dmvCompilerTemplateEnd

In dalvik, most function names start with "dvm" except dmvCompilerTemplateEnd.
Convert it to dvmCompilerTemplateEnd in order to follow the rule.

Change-Id: I09c41f8c9d55058013fbdb62ac5922ccd067ce39

11 years agoMerge "Move jdwpspy from development to dalvik (2 of 2)"
Brian Carlstrom [Wed, 22 May 2013 19:22:14 +0000 (19:22 +0000)]
Merge "Move jdwpspy from development to dalvik (2 of 2)"

11 years agoMove jdwpspy from development to dalvik (2 of 2)
Brian Carlstrom [Wed, 22 May 2013 04:07:08 +0000 (21:07 -0700)]
Move jdwpspy from development to dalvik (2 of 2)

Change-Id: I3e7a255fddcec1380fce143004cbad83a69d2c0d

11 years agoMerge "Added support for version 51 class files in dx"
Jean-Philippe Lesot [Fri, 17 May 2013 07:26:19 +0000 (07:26 +0000)]
Merge "Added support for version 51 class files in dx"

11 years agoMerge "Report problems as errors in dx (with exit codes)"
Jean-Philippe Lesot [Fri, 17 May 2013 07:25:05 +0000 (07:25 +0000)]
Merge "Report problems as errors in dx (with exit codes)"

11 years agoRemove unused compiler templates for armv7-a*
You Kim [Thu, 16 May 2013 17:43:09 +0000 (02:43 +0900)]
Remove unused compiler templates for armv7-a*

Change-Id: I68e344c2f2689347d6eeb943030b7263a55cd0bd

11 years agoReport problems as errors in dx (with exit codes)
delphinemartin [Fri, 26 Apr 2013 15:46:50 +0000 (17:46 +0200)]
Report problems as errors in dx (with exit codes)

(cherry picked from commit 593a7233e13d6eeb8ae5d894e29c6a27cbc7b7f0)

Change-Id: I6421f95ceb97a596a19781e46cb4767bfb21cdbd

11 years agoAdded support for version 51 class files in dx
delphinemartin [Mon, 29 Apr 2013 12:04:47 +0000 (14:04 +0200)]
Added support for version 51 class files in dx

If an invokedynamic is present, an exception is thrown.

(cherry picked from commit 94629f2a31206637fc79535ffef1b223e9f02e30)

Change-Id: I1922d4cf78465dfd2ac53f8694b7317a1d98016d

11 years agoMerge "Move verification of class access flags to libdex"
Elliott Hughes [Mon, 13 May 2013 18:50:41 +0000 (18:50 +0000)]
Merge "Move verification of class access flags to libdex"

11 years agoMerge "Adapt dalvik to new libnativehelper"
Brian Carlstrom [Fri, 10 May 2013 14:17:33 +0000 (14:17 +0000)]
Merge "Adapt dalvik to new libnativehelper"

11 years agoAdapt dalvik to new libnativehelper
Brian Carlstrom [Fri, 10 May 2013 02:02:38 +0000 (19:02 -0700)]
Adapt dalvik to new libnativehelper

Change-Id: Id4707ea30c77d3760f1224fd9063c8c3f87c1ea7

11 years agoMove verification of class access flags to libdex
Ben Gruver [Wed, 8 May 2013 20:29:36 +0000 (13:29 -0700)]
Move verification of class access flags to libdex

Change-Id: I020a168cfff46e319b0bebb6c7477f0b4139c6de

11 years agoMerge "Reject dex files that attempt to use unspecified class access flags"
Elliott Hughes [Wed, 8 May 2013 18:33:58 +0000 (18:33 +0000)]
Merge "Reject dex files that attempt to use unspecified class access flags"

11 years agoMerge "vm: vmruntime: remove obsolete dependency on array.h"
Dima Zavin [Tue, 7 May 2013 07:49:03 +0000 (07:49 +0000)]
Merge "vm: vmruntime: remove obsolete dependency on array.h"

11 years agovm: vmruntime: remove obsolete dependency on array.h
Dima Zavin [Tue, 7 May 2013 05:53:09 +0000 (22:53 -0700)]
vm: vmruntime: remove obsolete dependency on array.h

Change-Id: Ib1a0143752e701bf2f1e0b7edb4ea7829aa4edc3
Signed-off-by: Dima Zavin <dima@android.com>
11 years agoReject dex files that attempt to use unspecified class access flags
Ben Gruver [Mon, 6 May 2013 17:47:25 +0000 (10:47 -0700)]
Reject dex files that attempt to use unspecified class access flags

Change-Id: Ib1ecf3dfe1856a9014c2e9b0d6a1725ba7617f98

11 years agoMerge "Fix alignment when recompacting a DexMerger result."
Brian Carlstrom [Sat, 4 May 2013 21:11:38 +0000 (21:11 +0000)]
Merge "Fix alignment when recompacting a DexMerger result."

11 years agoFix alignment when recompacting a DexMerger result.
yroussel [Wed, 31 Oct 2012 15:25:42 +0000 (16:25 +0100)]
Fix alignment when recompacting a DexMerger result.

(cherry picked from commit a659fe6f8a0b7d32eafc9a2ff7aa1387702da053)

Change-Id: I7c93e7d45b52655cd7adfdc3fc783757ee71079b

11 years agoMerge "Use zero filled alignment padding before method code"
Brian Carlstrom [Sat, 4 May 2013 18:04:01 +0000 (18:04 +0000)]
Merge "Use zero filled alignment padding before method code"

11 years agoUse zero filled alignment padding before method code
Jesse Wilson [Thu, 22 Sep 2011 18:19:20 +0000 (14:19 -0400)]
Use zero filled alignment padding before method code

(cherry picked from commit d8760772c49647ab197c34b8e46438c410decb42)

Change-Id: I092ff646b02abf7b3ee6285361e4e256c1ade37d

11 years agoMerge "Allow the merging of more than 2 dex file at a time."
Brian Carlstrom [Sat, 4 May 2013 01:04:46 +0000 (01:04 +0000)]
Merge "Allow the merging of more than 2 dex file at a time."

11 years agoAllow the merging of more than 2 dex file at a time.
yroussel [Fri, 26 Oct 2012 13:24:56 +0000 (15:24 +0200)]
Allow the merging of more than 2 dex file at a time.

(cherry picked from commit f9f7020a0a181ffba3bb9ed123f5bb211a61738e)

Change-Id: I2dd875399c2d30d214b6a025ffea995155ff48c1

11 years agoMerge "Fix bug on register compatibility."
Brian Carlstrom [Sat, 4 May 2013 01:01:46 +0000 (01:01 +0000)]
Merge "Fix bug on register compatibility."

11 years agoFix bug on register compatibility.
mikaelpeltier [Mon, 8 Oct 2012 12:46:07 +0000 (14:46 +0200)]
Fix bug on register compatibility.

- Bad register usage to compute prefix or suffix expansion.

(cherry picked from commit 5bce02865087b7ec3c6321a1bef9542c18b0f90e)

Change-Id: Ife9b2b07870bbc933f959c194a4a72dfa9507cfb

11 years agoMerge "Remove duplicate LOCAL_MODULE_TAGS"
Brian Carlstrom [Sat, 4 May 2013 00:54:40 +0000 (00:54 +0000)]
Merge "Remove duplicate LOCAL_MODULE_TAGS"

11 years agoRemove duplicate LOCAL_MODULE_TAGS
Brian Carlstrom [Sat, 4 May 2013 00:51:51 +0000 (17:51 -0700)]
Remove duplicate LOCAL_MODULE_TAGS

Change-Id: Ib2076dedc066dab0f71b038d84edd6b60565c211

11 years agoMerge "Fix bad whitespace alignment from LOGW to ALOGW change"
Brian Carlstrom [Sat, 4 May 2013 00:35:02 +0000 (00:35 +0000)]
Merge "Fix bad whitespace alignment from LOGW to ALOGW change"

11 years agoFix bad whitespace alignment from LOGW to ALOGW change
Brian Carlstrom [Sat, 4 May 2013 00:31:16 +0000 (17:31 -0700)]
Fix bad whitespace alignment from LOGW to ALOGW change

Change-Id: I8eba74b92976f433aff42e6c4461e3127e519d77

11 years agoMerge "Remove dx's copy of JUnit. (part II)"
Brian Carlstrom [Sat, 4 May 2013 00:20:51 +0000 (00:20 +0000)]
Merge "Remove dx's copy of JUnit. (part II)"

11 years agoRemove dx's copy of JUnit. (part II)
Jesse Wilson [Fri, 9 Dec 2011 19:33:21 +0000 (14:33 -0500)]
Remove dx's copy of JUnit. (part II)

This is a second attempt to cherry-pick
4cd7b39876bcec03bb1d0c2afa61cbdb7d119eba
because a couple things didn't come through last time.

Change-Id: I12e5340f0504c1d875d3e4bbe23d8d5506f72fe6

11 years agoMerge "Define scripts for calling DexMerger."
Brian Carlstrom [Fri, 3 May 2013 22:57:41 +0000 (22:57 +0000)]
Merge "Define scripts for calling DexMerger."

11 years agoDefine scripts for calling DexMerger.
yroussel [Fri, 26 Oct 2012 14:33:53 +0000 (16:33 +0200)]
Define scripts for calling DexMerger.

(cherry picked from commit 4f00f32e39f04b5b7ba6684ee3914d9904a139d5)

Change-Id: I86cedb9f48bbb8f7f1945f86b9e10bc2f37a24b9

11 years agoMerge "Print proto_ids_{size,off} along with the rest of the header."
Brian Carlstrom [Fri, 3 May 2013 22:37:17 +0000 (22:37 +0000)]
Merge "Print proto_ids_{size,off} along with the rest of the header."

11 years agoPrint proto_ids_{size,off} along with the rest of the header.
Carl Shapiro [Thu, 4 Aug 2011 02:38:17 +0000 (19:38 -0700)]
Print proto_ids_{size,off} along with the rest of the header.

(cherry picked from commit 6e5f79ce9af380d12238a4ed958cdb56e5490ced)

Change-Id: Ie1df9e0f23d8f5fcea4b6ed7487c61a8182e1a65

11 years agoMerge "Remove unnecessary JNI_H_INCLUDE from LOCAL_C_INCLUDES"
Brian Carlstrom [Fri, 3 May 2013 22:30:15 +0000 (22:30 +0000)]
Merge "Remove unnecessary JNI_H_INCLUDE from LOCAL_C_INCLUDES"

11 years agoRemove unnecessary JNI_H_INCLUDE from LOCAL_C_INCLUDES
Brian Carlstrom [Fri, 3 May 2013 22:23:47 +0000 (15:23 -0700)]
Remove unnecessary JNI_H_INCLUDE from LOCAL_C_INCLUDES

Change-Id: I463a62898e5dd8eb01d1dfbaf71f67d8e1b4e67c

11 years agoMerge "Fix dalvik tests post-conscrypt."
Elliott Hughes [Fri, 3 May 2013 18:55:51 +0000 (18:55 +0000)]
Merge "Fix dalvik tests post-conscrypt."

11 years agoFix dalvik tests post-conscrypt.
Elliott Hughes [Fri, 3 May 2013 18:54:59 +0000 (11:54 -0700)]
Fix dalvik tests post-conscrypt.

Change-Id: I36b942916330a3d6a06fad93dd9aa0533b47ff85

11 years agoMerge "Fix some leaks in VfyBasicBlock & BitVector."
Elliott Hughes [Fri, 3 May 2013 18:54:34 +0000 (18:54 +0000)]
Merge "Fix some leaks in VfyBasicBlock & BitVector."

11 years agoFix some leaks in VfyBasicBlock & BitVector.
You Kim [Wed, 3 Apr 2013 19:24:20 +0000 (04:24 +0900)]
Fix some leaks in VfyBasicBlock & BitVector.

Change-Id: I20050135588fc96268911b8ab690b04c8ad949bc

11 years agoMerge "Fix dx to match the new SDK structure."
Raphaël Moll [Fri, 3 May 2013 03:18:41 +0000 (03:18 +0000)]
Merge "Fix dx to match the new SDK structure."

11 years agoFix dx to match the new SDK structure.
Xavier Ducrohet [Tue, 26 Mar 2013 17:24:05 +0000 (10:24 -0700)]
Fix dx to match the new SDK structure.

(cherry picked from commit cb9dfa123c6fcc43be629666837c4e6f86b476ea)

Change-Id: I071d73adc4a2eb812cdbc204d27884f4a527043d

11 years agoMerge "Fix dx.bat to match the new SDK structure."
Raphael Moll [Thu, 2 May 2013 22:14:50 +0000 (22:14 +0000)]
Merge "Fix dx.bat to match the new SDK structure."

11 years agoMerge "Tracking changes to *-host for host shared libraries"
Brian Carlstrom [Thu, 2 May 2013 16:08:06 +0000 (16:08 +0000)]
Merge "Tracking changes to *-host for host shared libraries"

11 years agoTracking changes to *-host for host shared libraries
Brian Carlstrom [Thu, 2 May 2013 04:53:49 +0000 (21:53 -0700)]
Tracking changes to *-host for host shared libraries

Change-Id: I764889011cc259cdca306e2145bcc4c8c75eced5

11 years agoMerge "Fix JIT initialization race"
Elliott Hughes [Wed, 1 May 2013 20:57:13 +0000 (20:57 +0000)]
Merge "Fix JIT initialization race"

11 years agoFix JIT initialization race
buzbee [Wed, 1 May 2013 17:22:28 +0000 (10:22 -0700)]
Fix JIT initialization race

See b/8767735 Slow thread in thread spin test

A race exists in thread creation/JIT initialization that can
leave the JIT permanantly disabled for a thread (typically
the first interpreter thread).

(cherry-pick of 67985d960f5c877f86d0bba251d2d55c7a062b8d.)

Change-Id: Ic7e3a1cde2833ac78455fa5d465156b5e0896fc1

11 years agoMerge "Update dalvik host script for new conscrypt and okhttp classpath entries"
Brian Carlstrom [Wed, 1 May 2013 00:57:28 +0000 (00:57 +0000)]
Merge "Update dalvik host script for new conscrypt and okhttp classpath entries"

11 years agoUpdate dalvik host script for new conscrypt and okhttp classpath entries
Brian Carlstrom [Wed, 1 May 2013 00:51:03 +0000 (17:51 -0700)]
Update dalvik host script for new conscrypt and okhttp classpath entries

Change-Id: I9af7dfeb7387544bff98af55716f3db9808e39cb

11 years agoMerge changes I3ef1ad8c,I0bbbba1a,Ife107fb6,Ia420b766
Brian Carlstrom [Tue, 30 Apr 2013 21:45:35 +0000 (21:45 +0000)]
Merge changes I3ef1ad8c,I0bbbba1a,Ife107fb6,Ia420b766

* changes:
  Switch Dex from byte[] to ByteBuffer for backing store. Part 2.
  Move dex utilities from dalvik/dx to libcore/dex
  Mechanical refactoring of dx into two parts.
  Change com.android.dx.io.Annotation to use EncodedValue

11 years agoMerge "Teach dex how to parse encoded values from .dex files."
Brian Carlstrom [Tue, 30 Apr 2013 21:45:26 +0000 (21:45 +0000)]
Merge "Teach dex how to parse encoded values from .dex files."

11 years agoSwitch Dex from byte[] to ByteBuffer for backing store. Part 2.
Jesse Wilson [Mon, 19 Sep 2011 02:45:39 +0000 (22:45 -0400)]
Switch Dex from byte[] to ByteBuffer for backing store. Part 2.

Change-Id: Ifd3672027d075b6c9f8df208a04bc33122c883af
(cherry picked from commit f8357511efd16d76ce4410459c15dbb08b0140b6)

Conflicts:
dx/src/com/android/dx/merge/DexMerger.java

11 years agoMove dex utilities from dalvik/dx to libcore/dex
Jesse Wilson [Sun, 18 Sep 2011 16:53:38 +0000 (12:53 -0400)]
Move dex utilities from dalvik/dx to libcore/dex

Change-Id: If0022a069ba3ac51ae5cdc4b0eabb6b913cd8afe
(cherry picked from commit 7b13a4d41243f81fe80a76e2ff2f877b53610446)

Conflicts:
dx/src/com/android/dex/Code.java
dx/src/com/android/dex/Dex.java
dx/src/com/android/dex/SizeOf.java
dx/src/com/android/dex/TableOfContents.java

11 years agoMechanical refactoring of dx into two parts.
Jesse Wilson [Sat, 17 Sep 2011 03:10:02 +0000 (23:10 -0400)]
Mechanical refactoring of dx into two parts.

This splits off a new package, com.android.dex that contains
code for parsing and modelling dex files. This code is usable
both at build time (for compilation and analysis) and at runtime
(for introspection).

The original package, com.android.dx is the tool that compiles
.class files into .dex files. That package also includes utilities
for merging and querying dex files, all visible to the dx command
line application.

In a follow up change I'll move the new com.android.dex package
into the libcore/ project, and configure build rules so that it's
included in both dx.jar and core.jar. The core.jar will then be
able to use it for annotation processing.

Change-Id: I3c58cf87e728e4dda1925a0992c1ee7b8130e81a
(cherry picked from commit bab4abb07335d162ecdb8091fc395cf84803a580)

Conflicts:
dx/junit-tests/com/android/dx/util/BitIntSetTest.java
dx/junit-tests/com/android/dx/util/BitsTest.java
dx/junit-tests/com/android/dx/util/IntListTest.java
dx/junit-tests/com/android/dx/util/ListIntSetTest.java
dx/src/com/android/dex/Dex.java
dx/src/com/android/dex/TableOfContents.java
dx/src/com/android/dx/annotations/AnnotationAccess.java
dx/src/com/android/dx/command/Main.java
dx/src/com/android/dx/dex/code/OutputFinisher.java
dx/src/com/android/dx/dex/code/form/Form32s.java
dx/src/com/android/dx/dex/code/form/Form33x.java
dx/src/com/android/dx/dex/code/form/Form41c.java
dx/src/com/android/dx/dex/code/form/Form52c.java
dx/src/com/android/dx/gen/DexGenerator.java
dx/src/com/android/dx/merge/DexMerger.java

11 years agoChange com.android.dx.io.Annotation to use EncodedValue
Brian Carlstrom [Tue, 30 Apr 2013 01:26:09 +0000 (18:26 -0700)]
Change com.android.dx.io.Annotation to use EncodedValue

(cherry picked from commit 4ec022b0b6c84f994ab2fc78934110ad96d0bdec)

Change-Id: Ia420b7661f372c59af8fe62bdab7982a1d2b008f

11 years agoTeach dex how to parse encoded values from .dex files.
Jesse Wilson [Thu, 15 Sep 2011 19:49:25 +0000 (15:49 -0400)]
Teach dex how to parse encoded values from .dex files.

Previously primitive values were treated as opaque byte arrays.
Now the encoded values can be interpreted as their proper types:
integers, indices, floats, chars, etc. This gets complicated
pretty fast due to the dense packing dx performs when encoding
the values.

The encoding code is moved from ValueEncoder. The decoding code
is ported from C++ to Java from Annotation.cpp.

There's a bunch of new tests to make sure the decoding is correct;
porting from C++ to Java was tricky because of the '>>' shifts on
unsigned values. The test input data is generated by dex!

Change-Id: I83b2fc3e16115d667fa94b3dab782d1a9687f3ad
(cherry picked from commit 27847605b9255358f0577ffec28886c450263898)

11 years agoMerge "Fix JIT bug related to immediate doubles"
Elliott Hughes [Fri, 26 Apr 2013 17:37:22 +0000 (17:37 +0000)]
Merge "Fix JIT bug related to immediate doubles"

11 years agoFix JIT bug related to immediate doubles
buzbee [Tue, 12 Feb 2013 00:52:31 +0000 (16:52 -0800)]
Fix JIT bug related to immediate doubles

Change 256211 (JIT: Performance Fix for const doubles) introduced a
defect that can cause the JIT to use the wrong floating point
double constant in traces in which the following conditions hold:

   o Two (or more) different 64-bit floating point constants are used.
   o The physical register holding the first constant is still live
     at the time the second constant is used.
   o The low 32 bits of the two constants are identical.

In this situation, the load/copy optimization pass will incorrectly
determine that the two constants are the same, delete the load of
the second constant and re-use the first constant value.

Note: this problem only occurs with 64-bit floating point literals.
64-bit long literals are unaffected.

This CL works around the problem, and a subsequent CL will rework
disambiguation of 64-bit immediates in a somewhat cleaner fashion.

(cherry-pick of c1757a6deab0ca0bfd42c38612d92b2f26c41dbe.)

Change-Id: I795b4b753550d2745cbbdd83ae25f4a7088990f6

11 years agoMerge "Don't duplicate annotation set ref lists when merging."
Elliott Hughes [Thu, 25 Apr 2013 18:36:21 +0000 (18:36 +0000)]
Merge "Don't duplicate annotation set ref lists when merging."

11 years agoFix dx.bat to match the new SDK structure.
Raphael Moll [Wed, 24 Apr 2013 22:02:13 +0000 (15:02 -0700)]
Fix dx.bat to match the new SDK structure.

(Cherry-picked from c26c1291743ce7877cf11f3dc73d6f0c240229f7)

Change-Id: I57a7678178fc58e2a101c9d86da5009c6ec4f6a0

11 years agoMerge "Remove spammy logging from 8470684 investigation."
Elliott Hughes [Tue, 23 Apr 2013 18:44:41 +0000 (18:44 +0000)]
Merge "Remove spammy logging from 8470684 investigation."

11 years agoRemove spammy logging from 8470684 investigation.
Elliott Hughes [Tue, 23 Apr 2013 18:35:17 +0000 (11:35 -0700)]
Remove spammy logging from 8470684 investigation.

This has been tracked down to a kernel bug, so we no longer need
the extra diagnostics.

Bug: 8470684
Change-Id: Ib170d1f7b94488ed4acc763f8dddc44c81807aed

11 years agoJIT: Allow use of cbz/cbnz for conditional branch gen.
Anders O Nilsson [Fri, 8 Feb 2013 10:24:35 +0000 (11:24 +0100)]
JIT: Allow use of cbz/cbnz for conditional branch gen.

Optimize conditional branch generation when comparing
with zero for ARM JIT. When possible use cbz/cbnz
instead of cmp+beq/cmp+bne.

This improves performance for usecases involving
code execution in Dalvik.

Change-Id: I8f7c44c87eb73d4da00a48fd86220a62cb0515f5
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
11 years agoMerge "Work around a dalvik JDWP/GC deadlock."
Elliott Hughes [Wed, 17 Apr 2013 20:18:08 +0000 (20:18 +0000)]
Merge "Work around a dalvik JDWP/GC deadlock."

11 years agoWork around a dalvik JDWP/GC deadlock.
Elliott Hughes [Wed, 17 Apr 2013 19:08:56 +0000 (12:08 -0700)]
Work around a dalvik JDWP/GC deadlock.

Also add a few missing TEMP_FAILURE_RETRYs that can cause dalvik to
incorrectly decide that the debugger connection has been broken.

Bug: 8191824
Change-Id: I791b514c6bec1ca634a65d9f87c5fa06da01b5ed

11 years agoMerge "More native stack dump hardening."
Elliott Hughes [Fri, 12 Apr 2013 20:47:54 +0000 (20:47 +0000)]
Merge "More native stack dump hardening."

11 years agoMore native stack dump hardening.
Elliott Hughes [Fri, 12 Apr 2013 18:51:51 +0000 (11:51 -0700)]
More native stack dump hardening.

Threads just starting up or shutting down might not have any managed
stack frames, leading to a NULL "currFrame" frame pointer in the
interpreter stack.

Bug: 8596028
Change-Id: Ie24c8d5f8e78a5abe882a9e639046c03abb91649

11 years agoMerge "Fix flakiness in test 080-oom-throw."
Elliott Hughes [Fri, 12 Apr 2013 00:23:03 +0000 (00:23 +0000)]
Merge "Fix flakiness in test 080-oom-throw."

11 years agoFix flakiness in test 080-oom-throw.
Elliott Hughes [Fri, 12 Apr 2013 00:14:50 +0000 (17:14 -0700)]
Fix flakiness in test 080-oom-throw.

The problem was that the instance test could potentially fill the
heap close enough to the edge that you'd hit a follow-on OOME in
the attempt to print the success message, causing the test to fail.

I've also made the code a bit clearer while I'm here.

Bug: https://code.google.com/p/android/issues/detail?id=54114
Change-Id: I39127c3ea6a99940fa66ad8763bbbf6c01d308ef

11 years agoMerge "Harden the native stack dumping decision."
Elliott Hughes [Thu, 11 Apr 2013 23:41:29 +0000 (23:41 +0000)]
Merge "Harden the native stack dumping decision."

11 years agoHarden the native stack dumping decision.
Elliott Hughes [Thu, 11 Apr 2013 23:28:38 +0000 (16:28 -0700)]
Harden the native stack dumping decision.

We've seen monkey crashes in this code, though I haven't been
able to reproduce them in my own SIGQUIT stress tests. Address
the two most likely causes of trouble: dumping the signal catcher's
own thread (which will always be runnable), and assuming that the
Method* pulled from the save area is non-NULL.

Bug: 8596028
Change-Id: I59d1dcb2264a774d8416d50a5f77a06c70d37c59

11 years agoMerge "Dump native stacks for all threads in native code."
Elliott Hughes [Sat, 6 Apr 2013 00:01:03 +0000 (00:01 +0000)]
Merge "Dump native stacks for all threads in native code."

11 years agoDump native stacks for all threads in native code.
Elliott Hughes [Fri, 5 Apr 2013 22:45:24 +0000 (15:45 -0700)]
Dump native stacks for all threads in native code.

Bug: 7432159
Change-Id: I83cb530155edfc35ae3be0f7a2a044245223d2d5

11 years agoDon't duplicate annotation set ref lists when merging.
jwilson [Fri, 5 Apr 2013 07:46:53 +0000 (03:46 -0400)]
Don't duplicate annotation set ref lists when merging.

See exception reported on this thread:
https://groups.google.com/d/msg/android-contrib/h0sDMo5DVBI/MAMiBv5XR44J

Change-Id: I867a8d2328b32625e5baa0b029f55e373fe11271

11 years agoFix a minor bug in dvmCreateInterpThread
You Kim [Wed, 3 Apr 2013 20:15:52 +0000 (05:15 +0900)]
Fix a minor bug in dvmCreateInterpThread

Change-Id: I452ee02290bc7e0be7fefcf5755c5cd9628142dc

11 years agoFix a minor leak in dvmCreateInlineSubsTable
You Kim [Wed, 3 Apr 2013 20:06:42 +0000 (05:06 +0900)]
Fix a minor leak in dvmCreateInlineSubsTable

Change-Id: I1dce0e24c861903e8f5eccb23a7e2865ae8c9cec

11 years agoFix minor leaks caused by failed initialization in JNI_CreateJavaVM
You Kim [Wed, 3 Apr 2013 18:58:11 +0000 (03:58 +0900)]
Fix minor leaks caused by failed initialization in JNI_CreateJavaVM

Change-Id: I97e4b162fa729c97a1e71786b696f2befed56835

11 years agoMerge "Tiny optimization for complier templates for arm."
Elliott Hughes [Tue, 2 Apr 2013 20:33:04 +0000 (20:33 +0000)]
Merge "Tiny optimization for complier templates for arm."

11 years agoMerge "Fix a leak in Dalvik_dalvik_system_DexFile_openDexFile"
Elliott Hughes [Tue, 2 Apr 2013 20:28:05 +0000 (20:28 +0000)]
Merge "Fix a leak in Dalvik_dalvik_system_DexFile_openDexFile"