# Class: com.pnfsoftware.jeb.core.units.code.android.ir.DExecutionParameters

`dexdec` IR emulation parameters object. Such objects are used with a State's [executeIR\(\)](IDState#executeIR(DExecutionParameters)) method. 

 This object is used to specify a list of IR instructions, execute them or a region of that list, with restrictions.

## Constructor: DExecutionParameters
- parameter: `insnmap`, type: `java.util.SortedMap<java.lang.Integer,com.pnfsoftware.jeb.core.units.code.android.ir.IDInstruction>`

Description: Create an object.
parameter: insnmap: mandatory instruction map: key=IR offset, value= IR instruction

## Constructor: DExecutionParameters
- parameter: `insnmap`, type: `java.util.SortedMap<java.lang.Integer,com.pnfsoftware.jeb.core.units.code.android.ir.IDInstruction>`
- parameter: `dalvik2irmap`, type: `java.util.Map<java.lang.Integer,java.lang.Integer>`
- parameter: `ir2dalvikmap`, type: `java.util.Map<java.lang.Integer,java.lang.Integer>`

Description: Create an object.
parameter: insnmap: mandatory instruction map: key=IR offset, value= IR instruction
parameter: dalvik2irmap: optional map of dalvik offset mapping to a matching IR instruction offset
parameter: ir2dalvikmap: optional map

## Constructor: DExecutionParameters
- parameter: `cfg`, type: `com.pnfsoftware.jeb.core.units.code.android.controlflow.CFG<com.pnfsoftware.jeb.core.units.code.android.ir.IDInstruction>`

Description: Create an object, ready to emulate an entire IR routine.
parameter: cfg: mandatory

## Constructor: DExecutionParameters
- parameter: `ctx`, type: `com.pnfsoftware.jeb.core.units.code.android.ir.IDMethodContext`

Description: Create an object, ready to emulate an entire IR routine.
parameter: ctx: 

## Constructor: DExecutionParameters
- parameter: `cfg`, type: `com.pnfsoftware.jeb.core.units.code.android.controlflow.CFG<com.pnfsoftware.jeb.core.units.code.android.ir.IDInstruction>`
- parameter: `exdata`, type: `com.pnfsoftware.jeb.core.units.code.android.ir.IDTryData`

Description: Create an object, ready to emulate an entire IR routine.
parameter: cfg: 
parameter: exdata: 

## Field: iterationCountLeft
Type: `java.lang.Integer`
Description: The count of iterations left. This counter is separate than [IDState#getIterationCountLeft()](IDState#getIterationCountLeft())\! Every time an IR instruction is emulated, this counter is decreased. An exception is raised if it reaches 0. \(An exception would also be raised if the [IDState](IDState)'s counter reaches 0.\)

## Field: pc
Type: `java.lang.Integer`
Description: Starting IR program counter.

## Field: pcExpectedTermination
Type: `java.lang.Integer`
Description: Optional. The emulation will stopped, and the last execution return result, if the PC gets to reach this value. \(The IR instruction at `pcExpectedTermination` is not executed\!\)

## Field: pcThresholdMax
Type: `java.lang.Integer`
Description: Optional. The emulation will stop if the PC gets greater or equal than this value.

## Field: pcThresholdMin
Type: `java.lang.Integer`
Description: Optional. The emulation will stop if the PC gets less than this value.

## Method: addInitialValue
- parameter: `varid`, type: `int`
- parameter: `value`, type: `com.pnfsoftware.jeb.core.units.code.android.ir.IDImm`


## Method: getCFG
- return type: `com.pnfsoftware.jeb.core.units.code.android.controlflow.CFG<com.pnfsoftware.jeb.core.units.code.android.ir.IDInstruction>`


## Method: getDalvikToIRMap
- return type: `java.util.Map<java.lang.Integer,java.lang.Integer>`


## Method: getExceptionData
- return type: `com.pnfsoftware.jeb.core.units.code.android.ir.IDTryData`


## Method: getIRToDalvikMap
- return type: `java.util.Map<java.lang.Integer,java.lang.Integer>`


## Method: getInitialValues
- return type: `java.util.Map<java.lang.Integer,com.pnfsoftware.jeb.core.units.code.android.ir.IDImm>`


## Method: getInstructionMap
- return type: `java.util.Map<java.lang.Integer,com.pnfsoftware.jeb.core.units.code.android.ir.IDInstruction>`


## Method: prepareIterations
- parameter: `itercnt`, type: `java.lang.Integer`

Description: Reset all parameters to null, except for the instruction map \(and associated optional maps like dalvik\-to\-ir, ir\-to\-dalvik maps\).
parameter: itercnt: 

