asm.emitADD_Reg_Imm     (SP, fp2spOffset(0) - bytesPopped);
asm.emitADD_Reg_Imm     (SP, fp2spOffset(NO_SLOT).toInt() - bytesPopped);
  private final void genEpilogue (int bytesPopped) {    if (klass.isBridgeFromNative()) {      // pop locals and parameters, get to saved GPR's      asm.emitADD_Reg_Imm(SP, (this.method.getLocalWords() << LG_WORDSIZE));      VM_JNICompiler.generateEpilogForJNIMethod(asm, this.method);    } else if (klass.isDynamicBridge()) {      // we never return from a DynamicBridge frame      asm.emitINT_Imm(0xFF);    } else {      // normal method      asm.emitADD_Reg_Imm     (SP, fp2spOffset(0) - bytesPopped);     // SP becomes frame pointer      asm.emitMOV_Reg_RegDisp (JTOC, SP, JTOC_SAVE_OFFSET);           // restore nonvolatile JTOC register      asm.emitMOV_Reg_RegDisp (EBX, SP, EBX_SAVE_OFFSET);             // restore nonvolatile EBX register      asm.emitPOP_RegDisp     (PR, VM_Entrypoints.framePointerField.getOffsetAsInt()); // discard frame      asm.emitRET_Imm(parameterWords << LG_WORDSIZE);    // return to caller- pop parameters from stack    }  }