case EXC_REGION_END: return new ExceptionRegionEndMarkerInstr();
case EXC_REGION_START: return new ExceptionRegionStartMarkerInstr((Label) d.decodeOperand());
case GET_CVAR: return new GetClassVariableInstr(d.decodeVariable(), d.decodeOperand(), d.decodeString());
// FIXME: Encoding load is likely wrong here but likely will work :)
case GET_ENCODING: return new GetEncodingInstr(d.decodeVariable(), Encoding.load(d.decodeString()));
case GET_ERROR_INFO: return new GetErrorInfoInstr(d.decodeVariable());
case GET_FIELD: return new GetFieldInstr(d.decodeVariable(), d.decodeOperand(), d.decodeString());
case GET_GLOBAL_VAR: return new GetGlobalVariableInstr(d.decodeVariable(), d.decodeString());
case GVAR_ALIAS: return new GVarAliasInstr(d.decodeOperand(), d.decodeOperand());
case INHERITANCE_SEARCH_CONST: return new InheritanceSearchConstInstr(d.decodeVariable(), d.decodeOperand(), d.decodeString(), d.decodeBoolean());
case JUMP: return new JumpInstr((Label) d.decodeOperand());