case WORD: { tail.next = new BC_LoadWordConst(var.getWord()); tail = tail.next;  if (var.isLocal()) { tail.next = new BC_RefStore(var.getNumber()); tail = tail.next; } break; }
  private OSR_PseudoBytecode processElement(OSR_VariableElement var,                                            OSR_PseudoBytecode tail,                                            int i) {    switch (var.getTypeCode()) {    case INT: {      tail.next = new BC_LoadIntConst(var.getIntBits());      tail = tail.next;            if (var.isLocal()) {        tail.next = new BC_IntStore(var.getNumber());        tail = tail.next;      }      break;    }    case FLOAT: {      tail.next = new BC_LoadFloatConst(var.getIntBits());      tail = tail.next;            if (var.isLocal()) {        tail.next = new BC_FloatStore(var.getNumber());        tail = tail.next;      }      break;    }    case LONG: {      tail.next = new BC_LoadLongConst(var.getLongBits());      tail = tail.next;            if (var.isLocal()) {        tail.next = new BC_LongStore(var.getNumber());        tail = tail.next;      }      break;    }    case DOUBLE: {      tail.next = new BC_LoadDoubleConst(var.getLongBits());      tail = tail.next;            if (var.isLocal()) {        tail.next = new BC_DoubleStore(var.getNumber());        tail = tail.next;      }      break;    }    case ADDR: {      tail.next = new BC_LoadAddrConst(var.getIntBits());      tail = tail.next;            if (var.isLocal()) {        tail.next = new BC_RefStore(var.getNumber());        tail = tail.next;      }      break;    }    case REF: {      this.objs[i] = var.getObject();              if (this.objs[i] != null) {                tail.next = new BC_LoadIntConst(this.rid);        tail = tail.next;                tail.next = new BC_LoadIntConst(i);        tail = tail.next;                // the opt compiler will adjust the type of        // return value to the real type of object        // when it sees the invoke target is GETREFAT        tail.next = new BC_InvokeStatic(GETREFAT);        tail = tail.next;      } else {        // just give an aconst_null        tail.next = new BC_AConstNull();        tail = tail.next;      }            if (var.isLocal()) {        tail.next = new BC_RefStore(var.getNumber());        tail = tail.next;      }            this.objnum++;      break;    }    default:      if (VM.VerifyAssertions) {        VM._assert(VM.NOT_REACHED);      }      break;    } // end of switch    return tail;  }