summaryrefslogtreecommitdiffstats
path: root/dx/src/com/android/dx/dex/file/DebugInfoEncoder.java
Commit message (Collapse)AuthorAgeFilesLines
* Mechanical refactoring of dx into two parts.Jesse Wilson2013-04-301-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Combine CstUtf8 and CstString.Jesse Wilson2011-04-211-5/+5
| | | | | | | | | | 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
* Read Dex files from a byte[] rather than a RandomAccessFile.Jesse Wilson2011-01-141-12/+12
| | | | | | | | | This improves time to merge a trivial file with core.dex from 3.8 seconds to 0.8 seconds. Also fixing read method names to be consistent with the spec. Change-Id: I9033bcb497afe7a0d73e00cca14fa046b53a62bf
* Merge commit 'c1b54205471ea7824c87e53e0d9e6d4c30518007' into merge_korg_masterJean-Baptiste Queru2009-07-061-1/+1
|\
| * dx incorrectly writes registers as a signed leb128 in the dex debug infoBen Gruver2009-06-031-1/+1
| | | | | | | | | | | | This has no functional effect, because reading the signed leb128 value as an unsignedleb128 still produces the same value. But the encoding is 1 byte longer in some cases.
* | At least mostly-fix internal issue #1898095 / public issue #2868.Dan Bornstein2009-06-091-53/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that Scala code may have two variables with the same name that are simultaneously active, and dx didn't expect that ever to be the case. The fix is simply to catch another case where a local variable might be considered to become superfluous due to having an empty extent. However, this is really more of a workaround, as the result will be that such code when attached to a debugger will only show one of the two (or more) same-named variables as being active at any given time. The thing that prevents a more satisfactory solution is that the optimization code can end up "splitting up" a single local into multiple registers, and the only way we have to track them is by name/type. So, even without Scala's rules, it was already possible to find a same-named local in multiple registers, but with the status quo, finding that really meant that a local was moving from one register to another. The local variable table code handles that case by automatically "ending" variables that appear to move, and the Scala case looks just like that. In the long run, we probably want to have a way to tag local variables that isn't just name/type, but that will have to come later. (As a bonus, I did some minor renaming for clarity while I was in the territory.)
* | Tweaks, Mostly grep-based, to better conform to the coding guidelines.Dan Bornstein2009-05-041-2/+2
| |
* | auto import //branches/master/...@140412The Android Open Source Project2009-03-181-34/+36
|/
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+918
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-1035/+0
|
* auto import from //depot/cupcake/@132589The Android Open Source Project2009-03-031-67/+184
|
* auto import from //depot/cupcake/@137055The Android Open Source Project2009-03-021-184/+67
|
* auto import from //branches/cupcake/...@131421The Android Open Source Project2009-02-131-40/+31
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+1044