Enum Class CBranchOpGen

java.lang.Object
java.lang.Enum<CBranchOpGen>
ghidra.pcode.emu.jit.gen.op.CBranchOpGen
All Implemented Interfaces:
OpGen<JitCBranchOp>, Serializable, Comparable<CBranchOpGen>, Constable

public enum CBranchOpGen extends Enum<CBranchOpGen> implements OpGen<JitCBranchOp>
The generator for a cbranch.

First, emits code to load the condition onto the JVM stack.

With an JitPassage.IntBranch record, this looks up the label for the target block and checks if a transition is necessary. If one is necessary, it emits an ifeq with the transition and goto it guards. The ifeq skips to the fall-through case. If a transition is not necessary, it simply emits an ifne to the target label.

With an JitPassage.ExtBranch record, this does the same as BranchOpGen but guarded by an ifeq that skips to the fall-through case.