public static void startupDefclass() {
    if (Stella.currentStartupTimePhaseP(0)) {
      Stella.$ALL_RECYCLE_LISTS$ = Stella.makeNonRecycledList();
    }
    { Object old$Module$000 = Stella.$MODULE$.get();
      Object old$Context$000 = Stella.$CONTEXT$.get();

      try {
        Native.setSpecial(Stella.$MODULE$, Stella.$STELLA_MODULE$);
        Native.setSpecial(Stella.$CONTEXT$, ((Module)(Stella.$MODULE$.get())));
        if (Stella.currentStartupTimePhaseP(2)) {
          _StartupDefclass.helpStartupDefclass1();
          _StartupDefclass.helpStartupDefclass2();
        }
        if (Stella.currentStartupTimePhaseP(4)) {
          Stella.$RECYCLING_ENABLEDp$.setDefaultValue(new Boolean(true));
          Stella.$RECYCLE_LISTS_MAINTENANCE_TIMER$ = Stella.$RECYCLE_LISTS_MAINTENANCE_INTERVAL$;
        }
        if (Stella.currentStartupTimePhaseP(6)) {
          Stella.finalizeClasses();
        }
        if (Stella.currentStartupTimePhaseP(7)) {
          _StartupDefclass.helpStartupDefclass3();
          _StartupDefclass.helpStartupDefclass4();
        }
        if (Stella.currentStartupTimePhaseP(8)) {
          Stella.finalizeSlots();
          Stella.cleanupUnfinalizedClasses();
        }
        if (Stella.currentStartupTimePhaseP(9)) {
          Stella_Object.inModule(((StringWrapper)(Stella_Object.copyConsTree(StringWrapper.wrapString("/STELLA")))));
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFSPECIAL *RECYCLING-ENABLED?* BOOLEAN TRUE :DOCUMENTATION \"If `TRUE' calls to `new' or `free' on classes with :recycle-method;\nspecifications will actually operate on recycle lists.  Otherwise, all\nrecycle list operations will be no-ops.\" :PUBLIC? TRUE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *ALL-RECYCLE-LISTS* (LIST OF RECYCLE-LIST) NULL)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *MAX-RECYCLE-LIST-BYTES* INTEGER 3000000 :DOCUMENTATION \"Maximum number of bytes to be occupied by recycle lists.\" :PUBLIC? TRUE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *RECYCLE-LISTS-MAINTENANCE-INTERVAL* INTEGER 5000 :DOCUMENTATION \"Total number of recycle list extensions after which a\nsize maintenance operation is performed to ensure that\nthe `*MAX-RECYCLE-LIST-BYTES*' limit is still met.\" :PUBLIC? TRUE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *RECYCLE-LISTS-MAINTENANCE-TIMER* INTEGER *RECYCLE-LISTS-MAINTENANCE-INTERVAL* :PUBLIC? TRUE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CURRENTLY-RECYCLED-ITEMS* (HASH-TABLE OF OBJECT OBJECT) NULL :DOCUMENTATION \"During recycle list debugging holds all items that live in\nsome free list.  Depending on program behavior, this table can get quite large!\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *TRANSLATE-WITH-RECYCLE-LIST-DEBUGGING?* BOOLEAN FALSE)");
        }

      } finally {
        Stella.$CONTEXT$.set(old$Context$000);
        Stella.$MODULE$.set(old$Module$000);
      }
    }
  }