History log of /dalvik/opcode-gen/opcode-gen.awk
Revision Date Author Comments
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