OPT_BasicBlock firstBB = ir.cfg.entry();
int cmid = ir.compiledMethod.getId();
   final public void perform(OPT_IR ir) {     // Don't insert counters in uninterruptible methods,      // or when instrumentation is disabled     if (!ir.method.isInterruptible() ||	 !VM_Instrumentation.instrumentationEnabled())       return;     OPT_BasicBlock firstBB = ir.cfg.entry();     VM_MethodInvocationCounterData data =        VM_AOSDatabase.methodInvocationCounterData;     int cmid = ir.compiledMethod.getId();     // Create a dummy instruction that is later converted into an     // increment of the appropriate VM_CounterArray element.     OPT_Instruction c = data.createEventCounterInstruction(cmid);     // Insert it at the beginnging of the basic block     firstBB.prependInstructionRespectingPrologue(c);   }