fe107fb6e3f308ac5174ebdc5a794ee880c741d9 |
|
17-Sep-2011 |
Jesse Wilson <jessewilson@google.com> |
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
|
ab35b50311951feea3782151dd5422ee944685c2 |
|
05-Jan-2012 |
Elliott Hughes <enh@google.com> |
Remove unsupported experimental opcodes. External developers were starting to try to get themselves into trouble with this stuff... Change-Id: I2b03bfeaa8c98b6a994bc7924fc8dcf4e4d4f6cb
|
333201833d506a3accdeac6ceb7caba8d4b95797 |
|
13-Apr-2011 |
Jesse Wilson <jessewilson@google.com> |
Combine CstUtf8 and CstString. The only benefit we were seeing is that one wrapped its toHuman in quotes, the other didn't. It was far too easy to use the wrong one. We had code defending against that in NameValuePair and CstArray. Change-Id: Ib2e6a1596b97decced37952d46e1831b7bcd0d5d
|
cfb32121210a260fab1c010e134738d1e32c567e |
|
03-Mar-2011 |
Dan Bornstein <danfuzz@android.com> |
Let dx generate the new extended instructions. Bug: 2557227 Change-Id: I8ca2479cbc76de6bf3bd746bad8ceb99b732d8c5
|
dd79e4e11fa20d6677b70ce6618a8653a1f3520d |
|
17-Jan-2011 |
jeffhao <jeffhao@google.com> |
Optimized dx instruction expansion to only generate necessary moves. When an instruction's fields do not fit into an instruction format, dx expands the instruction. Before, this would always use new registers for sources and destination, generating moves for each. However, some of these moves would be unnecessary if an original register already fit into the instruction format. This change checks to see if the original register fits before using a new register and generating a new move. Change-Id: I17c6722cf4053573bf913a28d631386f2c3a733d
|
71eee1f0c2eb514585fdbee16730c9c2209e8f68 |
|
04-Jan-2011 |
jeffhao <jeffhao@google.com> |
Added vm support for new jumbo opcodes. This enables jumbo opcodes by default, and they will get used by the current build without modification. Support has been added for arm, x86, and the portable interpreter. x86-atom support is on the TODO list. This commit also includes a test for the new jumbo opcodes. Change-Id: Ic3f1b41b51645861c5196f76aaf0e96e727ea537
|
82901ca4f92ec9e4c47089395a395a619086deb5 |
|
19-Nov-2010 |
Dan Bornstein <danfuzz@android.com> |
Kill off InsnFormat.nextUp(). This method used to be used during instruction selection, but hasn't been used since the bytecode.txt file got updated to include format chains. Change-Id: Iee827c8b8008a88d56326aecf249299fe92101e1
|
737fac2604600f92a47156a7f15a1f008996a7df |
|
09-Nov-2010 |
Dan Bornstein <danfuzz@android.com> |
Add the new jumbo opcodes to dx...almost. This change adds the new opcodes while simultaneously preventing them from actually being emitted, the prevention being controlled by a new flag in InsnFormat. Empirically speaking, we already have latent demand for the new opcodes -- specifically because they allow for wider register references than their wee companions -- and so we can't actually enable their generation until the VM is prepared to execute them. If you're wondering why dx without the new opcodes doesn't crap out on the register references in question, it's because there's code in dx which will expand an instruction that has non-fitting register references into a sequence of two or more instructions, where it shuffles values into and out of usable registers before and/or after the instruction. When we turn on the jumbo opcodes, at least some of these register shuffles will immediately get to go away. Change-Id: I3f921ab07efa4944d7526fa48534d69f508ac249
|
9f7f6a92ebec8dd12e310901301d857e2ee323da |
|
26-Oct-2010 |
Dan Bornstein <danfuzz@android.com> |
Implement the new instruction formats. I also refactored some of the old code in the process, to minimize duplication, and I also did a minor cleanup of the format spec. Change-Id: Ib07ea4ade52aa6ec4fa69000798e0cfb8f10c3a9
|
0bc9fdeeea3c08f66e34bcc90401b334f75e30e7 |
|
25-Oct-2010 |
Dan Bornstein <danfuzz@android.com> |
A little instruction format housecleaning and prep work. Change-Id: Iea9d79d23515090f75cdc32c2123dbfb56e27d3c
|
de75089fb7216d19e9c22cce4dc62a49513477d3 |
|
09-Jun-2010 |
Carl Shapiro <cshapiro@google.com> |
Remove trailing whitespace. Change-Id: I95534bb2b88eaf48f2329282041118cd034c812b
|
72e93344b4d1ffc71e9c832ec23de0657e5b04a5 |
|
13-Nov-2009 |
Jean-Baptiste Queru <jbq@google.com> |
eclair snapshot
|
99409883d9c4c0ffb49b070ce307bb33a9dfe9f1 |
|
19-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import //branches/master/...@140412
|
f6c387128427e121477c1b32ad35cdcaa5101ba3 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
f72d5de56a522ac3be03873bdde26f23a5eeeb3c |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
2ad60cfc28e14ee8f0bb038720836a4696c478ad |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
|