/*===========================================================================*/
/*   (SawMill/jvmgen.scm)                                                    */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent SawMill/jvmgen.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;

typedef struct BgL_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

typedef struct BgL_variablez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
} *BgL_variablez00_bglt;

typedef struct BgL_globalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_bglt;

typedef struct BgL_nodez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_nodez00_bglt;

typedef struct BgL_nodezf2effectzf2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
} *BgL_nodezf2effectzf2_bglt;

typedef struct BgL_atomz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_atomz00_bglt;

typedef struct BgL_varz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_varz00_bglt;

typedef struct BgL_closurez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_closurez00_bglt;

typedef struct BgL_kwotez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_kwotez00_bglt;

typedef struct BgL_sequencez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_nodesz00;
} *BgL_sequencez00_bglt;

typedef struct BgL_appz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_appz00_bglt;

typedef struct BgL_appzd2lyzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_appzd2lyzd2_bglt;

typedef struct BgL_funcallz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
   obj_t BgL_strengthz00;
} *BgL_funcallz00_bglt;

typedef struct BgL_externz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_externz00_bglt;

typedef struct BgL_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_formatz00;
} *BgL_pragmaz00_bglt;

typedef struct BgL_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_getfieldz00_bglt;

typedef struct BgL_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_setfieldz00_bglt;

typedef struct BgL_newz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_newz00_bglt;

typedef struct BgL_vallocz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2heapzd2formatz00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_vallocz00_bglt;

typedef struct BgL_vrefz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vrefz00_bglt;

typedef struct BgL_vsetz12z12_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vsetz12z12_bglt;

typedef struct BgL_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vlengthz00_bglt;

typedef struct BgL_isaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   struct BgL_typez00_bgl * BgL_classz00;
} *BgL_isaz00_bglt;

typedef struct BgL_castz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_castz00_bglt;

typedef struct BgL_setqz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_setqz00_bglt;

typedef struct BgL_conditionalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   struct BgL_nodez00_bgl * BgL_truez00;
   struct BgL_nodez00_bgl * BgL_falsez00;
} *BgL_conditionalz00_bglt;

typedef struct BgL_failz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_procz00;
   struct BgL_nodez00_bgl * BgL_msgz00;
   struct BgL_nodez00_bgl * BgL_objz00;
} *BgL_failz00_bglt;

typedef struct BgL_selectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   obj_t BgL_clausesz00;
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_selectz00_bglt;

typedef struct BgL_letzd2funzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_localsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_letzd2funzd2_bglt;

typedef struct BgL_letzd2varzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_bindingsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
   bool_t BgL_removablezf3zf3;
} *BgL_letzd2varzd2_bglt;

typedef struct BgL_setzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_setzd2exzd2itz00_bglt;

typedef struct BgL_jumpzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_exitz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_jumpzd2exzd2itz00_bglt;

typedef struct BgL_makezd2boxzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_makezd2boxzd2_bglt;

typedef struct BgL_boxzd2refzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_varz00;
} *BgL_boxzd2refzd2_bglt;

typedef struct BgL_boxzd2setz12zc0_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_boxzd2setz12zc0_bglt;

typedef struct BgL_tclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   struct BgL_globalz00_bgl * BgL_holderz00;
   obj_t BgL_wideningz00;
   long BgL_depthz00;
   bool_t BgL_finalzf3zf3;
   obj_t BgL_constructorz00;
   obj_t BgL_virtualzd2slotszd2numberz00;
   bool_t BgL_abstractzf3zf3;
   obj_t BgL_widezd2typezd2;
} *BgL_tclassz00_bglt;

typedef struct BgL_jclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   obj_t BgL_packagez00;
} *BgL_jclassz00_bglt;

typedef struct BgL_wclassz00_bgl {
   obj_t BgL_itszd2classzd2;
} *BgL_wclassz00_bglt;

typedef struct BgL_backendz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_backendz00_bglt;

typedef struct BgL_cvmz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_cvmz00_bglt;

typedef struct BgL_sawcz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_sawcz00_bglt;

typedef struct BgL_cgenz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_cgenz00_bglt;

typedef struct BgL_jvmz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
   obj_t BgL_qnamez00;
   obj_t BgL_classesz00;
   obj_t BgL_currentzd2classzd2;
   obj_t BgL_declarationsz00;
   obj_t BgL_fieldsz00;
   obj_t BgL_methodsz00;
   obj_t BgL_currentzd2methodzd2;
   obj_t BgL_codez00;
} *BgL_jvmz00_bglt;

typedef struct BgL_dotnetz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
   obj_t BgL_outz00;
   obj_t BgL_qnamez00;
} *BgL_dotnetz00_bglt;

typedef struct BgL_envz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_declarationsz00;
   obj_t BgL_declaredtypez00;
   obj_t BgL_declaredclassz00;
   obj_t BgL_declaredmodulez00;
   obj_t BgL_currentzd2modulezd2;
   obj_t BgL_declaredfieldsz00;
   obj_t BgL_declaredglobalz00;
   obj_t BgL_libdeclaredz00;
   obj_t BgL_proceduresz00;
   obj_t BgL_clinitzd2codezd2;
   obj_t BgL_currentzd2methodzd2;
   obj_t BgL_vcountz00;
   obj_t BgL_localsz00;
   obj_t BgL_freelocalsz00;
   obj_t BgL_maplocalsz00;
   obj_t BgL_stackz00;
   obj_t BgL_codez00;
} *BgL_envz00_bglt;

typedef struct BgL_rtl_regz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_varz00;
} *BgL_rtl_regz00_bglt;

typedef struct BgL_rtl_funz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_funz00_bglt;

typedef struct BgL_rtl_lastz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_lastz00_bglt;

typedef struct BgL_rtl_returnz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_returnz00_bglt;

typedef struct BgL_rtl_jumpexitz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_jumpexitz00_bglt;

typedef struct BgL_rtl_failz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_failz00_bglt;

typedef struct BgL_rtl_notseqz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_notseqz00_bglt;

typedef struct BgL_rtl_ifz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_ifz00_bglt;

typedef struct BgL_rtl_selectz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_patternsz00;
} *BgL_rtl_selectz00_bglt;

typedef struct BgL_rtl_switchz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_patternsz00;
   obj_t BgL_labelsz00;
} *BgL_rtl_switchz00_bglt;

typedef struct BgL_rtl_ifeqz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_blockz00_bgl * BgL_thenz00;
} *BgL_rtl_ifeqz00_bglt;

typedef struct BgL_rtl_ifnez00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_blockz00_bgl * BgL_thenz00;
} *BgL_rtl_ifnez00_bglt;

typedef struct BgL_rtl_goz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_blockz00_bgl * BgL_toz00;
} *BgL_rtl_goz00_bglt;

typedef struct BgL_rtl_purez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_purez00_bglt;

typedef struct BgL_rtl_nopz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_nopz00_bglt;

typedef struct BgL_rtl_movz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_movz00_bglt;

typedef struct BgL_rtl_loadiz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_atomz00_bgl * BgL_constantz00;
} *BgL_rtl_loadiz00_bglt;

typedef struct BgL_rtl_loadgz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_globalz00_bgl * BgL_varz00;
} *BgL_rtl_loadgz00_bglt;

typedef struct BgL_rtl_loadfunz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_globalz00_bgl * BgL_varz00;
} *BgL_rtl_loadfunz00_bglt;

typedef struct BgL_rtl_globalrefz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_globalz00_bgl * BgL_varz00;
} *BgL_rtl_globalrefz00_bglt;

typedef struct BgL_rtl_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_objtypez00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_getfieldz00_bglt;

typedef struct BgL_rtl_vallocz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_rtl_vallocz00_bglt;

typedef struct BgL_rtl_vrefz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_rtl_vrefz00_bglt;

typedef struct BgL_rtl_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_vlengthz00_bglt;

typedef struct BgL_rtl_isaz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_isaz00_bglt;

typedef struct BgL_rtl_makeboxz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_makeboxz00_bglt;

typedef struct BgL_rtl_boxrefz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_boxrefz00_bglt;

typedef struct BgL_rtl_effectz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_effectz00_bglt;

typedef struct BgL_rtl_storegz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_globalz00_bgl * BgL_varz00;
} *BgL_rtl_storegz00_bglt;

typedef struct BgL_rtl_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_objtypez00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_setfieldz00_bglt;

typedef struct BgL_rtl_vsetz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_rtl_vsetz00_bglt;

typedef struct BgL_rtl_boxsetz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_boxsetz00_bglt;

typedef struct BgL_rtl_newz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_newz00_bglt;

typedef struct BgL_rtl_callz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_globalz00_bgl * BgL_varz00;
} *BgL_rtl_callz00_bglt;

typedef struct BgL_rtl_applyz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_applyz00_bglt;

typedef struct BgL_rtl_lightfuncallz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_lightfuncallz00_bglt;

typedef struct BgL_rtl_funcallz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_funcallz00_bglt;

typedef struct BgL_rtl_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_formatz00;
} *BgL_rtl_pragmaz00_bglt;

typedef struct BgL_rtl_castz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_rtl_castz00_bglt;

typedef struct BgL_rtl_protectz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_protectz00_bglt;

typedef struct BgL_rtl_protectedz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_rtl_protectedz00_bglt;

typedef struct BgL_stl_loadrz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_rtl_regz00_bgl * BgL_regz00;
} *BgL_stl_loadrz00_bglt;

typedef struct BgL_stl_storerz00_bgl {
   header_t header;
   obj_t widening;
   struct BgL_rtl_regz00_bgl * BgL_regz00;
} *BgL_stl_storerz00_bglt;

typedef struct BgL_stl_popz00_bgl {
   header_t header;
   obj_t widening;
} *BgL_stl_popz00_bglt;

typedef struct BgL_rtl_insz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   obj_t BgL_destz00;
   struct BgL_rtl_funz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_rtl_insz00_bglt;

typedef struct BgL_blockz00_bgl {
   header_t header;
   obj_t widening;
   int BgL_labelz00;
   obj_t BgL_predsz00;
   obj_t BgL_succsz00;
   obj_t BgL_firstz00;
} *BgL_blockz00_bglt;


BGL_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzsaw_jvmgenz00();
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
static obj_t BGl_genz00zzsaw_jvmgenz00(BgL_rtl_funz00_bglt, obj_t);
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
extern obj_t BGl_compilezd2typezd2zzjvm_envz00(obj_t, BgL_envz00_bglt);
static obj_t BGl_compilezd2formalszd2zzsaw_jvmgenz00(obj_t, BgL_envz00_bglt);
BGL_IMPORT obj_t BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(obj_t);
static obj_t BGl__genzd2default3807zd2zzsaw_jvmgenz00(obj_t, obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzsaw_jvmgenz00();
static obj_t BGl_importedzd2moduleszd2initz00zzsaw_jvmgenz00();
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
static obj_t BGl_genzd2default3807zd2zzsaw_jvmgenz00(BgL_rtl_funz00_bglt, obj_t);
static obj_t BGl_toplevelzd2initzd2zzsaw_jvmgenz00();
static obj_t BGl__sawzd2jvmgenzd2zzsaw_jvmgenz00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzsaw_jvmgenz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzbackend_backendz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzjvm_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzsaw_woodcutterz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzsaw_defsz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
extern obj_t BGl_globalzd2ze3blocksz31zzsaw_woodcutterz00(BgL_backendz00_bglt, BgL_globalz00_bglt);
extern obj_t BGl_rtl_returnz00zzsaw_defsz00;
static obj_t BGl__genz00zzsaw_jvmgenz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_sawzd2jvmgenzd2zzsaw_jvmgenz00(BgL_backendz00_bglt, BgL_globalz00_bglt, BgL_envz00_bglt);
extern obj_t BGl_getzd2globalzd2namez00zzjvm_envz00(BgL_envz00_bglt, BgL_globalz00_bglt);
static obj_t BGl_genzd2rtl_return3810zd2zzsaw_jvmgenz00(obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzsaw_jvmgenz00 = BUNSPEC;
static obj_t BGl_libraryzd2moduleszd2initz00zzsaw_jvmgenz00();
static obj_t __cnst[ 8 ] ;


DEFINE_STRING( BGl_string4662z00zzsaw_jvmgenz00, BgL_bgl_string4662za700za7za7saw_jvmgenza7004689z00, "gen-default3807 _ (double long) reg2 reg1 method (gen fun env) (if label (_label env label)) ", 93 );
DEFINE_STRING( BGl_string4661z00zzsaw_jvmgenz00, BgL_bgl_string4661za700za7za7saw_jvmgenza7004690z00, "No method for this object", 25 );
DEFINE_STATIC_PROCEDURE( BGl_proc4660z00zzsaw_jvmgenz00, BgL_bgl_genza7d2rtl_return3810za7d2za7za7saw_jvmgenza7004691za7, BGl_genzd2rtl_return3810zd2zzsaw_jvmgenz00, 0L, 2 );
DEFINE_STATIC_GENERIC( BGl_genzd2envzd2zzsaw_jvmgenz00, BgL_bgl__genza700za7za7saw_jvmgenza7004692z00, BGl__genz00zzsaw_jvmgenz00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_genzd2default3807zd2envz00zzsaw_jvmgenz00, BgL_bgl__genza7d2default3807za7d2za7za7saw_jvmgenza7004693za7, BGl__genzd2default3807zd2zzsaw_jvmgenz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_sawzd2jvmgenzd2envz00zzsaw_jvmgenz00, BgL_bgl__sawza7d2jvmgenza7d2za7za7saw_jvmgenza7004694za7, BGl__sawzd2jvmgenzd2zzsaw_jvmgenz00, 0L, 3 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzsaw_jvmgenz00(long BgL_checksumz00_1863, char * BgL_fromz00_1864)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzsaw_jvmgenz00))
{ 
BGl_requirezd2initializa7ationz75zzsaw_jvmgenz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzsaw_jvmgenz00(); 
BGl_cnstzd2initzd2zzsaw_jvmgenz00(); 
BGl_importedzd2moduleszd2initz00zzsaw_jvmgenz00(); 
BGl_methodzd2initzd2zzsaw_jvmgenz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzsaw_jvmgenz00()
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 1 */
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "saw_jvmgen"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "saw_jvmgen"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "saw_jvmgen"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzsaw_jvmgenz00()
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 1 */
{ /* ./SawMill/jvmgen.scm 1 */
obj_t BgL_cportz00_1854;
BgL_cportz00_1854 = 
open_input_string(BGl_string4662z00zzsaw_jvmgenz00); 
{ 
long BgL_iz00_1855;
BgL_iz00_1855 = ((long)7); 
BgL_loopz00_1856:
{ /* ./SawMill/jvmgen.scm 1 */
bool_t BgL_test4664z00_1857;
BgL_test4664z00_1857 = 
(BgL_iz00_1855==((long)-1)); 
if(BgL_test4664z00_1857)
{ /* ./SawMill/jvmgen.scm 1 */
return BUNSPEC;}  else 
{ /* ./SawMill/jvmgen.scm 1 */
{ /* ./SawMill/jvmgen.scm 1 */
obj_t BgL_arg4666z00_1858;
{ /* ./SawMill/jvmgen.scm 1 */
obj_t BgL_list4669z00_1859;
BgL_list4669z00_1859 = 
MAKE_PAIR(BgL_cportz00_1854, BNIL); 
BgL_arg4666z00_1858 = 
BGl_readz00zz__readerz00(BgL_list4669z00_1859); } 
{ /* ./SawMill/jvmgen.scm 1 */
int BgL_auxz00_1880;
BgL_auxz00_1880 = 
(int)(BgL_iz00_1855); 
CNST_TABLE_SET(BgL_auxz00_1880, BgL_arg4666z00_1858); } } 
{ /* ./SawMill/jvmgen.scm 1 */
int BgL_auxz00_1860;
{ /* ./SawMill/jvmgen.scm 1 */
long BgL_auxz00_1883;
BgL_auxz00_1883 = 
(BgL_iz00_1855-((long)1)); 
BgL_auxz00_1860 = 
(int)(BgL_auxz00_1883); } 
{ 
long BgL_iz00_1886;
BgL_iz00_1886 = 
(long)(BgL_auxz00_1860); 
BgL_iz00_1855 = BgL_iz00_1886; 
goto BgL_loopz00_1856;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzsaw_jvmgenz00()
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 1 */
return BUNSPEC;} 
}



/* saw-jvmgen */
BGL_EXPORTED_DEF obj_t BGl_sawzd2jvmgenzd2zzsaw_jvmgenz00(BgL_backendz00_bglt BgL_bz00_1, BgL_globalz00_bglt BgL_varz00_2, BgL_envz00_bglt BgL_envz00_3)
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 15 */
{ /* ./SawMill/jvmgen.scm 17 */
BgL_valuez00_bglt BgL_instance3801z00_1160;
{ /* ./SawMill/jvmgen.scm 18 */
BgL_variablez00_bglt BgL_obj1100z00_1785;
BgL_obj1100z00_1785 = 
(BgL_variablez00_bglt)(BgL_varz00_2); 
BgL_instance3801z00_1160 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1785))->BgL_valuez00); } 
{ /* ./SawMill/jvmgen.scm 18 */
BgL_envz00_bglt BgL_obj3268z00_1786;obj_t BgL_val3267z00_1787;
BgL_obj3268z00_1786 = BgL_envz00_3; 
BgL_val3267z00_1787 = 
(obj_t)(BgL_varz00_2); 
((((BgL_envz00_bglt)CREF(BgL_obj3268z00_1786))->BgL_currentzd2methodzd2) = ((obj_t)BgL_val3267z00_1787), BUNSPEC); } 
{ /* ./SawMill/jvmgen.scm 19 */
BgL_envz00_bglt BgL_obj3271z00_1788;obj_t BgL_val3270z00_1789;
BgL_obj3271z00_1788 = BgL_envz00_3; 
BgL_val3270z00_1789 = 
BINT(((long)0)); 
((((BgL_envz00_bglt)CREF(BgL_obj3271z00_1788))->BgL_vcountz00) = ((obj_t)BgL_val3270z00_1789), BUNSPEC); } 
{ /* ./SawMill/jvmgen.scm 20 */
BgL_envz00_bglt BgL_obj3287z00_1790;obj_t BgL_val3286z00_1791;
BgL_obj3287z00_1790 = BgL_envz00_3; 
BgL_val3286z00_1791 = BNIL; 
((((BgL_envz00_bglt)CREF(BgL_obj3287z00_1790))->BgL_codez00) = ((obj_t)BgL_val3286z00_1791), BUNSPEC); } 
{ /* ./SawMill/jvmgen.scm 21 */
BgL_envz00_bglt BgL_obj3274z00_1792;obj_t BgL_val3273z00_1793;
BgL_obj3274z00_1792 = BgL_envz00_3; 
BgL_val3273z00_1793 = BNIL; 
((((BgL_envz00_bglt)CREF(BgL_obj3274z00_1792))->BgL_localsz00) = ((obj_t)BgL_val3273z00_1793), BUNSPEC); } 
{ /* ./SawMill/jvmgen.scm 22 */
BgL_envz00_bglt BgL_obj3277z00_1794;obj_t BgL_val3276z00_1795;
BgL_obj3277z00_1794 = BgL_envz00_3; 
BgL_val3276z00_1795 = BNIL; 
((((BgL_envz00_bglt)CREF(BgL_obj3277z00_1794))->BgL_freelocalsz00) = ((obj_t)BgL_val3276z00_1795), BUNSPEC); } 
{ /* ./SawMill/jvmgen.scm 23 */
BgL_envz00_bglt BgL_obj3280z00_1796;obj_t BgL_val3279z00_1797;
BgL_obj3280z00_1796 = BgL_envz00_3; 
BgL_val3279z00_1797 = BNIL; 
((((BgL_envz00_bglt)CREF(BgL_obj3280z00_1796))->BgL_maplocalsz00) = ((obj_t)BgL_val3279z00_1797), BUNSPEC); } 
{ /* ./SawMill/jvmgen.scm 24 */
BgL_envz00_bglt BgL_obj3284z00_1798;obj_t BgL_val3283z00_1799;
BgL_obj3284z00_1798 = BgL_envz00_3; 
BgL_val3283z00_1799 = BNIL; 
((((BgL_envz00_bglt)CREF(BgL_obj3284z00_1798))->BgL_stackz00) = ((obj_t)BgL_val3283z00_1799), BUNSPEC); } 
{ /* ./SawMill/jvmgen.scm 25 */
obj_t BgL_lz00_1161;
BgL_lz00_1161 = 
BGl_globalzd2ze3blocksz31zzsaw_woodcutterz00(BgL_bz00_1, BgL_varz00_2); 
{ 
obj_t BgL_l3803z00_1162;
BgL_l3803z00_1162 = BgL_lz00_1161; 
BgL_forzd2each3804zd2_1163:
if(
PAIRP(BgL_l3803z00_1162))
{ /* ./SawMill/jvmgen.scm 26 */
CNST_TABLE_REF(((long)0)); 
CNST_TABLE_REF(((long)1)); 
{ 
obj_t BgL_l3803z00_1904;
BgL_l3803z00_1904 = 
CDR(BgL_l3803z00_1162); 
BgL_l3803z00_1162 = BgL_l3803z00_1904; 
goto BgL_forzd2each3804zd2_1163;} }  else 
{ /* ./SawMill/jvmgen.scm 26 */((bool_t)1); } } } 
{ /* ./SawMill/jvmgen.scm 27 */
obj_t BgL_arg3830z00_1167;obj_t BgL_arg3832z00_1168;
BgL_arg3830z00_1167 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./SawMill/jvmgen.scm 27 */
obj_t BgL_arg3835z00_1169;obj_t BgL_arg3836z00_1170;
BgL_arg3835z00_1169 = 
BGl_getzd2globalzd2namez00zzjvm_envz00(BgL_envz00_3, BgL_varz00_2); 
{ /* ./SawMill/jvmgen.scm 28 */
obj_t BgL_arg3840z00_1171;obj_t BgL_arg3841z00_1172;
{ /* ./SawMill/jvmgen.scm 28 */
obj_t BgL_arg3844z00_1173;
{ /* ./SawMill/jvmgen.scm 28 */
BgL_sfunz00_bglt BgL_obj1367z00_1805;
BgL_obj1367z00_1805 = 
(BgL_sfunz00_bglt)(BgL_instance3801z00_1160); 
BgL_arg3844z00_1173 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1367z00_1805))->BgL_argsz00); } 
BgL_arg3840z00_1171 = 
BGl_compilezd2formalszd2zzsaw_jvmgenz00(BgL_arg3844z00_1173, BgL_envz00_3); } 
{ /* ./SawMill/jvmgen.scm 29 */
obj_t BgL_arg3848z00_1174;obj_t BgL_arg3849z00_1175;
{ /* ./SawMill/jvmgen.scm 29 */
obj_t BgL_arg3852z00_1176;obj_t BgL_arg3853z00_1177;
BgL_arg3852z00_1176 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./SawMill/jvmgen.scm 29 */
obj_t BgL_arg3856z00_1178;obj_t BgL_arg3857z00_1179;
BgL_arg3856z00_1178 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./SawMill/jvmgen.scm 29 */
obj_t BgL_arg3860z00_1180;
{ /* ./SawMill/jvmgen.scm 29 */
obj_t BgL_arg3864z00_1182;
BgL_arg3864z00_1182 = 
(((BgL_envz00_bglt)CREF(BgL_envz00_3))->BgL_localsz00); 
BgL_arg3860z00_1180 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_arg3864z00_1182); } 
BgL_arg3857z00_1179 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg3860z00_1180, BNIL); } 
BgL_arg3853z00_1177 = 
MAKE_PAIR(BgL_arg3856z00_1178, BgL_arg3857z00_1179); } 
BgL_arg3848z00_1174 = 
MAKE_PAIR(BgL_arg3852z00_1176, BgL_arg3853z00_1177); } 
{ /* ./SawMill/jvmgen.scm 30 */
obj_t BgL_arg3868z00_1183;
{ /* ./SawMill/jvmgen.scm 30 */
obj_t BgL_arg3872z00_1185;
BgL_arg3872z00_1185 = 
(((BgL_envz00_bglt)CREF(BgL_envz00_3))->BgL_codez00); 
BgL_arg3868z00_1183 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_arg3872z00_1185); } 
BgL_arg3849z00_1175 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg3868z00_1183, BNIL); } 
BgL_arg3841z00_1172 = 
MAKE_PAIR(BgL_arg3848z00_1174, BgL_arg3849z00_1175); } 
BgL_arg3836z00_1170 = 
MAKE_PAIR(BgL_arg3840z00_1171, BgL_arg3841z00_1172); } 
BgL_arg3832z00_1168 = 
MAKE_PAIR(BgL_arg3835z00_1169, BgL_arg3836z00_1170); } 
return 
MAKE_PAIR(BgL_arg3830z00_1167, BgL_arg3832z00_1168);} } } 
}



/* _saw-jvmgen */
obj_t BGl__sawzd2jvmgenzd2zzsaw_jvmgenz00(obj_t BgL_envz00_1840, obj_t BgL_bz00_1841, obj_t BgL_varz00_1842, obj_t BgL_envz00_1843)
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 15 */
return 
BGl_sawzd2jvmgenzd2zzsaw_jvmgenz00(
(BgL_backendz00_bglt)(BgL_bz00_1841), 
(BgL_globalz00_bglt)(BgL_varz00_1842), 
(BgL_envz00_bglt)(BgL_envz00_1843));} 
}



/* compile-formals */
obj_t BGl_compilezd2formalszd2zzsaw_jvmgenz00(obj_t BgL_lz00_4, BgL_envz00_bglt BgL_envz00_5)
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 32 */
{ /* ./SawMill/jvmgen.scm 33 */
bool_t BgL_test3876z00_1186;
BgL_test3876z00_1186 = 
NULLP(BgL_lz00_4); 
if(BgL_test3876z00_1186)
{ /* ./SawMill/jvmgen.scm 33 */
return BgL_lz00_4;}  else 
{ /* ./SawMill/jvmgen.scm 35 */
obj_t BgL_vz00_1187;obj_t BgL_restz00_1188;
BgL_vz00_1187 = 
CAR(BgL_lz00_4); 
{ /* ./SawMill/jvmgen.scm 35 */
obj_t BgL_arg3888z00_1193;
BgL_arg3888z00_1193 = 
CDR(BgL_lz00_4); 
BgL_restz00_1188 = 
BGl_compilezd2formalszd2zzsaw_jvmgenz00(BgL_arg3888z00_1193, BgL_envz00_5); } 
{ /* ./SawMill/jvmgen.scm 36 */
obj_t BgL_typez00_1189;obj_t BgL_namez00_1190;
BgL_typez00_1189 = 
BGl_compilezd2typezd2zzjvm_envz00(BgL_vz00_1187, BgL_envz00_5); 
{ /* ./SawMill/jvmgen.scm 36 */
BgL_variablez00_bglt BgL_obj1094z00_1811;
BgL_obj1094z00_1811 = 
(BgL_variablez00_bglt)(BgL_vz00_1187); 
BgL_namez00_1190 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1094z00_1811))->BgL_namez00); } 
{ /* ./SawMill/jvmgen.scm 37 */
bool_t BgL_test3877z00_1191;
{ /* ./SawMill/jvmgen.scm 37 */
obj_t BgL_auxz00_1937;
BgL_auxz00_1937 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_typez00_1189, 
CNST_TABLE_REF(((long)5))); 
BgL_test3877z00_1191 = 
CBOOL(BgL_auxz00_1937); } 
if(BgL_test3877z00_1191)
{ /* ./SawMill/jvmgen.scm 38 */
obj_t BgL_arg3879z00_1192;
{ /* ./SawMill/jvmgen.scm 38 */
obj_t BgL_auxz00_1942;
BgL_auxz00_1942 = 
CNST_TABLE_REF(((long)6)); 
BgL_arg3879z00_1192 = 
MAKE_PAIR(BgL_auxz00_1942, BgL_restz00_1188); } 
return 
MAKE_PAIR(BgL_namez00_1190, BgL_arg3879z00_1192);}  else 
{ /* ./SawMill/jvmgen.scm 37 */
return 
MAKE_PAIR(BgL_namez00_1190, BgL_restz00_1188);} } } } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzsaw_jvmgenz00()
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 1 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_genzd2envzd2zzsaw_jvmgenz00, BGl_genzd2default3807zd2envz00zzsaw_jvmgenz00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_genzd2envzd2zzsaw_jvmgenz00, BGl_rtl_returnz00zzsaw_defsz00, BGl_proc4660z00zzsaw_jvmgenz00);} 
}



/* gen-rtl_return3810 */
obj_t BGl_genzd2rtl_return3810zd2zzsaw_jvmgenz00(obj_t BgL_envz00_1845, obj_t BgL_insz00_1846, obj_t BgL_envz00_1847)
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 52 */
return BNIL;} 
}



/* gen */
obj_t BGl_genz00zzsaw_jvmgenz00(BgL_rtl_funz00_bglt BgL_insz00_8, obj_t BgL_envz00_9)
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 47 */
{ /* ./SawMill/jvmgen.scm 47 */
obj_t BgL_method3808z00_1812;
{ /* ./SawMill/jvmgen.scm 47 */
BgL_objectz00_bglt BgL_objz00_1813;
BgL_objz00_1813 = 
(BgL_objectz00_bglt)(BgL_insz00_8); 
{ /* ./SawMill/jvmgen.scm 47 */
long BgL_objzd2classzd2numz00_1814;
BgL_objzd2classzd2numz00_1814 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1813); 
{ /* ./SawMill/jvmgen.scm 47 */
obj_t BgL_arg2017z00_1815;
{ /* ./SawMill/jvmgen.scm 47 */
int BgL_auxz00_1951;
BgL_auxz00_1951 = 
(int)(((long)1)); 
BgL_arg2017z00_1815 = 
PROCEDURE_REF(BGl_genzd2envzd2zzsaw_jvmgenz00, BgL_auxz00_1951); } 
{ /* ./SawMill/jvmgen.scm 47 */
int BgL_offsetz00_1818;
BgL_offsetz00_1818 = 
(int)(BgL_objzd2classzd2numz00_1814); 
{ /* ./SawMill/jvmgen.scm 47 */
long BgL_offsetz00_1819;
{ /* ./SawMill/jvmgen.scm 47 */
long BgL_auxz00_1955;
BgL_auxz00_1955 = 
(long)(BgL_offsetz00_1818); 
BgL_offsetz00_1819 = 
(BgL_auxz00_1955-OBJECT_TYPE); } 
{ /* ./SawMill/jvmgen.scm 47 */
long BgL_modz00_1820;
{ /* ./SawMill/jvmgen.scm 47 */
int BgL_arg2028z00_1821;
BgL_arg2028z00_1821 = 
(int)(((long)8)); 
{ /* ./SawMill/jvmgen.scm 47 */
long BgL_n2z00_1829;
BgL_n2z00_1829 = 
(long)(BgL_arg2028z00_1821); 
BgL_modz00_1820 = 
(BgL_offsetz00_1819/BgL_n2z00_1829); } } 
{ /* ./SawMill/jvmgen.scm 47 */
long BgL_restz00_1822;
{ /* ./SawMill/jvmgen.scm 47 */
int BgL_arg2024z00_1823;
BgL_arg2024z00_1823 = 
(int)(((long)8)); 
{ /* ./SawMill/jvmgen.scm 47 */
long BgL_n2z00_1832;
BgL_n2z00_1832 = 
(long)(BgL_arg2024z00_1823); 
BgL_restz00_1822 = 
(BgL_offsetz00_1819%BgL_n2z00_1832); } } 
{ /* ./SawMill/jvmgen.scm 47 */

{ /* ./SawMill/jvmgen.scm 47 */
obj_t BgL_bucketz00_1824;
{ /* ./SawMill/jvmgen.scm 47 */
int BgL_kz00_1834;
BgL_kz00_1834 = 
(int)(BgL_modz00_1820); 
BgL_bucketz00_1824 = 
VECTOR_REF(BgL_arg2017z00_1815,BgL_kz00_1834); } 
{ /* ./SawMill/jvmgen.scm 47 */
int BgL_kz00_1836;
BgL_kz00_1836 = 
(int)(BgL_restz00_1822); 
BgL_method3808z00_1812 = 
VECTOR_REF(BgL_bucketz00_1824,BgL_kz00_1836); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method3808z00_1812)(BgL_method3808z00_1812, 
(obj_t)(BgL_insz00_8), BgL_envz00_9, BEOA);} } 
}



/* _gen */
obj_t BGl__genz00zzsaw_jvmgenz00(obj_t BgL_envz00_1848, obj_t BgL_insz00_1849, obj_t BgL_envz00_1850)
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 47 */
return 
BGl_genz00zzsaw_jvmgenz00(
(BgL_rtl_funz00_bglt)(BgL_insz00_1849), BgL_envz00_1850);} 
}



/* gen-default3807 */
obj_t BGl_genzd2default3807zd2zzsaw_jvmgenz00(BgL_rtl_funz00_bglt BgL_insz00_10, obj_t BgL_envz00_11)
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 1 */
{ /* ./SawMill/jvmgen.scm 1 */
obj_t BgL_procz00_1837;obj_t BgL_objectz00_1839;
BgL_procz00_1837 = 
CNST_TABLE_REF(((long)7)); 
BgL_objectz00_1839 = 
(obj_t)(BgL_insz00_10); 
FAILURE(BgL_procz00_1837,BGl_string4661z00zzsaw_jvmgenz00,BgL_objectz00_1839);} } 
}



/* _gen-default3807 */
obj_t BGl__genzd2default3807zd2zzsaw_jvmgenz00(obj_t BgL_envz00_1851, obj_t BgL_insz00_1852, obj_t BgL_envz00_1853)
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 1 */
return 
BGl_genzd2default3807zd2zzsaw_jvmgenz00(
(BgL_rtl_funz00_bglt)(BgL_insz00_1852), BgL_envz00_1853);} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzsaw_jvmgenz00()
{ AN_OBJECT;
{ /* ./SawMill/jvmgen.scm 1 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "saw_jvmgen"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "saw_jvmgen"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "saw_jvmgen"); 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "saw_jvmgen"); 
BGl_modulezd2initializa7ationz75zzbackend_backendz00(((long)3428), "saw_jvmgen"); 
BGl_modulezd2initializa7ationz75zzjvm_envz00(((long)58889), "saw_jvmgen"); 
BGl_modulezd2initializa7ationz75zzsaw_woodcutterz00(((long)44417), "saw_jvmgen"); 
return 
BGl_modulezd2initializa7ationz75zzsaw_defsz00(((long)12736), "saw_jvmgen");} 
}

