cbsLoc = new OPT_LocationOperand(VM_Entrypoints.globalCBSField); resetLoc = new OPT_LocationOperand(VM_Entrypoints.cbsResetValueField);
  final private void performVariationFullDuplication(OPT_IR ir, OPT_CompilerPhase phaseObject) {    // Initialize    HashMap origToDupMap = new HashMap();           // Used to store mapping from original to duplicated blocks    HashSet exceptionHandlerBlocks = new HashSet(); // Used to remember all exception handler blocks    cbsReg = ir.regpool.makeTempInt();              // The register containing the counter value to check    cbsLoc = new OPT_LocationOperand(VM_Entrypoints.globalCBSField);    resetLoc = new OPT_LocationOperand(VM_Entrypoints.cbsResetValueField);        // 1) Make a copy of all basic blocks    duplicateCode(ir, origToDupMap, exceptionHandlerBlocks);        // 2) Insert counter-based sampling checks  (record blocks with YP's)    insertCBSChecks(ir, origToDupMap, exceptionHandlerBlocks);        // 3) Fix control flow edges in duplicated code    adjustPointersInDuplicatedCode(ir, origToDupMap);          // 4) Remove instrumentation from checking code    removeInstrumentationFromOrig(ir, origToDupMap);    if (ir.options.fuzzyMatchMETHOD_TO_PRINT(ir.method.toString()))       ir.verify("End of Framework");  }