falseBlock, null);
falseBlock, null, new OPT_BranchProfileOperand());
  private static OPT_Instruction convertToBranchingTypeCheck(OPT_Instruction s,                                                             OPT_IR ir,                                                             OPT_Operand RHSobj,                                                              VM_TypeReference LHStype,                                                             OPT_RegisterOperand RHStib,                                                             OPT_RegisterOperand result) {    OPT_BasicBlock myBlock = s.getBasicBlock();    OPT_BasicBlock contBlock = myBlock.splitNodeAt(s, ir);    OPT_BasicBlock trueBlock = myBlock.createSubBlock(s.bcIndex, ir);    OPT_BasicBlock falseBlock = myBlock.createSubBlock(s.bcIndex, ir);    myBlock.insertOut(trueBlock);    myBlock.insertOut(falseBlock);    trueBlock.insertOut(contBlock);    falseBlock.insertOut(contBlock);    ir.cfg.linkInCodeOrder(myBlock, trueBlock);    ir.cfg.linkInCodeOrder(trueBlock, falseBlock);    ir.cfg.linkInCodeOrder(falseBlock, contBlock);    trueBlock.appendInstruction(Move.create(INT_MOVE, result, I(1)));    trueBlock.appendInstruction(Goto.create(GOTO,                                             contBlock.makeJumpTarget()));    falseBlock.appendInstruction(Move.create(INT_MOVE, result.copyD2D(),                                              I(0)));    return generateBranchingTypeCheck(s, ir, RHSobj, LHStype, RHStib, trueBlock,                                       falseBlock, null);  }