Add lambda experimental dalvik opcodes

* Add new -X/--experimental flag to [dis]assemble opcodes not in art yet
* Add new opcodes liberate-variable, box-lambda, unbox-lambda,
                  capture-variable, create-lambda, invoke-lambda
* Add support for encoding 25x instructions
* Adds LambdaTest to check new opcodes assemble/disassemble properly

TODO: invoke-lambda-range

Change-Id: I5c8bcbfa8b6cb9a13ef2017fce2d1b7fda6e11c3
44 files changed
tree: bdbc5c4f2ad3ea320798ade74888490123c30ad5
  1. baksmali/
  2. deodexerant/
  3. dexlib2/
  4. examples/
  5. gradle/
  6. scripts/
  7. smali/
  8. smali-integration-tests/
  9. util/
  10. .gitignore
  11. build.gradle
  12. gradle.properties
  13. gradlew
  14. gradlew.bat
  15. NOTICE
  16. README.md
  17. settings.gradle
README.md

About

smali/baksmali is an assembler/disassembler for the dex format used by dalvik, Android‘s Java VM implementation. The syntax is loosely based on Jasmin’s/dedexer's syntax, and supports the full functionality of the dex format (annotations, debug info, line info, etc.)

The primary webpage is http://smali.googlecode.com, and the source is also mirrored at https://github.com/jesusfreke/smali. If you are interested in submitting a patch, feel free to send me a pull request on either site.

Support

  • googlecode Issue tracker - For any bugs/issues/feature requests
  • #smali on freenode - Free free to drop by and ask a question. Don't expect an instant response, but if you hang around someone will respond. Think of it more in terms of.. multi-player notepad.

Some useful links for getting started with smali