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
|
f67b6afce08a6b9b5daf7d4d69e132fda07bc78f |
|
02-Feb-2011 |
Dan Bornstein <danfuzz@android.com> |
CodeReader visitor dispatch now uses OpcodeInfo. This gets rid of the per-opcode Instruction array and just does a simple switch. If it turns out that the switch has poor performance, we can push the visitor abstraction down into IndexType. The big change to OpcodeInfo is to make every Info instance always have a non-null IndexType, exactly so it could be reliably switch()ed on without having to do an explicit null check. Change-Id: Iee8289f8766ce41c5043eec7212b2133ec71e682
|
a754fbb1555f9ac2d14de0ffd0046c780732da5a |
|
02-Feb-2011 |
Dan Bornstein <danfuzz@android.com> |
Move opcode names into OpcodeInfo. This also allowed me to remove the Instruction argument from the CodeReader visitor methods. Per previous discussion, this also gets rid of the redundant argument output in FindUsages. I can clean up CodeReader some more in a follow-up. Change-Id: I7a65e8d74498e201fd169cddde0d1f19d6f33f81
|
7ba91291bb6ce64691398a8751656207e8e3e98d |
|
30-Jan-2011 |
Dan Bornstein <danfuzz@android.com> |
Move dx.dex.code.DalvOps -> dx.io.Opcodes. This breaks a nascent circular dependency, keeping dx.io the lower layer. Bonus: While I was in the territory, I clarified the data payload opcodes, including adding explicit constants for them. Change-Id: I8655064ebc3b5713cbb4a6c83bcc90984393701f
|
3c5df37a2df7368eb274eb097e9cfa2ccc7fffb6 |
|
26-Jan-2011 |
Dan Bornstein <danfuzz@android.com> |
Basic facility to read/write bytecode. These classes are meant for reading and writing bytecode at the lowest possible level, in particular without layering any interpretation of the instructions beyond understanding the instruction formats. (For example, constant indices remain numbers and aren't tied to objects representing constants.) This patch represents a work-in-progress that compiles but is as yet not hooked up to anything else. Hooking it all up will happen in one or more follow-on patches. Change-Id: Ifd3b3ff0925dc9dc3d82e507dc1be83cb560031d
|
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
|
9dc57d3f402abcaacae2943cb374f46d48cceae7 |
|
04-Dec-2010 |
Dan Bornstein <danfuzz@android.com> |
Minor simplification. Change-Id: Ie17ba83ead45028a8b7b32c1cc5763f9dd6d684c
|
29d5b5d82e7582d85d00e01a2c462fd9ba8108ae |
|
04-Dec-2010 |
Dan Bornstein <danfuzz@android.com> |
Fix stupid copy-paste error. Change-Id: I1ad1e8c26ec47b9b148fc6a4292afa2ee25e58e2
|
ccaab18ae6d203108445fef7682065dfbb007657 |
|
04-Dec-2010 |
Dan Bornstein <danfuzz@android.com> |
Another clarifying rename and a bit more automation. kNumDalvikInstructions is now kNumPackedOpcodes, there is a new kMaxOpcodeValue, and both are generated by opcode-gen. Change-Id: Ic46f1f52d2d21382452c8e777024f4a985ad31d3 Bonus: Reworded the switch and array data comment for clarity.
|
a277f14c3702a474e18a9981f23845d7d7521163 |
|
04-Dec-2010 |
Dan Bornstein <danfuzz@android.com> |
Regular-expression compatibility. The most compatible way of indicating that a dash is part of a character range is to put a single dash at the end of the range expression. Change-Id: I1e118038dfacffbc004c97be0ae1c3dfe97e861d
|
21f322dcd405fddc45a91e4b7d64a2e3d7ebfd15 |
|
03-Dec-2010 |
Dan Bornstein <danfuzz@android.com> |
Small fixes. I had unpackOpcode() slightly wrong, and I made the libcore opcode numbers always be four hex digits. Change-Id: I4f988b8794b4b6c48ef91698a8e567fa46b96dac
|
973171bb01a052a302e8674b5f617383bac0647a |
|
03-Dec-2010 |
Dan Bornstein <danfuzz@android.com> |
Clean up the opcode-gen script. There was way too much string duplication, and it needed at least a bit more commenting. Change-Id: Id31ee1fd260db6f4afe301764c60de7c63b3f729
|
3c4dc3bc03f87e181c06f633c4c085341faeee92 |
|
03-Dec-2010 |
Dan Bornstein <danfuzz@android.com> |
Inching closer to having extended opcodes in the vm. Change-Id: If6578a0686ac8fe5e6d1a26509d8a5c748bed179
|
d12de172a5e18f3bef8a98e3f43a14565266451b |
|
03-Dec-2010 |
Dan Bornstein <danfuzz@android.com> |
Give the awk script its own file. The embedded awk script totally dwarfed the shell script driver. It was getting pretty ridiculous. (Ok ok, maybe the fact that this uses awk in the first place is itself ridiculous.) Change-Id: Ia53dbbff636eab7aeb44ff24013c62494ef86da0
|