art & dex2oat documentation

> Import documentation regarding art & dex2oat regarding artist.

Android changes

dex2oat and art have no 100% stable API. Here are the important changes, that had impact on artist’s development.

Android 5.0

Android 5.1

Android 6.0

?Optimizing Backend is stable and working now?

Android 7.0

  • Static Fields Gets changed
  • Optimizing Backend supports ?Exceptions?

Android 7.1

No Major Interface changes regarding artist

art & dex2oat knowledge

Compiler Backends

  • quick
  • optimizing
  • etc

HOptimization

TODO

HGraph

TODO

HGraphVisitor

TODO

  • VisitAdd
  • VisitAnd
  • VisitArrayGet
  • VisitArrayLength
  • VisitArraySet
  • VisitBasicBlock
  • VisitBinaryOperation
  • VisitBooleanNot
  • VisitBoundsCheck
  • VisitBoundType
  • VisitCheckCast
  • VisitClinitCheck
  • VisitCompare
  • VisitCondition
  • VisitConstant
  • VisitDeoptimize
  • VisitDiv
  • VisitDivZeroCheck
  • VisitDoubleConstant
  • VisitEqual
  • VisitExit
  • VisitFloatConstant
  • VisitGoto
  • VisitGreaterThan
  • VisitGreaterThanOrEqual
  • VisitIf
  • VisitInsertionOrder
  • VisitInstanceFieldGet
  • VisitInstanceFieldSet
  • VisitInstanceOf
  • VisitInstruction
  • VisitIntConstant
  • VisitInvoke
  • VisitInvokeInterface
  • VisitInvokeStaticOrDirect
  • VisitInvokeVirtual
  • VisitLessThan
  • VisitLessThanOrEqual
  • VisitLoadClass
  • VisitLoadException
  • VisitLoadLocal
  • VisitLoadString
  • VisitLocal
  • VisitLongConstant
  • VisitMemoryBarrier
  • VisitMonitorOperation
  • VisitMul
  • VisitNeg
  • VisitNewArray
  • VisitNewInstance
  • VisitNot
  • VisitNotEqual
  • VisitNullCheck
  • VisitNullConstant
  • VisitOr
  • VisitParallelMove
  • VisitParameterValue
  • VisitPhi
  • VisitRem
  • VisitReturn
  • VisitReturnVoid
  • VisitReversePostOrder
  • VisitShl
  • VisitShr
  • VisitStaticFieldGet
  • VisitStaticFieldSet
  • VisitStoreLocal
  • VisitSub
  • VisitSuspendCheck
  • VisitTemporary
  • VisitThrow
  • VisitTypeConversion
  • VisitUnaryOperation
  • VisitUShr
  • VisitXor