apkutils.dex.jvm.optimization package

Submodules

apkutils.dex.jvm.optimization.consts module

apkutils.dex.jvm.optimization.consts.allocateRequiredConstants(pool, long_irs)[source]

apkutils.dex.jvm.optimization.jumps module

apkutils.dex.jvm.optimization.jumps.createBytecode(irdata)[source]
apkutils.dex.jvm.optimization.jumps.optimizeJumps(irdata)[source]

apkutils.dex.jvm.optimization.options module

class apkutils.dex.jvm.optimization.options.Options(inline_consts=False, prune_store_loads=False, copy_propagation=False, remove_unused_regs=False, dup2ize=False, sort_registers=False, split_pool=False, delay_consts=False)[source]

Bases: object

apkutils.dex.jvm.optimization.registers module

apkutils.dex.jvm.optimization.registers.copyPropagation(irdata)[source]
apkutils.dex.jvm.optimization.registers.removeUnusedRegisters(irdata)[source]
apkutils.dex.jvm.optimization.registers.simpleAllocateRegisters(irdata)[source]
apkutils.dex.jvm.optimization.registers.sortAllocateRegisters(irdata)[source]

apkutils.dex.jvm.optimization.stack module

class apkutils.dex.jvm.optimization.stack.ConstInliner[source]

Bases: apkutils.dex.jvm.optimization.stack.NoExceptVisitorBase

reset()[source]
visit(instr)[source]
visitReturn()[source]
class apkutils.dex.jvm.optimization.stack.NoExceptVisitorBase[source]

Bases: object

visitExceptionRange()[source]
visitJumpTargetOrBranch(instr)[source]
class apkutils.dex.jvm.optimization.stack.StoreLoadPruner[source]

Bases: apkutils.dex.jvm.optimization.stack.NoExceptVisitorBase

reset()[source]
visit(instr)[source]
visitReturn()[source]
class apkutils.dex.jvm.optimization.stack.UseRange(uses)[source]

Bases: object

add(i)[source]
property end
sortkey()[source]
property start
subtract(other)[source]
apkutils.dex.jvm.optimization.stack.dup2ize(irdata)[source]
apkutils.dex.jvm.optimization.stack.genDups(needed, needed_after)[source]
apkutils.dex.jvm.optimization.stack.inlineConsts(irdata)[source]
apkutils.dex.jvm.optimization.stack.makeRange(instr)[source]
apkutils.dex.jvm.optimization.stack.pruneStoreLoads(irdata)[source]
apkutils.dex.jvm.optimization.stack.visitLinearCode(irdata, visitor)[source]

Module contents