#include "opendylan/run-time.h"

/* Generated by Open Dylan 2014.1 for x86_64-linux */

/* Typedefs for referenced classes */

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLclassGVKd;

#define  define__KLmm_wrapperGVKi(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value mm_wrapper_implementation_class_; \
    dylan_value mm_wrapper_subtype_mask_; \
    DWORD mm_wrapper_fixed_part_; \
    DWORD mm_wrapper_variable_part_; \
    dylan_value mm_wrapper_number_patterns_; \
    DWORD mm_wrapper_pattern_element_[nrepeated+1]; \
  } _KLmm_wrapperGVKi_##nrepeated;
define__KLmm_wrapperGVKi(1);
define__KLmm_wrapperGVKi(0);

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(7);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(14);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(6);
define__KLsimple_object_vectorGVKd(0);

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
  dylan_value incremental_gf_module_;
  dylan_value incremental_gf_domain_info_;
  dylan_value incremental_gf_method_libraries_;
  dylan_value incremental_gf_properties_;
} _KLincremental_generic_functionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLfunction_classGVKi;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
} _KLsimple_methodGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value symbol_name_;
} _KLsymbolGVKd;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(38);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(7);

typedef struct {
  dylan_value wrapper;
  dylan_value head_;
  dylan_value tail_;
} _KLempty_listGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
  dylan_value iep_;
  dylan_value keyword_specifiers_;
} _KLkeyword_methodGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_keys_;
  dylan_value signature_key_types_;
} _KLkeyword_signatureGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value dood_name_;
  dylan_value dood_given_stream_;
  dylan_value dood_backupsQ_;
  dylan_value dood_root_;
  dylan_value dood_state_;
  dylan_value dood_backup_;
  dylan_value dood_world_;
  dylan_value dood_read_onlyQ_;
  dylan_value dood_batch_modeQ_;
  dylan_value dood_specified_user_version_;
  dylan_value dood_forwarding_address_;
  dylan_value dood_walked_addresses_;
  dylan_value dood_back_pointers_;
  dylan_value dood_walked_count_;
  dylan_value dood_locator_;
  dylan_value dood_init_keys_;
  dylan_value dood_walk_queue_;
  dylan_value dood_work_;
  dylan_value dood_default_segment_;
  dylan_value dood_segments_;
} _KLdoodGVdood;


/* Typedefs for defined classes */


/* Referenced object declarations */

extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
dylan_value Kdood_initialize_walkerXVdoodMM0I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
dylan_value Kdood_save_stateVdoodMM0I (dylan_value);
dylan_value Kdood_corruptedQ_setterVdoodMM0I (dylan_value, dylan_value);
dylan_value Kdood_disk_pointerAobjectVdoodI (dylan_value, dylan_value);
dylan_value Kmulti_buffered_stream_position_setterYstreams_internalsVioI (dylan_value, dylan_value);
dylan_value Kwrite_8_aligned_bytesYstreams_internalsVioI (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe Kforce_outputYstreams_protocolVcommon_dylan;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
dylan_value KdumpVdoodMM0I (dylan_value dood_);
dylan_value Kdood_clear_walked_objectsXVdoodI (dylan_value);
dylan_value Kdood_corruptedQVdoodMM0I (dylan_value);
dylan_value Kdood_restore_stateVdoodMM0I (dylan_value);
dylan_value Kdood_flush_backupVdoodMM0I (dylan_value);
dylan_value Kdood_statisticsVdoodI (dylan_value dood_, dylan_value Urest_, dylan_value filter_set_, dylan_value aggregate_set_);
dylan_value Kdood_walk_fromVdoodMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe KidentityVKd;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLsimple_methodGVKe Kmaybe_walk_objectVdood;
extern _KLsimple_methodGVKe Kdood_write_atVdood;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
dylan_value KerrorVKdMM1I (dylan_value, dylan_value);
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLsymbolGVKd KJsize_;
extern _KLclassGVKd KLkeyword_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureGVKeW;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLclassGVKd KLdoodGVdood;
extern _KLmm_wrapperGVKi_0 KLdoodGVdoodW;
extern dylan_value Ddood_empty_stretchy_vectorVdood;
extern dylan_value Ddefault_walk_infoVdood;

/* Defined object declarations */

extern _KLkeyword_methodGVKe Kdood_commitVdoodMM0;
dylan_value Kdood_commitVdoodMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
dylan_value Kcheck_not_read_onlyVdoodI (dylan_value);
static dylan_value Kcommit_rootF4I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsymbolGVKd KJbatchQ_;
static _KLsymbolGVKd KJparentsQ_;
static _KLsymbolGVKd KJcommitQ_;
static _KLbyte_stringGVKd_7 K8;
static _KLbyte_stringGVKd_8 K9;
static _KLbyte_stringGVKd_6 K10;
static _KLbyte_stringGVKd_38 K11;
static _KLkeyword_signatureGVKe K12;
static _KLsimple_object_vectorGVKd_14 K13;
static _KLsymbolGVKd KJflushQ_;
static _KLsymbolGVKd KJdumpQ_;
static _KLsymbolGVKd KJbreakQ_;
static _KLsymbolGVKd KJclearQ_;
static _KLsymbolGVKd KJstatsQ_;
static _KLbyte_stringGVKd_6 K19;
static _KLbyte_stringGVKd_6 K20;
static _KLbyte_stringGVKd_6 K21;
static _KLbyte_stringGVKd_5 K22;
static _KLbyte_stringGVKd_6 K23;
static _KLsimple_object_vectorGVKd_1 K24;
static _KLsimple_object_vectorGVKd_7 K25;

/* Indirection variables */

static dylan_value IKJbatchQ_ = &KJbatchQ_;
static dylan_value IKJparentsQ_ = &KJparentsQ_;
static dylan_value IKJcommitQ_ = &KJcommitQ_;
static dylan_value IKJflushQ_ = &KJflushQ_;
static dylan_value IKJdumpQ_ = &KJdumpQ_;
static dylan_value IKJbreakQ_ = &KJbreakQ_;
static dylan_value IKJclearQ_ = &KJclearQ_;
static dylan_value IKJstatsQ_ = &KJstatsQ_;

/* Variables */

dylan_value dood_commitVdood = &Kdood_commitVdoodMM0;

/* Objects */

_KLkeyword_methodGVKe Kdood_commitVdoodMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_9,
  &K12,
  &key_mep_9,
  &Kdood_commitVdoodMM0I,
  &K13
};

static _KLsymbolGVKd KJbatchQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K10
};

static _KLsymbolGVKd KJparentsQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K9
};

static _KLsymbolGVKd KJcommitQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K8
};

static _KLbyte_stringGVKd_7 K8 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 29,
  "commit?"
};

static _KLbyte_stringGVKd_8 K9 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 33,
  "parents?"
};

static _KLbyte_stringGVKd_6 K10 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "batch?"
};

static _KLbyte_stringGVKd_38 K11 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 153,
  "Bug: attempt to write a read-only dood"
};

static _KLkeyword_signatureGVKe K12 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (dylan_value) 42205189,
  &K24,
  &K25,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_14 K13 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 57,
  &KJflushQ_,
  &KPfalseVKi,
  &KJdumpQ_,
  &KPfalseVKi,
  &KJbreakQ_,
  &KPfalseVKi,
  &KJparentsQ_,
  &KPfalseVKi,
  &KJclearQ_,
  &KPtrueVKi,
  &KJstatsQ_,
  &KPfalseVKi,
  &KJsize_,
  &KPfalseVKi
};

static _KLsymbolGVKd KJflushQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K23
};

static _KLsymbolGVKd KJdumpQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K22
};

static _KLsymbolGVKd KJbreakQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K21
};

static _KLsymbolGVKd KJclearQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K20
};

static _KLsymbolGVKd KJstatsQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K19
};

static _KLbyte_stringGVKd_6 K19 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "stats?"
};

static _KLbyte_stringGVKd_6 K20 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "clear?"
};

static _KLbyte_stringGVKd_6 K21 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "break?"
};

static _KLbyte_stringGVKd_5 K22 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 21,
  "dump?"
};

static _KLbyte_stringGVKd_6 K23 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "flush?"
};

static _KLsimple_object_vectorGVKd_1 K24 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLdoodGVdood
};

static _KLsimple_object_vectorGVKd_7 K25 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 29,
  &KJflushQ_,
  &KJdumpQ_,
  &KJbreakQ_,
  &KJparentsQ_,
  &KJclearQ_,
  &KJstatsQ_,
  &KJsize_
};

/* Code */

dylan_value Kdood_commitVdoodMM0I (dylan_value dood_, dylan_value Urest_, dylan_value flushQ_, dylan_value dumpQ_, dylan_value breakQ_, dylan_value parentsQ_, dylan_value clearQ_, dylan_value statsQ_, dylan_value size_) {
  dylan_value parentsQF10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20_0;
  dylan_value T21;
  DWORD T22;
  dylan_value T23;
  dylan_value T24;
  DWORD T25;
  DWORD T26;
  DWORD T27;
  DWORD T28;
  DWORD T29;
  DWORD T30;
  DWORD T31;
  DWORD T32;
  DWORD T33;
  DWORD T34;
  DWORD T35;
  DWORD T36;
  DWORD T37;
  DWORD T38;
  DWORD T39;
  dylan_value T40;
  dylan_value T41;
  DWORD T42;
  DWORD T43;
  dylan_value T44;
  DWORD T45;
  DWORD T46;
  dylan_value T47;
  DWORD T48;
  DWORD T49;
  dylan_value T50;
  DWORD T51;
  DWORD T52;
  dylan_value T53;
  DWORD T54;
  DWORD T55;
  dylan_value T56;
  DWORD T57;
  DWORD T58;
  dylan_value T59;
  DWORD T60;
  DWORD T61;
  dylan_value T62;
  DWORD T63;
  DWORD T64;
  dylan_value T65;
  dylan_value T66;
  dylan_value T67_0;
  dylan_value T68;
  DWORD T69;
  dylan_value T70;
  dylan_value T71;
  DWORD T72;
  DWORD T73;
  DWORD T74;
  DWORD T75;
  DWORD T76;
  DWORD T77;
  DWORD T78;
  DWORD T79;
  DWORD T80;
  DWORD T81;
  DWORD T82;
  DWORD T83;
  DWORD T84;
  DWORD T85;
  DWORD T86;
  dylan_value T87;
  dylan_value T88;
  DWORD T89;
  DWORD T90;
  dylan_value T91;
  DWORD T92;
  DWORD T93;
  dylan_value T94;
  DWORD T95;
  DWORD T96;
  dylan_value T97;
  DWORD T98;
  DWORD T99;
  dylan_value T100;
  DWORD T101;
  DWORD T102;
  dylan_value T103;
  DWORD T104;
  DWORD T105;
  dylan_value T106;
  DWORD T107;
  DWORD T108;
  dylan_value T109;
  DWORD T110;
  DWORD T111;
  dylan_value T112;
  dylan_value T113;
  dylan_value T114;
  dylan_value T115_0;
  dylan_value T116;
  DWORD T117;
  dylan_value T118;
  dylan_value T119;
  DWORD T120;
  DWORD T121;
  DWORD T122;
  DWORD T123;
  DWORD T124;
  DWORD T125;
  DWORD T126;
  DWORD T127;
  DWORD T128;
  DWORD T129;
  DWORD T130;
  DWORD T131;
  DWORD T132;
  DWORD T133;
  DWORD T134;
  dylan_value T135;
  dylan_value T136;
  DWORD T137;
  DWORD T138;
  dylan_value T139;
  DWORD T140;
  DWORD T141;
  dylan_value T142;
  DWORD T143;
  DWORD T144;
  dylan_value T145;
  DWORD T146;
  DWORD T147;
  dylan_value T148;
  DWORD T149;
  DWORD T150;
  dylan_value T151;
  DWORD T152;
  DWORD T153;
  dylan_value T154;
  DWORD T155;
  DWORD T156;
  dylan_value T157;
  DWORD T158;
  DWORD T159;
  dylan_value T160;
  dylan_value T161;
  dylan_value T162;
  dylan_value T163;
  dylan_value T164;
  dylan_value T165;
  dylan_value T166;

  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:16
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:19
  Kcheck_not_read_onlyVdoodI(dood_);
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:20
  Kdood_initialize_walkerXVdoodMM0I(dood_, &KPempty_vectorVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:21
  Kdood_save_stateVdoodMM0I(dood_);
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:22
  Kdood_corruptedQ_setterVdoodMM0I(&KPtrueVKi, dood_);
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:23
  T16 = SLOT_VALUE_INITD(dood_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:24
  if (T16 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:28
    T17 = SLOT_VALUE_INITD(dood_, 11);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:28
    T18 = SLOT_VALUE_INITD(dood_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:28
    SLOT_VALUE_SETTER(T17, T18, 3);
  }
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:24
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:30
  if (parentsQ_ != &KPfalseVKi) {
    parentsQF10 = parentsQ_;
  } else {
    parentsQF10 = statsQ_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:30
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:31
  ENTER_UNWIND_FRAME(T11);
  if (!nlx_setjmp(FRAME_DEST(T11))) {
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:38
    Kcommit_rootF4I(T16, parentsQF10, dood_, Ddood_empty_stretchy_vectorVdood, (dylan_value) 21);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:40
    T19 = SLOT_VALUE_INITD(dood_, 3);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:40
    Kcommit_rootF4I(T16, parentsQF10, dood_, T19, (dylan_value) 17);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:42
    T20_0 = Kdood_disk_pointerAobjectVdoodI(dood_, (dylan_value) 17);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:42
    T21 = T20_0;
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T22 = primitive_unwrap_abstract_integer(T21);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T23 = SLOT_VALUE_INITD(dood_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T24 = SLOT_VALUE(T23, 1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    Kmulti_buffered_stream_position_setterYstreams_internalsVioI((dylan_value) 1, T24);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T25 = primitive_machine_word_shift_right(T22,56);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T26 = primitive_machine_word_logand(T25,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T27 = primitive_machine_word_shift_right(T22,48);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T28 = primitive_machine_word_logand(T27,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T29 = primitive_machine_word_shift_right(T22,40);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T30 = primitive_machine_word_logand(T29,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T31 = primitive_machine_word_shift_right(T22,32);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T32 = primitive_machine_word_logand(T31,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T33 = primitive_machine_word_shift_right(T22,24);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T34 = primitive_machine_word_logand(T33,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T35 = primitive_machine_word_shift_right(T22,16);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T36 = primitive_machine_word_logand(T35,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T37 = primitive_machine_word_shift_right(T22,8);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T38 = primitive_machine_word_logand(T37,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T39 = primitive_machine_word_logand(T22,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T40 = SLOT_VALUE_INITD(dood_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T41 = SLOT_VALUE(T40, 1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T42 = primitive_machine_word_shift_left_signal_overflow(T26,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T43 = primitive_machine_word_logior(T42,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T44 = primitive_cast_raw_as_integer(T43);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T45 = primitive_machine_word_shift_left_signal_overflow(T28,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T46 = primitive_machine_word_logior(T45,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T47 = primitive_cast_raw_as_integer(T46);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T48 = primitive_machine_word_shift_left_signal_overflow(T30,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T49 = primitive_machine_word_logior(T48,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T50 = primitive_cast_raw_as_integer(T49);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T51 = primitive_machine_word_shift_left_signal_overflow(T32,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T52 = primitive_machine_word_logior(T51,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T53 = primitive_cast_raw_as_integer(T52);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T54 = primitive_machine_word_shift_left_signal_overflow(T34,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T55 = primitive_machine_word_logior(T54,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T56 = primitive_cast_raw_as_integer(T55);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T57 = primitive_machine_word_shift_left_signal_overflow(T36,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T58 = primitive_machine_word_logior(T57,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T59 = primitive_cast_raw_as_integer(T58);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T60 = primitive_machine_word_shift_left_signal_overflow(T38,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T61 = primitive_machine_word_logior(T60,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T62 = primitive_cast_raw_as_integer(T61);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T63 = primitive_machine_word_shift_left_signal_overflow(T39,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T64 = primitive_machine_word_logior(T63,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    T65 = primitive_cast_raw_as_integer(T64);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:41
    Kwrite_8_aligned_bytesYstreams_internalsVioI(T41, T44, T47, T50, T53, T56, T59, T62, T65);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:45
    T66 = SLOT_VALUE_INITD(dood_, 9);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:45
    T67_0 = Kdood_disk_pointerAobjectVdoodI(dood_, T66);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:45
    T68 = T67_0;
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T69 = primitive_unwrap_abstract_integer(T68);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T70 = SLOT_VALUE_INITD(dood_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T71 = SLOT_VALUE(T70, 1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    Kmulti_buffered_stream_position_setterYstreams_internalsVioI((dylan_value) 33, T71);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T72 = primitive_machine_word_shift_right(T69,56);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T73 = primitive_machine_word_logand(T72,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T74 = primitive_machine_word_shift_right(T69,48);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T75 = primitive_machine_word_logand(T74,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T76 = primitive_machine_word_shift_right(T69,40);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T77 = primitive_machine_word_logand(T76,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T78 = primitive_machine_word_shift_right(T69,32);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T79 = primitive_machine_word_logand(T78,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T80 = primitive_machine_word_shift_right(T69,24);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T81 = primitive_machine_word_logand(T80,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T82 = primitive_machine_word_shift_right(T69,16);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T83 = primitive_machine_word_logand(T82,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T84 = primitive_machine_word_shift_right(T69,8);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T85 = primitive_machine_word_logand(T84,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T86 = primitive_machine_word_logand(T69,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T87 = SLOT_VALUE_INITD(dood_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T88 = SLOT_VALUE(T87, 1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T89 = primitive_machine_word_shift_left_signal_overflow(T73,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T90 = primitive_machine_word_logior(T89,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T91 = primitive_cast_raw_as_integer(T90);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T92 = primitive_machine_word_shift_left_signal_overflow(T75,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T93 = primitive_machine_word_logior(T92,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T94 = primitive_cast_raw_as_integer(T93);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T95 = primitive_machine_word_shift_left_signal_overflow(T77,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T96 = primitive_machine_word_logior(T95,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T97 = primitive_cast_raw_as_integer(T96);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T98 = primitive_machine_word_shift_left_signal_overflow(T79,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T99 = primitive_machine_word_logior(T98,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T100 = primitive_cast_raw_as_integer(T99);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T101 = primitive_machine_word_shift_left_signal_overflow(T81,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T102 = primitive_machine_word_logior(T101,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T103 = primitive_cast_raw_as_integer(T102);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T104 = primitive_machine_word_shift_left_signal_overflow(T83,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T105 = primitive_machine_word_logior(T104,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T106 = primitive_cast_raw_as_integer(T105);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T107 = primitive_machine_word_shift_left_signal_overflow(T85,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T108 = primitive_machine_word_logior(T107,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T109 = primitive_cast_raw_as_integer(T108);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T110 = primitive_machine_word_shift_left_signal_overflow(T86,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T111 = primitive_machine_word_logior(T110,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    T112 = primitive_cast_raw_as_integer(T111);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:44
    Kwrite_8_aligned_bytesYstreams_internalsVioI(T88, T91, T94, T97, T100, T103, T106, T109, T112);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:48
    T113 = SLOT_VALUE_INITD(dood_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:48
    T114 = SLOT_VALUE_INITD(T113, 2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:48
    T115_0 = Kdood_disk_pointerAobjectVdoodI(dood_, T114);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:48
    T116 = T115_0;
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T117 = primitive_unwrap_abstract_integer(T116);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T118 = SLOT_VALUE_INITD(dood_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T119 = SLOT_VALUE(T118, 1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    Kmulti_buffered_stream_position_setterYstreams_internalsVioI((dylan_value) 97, T119);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T120 = primitive_machine_word_shift_right(T117,56);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T121 = primitive_machine_word_logand(T120,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T122 = primitive_machine_word_shift_right(T117,48);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T123 = primitive_machine_word_logand(T122,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T124 = primitive_machine_word_shift_right(T117,40);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T125 = primitive_machine_word_logand(T124,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T126 = primitive_machine_word_shift_right(T117,32);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T127 = primitive_machine_word_logand(T126,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T128 = primitive_machine_word_shift_right(T117,24);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T129 = primitive_machine_word_logand(T128,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T130 = primitive_machine_word_shift_right(T117,16);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T131 = primitive_machine_word_logand(T130,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T132 = primitive_machine_word_shift_right(T117,8);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T133 = primitive_machine_word_logand(T132,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T134 = primitive_machine_word_logand(T117,255);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T135 = SLOT_VALUE_INITD(dood_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T136 = SLOT_VALUE(T135, 1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T137 = primitive_machine_word_shift_left_signal_overflow(T121,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T138 = primitive_machine_word_logior(T137,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T139 = primitive_cast_raw_as_integer(T138);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T140 = primitive_machine_word_shift_left_signal_overflow(T123,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T141 = primitive_machine_word_logior(T140,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T142 = primitive_cast_raw_as_integer(T141);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T143 = primitive_machine_word_shift_left_signal_overflow(T125,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T144 = primitive_machine_word_logior(T143,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T145 = primitive_cast_raw_as_integer(T144);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T146 = primitive_machine_word_shift_left_signal_overflow(T127,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T147 = primitive_machine_word_logior(T146,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T148 = primitive_cast_raw_as_integer(T147);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T149 = primitive_machine_word_shift_left_signal_overflow(T129,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T150 = primitive_machine_word_logior(T149,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T151 = primitive_cast_raw_as_integer(T150);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T152 = primitive_machine_word_shift_left_signal_overflow(T131,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T153 = primitive_machine_word_logior(T152,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T154 = primitive_cast_raw_as_integer(T153);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T155 = primitive_machine_word_shift_left_signal_overflow(T133,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T156 = primitive_machine_word_logior(T155,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T157 = primitive_cast_raw_as_integer(T156);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T158 = primitive_machine_word_shift_left_signal_overflow(T134,2);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T159 = primitive_machine_word_logior(T158,1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    T160 = primitive_cast_raw_as_integer(T159);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:47
    Kwrite_8_aligned_bytesYstreams_internalsVioI(T136, T139, T142, T145, T148, T151, T154, T157, T160);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:50
    T161 = SLOT_VALUE_INITD(dood_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:50
    T162 = SLOT_VALUE(T161, 1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:50
    CONGRUENT_CALL_PROLOG(&Kforce_outputYstreams_protocolVcommon_dylan, 2);
    CONGRUENT_CALL2(T162, &KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:51
    if (breakQ_ == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:52
      Kdood_corruptedQ_setterVdoodMM0I(&KPfalseVKi, dood_);
    }
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:51
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:54
    T163 = SLOT_VALUE_INITD(dood_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:54
    T164 = SLOT_VALUE(T163, 1);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:54
    CONGRUENT_CALL_PROLOG(&Kforce_outputYstreams_protocolVcommon_dylan, 2);
    CONGRUENT_CALL2(T164, &KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:55
    if (dumpQ_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:56
      T12 = KdumpVdoodMM0I(dood_);
      T14 = T12;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:55
      T13 = &KPfalseVKi;
      T14 = T13;
    }
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:55
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:31
    FALL_THROUGH_UNWIND(T14);
  }
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:59
  if (clearQ_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:60
    Kdood_clear_walked_objectsXVdoodI(dood_);
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:61
    if (T16 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:62
      T165 = SLOT_VALUE_INITD(dood_, 11);
      // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:62
      T166 = SLOT_VALUE_INITD(dood_, 4);
      // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:62
      SLOT_VALUE_SETTER(T165, T166, 3);
    }
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:61
  }
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:59
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:65
  T15 = Kdood_corruptedQVdoodMM0I(dood_);
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:65
  if (T15 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:66
    Kdood_restore_stateVdoodMM0I(dood_);
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:68
    Kdood_flush_backupVdoodMM0I(dood_);
  }
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:65
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:70
  if (statsQ_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:71
    Kdood_statisticsVdoodI(dood_, &KPempty_vectorVKi, &KPempty_vectorVKi, &KPempty_vectorVKi);
  }
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:70
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:31
  CONTINUE_UNWIND();
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:16
  MV_SET_COUNT(0);
  return(T14);
}

dylan_value Kcheck_not_read_onlyVdoodI (dylan_value dood_) {
  dylan_value T1;
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:9
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:10
  T3 = SLOT_VALUE_INITD(dood_, 7);
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:10
  if (T3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:12
    T4 = KerrorVKdMM1I(&K11, &KPempty_vectorVKi);
    T2 = T4;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:10
    T1 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T2 = T1;
  }
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:10
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:9
  return(T2);
}

static dylan_value Kcommit_rootF4I (dylan_value implicit_argument_, dylan_value parentsQ_, dylan_value dood_, dylan_value object_, dylan_value id_) {
  dylan_value T5;
  _KLsimple_object_vectorGVKd_6 T6 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  dylan_value T7_0;
  dylan_value T8;

  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:32
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:33
  T6.vector_element_[0] = IKJbatchQ_;
  T6.vector_element_[1] = implicit_argument_;
  T6.vector_element_[2] = IKJparentsQ_;
  T6.vector_element_[3] = parentsQ_;
  T6.vector_element_[4] = IKJcommitQ_;
  T6.vector_element_[5] = &KPtrueVKi;
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:33
  Kdood_walk_fromVdoodMM0I(dood_, &KidentityVKd, object_, &T6, &KPfalseVKi, &KPtrueVKi, parentsQ_, implicit_argument_, &KPtrueVKi);
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:36
  T7_0 = CALL5(&Kmaybe_walk_objectVdood, dood_, Ddefault_walk_infoVdood, &KPfalseVKi, object_, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:36
  T8 = T7_0;
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:36
  T5 = CALL3(&Kdood_write_atVdood, dood_, T8, id_);
  // /home/bruce/Development/dylan/opendylan/sources/lib/dood/commit.dylan:32
  return(T5);
}


/* SYSTEM INIT CODE */

void _Init_dood__X_commit_for_system () {
  extern dylan_value KPresolve_symbolVKiI(dylan_value);
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJbatchQ_);
    if (T0 != &KJbatchQ_) {
      IKJbatchQ_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJparentsQ_);
    if (T0 != &KJparentsQ_) {
      primitive_repeated_slot_value_setter(T0, &K25, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K13, 1, 6);
      IKJparentsQ_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJcommitQ_);
    if (T0 != &KJcommitQ_) {
      IKJcommitQ_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJflushQ_);
    if (T0 != &KJflushQ_) {
      primitive_repeated_slot_value_setter(T0, &K25, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K13, 1, 0);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdumpQ_);
    if (T0 != &KJdumpQ_) {
      primitive_repeated_slot_value_setter(T0, &K25, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K13, 1, 2);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJbreakQ_);
    if (T0 != &KJbreakQ_) {
      primitive_repeated_slot_value_setter(T0, &K25, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K13, 1, 4);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJclearQ_);
    if (T0 != &KJclearQ_) {
      primitive_repeated_slot_value_setter(T0, &K25, 1, 4);
      primitive_repeated_slot_value_setter(T0, &K13, 1, 8);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJstatsQ_);
    if (T0 != &KJstatsQ_) {
      primitive_repeated_slot_value_setter(T0, &K25, 1, 5);
      primitive_repeated_slot_value_setter(T0, &K13, 1, 10);
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dood__X_commit_for_user () {
  return;
}


/* eof */
