/*===========================================================================*/
/*   (Llib/thread.scm)                                                       */
/*   Bigloo (4.5b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Fri Dec 22 05:17:06 PM CET 2023     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/bigloo/bin/bigloo -ldopt -L/home/serrano/prgm/project/bigloo/bigloo/libbacktrace/home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b  -srfi enable-gmp -srfi bigloo-safe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -rm -copt -w -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -O3 -mklib -cc gcc -fsharing -q -unsafev -eval (set! *indent* 4) -stdc -c Llib/thread.scm -indent -o objs/obj_s/Llib/thread.c) */
/* GC selection */
#define THE_GC BOEHM_GC

/* traces mode */
#define BIGLOO_TRACE 0

/* standard Bigloo include */
#include <bigloo.h>

#ifdef __cplusplus
extern "C" {
#endif
#ifndef BGL_MODULE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_DEFINITIONS
#ifndef BGL___THREAD_TYPE_DEFINITIONS
#define BGL___THREAD_TYPE_DEFINITIONS

/* object type definitions */
typedef struct BgL_nothreadzd2backendzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_namez00;
} *BgL_nothreadzd2backendzd2_bglt;

typedef struct BgL_threadzd2backendzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_namez00;
} *BgL_threadzd2backendzd2_bglt;

typedef struct BgL_threadz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_namez00;
} *BgL_threadz00_bglt;

typedef struct BgL_nothreadz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_namez00;
   obj_t BgL_bodyz00;
   obj_t BgL_z52specificz52;
   obj_t BgL_z52cleanupz52;
   obj_t BgL_endzd2resultzd2;
   obj_t BgL_endzd2exceptionzd2;
   obj_t BgL_z52namez52;
} *BgL_nothreadz00_bglt;


#endif // BGL___THREAD_TYPE_DEFINITIONS
#endif // BGL_MODULE_TYPE_DEFINITIONS

static obj_t BGl_z62threadzd2killz12zd2nothrea1241z70zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2800z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2722z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2480z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2561z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2805z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2724z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62threadzd2namezd2setz12z70zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2727z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2566z00zz__threadz00 = BUNSPEC;
extern obj_t bgl_make_nil_condvar(void);
static obj_t BGl_symbol2488z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z52currentzd2threadz80zz__threadz00(void);
static obj_t BGl_z62threadzd2namezd2setz12zd2not1253za2zz__threadz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_tbzd2condvarzd2initializa7ez12zb5zz__threadz00(BgL_threadzd2backendzd2_bglt, obj_t);
static obj_t BGl_z62threadzd2joinz12za2zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl__makezd2mutexzd2zz__threadz00(obj_t, obj_t);
static obj_t BGl_symbol2811z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2731z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2733z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2490z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2571z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2816z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2736z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2575z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_mutexzd2lockz12zc0zz__threadz00(obj_t, long);
static obj_t BGl_symbol2658z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_threadzd2specificzd2zz__threadz00(BgL_threadz00_bglt);
static obj_t BGl_symbol2496z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2498z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62threadzd2specificzb0zz__threadz00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_withzd2lockzd2zz__threadz00(obj_t, obj_t);
extern obj_t BGl_raisez00zz__errorz00(obj_t);
static obj_t BGl_symbol2821z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2740z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2823z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2905z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2743z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2662z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_threadzd2cleanupzd2setz12z12zz__threadz00(BgL_threadz00_bglt, obj_t);
static obj_t BGl_symbol2907z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2745z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2665z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2584z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2828z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2748z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2667z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2586z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2669z00zz__threadz00 = BUNSPEC;
extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_conditionzd2variablezd2broadcastz12z12zz__threadz00(obj_t);
static obj_t BGl_z62tbzd2mutexzd2initializa7ez12zd7zz__threadz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2mutexzd2zz__threadz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_threadzd2sleepz12zc0zz__threadz00(obj_t);
extern obj_t BGl_za2classesza2z00zz__objectz00;
static obj_t BGl_symbol2830z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2751z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2671z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2835z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2673z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2756z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2675z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2677z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62threadzd2parameterzb0zz__threadz00(obj_t, obj_t);
static obj_t BGl_symbol2759z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2679z00zz__threadz00 = BUNSPEC;
extern obj_t BGl_registerzd2genericz12zc0zz__objectz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_z62z52userzd2threadzd2sleepz121228z22zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2762z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2681z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2683z00zz__threadz00 = BUNSPEC;
static obj_t BGl_nothreadzd2backendzd2zz__threadz00 = BUNSPEC;
static obj_t BGl_z62threadzd2startzd2joinablez12z70zz__threadz00(obj_t, obj_t);
static obj_t BGl_symbol2767z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2686z00zz__threadz00 = BUNSPEC;
static obj_t BGl_toplevelzd2initzd2zz__threadz00(void);
static obj_t BGl_symbol2688z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_z52userzd2threadzd2yieldz12z40zz__threadz00(BgL_threadz00_bglt);
static obj_t BGl_z62conditionzd2variablezd2namez62zz__threadz00(obj_t, obj_t);
extern obj_t bgl_make_nil_mutex(void);
BGL_EXPORTED_DECL obj_t BGl_withzd2timedzd2lockz00zz__threadz00(obj_t, int, obj_t);
BGL_EXPORTED_DECL obj_t BGl_tbzd2mutexzd2initializa7ez12zb5zz__threadz00(BgL_threadzd2backendzd2_bglt, obj_t);
static obj_t BGl_z62withzd2timedzd2lockz62zz__threadz00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_currentzd2threadzd2backendz00zz__threadz00(void);
static BgL_nothreadzd2backendzd2_bglt BGl_za2nothreadzd2backendza2zd2zz__threadz00;
static obj_t BGl_symbol2770z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2690z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2692z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2776z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2697z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2699z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62currentzd2dynamiczd2envz62zz__threadz00(obj_t);
static obj_t BGl_z62threadzd2name1217zb0zz__threadz00(obj_t, obj_t);
extern obj_t BGl_assqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_genericzd2initzd2zz__threadz00(void);
BGL_EXPORTED_DECL obj_t BGl_mutexzd2namezd2zz__threadz00(obj_t);
static obj_t BGl_symbol2781z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31400ze3ze5zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62mutexzd2nilzb0zz__threadz00(obj_t);
static obj_t BGl_symbol2783z00zz__threadz00 = BUNSPEC;
static obj_t BGl_zc3z04exitza31564ze3ze70z60zz__threadz00(BgL_nothreadz00_bglt, obj_t, obj_t);
static obj_t BGl__makezd2spinlockzd2zz__threadz00(obj_t, obj_t);
static obj_t BGl_symbol2788z00zz__threadz00 = BUNSPEC;
extern obj_t BGl_makezd2classzd2fieldz00zz__objectz00(obj_t, obj_t, obj_t, bool_t, bool_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_currentzd2threadzd2backendzd2setz12zc0zz__threadz00(BgL_threadzd2backendzd2_bglt);
static obj_t BGl_objectzd2initzd2zz__threadz00(void);
extern obj_t BGl_2za2za2zz__r4_numbers_6_5z00(obj_t, obj_t);
static obj_t BGl_z62threadzd2specific1208zb0zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62defaultzd2threadzd2backendzd2setz12za2zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62threadzd2startz12zd2nothre1233z70zz__threadz00(obj_t, obj_t, obj_t);
extern double BGl_numberzd2ze3flonumz31zz__r4_numbers_6_5z00(obj_t);
static obj_t BGl_z62zc3z04anonymousza31401ze3ze5zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2793z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62threadzd2specificzd2setz12z70zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2795z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2877z00zz__threadz00 = BUNSPEC;
extern obj_t BGl_za2inheritancesza2z00zz__objectz00;
extern obj_t BGl_z62exceptionz62zz__objectz00;
static obj_t BGl_z62mutexzd2namezb0zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62objectzd2writezd2thread1192z62zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62threadzd2terminatez12zd2no1239z70zz__threadz00(obj_t, obj_t);
static obj_t BGl_symbol2887z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_threadzd2killz12zc0zz__threadz00(BgL_threadz00_bglt, int);
static obj_t BGl_z62z52userzd2threadzd2sleepz12z22zz__threadz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_threadzd2specificzd2setz12z12zz__threadz00(BgL_threadz00_bglt, obj_t);
extern obj_t bstring_to_symbol(obj_t);
static obj_t BGl_z62threadzd2terminatez12za2zz__threadz00(obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_dynamiczd2envzf3z21zz__threadz00(obj_t);
static obj_t BGl_z62threadzd2startz12za2zz__threadz00(obj_t, obj_t, obj_t);
extern bool_t BGl_isazf3zf3zz__objectz00(obj_t, obj_t);
static obj_t BGl_z62getzd2threadzd2backendz62zz__threadz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_mutexzd2nilzd2zz__threadz00(void);
static obj_t BGl_z62mutexzd2unlockz12za2zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62threadzd2cleanupzb0zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62tbzd2condvarzd2initializa7ez12zd7zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62threadzd2initializa7ez12z05zz__threadz00(obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zz__threadz00(void);
static obj_t BGl_z62threadzd2yieldz12za2zz__threadz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_threadzd2namezd2zz__threadz00(BgL_threadz00_bglt);
BGL_EXPORTED_DECL obj_t BGl_makezd2spinlockzd2zz__threadz00(obj_t);
static obj_t BGl_z62threadzd2initializa7ez121195z05zz__threadz00(obj_t, obj_t);
extern obj_t BGl_objectzd2writezd2zz__objectz00(BgL_objectz00_bglt, obj_t);
static obj_t BGl_z62tbzd2currentzd2threadz62zz__threadz00(obj_t, obj_t);
BGL_EXPORTED_DEF obj_t BGl_nothreadz00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_threadzd2parameterzd2setz12z12zz__threadz00(obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_mutexzf3zf3zz__threadz00(obj_t);
static obj_t BGl_z62tbzd2makezd2thread1177z62zz__threadz00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_currentzd2dynamiczd2envz00zz__threadz00(void);
static obj_t BGl_z62zc3z04anonymousza31431ze3ze5zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31415ze3ze5zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31407ze3ze5zz__threadz00(obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_conditionzd2variablezd2waitz12z12zz__threadz00(obj_t, obj_t, long);
static obj_t BGl_za2conditionzd2variablezd2nilza2z00zz__threadz00 = BUNSPEC;
static obj_t BGl__makezd2conditionzd2variablez00zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62objectzd2displayzd2threa1190z62zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62currentzd2threadzb0zz__threadz00(obj_t);
static obj_t BGl_z62currentzd2threadzd2backendzd2setz12za2zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62currentzd2threadzd2backendz62zz__threadz00(obj_t);
extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DEF obj_t BGl_threadzd2backendzd2zz__threadz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31417ze3ze5zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31409ze3ze5zz__threadz00(obj_t, obj_t, obj_t);
extern obj_t BGl_callzd2virtualzd2setterz00zz__objectz00(BgL_objectz00_bglt, int, obj_t);
static obj_t BGl_z62threadzd2namezd2nothread1251z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62threadzd2specificzd2noth1243z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62threadzd2parameterzd2setz12z70zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62z52userzd2currentzd2thread1226z30zz__threadz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_threadzd2cleanupzd2zz__threadz00(BgL_threadz00_bglt);
static obj_t BGl_z62zc3z04anonymousza31450ze3ze5zz__threadz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_z52userzd2threadzd2sleepz12z40zz__threadz00(BgL_threadz00_bglt, obj_t);
static obj_t BGl_z62threadzd2cleanupzd2setz121215z70zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62z52userzd2threadzd2yieldz121230z22zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62z52userzd2currentzd2threadz30zz__threadz00(obj_t, obj_t);
static obj_t BGl_list2703z00zz__threadz00 = BUNSPEC;
extern obj_t BGl_classzd2constructorzd2zz__objectz00(obj_t);
static obj_t BGl_z62tbzd2currentzd2threadzd2no1184zb0zz__threadz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_conditionzd2variablezd2nilz00zz__threadz00(void);
static obj_t BGl_list2709z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31443ze3ze5zz__threadz00(obj_t);
static obj_t BGl_za2threadzd2backendsza2zd2zz__threadz00 = BUNSPEC;
extern obj_t bgl_remq_bang(obj_t, obj_t);
extern obj_t BGl_exitz00zz__errorz00(obj_t);
static obj_t BGl_z62threadzd2joinz121202za2zz__threadz00(obj_t, obj_t, obj_t);
extern void bgl_sleep(long);
static obj_t BGl_list2715z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_threadzd2joinz12zc0zz__threadz00(BgL_threadz00_bglt, obj_t);
BGL_EXPORTED_DECL obj_t BGl_z52userzd2currentzd2threadz52zz__threadz00(BgL_threadz00_bglt);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
extern obj_t BGl_withzd2outputzd2tozd2portzd2zz__r4_ports_6_10_1z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_defaultzd2threadzd2backendz00zz__threadz00(void);
static obj_t BGl_list2721z00zz__threadz00 = BUNSPEC;
extern obj_t BGl_callzd2virtualzd2getterz00zz__objectz00(BgL_objectz00_bglt, int);
static obj_t BGl_list2804z00zz__threadz00 = BUNSPEC;
extern obj_t bgl_nanoseconds_to_date(BGL_LONGLONG_T);
static obj_t BGl_z62threadzd2namezb0zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31534ze3ze5zz__threadz00(obj_t);
static obj_t BGl_list2487z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31356ze3ze5zz__threadz00(obj_t);
extern bool_t BGl_classzf3zf3zz__objectz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_mutexzd2statezd2zz__threadz00(obj_t);
static obj_t BGl_list2810z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2730z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_currentzd2threadzd2zz__threadz00(void);
BGL_EXPORTED_DECL obj_t BGl_conditionzd2variablezd2namez00zz__threadz00(obj_t);
static obj_t BGl_list2815z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2735z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2738z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2739z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62threadzd2cleanupzd2nothr1247z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_list2820z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2904z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2742z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2583z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2827z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62threadzd2specificzd2setz121210z70zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_list2747z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31390ze3ze5zz__threadz00(obj_t);
static obj_t BGl_z62zc3z04anonymousza31552ze3ze5zz__threadz00(obj_t);
static BgL_nothreadz00_bglt BGl_z62lambda1424z62zz__threadz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_threadzd2startz12zc0zz__threadz00(BgL_threadz00_bglt, obj_t);
static BgL_nothreadz00_bglt BGl_z62lambda1427z62zz__threadz00(obj_t);
static obj_t BGl_cnstzd2initzd2zz__threadz00(void);
extern long bgl_list_length(obj_t);
static obj_t BGl_z62tbzd2currentzd2thread1179z62zz__threadz00(obj_t, obj_t);
extern obj_t BGl_registerzd2classz12zc0zz__objectz00(obj_t, obj_t, obj_t, long, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_list2750z00zz__threadz00 = BUNSPEC;
static obj_t BGl_importedzd2moduleszd2initz00zz__threadz00(void);
static BgL_threadz00_bglt BGl_z62tbzd2makezd2threadz62zz__threadz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_list2834z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_mutexzd2unlockz12zc0zz__threadz00(obj_t);
static obj_t BGl_list2755z00zz__threadz00 = BUNSPEC;
static obj_t BGl_gczd2rootszd2initz00zz__threadz00(void);
static obj_t BGl_z62zc3z04anonymousza31464ze3ze5zz__threadz00(obj_t);
static obj_t BGl_z62zc3z04anonymousza31383ze3ze5zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62lambda1435z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62lambda1436z62zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62mutexzf3z91zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62threadzd2killz12za2zz__threadz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_threadzd2yieldz12zc0zz__threadz00(void);
static obj_t BGl_z62conditionzd2variablezf3z43zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62conditionzd2variablezd2broadcastz12z70zz__threadz00(obj_t, obj_t);
static obj_t BGl__makezd2threadzd2zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62threadzd2sleepz12za2zz__threadz00(obj_t, obj_t);
static obj_t BGl_list2761z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2764z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2765z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2766z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62lambda1441z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62lambda1442z62zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_list2769z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31457ze3ze5zz__threadz00(obj_t);
static BgL_threadzd2backendzd2_bglt BGl_z62lambda1365z62zz__threadz00(obj_t, obj_t);
extern obj_t BGl_objectz00zz__objectz00;
static obj_t BGl_z62lambda1448z62zz__threadz00(obj_t, obj_t);
static BgL_threadzd2backendzd2_bglt BGl_z62lambda1367z62zz__threadz00(obj_t);
static obj_t BGl_z62lambda1449z62zz__threadz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_getzd2threadzd2backendz00zz__threadz00(obj_t);
extern obj_t BGl_consza2za2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_z62dynamiczd2envzf3z43zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62threadzd2killz121206za2zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_list2772z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2775z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2696z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31474ze3ze5zz__threadz00(obj_t);
static obj_t BGl_z62lambda1373z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62lambda1455z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31369ze3ze5zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62lambda1374z62zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62lambda1456z62zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62threadzd2specificzd2setz121245z70zz__threadz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_threadzd2initializa7ez12z67zz__threadz00(BgL_threadz00_bglt);
static obj_t BGl_z62threadzd2cleanup1213zb0zz__threadz00(obj_t, obj_t);
extern obj_t BGl_displayza2za2zz__r4_output_6_10_3z00(obj_t);
extern obj_t BGl_classzd2namezd2zz__objectz00(obj_t);
static obj_t BGl_z62threadzd2joinz12zd2nothrea1237z70zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_list2780z00zz__threadz00 = BUNSPEC;
static BgL_threadz00_bglt BGl_z62lambda1380z62zz__threadz00(obj_t);
static obj_t BGl_list2787z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62lambda1462z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62lambda1463z62zz__threadz00(obj_t, obj_t, obj_t);
extern BGL_LONGLONG_T bgl_current_nanoseconds(void);
static obj_t BGl_z62lambda1388z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62lambda1389z62zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2502z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_threadzd2namezd2setz12z12zz__threadz00(BgL_threadz00_bglt, obj_t);
BGL_EXPORTED_DECL BgL_threadz00_bglt BGl_makezd2threadzd2zz__threadz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_threadzd2startzd2joinablez12z12zz__threadz00(BgL_threadz00_bglt);
BGL_EXPORTED_DECL bool_t BGl_conditionzd2variablezd2signalz12z12zz__threadz00(obj_t);
static obj_t BGl_z62tbzd2mutexzd2initializa7ez121185zd7zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62threadzd2startz121198za2zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62threadzd2cleanupzd2setz12z70zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_list2792z00zz__threadz00 = BUNSPEC;
static obj_t BGl_list2876z00zz__threadz00 = BUNSPEC;
extern obj_t BGl_gensymz00zz__r4_symbols_6_4z00(obj_t);
static obj_t BGl_z62threadzd2namezd2setz121219z70zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31484ze3ze5zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62lambda1472z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62zc3z04anonymousza31395ze3ze5zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62lambda1473z62zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_list2799z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2510z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2512z00zz__threadz00 = BUNSPEC;
extern obj_t BGl_genericzd2addzd2methodz12z12zz__objectz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_bigloozd2typezd2errorz00zz__errorz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2516z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2517z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62threadzd2cleanupzd2setz12zd21249za2zz__threadz00(obj_t, obj_t, obj_t);
extern obj_t BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(obj_t, obj_t, obj_t, obj_t, int, int);
static obj_t BGl_z62conditionzd2variablezd2nilz62zz__threadz00(obj_t);
static obj_t BGl_list2886z00zz__threadz00 = BUNSPEC;
static BgL_nothreadzd2backendzd2_bglt BGl_z62lambda1480z62zz__threadz00(obj_t, obj_t);
static BgL_nothreadzd2backendzd2_bglt BGl_z62lambda1482z62zz__threadz00(obj_t);
static obj_t BGl_z62zc3z04anonymousza31396ze3ze5zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2522z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2526z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL BgL_threadz00_bglt BGl_tbzd2makezd2threadz00zz__threadz00(BgL_threadzd2backendzd2_bglt, obj_t, obj_t);
static obj_t BGl_z62mutexzd2statezb0zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62threadzd2startzd2joinabl1200z62zz__threadz00(obj_t, obj_t);
static obj_t BGl_z62objectzd2printzd2thread1194z62zz__threadz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_z62conditionzd2variablezd2signalz12z70zz__threadz00(obj_t, obj_t);
extern long bgl_date_to_seconds(obj_t);
static BgL_threadz00_bglt BGl_z62tbzd2makezd2threadzd2nothr1182zb0zz__threadz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_z62z52userzd2threadzd2yieldz12z22zz__threadz00(obj_t, obj_t);
static obj_t BGl_za2nothreadzd2currentza2zd2zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2530z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2450z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2453z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_makezd2conditionzd2variablez00zz__threadz00(obj_t);
static obj_t BGl_z62defaultzd2threadzd2backendz62zz__threadz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_threadzd2parameterzd2zz__threadz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_threadzd2terminatez12zc0zz__threadz00(BgL_threadz00_bglt);
static obj_t BGl_za2mutexzd2nilza2zd2zz__threadz00 = BUNSPEC;
static obj_t BGl_z62withzd2lockzb0zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl__conditionzd2variablezd2waitz12z12zz__threadz00(obj_t, obj_t);
static obj_t BGl_symbol2540z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2704z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2542z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2546z00zz__threadz00 = BUNSPEC;
static obj_t BGl__mutexzd2lockz12zc0zz__threadz00(obj_t, obj_t);
BGL_EXPORTED_DEF obj_t BGl_threadz00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62zc3z04anonymousza31569ze3ze5zz__threadz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_defaultzd2threadzd2backendzd2setz12zc0zz__threadz00(BgL_threadzd2backendzd2_bglt);
BGL_EXPORTED_DECL bool_t BGl_conditionzd2variablezf3z21zz__threadz00(obj_t);
static obj_t BGl_z62threadzd2terminatez121204za2zz__threadz00(obj_t, obj_t);
static obj_t BGl_symbol2710z00zz__threadz00 = BUNSPEC;
static obj_t BGl_z62tbzd2condvarzd2initializa71187zc5zz__threadz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2470z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2551z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2716z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2473z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2718z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2475z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2556z00zz__threadz00 = BUNSPEC;
static obj_t BGl_symbol2477z00zz__threadz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_tbzd2currentzd2threadz00zz__threadz00(BgL_threadzd2backendzd2_bglt);
static obj_t BGl_z62threadzd2startzd2joinabl1235z62zz__threadz00(obj_t, obj_t);
static obj_t *__cnst;


DEFINE_EXPORT_BGL_PROCEDURE( BGl_conditionzd2variablezd2waitz12zd2envzc0zz__threadz00, BgL_bgl__conditionza7d2var2910za7, opt_generic_entry, BGl__conditionzd2variablezd2waitz12z12zz__threadz00, BFALSE, -1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_currentzd2threadzd2backendzd2setz12zd2envz12zz__threadz00, BgL_bgl_za762currentza7d2thr2911z00, BGl_z62currentzd2threadzd2backendzd2setz12za2zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_defaultzd2threadzd2backendzd2setz12zd2envz12zz__threadz00, BgL_bgl_za762defaultza7d2thr2912z00, BGl_z62defaultzd2threadzd2backendzd2setz12za2zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_conditionzd2variablezf3zd2envzf3zz__threadz00, BgL_bgl_za762conditionza7d2v2913z00, BGl_z62conditionzd2variablezf3z43zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2namezd2envz00zz__threadz00, BgL_bgl_za762threadza7d2name2914z00, BGl_z62threadzd2namezb0zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_makezd2spinlockzd2envz00zz__threadz00, BgL_bgl__makeza7d2spinlock2915za7, opt_generic_entry, BGl__makezd2spinlockzd2zz__threadz00, BFALSE, -1 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2cleanupzd2envz00zz__threadz00, BgL_bgl_za762threadza7d2clea2916z00, BGl_z62threadzd2cleanupzb0zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2startz12zd2envz12zz__threadz00, BgL_bgl_za762threadza7d2star2917z00, va_generic_entry, BGl_z62threadzd2startz12za2zz__threadz00, BUNSPEC, -2 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_makezd2threadzd2envz00zz__threadz00, BgL_bgl__makeza7d2threadza7d2918z00, opt_generic_entry, BGl__makezd2threadzd2zz__threadz00, BFALSE, -1 );
DEFINE_STRING( BGl_string2500z00zz__threadz00, BgL_bgl_string2500za700za7za7_2919za7, "&condition-variable-name", 24 );
DEFINE_STRING( BGl_string2501z00zz__threadz00, BgL_bgl_string2501za700za7za7_2920za7, "condvar", 7 );
DEFINE_STRING( BGl_string2503z00zz__threadz00, BgL_bgl_string2503za700za7za7_2921za7, "condition-variable-wait!", 24 );
DEFINE_STRING( BGl_string2504z00zz__threadz00, BgL_bgl_string2504za700za7za7_2922za7, "wrong number of arguments: [2..3] expected, provided", 52 );
DEFINE_STRING( BGl_string2505z00zz__threadz00, BgL_bgl_string2505za700za7za7_2923za7, "_condition-variable-wait!", 25 );
DEFINE_STRING( BGl_string2506z00zz__threadz00, BgL_bgl_string2506za700za7za7_2924za7, "&condition-variable-signal!", 27 );
extern obj_t BGl_objectzd2writezd2envz00zz__objectz00;
DEFINE_STRING( BGl_string2507z00zz__threadz00, BgL_bgl_string2507za700za7za7_2925za7, "&condition-variable-broadcast!", 30 );
DEFINE_STRING( BGl_string2511z00zz__threadz00, BgL_bgl_string2511za700za7za7_2926za7, "name", 4 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2508z00zz__threadz00, BgL_bgl_za762lambda1374za7622927z00, BGl_z62lambda1374z62zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2509z00zz__threadz00, BgL_bgl_za762lambda1373za7622928z00, BGl_z62lambda1373z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2518z00zz__threadz00, BgL_bgl_string2518za700za7za7_2929za7, "__thread", 8 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2513z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2930za7, BGl_z62zc3z04anonymousza31369ze3ze5zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2600z00zz__threadz00, BgL_bgl_string2600za700za7za7_2931za7, "&lambda1436", 11 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_mutexzd2lockz12zd2envz12zz__threadz00, BgL_bgl__mutexza7d2lockza7122932z00, opt_generic_entry, BGl__mutexzd2lockz12zc0zz__threadz00, BFALSE, -1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2514z00zz__threadz00, BgL_bgl_za762lambda1367za7622933z00, BGl_z62lambda1367z62zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2601z00zz__threadz00, BgL_bgl_string2601za700za7za7_2934za7, "&lambda1435", 11 );
DEFINE_STRING( BGl_string2440z00zz__threadz00, BgL_bgl_string2440za700za7za7_2935za7, "nothread", 8 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2515z00zz__threadz00, BgL_bgl_za762lambda1365za7622936z00, BGl_z62lambda1365z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2602z00zz__threadz00, BgL_bgl_string2602za700za7za7_2937za7, "&<@anonymous:1383>", 18 );
DEFINE_STRING( BGl_string2441z00zz__threadz00, BgL_bgl_string2441za700za7za7_2938za7, "/tmp/bigloo/runtime/Llib/thread.scm", 35 );
DEFINE_STRING( BGl_string2603z00zz__threadz00, BgL_bgl_string2603za700za7za7_2939za7, "<@anonymous:1417>", 17 );
DEFINE_STRING( BGl_string2442z00zz__threadz00, BgL_bgl_string2442za700za7za7_2940za7, "&current-thread-backend-set!", 28 );
DEFINE_STRING( BGl_string2523z00zz__threadz00, BgL_bgl_string2523za700za7za7_2941za7, "obj", 3 );
DEFINE_STRING( BGl_string2604z00zz__threadz00, BgL_bgl_string2604za700za7za7_2942za7, "<@anonymous:1415>", 17 );
DEFINE_STRING( BGl_string2443z00zz__threadz00, BgL_bgl_string2443za700za7za7_2943za7, "thread-backend", 14 );
DEFINE_STRING( BGl_string2605z00zz__threadz00, BgL_bgl_string2605za700za7za7_2944za7, "<@anonymous:1409>", 17 );
DEFINE_STRING( BGl_string2444z00zz__threadz00, BgL_bgl_string2444za700za7za7_2945za7, "default-thread-backend", 22 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2519z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2946za7, BGl_z62zc3z04anonymousza31390ze3ze5zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2606z00zz__threadz00, BgL_bgl_string2606za700za7za7_2947za7, "<@anonymous:1407>", 17 );
DEFINE_STRING( BGl_string2445z00zz__threadz00, BgL_bgl_string2445za700za7za7_2948za7, "pair", 4 );
DEFINE_STRING( BGl_string2607z00zz__threadz00, BgL_bgl_string2607za700za7za7_2949za7, "<@anonymous:1401>", 17 );
DEFINE_STRING( BGl_string2446z00zz__threadz00, BgL_bgl_string2446za700za7za7_2950za7, "&default-thread-backend-set!", 28 );
DEFINE_STRING( BGl_string2527z00zz__threadz00, BgL_bgl_string2527za700za7za7_2951za7, "specific", 8 );
DEFINE_STRING( BGl_string2608z00zz__threadz00, BgL_bgl_string2608za700za7za7_2952za7, "object", 6 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_withzd2lockzd2envz00zz__threadz00, BgL_bgl_za762withza7d2lockza7b2953za7, BGl_z62withzd2lockzb0zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2447z00zz__threadz00, BgL_bgl_string2447za700za7za7_2954za7, "loop", 4 );
DEFINE_STRING( BGl_string2609z00zz__threadz00, BgL_bgl_string2609za700za7za7_2955za7, "<@anonymous:1400>", 17 );
DEFINE_STRING( BGl_string2448z00zz__threadz00, BgL_bgl_string2448za700za7za7_2956za7, "&get-thread-backend", 19 );
DEFINE_STRING( BGl_string2449z00zz__threadz00, BgL_bgl_string2449za700za7za7_2957za7, "bstring", 7 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_mutexzd2namezd2envz00zz__threadz00, BgL_bgl_za762mutexza7d2nameza72958za7, BGl_z62mutexzd2namezb0zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2520z00zz__threadz00, BgL_bgl_za762lambda1389za7622959z00, BGl_z62lambda1389z62zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2521z00zz__threadz00, BgL_bgl_za762lambda1388za7622960z00, BGl_z62lambda1388z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2610z00zz__threadz00, BgL_bgl_string2610za700za7za7_2961za7, "<@anonymous:1396>", 17 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2524z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2962za7, BGl_z62zc3z04anonymousza31396ze3ze5zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2611z00zz__threadz00, BgL_bgl_string2611za700za7za7_2963za7, "<@anonymous:1395>", 17 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2525z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2964za7, BGl_z62zc3z04anonymousza31395ze3ze5zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2531z00zz__threadz00, BgL_bgl_string2531za700za7za7_2965za7, "cleanup", 7 );
DEFINE_STRING( BGl_string2612z00zz__threadz00, BgL_bgl_string2612za700za7za7_2966za7, "&lambda1389", 11 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_mutexzd2unlockz12zd2envz12zz__threadz00, BgL_bgl_za762mutexza7d2unloc2967z00, BGl_z62mutexzd2unlockz12za2zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2451z00zz__threadz00, BgL_bgl_string2451za700za7za7_2968za7, "make-thread", 11 );
DEFINE_STRING( BGl_string2613z00zz__threadz00, BgL_bgl_string2613za700za7za7_2969za7, "&lambda1388", 11 );
DEFINE_STRING( BGl_string2452z00zz__threadz00, BgL_bgl_string2452za700za7za7_2970za7, "wrong number of arguments: [1..2] expected, provided", 52 );
DEFINE_STRING( BGl_string2614z00zz__threadz00, BgL_bgl_string2614za700za7za7_2971za7, "&<@anonymous:1369>", 18 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2528z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2972za7, BGl_z62zc3z04anonymousza31401ze3ze5zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2615z00zz__threadz00, BgL_bgl_string2615za700za7za7_2973za7, "&lambda1365", 11 );
DEFINE_STRING( BGl_string2454z00zz__threadz00, BgL_bgl_string2454za700za7za7_2974za7, "thread", 6 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2529z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2975za7, BGl_z62zc3z04anonymousza31400ze3ze5zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2616z00zz__threadz00, BgL_bgl_string2616za700za7za7_2976za7, "&lambda1374", 11 );
DEFINE_STRING( BGl_string2455z00zz__threadz00, BgL_bgl_string2455za700za7za7_2977za7, "_make-thread", 12 );
DEFINE_STRING( BGl_string2617z00zz__threadz00, BgL_bgl_string2617za700za7za7_2978za7, "&lambda1373", 11 );
DEFINE_STRING( BGl_string2456z00zz__threadz00, BgL_bgl_string2456za700za7za7_2979za7, "procedure", 9 );
DEFINE_STRING( BGl_string2619z00zz__threadz00, BgL_bgl_string2619za700za7za7_2980za7, "tb-make-thread1177", 18 );
extern obj_t BGl_conszd2envzd2zz__r4_pairs_and_lists_6_3z00;
DEFINE_STRING( BGl_string2457z00zz__threadz00, BgL_bgl_string2457za700za7za7_2981za7, "%current-thread", 15 );
DEFINE_STRING( BGl_string2458z00zz__threadz00, BgL_bgl_string2458za700za7za7_2982za7, "vector", 6 );
DEFINE_STRING( BGl_string2459z00zz__threadz00, BgL_bgl_string2459za700za7za7_2983za7, "vector-ref", 10 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2joinz12zd2envz12zz__threadz00, BgL_bgl_za762threadza7d2join2984z00, va_generic_entry, BGl_z62threadzd2joinz12za2zz__threadz00, BUNSPEC, -2 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_threadzd2yieldz12zd2envz12zz__threadz00, BgL_bgl_za762threadza7d2yiel2985z00, BGl_z62threadzd2yieldz12za2zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2700z00zz__threadz00, BgL_bgl_string2700za700za7za7_2986za7, "tb", 2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2532z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2987za7, BGl_z62zc3z04anonymousza31407ze3ze5zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2701z00zz__threadz00, BgL_bgl_string2701za700za7za7_2988za7, "&tb-make-thread", 15 );
DEFINE_EXPORT_BGL_GENERIC( BGl_tbzd2currentzd2threadzd2envzd2zz__threadz00, BgL_bgl_za762tbza7d2currentza72989za7, BGl_z62tbzd2currentzd2threadz62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2533z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2990za7, BGl_z62zc3z04anonymousza31409ze3ze5zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2702z00zz__threadz00, BgL_bgl_string2702za700za7za7_2991za7, "tb-current-thread:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string2621z00zz__threadz00, BgL_bgl_string2621za700za7za7_2992za7, "tb-current-thread1179", 21 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2534z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2993za7, BGl_z62zc3z04anonymousza31415ze3ze5zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2460z00zz__threadz00, BgL_bgl_string2460za700za7za7_2994za7, "class", 5 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2535z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2995za7, BGl_z62zc3z04anonymousza31417ze3ze5zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2541z00zz__threadz00, BgL_bgl_string2541za700za7za7_2996za7, "body", 4 );
DEFINE_STRING( BGl_string2623z00zz__threadz00, BgL_bgl_string2623za700za7za7_2997za7, "tb-mutex-initialize!1185", 24 );
DEFINE_STRING( BGl_string2461z00zz__threadz00, BgL_bgl_string2461za700za7za7_2998za7, "current-thread", 14 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2536z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo2999za7, BGl_z62zc3z04anonymousza31383ze3ze5zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2705z00zz__threadz00, BgL_bgl_string2705za700za7za7_3000za7, "method1180", 10 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2618z00zz__threadz00, BgL_bgl_za762tbza7d2makeza7d2t3001za7, BGl_z62tbzd2makezd2thread1177z62zz__threadz00, 0L, BUNSPEC, 3 );
DEFINE_STRING( BGl_string2462z00zz__threadz00, BgL_bgl_string2462za700za7za7_3002za7, "thread-sleep!", 13 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2537z00zz__threadz00, BgL_bgl_za762lambda1380za7623003z00, BGl_z62lambda1380z62zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2706z00zz__threadz00, BgL_bgl_string2706za700za7za7_3004za7, "&tb-current-thread", 18 );
DEFINE_STRING( BGl_string2625z00zz__threadz00, BgL_bgl_string2625za700za7za7_3005za7, "tb-condvar-initializ1187", 24 );
DEFINE_STRING( BGl_string2463z00zz__threadz00, BgL_bgl_string2463za700za7za7_3006za7, "thread-yield!", 13 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2538z00zz__threadz00, BgL_bgl_za762lambda1436za7623007z00, BGl_z62lambda1436z62zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2707z00zz__threadz00, BgL_bgl_string2707za700za7za7_3008za7, "tb-mutex-initialize!", 20 );
DEFINE_STRING( BGl_string2464z00zz__threadz00, BgL_bgl_string2464za700za7za7_3009za7, "thread-parameter", 16 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2539z00zz__threadz00, BgL_bgl_za762lambda1435za7623010z00, BGl_z62lambda1435z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2708z00zz__threadz00, BgL_bgl_string2708za700za7za7_3011za7, "tb-mutex-initialize!:Wrong number of arguments", 46 );
DEFINE_STRING( BGl_string2627z00zz__threadz00, BgL_bgl_string2627za700za7za7_3012za7, "thread-initialize!1195", 22 );
DEFINE_STRING( BGl_string2465z00zz__threadz00, BgL_bgl_string2465za700za7za7_3013za7, "pair-nil", 8 );
DEFINE_STRING( BGl_string2466z00zz__threadz00, BgL_bgl_string2466za700za7za7_3014za7, "&thread-parameter", 17 );
DEFINE_STRING( BGl_string2547z00zz__threadz00, BgL_bgl_string2547za700za7za7_3015za7, "%specific", 9 );
DEFINE_STRING( BGl_string2629z00zz__threadz00, BgL_bgl_string2629za700za7za7_3016za7, "thread-start!1198", 17 );
DEFINE_STRING( BGl_string2467z00zz__threadz00, BgL_bgl_string2467za700za7za7_3017za7, "symbol", 6 );
DEFINE_STRING( BGl_string2468z00zz__threadz00, BgL_bgl_string2468za700za7za7_3018za7, "thread-parameter-set!", 21 );
DEFINE_STRING( BGl_string2469z00zz__threadz00, BgL_bgl_string2469za700za7za7_3019za7, "&thread-parameter-set!", 22 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_threadzd2parameterzd2setz12zd2envzc0zz__threadz00, BgL_bgl_za762threadza7d2para3020z00, BGl_z62threadzd2parameterzd2setz12z70zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2620z00zz__threadz00, BgL_bgl_za762tbza7d2currentza73021za7, BGl_z62tbzd2currentzd2thread1179z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2622z00zz__threadz00, BgL_bgl_za762tbza7d2mutexza7d23022za7, BGl_z62tbzd2mutexzd2initializa7ez121185zd7zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2711z00zz__threadz00, BgL_bgl_string2711za700za7za7_3023za7, "method1186", 10 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2624z00zz__threadz00, BgL_bgl_za762tbza7d2condvarza73024za7, BGl_z62tbzd2condvarzd2initializa71187zc5zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2543z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo3025za7, BGl_z62zc3z04anonymousza31443ze3ze5zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2712z00zz__threadz00, BgL_bgl_string2712za700za7za7_3026za7, "&tb-mutex-initialize!", 21 );
DEFINE_STRING( BGl_string2631z00zz__threadz00, BgL_bgl_string2631za700za7za7_3027za7, "thread-start-joinabl1200", 24 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2544z00zz__threadz00, BgL_bgl_za762lambda1442za7623028z00, BGl_z62lambda1442z62zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2713z00zz__threadz00, BgL_bgl_string2713za700za7za7_3029za7, "tb-condvar-initialize!", 22 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2626z00zz__threadz00, BgL_bgl_za762threadza7d2init3030z00, BGl_z62threadzd2initializa7ez121195z05zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2545z00zz__threadz00, BgL_bgl_za762lambda1441za7623031z00, BGl_z62lambda1441z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2714z00zz__threadz00, BgL_bgl_string2714za700za7za7_3032za7, "tb-condvar-initialize!:Wrong number of arguments", 48 );
DEFINE_STRING( BGl_string2633z00zz__threadz00, BgL_bgl_string2633za700za7za7_3033za7, "thread-join!1202", 16 );
DEFINE_STRING( BGl_string2471z00zz__threadz00, BgL_bgl_string2471za700za7za7_3034za7, "make-mutex", 10 );
DEFINE_STRING( BGl_string2552z00zz__threadz00, BgL_bgl_string2552za700za7za7_3035za7, "%cleanup", 8 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2628z00zz__threadz00, BgL_bgl_za762threadza7d2star3036z00, va_generic_entry, BGl_z62threadzd2startz121198za2zz__threadz00, BUNSPEC, -2 );
DEFINE_STRING( BGl_string2472z00zz__threadz00, BgL_bgl_string2472za700za7za7_3037za7, "wrong number of arguments: [0..1] expected, provided", 52 );
DEFINE_STRING( BGl_string2635z00zz__threadz00, BgL_bgl_string2635za700za7za7_3038za7, "thread-terminate!1204", 21 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2548z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo3039za7, BGl_z62zc3z04anonymousza31450ze3ze5zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2717z00zz__threadz00, BgL_bgl_string2717za700za7za7_3040za7, "method1188", 10 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_withzd2timedzd2lockzd2envzd2zz__threadz00, BgL_bgl_za762withza7d2timedza73041za7, BGl_z62withzd2timedzd2lockz62zz__threadz00, 0L, BUNSPEC, 3 );
DEFINE_STRING( BGl_string2474z00zz__threadz00, BgL_bgl_string2474za700za7za7_3042za7, "mutex", 5 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2549z00zz__threadz00, BgL_bgl_za762lambda1449za7623043z00, BGl_z62lambda1449z62zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2637z00zz__threadz00, BgL_bgl_string2637za700za7za7_3044za7, "thread-kill!1206", 16 );
DEFINE_STRING( BGl_string2719z00zz__threadz00, BgL_bgl_string2719za700za7za7_3045za7, "&tb-condvar-initialize!", 23 );
DEFINE_STRING( BGl_string2476z00zz__threadz00, BgL_bgl_string2476za700za7za7_3046za7, "make-spinlock", 13 );
DEFINE_STRING( BGl_string2557z00zz__threadz00, BgL_bgl_string2557za700za7za7_3047za7, "end-result", 10 );
DEFINE_STRING( BGl_string2639z00zz__threadz00, BgL_bgl_string2639za700za7za7_3048za7, "thread-specific1208", 19 );
DEFINE_STRING( BGl_string2478z00zz__threadz00, BgL_bgl_string2478za700za7za7_3049za7, "spinlock", 8 );
DEFINE_STRING( BGl_string2479z00zz__threadz00, BgL_bgl_string2479za700za7za7_3050za7, "&mutex-name", 11 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2630z00zz__threadz00, BgL_bgl_za762threadza7d2star3051z00, BGl_z62threadzd2startzd2joinabl1200z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2550z00zz__threadz00, BgL_bgl_za762lambda1448za7623052z00, BGl_z62lambda1448z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2632z00zz__threadz00, BgL_bgl_za762threadza7d2join3053z00, va_generic_entry, BGl_z62threadzd2joinz121202za2zz__threadz00, BUNSPEC, -2 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2specificzd2envz00zz__threadz00, BgL_bgl_za762threadza7d2spec3054z00, BGl_z62threadzd2specificzb0zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2801z00zz__threadz00, BgL_bgl_string2801za700za7za7_3055za7, "method1214", 10 );
DEFINE_STRING( BGl_string2720z00zz__threadz00, BgL_bgl_string2720za700za7za7_3056za7, "thread-initialize!:Wrong number of arguments", 44 );
DEFINE_STRING( BGl_string2802z00zz__threadz00, BgL_bgl_string2802za700za7za7_3057za7, "&thread-cleanup", 15 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2634z00zz__threadz00, BgL_bgl_za762threadza7d2term3058z00, BGl_z62threadzd2terminatez121204za2zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2553z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo3059za7, BGl_z62zc3z04anonymousza31457ze3ze5zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2803z00zz__threadz00, BgL_bgl_string2803za700za7za7_3060za7, "thread-cleanup-set!:Wrong number of arguments", 45 );
DEFINE_STRING( BGl_string2641z00zz__threadz00, BgL_bgl_string2641za700za7za7_3061za7, "thread-specific-set!1210", 24 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2554z00zz__threadz00, BgL_bgl_za762lambda1456za7623062z00, BGl_z62lambda1456z62zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2723z00zz__threadz00, BgL_bgl_string2723za700za7za7_3063za7, "method1197", 10 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2636z00zz__threadz00, BgL_bgl_za762threadza7d2kill3064z00, BGl_z62threadzd2killz121206za2zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2555z00zz__threadz00, BgL_bgl_za762lambda1455za7623065z00, BGl_z62lambda1455z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2643z00zz__threadz00, BgL_bgl_string2643za700za7za7_3066za7, "thread-cleanup1213", 18 );
DEFINE_STRING( BGl_string2481z00zz__threadz00, BgL_bgl_string2481za700za7za7_3067za7, "mutex-lock!", 11 );
DEFINE_STRING( BGl_string2562z00zz__threadz00, BgL_bgl_string2562za700za7za7_3068za7, "end-exception", 13 );
DEFINE_STRING( BGl_string2806z00zz__threadz00, BgL_bgl_string2806za700za7za7_3069za7, "method1216", 10 );
DEFINE_STRING( BGl_string2725z00zz__threadz00, BgL_bgl_string2725za700za7za7_3070za7, "th", 2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2638z00zz__threadz00, BgL_bgl_za762threadza7d2spec3071z00, BGl_z62threadzd2specific1208zb0zz__threadz00, 0L, BUNSPEC, 1 );
extern obj_t BGl_objectzd2printzd2envz00zz__objectz00;
DEFINE_STRING( BGl_string2482z00zz__threadz00, BgL_bgl_string2482za700za7za7_3072za7, "_mutex-lock!", 12 );
DEFINE_STRING( BGl_string2807z00zz__threadz00, BgL_bgl_string2807za700za7za7_3073za7, "&thread-cleanup-set!", 20 );
DEFINE_STRING( BGl_string2726z00zz__threadz00, BgL_bgl_string2726za700za7za7_3074za7, "&thread-initialize!", 19 );
DEFINE_STRING( BGl_string2645z00zz__threadz00, BgL_bgl_string2645za700za7za7_3075za7, "thread-cleanup-set!1215", 23 );
DEFINE_STRING( BGl_string2483z00zz__threadz00, BgL_bgl_string2483za700za7za7_3076za7, "bint", 4 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2558z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo3077za7, BGl_z62zc3z04anonymousza31464ze3ze5zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2808z00zz__threadz00, BgL_bgl_string2808za700za7za7_3078za7, "thread-name", 11 );
DEFINE_STRING( BGl_string2484z00zz__threadz00, BgL_bgl_string2484za700za7za7_3079za7, "&mutex-unlock!", 14 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2559z00zz__threadz00, BgL_bgl_za762lambda1463za7623080z00, BGl_z62lambda1463z62zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2809z00zz__threadz00, BgL_bgl_string2809za700za7za7_3081za7, "thread-name:Wrong number of arguments", 37 );
DEFINE_STRING( BGl_string2728z00zz__threadz00, BgL_bgl_string2728za700za7za7_3082za7, "thread-start!", 13 );
DEFINE_STRING( BGl_string2647z00zz__threadz00, BgL_bgl_string2647za700za7za7_3083za7, "thread-name1217", 15 );
DEFINE_STRING( BGl_string2485z00zz__threadz00, BgL_bgl_string2485za700za7za7_3084za7, "&mutex-state", 12 );
DEFINE_STRING( BGl_string2729z00zz__threadz00, BgL_bgl_string2729za700za7za7_3085za7, "Wrong number of arguments", 25 );
DEFINE_STRING( BGl_string2486z00zz__threadz00, BgL_bgl_string2486za700za7za7_3086za7, "with-lock:Wrong number of arguments", 35 );
DEFINE_STRING( BGl_string2567z00zz__threadz00, BgL_bgl_string2567za700za7za7_3087za7, "%name", 5 );
DEFINE_STRING( BGl_string2649z00zz__threadz00, BgL_bgl_string2649za700za7za7_3088za7, "thread-name-set!1219", 20 );
DEFINE_STRING( BGl_string2489z00zz__threadz00, BgL_bgl_string2489za700za7za7_3089za7, "funcall", 7 );
extern obj_t BGl_objectzd2displayzd2envz00zz__objectz00;
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2startzd2joinablez12zd2envzc0zz__threadz00, BgL_bgl_za762threadza7d2star3090z00, BGl_z62threadzd2startzd2joinablez12z70zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2640z00zz__threadz00, BgL_bgl_za762threadza7d2spec3091z00, BGl_z62threadzd2specificzd2setz121210z70zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2560z00zz__threadz00, BgL_bgl_za762lambda1462za7623092z00, BGl_z62lambda1462z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2642z00zz__threadz00, BgL_bgl_za762threadza7d2clea3093z00, BGl_z62threadzd2cleanup1213zb0zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2812z00zz__threadz00, BgL_bgl_string2812za700za7za7_3094za7, "method1218", 10 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2644z00zz__threadz00, BgL_bgl_za762threadza7d2clea3095z00, BGl_z62threadzd2cleanupzd2setz121215z70zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2563z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo3096za7, BGl_z62zc3z04anonymousza31474ze3ze5zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2813z00zz__threadz00, BgL_bgl_string2813za700za7za7_3097za7, "&thread-name", 12 );
DEFINE_STRING( BGl_string2732z00zz__threadz00, BgL_bgl_string2732za700za7za7_3098za7, "apply", 5 );
DEFINE_STRING( BGl_string2651z00zz__threadz00, BgL_bgl_string2651za700za7za7_3099za7, "%user-current-thread1226", 24 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2564z00zz__threadz00, BgL_bgl_za762lambda1473za7623100z00, BGl_z62lambda1473z62zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2814z00zz__threadz00, BgL_bgl_string2814za700za7za7_3101za7, "thread-name-set!:Wrong number of arguments", 42 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2646z00zz__threadz00, BgL_bgl_za762threadza7d2name3102z00, BGl_z62threadzd2name1217zb0zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2565z00zz__threadz00, BgL_bgl_za762lambda1472za7623103z00, BGl_z62lambda1472z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2734z00zz__threadz00, BgL_bgl_string2734za700za7za7_3104za7, "method1199", 10 );
DEFINE_STRING( BGl_string2653z00zz__threadz00, BgL_bgl_string2653za700za7za7_3105za7, "%user-thread-sleep!1228", 23 );
DEFINE_STRING( BGl_string2491z00zz__threadz00, BgL_bgl_string2491za700za7za7_3106za7, "thunk", 5 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2648z00zz__threadz00, BgL_bgl_za762threadza7d2name3107z00, BGl_z62threadzd2namezd2setz121219z70zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2492z00zz__threadz00, BgL_bgl_string2492za700za7za7_3108za7, "&with-lock", 10 );
DEFINE_STRING( BGl_string2817z00zz__threadz00, BgL_bgl_string2817za700za7za7_3109za7, "method1220", 10 );
DEFINE_STRING( BGl_string2655z00zz__threadz00, BgL_bgl_string2655za700za7za7_3110za7, "%user-thread-yield!1230", 23 );
DEFINE_STRING( BGl_string2493z00zz__threadz00, BgL_bgl_string2493za700za7za7_3111za7, "with-timed-lock:Wrong number of arguments", 41 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2568z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo3112za7, BGl_z62zc3z04anonymousza31431ze3ze5zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2818z00zz__threadz00, BgL_bgl_string2818za700za7za7_3113za7, "&thread-name-set!", 17 );
DEFINE_STRING( BGl_string2737z00zz__threadz00, BgL_bgl_string2737za700za7za7_3114za7, "let", 3 );
DEFINE_STRING( BGl_string2656z00zz__threadz00, BgL_bgl_string2656za700za7za7_3115za7, "&%user-thread-yield!1230", 24 );
DEFINE_STRING( BGl_string2494z00zz__threadz00, BgL_bgl_string2494za700za7za7_3116za7, "with-timed-lock", 15 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2569z00zz__threadz00, BgL_bgl_za762lambda1427za7623117z00, BGl_z62lambda1427z62zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2819z00zz__threadz00, BgL_bgl_string2819za700za7za7_3118za7, "%user-current-thread:Wrong number of arguments", 46 );
DEFINE_STRING( BGl_string2657z00zz__threadz00, BgL_bgl_string2657za700za7za7_3119za7, "belong", 6 );
DEFINE_STRING( BGl_string2495z00zz__threadz00, BgL_bgl_string2495za700za7za7_3120za7, "&with-timed-lock", 16 );
DEFINE_STRING( BGl_string2576z00zz__threadz00, BgL_bgl_string2576za700za7za7_3121za7, "nothread-backend", 16 );
DEFINE_STRING( BGl_string2577z00zz__threadz00, BgL_bgl_string2577za700za7za7_3122za7, "", 0 );
DEFINE_STRING( BGl_string2659z00zz__threadz00, BgL_bgl_string2659za700za7za7_3123za7, "date, real, or integer", 22 );
DEFINE_STRING( BGl_string2497z00zz__threadz00, BgL_bgl_string2497za700za7za7_3124za7, "make-condition-variable", 23 );
DEFINE_STRING( BGl_string2578z00zz__threadz00, BgL_bgl_string2578za700za7za7_3125za7, "&<@anonymous:1484>", 18 );
DEFINE_STRING( BGl_string2579z00zz__threadz00, BgL_bgl_string2579za700za7za7_3126za7, "&lambda1480", 11 );
DEFINE_STRING( BGl_string2499z00zz__threadz00, BgL_bgl_string2499za700za7za7_3127za7, "condition-variable", 18 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_conditionzd2variablezd2broadcastz12zd2envzc0zz__threadz00, BgL_bgl_za762conditionza7d2v3128z00, BGl_z62conditionzd2variablezd2broadcastz12z70zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_defaultzd2threadzd2backendzd2envzd2zz__threadz00, BgL_bgl_za762defaultza7d2thr3129z00, BGl_z62defaultzd2threadzd2backendz62zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2650z00zz__threadz00, BgL_bgl_za762za752userza7d2cur3130za7, BGl_z62z52userzd2currentzd2thread1226z30zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2900z00zz__threadz00, BgL_bgl_string2900za700za7za7_3131za7, "<@anonymous:1534>", 17 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2570z00zz__threadz00, BgL_bgl_za762lambda1424za7623132z00, BGl_z62lambda1424z62zz__threadz00, 0L, BUNSPEC, 7 );
DEFINE_STRING( BGl_string2901z00zz__threadz00, BgL_bgl_string2901za700za7za7_3133za7, "&tb-current-thread-no1184", 25 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2652z00zz__threadz00, BgL_bgl_za762za752userza7d2thr3134za7, BGl_z62z52userzd2threadzd2sleepz121228z22zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2902z00zz__threadz00, BgL_bgl_string2902za700za7za7_3135za7, "tb-make-thread-nothr1182", 24 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2572z00zz__threadz00, BgL_bgl_za762za7c3za704anonymo3136za7, BGl_z62zc3z04anonymousza31484ze3ze5zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2903z00zz__threadz00, BgL_bgl_string2903za700za7za7_3137za7, "tb-make-thread-nothr1182:Wrong number of arguments", 50 );
DEFINE_STRING( BGl_string2822z00zz__threadz00, BgL_bgl_string2822za700za7za7_3138za7, "method1227", 10 );
DEFINE_STRING( BGl_string2741z00zz__threadz00, BgL_bgl_string2741za700za7za7_3139za7, "list1525", 8 );
DEFINE_STRING( BGl_string2660z00zz__threadz00, BgL_bgl_string2660za700za7za7_3140za7, "&%user-thread-sleep!1228", 24 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2654z00zz__threadz00, BgL_bgl_za762za752userza7d2thr3141za7, BGl_z62z52userzd2threadzd2yieldz121230z22zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2573z00zz__threadz00, BgL_bgl_za762lambda1482za7623142z00, BGl_z62lambda1482z62zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2661z00zz__threadz00, BgL_bgl_string2661za700za7za7_3143za7, "&%user-current-thread1226", 25 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2574z00zz__threadz00, BgL_bgl_za762lambda1480za7623144z00, BGl_z62lambda1480z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2580z00zz__threadz00, BgL_bgl_string2580za700za7za7_3145za7, "&<@anonymous:1431>", 18 );
DEFINE_STRING( BGl_string2824z00zz__threadz00, BgL_bgl_string2824za700za7za7_3146za7, "o", 1 );
DEFINE_STRING( BGl_string2581z00zz__threadz00, BgL_bgl_string2581za700za7za7_3147za7, "lambda1424", 10 );
DEFINE_STRING( BGl_string2906z00zz__threadz00, BgL_bgl_string2906za700za7za7_3148za7, "fun1527", 7 );
DEFINE_STRING( BGl_string2825z00zz__threadz00, BgL_bgl_string2825za700za7za7_3149za7, "&%user-current-thread", 21 );
DEFINE_STRING( BGl_string2744z00zz__threadz00, BgL_bgl_string2744za700za7za7_3150za7, "$cons", 5 );
DEFINE_STRING( BGl_string2663z00zz__threadz00, BgL_bgl_string2663za700za7za7_3151za7, "No method for this object", 25 );
DEFINE_STRING( BGl_string2582z00zz__threadz00, BgL_bgl_string2582za700za7za7_3152za7, "lambda1424:Wrong number of arguments", 36 );
DEFINE_STRING( BGl_string2826z00zz__threadz00, BgL_bgl_string2826za700za7za7_3153za7, "%user-thread-sleep!:Wrong number of arguments", 45 );
DEFINE_STRING( BGl_string2664z00zz__threadz00, BgL_bgl_string2664za700za7za7_3154za7, "&thread-name-set!1219", 21 );
DEFINE_STRING( BGl_string2908z00zz__threadz00, BgL_bgl_string2908za700za7za7_3155za7, "new1062", 7 );
DEFINE_STRING( BGl_string2746z00zz__threadz00, BgL_bgl_string2746za700za7za7_3156za7, "sc", 2 );
DEFINE_STRING( BGl_string2909z00zz__threadz00, BgL_bgl_string2909za700za7za7_3157za7, "&tb-make-thread-nothr1182", 25 );
DEFINE_STRING( BGl_string2666z00zz__threadz00, BgL_bgl_string2666za700za7za7_3158za7, "&thread-name1217", 16 );
DEFINE_STRING( BGl_string2585z00zz__threadz00, BgL_bgl_string2585za700za7za7_3159za7, "fun1425", 7 );
DEFINE_STRING( BGl_string2829z00zz__threadz00, BgL_bgl_string2829za700za7za7_3160za7, "method1229", 10 );
DEFINE_STRING( BGl_string2749z00zz__threadz00, BgL_bgl_string2749za700za7za7_3161za7, "quote", 5 );
DEFINE_STRING( BGl_string2668z00zz__threadz00, BgL_bgl_string2668za700za7za7_3162za7, "&thread-cleanup-set!1215", 24 );
DEFINE_STRING( BGl_string2587z00zz__threadz00, BgL_bgl_string2587za700za7za7_3163za7, "new1116", 7 );
DEFINE_STRING( BGl_string2588z00zz__threadz00, BgL_bgl_string2588za700za7za7_3164za7, "&lambda1424", 11 );
DEFINE_STRING( BGl_string2589z00zz__threadz00, BgL_bgl_string2589za700za7za7_3165za7, "bigloo", 6 );
DEFINE_STRING( BGl_string2831z00zz__threadz00, BgL_bgl_string2831za700za7za7_3166za7, "d", 1 );
DEFINE_STRING( BGl_string2832z00zz__threadz00, BgL_bgl_string2832za700za7za7_3167za7, "&%user-thread-sleep!", 20 );
DEFINE_STRING( BGl_string2670z00zz__threadz00, BgL_bgl_string2670za700za7za7_3168za7, "&thread-cleanup1213", 19 );
DEFINE_EXPORT_BGL_GENERIC( BGl_z52userzd2threadzd2sleepz12zd2envz92zz__threadz00, BgL_bgl_za762za752userza7d2thr3169za7, BGl_z62z52userzd2threadzd2sleepz12z22zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2833z00zz__threadz00, BgL_bgl_string2833za700za7za7_3170za7, "%user-thread-yield!:Wrong number of arguments", 45 );
DEFINE_STRING( BGl_string2752z00zz__threadz00, BgL_bgl_string2752za700za7za7_3171za7, "cons*", 5 );
DEFINE_STRING( BGl_string2590z00zz__threadz00, BgL_bgl_string2590za700za7za7_3172za7, "&lambda1473", 11 );
DEFINE_STRING( BGl_string2753z00zz__threadz00, BgL_bgl_string2753za700za7za7_3173za7, "&thread-start!", 14 );
DEFINE_STRING( BGl_string2672z00zz__threadz00, BgL_bgl_string2672za700za7za7_3174za7, "&thread-specific-set!1210", 25 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2killz12zd2envz12zz__threadz00, BgL_bgl_za762threadza7d2kill3175z00, BGl_z62threadzd2killz12za2zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2591z00zz__threadz00, BgL_bgl_string2591za700za7za7_3176za7, "&lambda1472", 11 );
DEFINE_STRING( BGl_string2754z00zz__threadz00, BgL_bgl_string2754za700za7za7_3177za7, "thread-start-joinable!:Wrong number of arguments", 48 );
DEFINE_STRING( BGl_string2592z00zz__threadz00, BgL_bgl_string2592za700za7za7_3178za7, "&lambda1463", 11 );
DEFINE_STRING( BGl_string2836z00zz__threadz00, BgL_bgl_string2836za700za7za7_3179za7, "method1231", 10 );
DEFINE_STRING( BGl_string2674z00zz__threadz00, BgL_bgl_string2674za700za7za7_3180za7, "&thread-specific1208", 20 );
DEFINE_STRING( BGl_string2593z00zz__threadz00, BgL_bgl_string2593za700za7za7_3181za7, "&lambda1462", 11 );
DEFINE_STRING( BGl_string2837z00zz__threadz00, BgL_bgl_string2837za700za7za7_3182za7, "&%user-thread-yield!", 20 );
DEFINE_STRING( BGl_string2594z00zz__threadz00, BgL_bgl_string2594za700za7za7_3183za7, "&lambda1456", 11 );
DEFINE_STRING( BGl_string2757z00zz__threadz00, BgL_bgl_string2757za700za7za7_3184za7, "method1201", 10 );
DEFINE_STRING( BGl_string2676z00zz__threadz00, BgL_bgl_string2676za700za7za7_3185za7, "&thread-kill!1206", 17 );
DEFINE_STRING( BGl_string2595z00zz__threadz00, BgL_bgl_string2595za700za7za7_3186za7, "&lambda1455", 11 );
DEFINE_STRING( BGl_string2758z00zz__threadz00, BgL_bgl_string2758za700za7za7_3187za7, "&thread-start-joinable!", 23 );
DEFINE_STRING( BGl_string2596z00zz__threadz00, BgL_bgl_string2596za700za7za7_3188za7, "&lambda1449", 11 );
DEFINE_STRING( BGl_string2678z00zz__threadz00, BgL_bgl_string2678za700za7za7_3189za7, "&thread-terminate!1204", 22 );
DEFINE_STRING( BGl_string2597z00zz__threadz00, BgL_bgl_string2597za700za7za7_3190za7, "&lambda1448", 11 );
DEFINE_STRING( BGl_string2598z00zz__threadz00, BgL_bgl_string2598za700za7za7_3191za7, "&lambda1442", 11 );
DEFINE_STRING( BGl_string2599z00zz__threadz00, BgL_bgl_string2599za700za7za7_3192za7, "&lambda1441", 11 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_makezd2conditionzd2variablezd2envzd2zz__threadz00, BgL_bgl__makeza7d2conditio3193za7, opt_generic_entry, BGl__makezd2conditionzd2variablez00zz__threadz00, BFALSE, -1 );
DEFINE_STRING( BGl_string2840z00zz__threadz00, BgL_bgl_string2840za700za7za7_3194za7, "tb-current-thread", 17 );
DEFINE_STRING( BGl_string2760z00zz__threadz00, BgL_bgl_string2760za700za7za7_3195za7, "thread-join!", 12 );
DEFINE_STRING( BGl_string2842z00zz__threadz00, BgL_bgl_string2842za700za7za7_3196za7, "object-display", 14 );
DEFINE_STRING( BGl_string2680z00zz__threadz00, BgL_bgl_string2680za700za7za7_3197za7, "&thread-join!1202", 17 );
DEFINE_STRING( BGl_string2844z00zz__threadz00, BgL_bgl_string2844za700za7za7_3198za7, "object-write", 12 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2838z00zz__threadz00, BgL_bgl_za762tbza7d2makeza7d2t3199za7, BGl_z62tbzd2makezd2threadzd2nothr1182zb0zz__threadz00, 0L, BUNSPEC, 3 );
DEFINE_STRING( BGl_string2763z00zz__threadz00, BgL_bgl_string2763za700za7za7_3200za7, "method1203", 10 );
DEFINE_STRING( BGl_string2682z00zz__threadz00, BgL_bgl_string2682za700za7za7_3201za7, "&thread-start-joinabl1200", 25 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2839z00zz__threadz00, BgL_bgl_za762tbza7d2currentza73202za7, BGl_z62tbzd2currentzd2threadzd2no1184zb0zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2846z00zz__threadz00, BgL_bgl_string2846za700za7za7_3203za7, "object-print", 12 );
DEFINE_STRING( BGl_string2684z00zz__threadz00, BgL_bgl_string2684za700za7za7_3204za7, "&thread-start!1198", 18 );
DEFINE_STRING( BGl_string2685z00zz__threadz00, BgL_bgl_string2685za700za7za7_3205za7, "&thread-initialize!1195", 23 );
DEFINE_STRING( BGl_string2849z00zz__threadz00, BgL_bgl_string2849za700za7za7_3206za7, "thread-start-joinable!", 22 );
DEFINE_STRING( BGl_string2768z00zz__threadz00, BgL_bgl_string2768za700za7za7_3207za7, "list1526", 8 );
DEFINE_STRING( BGl_string2687z00zz__threadz00, BgL_bgl_string2687za700za7za7_3208za7, "&tb-condvar-initializ1187", 25 );
DEFINE_STRING( BGl_string2689z00zz__threadz00, BgL_bgl_string2689za700za7za7_3209za7, "&tb-mutex-initialize!1185", 25 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_dynamiczd2envzf3zd2envzf3zz__threadz00, BgL_bgl_za762dynamicza7d2env3210z00, BGl_z62dynamiczd2envzf3z43zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_conditionzd2variablezd2signalz12zd2envzc0zz__threadz00, BgL_bgl_za762conditionza7d2v3211z00, BGl_z62conditionzd2variablezd2signalz12z70zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2841z00zz__threadz00, BgL_bgl_za762objectza7d2disp3212z00, va_generic_entry, BGl_z62objectzd2displayzd2threa1190z62zz__threadz00, BUNSPEC, -2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2843z00zz__threadz00, BgL_bgl_za762objectza7d2writ3213z00, va_generic_entry, BGl_z62objectzd2writezd2thread1192z62zz__threadz00, BUNSPEC, -2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2845z00zz__threadz00, BgL_bgl_za762objectza7d2prin3214z00, BGl_z62objectzd2printzd2thread1194z62zz__threadz00, 0L, BUNSPEC, 3 );
DEFINE_STRING( BGl_string2852z00zz__threadz00, BgL_bgl_string2852za700za7za7_3215za7, "thread-terminate!", 17 );
DEFINE_STRING( BGl_string2771z00zz__threadz00, BgL_bgl_string2771za700za7za7_3216za7, "timeout", 7 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2847z00zz__threadz00, BgL_bgl_za762threadza7d2star3217z00, va_generic_entry, BGl_z62threadzd2startz12zd2nothre1233z70zz__threadz00, BUNSPEC, -2 );
DEFINE_STRING( BGl_string2691z00zz__threadz00, BgL_bgl_string2691za700za7za7_3218za7, "&tb-current-thread1179", 22 );
DEFINE_STRING( BGl_string2854z00zz__threadz00, BgL_bgl_string2854za700za7za7_3219za7, "thread-kill!", 12 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2848z00zz__threadz00, BgL_bgl_za762threadza7d2star3220z00, BGl_z62threadzd2startzd2joinabl1235z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2773z00zz__threadz00, BgL_bgl_string2773za700za7za7_3221za7, "&thread-join!", 13 );
DEFINE_STRING( BGl_string2774z00zz__threadz00, BgL_bgl_string2774za700za7za7_3222za7, "thread-terminate!:Wrong number of arguments", 43 );
DEFINE_STRING( BGl_string2693z00zz__threadz00, BgL_bgl_string2693za700za7za7_3223za7, "&tb-make-thread1177", 19 );
DEFINE_STRING( BGl_string2856z00zz__threadz00, BgL_bgl_string2856za700za7za7_3224za7, "thread-specific", 15 );
DEFINE_STRING( BGl_string2694z00zz__threadz00, BgL_bgl_string2694za700za7za7_3225za7, "tb-make-thread", 14 );
DEFINE_STRING( BGl_string2695z00zz__threadz00, BgL_bgl_string2695za700za7za7_3226za7, "tb-make-thread:Wrong number of arguments", 40 );
DEFINE_STRING( BGl_string2858z00zz__threadz00, BgL_bgl_string2858za700za7za7_3227za7, "thread-specific-set!", 20 );
DEFINE_STRING( BGl_string2777z00zz__threadz00, BgL_bgl_string2777za700za7za7_3228za7, "method1205", 10 );
DEFINE_STRING( BGl_string2778z00zz__threadz00, BgL_bgl_string2778za700za7za7_3229za7, "&thread-terminate!", 18 );
DEFINE_STRING( BGl_string2779z00zz__threadz00, BgL_bgl_string2779za700za7za7_3230za7, "thread-kill!:Wrong number of arguments", 38 );
DEFINE_STRING( BGl_string2698z00zz__threadz00, BgL_bgl_string2698za700za7za7_3231za7, "method1178", 10 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2850z00zz__threadz00, BgL_bgl_za762threadza7d2join3232z00, va_generic_entry, BGl_z62threadzd2joinz12zd2nothrea1237z70zz__threadz00, BUNSPEC, -2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2851z00zz__threadz00, BgL_bgl_za762threadza7d2term3233z00, BGl_z62threadzd2terminatez12zd2no1239z70zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2853z00zz__threadz00, BgL_bgl_za762threadza7d2kill3234z00, BGl_z62threadzd2killz12zd2nothrea1241z70zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2860z00zz__threadz00, BgL_bgl_string2860za700za7za7_3235za7, "thread-cleanup", 14 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2855z00zz__threadz00, BgL_bgl_za762threadza7d2spec3236z00, BGl_z62threadzd2specificzd2noth1243z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2862z00zz__threadz00, BgL_bgl_string2862za700za7za7_3237za7, "thread-cleanup-set!", 19 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2857z00zz__threadz00, BgL_bgl_za762threadza7d2spec3238z00, BGl_z62threadzd2specificzd2setz121245z70zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STRING( BGl_string2782z00zz__threadz00, BgL_bgl_string2782za700za7za7_3239za7, "method1207", 10 );
DEFINE_STRING( BGl_string2865z00zz__threadz00, BgL_bgl_string2865za700za7za7_3240za7, "thread-name-set!", 16 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2859z00zz__threadz00, BgL_bgl_za762threadza7d2clea3241z00, BGl_z62threadzd2cleanupzd2nothr1247z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2784z00zz__threadz00, BgL_bgl_string2784za700za7za7_3242za7, "n", 1 );
DEFINE_STRING( BGl_string2866z00zz__threadz00, BgL_bgl_string2866za700za7za7_3243za7, "thread-name-set!-not1253", 24 );
DEFINE_STRING( BGl_string2785z00zz__threadz00, BgL_bgl_string2785za700za7za7_3244za7, "&thread-kill!", 13 );
DEFINE_STRING( BGl_string2867z00zz__threadz00, BgL_bgl_string2867za700za7za7_3245za7, "&thread-name-set!-not1253", 25 );
DEFINE_STRING( BGl_string2786z00zz__threadz00, BgL_bgl_string2786za700za7za7_3246za7, "thread-specific:Wrong number of arguments", 41 );
DEFINE_STRING( BGl_string2868z00zz__threadz00, BgL_bgl_string2868za700za7za7_3247za7, "&thread-name-nothread1251", 25 );
DEFINE_STRING( BGl_string2869z00zz__threadz00, BgL_bgl_string2869za700za7za7_3248za7, "&thread-cleanup-set!-1249", 25 );
DEFINE_STRING( BGl_string2789z00zz__threadz00, BgL_bgl_string2789za700za7za7_3249za7, "method1209", 10 );
DEFINE_EXPORT_BGL_GENERIC( BGl_tbzd2makezd2threadzd2envzd2zz__threadz00, BgL_bgl_za762tbza7d2makeza7d2t3250za7, BGl_z62tbzd2makezd2threadz62zz__threadz00, 0L, BUNSPEC, 3 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_currentzd2threadzd2envz00zz__threadz00, BgL_bgl_za762currentza7d2thr3251z00, BGl_z62currentzd2threadzb0zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_conditionzd2variablezd2namezd2envzd2zz__threadz00, BgL_bgl_za762conditionza7d2v3252z00, BGl_z62conditionzd2variablezd2namez62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2861z00zz__threadz00, BgL_bgl_za762threadza7d2clea3253z00, BGl_z62threadzd2cleanupzd2setz12zd21249za2zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2863z00zz__threadz00, BgL_bgl_za762threadza7d2name3254z00, BGl_z62threadzd2namezd2nothread1251z62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2870z00zz__threadz00, BgL_bgl_string2870za700za7za7_3255za7, "&thread-cleanup-nothr1247", 25 );
DEFINE_STATIC_BGL_PROCEDURE( BGl_proc2864z00zz__threadz00, BgL_bgl_za762threadza7d2name3256z00, BGl_z62threadzd2namezd2setz12zd2not1253za2zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_mutexzf3zd2envz21zz__threadz00, BgL_bgl_za762mutexza7f3za791za7za73257za7, BGl_z62mutexzf3z91zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2871z00zz__threadz00, BgL_bgl_string2871za700za7za7_3258za7, "&thread-specific-set!1245", 25 );
DEFINE_STRING( BGl_string2790z00zz__threadz00, BgL_bgl_string2790za700za7za7_3259za7, "&thread-specific", 16 );
DEFINE_STRING( BGl_string2872z00zz__threadz00, BgL_bgl_string2872za700za7za7_3260za7, "&thread-specific-noth1243", 25 );
DEFINE_STRING( BGl_string2791z00zz__threadz00, BgL_bgl_string2791za700za7za7_3261za7, "thread-specific-set!:Wrong number of arguments", 46 );
DEFINE_STRING( BGl_string2873z00zz__threadz00, BgL_bgl_string2873za700za7za7_3262za7, "&thread-kill!-nothrea1241", 25 );
DEFINE_STRING( BGl_string2874z00zz__threadz00, BgL_bgl_string2874za700za7za7_3263za7, "thread-terminate!-no1239", 24 );
DEFINE_STRING( BGl_string2875z00zz__threadz00, BgL_bgl_string2875za700za7za7_3264za7, "thread-terminate!-no1239:Wrong number of arguments", 50 );
DEFINE_STRING( BGl_string2794z00zz__threadz00, BgL_bgl_string2794za700za7za7_3265za7, "method1212", 10 );
DEFINE_STRING( BGl_string2796z00zz__threadz00, BgL_bgl_string2796za700za7za7_3266za7, "v", 1 );
DEFINE_STRING( BGl_string2878z00zz__threadz00, BgL_bgl_string2878za700za7za7_3267za7, "fun1583", 7 );
DEFINE_STRING( BGl_string2797z00zz__threadz00, BgL_bgl_string2797za700za7za7_3268za7, "&thread-specific-set!", 21 );
DEFINE_STRING( BGl_string2879z00zz__threadz00, BgL_bgl_string2879za700za7za7_3269za7, "&thread-terminate!-no1239", 25 );
DEFINE_STRING( BGl_string2798z00zz__threadz00, BgL_bgl_string2798za700za7za7_3270za7, "thread-cleanup:Wrong number of arguments", 40 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_threadzd2parameterzd2envz00zz__threadz00, BgL_bgl_za762threadza7d2para3271z00, BGl_z62threadzd2parameterzb0zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2880z00zz__threadz00, BgL_bgl_string2880za700za7za7_3272za7, "thread-join!-nothrea1237", 24 );
DEFINE_STRING( BGl_string2881z00zz__threadz00, BgL_bgl_string2881za700za7za7_3273za7, "&thread-join!-nothrea1237", 25 );
DEFINE_STRING( BGl_string2882z00zz__threadz00, BgL_bgl_string2882za700za7za7_3274za7, "&thread-start-joinabl1235", 25 );
DEFINE_STRING( BGl_string2883z00zz__threadz00, BgL_bgl_string2883za700za7za7_3275za7, "thread-start!-nothre1233", 24 );
DEFINE_STRING( BGl_string2884z00zz__threadz00, BgL_bgl_string2884za700za7za7_3276za7, "&thread-start!-nothre1233", 25 );
DEFINE_STRING( BGl_string2885z00zz__threadz00, BgL_bgl_string2885za700za7za7_3277za7, "<@exit:1564>~0:Wrong number of arguments", 40 );
DEFINE_STRING( BGl_string2888z00zz__threadz00, BgL_bgl_string2888za700za7za7_3278za7, "fun1566", 7 );
DEFINE_STRING( BGl_string2889z00zz__threadz00, BgL_bgl_string2889za700za7za7_3279za7, "<@exit:1564>~0", 14 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_mutexzd2nilzd2envz00zz__threadz00, BgL_bgl_za762mutexza7d2nilza7b3280za7, BGl_z62mutexzd2nilzb0zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_STRING( BGl_string2890z00zz__threadz00, BgL_bgl_string2890za700za7za7_3281za7, "&object-print-thread1194", 24 );
DEFINE_STRING( BGl_string2891z00zz__threadz00, BgL_bgl_string2891za700za7za7_3282za7, "object-write-thread1192", 23 );
DEFINE_STRING( BGl_string2892z00zz__threadz00, BgL_bgl_string2892za700za7za7_3283za7, "output-port", 11 );
DEFINE_STRING( BGl_string2893z00zz__threadz00, BgL_bgl_string2893za700za7za7_3284za7, "&object-write-thread1192", 24 );
DEFINE_STRING( BGl_string2894z00zz__threadz00, BgL_bgl_string2894za700za7za7_3285za7, "<@anonymous:1552>", 17 );
DEFINE_STRING( BGl_string2895z00zz__threadz00, BgL_bgl_string2895za700za7za7_3286za7, ">", 1 );
DEFINE_EXPORT_BGL_GENERIC( BGl_z52userzd2currentzd2threadzd2envz80zz__threadz00, BgL_bgl_za762za752userza7d2cur3287za7, BGl_z62z52userzd2currentzd2threadz30zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_STRING( BGl_string2896z00zz__threadz00, BgL_bgl_string2896za700za7za7_3288za7, ":", 1 );
DEFINE_STRING( BGl_string2897z00zz__threadz00, BgL_bgl_string2897za700za7za7_3289za7, "#<", 2 );
DEFINE_STRING( BGl_string2898z00zz__threadz00, BgL_bgl_string2898za700za7za7_3290za7, "object-display-threa1190", 24 );
DEFINE_STRING( BGl_string2899z00zz__threadz00, BgL_bgl_string2899za700za7za7_3291za7, "&object-display-threa1190", 25 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_mutexzd2statezd2envz00zz__threadz00, BgL_bgl_za762mutexza7d2state3292z00, BGl_z62mutexzd2statezb0zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2initializa7ez12zd2envzb5zz__threadz00, BgL_bgl_za762threadza7d2init3293z00, BGl_z62threadzd2initializa7ez12z05zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_currentzd2threadzd2backendzd2envzd2zz__threadz00, BgL_bgl_za762currentza7d2thr3294z00, BGl_z62currentzd2threadzd2backendz62zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_conditionzd2variablezd2nilzd2envzd2zz__threadz00, BgL_bgl_za762conditionza7d2v3295z00, BGl_z62conditionzd2variablezd2nilz62zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_currentzd2dynamiczd2envzd2envzd2zz__threadz00, BgL_bgl_za762currentza7d2dyn3296z00, BGl_z62currentzd2dynamiczd2envz62zz__threadz00, 0L, BUNSPEC, 0 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2terminatez12zd2envz12zz__threadz00, BgL_bgl_za762threadza7d2term3297z00, BGl_z62threadzd2terminatez12za2zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2namezd2setz12zd2envzc0zz__threadz00, BgL_bgl_za762threadza7d2name3298z00, BGl_z62threadzd2namezd2setz12z70zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_makezd2mutexzd2envz00zz__threadz00, BgL_bgl__makeza7d2mutexza7d23299z00, opt_generic_entry, BGl__makezd2mutexzd2zz__threadz00, BFALSE, -1 );
DEFINE_EXPORT_BGL_GENERIC( BGl_z52userzd2threadzd2yieldz12zd2envz92zz__threadz00, BgL_bgl_za762za752userza7d2thr3300za7, BGl_z62z52userzd2threadzd2yieldz12z22zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_GENERIC( BGl_tbzd2mutexzd2initializa7ez12zd2envz67zz__threadz00, BgL_bgl_za762tbza7d2mutexza7d23301za7, BGl_z62tbzd2mutexzd2initializa7ez12zd7zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2specificzd2setz12zd2envzc0zz__threadz00, BgL_bgl_za762threadza7d2spec3302z00, BGl_z62threadzd2specificzd2setz12z70zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_EXPORT_BGL_GENERIC( BGl_threadzd2cleanupzd2setz12zd2envzc0zz__threadz00, BgL_bgl_za762threadza7d2clea3303z00, BGl_z62threadzd2cleanupzd2setz12z70zz__threadz00, 0L, BUNSPEC, 2 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_threadzd2sleepz12zd2envz12zz__threadz00, BgL_bgl_za762threadza7d2slee3304z00, BGl_z62threadzd2sleepz12za2zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_PROCEDURE( BGl_getzd2threadzd2backendzd2envzd2zz__threadz00, BgL_bgl_za762getza7d2threadza73305za7, BGl_z62getzd2threadzd2backendz62zz__threadz00, 0L, BUNSPEC, 1 );
DEFINE_EXPORT_BGL_GENERIC( BGl_tbzd2condvarzd2initializa7ez12zd2envz67zz__threadz00, BgL_bgl_za762tbza7d2condvarza73306za7, BGl_z62tbzd2condvarzd2initializa7ez12zd7zz__threadz00, 0L, BUNSPEC, 2 );

/* GC roots registration */
static obj_t bgl_gc_roots_register() {
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
void *roots_min = (void*)ULONG_MAX, *roots_max = 0;
ADD_ROOT( (void *)(&BGl_symbol2800z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2722z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2480z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2561z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2805z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2724z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2727z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2566z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2488z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2811z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2731z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2733z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2490z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2571z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2816z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2736z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2575z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2658z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2496z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2498z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_requirezd2initializa7ationz75zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2821z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2740z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2823z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2905z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2743z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2662z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2907z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2745z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2665z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2584z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2828z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2748z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2667z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2586z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2669z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2830z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2751z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2671z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2835z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2673z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2756z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2675z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2677z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2759z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2679z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2762z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2681z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2683z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_nothreadzd2backendzd2zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2767z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2686z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2688z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_za2nothreadzd2backendza2zd2zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2770z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2690z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2692z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2776z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2697z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2699z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2781z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2783z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2788z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2793z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2795z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2877z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2887z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_nothreadz00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_za2conditionzd2variablezd2nilza2z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_threadzd2backendzd2zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2703z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2709z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_za2threadzd2backendsza2zd2zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2715z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2721z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2804z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2487z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2810z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2730z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2815z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2735z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2738z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2739z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2820z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2904z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2742z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2583z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2827z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2747z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2750z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2834z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2755z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2761z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2764z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2765z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2766z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2769z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2772z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2775z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2696z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2780z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2787z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2502z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2792z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2876z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2799z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2510z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2512z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2516z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2517z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_list2886z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2522z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2526z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_za2nothreadzd2currentza2zd2zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2530z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2450z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2453z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_za2mutexzd2nilza2zd2zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2540z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2704z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2542z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2546z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_threadz00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2710z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2470z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2551z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2716z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2473z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2718z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2475z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2556z00zz__threadz00) );
ADD_ROOT( (void *)(&BGl_symbol2477z00zz__threadz00) );
#undef ADD_ROOT
if( roots_max > 0 ) GC_add_roots( roots_min, ((void **)roots_max) + 1 );
#endif
return BUNSPEC;
}



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long BgL_checksumz00_8201, char * BgL_fromz00_8202)
{
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__threadz00))
{ 
BGl_requirezd2initializa7ationz75zz__threadz00 = 
BBOOL(((bool_t)0)); 
BGl_gczd2rootszd2initz00zz__threadz00(); 
BGl_cnstzd2initzd2zz__threadz00(); 
BGl_importedzd2moduleszd2initz00zz__threadz00(); 
BGl_objectzd2initzd2zz__threadz00(); 
BGl_genericzd2initzd2zz__threadz00(); 
BGl_methodzd2initzd2zz__threadz00(); 
return 
BGl_toplevelzd2initzd2zz__threadz00();}  else 
{ 
return BUNSPEC;} } 

}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zz__threadz00(void)
{
{ /* Llib/thread.scm 17 */
BGl_symbol2450z00zz__threadz00 = 
bstring_to_symbol(BGl_string2451z00zz__threadz00); 
BGl_symbol2453z00zz__threadz00 = 
bstring_to_symbol(BGl_string2454z00zz__threadz00); 
BGl_symbol2470z00zz__threadz00 = 
bstring_to_symbol(BGl_string2471z00zz__threadz00); 
BGl_symbol2473z00zz__threadz00 = 
bstring_to_symbol(BGl_string2474z00zz__threadz00); 
BGl_symbol2475z00zz__threadz00 = 
bstring_to_symbol(BGl_string2476z00zz__threadz00); 
BGl_symbol2477z00zz__threadz00 = 
bstring_to_symbol(BGl_string2478z00zz__threadz00); 
BGl_symbol2480z00zz__threadz00 = 
bstring_to_symbol(BGl_string2481z00zz__threadz00); 
BGl_symbol2488z00zz__threadz00 = 
bstring_to_symbol(BGl_string2489z00zz__threadz00); 
BGl_symbol2490z00zz__threadz00 = 
bstring_to_symbol(BGl_string2491z00zz__threadz00); 
BGl_list2487z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2490z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2490z00zz__threadz00, BNIL))); 
BGl_symbol2496z00zz__threadz00 = 
bstring_to_symbol(BGl_string2497z00zz__threadz00); 
BGl_symbol2498z00zz__threadz00 = 
bstring_to_symbol(BGl_string2499z00zz__threadz00); 
BGl_symbol2502z00zz__threadz00 = 
bstring_to_symbol(BGl_string2503z00zz__threadz00); 
BGl_symbol2510z00zz__threadz00 = 
bstring_to_symbol(BGl_string2511z00zz__threadz00); 
BGl_symbol2512z00zz__threadz00 = 
bstring_to_symbol(BGl_string2449z00zz__threadz00); 
BGl_symbol2516z00zz__threadz00 = 
bstring_to_symbol(BGl_string2443z00zz__threadz00); 
BGl_symbol2517z00zz__threadz00 = 
bstring_to_symbol(BGl_string2518z00zz__threadz00); 
BGl_symbol2522z00zz__threadz00 = 
bstring_to_symbol(BGl_string2523z00zz__threadz00); 
BGl_symbol2526z00zz__threadz00 = 
bstring_to_symbol(BGl_string2527z00zz__threadz00); 
BGl_symbol2530z00zz__threadz00 = 
bstring_to_symbol(BGl_string2531z00zz__threadz00); 
BGl_symbol2540z00zz__threadz00 = 
bstring_to_symbol(BGl_string2541z00zz__threadz00); 
BGl_symbol2542z00zz__threadz00 = 
bstring_to_symbol(BGl_string2456z00zz__threadz00); 
BGl_symbol2546z00zz__threadz00 = 
bstring_to_symbol(BGl_string2547z00zz__threadz00); 
BGl_symbol2551z00zz__threadz00 = 
bstring_to_symbol(BGl_string2552z00zz__threadz00); 
BGl_symbol2556z00zz__threadz00 = 
bstring_to_symbol(BGl_string2557z00zz__threadz00); 
BGl_symbol2561z00zz__threadz00 = 
bstring_to_symbol(BGl_string2562z00zz__threadz00); 
BGl_symbol2566z00zz__threadz00 = 
bstring_to_symbol(BGl_string2567z00zz__threadz00); 
BGl_symbol2571z00zz__threadz00 = 
bstring_to_symbol(BGl_string2440z00zz__threadz00); 
BGl_symbol2575z00zz__threadz00 = 
bstring_to_symbol(BGl_string2576z00zz__threadz00); 
BGl_symbol2584z00zz__threadz00 = 
bstring_to_symbol(BGl_string2585z00zz__threadz00); 
BGl_symbol2586z00zz__threadz00 = 
bstring_to_symbol(BGl_string2587z00zz__threadz00); 
BGl_list2583z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2584z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2584z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2586z00zz__threadz00, BNIL)))); 
BGl_symbol2658z00zz__threadz00 = 
bstring_to_symbol(BGl_string2462z00zz__threadz00); 
BGl_symbol2662z00zz__threadz00 = 
bstring_to_symbol(BGl_string2649z00zz__threadz00); 
BGl_symbol2665z00zz__threadz00 = 
bstring_to_symbol(BGl_string2647z00zz__threadz00); 
BGl_symbol2667z00zz__threadz00 = 
bstring_to_symbol(BGl_string2645z00zz__threadz00); 
BGl_symbol2669z00zz__threadz00 = 
bstring_to_symbol(BGl_string2643z00zz__threadz00); 
BGl_symbol2671z00zz__threadz00 = 
bstring_to_symbol(BGl_string2641z00zz__threadz00); 
BGl_symbol2673z00zz__threadz00 = 
bstring_to_symbol(BGl_string2639z00zz__threadz00); 
BGl_symbol2675z00zz__threadz00 = 
bstring_to_symbol(BGl_string2637z00zz__threadz00); 
BGl_symbol2677z00zz__threadz00 = 
bstring_to_symbol(BGl_string2635z00zz__threadz00); 
BGl_symbol2679z00zz__threadz00 = 
bstring_to_symbol(BGl_string2633z00zz__threadz00); 
BGl_symbol2681z00zz__threadz00 = 
bstring_to_symbol(BGl_string2631z00zz__threadz00); 
BGl_symbol2683z00zz__threadz00 = 
bstring_to_symbol(BGl_string2629z00zz__threadz00); 
BGl_symbol2686z00zz__threadz00 = 
bstring_to_symbol(BGl_string2625z00zz__threadz00); 
BGl_symbol2688z00zz__threadz00 = 
bstring_to_symbol(BGl_string2623z00zz__threadz00); 
BGl_symbol2690z00zz__threadz00 = 
bstring_to_symbol(BGl_string2621z00zz__threadz00); 
BGl_symbol2692z00zz__threadz00 = 
bstring_to_symbol(BGl_string2619z00zz__threadz00); 
BGl_symbol2697z00zz__threadz00 = 
bstring_to_symbol(BGl_string2698z00zz__threadz00); 
BGl_symbol2699z00zz__threadz00 = 
bstring_to_symbol(BGl_string2700z00zz__threadz00); 
BGl_list2696z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2697z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2697z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2699z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2540z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2510z00zz__threadz00, BNIL)))))); 
BGl_symbol2704z00zz__threadz00 = 
bstring_to_symbol(BGl_string2705z00zz__threadz00); 
BGl_list2703z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2704z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2704z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2699z00zz__threadz00, BNIL)))); 
BGl_symbol2710z00zz__threadz00 = 
bstring_to_symbol(BGl_string2711z00zz__threadz00); 
BGl_list2709z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2710z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2710z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2699z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2473z00zz__threadz00, BNIL))))); 
BGl_symbol2716z00zz__threadz00 = 
bstring_to_symbol(BGl_string2717z00zz__threadz00); 
BGl_symbol2718z00zz__threadz00 = 
bstring_to_symbol(BGl_string2501z00zz__threadz00); 
BGl_list2715z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2716z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2716z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2699z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2718z00zz__threadz00, BNIL))))); 
BGl_symbol2722z00zz__threadz00 = 
bstring_to_symbol(BGl_string2723z00zz__threadz00); 
BGl_symbol2724z00zz__threadz00 = 
bstring_to_symbol(BGl_string2725z00zz__threadz00); 
BGl_list2721z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2722z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2722z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, BNIL)))); 
BGl_symbol2727z00zz__threadz00 = 
bstring_to_symbol(BGl_string2728z00zz__threadz00); 
BGl_symbol2731z00zz__threadz00 = 
bstring_to_symbol(BGl_string2732z00zz__threadz00); 
BGl_symbol2733z00zz__threadz00 = 
bstring_to_symbol(BGl_string2734z00zz__threadz00); 
BGl_symbol2736z00zz__threadz00 = 
bstring_to_symbol(BGl_string2737z00zz__threadz00); 
BGl_symbol2740z00zz__threadz00 = 
bstring_to_symbol(BGl_string2741z00zz__threadz00); 
BGl_symbol2743z00zz__threadz00 = 
bstring_to_symbol(BGl_string2744z00zz__threadz00); 
BGl_symbol2745z00zz__threadz00 = 
bstring_to_symbol(BGl_string2746z00zz__threadz00); 
BGl_symbol2748z00zz__threadz00 = 
bstring_to_symbol(BGl_string2749z00zz__threadz00); 
BGl_list2747z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2748z00zz__threadz00, 
MAKE_YOUNG_PAIR(BNIL, BNIL)); 
BGl_list2742z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2743z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2745z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_list2747z00zz__threadz00, BNIL))); 
BGl_list2739z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2740z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_list2742z00zz__threadz00, BNIL)); 
BGl_list2738z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_list2739z00zz__threadz00, BNIL); 
BGl_symbol2751z00zz__threadz00 = 
bstring_to_symbol(BGl_string2752z00zz__threadz00); 
BGl_list2750z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2751z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2740z00zz__threadz00, BNIL))); 
BGl_list2735z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2736z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_list2738z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_list2750z00zz__threadz00, BNIL))); 
BGl_list2730z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2731z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2733z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_list2735z00zz__threadz00, BNIL))); 
BGl_symbol2756z00zz__threadz00 = 
bstring_to_symbol(BGl_string2757z00zz__threadz00); 
BGl_list2755z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2756z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2756z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, BNIL)))); 
BGl_symbol2759z00zz__threadz00 = 
bstring_to_symbol(BGl_string2760z00zz__threadz00); 
BGl_symbol2762z00zz__threadz00 = 
bstring_to_symbol(BGl_string2763z00zz__threadz00); 
BGl_symbol2767z00zz__threadz00 = 
bstring_to_symbol(BGl_string2768z00zz__threadz00); 
BGl_symbol2770z00zz__threadz00 = 
bstring_to_symbol(BGl_string2771z00zz__threadz00); 
BGl_list2769z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2743z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2770z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_list2747z00zz__threadz00, BNIL))); 
BGl_list2766z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2767z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_list2769z00zz__threadz00, BNIL)); 
BGl_list2765z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_list2766z00zz__threadz00, BNIL); 
BGl_list2772z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2751z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2767z00zz__threadz00, BNIL))); 
BGl_list2764z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2736z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_list2765z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_list2772z00zz__threadz00, BNIL))); 
BGl_list2761z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2731z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2762z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_list2764z00zz__threadz00, BNIL))); 
BGl_symbol2776z00zz__threadz00 = 
bstring_to_symbol(BGl_string2777z00zz__threadz00); 
BGl_list2775z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2776z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2776z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, BNIL)))); 
BGl_symbol2781z00zz__threadz00 = 
bstring_to_symbol(BGl_string2782z00zz__threadz00); 
BGl_symbol2783z00zz__threadz00 = 
bstring_to_symbol(BGl_string2784z00zz__threadz00); 
BGl_list2780z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2781z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2781z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2783z00zz__threadz00, BNIL))))); 
BGl_symbol2788z00zz__threadz00 = 
bstring_to_symbol(BGl_string2789z00zz__threadz00); 
BGl_list2787z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2788z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2788z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, BNIL)))); 
BGl_symbol2793z00zz__threadz00 = 
bstring_to_symbol(BGl_string2794z00zz__threadz00); 
BGl_symbol2795z00zz__threadz00 = 
bstring_to_symbol(BGl_string2796z00zz__threadz00); 
BGl_list2792z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2793z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2793z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2795z00zz__threadz00, BNIL))))); 
BGl_symbol2800z00zz__threadz00 = 
bstring_to_symbol(BGl_string2801z00zz__threadz00); 
BGl_list2799z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2800z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2800z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, BNIL)))); 
BGl_symbol2805z00zz__threadz00 = 
bstring_to_symbol(BGl_string2806z00zz__threadz00); 
BGl_list2804z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2805z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2805z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2795z00zz__threadz00, BNIL))))); 
BGl_symbol2811z00zz__threadz00 = 
bstring_to_symbol(BGl_string2812z00zz__threadz00); 
BGl_list2810z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2811z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2811z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, BNIL)))); 
BGl_symbol2816z00zz__threadz00 = 
bstring_to_symbol(BGl_string2817z00zz__threadz00); 
BGl_list2815z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2816z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2816z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2724z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2795z00zz__threadz00, BNIL))))); 
BGl_symbol2821z00zz__threadz00 = 
bstring_to_symbol(BGl_string2822z00zz__threadz00); 
BGl_symbol2823z00zz__threadz00 = 
bstring_to_symbol(BGl_string2824z00zz__threadz00); 
BGl_list2820z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2821z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2821z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2823z00zz__threadz00, BNIL)))); 
BGl_symbol2828z00zz__threadz00 = 
bstring_to_symbol(BGl_string2829z00zz__threadz00); 
BGl_symbol2830z00zz__threadz00 = 
bstring_to_symbol(BGl_string2831z00zz__threadz00); 
BGl_list2827z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2828z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2828z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2823z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2830z00zz__threadz00, BNIL))))); 
BGl_symbol2835z00zz__threadz00 = 
bstring_to_symbol(BGl_string2836z00zz__threadz00); 
BGl_list2834z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2835z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2835z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2823z00zz__threadz00, BNIL)))); 
BGl_symbol2877z00zz__threadz00 = 
bstring_to_symbol(BGl_string2878z00zz__threadz00); 
BGl_list2876z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2877z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2877z00zz__threadz00, BNIL))); 
BGl_symbol2887z00zz__threadz00 = 
bstring_to_symbol(BGl_string2888z00zz__threadz00); 
BGl_list2886z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2887z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2887z00zz__threadz00, BNIL))); 
BGl_symbol2905z00zz__threadz00 = 
bstring_to_symbol(BGl_string2906z00zz__threadz00); 
BGl_symbol2907z00zz__threadz00 = 
bstring_to_symbol(BGl_string2908z00zz__threadz00); 
return ( 
BGl_list2904z00zz__threadz00 = 
MAKE_YOUNG_PAIR(BGl_symbol2488z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2905z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2905z00zz__threadz00, 
MAKE_YOUNG_PAIR(BGl_symbol2907z00zz__threadz00, BNIL)))), BUNSPEC) ;} 

}



/* gc-roots-init */
obj_t BGl_gczd2rootszd2initz00zz__threadz00(void)
{
{ /* Llib/thread.scm 17 */
return 
bgl_gc_roots_register();} 

}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zz__threadz00(void)
{
{ /* Llib/thread.scm 17 */
{ /* Llib/thread.scm 272 */
 BgL_nothreadzd2backendzd2_bglt BgL_new1058z00_1221;
{ /* Llib/thread.scm 273 */
 BgL_nothreadzd2backendzd2_bglt BgL_new1057z00_1222;
BgL_new1057z00_1222 = 
((BgL_nothreadzd2backendzd2_bglt)BOBJECT( GC_MALLOC( sizeof(struct BgL_nothreadzd2backendzd2_bgl) ))); 
{ /* Llib/thread.scm 273 */
 long BgL_arg1322z00_1223;
BgL_arg1322z00_1223 = 
BGL_CLASS_NUM(BGl_nothreadzd2backendzd2zz__threadz00); 
BGL_OBJECT_CLASS_NUM_SET(
((BgL_objectz00_bglt)BgL_new1057z00_1222), BgL_arg1322z00_1223); } 
BgL_new1058z00_1221 = BgL_new1057z00_1222; } 
((((BgL_threadzd2backendzd2_bglt)COBJECT(
((BgL_threadzd2backendzd2_bglt)BgL_new1058z00_1221)))->BgL_namez00)=((obj_t)BGl_string2440z00zz__threadz00),BUNSPEC); 
BGl_za2nothreadzd2backendza2zd2zz__threadz00 = BgL_new1058z00_1221; } 
{ /* Llib/thread.scm 279 */
 obj_t BgL_list1323z00_1224;
BgL_list1323z00_1224 = 
MAKE_YOUNG_PAIR(
((obj_t)BGl_za2nothreadzd2backendza2zd2zz__threadz00), BNIL); 
BGl_za2threadzd2backendsza2zd2zz__threadz00 = BgL_list1323z00_1224; } 
BGl_za2nothreadzd2currentza2zd2zz__threadz00 = BFALSE; 
BGl_za2mutexzd2nilza2zd2zz__threadz00 = 
bgl_make_nil_mutex(); 
return ( 
BGl_za2conditionzd2variablezd2nilza2z00zz__threadz00 = 
bgl_make_nil_condvar(), BUNSPEC) ;} 

}



/* dynamic-env? */
BGL_EXPORTED_DEF bool_t BGl_dynamiczd2envzf3z21zz__threadz00(obj_t BgL_objz00_3)
{
{ /* Llib/thread.scm 259 */
return 
BGL_DYNAMIC_ENVP(BgL_objz00_3);} 

}



/* &dynamic-env? */
obj_t BGl_z62dynamiczd2envzf3z43zz__threadz00(obj_t BgL_envz00_3432, obj_t BgL_objz00_3433)
{
{ /* Llib/thread.scm 259 */
return 
BBOOL(
BGl_dynamiczd2envzf3z21zz__threadz00(BgL_objz00_3433));} 

}



/* current-dynamic-env */
BGL_EXPORTED_DEF obj_t BGl_currentzd2dynamiczd2envz00zz__threadz00(void)
{
{ /* Llib/thread.scm 265 */
return 
BGL_CURRENT_DYNAMIC_ENV();} 

}



/* &current-dynamic-env */
obj_t BGl_z62currentzd2dynamiczd2envz62zz__threadz00(obj_t BgL_envz00_3434)
{
{ /* Llib/thread.scm 265 */
return 
BGl_currentzd2dynamiczd2envz00zz__threadz00();} 

}



/* current-thread-backend */
BGL_EXPORTED_DEF obj_t BGl_currentzd2threadzd2backendz00zz__threadz00(void)
{
{ /* Llib/thread.scm 284 */
return 
BGL_THREAD_BACKEND();} 

}



/* &current-thread-backend */
obj_t BGl_z62currentzd2threadzd2backendz62zz__threadz00(obj_t BgL_envz00_3435)
{
{ /* Llib/thread.scm 284 */
return 
BGl_currentzd2threadzd2backendz00zz__threadz00();} 

}



/* current-thread-backend-set! */
BGL_EXPORTED_DEF obj_t BGl_currentzd2threadzd2backendzd2setz12zc0zz__threadz00(BgL_threadzd2backendzd2_bglt BgL_tbz00_4)
{
{ /* Llib/thread.scm 290 */
{ /* Llib/thread.scm 291 */
 obj_t BgL_tmpz00_8444;
BgL_tmpz00_8444 = 
((obj_t)BgL_tbz00_4); 
BGL_THREAD_BACKEND_SET(BgL_tmpz00_8444); } BUNSPEC; 
return 
((obj_t)BgL_tbz00_4);} 

}



/* &current-thread-backend-set! */
obj_t BGl_z62currentzd2threadzd2backendzd2setz12za2zz__threadz00(obj_t BgL_envz00_3436, obj_t BgL_tbz00_3437)
{
{ /* Llib/thread.scm 290 */
{ /* Llib/thread.scm 291 */
 BgL_threadzd2backendzd2_bglt BgL_auxz00_8448;
if(
BGl_isazf3zf3zz__objectz00(BgL_tbz00_3437, BGl_threadzd2backendzd2zz__threadz00))
{ /* Llib/thread.scm 291 */
BgL_auxz00_8448 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_3437)
; }  else 
{ 
 obj_t BgL_auxz00_8452;
BgL_auxz00_8452 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(11215L), BGl_string2442z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_3437); 
FAILURE(BgL_auxz00_8452,BFALSE,BFALSE);} 
return 
BGl_currentzd2threadzd2backendzd2setz12zc0zz__threadz00(BgL_auxz00_8448);} } 

}



/* default-thread-backend */
BGL_EXPORTED_DEF obj_t BGl_defaultzd2threadzd2backendz00zz__threadz00(void)
{
{ /* Llib/thread.scm 297 */
{ /* Llib/thread.scm 298 */
 obj_t BgL_pairz00_2224;
{ /* Llib/thread.scm 298 */
 obj_t BgL_aux2084z00_3829;
BgL_aux2084z00_3829 = BGl_za2threadzd2backendsza2zd2zz__threadz00; 
if(
NULLP(BgL_aux2084z00_3829))
{ 
 obj_t BgL_auxz00_8459;
BgL_auxz00_8459 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(11494L), BGl_string2444z00zz__threadz00, BGl_string2445z00zz__threadz00, BgL_aux2084z00_3829); 
FAILURE(BgL_auxz00_8459,BFALSE,BFALSE);}  else 
{ /* Llib/thread.scm 298 */
BgL_pairz00_2224 = BgL_aux2084z00_3829; } } 
return 
CAR(BgL_pairz00_2224);} } 

}



/* &default-thread-backend */
obj_t BGl_z62defaultzd2threadzd2backendz62zz__threadz00(obj_t BgL_envz00_3438)
{
{ /* Llib/thread.scm 297 */
return 
BGl_defaultzd2threadzd2backendz00zz__threadz00();} 

}



/* default-thread-backend-set! */
BGL_EXPORTED_DEF obj_t BGl_defaultzd2threadzd2backendzd2setz12zc0zz__threadz00(BgL_threadzd2backendzd2_bglt BgL_tbz00_5)
{
{ /* Llib/thread.scm 303 */
BGl_za2threadzd2backendsza2zd2zz__threadz00 = 
bgl_remq_bang(
((obj_t)BgL_tbz00_5), BGl_za2threadzd2backendsza2zd2zz__threadz00); 
return ( 
BGl_za2threadzd2backendsza2zd2zz__threadz00 = 
MAKE_YOUNG_PAIR(
((obj_t)BgL_tbz00_5), BGl_za2threadzd2backendsza2zd2zz__threadz00), BUNSPEC) ;} 

}



/* &default-thread-backend-set! */
obj_t BGl_z62defaultzd2threadzd2backendzd2setz12za2zz__threadz00(obj_t BgL_envz00_3439, obj_t BgL_tbz00_3440)
{
{ /* Llib/thread.scm 303 */
{ /* Llib/thread.scm 304 */
 BgL_threadzd2backendzd2_bglt BgL_auxz00_8469;
if(
BGl_isazf3zf3zz__objectz00(BgL_tbz00_3440, BGl_threadzd2backendzd2zz__threadz00))
{ /* Llib/thread.scm 304 */
BgL_auxz00_8469 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_3440)
; }  else 
{ 
 obj_t BgL_auxz00_8473;
BgL_auxz00_8473 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(11833L), BGl_string2446z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_3440); 
FAILURE(BgL_auxz00_8473,BFALSE,BFALSE);} 
return 
BGl_defaultzd2threadzd2backendzd2setz12zc0zz__threadz00(BgL_auxz00_8469);} } 

}



/* get-thread-backend */
BGL_EXPORTED_DEF obj_t BGl_getzd2threadzd2backendz00zz__threadz00(obj_t BgL_namez00_6)
{
{ /* Llib/thread.scm 310 */
{ 
 obj_t BgL_tbsz00_1234;
BgL_tbsz00_1234 = BGl_za2threadzd2backendsza2zd2zz__threadz00; 
BgL_zc3z04anonymousza31328ze3z87_1235:
if(
PAIRP(BgL_tbsz00_1234))
{ /* Llib/thread.scm 313 */
 BgL_threadzd2backendzd2_bglt BgL_i1059z00_1237;
{ /* Llib/thread.scm 313 */
 obj_t BgL_aux2088z00_3835;
BgL_aux2088z00_3835 = 
CAR(BgL_tbsz00_1234); 
{ /* Llib/thread.scm 313 */
 bool_t BgL_test3312z00_8481;
{ /* Llib/thread.scm 313 */
 obj_t BgL_classz00_4396;
BgL_classz00_4396 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_aux2088z00_3835))
{ /* Llib/thread.scm 313 */
 BgL_objectz00_bglt BgL_arg1940z00_4398; long BgL_arg1941z00_4399;
BgL_arg1940z00_4398 = 
(BgL_objectz00_bglt)(BgL_aux2088z00_3835); 
BgL_arg1941z00_4399 = 
BGL_CLASS_DEPTH(BgL_classz00_4396); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 313 */
 long BgL_idxz00_4407;
BgL_idxz00_4407 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4398); 
{ /* Llib/thread.scm 313 */
 obj_t BgL_arg1933z00_4408;
{ /* Llib/thread.scm 313 */
 long BgL_arg1934z00_4409;
BgL_arg1934z00_4409 = 
(BgL_idxz00_4407+BgL_arg1941z00_4399); 
BgL_arg1933z00_4408 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4409); } 
BgL_test3312z00_8481 = 
(BgL_arg1933z00_4408==BgL_classz00_4396); } }  else 
{ /* Llib/thread.scm 313 */
 bool_t BgL_res2051z00_4414;
{ /* Llib/thread.scm 313 */
 obj_t BgL_oclassz00_4418;
{ /* Llib/thread.scm 313 */
 long BgL_arg1945z00_4420;
{ /* Llib/thread.scm 313 */
 long BgL_arg1946z00_4421;
BgL_arg1946z00_4421 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4398); 
BgL_arg1945z00_4420 = 
(BgL_arg1946z00_4421-OBJECT_TYPE); } 
BgL_oclassz00_4418 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4420); } 
{ /* Llib/thread.scm 313 */
 bool_t BgL__ortest_1147z00_4427;
BgL__ortest_1147z00_4427 = 
(BgL_classz00_4396==BgL_oclassz00_4418); 
if(BgL__ortest_1147z00_4427)
{ /* Llib/thread.scm 313 */
BgL_res2051z00_4414 = BgL__ortest_1147z00_4427; }  else 
{ /* Llib/thread.scm 313 */
 long BgL_odepthz00_4428;
BgL_odepthz00_4428 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4418); 
if(
(BgL_arg1941z00_4399<BgL_odepthz00_4428))
{ /* Llib/thread.scm 313 */
 obj_t BgL_arg1935z00_4432;
BgL_arg1935z00_4432 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4418, BgL_arg1941z00_4399); 
BgL_res2051z00_4414 = 
(BgL_arg1935z00_4432==BgL_classz00_4396); }  else 
{ /* Llib/thread.scm 313 */
BgL_res2051z00_4414 = ((bool_t)0); } } } } 
BgL_test3312z00_8481 = BgL_res2051z00_4414; } }  else 
{ /* Llib/thread.scm 313 */
BgL_test3312z00_8481 = ((bool_t)0)
; } } 
if(BgL_test3312z00_8481)
{ /* Llib/thread.scm 313 */
BgL_i1059z00_1237 = 
((BgL_threadzd2backendzd2_bglt)BgL_aux2088z00_3835); }  else 
{ 
 obj_t BgL_auxz00_8503;
BgL_auxz00_8503 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(12243L), BGl_string2447z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_aux2088z00_3835); 
FAILURE(BgL_auxz00_8503,BFALSE,BFALSE);} } } 
{ /* Llib/thread.scm 314 */
 bool_t BgL_test3317z00_8507;
{ /* Llib/thread.scm 314 */
 obj_t BgL_arg1333z00_1241;
BgL_arg1333z00_1241 = 
(((BgL_threadzd2backendzd2_bglt)COBJECT(BgL_i1059z00_1237))->BgL_namez00); 
{ /* Llib/thread.scm 314 */
 long BgL_l1z00_2228;
BgL_l1z00_2228 = 
STRING_LENGTH(BgL_arg1333z00_1241); 
if(
(BgL_l1z00_2228==
STRING_LENGTH(BgL_namez00_6)))
{ /* Llib/thread.scm 314 */
 int BgL_arg1649z00_2231;
{ /* Llib/thread.scm 314 */
 char * BgL_auxz00_8515; char * BgL_tmpz00_8513;
BgL_auxz00_8515 = 
BSTRING_TO_STRING(BgL_namez00_6); 
BgL_tmpz00_8513 = 
BSTRING_TO_STRING(BgL_arg1333z00_1241); 
BgL_arg1649z00_2231 = 
memcmp(BgL_tmpz00_8513, BgL_auxz00_8515, BgL_l1z00_2228); } 
BgL_test3317z00_8507 = 
(
(long)(BgL_arg1649z00_2231)==0L); }  else 
{ /* Llib/thread.scm 314 */
BgL_test3317z00_8507 = ((bool_t)0)
; } } } 
if(BgL_test3317z00_8507)
{ /* Llib/thread.scm 314 */
return 
CAR(BgL_tbsz00_1234);}  else 
{ 
 obj_t BgL_tbsz00_8521;
BgL_tbsz00_8521 = 
CDR(BgL_tbsz00_1234); 
BgL_tbsz00_1234 = BgL_tbsz00_8521; 
goto BgL_zc3z04anonymousza31328ze3z87_1235;} } }  else 
{ /* Llib/thread.scm 312 */
return BFALSE;} } } 

}



/* &get-thread-backend */
obj_t BGl_z62getzd2threadzd2backendz62zz__threadz00(obj_t BgL_envz00_3441, obj_t BgL_namez00_3442)
{
{ /* Llib/thread.scm 310 */
{ /* Llib/thread.scm 312 */
 obj_t BgL_auxz00_8523;
if(
STRINGP(BgL_namez00_3442))
{ /* Llib/thread.scm 312 */
BgL_auxz00_8523 = BgL_namez00_3442
; }  else 
{ 
 obj_t BgL_auxz00_8526;
BgL_auxz00_8526 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(12194L), BGl_string2448z00zz__threadz00, BGl_string2449z00zz__threadz00, BgL_namez00_3442); 
FAILURE(BgL_auxz00_8526,BFALSE,BFALSE);} 
return 
BGl_getzd2threadzd2backendz00zz__threadz00(BgL_auxz00_8523);} } 

}



/* _make-thread */
obj_t BGl__makezd2threadzd2zz__threadz00(obj_t BgL_env1222z00_47, obj_t BgL_opt1221z00_46)
{
{ /* Llib/thread.scm 445 */
{ /* Llib/thread.scm 445 */
 obj_t BgL_g1223z00_4433;
BgL_g1223z00_4433 = 
VECTOR_REF(BgL_opt1221z00_46,0L); 
{ 

switch( 
VECTOR_LENGTH(BgL_opt1221z00_46)) { case 1L : 

{ /* Llib/thread.scm 445 */
 obj_t BgL_namez00_4435;
BgL_namez00_4435 = 
BGl_gensymz00zz__r4_symbols_6_4z00(BGl_symbol2453z00zz__threadz00); 
{ /* Llib/thread.scm 445 */

{ /* Llib/thread.scm 445 */
 obj_t BgL_bodyz00_4436;
if(
PROCEDUREP(BgL_g1223z00_4433))
{ /* Llib/thread.scm 445 */
BgL_bodyz00_4436 = BgL_g1223z00_4433; }  else 
{ 
 obj_t BgL_auxz00_8535;
BgL_auxz00_8535 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19158L), BGl_string2455z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_g1223z00_4433); 
FAILURE(BgL_auxz00_8535,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 446 */
 obj_t BgL_arg1335z00_4437;
BgL_arg1335z00_4437 = 
BGl_defaultzd2threadzd2backendz00zz__threadz00(); 
{ 
 BgL_threadz00_bglt BgL_auxz00_8540;
{ /* Llib/thread.scm 446 */
 BgL_threadzd2backendzd2_bglt BgL_auxz00_8541;
if(
BGl_isazf3zf3zz__objectz00(BgL_arg1335z00_4437, BGl_threadzd2backendzd2zz__threadz00))
{ /* Llib/thread.scm 446 */
BgL_auxz00_8541 = 
((BgL_threadzd2backendzd2_bglt)BgL_arg1335z00_4437)
; }  else 
{ 
 obj_t BgL_auxz00_8545;
BgL_auxz00_8545 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19269L), BGl_string2455z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_arg1335z00_4437); 
FAILURE(BgL_auxz00_8545,BFALSE,BFALSE);} 
BgL_auxz00_8540 = 
BGl_tbzd2makezd2threadz00zz__threadz00(BgL_auxz00_8541, BgL_bodyz00_4436, BgL_namez00_4435); } 
return 
((obj_t)BgL_auxz00_8540);} } } } } break;case 2L : 

{ /* Llib/thread.scm 445 */
 obj_t BgL_namez00_4438;
BgL_namez00_4438 = 
VECTOR_REF(BgL_opt1221z00_46,1L); 
{ /* Llib/thread.scm 445 */

{ /* Llib/thread.scm 445 */
 obj_t BgL_bodyz00_4439;
if(
PROCEDUREP(BgL_g1223z00_4433))
{ /* Llib/thread.scm 445 */
BgL_bodyz00_4439 = BgL_g1223z00_4433; }  else 
{ 
 obj_t BgL_auxz00_8554;
BgL_auxz00_8554 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19158L), BGl_string2455z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_g1223z00_4433); 
FAILURE(BgL_auxz00_8554,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 446 */
 obj_t BgL_arg1335z00_4440;
BgL_arg1335z00_4440 = 
BGl_defaultzd2threadzd2backendz00zz__threadz00(); 
{ 
 BgL_threadz00_bglt BgL_auxz00_8559;
{ /* Llib/thread.scm 446 */
 BgL_threadzd2backendzd2_bglt BgL_auxz00_8560;
if(
BGl_isazf3zf3zz__objectz00(BgL_arg1335z00_4440, BGl_threadzd2backendzd2zz__threadz00))
{ /* Llib/thread.scm 446 */
BgL_auxz00_8560 = 
((BgL_threadzd2backendzd2_bglt)BgL_arg1335z00_4440)
; }  else 
{ 
 obj_t BgL_auxz00_8564;
BgL_auxz00_8564 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19269L), BGl_string2455z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_arg1335z00_4440); 
FAILURE(BgL_auxz00_8564,BFALSE,BFALSE);} 
BgL_auxz00_8559 = 
BGl_tbzd2makezd2threadz00zz__threadz00(BgL_auxz00_8560, BgL_bodyz00_4439, BgL_namez00_4438); } 
return 
((obj_t)BgL_auxz00_8559);} } } } } break;
default: 
return 
BGl_errorz00zz__errorz00(BGl_symbol2450z00zz__threadz00, BGl_string2452z00zz__threadz00, 
BINT(
VECTOR_LENGTH(BgL_opt1221z00_46)));} } } } 

}



/* make-thread */
BGL_EXPORTED_DEF BgL_threadz00_bglt BGl_makezd2threadzd2zz__threadz00(obj_t BgL_bodyz00_44, obj_t BgL_namez00_45)
{
{ /* Llib/thread.scm 445 */
{ /* Llib/thread.scm 446 */
 obj_t BgL_arg1335z00_4441;
BgL_arg1335z00_4441 = 
BGl_defaultzd2threadzd2backendz00zz__threadz00(); 
{ /* Llib/thread.scm 446 */
 BgL_threadzd2backendzd2_bglt BgL_auxz00_8576;
{ /* Llib/thread.scm 446 */
 bool_t BgL_test3324z00_8577;
{ /* Llib/thread.scm 446 */
 obj_t BgL_classz00_4442;
BgL_classz00_4442 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_arg1335z00_4441))
{ /* Llib/thread.scm 446 */
 BgL_objectz00_bglt BgL_arg1940z00_4444; long BgL_arg1941z00_4445;
BgL_arg1940z00_4444 = 
(BgL_objectz00_bglt)(BgL_arg1335z00_4441); 
BgL_arg1941z00_4445 = 
BGL_CLASS_DEPTH(BgL_classz00_4442); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 446 */
 long BgL_idxz00_4453;
BgL_idxz00_4453 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4444); 
{ /* Llib/thread.scm 446 */
 obj_t BgL_arg1933z00_4454;
{ /* Llib/thread.scm 446 */
 long BgL_arg1934z00_4455;
BgL_arg1934z00_4455 = 
(BgL_idxz00_4453+BgL_arg1941z00_4445); 
BgL_arg1933z00_4454 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4455); } 
BgL_test3324z00_8577 = 
(BgL_arg1933z00_4454==BgL_classz00_4442); } }  else 
{ /* Llib/thread.scm 446 */
 bool_t BgL_res2051z00_4460;
{ /* Llib/thread.scm 446 */
 obj_t BgL_oclassz00_4464;
{ /* Llib/thread.scm 446 */
 long BgL_arg1945z00_4466;
{ /* Llib/thread.scm 446 */
 long BgL_arg1946z00_4467;
BgL_arg1946z00_4467 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4444); 
BgL_arg1945z00_4466 = 
(BgL_arg1946z00_4467-OBJECT_TYPE); } 
BgL_oclassz00_4464 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4466); } 
{ /* Llib/thread.scm 446 */
 bool_t BgL__ortest_1147z00_4473;
BgL__ortest_1147z00_4473 = 
(BgL_classz00_4442==BgL_oclassz00_4464); 
if(BgL__ortest_1147z00_4473)
{ /* Llib/thread.scm 446 */
BgL_res2051z00_4460 = BgL__ortest_1147z00_4473; }  else 
{ /* Llib/thread.scm 446 */
 long BgL_odepthz00_4474;
BgL_odepthz00_4474 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4464); 
if(
(BgL_arg1941z00_4445<BgL_odepthz00_4474))
{ /* Llib/thread.scm 446 */
 obj_t BgL_arg1935z00_4478;
BgL_arg1935z00_4478 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4464, BgL_arg1941z00_4445); 
BgL_res2051z00_4460 = 
(BgL_arg1935z00_4478==BgL_classz00_4442); }  else 
{ /* Llib/thread.scm 446 */
BgL_res2051z00_4460 = ((bool_t)0); } } } } 
BgL_test3324z00_8577 = BgL_res2051z00_4460; } }  else 
{ /* Llib/thread.scm 446 */
BgL_test3324z00_8577 = ((bool_t)0)
; } } 
if(BgL_test3324z00_8577)
{ /* Llib/thread.scm 446 */
BgL_auxz00_8576 = 
((BgL_threadzd2backendzd2_bglt)BgL_arg1335z00_4441)
; }  else 
{ 
 obj_t BgL_auxz00_8599;
BgL_auxz00_8599 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19269L), BGl_string2451z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_arg1335z00_4441); 
FAILURE(BgL_auxz00_8599,BFALSE,BFALSE);} } 
return 
BGl_tbzd2makezd2threadz00zz__threadz00(BgL_auxz00_8576, BgL_bodyz00_44, BgL_namez00_45);} } } 

}



/* %current-thread */
obj_t BGl_z52currentzd2threadz80zz__threadz00(void)
{
{ /* Llib/thread.scm 457 */
{ /* Llib/thread.scm 458 */
 obj_t BgL_tbz00_1250;
BgL_tbz00_1250 = 
BGL_THREAD_BACKEND(); 
{ /* Llib/thread.scm 459 */
 bool_t BgL_test3329z00_8605;
{ /* Llib/thread.scm 459 */
 obj_t BgL_classz00_2250;
BgL_classz00_2250 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_1250))
{ /* Llib/thread.scm 459 */
 BgL_objectz00_bglt BgL_arg1938z00_2252;
BgL_arg1938z00_2252 = 
(BgL_objectz00_bglt)(BgL_tbz00_1250); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 459 */
 long BgL_idxz00_2258;
BgL_idxz00_2258 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1938z00_2252); 
{ /* Llib/thread.scm 459 */
 obj_t BgL_arg1933z00_2259;
{ /* Llib/thread.scm 459 */
 long BgL_arg1934z00_2260;
BgL_arg1934z00_2260 = 
(BgL_idxz00_2258+1L); 
{ /* Llib/thread.scm 459 */
 obj_t BgL_vectorz00_2262;
{ /* Llib/thread.scm 459 */
 obj_t BgL_aux2102z00_3857;
BgL_aux2102z00_3857 = BGl_za2inheritancesza2z00zz__objectz00; 
if(
VECTORP(BgL_aux2102z00_3857))
{ /* Llib/thread.scm 459 */
BgL_vectorz00_2262 = BgL_aux2102z00_3857; }  else 
{ 
 obj_t BgL_auxz00_8615;
BgL_auxz00_8615 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19862L), BGl_string2457z00zz__threadz00, BGl_string2458z00zz__threadz00, BgL_aux2102z00_3857); 
FAILURE(BgL_auxz00_8615,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 459 */
 bool_t BgL_test3333z00_8619;
{ /* Llib/thread.scm 459 */
 long BgL_tmpz00_8620;
BgL_tmpz00_8620 = 
VECTOR_LENGTH(BgL_vectorz00_2262); 
BgL_test3333z00_8619 = 
BOUND_CHECK(BgL_arg1934z00_2260, BgL_tmpz00_8620); } 
if(BgL_test3333z00_8619)
{ /* Llib/thread.scm 459 */
BgL_arg1933z00_2259 = 
VECTOR_REF(BgL_vectorz00_2262,BgL_arg1934z00_2260); }  else 
{ 
 obj_t BgL_auxz00_8624;
BgL_auxz00_8624 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19862L), BGl_string2459z00zz__threadz00, BgL_vectorz00_2262, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2262)), 
(int)(BgL_arg1934z00_2260)); 
FAILURE(BgL_auxz00_8624,BFALSE,BFALSE);} } } } 
BgL_test3329z00_8605 = 
(BgL_arg1933z00_2259==BgL_classz00_2250); } }  else 
{ /* Llib/thread.scm 459 */
 bool_t BgL_res1951z00_2280;
{ /* Llib/thread.scm 459 */
 obj_t BgL_oclassz00_2266;
{ /* Llib/thread.scm 459 */
 long BgL_arg1945z00_2272;
{ /* Llib/thread.scm 459 */
 long BgL_arg1946z00_2273;
BgL_arg1946z00_2273 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1938z00_2252); 
BgL_arg1945z00_2272 = 
(BgL_arg1946z00_2273-OBJECT_TYPE); } 
{ /* Llib/thread.scm 459 */
 obj_t BgL_vectorz00_2277;
{ /* Llib/thread.scm 459 */
 obj_t BgL_aux2104z00_3859;
BgL_aux2104z00_3859 = BGl_za2classesza2z00zz__objectz00; 
if(
VECTORP(BgL_aux2104z00_3859))
{ /* Llib/thread.scm 459 */
BgL_vectorz00_2277 = BgL_aux2104z00_3859; }  else 
{ 
 obj_t BgL_auxz00_8636;
BgL_auxz00_8636 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19862L), BGl_string2457z00zz__threadz00, BGl_string2458z00zz__threadz00, BgL_aux2104z00_3859); 
FAILURE(BgL_auxz00_8636,BFALSE,BFALSE);} } 
BgL_oclassz00_2266 = 
VECTOR_REF(BgL_vectorz00_2277,BgL_arg1945z00_2272); } } 
{ /* Llib/thread.scm 459 */
 bool_t BgL__ortest_1147z00_2267;
BgL__ortest_1147z00_2267 = 
(BgL_classz00_2250==BgL_oclassz00_2266); 
if(BgL__ortest_1147z00_2267)
{ /* Llib/thread.scm 459 */
BgL_res1951z00_2280 = BgL__ortest_1147z00_2267; }  else 
{ /* Llib/thread.scm 459 */
 long BgL_odepthz00_2268;
{ /* Llib/thread.scm 459 */
 obj_t BgL_tmpz00_8643;
if(
BGl_classzf3zf3zz__objectz00(BgL_oclassz00_2266))
{ /* Llib/thread.scm 459 */
BgL_tmpz00_8643 = BgL_oclassz00_2266
; }  else 
{ 
 obj_t BgL_auxz00_8646;
BgL_auxz00_8646 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19862L), BGl_string2457z00zz__threadz00, BGl_string2460z00zz__threadz00, BgL_oclassz00_2266); 
FAILURE(BgL_auxz00_8646,BFALSE,BFALSE);} 
BgL_odepthz00_2268 = 
BGL_CLASS_DEPTH(BgL_tmpz00_8643); } 
if(
(1L<BgL_odepthz00_2268))
{ /* Llib/thread.scm 459 */
 obj_t BgL_arg1935z00_2270;
{ /* Llib/thread.scm 459 */
 obj_t BgL_tmpz00_8653;
if(
BGl_classzf3zf3zz__objectz00(BgL_oclassz00_2266))
{ /* Llib/thread.scm 459 */
BgL_tmpz00_8653 = BgL_oclassz00_2266
; }  else 
{ 
 obj_t BgL_auxz00_8656;
BgL_auxz00_8656 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19862L), BGl_string2457z00zz__threadz00, BGl_string2460z00zz__threadz00, BgL_oclassz00_2266); 
FAILURE(BgL_auxz00_8656,BFALSE,BFALSE);} 
BgL_arg1935z00_2270 = 
BGL_CLASS_ANCESTORS_REF(BgL_tmpz00_8653, 1L); } 
BgL_res1951z00_2280 = 
(BgL_arg1935z00_2270==BgL_classz00_2250); }  else 
{ /* Llib/thread.scm 459 */
BgL_res1951z00_2280 = ((bool_t)0); } } } } 
BgL_test3329z00_8605 = BgL_res1951z00_2280; } }  else 
{ /* Llib/thread.scm 459 */
BgL_test3329z00_8605 = ((bool_t)0)
; } } 
if(BgL_test3329z00_8605)
{ /* Llib/thread.scm 460 */
 BgL_threadzd2backendzd2_bglt BgL_auxz00_8662;
{ /* Llib/thread.scm 460 */
 bool_t BgL_test3339z00_8663;
{ /* Llib/thread.scm 460 */
 obj_t BgL_classz00_4479;
BgL_classz00_4479 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_1250))
{ /* Llib/thread.scm 460 */
 BgL_objectz00_bglt BgL_arg1940z00_4481; long BgL_arg1941z00_4482;
BgL_arg1940z00_4481 = 
(BgL_objectz00_bglt)(BgL_tbz00_1250); 
BgL_arg1941z00_4482 = 
BGL_CLASS_DEPTH(BgL_classz00_4479); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 460 */
 long BgL_idxz00_4490;
BgL_idxz00_4490 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4481); 
{ /* Llib/thread.scm 460 */
 obj_t BgL_arg1933z00_4491;
{ /* Llib/thread.scm 460 */
 long BgL_arg1934z00_4492;
BgL_arg1934z00_4492 = 
(BgL_idxz00_4490+BgL_arg1941z00_4482); 
BgL_arg1933z00_4491 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4492); } 
BgL_test3339z00_8663 = 
(BgL_arg1933z00_4491==BgL_classz00_4479); } }  else 
{ /* Llib/thread.scm 460 */
 bool_t BgL_res2051z00_4497;
{ /* Llib/thread.scm 460 */
 obj_t BgL_oclassz00_4501;
{ /* Llib/thread.scm 460 */
 long BgL_arg1945z00_4503;
{ /* Llib/thread.scm 460 */
 long BgL_arg1946z00_4504;
BgL_arg1946z00_4504 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4481); 
BgL_arg1945z00_4503 = 
(BgL_arg1946z00_4504-OBJECT_TYPE); } 
BgL_oclassz00_4501 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4503); } 
{ /* Llib/thread.scm 460 */
 bool_t BgL__ortest_1147z00_4510;
BgL__ortest_1147z00_4510 = 
(BgL_classz00_4479==BgL_oclassz00_4501); 
if(BgL__ortest_1147z00_4510)
{ /* Llib/thread.scm 460 */
BgL_res2051z00_4497 = BgL__ortest_1147z00_4510; }  else 
{ /* Llib/thread.scm 460 */
 long BgL_odepthz00_4511;
BgL_odepthz00_4511 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4501); 
if(
(BgL_arg1941z00_4482<BgL_odepthz00_4511))
{ /* Llib/thread.scm 460 */
 obj_t BgL_arg1935z00_4515;
BgL_arg1935z00_4515 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4501, BgL_arg1941z00_4482); 
BgL_res2051z00_4497 = 
(BgL_arg1935z00_4515==BgL_classz00_4479); }  else 
{ /* Llib/thread.scm 460 */
BgL_res2051z00_4497 = ((bool_t)0); } } } } 
BgL_test3339z00_8663 = BgL_res2051z00_4497; } }  else 
{ /* Llib/thread.scm 460 */
BgL_test3339z00_8663 = ((bool_t)0)
; } } 
if(BgL_test3339z00_8663)
{ /* Llib/thread.scm 460 */
BgL_auxz00_8662 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_1250)
; }  else 
{ 
 obj_t BgL_auxz00_8685;
BgL_auxz00_8685 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19909L), BGl_string2457z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_1250); 
FAILURE(BgL_auxz00_8685,BFALSE,BFALSE);} } 
return 
BGl_tbzd2currentzd2threadz00zz__threadz00(BgL_auxz00_8662);}  else 
{ /* Llib/thread.scm 459 */
return BFALSE;} } } } 

}



/* current-thread */
BGL_EXPORTED_DEF obj_t BGl_currentzd2threadzd2zz__threadz00(void)
{
{ /* Llib/thread.scm 465 */
{ /* Llib/thread.scm 466 */
 obj_t BgL_thz00_1252;
BgL_thz00_1252 = 
BGl_z52currentzd2threadz80zz__threadz00(); 
{ /* Llib/thread.scm 467 */
 bool_t BgL_test3344z00_8691;
{ /* Llib/thread.scm 467 */
 obj_t BgL_classz00_2281;
BgL_classz00_2281 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_1252))
{ /* Llib/thread.scm 467 */
 BgL_objectz00_bglt BgL_arg1938z00_2283;
BgL_arg1938z00_2283 = 
(BgL_objectz00_bglt)(BgL_thz00_1252); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 467 */
 long BgL_idxz00_2289;
BgL_idxz00_2289 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1938z00_2283); 
{ /* Llib/thread.scm 467 */
 obj_t BgL_arg1933z00_2290;
{ /* Llib/thread.scm 467 */
 long BgL_arg1934z00_2291;
BgL_arg1934z00_2291 = 
(BgL_idxz00_2289+1L); 
{ /* Llib/thread.scm 467 */
 obj_t BgL_vectorz00_2293;
{ /* Llib/thread.scm 467 */
 obj_t BgL_aux2112z00_3869;
BgL_aux2112z00_3869 = BGl_za2inheritancesza2z00zz__objectz00; 
if(
VECTORP(BgL_aux2112z00_3869))
{ /* Llib/thread.scm 467 */
BgL_vectorz00_2293 = BgL_aux2112z00_3869; }  else 
{ 
 obj_t BgL_auxz00_8701;
BgL_auxz00_8701 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20209L), BGl_string2461z00zz__threadz00, BGl_string2458z00zz__threadz00, BgL_aux2112z00_3869); 
FAILURE(BgL_auxz00_8701,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 467 */
 bool_t BgL_test3348z00_8705;
{ /* Llib/thread.scm 467 */
 long BgL_tmpz00_8706;
BgL_tmpz00_8706 = 
VECTOR_LENGTH(BgL_vectorz00_2293); 
BgL_test3348z00_8705 = 
BOUND_CHECK(BgL_arg1934z00_2291, BgL_tmpz00_8706); } 
if(BgL_test3348z00_8705)
{ /* Llib/thread.scm 467 */
BgL_arg1933z00_2290 = 
VECTOR_REF(BgL_vectorz00_2293,BgL_arg1934z00_2291); }  else 
{ 
 obj_t BgL_auxz00_8710;
BgL_auxz00_8710 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20209L), BGl_string2459z00zz__threadz00, BgL_vectorz00_2293, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_2293)), 
(int)(BgL_arg1934z00_2291)); 
FAILURE(BgL_auxz00_8710,BFALSE,BFALSE);} } } } 
BgL_test3344z00_8691 = 
(BgL_arg1933z00_2290==BgL_classz00_2281); } }  else 
{ /* Llib/thread.scm 467 */
 bool_t BgL_res1952z00_2311;
{ /* Llib/thread.scm 467 */
 obj_t BgL_oclassz00_2297;
{ /* Llib/thread.scm 467 */
 long BgL_arg1945z00_2303;
{ /* Llib/thread.scm 467 */
 long BgL_arg1946z00_2304;
BgL_arg1946z00_2304 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1938z00_2283); 
BgL_arg1945z00_2303 = 
(BgL_arg1946z00_2304-OBJECT_TYPE); } 
{ /* Llib/thread.scm 467 */
 obj_t BgL_vectorz00_2308;
{ /* Llib/thread.scm 467 */
 obj_t BgL_aux2114z00_3871;
BgL_aux2114z00_3871 = BGl_za2classesza2z00zz__objectz00; 
if(
VECTORP(BgL_aux2114z00_3871))
{ /* Llib/thread.scm 467 */
BgL_vectorz00_2308 = BgL_aux2114z00_3871; }  else 
{ 
 obj_t BgL_auxz00_8722;
BgL_auxz00_8722 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20209L), BGl_string2461z00zz__threadz00, BGl_string2458z00zz__threadz00, BgL_aux2114z00_3871); 
FAILURE(BgL_auxz00_8722,BFALSE,BFALSE);} } 
BgL_oclassz00_2297 = 
VECTOR_REF(BgL_vectorz00_2308,BgL_arg1945z00_2303); } } 
{ /* Llib/thread.scm 467 */
 bool_t BgL__ortest_1147z00_2298;
BgL__ortest_1147z00_2298 = 
(BgL_classz00_2281==BgL_oclassz00_2297); 
if(BgL__ortest_1147z00_2298)
{ /* Llib/thread.scm 467 */
BgL_res1952z00_2311 = BgL__ortest_1147z00_2298; }  else 
{ /* Llib/thread.scm 467 */
 long BgL_odepthz00_2299;
{ /* Llib/thread.scm 467 */
 obj_t BgL_tmpz00_8729;
if(
BGl_classzf3zf3zz__objectz00(BgL_oclassz00_2297))
{ /* Llib/thread.scm 467 */
BgL_tmpz00_8729 = BgL_oclassz00_2297
; }  else 
{ 
 obj_t BgL_auxz00_8732;
BgL_auxz00_8732 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20209L), BGl_string2461z00zz__threadz00, BGl_string2460z00zz__threadz00, BgL_oclassz00_2297); 
FAILURE(BgL_auxz00_8732,BFALSE,BFALSE);} 
BgL_odepthz00_2299 = 
BGL_CLASS_DEPTH(BgL_tmpz00_8729); } 
if(
(1L<BgL_odepthz00_2299))
{ /* Llib/thread.scm 467 */
 obj_t BgL_arg1935z00_2301;
{ /* Llib/thread.scm 467 */
 obj_t BgL_tmpz00_8739;
if(
BGl_classzf3zf3zz__objectz00(BgL_oclassz00_2297))
{ /* Llib/thread.scm 467 */
BgL_tmpz00_8739 = BgL_oclassz00_2297
; }  else 
{ 
 obj_t BgL_auxz00_8742;
BgL_auxz00_8742 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20209L), BGl_string2461z00zz__threadz00, BGl_string2460z00zz__threadz00, BgL_oclassz00_2297); 
FAILURE(BgL_auxz00_8742,BFALSE,BFALSE);} 
BgL_arg1935z00_2301 = 
BGL_CLASS_ANCESTORS_REF(BgL_tmpz00_8739, 1L); } 
BgL_res1952z00_2311 = 
(BgL_arg1935z00_2301==BgL_classz00_2281); }  else 
{ /* Llib/thread.scm 467 */
BgL_res1952z00_2311 = ((bool_t)0); } } } } 
BgL_test3344z00_8691 = BgL_res1952z00_2311; } }  else 
{ /* Llib/thread.scm 467 */
BgL_test3344z00_8691 = ((bool_t)0)
; } } 
if(BgL_test3344z00_8691)
{ /* Llib/thread.scm 468 */
 BgL_threadz00_bglt BgL_auxz00_8748;
{ /* Llib/thread.scm 468 */
 bool_t BgL_test3354z00_8749;
{ /* Llib/thread.scm 468 */
 obj_t BgL_classz00_4516;
BgL_classz00_4516 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_1252))
{ /* Llib/thread.scm 468 */
 BgL_objectz00_bglt BgL_arg1940z00_4518; long BgL_arg1941z00_4519;
BgL_arg1940z00_4518 = 
(BgL_objectz00_bglt)(BgL_thz00_1252); 
BgL_arg1941z00_4519 = 
BGL_CLASS_DEPTH(BgL_classz00_4516); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 468 */
 long BgL_idxz00_4527;
BgL_idxz00_4527 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4518); 
{ /* Llib/thread.scm 468 */
 obj_t BgL_arg1933z00_4528;
{ /* Llib/thread.scm 468 */
 long BgL_arg1934z00_4529;
BgL_arg1934z00_4529 = 
(BgL_idxz00_4527+BgL_arg1941z00_4519); 
BgL_arg1933z00_4528 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4529); } 
BgL_test3354z00_8749 = 
(BgL_arg1933z00_4528==BgL_classz00_4516); } }  else 
{ /* Llib/thread.scm 468 */
 bool_t BgL_res2051z00_4534;
{ /* Llib/thread.scm 468 */
 obj_t BgL_oclassz00_4538;
{ /* Llib/thread.scm 468 */
 long BgL_arg1945z00_4540;
{ /* Llib/thread.scm 468 */
 long BgL_arg1946z00_4541;
BgL_arg1946z00_4541 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4518); 
BgL_arg1945z00_4540 = 
(BgL_arg1946z00_4541-OBJECT_TYPE); } 
BgL_oclassz00_4538 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4540); } 
{ /* Llib/thread.scm 468 */
 bool_t BgL__ortest_1147z00_4547;
BgL__ortest_1147z00_4547 = 
(BgL_classz00_4516==BgL_oclassz00_4538); 
if(BgL__ortest_1147z00_4547)
{ /* Llib/thread.scm 468 */
BgL_res2051z00_4534 = BgL__ortest_1147z00_4547; }  else 
{ /* Llib/thread.scm 468 */
 long BgL_odepthz00_4548;
BgL_odepthz00_4548 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4538); 
if(
(BgL_arg1941z00_4519<BgL_odepthz00_4548))
{ /* Llib/thread.scm 468 */
 obj_t BgL_arg1935z00_4552;
BgL_arg1935z00_4552 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4538, BgL_arg1941z00_4519); 
BgL_res2051z00_4534 = 
(BgL_arg1935z00_4552==BgL_classz00_4516); }  else 
{ /* Llib/thread.scm 468 */
BgL_res2051z00_4534 = ((bool_t)0); } } } } 
BgL_test3354z00_8749 = BgL_res2051z00_4534; } }  else 
{ /* Llib/thread.scm 468 */
BgL_test3354z00_8749 = ((bool_t)0)
; } } 
if(BgL_test3354z00_8749)
{ /* Llib/thread.scm 468 */
BgL_auxz00_8748 = 
((BgL_threadz00_bglt)BgL_thz00_1252)
; }  else 
{ 
 obj_t BgL_auxz00_8771;
BgL_auxz00_8771 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20250L), BGl_string2461z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_1252); 
FAILURE(BgL_auxz00_8771,BFALSE,BFALSE);} } 
return 
BGl_z52userzd2currentzd2threadz52zz__threadz00(BgL_auxz00_8748);}  else 
{ /* Llib/thread.scm 467 */
return BFALSE;} } } } 

}



/* &current-thread */
obj_t BGl_z62currentzd2threadzb0zz__threadz00(obj_t BgL_envz00_3443)
{
{ /* Llib/thread.scm 465 */
return 
BGl_currentzd2threadzd2zz__threadz00();} 

}



/* thread-sleep! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2sleepz12zc0zz__threadz00(obj_t BgL_objz00_51)
{
{ /* Llib/thread.scm 494 */
{ /* Llib/thread.scm 495 */
 obj_t BgL_arg1338z00_4553;
BgL_arg1338z00_4553 = 
BGl_currentzd2threadzd2zz__threadz00(); 
{ /* Llib/thread.scm 495 */
 BgL_threadz00_bglt BgL_auxz00_8778;
{ /* Llib/thread.scm 495 */
 bool_t BgL_test3359z00_8779;
{ /* Llib/thread.scm 495 */
 obj_t BgL_classz00_4554;
BgL_classz00_4554 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_arg1338z00_4553))
{ /* Llib/thread.scm 495 */
 BgL_objectz00_bglt BgL_arg1940z00_4556; long BgL_arg1941z00_4557;
BgL_arg1940z00_4556 = 
(BgL_objectz00_bglt)(BgL_arg1338z00_4553); 
BgL_arg1941z00_4557 = 
BGL_CLASS_DEPTH(BgL_classz00_4554); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 495 */
 long BgL_idxz00_4565;
BgL_idxz00_4565 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4556); 
{ /* Llib/thread.scm 495 */
 obj_t BgL_arg1933z00_4566;
{ /* Llib/thread.scm 495 */
 long BgL_arg1934z00_4567;
BgL_arg1934z00_4567 = 
(BgL_idxz00_4565+BgL_arg1941z00_4557); 
BgL_arg1933z00_4566 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4567); } 
BgL_test3359z00_8779 = 
(BgL_arg1933z00_4566==BgL_classz00_4554); } }  else 
{ /* Llib/thread.scm 495 */
 bool_t BgL_res2051z00_4572;
{ /* Llib/thread.scm 495 */
 obj_t BgL_oclassz00_4576;
{ /* Llib/thread.scm 495 */
 long BgL_arg1945z00_4578;
{ /* Llib/thread.scm 495 */
 long BgL_arg1946z00_4579;
BgL_arg1946z00_4579 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4556); 
BgL_arg1945z00_4578 = 
(BgL_arg1946z00_4579-OBJECT_TYPE); } 
BgL_oclassz00_4576 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4578); } 
{ /* Llib/thread.scm 495 */
 bool_t BgL__ortest_1147z00_4585;
BgL__ortest_1147z00_4585 = 
(BgL_classz00_4554==BgL_oclassz00_4576); 
if(BgL__ortest_1147z00_4585)
{ /* Llib/thread.scm 495 */
BgL_res2051z00_4572 = BgL__ortest_1147z00_4585; }  else 
{ /* Llib/thread.scm 495 */
 long BgL_odepthz00_4586;
BgL_odepthz00_4586 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4576); 
if(
(BgL_arg1941z00_4557<BgL_odepthz00_4586))
{ /* Llib/thread.scm 495 */
 obj_t BgL_arg1935z00_4590;
BgL_arg1935z00_4590 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4576, BgL_arg1941z00_4557); 
BgL_res2051z00_4572 = 
(BgL_arg1935z00_4590==BgL_classz00_4554); }  else 
{ /* Llib/thread.scm 495 */
BgL_res2051z00_4572 = ((bool_t)0); } } } } 
BgL_test3359z00_8779 = BgL_res2051z00_4572; } }  else 
{ /* Llib/thread.scm 495 */
BgL_test3359z00_8779 = ((bool_t)0)
; } } 
if(BgL_test3359z00_8779)
{ /* Llib/thread.scm 495 */
BgL_auxz00_8778 = 
((BgL_threadz00_bglt)BgL_arg1338z00_4553)
; }  else 
{ 
 obj_t BgL_auxz00_8801;
BgL_auxz00_8801 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(21345L), BGl_string2462z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_arg1338z00_4553); 
FAILURE(BgL_auxz00_8801,BFALSE,BFALSE);} } 
return 
BGl_z52userzd2threadzd2sleepz12z40zz__threadz00(BgL_auxz00_8778, BgL_objz00_51);} } } 

}



/* &thread-sleep! */
obj_t BGl_z62threadzd2sleepz12za2zz__threadz00(obj_t BgL_envz00_3444, obj_t BgL_objz00_3445)
{
{ /* Llib/thread.scm 494 */
return 
BGl_threadzd2sleepz12zc0zz__threadz00(BgL_objz00_3445);} 

}



/* thread-yield! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2yieldz12zc0zz__threadz00(void)
{
{ /* Llib/thread.scm 506 */
{ /* Llib/thread.scm 507 */
 obj_t BgL_arg1339z00_4591;
BgL_arg1339z00_4591 = 
BGl_currentzd2threadzd2zz__threadz00(); 
{ /* Llib/thread.scm 507 */
 BgL_threadz00_bglt BgL_auxz00_8808;
{ /* Llib/thread.scm 507 */
 bool_t BgL_test3364z00_8809;
{ /* Llib/thread.scm 507 */
 obj_t BgL_classz00_4592;
BgL_classz00_4592 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_arg1339z00_4591))
{ /* Llib/thread.scm 507 */
 BgL_objectz00_bglt BgL_arg1940z00_4594; long BgL_arg1941z00_4595;
BgL_arg1940z00_4594 = 
(BgL_objectz00_bglt)(BgL_arg1339z00_4591); 
BgL_arg1941z00_4595 = 
BGL_CLASS_DEPTH(BgL_classz00_4592); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 507 */
 long BgL_idxz00_4603;
BgL_idxz00_4603 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4594); 
{ /* Llib/thread.scm 507 */
 obj_t BgL_arg1933z00_4604;
{ /* Llib/thread.scm 507 */
 long BgL_arg1934z00_4605;
BgL_arg1934z00_4605 = 
(BgL_idxz00_4603+BgL_arg1941z00_4595); 
BgL_arg1933z00_4604 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4605); } 
BgL_test3364z00_8809 = 
(BgL_arg1933z00_4604==BgL_classz00_4592); } }  else 
{ /* Llib/thread.scm 507 */
 bool_t BgL_res2051z00_4610;
{ /* Llib/thread.scm 507 */
 obj_t BgL_oclassz00_4614;
{ /* Llib/thread.scm 507 */
 long BgL_arg1945z00_4616;
{ /* Llib/thread.scm 507 */
 long BgL_arg1946z00_4617;
BgL_arg1946z00_4617 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4594); 
BgL_arg1945z00_4616 = 
(BgL_arg1946z00_4617-OBJECT_TYPE); } 
BgL_oclassz00_4614 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4616); } 
{ /* Llib/thread.scm 507 */
 bool_t BgL__ortest_1147z00_4623;
BgL__ortest_1147z00_4623 = 
(BgL_classz00_4592==BgL_oclassz00_4614); 
if(BgL__ortest_1147z00_4623)
{ /* Llib/thread.scm 507 */
BgL_res2051z00_4610 = BgL__ortest_1147z00_4623; }  else 
{ /* Llib/thread.scm 507 */
 long BgL_odepthz00_4624;
BgL_odepthz00_4624 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4614); 
if(
(BgL_arg1941z00_4595<BgL_odepthz00_4624))
{ /* Llib/thread.scm 507 */
 obj_t BgL_arg1935z00_4628;
BgL_arg1935z00_4628 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4614, BgL_arg1941z00_4595); 
BgL_res2051z00_4610 = 
(BgL_arg1935z00_4628==BgL_classz00_4592); }  else 
{ /* Llib/thread.scm 507 */
BgL_res2051z00_4610 = ((bool_t)0); } } } } 
BgL_test3364z00_8809 = BgL_res2051z00_4610; } }  else 
{ /* Llib/thread.scm 507 */
BgL_test3364z00_8809 = ((bool_t)0)
; } } 
if(BgL_test3364z00_8809)
{ /* Llib/thread.scm 507 */
BgL_auxz00_8808 = 
((BgL_threadz00_bglt)BgL_arg1339z00_4591)
; }  else 
{ 
 obj_t BgL_auxz00_8831;
BgL_auxz00_8831 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(21936L), BGl_string2463z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_arg1339z00_4591); 
FAILURE(BgL_auxz00_8831,BFALSE,BFALSE);} } 
return 
BGl_z52userzd2threadzd2yieldz12z40zz__threadz00(BgL_auxz00_8808);} } } 

}



/* &thread-yield! */
obj_t BGl_z62threadzd2yieldz12za2zz__threadz00(obj_t BgL_envz00_3446)
{
{ /* Llib/thread.scm 506 */
return 
BGl_threadzd2yieldz12zc0zz__threadz00();} 

}



/* thread-parameter */
BGL_EXPORTED_DEF obj_t BGl_threadzd2parameterzd2zz__threadz00(obj_t BgL_idz00_53)
{
{ /* Llib/thread.scm 512 */
{ /* Llib/thread.scm 513 */
 obj_t BgL_cz00_2314;
{ /* Llib/thread.scm 513 */
 obj_t BgL_arg1341z00_2315;
BgL_arg1341z00_2315 = 
BGL_PARAMETERS(); 
{ /* Llib/thread.scm 513 */
 obj_t BgL_auxz00_8838;
{ /* Llib/thread.scm 513 */
 bool_t BgL_test3369z00_8839;
if(
PAIRP(BgL_arg1341z00_2315))
{ /* Llib/thread.scm 513 */
BgL_test3369z00_8839 = ((bool_t)1)
; }  else 
{ /* Llib/thread.scm 513 */
BgL_test3369z00_8839 = 
NULLP(BgL_arg1341z00_2315)
; } 
if(BgL_test3369z00_8839)
{ /* Llib/thread.scm 513 */
BgL_auxz00_8838 = BgL_arg1341z00_2315
; }  else 
{ 
 obj_t BgL_auxz00_8843;
BgL_auxz00_8843 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(22236L), BGl_string2464z00zz__threadz00, BGl_string2465z00zz__threadz00, BgL_arg1341z00_2315); 
FAILURE(BgL_auxz00_8843,BFALSE,BFALSE);} } 
BgL_cz00_2314 = 
BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_idz00_53, BgL_auxz00_8838); } } 
if(
PAIRP(BgL_cz00_2314))
{ /* Llib/thread.scm 514 */
return 
CDR(BgL_cz00_2314);}  else 
{ /* Llib/thread.scm 514 */
return BFALSE;} } } 

}



/* &thread-parameter */
obj_t BGl_z62threadzd2parameterzb0zz__threadz00(obj_t BgL_envz00_3447, obj_t BgL_idz00_3448)
{
{ /* Llib/thread.scm 512 */
{ /* Llib/thread.scm 513 */
 obj_t BgL_auxz00_8851;
if(
SYMBOLP(BgL_idz00_3448))
{ /* Llib/thread.scm 513 */
BgL_auxz00_8851 = BgL_idz00_3448
; }  else 
{ 
 obj_t BgL_auxz00_8854;
BgL_auxz00_8854 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(22199L), BGl_string2466z00zz__threadz00, BGl_string2467z00zz__threadz00, BgL_idz00_3448); 
FAILURE(BgL_auxz00_8854,BFALSE,BFALSE);} 
return 
BGl_threadzd2parameterzd2zz__threadz00(BgL_auxz00_8851);} } 

}



/* thread-parameter-set! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2parameterzd2setz12z12zz__threadz00(obj_t BgL_idz00_54, obj_t BgL_valz00_55)
{
{ /* Llib/thread.scm 521 */
{ /* Llib/thread.scm 522 */
 obj_t BgL_cz00_1259;
{ /* Llib/thread.scm 522 */
 obj_t BgL_arg1346z00_1264;
BgL_arg1346z00_1264 = 
BGL_PARAMETERS(); 
{ /* Llib/thread.scm 522 */
 obj_t BgL_auxz00_8860;
{ /* Llib/thread.scm 522 */
 bool_t BgL_test3373z00_8861;
if(
PAIRP(BgL_arg1346z00_1264))
{ /* Llib/thread.scm 522 */
BgL_test3373z00_8861 = ((bool_t)1)
; }  else 
{ /* Llib/thread.scm 522 */
BgL_test3373z00_8861 = 
NULLP(BgL_arg1346z00_1264)
; } 
if(BgL_test3373z00_8861)
{ /* Llib/thread.scm 522 */
BgL_auxz00_8860 = BgL_arg1346z00_1264
; }  else 
{ 
 obj_t BgL_auxz00_8865;
BgL_auxz00_8865 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(22583L), BGl_string2468z00zz__threadz00, BGl_string2465z00zz__threadz00, BgL_arg1346z00_1264); 
FAILURE(BgL_auxz00_8865,BFALSE,BFALSE);} } 
BgL_cz00_1259 = 
BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_idz00_54, BgL_auxz00_8860); } } 
if(
PAIRP(BgL_cz00_1259))
{ /* Llib/thread.scm 523 */
return 
SET_CDR(BgL_cz00_1259, BgL_valz00_55);}  else 
{ /* Llib/thread.scm 523 */
{ /* Llib/thread.scm 527 */
 obj_t BgL_arg1343z00_1261;
{ /* Llib/thread.scm 527 */
 obj_t BgL_arg1344z00_1262; obj_t BgL_arg1345z00_1263;
BgL_arg1344z00_1262 = 
MAKE_YOUNG_PAIR(BgL_idz00_54, BgL_valz00_55); 
BgL_arg1345z00_1263 = 
BGL_PARAMETERS(); 
BgL_arg1343z00_1261 = 
MAKE_YOUNG_PAIR(BgL_arg1344z00_1262, BgL_arg1345z00_1263); } 
BGL_PARAMETERS_SET(BgL_arg1343z00_1261); } 
return BgL_valz00_55;} } } 

}



/* &thread-parameter-set! */
obj_t BGl_z62threadzd2parameterzd2setz12z70zz__threadz00(obj_t BgL_envz00_3449, obj_t BgL_idz00_3450, obj_t BgL_valz00_3451)
{
{ /* Llib/thread.scm 521 */
{ /* Llib/thread.scm 522 */
 obj_t BgL_auxz00_8877;
if(
SYMBOLP(BgL_idz00_3450))
{ /* Llib/thread.scm 522 */
BgL_auxz00_8877 = BgL_idz00_3450
; }  else 
{ 
 obj_t BgL_auxz00_8880;
BgL_auxz00_8880 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(22546L), BGl_string2469z00zz__threadz00, BGl_string2467z00zz__threadz00, BgL_idz00_3450); 
FAILURE(BgL_auxz00_8880,BFALSE,BFALSE);} 
return 
BGl_threadzd2parameterzd2setz12z12zz__threadz00(BgL_auxz00_8877, BgL_valz00_3451);} } 

}



/* mutex? */
BGL_EXPORTED_DEF bool_t BGl_mutexzf3zf3zz__threadz00(obj_t BgL_objz00_73)
{
{ /* Llib/thread.scm 614 */
return 
BGL_MUTEXP(BgL_objz00_73);} 

}



/* &mutex? */
obj_t BGl_z62mutexzf3z91zz__threadz00(obj_t BgL_envz00_3452, obj_t BgL_objz00_3453)
{
{ /* Llib/thread.scm 614 */
return 
BBOOL(
BGl_mutexzf3zf3zz__threadz00(BgL_objz00_3453));} 

}



/* _make-mutex */
obj_t BGl__makezd2mutexzd2zz__threadz00(obj_t BgL_env1255z00_76, obj_t BgL_opt1254z00_75)
{
{ /* Llib/thread.scm 620 */
{ /* Llib/thread.scm 620 */

{ 

switch( 
VECTOR_LENGTH(BgL_opt1254z00_75)) { case 0L : 

{ /* Llib/thread.scm 620 */
 obj_t BgL_namez00_4632;
BgL_namez00_4632 = 
BGl_gensymz00zz__r4_symbols_6_4z00(BGl_symbol2473z00zz__threadz00); 
{ /* Llib/thread.scm 620 */

return 
bgl_make_mutex(BgL_namez00_4632);} } break;case 1L : 

{ /* Llib/thread.scm 620 */
 obj_t BgL_namez00_4633;
BgL_namez00_4633 = 
VECTOR_REF(BgL_opt1254z00_75,0L); 
{ /* Llib/thread.scm 620 */

return 
bgl_make_mutex(BgL_namez00_4633);} } break;
default: 
return 
BGl_errorz00zz__errorz00(BGl_symbol2470z00zz__threadz00, BGl_string2472z00zz__threadz00, 
BINT(
VECTOR_LENGTH(BgL_opt1254z00_75)));} } } } 

}



/* make-mutex */
BGL_EXPORTED_DEF obj_t BGl_makezd2mutexzd2zz__threadz00(obj_t BgL_namez00_74)
{
{ /* Llib/thread.scm 620 */
return 
bgl_make_mutex(BgL_namez00_74);} 

}



/* _make-spinlock */
obj_t BGl__makezd2spinlockzd2zz__threadz00(obj_t BgL_env1259z00_79, obj_t BgL_opt1258z00_78)
{
{ /* Llib/thread.scm 626 */
{ /* Llib/thread.scm 626 */

{ 

switch( 
VECTOR_LENGTH(BgL_opt1258z00_78)) { case 0L : 

{ /* Llib/thread.scm 626 */
 obj_t BgL_namez00_4635;
BgL_namez00_4635 = 
BGl_gensymz00zz__r4_symbols_6_4z00(BGl_symbol2477z00zz__threadz00); 
{ /* Llib/thread.scm 626 */

return 
bgl_make_spinlock(BgL_namez00_4635);} } break;case 1L : 

{ /* Llib/thread.scm 626 */
 obj_t BgL_namez00_4636;
BgL_namez00_4636 = 
VECTOR_REF(BgL_opt1258z00_78,0L); 
{ /* Llib/thread.scm 626 */

return 
bgl_make_spinlock(BgL_namez00_4636);} } break;
default: 
return 
BGl_errorz00zz__errorz00(BGl_symbol2475z00zz__threadz00, BGl_string2472z00zz__threadz00, 
BINT(
VECTOR_LENGTH(BgL_opt1258z00_78)));} } } } 

}



/* make-spinlock */
BGL_EXPORTED_DEF obj_t BGl_makezd2spinlockzd2zz__threadz00(obj_t BgL_namez00_77)
{
{ /* Llib/thread.scm 626 */
return 
bgl_make_spinlock(BgL_namez00_77);} 

}



/* mutex-nil */
BGL_EXPORTED_DEF obj_t BGl_mutexzd2nilzd2zz__threadz00(void)
{
{ /* Llib/thread.scm 633 */
return BGl_za2mutexzd2nilza2zd2zz__threadz00;} 

}



/* &mutex-nil */
obj_t BGl_z62mutexzd2nilzb0zz__threadz00(obj_t BgL_envz00_3454)
{
{ /* Llib/thread.scm 633 */
return 
BGl_mutexzd2nilzd2zz__threadz00();} 

}



/* mutex-name */
BGL_EXPORTED_DEF obj_t BGl_mutexzd2namezd2zz__threadz00(obj_t BgL_objz00_80)
{
{ /* Llib/thread.scm 638 */
return 
BGL_MUTEX_NAME(BgL_objz00_80);} 

}



/* &mutex-name */
obj_t BGl_z62mutexzd2namezb0zz__threadz00(obj_t BgL_envz00_3455, obj_t BgL_objz00_3456)
{
{ /* Llib/thread.scm 638 */
{ /* Llib/thread.scm 639 */
 obj_t BgL_auxz00_8910;
if(
BGL_MUTEXP(BgL_objz00_3456))
{ /* Llib/thread.scm 639 */
BgL_auxz00_8910 = BgL_objz00_3456
; }  else 
{ 
 obj_t BgL_auxz00_8913;
BgL_auxz00_8913 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(28093L), BGl_string2479z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_objz00_3456); 
FAILURE(BgL_auxz00_8913,BFALSE,BFALSE);} 
return 
BGl_mutexzd2namezd2zz__threadz00(BgL_auxz00_8910);} } 

}



/* _mutex-lock! */
obj_t BGl__mutexzd2lockz12zc0zz__threadz00(obj_t BgL_env1263z00_84, obj_t BgL_opt1262z00_83)
{
{ /* Llib/thread.scm 644 */
{ /* Llib/thread.scm 644 */
 obj_t BgL_g1264z00_4637;
BgL_g1264z00_4637 = 
VECTOR_REF(BgL_opt1262z00_83,0L); 
{ 

switch( 
VECTOR_LENGTH(BgL_opt1262z00_83)) { case 1L : 

{ /* Llib/thread.scm 644 */

{ /* Llib/thread.scm 644 */
 obj_t BgL_mz00_4639;
if(
BGL_MUTEXP(BgL_g1264z00_4637))
{ /* Llib/thread.scm 644 */
BgL_mz00_4639 = BgL_g1264z00_4637; }  else 
{ 
 obj_t BgL_auxz00_8921;
BgL_auxz00_8921 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(28335L), BGl_string2482z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_g1264z00_4637); 
FAILURE(BgL_auxz00_8921,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 646 */
 int BgL_arg1352z00_4640;
BgL_arg1352z00_4640 = 
BGL_MUTEX_LOCK(BgL_mz00_4639); 
return 
BBOOL(
(
(long)(BgL_arg1352z00_4640)==0L));} } } break;case 2L : 

{ /* Llib/thread.scm 644 */
 obj_t BgL_timeoutz00_4641;
BgL_timeoutz00_4641 = 
VECTOR_REF(BgL_opt1262z00_83,1L); 
{ /* Llib/thread.scm 644 */

{ /* Llib/thread.scm 644 */
 obj_t BgL_mz00_4642; long BgL_timeoutz00_4643;
if(
BGL_MUTEXP(BgL_g1264z00_4637))
{ /* Llib/thread.scm 644 */
BgL_mz00_4642 = BgL_g1264z00_4637; }  else 
{ 
 obj_t BgL_auxz00_8932;
BgL_auxz00_8932 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(28335L), BGl_string2482z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_g1264z00_4637); 
FAILURE(BgL_auxz00_8932,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 644 */
 obj_t BgL_tmpz00_8936;
if(
INTEGERP(BgL_timeoutz00_4641))
{ /* Llib/thread.scm 644 */
BgL_tmpz00_8936 = BgL_timeoutz00_4641
; }  else 
{ 
 obj_t BgL_auxz00_8939;
BgL_auxz00_8939 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(28335L), BGl_string2482z00zz__threadz00, BGl_string2483z00zz__threadz00, BgL_timeoutz00_4641); 
FAILURE(BgL_auxz00_8939,BFALSE,BFALSE);} 
BgL_timeoutz00_4643 = 
(long)CINT(BgL_tmpz00_8936); } 
if(
(BgL_timeoutz00_4643==0L))
{ /* Llib/thread.scm 646 */
 int BgL_arg1352z00_4644;
BgL_arg1352z00_4644 = 
BGL_MUTEX_LOCK(BgL_mz00_4642); 
return 
BBOOL(
(
(long)(BgL_arg1352z00_4644)==0L));}  else 
{ /* Llib/thread.scm 647 */
 int BgL_arg1353z00_4645;
BgL_arg1353z00_4645 = 
BGL_MUTEX_TIMED_LOCK(BgL_mz00_4642, BgL_timeoutz00_4643); 
return 
BBOOL(
(
(long)(BgL_arg1353z00_4645)==0L));} } } } break;
default: 
return 
BGl_errorz00zz__errorz00(BGl_symbol2480z00zz__threadz00, BGl_string2452z00zz__threadz00, 
BINT(
VECTOR_LENGTH(BgL_opt1262z00_83)));} } } } 

}



/* mutex-lock! */
BGL_EXPORTED_DEF obj_t BGl_mutexzd2lockz12zc0zz__threadz00(obj_t BgL_mz00_81, long BgL_timeoutz00_82)
{
{ /* Llib/thread.scm 644 */
if(
(BgL_timeoutz00_82==0L))
{ /* Llib/thread.scm 646 */
 int BgL_arg1352z00_4646;
BgL_arg1352z00_4646 = 
BGL_MUTEX_LOCK(BgL_mz00_81); 
return 
BBOOL(
(
(long)(BgL_arg1352z00_4646)==0L));}  else 
{ /* Llib/thread.scm 647 */
 int BgL_arg1353z00_4647;
BgL_arg1353z00_4647 = 
BGL_MUTEX_TIMED_LOCK(BgL_mz00_81, BgL_timeoutz00_82); 
return 
BBOOL(
(
(long)(BgL_arg1353z00_4647)==0L));} } 

}



/* mutex-unlock! */
BGL_EXPORTED_DEF obj_t BGl_mutexzd2unlockz12zc0zz__threadz00(obj_t BgL_mz00_85)
{
{ /* Llib/thread.scm 652 */
{ /* Llib/thread.scm 653 */
 int BgL_arg1354z00_4648;
BgL_arg1354z00_4648 = 
BGL_MUTEX_UNLOCK(BgL_mz00_85); 
return 
BBOOL(
(
(long)(BgL_arg1354z00_4648)==0L));} } 

}



/* &mutex-unlock! */
obj_t BGl_z62mutexzd2unlockz12za2zz__threadz00(obj_t BgL_envz00_3457, obj_t BgL_mz00_3458)
{
{ /* Llib/thread.scm 652 */
{ /* Llib/thread.scm 653 */
 obj_t BgL_auxz00_8973;
if(
BGL_MUTEXP(BgL_mz00_3458))
{ /* Llib/thread.scm 653 */
BgL_auxz00_8973 = BgL_mz00_3458
; }  else 
{ 
 obj_t BgL_auxz00_8976;
BgL_auxz00_8976 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(28760L), BGl_string2484z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_mz00_3458); 
FAILURE(BgL_auxz00_8976,BFALSE,BFALSE);} 
return 
BGl_mutexzd2unlockz12zc0zz__threadz00(BgL_auxz00_8973);} } 

}



/* mutex-state */
BGL_EXPORTED_DEF obj_t BGl_mutexzd2statezd2zz__threadz00(obj_t BgL_mutexz00_86)
{
{ /* Llib/thread.scm 658 */
return 
BGL_MUTEX_STATE(BgL_mutexz00_86);} 

}



/* &mutex-state */
obj_t BGl_z62mutexzd2statezb0zz__threadz00(obj_t BgL_envz00_3459, obj_t BgL_mutexz00_3460)
{
{ /* Llib/thread.scm 658 */
{ /* Llib/thread.scm 659 */
 obj_t BgL_auxz00_8982;
if(
BGL_MUTEXP(BgL_mutexz00_3460))
{ /* Llib/thread.scm 659 */
BgL_auxz00_8982 = BgL_mutexz00_3460
; }  else 
{ 
 obj_t BgL_auxz00_8985;
BgL_auxz00_8985 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(29043L), BGl_string2485z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_mutexz00_3460); 
FAILURE(BgL_auxz00_8985,BFALSE,BFALSE);} 
return 
BGl_mutexzd2statezd2zz__threadz00(BgL_auxz00_8982);} } 

}



/* with-lock */
BGL_EXPORTED_DEF obj_t BGl_withzd2lockzd2zz__threadz00(obj_t BgL_mutexz00_88, obj_t BgL_thunkz00_89)
{
{ /* Llib/thread.scm 670 */
{ /* Llib/thread.scm 671 */
 obj_t BgL_top3386z00_8991;
BgL_top3386z00_8991 = 
BGL_EXITD_TOP_AS_OBJ(); 
BGL_MUTEX_LOCK(BgL_mutexz00_88); 
BGL_EXITD_PUSH_PROTECT(BgL_top3386z00_8991, BgL_mutexz00_88); BUNSPEC; 
{ /* Llib/thread.scm 671 */
 obj_t BgL_tmp3385z00_8990;
if(
PROCEDURE_CORRECT_ARITYP(BgL_thunkz00_89, 0L))
{ /* Llib/thread.scm 672 */
BgL_tmp3385z00_8990 = 
(VA_PROCEDUREP( BgL_thunkz00_89 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_thunkz00_89))(BgL_thunkz00_89, BEOA) : ((obj_t (*)(obj_t))PROCEDURE_ENTRY(BgL_thunkz00_89))(BgL_thunkz00_89) ); }  else 
{ /* Llib/thread.scm 672 */
FAILURE(BGl_string2486z00zz__threadz00,BGl_list2487z00zz__threadz00,BgL_thunkz00_89);} 
BGL_EXITD_POP_PROTECT(BgL_top3386z00_8991); BUNSPEC; 
BGL_MUTEX_UNLOCK(BgL_mutexz00_88); 
return BgL_tmp3385z00_8990;} } } 

}



/* &with-lock */
obj_t BGl_z62withzd2lockzb0zz__threadz00(obj_t BgL_envz00_3461, obj_t BgL_mutexz00_3462, obj_t BgL_thunkz00_3463)
{
{ /* Llib/thread.scm 670 */
{ /* Llib/thread.scm 671 */
 obj_t BgL_auxz00_9010; obj_t BgL_auxz00_9003;
if(
PROCEDUREP(BgL_thunkz00_3463))
{ /* Llib/thread.scm 671 */
BgL_auxz00_9010 = BgL_thunkz00_3463
; }  else 
{ 
 obj_t BgL_auxz00_9013;
BgL_auxz00_9013 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(29606L), BGl_string2492z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_thunkz00_3463); 
FAILURE(BgL_auxz00_9013,BFALSE,BFALSE);} 
if(
BGL_MUTEXP(BgL_mutexz00_3462))
{ /* Llib/thread.scm 671 */
BgL_auxz00_9003 = BgL_mutexz00_3462
; }  else 
{ 
 obj_t BgL_auxz00_9006;
BgL_auxz00_9006 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(29606L), BGl_string2492z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_mutexz00_3462); 
FAILURE(BgL_auxz00_9006,BFALSE,BFALSE);} 
return 
BGl_withzd2lockzd2zz__threadz00(BgL_auxz00_9003, BgL_auxz00_9010);} } 

}



/* with-timed-lock */
BGL_EXPORTED_DEF obj_t BGl_withzd2timedzd2lockz00zz__threadz00(obj_t BgL_mutexz00_90, int BgL_timeoutz00_91, obj_t BgL_thunkz00_92)
{
{ /* Llib/thread.scm 677 */
{ /* Llib/thread.scm 678 */
 bool_t BgL_test3390z00_9018;
{ /* Llib/thread.scm 678 */
 long BgL_timeoutz00_2364;
BgL_timeoutz00_2364 = 
(long)(BgL_timeoutz00_91); 
if(
(BgL_timeoutz00_2364==0L))
{ /* Llib/thread.scm 646 */
 int BgL_arg1352z00_2366;
BgL_arg1352z00_2366 = 
BGL_MUTEX_LOCK(BgL_mutexz00_90); 
BgL_test3390z00_9018 = 
(
(long)(BgL_arg1352z00_2366)==0L); }  else 
{ /* Llib/thread.scm 647 */
 int BgL_arg1353z00_2367;
BgL_arg1353z00_2367 = 
BGL_MUTEX_TIMED_LOCK(BgL_mutexz00_90, BgL_timeoutz00_2364); 
BgL_test3390z00_9018 = 
(
(long)(BgL_arg1353z00_2367)==0L); } } 
if(BgL_test3390z00_9018)
{ /* Llib/thread.scm 679 */
 obj_t BgL_exitd1103z00_2360;
BgL_exitd1103z00_2360 = 
BGL_EXITD_TOP_AS_OBJ(); 
{ /* Llib/thread.scm 681 */
 obj_t BgL_zc3z04anonymousza31356ze3z87_3464;
BgL_zc3z04anonymousza31356ze3z87_3464 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31356ze3ze5zz__threadz00, 
(int)(0L), 
(int)(1L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31356ze3z87_3464, 
(int)(0L), BgL_mutexz00_90); 
{ /* Llib/thread.scm 679 */
 obj_t BgL_arg1929z00_2374;
{ /* Llib/thread.scm 679 */
 obj_t BgL_arg1930z00_2375;
BgL_arg1930z00_2375 = 
BGL_EXITD_PROTECT(BgL_exitd1103z00_2360); 
BgL_arg1929z00_2374 = 
MAKE_YOUNG_PAIR(BgL_zc3z04anonymousza31356ze3z87_3464, BgL_arg1930z00_2375); } 
BGL_EXITD_PROTECT_SET(BgL_exitd1103z00_2360, BgL_arg1929z00_2374); BUNSPEC; } 
{ /* Llib/thread.scm 680 */
 obj_t BgL_tmp1105z00_2362;
if(
PROCEDURE_CORRECT_ARITYP(BgL_thunkz00_92, 0L))
{ /* Llib/thread.scm 680 */
BgL_tmp1105z00_2362 = 
(VA_PROCEDUREP( BgL_thunkz00_92 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_thunkz00_92))(BgL_thunkz00_92, BEOA) : ((obj_t (*)(obj_t))PROCEDURE_ENTRY(BgL_thunkz00_92))(BgL_thunkz00_92) ); }  else 
{ /* Llib/thread.scm 680 */
FAILURE(BGl_string2493z00zz__threadz00,BGl_list2487z00zz__threadz00,BgL_thunkz00_92);} 
{ /* Llib/thread.scm 679 */
 bool_t BgL_test3393z00_9043;
{ /* Llib/thread.scm 679 */
 obj_t BgL_arg1928z00_2377;
BgL_arg1928z00_2377 = 
BGL_EXITD_PROTECT(BgL_exitd1103z00_2360); 
BgL_test3393z00_9043 = 
PAIRP(BgL_arg1928z00_2377); } 
if(BgL_test3393z00_9043)
{ /* Llib/thread.scm 679 */
 obj_t BgL_arg1926z00_2378;
{ /* Llib/thread.scm 679 */
 obj_t BgL_arg1927z00_2379;
BgL_arg1927z00_2379 = 
BGL_EXITD_PROTECT(BgL_exitd1103z00_2360); 
{ /* Llib/thread.scm 679 */
 obj_t BgL_pairz00_2380;
if(
PAIRP(BgL_arg1927z00_2379))
{ /* Llib/thread.scm 679 */
BgL_pairz00_2380 = BgL_arg1927z00_2379; }  else 
{ 
 obj_t BgL_auxz00_9049;
BgL_auxz00_9049 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(29953L), BGl_string2494z00zz__threadz00, BGl_string2445z00zz__threadz00, BgL_arg1927z00_2379); 
FAILURE(BgL_auxz00_9049,BFALSE,BFALSE);} 
BgL_arg1926z00_2378 = 
CDR(BgL_pairz00_2380); } } 
BGL_EXITD_PROTECT_SET(BgL_exitd1103z00_2360, BgL_arg1926z00_2378); BUNSPEC; }  else 
{ /* Llib/thread.scm 679 */BFALSE; } } 
{ /* Llib/thread.scm 653 */
 int BgL_arg1354z00_2382;
BgL_arg1354z00_2382 = 
BGL_MUTEX_UNLOCK(BgL_mutexz00_90); 
(
(long)(BgL_arg1354z00_2382)==0L); } 
return BgL_tmp1105z00_2362;} } }  else 
{ /* Llib/thread.scm 678 */
return BFALSE;} } } 

}



/* &with-timed-lock */
obj_t BGl_z62withzd2timedzd2lockz62zz__threadz00(obj_t BgL_envz00_3465, obj_t BgL_mutexz00_3466, obj_t BgL_timeoutz00_3467, obj_t BgL_thunkz00_3468)
{
{ /* Llib/thread.scm 677 */
{ /* Llib/thread.scm 678 */
 obj_t BgL_auxz00_9074; int BgL_auxz00_9065; obj_t BgL_auxz00_9058;
if(
PROCEDUREP(BgL_thunkz00_3468))
{ /* Llib/thread.scm 678 */
BgL_auxz00_9074 = BgL_thunkz00_3468
; }  else 
{ 
 obj_t BgL_auxz00_9077;
BgL_auxz00_9077 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(29913L), BGl_string2495z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_thunkz00_3468); 
FAILURE(BgL_auxz00_9077,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 678 */
 obj_t BgL_tmpz00_9066;
if(
INTEGERP(BgL_timeoutz00_3467))
{ /* Llib/thread.scm 678 */
BgL_tmpz00_9066 = BgL_timeoutz00_3467
; }  else 
{ 
 obj_t BgL_auxz00_9069;
BgL_auxz00_9069 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(29913L), BGl_string2495z00zz__threadz00, BGl_string2483z00zz__threadz00, BgL_timeoutz00_3467); 
FAILURE(BgL_auxz00_9069,BFALSE,BFALSE);} 
BgL_auxz00_9065 = 
CINT(BgL_tmpz00_9066); } 
if(
BGL_MUTEXP(BgL_mutexz00_3466))
{ /* Llib/thread.scm 678 */
BgL_auxz00_9058 = BgL_mutexz00_3466
; }  else 
{ 
 obj_t BgL_auxz00_9061;
BgL_auxz00_9061 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(29913L), BGl_string2495z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_mutexz00_3466); 
FAILURE(BgL_auxz00_9061,BFALSE,BFALSE);} 
return 
BGl_withzd2timedzd2lockz00zz__threadz00(BgL_auxz00_9058, BgL_auxz00_9065, BgL_auxz00_9074);} } 

}



/* &<@anonymous:1356> */
obj_t BGl_z62zc3z04anonymousza31356ze3ze5zz__threadz00(obj_t BgL_envz00_3469)
{
{ /* Llib/thread.scm 679 */
{ /* Llib/thread.scm 653 */
 obj_t BgL_mutexz00_3470;
BgL_mutexz00_3470 = 
((obj_t)
PROCEDURE_REF(BgL_envz00_3469, 
(int)(0L))); 
{ /* Llib/thread.scm 653 */
 bool_t BgL_tmpz00_9085;
{ /* Llib/thread.scm 653 */
 int BgL_arg1354z00_4649;
BgL_arg1354z00_4649 = 
BGL_MUTEX_UNLOCK(BgL_mutexz00_3470); 
BgL_tmpz00_9085 = 
(
(long)(BgL_arg1354z00_4649)==0L); } 
return 
BBOOL(BgL_tmpz00_9085);} } } 

}



/* condition-variable? */
BGL_EXPORTED_DEF bool_t BGl_conditionzd2variablezf3z21zz__threadz00(obj_t BgL_objz00_93)
{
{ /* Llib/thread.scm 686 */
return 
BGL_CONDVARP(BgL_objz00_93);} 

}



/* &condition-variable? */
obj_t BGl_z62conditionzd2variablezf3z43zz__threadz00(obj_t BgL_envz00_3471, obj_t BgL_objz00_3472)
{
{ /* Llib/thread.scm 686 */
return 
BBOOL(
BGl_conditionzd2variablezf3z21zz__threadz00(BgL_objz00_3472));} 

}



/* _make-condition-variable */
obj_t BGl__makezd2conditionzd2variablez00zz__threadz00(obj_t BgL_env1268z00_96, obj_t BgL_opt1267z00_95)
{
{ /* Llib/thread.scm 692 */
{ /* Llib/thread.scm 692 */

{ 

switch( 
VECTOR_LENGTH(BgL_opt1267z00_95)) { case 0L : 

{ /* Llib/thread.scm 693 */
 obj_t BgL_namez00_4651;
BgL_namez00_4651 = 
BGl_gensymz00zz__r4_symbols_6_4z00(BGl_symbol2498z00zz__threadz00); 
{ /* Llib/thread.scm 692 */

return 
bgl_make_condvar(BgL_namez00_4651);} } break;case 1L : 

{ /* Llib/thread.scm 692 */
 obj_t BgL_namez00_4652;
BgL_namez00_4652 = 
VECTOR_REF(BgL_opt1267z00_95,0L); 
{ /* Llib/thread.scm 692 */

return 
bgl_make_condvar(BgL_namez00_4652);} } break;
default: 
return 
BGl_errorz00zz__errorz00(BGl_symbol2496z00zz__threadz00, BGl_string2472z00zz__threadz00, 
BINT(
VECTOR_LENGTH(BgL_opt1267z00_95)));} } } } 

}



/* make-condition-variable */
BGL_EXPORTED_DEF obj_t BGl_makezd2conditionzd2variablez00zz__threadz00(obj_t BgL_namez00_94)
{
{ /* Llib/thread.scm 692 */
return 
bgl_make_condvar(BgL_namez00_94);} 

}



/* condition-variable-nil */
BGL_EXPORTED_DEF obj_t BGl_conditionzd2variablezd2nilz00zz__threadz00(void)
{
{ /* Llib/thread.scm 700 */
return BGl_za2conditionzd2variablezd2nilza2z00zz__threadz00;} 

}



/* &condition-variable-nil */
obj_t BGl_z62conditionzd2variablezd2nilz62zz__threadz00(obj_t BgL_envz00_3473)
{
{ /* Llib/thread.scm 700 */
return 
BGl_conditionzd2variablezd2nilz00zz__threadz00();} 

}



/* condition-variable-name */
BGL_EXPORTED_DEF obj_t BGl_conditionzd2variablezd2namez00zz__threadz00(obj_t BgL_objz00_97)
{
{ /* Llib/thread.scm 705 */
return 
BGL_CONDVAR_NAME(BgL_objz00_97);} 

}



/* &condition-variable-name */
obj_t BGl_z62conditionzd2variablezd2namez62zz__threadz00(obj_t BgL_envz00_3474, obj_t BgL_objz00_3475)
{
{ /* Llib/thread.scm 705 */
{ /* Llib/thread.scm 706 */
 obj_t BgL_auxz00_9105;
if(
BGL_CONDVARP(BgL_objz00_3475))
{ /* Llib/thread.scm 706 */
BgL_auxz00_9105 = BgL_objz00_3475
; }  else 
{ 
 obj_t BgL_auxz00_9108;
BgL_auxz00_9108 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(31238L), BGl_string2500z00zz__threadz00, BGl_string2501z00zz__threadz00, BgL_objz00_3475); 
FAILURE(BgL_auxz00_9108,BFALSE,BFALSE);} 
return 
BGl_conditionzd2variablezd2namez00zz__threadz00(BgL_auxz00_9105);} } 

}



/* _condition-variable-wait! */
obj_t BGl__conditionzd2variablezd2waitz12z12zz__threadz00(obj_t BgL_env1272z00_102, obj_t BgL_opt1271z00_101)
{
{ /* Llib/thread.scm 711 */
{ /* Llib/thread.scm 711 */
 obj_t BgL_g1273z00_4653; obj_t BgL_g1274z00_4654;
BgL_g1273z00_4653 = 
VECTOR_REF(BgL_opt1271z00_101,0L); 
BgL_g1274z00_4654 = 
VECTOR_REF(BgL_opt1271z00_101,1L); 
{ 

switch( 
VECTOR_LENGTH(BgL_opt1271z00_101)) { case 2L : 

{ /* Llib/thread.scm 711 */

{ /* Llib/thread.scm 711 */
 obj_t BgL_cz00_4656; obj_t BgL_mz00_4657;
if(
BGL_CONDVARP(BgL_g1273z00_4653))
{ /* Llib/thread.scm 711 */
BgL_cz00_4656 = BgL_g1273z00_4653; }  else 
{ 
 obj_t BgL_auxz00_9117;
BgL_auxz00_9117 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(31482L), BGl_string2505z00zz__threadz00, BGl_string2501z00zz__threadz00, BgL_g1273z00_4653); 
FAILURE(BgL_auxz00_9117,BFALSE,BFALSE);} 
if(
BGL_MUTEXP(BgL_g1274z00_4654))
{ /* Llib/thread.scm 711 */
BgL_mz00_4657 = BgL_g1274z00_4654; }  else 
{ 
 obj_t BgL_auxz00_9123;
BgL_auxz00_9123 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(31482L), BGl_string2505z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_g1274z00_4654); 
FAILURE(BgL_auxz00_9123,BFALSE,BFALSE);} 
return 
BBOOL(
BGL_CONDVAR_WAIT(BgL_cz00_4656, BgL_mz00_4657));} } break;case 3L : 

{ /* Llib/thread.scm 711 */
 obj_t BgL_timeoutz00_4658;
BgL_timeoutz00_4658 = 
VECTOR_REF(BgL_opt1271z00_101,2L); 
{ /* Llib/thread.scm 711 */

{ /* Llib/thread.scm 711 */
 obj_t BgL_cz00_4659; obj_t BgL_mz00_4660; long BgL_timeoutz00_4661;
if(
BGL_CONDVARP(BgL_g1273z00_4653))
{ /* Llib/thread.scm 711 */
BgL_cz00_4659 = BgL_g1273z00_4653; }  else 
{ 
 obj_t BgL_auxz00_9132;
BgL_auxz00_9132 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(31482L), BGl_string2505z00zz__threadz00, BGl_string2501z00zz__threadz00, BgL_g1273z00_4653); 
FAILURE(BgL_auxz00_9132,BFALSE,BFALSE);} 
if(
BGL_MUTEXP(BgL_g1274z00_4654))
{ /* Llib/thread.scm 711 */
BgL_mz00_4660 = BgL_g1274z00_4654; }  else 
{ 
 obj_t BgL_auxz00_9138;
BgL_auxz00_9138 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(31482L), BGl_string2505z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_g1274z00_4654); 
FAILURE(BgL_auxz00_9138,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 711 */
 obj_t BgL_tmpz00_9142;
if(
INTEGERP(BgL_timeoutz00_4658))
{ /* Llib/thread.scm 711 */
BgL_tmpz00_9142 = BgL_timeoutz00_4658
; }  else 
{ 
 obj_t BgL_auxz00_9145;
BgL_auxz00_9145 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(31482L), BGl_string2505z00zz__threadz00, BGl_string2483z00zz__threadz00, BgL_timeoutz00_4658); 
FAILURE(BgL_auxz00_9145,BFALSE,BFALSE);} 
BgL_timeoutz00_4661 = 
(long)CINT(BgL_tmpz00_9142); } 
if(
(BgL_timeoutz00_4661==0L))
{ /* Llib/thread.scm 712 */
return 
BBOOL(
BGL_CONDVAR_WAIT(BgL_cz00_4659, BgL_mz00_4660));}  else 
{ /* Llib/thread.scm 712 */
return 
BBOOL(
BGL_CONDVAR_TIMED_WAIT(BgL_cz00_4659, BgL_mz00_4660, BgL_timeoutz00_4661));} } } } break;
default: 
return 
BGl_errorz00zz__errorz00(BGl_symbol2502z00zz__threadz00, BGl_string2504z00zz__threadz00, 
BINT(
VECTOR_LENGTH(BgL_opt1271z00_101)));} } } } 

}



/* condition-variable-wait! */
BGL_EXPORTED_DEF bool_t BGl_conditionzd2variablezd2waitz12z12zz__threadz00(obj_t BgL_cz00_98, obj_t BgL_mz00_99, long BgL_timeoutz00_100)
{
{ /* Llib/thread.scm 711 */
if(
(BgL_timeoutz00_100==0L))
{ /* Llib/thread.scm 712 */
return 
BGL_CONDVAR_WAIT(BgL_cz00_98, BgL_mz00_99);}  else 
{ /* Llib/thread.scm 712 */
return 
BGL_CONDVAR_TIMED_WAIT(BgL_cz00_98, BgL_mz00_99, BgL_timeoutz00_100);} } 

}



/* condition-variable-signal! */
BGL_EXPORTED_DEF bool_t BGl_conditionzd2variablezd2signalz12z12zz__threadz00(obj_t BgL_cz00_103)
{
{ /* Llib/thread.scm 719 */
return 
BGL_CONDVAR_SIGNAL(BgL_cz00_103);} 

}



/* &condition-variable-signal! */
obj_t BGl_z62conditionzd2variablezd2signalz12z70zz__threadz00(obj_t BgL_envz00_3476, obj_t BgL_cz00_3477)
{
{ /* Llib/thread.scm 719 */
{ /* Llib/thread.scm 720 */
 bool_t BgL_tmpz00_9166;
{ /* Llib/thread.scm 720 */
 obj_t BgL_auxz00_9167;
if(
BGL_CONDVARP(BgL_cz00_3477))
{ /* Llib/thread.scm 720 */
BgL_auxz00_9167 = BgL_cz00_3477
; }  else 
{ 
 obj_t BgL_auxz00_9170;
BgL_auxz00_9170 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(31924L), BGl_string2506z00zz__threadz00, BGl_string2501z00zz__threadz00, BgL_cz00_3477); 
FAILURE(BgL_auxz00_9170,BFALSE,BFALSE);} 
BgL_tmpz00_9166 = 
BGl_conditionzd2variablezd2signalz12z12zz__threadz00(BgL_auxz00_9167); } 
return 
BBOOL(BgL_tmpz00_9166);} } 

}



/* condition-variable-broadcast! */
BGL_EXPORTED_DEF bool_t BGl_conditionzd2variablezd2broadcastz12z12zz__threadz00(obj_t BgL_cz00_104)
{
{ /* Llib/thread.scm 725 */
return 
BGL_CONDVAR_BROADCAST(BgL_cz00_104);} 

}



/* &condition-variable-broadcast! */
obj_t BGl_z62conditionzd2variablezd2broadcastz12z70zz__threadz00(obj_t BgL_envz00_3478, obj_t BgL_cz00_3479)
{
{ /* Llib/thread.scm 725 */
{ /* Llib/thread.scm 726 */
 bool_t BgL_tmpz00_9177;
{ /* Llib/thread.scm 726 */
 obj_t BgL_auxz00_9178;
if(
BGL_CONDVARP(BgL_cz00_3479))
{ /* Llib/thread.scm 726 */
BgL_auxz00_9178 = BgL_cz00_3479
; }  else 
{ 
 obj_t BgL_auxz00_9181;
BgL_auxz00_9181 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(32221L), BGl_string2507z00zz__threadz00, BGl_string2501z00zz__threadz00, BgL_cz00_3479); 
FAILURE(BgL_auxz00_9181,BFALSE,BFALSE);} 
BgL_tmpz00_9177 = 
BGl_conditionzd2variablezd2broadcastz12z12zz__threadz00(BgL_auxz00_9178); } 
return 
BBOOL(BgL_tmpz00_9177);} } 

}



/* object-init */
obj_t BGl_objectzd2initzd2zz__threadz00(void)
{
{ /* Llib/thread.scm 17 */
{ /* Llib/thread.scm 161 */
 obj_t BgL_arg1363z00_1307; obj_t BgL_arg1364z00_1308;
{ /* Llib/thread.scm 161 */
 obj_t BgL_v1162z00_1319;
BgL_v1162z00_1319 = 
create_vector(1L); 
VECTOR_SET(BgL_v1162z00_1319,0L,
BGl_makezd2classzd2fieldz00zz__objectz00(BGl_symbol2510z00zz__threadz00, BGl_proc2509z00zz__threadz00, BGl_proc2508z00zz__threadz00, ((bool_t)1), ((bool_t)0), BFALSE, BFALSE, BGl_symbol2512z00zz__threadz00)); 
BgL_arg1363z00_1307 = BgL_v1162z00_1319; } 
{ /* Llib/thread.scm 161 */
 obj_t BgL_v1163z00_1330;
BgL_v1163z00_1330 = 
create_vector(0L); 
BgL_arg1364z00_1308 = BgL_v1163z00_1330; } 
BGl_threadzd2backendzd2zz__threadz00 = 
BGl_registerzd2classz12zc0zz__objectz00(BGl_symbol2516z00zz__threadz00, BGl_symbol2517z00zz__threadz00, BGl_objectz00zz__objectz00, 20365L, BGl_proc2515z00zz__threadz00, BGl_proc2514z00zz__threadz00, BFALSE, BGl_proc2513z00zz__threadz00, BFALSE, BgL_arg1363z00_1307, BgL_arg1364z00_1308); } 
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1377z00_1336; obj_t BgL_arg1379z00_1337;
{ /* Llib/thread.scm 164 */
 obj_t BgL_v1164z00_1343;
BgL_v1164z00_1343 = 
create_vector(3L); 
VECTOR_SET(BgL_v1164z00_1343,0L,
BGl_makezd2classzd2fieldz00zz__objectz00(BGl_symbol2510z00zz__threadz00, BGl_proc2521z00zz__threadz00, BGl_proc2520z00zz__threadz00, ((bool_t)0), ((bool_t)0), BFALSE, BGl_proc2519z00zz__threadz00, BGl_symbol2522z00zz__threadz00)); 
VECTOR_SET(BgL_v1164z00_1343,1L,
BGl_makezd2classzd2fieldz00zz__objectz00(BGl_symbol2526z00zz__threadz00, BGl_proc2525z00zz__threadz00, BGl_proc2524z00zz__threadz00, ((bool_t)0), ((bool_t)1), BFALSE, BFALSE, BGl_symbol2522z00zz__threadz00)); 
VECTOR_SET(BgL_v1164z00_1343,2L,
BGl_makezd2classzd2fieldz00zz__objectz00(BGl_symbol2530z00zz__threadz00, BGl_proc2529z00zz__threadz00, BGl_proc2528z00zz__threadz00, ((bool_t)0), ((bool_t)1), BFALSE, BFALSE, BGl_symbol2522z00zz__threadz00)); 
BgL_arg1377z00_1336 = BgL_v1164z00_1343; } 
{ /* Llib/thread.scm 164 */
 obj_t BgL_v1165z00_1377;
BgL_v1165z00_1377 = 
create_vector(2L); 
{ /* Llib/thread.scm 167 */
 obj_t BgL_arg1402z00_1378;
{ /* Llib/thread.scm 167 */
 obj_t BgL_arg1403z00_1379;
BgL_arg1403z00_1379 = 
MAKE_YOUNG_PAIR(BGl_proc2532z00zz__threadz00, BGl_proc2533z00zz__threadz00); 
BgL_arg1402z00_1378 = 
MAKE_YOUNG_PAIR(
BINT(0L), BgL_arg1403z00_1379); } 
VECTOR_SET(BgL_v1165z00_1377,0L,BgL_arg1402z00_1378); } 
{ /* Llib/thread.scm 168 */
 obj_t BgL_arg1411z00_1395;
{ /* Llib/thread.scm 168 */
 obj_t BgL_arg1412z00_1396;
BgL_arg1412z00_1396 = 
MAKE_YOUNG_PAIR(BGl_proc2534z00zz__threadz00, BGl_proc2535z00zz__threadz00); 
BgL_arg1411z00_1395 = 
MAKE_YOUNG_PAIR(
BINT(1L), BgL_arg1412z00_1396); } 
VECTOR_SET(BgL_v1165z00_1377,1L,BgL_arg1411z00_1395); } 
BgL_arg1379z00_1337 = BgL_v1165z00_1377; } 
BGl_threadz00zz__threadz00 = 
BGl_registerzd2classz12zc0zz__objectz00(BGl_symbol2453z00zz__threadz00, BGl_symbol2517z00zz__threadz00, BGl_objectz00zz__objectz00, 35587L, BFALSE, BGl_proc2537z00zz__threadz00, BGl_threadzd2initializa7ez12zd2envzb5zz__threadz00, BGl_proc2536z00zz__threadz00, BFALSE, BgL_arg1377z00_1336, BgL_arg1379z00_1337); } 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1422z00_1417; obj_t BgL_arg1423z00_1418;
{ /* Llib/thread.scm 170 */
 obj_t BgL_v1166z00_1436;
BgL_v1166z00_1436 = 
create_vector(6L); 
VECTOR_SET(BgL_v1166z00_1436,0L,
BGl_makezd2classzd2fieldz00zz__objectz00(BGl_symbol2540z00zz__threadz00, BGl_proc2539z00zz__threadz00, BGl_proc2538z00zz__threadz00, ((bool_t)1), ((bool_t)0), BFALSE, BFALSE, BGl_symbol2542z00zz__threadz00)); 
VECTOR_SET(BgL_v1166z00_1436,1L,
BGl_makezd2classzd2fieldz00zz__objectz00(BGl_symbol2546z00zz__threadz00, BGl_proc2545z00zz__threadz00, BGl_proc2544z00zz__threadz00, ((bool_t)0), ((bool_t)0), BFALSE, BGl_proc2543z00zz__threadz00, BGl_symbol2522z00zz__threadz00)); 
VECTOR_SET(BgL_v1166z00_1436,2L,
BGl_makezd2classzd2fieldz00zz__objectz00(BGl_symbol2551z00zz__threadz00, BGl_proc2550z00zz__threadz00, BGl_proc2549z00zz__threadz00, ((bool_t)0), ((bool_t)0), BFALSE, BGl_proc2548z00zz__threadz00, BGl_symbol2522z00zz__threadz00)); 
VECTOR_SET(BgL_v1166z00_1436,3L,
BGl_makezd2classzd2fieldz00zz__objectz00(BGl_symbol2556z00zz__threadz00, BGl_proc2555z00zz__threadz00, BGl_proc2554z00zz__threadz00, ((bool_t)0), ((bool_t)0), BFALSE, BGl_proc2553z00zz__threadz00, BGl_symbol2522z00zz__threadz00)); 
VECTOR_SET(BgL_v1166z00_1436,4L,
BGl_makezd2classzd2fieldz00zz__objectz00(BGl_symbol2561z00zz__threadz00, BGl_proc2560z00zz__threadz00, BGl_proc2559z00zz__threadz00, ((bool_t)0), ((bool_t)0), BFALSE, BGl_proc2558z00zz__threadz00, BGl_symbol2522z00zz__threadz00)); 
VECTOR_SET(BgL_v1166z00_1436,5L,
BGl_makezd2classzd2fieldz00zz__objectz00(BGl_symbol2566z00zz__threadz00, BGl_proc2565z00zz__threadz00, BGl_proc2564z00zz__threadz00, ((bool_t)0), ((bool_t)0), BFALSE, BGl_proc2563z00zz__threadz00, BGl_symbol2512z00zz__threadz00)); 
BgL_arg1422z00_1417 = BgL_v1166z00_1436; } 
{ /* Llib/thread.scm 170 */
 obj_t BgL_v1167z00_1512;
BgL_v1167z00_1512 = 
create_vector(0L); 
BgL_arg1423z00_1418 = BgL_v1167z00_1512; } 
BGl_nothreadz00zz__threadz00 = 
BGl_registerzd2classz12zc0zz__objectz00(BGl_symbol2571z00zz__threadz00, BGl_symbol2517z00zz__threadz00, BGl_threadz00zz__threadz00, 50609L, BGl_proc2570z00zz__threadz00, BGl_proc2569z00zz__threadz00, BGl_threadzd2initializa7ez12zd2envzb5zz__threadz00, BGl_proc2568z00zz__threadz00, BFALSE, BgL_arg1422z00_1417, BgL_arg1423z00_1418); } 
{ /* Llib/thread.scm 159 */
 obj_t BgL_arg1478z00_1519; obj_t BgL_arg1479z00_1520;
{ /* Llib/thread.scm 159 */
 obj_t BgL_v1168z00_1531;
BgL_v1168z00_1531 = 
create_vector(0L); 
BgL_arg1478z00_1519 = BgL_v1168z00_1531; } 
{ /* Llib/thread.scm 159 */
 obj_t BgL_v1169z00_1532;
BgL_v1169z00_1532 = 
create_vector(0L); 
BgL_arg1479z00_1520 = BgL_v1169z00_1532; } 
return ( 
BGl_nothreadzd2backendzd2zz__threadz00 = 
BGl_registerzd2classz12zc0zz__objectz00(BGl_symbol2575z00zz__threadz00, BGl_symbol2517z00zz__threadz00, BGl_threadzd2backendzd2zz__threadz00, 1284L, BGl_proc2574z00zz__threadz00, BGl_proc2573z00zz__threadz00, BFALSE, BGl_proc2572z00zz__threadz00, BFALSE, BgL_arg1478z00_1519, BgL_arg1479z00_1520), BUNSPEC) ;} } 

}



/* &<@anonymous:1484> */
obj_t BGl_z62zc3z04anonymousza31484ze3ze5zz__threadz00(obj_t BgL_envz00_3524, obj_t BgL_new1056z00_3525)
{
{ /* Llib/thread.scm 159 */
{ 
 BgL_nothreadzd2backendzd2_bglt BgL_auxz00_9227;
{ /* Llib/thread.scm 159 */
 BgL_nothreadzd2backendzd2_bglt BgL_new1056z00_4699;
{ /* Llib/thread.scm 159 */
 bool_t BgL_test3408z00_9228;
{ /* Llib/thread.scm 159 */
 obj_t BgL_classz00_4662;
BgL_classz00_4662 = BGl_nothreadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_new1056z00_3525))
{ /* Llib/thread.scm 159 */
 BgL_objectz00_bglt BgL_arg1940z00_4664; long BgL_arg1941z00_4665;
BgL_arg1940z00_4664 = 
(BgL_objectz00_bglt)(BgL_new1056z00_3525); 
BgL_arg1941z00_4665 = 
BGL_CLASS_DEPTH(BgL_classz00_4662); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 159 */
 long BgL_idxz00_4673;
BgL_idxz00_4673 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4664); 
{ /* Llib/thread.scm 159 */
 obj_t BgL_arg1933z00_4674;
{ /* Llib/thread.scm 159 */
 long BgL_arg1934z00_4675;
BgL_arg1934z00_4675 = 
(BgL_idxz00_4673+BgL_arg1941z00_4665); 
BgL_arg1933z00_4674 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4675); } 
BgL_test3408z00_9228 = 
(BgL_arg1933z00_4674==BgL_classz00_4662); } }  else 
{ /* Llib/thread.scm 159 */
 bool_t BgL_res2051z00_4680;
{ /* Llib/thread.scm 159 */
 obj_t BgL_oclassz00_4684;
{ /* Llib/thread.scm 159 */
 long BgL_arg1945z00_4686;
{ /* Llib/thread.scm 159 */
 long BgL_arg1946z00_4687;
BgL_arg1946z00_4687 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4664); 
BgL_arg1945z00_4686 = 
(BgL_arg1946z00_4687-OBJECT_TYPE); } 
BgL_oclassz00_4684 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4686); } 
{ /* Llib/thread.scm 159 */
 bool_t BgL__ortest_1147z00_4693;
BgL__ortest_1147z00_4693 = 
(BgL_classz00_4662==BgL_oclassz00_4684); 
if(BgL__ortest_1147z00_4693)
{ /* Llib/thread.scm 159 */
BgL_res2051z00_4680 = BgL__ortest_1147z00_4693; }  else 
{ /* Llib/thread.scm 159 */
 long BgL_odepthz00_4694;
BgL_odepthz00_4694 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4684); 
if(
(BgL_arg1941z00_4665<BgL_odepthz00_4694))
{ /* Llib/thread.scm 159 */
 obj_t BgL_arg1935z00_4698;
BgL_arg1935z00_4698 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4684, BgL_arg1941z00_4665); 
BgL_res2051z00_4680 = 
(BgL_arg1935z00_4698==BgL_classz00_4662); }  else 
{ /* Llib/thread.scm 159 */
BgL_res2051z00_4680 = ((bool_t)0); } } } } 
BgL_test3408z00_9228 = BgL_res2051z00_4680; } }  else 
{ /* Llib/thread.scm 159 */
BgL_test3408z00_9228 = ((bool_t)0)
; } } 
if(BgL_test3408z00_9228)
{ /* Llib/thread.scm 159 */
BgL_new1056z00_4699 = 
((BgL_nothreadzd2backendzd2_bglt)BgL_new1056z00_3525); }  else 
{ 
 obj_t BgL_auxz00_9250;
BgL_auxz00_9250 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5661L), BGl_string2578z00zz__threadz00, BGl_string2576z00zz__threadz00, BgL_new1056z00_3525); 
FAILURE(BgL_auxz00_9250,BFALSE,BFALSE);} } 
((((BgL_threadzd2backendzd2_bglt)COBJECT(
((BgL_threadzd2backendzd2_bglt)BgL_new1056z00_4699)))->BgL_namez00)=((obj_t)BGl_string2577z00zz__threadz00),BUNSPEC); 
BgL_auxz00_9227 = BgL_new1056z00_4699; } 
return 
((obj_t)BgL_auxz00_9227);} } 

}



/* &lambda1482 */
BgL_nothreadzd2backendzd2_bglt BGl_z62lambda1482z62zz__threadz00(obj_t BgL_envz00_3526)
{
{ /* Llib/thread.scm 159 */
{ /* Llib/thread.scm 159 */
 BgL_nothreadzd2backendzd2_bglt BgL_new1055z00_4700;
BgL_new1055z00_4700 = 
((BgL_nothreadzd2backendzd2_bglt)BOBJECT( GC_MALLOC( sizeof(struct BgL_nothreadzd2backendzd2_bgl) ))); 
{ /* Llib/thread.scm 159 */
 long BgL_arg1483z00_4701;
BgL_arg1483z00_4701 = 
BGL_CLASS_NUM(BGl_nothreadzd2backendzd2zz__threadz00); 
BGL_OBJECT_CLASS_NUM_SET(
((BgL_objectz00_bglt)BgL_new1055z00_4700), BgL_arg1483z00_4701); } 
return BgL_new1055z00_4700;} } 

}



/* &lambda1480 */
BgL_nothreadzd2backendzd2_bglt BGl_z62lambda1480z62zz__threadz00(obj_t BgL_envz00_3527, obj_t BgL_name1054z00_3528)
{
{ /* Llib/thread.scm 159 */
{ /* Llib/thread.scm 159 */
 obj_t BgL_name1054z00_4702;
if(
STRINGP(BgL_name1054z00_3528))
{ /* Llib/thread.scm 159 */
BgL_name1054z00_4702 = BgL_name1054z00_3528; }  else 
{ 
 obj_t BgL_auxz00_9263;
BgL_auxz00_9263 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5661L), BGl_string2579z00zz__threadz00, BGl_string2449z00zz__threadz00, BgL_name1054z00_3528); 
FAILURE(BgL_auxz00_9263,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 159 */
 BgL_nothreadzd2backendzd2_bglt BgL_new1118z00_4703;
{ /* Llib/thread.scm 159 */
 BgL_nothreadzd2backendzd2_bglt BgL_new1117z00_4704;
BgL_new1117z00_4704 = 
((BgL_nothreadzd2backendzd2_bglt)BOBJECT( GC_MALLOC( sizeof(struct BgL_nothreadzd2backendzd2_bgl) ))); 
{ /* Llib/thread.scm 159 */
 long BgL_arg1481z00_4705;
BgL_arg1481z00_4705 = 
BGL_CLASS_NUM(BGl_nothreadzd2backendzd2zz__threadz00); 
BGL_OBJECT_CLASS_NUM_SET(
((BgL_objectz00_bglt)BgL_new1117z00_4704), BgL_arg1481z00_4705); } 
BgL_new1118z00_4703 = BgL_new1117z00_4704; } 
((((BgL_threadzd2backendzd2_bglt)COBJECT(
((BgL_threadzd2backendzd2_bglt)BgL_new1118z00_4703)))->BgL_namez00)=((obj_t)BgL_name1054z00_4702),BUNSPEC); 
return BgL_new1118z00_4703;} } } 

}



/* &<@anonymous:1431> */
obj_t BGl_z62zc3z04anonymousza31431ze3ze5zz__threadz00(obj_t BgL_envz00_3529, obj_t BgL_new1052z00_3530)
{
{ /* Llib/thread.scm 170 */
{ 
 BgL_nothreadz00_bglt BgL_auxz00_9273;
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_new1052z00_4743;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3414z00_9274;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_4706;
BgL_classz00_4706 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_new1052z00_3530))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_4708; long BgL_arg1941z00_4709;
BgL_arg1940z00_4708 = 
(BgL_objectz00_bglt)(BgL_new1052z00_3530); 
BgL_arg1941z00_4709 = 
BGL_CLASS_DEPTH(BgL_classz00_4706); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_4717;
BgL_idxz00_4717 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4708); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_4718;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_4719;
BgL_arg1934z00_4719 = 
(BgL_idxz00_4717+BgL_arg1941z00_4709); 
BgL_arg1933z00_4718 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4719); } 
BgL_test3414z00_9274 = 
(BgL_arg1933z00_4718==BgL_classz00_4706); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_4724;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_4728;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_4730;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_4731;
BgL_arg1946z00_4731 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4708); 
BgL_arg1945z00_4730 = 
(BgL_arg1946z00_4731-OBJECT_TYPE); } 
BgL_oclassz00_4728 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4730); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_4737;
BgL__ortest_1147z00_4737 = 
(BgL_classz00_4706==BgL_oclassz00_4728); 
if(BgL__ortest_1147z00_4737)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4724 = BgL__ortest_1147z00_4737; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_4738;
BgL_odepthz00_4738 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4728); 
if(
(BgL_arg1941z00_4709<BgL_odepthz00_4738))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_4742;
BgL_arg1935z00_4742 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4728, BgL_arg1941z00_4709); 
BgL_res2051z00_4724 = 
(BgL_arg1935z00_4742==BgL_classz00_4706); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4724 = ((bool_t)0); } } } } 
BgL_test3414z00_9274 = BgL_res2051z00_4724; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3414z00_9274 = ((bool_t)0)
; } } 
if(BgL_test3414z00_9274)
{ /* Llib/thread.scm 170 */
BgL_new1052z00_4743 = 
((BgL_nothreadz00_bglt)BgL_new1052z00_3530); }  else 
{ 
 obj_t BgL_auxz00_9296;
BgL_auxz00_9296 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2580z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_new1052z00_3530); 
FAILURE(BgL_auxz00_9296,BFALSE,BFALSE);} } 
((((BgL_threadz00_bglt)COBJECT(
((BgL_threadz00_bglt)BgL_new1052z00_4743)))->BgL_namez00)=((obj_t)BUNSPEC),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1052z00_4743))->BgL_bodyz00)=((obj_t)BGl_conszd2envzd2zz__r4_pairs_and_lists_6_3z00),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1052z00_4743))->BgL_z52specificz52)=((obj_t)BUNSPEC),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1052z00_4743))->BgL_z52cleanupz52)=((obj_t)BUNSPEC),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1052z00_4743))->BgL_endzd2resultzd2)=((obj_t)BUNSPEC),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1052z00_4743))->BgL_endzd2exceptionzd2)=((obj_t)BUNSPEC),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1052z00_4743))->BgL_z52namez52)=((obj_t)BGl_string2577z00zz__threadz00),BUNSPEC); 
BgL_auxz00_9273 = BgL_new1052z00_4743; } 
return 
((obj_t)BgL_auxz00_9273);} } 

}



/* &lambda1427 */
BgL_nothreadz00_bglt BGl_z62lambda1427z62zz__threadz00(obj_t BgL_envz00_3531)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_new1051z00_4744;
BgL_new1051z00_4744 = 
((BgL_nothreadz00_bglt)BOBJECT( GC_MALLOC( sizeof(struct BgL_nothreadz00_bgl) ))); 
{ /* Llib/thread.scm 170 */
 long BgL_arg1430z00_4745;
BgL_arg1430z00_4745 = 
BGL_CLASS_NUM(BGl_nothreadz00zz__threadz00); 
BGL_OBJECT_CLASS_NUM_SET(
((BgL_objectz00_bglt)BgL_new1051z00_4744), BgL_arg1430z00_4745); } 
return BgL_new1051z00_4744;} } 

}



/* &lambda1424 */
BgL_nothreadz00_bglt BGl_z62lambda1424z62zz__threadz00(obj_t BgL_envz00_3532, obj_t BgL_name1044z00_3533, obj_t BgL_body1045z00_3534, obj_t BgL_z52specific1046z52_3535, obj_t BgL_z52cleanup1047z52_3536, obj_t BgL_endzd2result1048zd2_3537, obj_t BgL_endzd2exception1049zd2_3538, obj_t BgL_z52name1050z52_3539)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 obj_t BgL_body1045z00_4746; obj_t BgL_z52name1050z52_4747;
if(
PROCEDUREP(BgL_body1045z00_3534))
{ /* Llib/thread.scm 170 */
BgL_body1045z00_4746 = BgL_body1045z00_3534; }  else 
{ 
 obj_t BgL_auxz00_9315;
BgL_auxz00_9315 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2588z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_body1045z00_3534); 
FAILURE(BgL_auxz00_9315,BFALSE,BFALSE);} 
if(
STRINGP(BgL_z52name1050z52_3539))
{ /* Llib/thread.scm 170 */
BgL_z52name1050z52_4747 = BgL_z52name1050z52_3539; }  else 
{ 
 obj_t BgL_auxz00_9321;
BgL_auxz00_9321 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2588z00zz__threadz00, BGl_string2449z00zz__threadz00, BgL_z52name1050z52_3539); 
FAILURE(BgL_auxz00_9321,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_new1116z00_4748;
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_new1113z00_4749;
BgL_new1113z00_4749 = 
((BgL_nothreadz00_bglt)BOBJECT( GC_MALLOC( sizeof(struct BgL_nothreadz00_bgl) ))); 
{ /* Llib/thread.scm 170 */
 long BgL_arg1426z00_4750;
BgL_arg1426z00_4750 = 
BGL_CLASS_NUM(BGl_nothreadz00zz__threadz00); 
BGL_OBJECT_CLASS_NUM_SET(
((BgL_objectz00_bglt)BgL_new1113z00_4749), BgL_arg1426z00_4750); } 
BgL_new1116z00_4748 = BgL_new1113z00_4749; } 
((((BgL_threadz00_bglt)COBJECT(
((BgL_threadz00_bglt)BgL_new1116z00_4748)))->BgL_namez00)=((obj_t)BgL_name1044z00_3533),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1116z00_4748))->BgL_bodyz00)=((obj_t)BgL_body1045z00_4746),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1116z00_4748))->BgL_z52specificz52)=((obj_t)BgL_z52specific1046z52_3535),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1116z00_4748))->BgL_z52cleanupz52)=((obj_t)BgL_z52cleanup1047z52_3536),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1116z00_4748))->BgL_endzd2resultzd2)=((obj_t)BgL_endzd2result1048zd2_3537),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1116z00_4748))->BgL_endzd2exceptionzd2)=((obj_t)BgL_endzd2exception1049zd2_3538),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1116z00_4748))->BgL_z52namez52)=((obj_t)BgL_z52name1050z52_4747),BUNSPEC); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_fun1425z00_4751;
BgL_fun1425z00_4751 = 
BGl_classzd2constructorzd2zz__objectz00(BGl_nothreadz00zz__threadz00); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_funz00_4752;
if(
PROCEDUREP(BgL_fun1425z00_4751))
{ /* Llib/thread.scm 170 */
BgL_funz00_4752 = BgL_fun1425z00_4751; }  else 
{ 
 obj_t BgL_auxz00_9340;
BgL_auxz00_9340 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2581z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_fun1425z00_4751); 
FAILURE(BgL_auxz00_9340,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_4752, 1L))
{ /* Llib/thread.scm 170 */
(VA_PROCEDUREP( BgL_funz00_4752 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_4752))(BgL_fun1425z00_4751, 
((obj_t)BgL_new1116z00_4748), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_4752))(BgL_fun1425z00_4751, 
((obj_t)BgL_new1116z00_4748)) ); }  else 
{ /* Llib/thread.scm 170 */
FAILURE(BGl_string2582z00zz__threadz00,BGl_list2583z00zz__threadz00,BgL_funz00_4752);} } } 
return BgL_new1116z00_4748;} } } 

}



/* &<@anonymous:1474> */
obj_t BGl_z62zc3z04anonymousza31474ze3ze5zz__threadz00(obj_t BgL_envz00_3540)
{
{ /* Llib/thread.scm 170 */
return BGl_string2589z00zz__threadz00;} 

}



/* &lambda1473 */
obj_t BGl_z62lambda1473z62zz__threadz00(obj_t BgL_envz00_3541, obj_t BgL_oz00_3542, obj_t BgL_vz00_3543)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_4790; obj_t BgL_vz00_4791;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3423z00_9352;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_4753;
BgL_classz00_4753 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3542))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_4755; long BgL_arg1941z00_4756;
BgL_arg1940z00_4755 = 
(BgL_objectz00_bglt)(BgL_oz00_3542); 
BgL_arg1941z00_4756 = 
BGL_CLASS_DEPTH(BgL_classz00_4753); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_4764;
BgL_idxz00_4764 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4755); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_4765;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_4766;
BgL_arg1934z00_4766 = 
(BgL_idxz00_4764+BgL_arg1941z00_4756); 
BgL_arg1933z00_4765 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4766); } 
BgL_test3423z00_9352 = 
(BgL_arg1933z00_4765==BgL_classz00_4753); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_4771;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_4775;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_4777;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_4778;
BgL_arg1946z00_4778 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4755); 
BgL_arg1945z00_4777 = 
(BgL_arg1946z00_4778-OBJECT_TYPE); } 
BgL_oclassz00_4775 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4777); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_4784;
BgL__ortest_1147z00_4784 = 
(BgL_classz00_4753==BgL_oclassz00_4775); 
if(BgL__ortest_1147z00_4784)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4771 = BgL__ortest_1147z00_4784; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_4785;
BgL_odepthz00_4785 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4775); 
if(
(BgL_arg1941z00_4756<BgL_odepthz00_4785))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_4789;
BgL_arg1935z00_4789 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4775, BgL_arg1941z00_4756); 
BgL_res2051z00_4771 = 
(BgL_arg1935z00_4789==BgL_classz00_4753); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4771 = ((bool_t)0); } } } } 
BgL_test3423z00_9352 = BgL_res2051z00_4771; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3423z00_9352 = ((bool_t)0)
; } } 
if(BgL_test3423z00_9352)
{ /* Llib/thread.scm 170 */
BgL_oz00_4790 = 
((BgL_nothreadz00_bglt)BgL_oz00_3542); }  else 
{ 
 obj_t BgL_auxz00_9374;
BgL_auxz00_9374 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2590z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3542); 
FAILURE(BgL_auxz00_9374,BFALSE,BFALSE);} } 
if(
STRINGP(BgL_vz00_3543))
{ /* Llib/thread.scm 170 */
BgL_vz00_4791 = BgL_vz00_3543; }  else 
{ 
 obj_t BgL_auxz00_9380;
BgL_auxz00_9380 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2590z00zz__threadz00, BGl_string2449z00zz__threadz00, BgL_vz00_3543); 
FAILURE(BgL_auxz00_9380,BFALSE,BFALSE);} 
return 
((((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_4790))->BgL_z52namez52)=((obj_t)BgL_vz00_4791),BUNSPEC);} } 

}



/* &lambda1472 */
obj_t BGl_z62lambda1472z62zz__threadz00(obj_t BgL_envz00_3544, obj_t BgL_oz00_3545)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_4829;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3429z00_9385;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_4792;
BgL_classz00_4792 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3545))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_4794; long BgL_arg1941z00_4795;
BgL_arg1940z00_4794 = 
(BgL_objectz00_bglt)(BgL_oz00_3545); 
BgL_arg1941z00_4795 = 
BGL_CLASS_DEPTH(BgL_classz00_4792); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_4803;
BgL_idxz00_4803 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4794); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_4804;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_4805;
BgL_arg1934z00_4805 = 
(BgL_idxz00_4803+BgL_arg1941z00_4795); 
BgL_arg1933z00_4804 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4805); } 
BgL_test3429z00_9385 = 
(BgL_arg1933z00_4804==BgL_classz00_4792); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_4810;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_4814;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_4816;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_4817;
BgL_arg1946z00_4817 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4794); 
BgL_arg1945z00_4816 = 
(BgL_arg1946z00_4817-OBJECT_TYPE); } 
BgL_oclassz00_4814 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4816); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_4823;
BgL__ortest_1147z00_4823 = 
(BgL_classz00_4792==BgL_oclassz00_4814); 
if(BgL__ortest_1147z00_4823)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4810 = BgL__ortest_1147z00_4823; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_4824;
BgL_odepthz00_4824 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4814); 
if(
(BgL_arg1941z00_4795<BgL_odepthz00_4824))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_4828;
BgL_arg1935z00_4828 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4814, BgL_arg1941z00_4795); 
BgL_res2051z00_4810 = 
(BgL_arg1935z00_4828==BgL_classz00_4792); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4810 = ((bool_t)0); } } } } 
BgL_test3429z00_9385 = BgL_res2051z00_4810; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3429z00_9385 = ((bool_t)0)
; } } 
if(BgL_test3429z00_9385)
{ /* Llib/thread.scm 170 */
BgL_oz00_4829 = 
((BgL_nothreadz00_bglt)BgL_oz00_3545); }  else 
{ 
 obj_t BgL_auxz00_9407;
BgL_auxz00_9407 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2591z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3545); 
FAILURE(BgL_auxz00_9407,BFALSE,BFALSE);} } 
return 
(((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_4829))->BgL_z52namez52);} } 

}



/* &<@anonymous:1464> */
obj_t BGl_z62zc3z04anonymousza31464ze3ze5zz__threadz00(obj_t BgL_envz00_3546)
{
{ /* Llib/thread.scm 170 */
return BUNSPEC;} 

}



/* &lambda1463 */
obj_t BGl_z62lambda1463z62zz__threadz00(obj_t BgL_envz00_3547, obj_t BgL_oz00_3548, obj_t BgL_vz00_3549)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_4867;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3434z00_9412;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_4830;
BgL_classz00_4830 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3548))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_4832; long BgL_arg1941z00_4833;
BgL_arg1940z00_4832 = 
(BgL_objectz00_bglt)(BgL_oz00_3548); 
BgL_arg1941z00_4833 = 
BGL_CLASS_DEPTH(BgL_classz00_4830); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_4841;
BgL_idxz00_4841 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4832); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_4842;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_4843;
BgL_arg1934z00_4843 = 
(BgL_idxz00_4841+BgL_arg1941z00_4833); 
BgL_arg1933z00_4842 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4843); } 
BgL_test3434z00_9412 = 
(BgL_arg1933z00_4842==BgL_classz00_4830); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_4848;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_4852;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_4854;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_4855;
BgL_arg1946z00_4855 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4832); 
BgL_arg1945z00_4854 = 
(BgL_arg1946z00_4855-OBJECT_TYPE); } 
BgL_oclassz00_4852 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4854); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_4861;
BgL__ortest_1147z00_4861 = 
(BgL_classz00_4830==BgL_oclassz00_4852); 
if(BgL__ortest_1147z00_4861)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4848 = BgL__ortest_1147z00_4861; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_4862;
BgL_odepthz00_4862 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4852); 
if(
(BgL_arg1941z00_4833<BgL_odepthz00_4862))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_4866;
BgL_arg1935z00_4866 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4852, BgL_arg1941z00_4833); 
BgL_res2051z00_4848 = 
(BgL_arg1935z00_4866==BgL_classz00_4830); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4848 = ((bool_t)0); } } } } 
BgL_test3434z00_9412 = BgL_res2051z00_4848; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3434z00_9412 = ((bool_t)0)
; } } 
if(BgL_test3434z00_9412)
{ /* Llib/thread.scm 170 */
BgL_oz00_4867 = 
((BgL_nothreadz00_bglt)BgL_oz00_3548); }  else 
{ 
 obj_t BgL_auxz00_9434;
BgL_auxz00_9434 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2592z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3548); 
FAILURE(BgL_auxz00_9434,BFALSE,BFALSE);} } 
return 
((((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_4867))->BgL_endzd2exceptionzd2)=((obj_t)BgL_vz00_3549),BUNSPEC);} } 

}



/* &lambda1462 */
obj_t BGl_z62lambda1462z62zz__threadz00(obj_t BgL_envz00_3550, obj_t BgL_oz00_3551)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_4905;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3439z00_9439;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_4868;
BgL_classz00_4868 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3551))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_4870; long BgL_arg1941z00_4871;
BgL_arg1940z00_4870 = 
(BgL_objectz00_bglt)(BgL_oz00_3551); 
BgL_arg1941z00_4871 = 
BGL_CLASS_DEPTH(BgL_classz00_4868); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_4879;
BgL_idxz00_4879 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4870); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_4880;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_4881;
BgL_arg1934z00_4881 = 
(BgL_idxz00_4879+BgL_arg1941z00_4871); 
BgL_arg1933z00_4880 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4881); } 
BgL_test3439z00_9439 = 
(BgL_arg1933z00_4880==BgL_classz00_4868); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_4886;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_4890;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_4892;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_4893;
BgL_arg1946z00_4893 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4870); 
BgL_arg1945z00_4892 = 
(BgL_arg1946z00_4893-OBJECT_TYPE); } 
BgL_oclassz00_4890 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4892); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_4899;
BgL__ortest_1147z00_4899 = 
(BgL_classz00_4868==BgL_oclassz00_4890); 
if(BgL__ortest_1147z00_4899)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4886 = BgL__ortest_1147z00_4899; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_4900;
BgL_odepthz00_4900 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4890); 
if(
(BgL_arg1941z00_4871<BgL_odepthz00_4900))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_4904;
BgL_arg1935z00_4904 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4890, BgL_arg1941z00_4871); 
BgL_res2051z00_4886 = 
(BgL_arg1935z00_4904==BgL_classz00_4868); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4886 = ((bool_t)0); } } } } 
BgL_test3439z00_9439 = BgL_res2051z00_4886; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3439z00_9439 = ((bool_t)0)
; } } 
if(BgL_test3439z00_9439)
{ /* Llib/thread.scm 170 */
BgL_oz00_4905 = 
((BgL_nothreadz00_bglt)BgL_oz00_3551); }  else 
{ 
 obj_t BgL_auxz00_9461;
BgL_auxz00_9461 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2593z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3551); 
FAILURE(BgL_auxz00_9461,BFALSE,BFALSE);} } 
return 
(((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_4905))->BgL_endzd2exceptionzd2);} } 

}



/* &<@anonymous:1457> */
obj_t BGl_z62zc3z04anonymousza31457ze3ze5zz__threadz00(obj_t BgL_envz00_3552)
{
{ /* Llib/thread.scm 170 */
return BUNSPEC;} 

}



/* &lambda1456 */
obj_t BGl_z62lambda1456z62zz__threadz00(obj_t BgL_envz00_3553, obj_t BgL_oz00_3554, obj_t BgL_vz00_3555)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_4943;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3444z00_9466;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_4906;
BgL_classz00_4906 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3554))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_4908; long BgL_arg1941z00_4909;
BgL_arg1940z00_4908 = 
(BgL_objectz00_bglt)(BgL_oz00_3554); 
BgL_arg1941z00_4909 = 
BGL_CLASS_DEPTH(BgL_classz00_4906); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_4917;
BgL_idxz00_4917 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4908); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_4918;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_4919;
BgL_arg1934z00_4919 = 
(BgL_idxz00_4917+BgL_arg1941z00_4909); 
BgL_arg1933z00_4918 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4919); } 
BgL_test3444z00_9466 = 
(BgL_arg1933z00_4918==BgL_classz00_4906); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_4924;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_4928;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_4930;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_4931;
BgL_arg1946z00_4931 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4908); 
BgL_arg1945z00_4930 = 
(BgL_arg1946z00_4931-OBJECT_TYPE); } 
BgL_oclassz00_4928 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4930); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_4937;
BgL__ortest_1147z00_4937 = 
(BgL_classz00_4906==BgL_oclassz00_4928); 
if(BgL__ortest_1147z00_4937)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4924 = BgL__ortest_1147z00_4937; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_4938;
BgL_odepthz00_4938 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4928); 
if(
(BgL_arg1941z00_4909<BgL_odepthz00_4938))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_4942;
BgL_arg1935z00_4942 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4928, BgL_arg1941z00_4909); 
BgL_res2051z00_4924 = 
(BgL_arg1935z00_4942==BgL_classz00_4906); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4924 = ((bool_t)0); } } } } 
BgL_test3444z00_9466 = BgL_res2051z00_4924; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3444z00_9466 = ((bool_t)0)
; } } 
if(BgL_test3444z00_9466)
{ /* Llib/thread.scm 170 */
BgL_oz00_4943 = 
((BgL_nothreadz00_bglt)BgL_oz00_3554); }  else 
{ 
 obj_t BgL_auxz00_9488;
BgL_auxz00_9488 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2594z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3554); 
FAILURE(BgL_auxz00_9488,BFALSE,BFALSE);} } 
return 
((((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_4943))->BgL_endzd2resultzd2)=((obj_t)BgL_vz00_3555),BUNSPEC);} } 

}



/* &lambda1455 */
obj_t BGl_z62lambda1455z62zz__threadz00(obj_t BgL_envz00_3556, obj_t BgL_oz00_3557)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_4981;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3449z00_9493;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_4944;
BgL_classz00_4944 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3557))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_4946; long BgL_arg1941z00_4947;
BgL_arg1940z00_4946 = 
(BgL_objectz00_bglt)(BgL_oz00_3557); 
BgL_arg1941z00_4947 = 
BGL_CLASS_DEPTH(BgL_classz00_4944); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_4955;
BgL_idxz00_4955 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4946); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_4956;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_4957;
BgL_arg1934z00_4957 = 
(BgL_idxz00_4955+BgL_arg1941z00_4947); 
BgL_arg1933z00_4956 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4957); } 
BgL_test3449z00_9493 = 
(BgL_arg1933z00_4956==BgL_classz00_4944); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_4962;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_4966;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_4968;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_4969;
BgL_arg1946z00_4969 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4946); 
BgL_arg1945z00_4968 = 
(BgL_arg1946z00_4969-OBJECT_TYPE); } 
BgL_oclassz00_4966 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_4968); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_4975;
BgL__ortest_1147z00_4975 = 
(BgL_classz00_4944==BgL_oclassz00_4966); 
if(BgL__ortest_1147z00_4975)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4962 = BgL__ortest_1147z00_4975; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_4976;
BgL_odepthz00_4976 = 
BGL_CLASS_DEPTH(BgL_oclassz00_4966); 
if(
(BgL_arg1941z00_4947<BgL_odepthz00_4976))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_4980;
BgL_arg1935z00_4980 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4966, BgL_arg1941z00_4947); 
BgL_res2051z00_4962 = 
(BgL_arg1935z00_4980==BgL_classz00_4944); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_4962 = ((bool_t)0); } } } } 
BgL_test3449z00_9493 = BgL_res2051z00_4962; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3449z00_9493 = ((bool_t)0)
; } } 
if(BgL_test3449z00_9493)
{ /* Llib/thread.scm 170 */
BgL_oz00_4981 = 
((BgL_nothreadz00_bglt)BgL_oz00_3557); }  else 
{ 
 obj_t BgL_auxz00_9515;
BgL_auxz00_9515 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2595z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3557); 
FAILURE(BgL_auxz00_9515,BFALSE,BFALSE);} } 
return 
(((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_4981))->BgL_endzd2resultzd2);} } 

}



/* &<@anonymous:1450> */
obj_t BGl_z62zc3z04anonymousza31450ze3ze5zz__threadz00(obj_t BgL_envz00_3558)
{
{ /* Llib/thread.scm 170 */
return 
BBOOL(((bool_t)0));} 

}



/* &lambda1449 */
obj_t BGl_z62lambda1449z62zz__threadz00(obj_t BgL_envz00_3559, obj_t BgL_oz00_3560, obj_t BgL_vz00_3561)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_5019;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3454z00_9521;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_4982;
BgL_classz00_4982 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3560))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_4984; long BgL_arg1941z00_4985;
BgL_arg1940z00_4984 = 
(BgL_objectz00_bglt)(BgL_oz00_3560); 
BgL_arg1941z00_4985 = 
BGL_CLASS_DEPTH(BgL_classz00_4982); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_4993;
BgL_idxz00_4993 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_4984); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_4994;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_4995;
BgL_arg1934z00_4995 = 
(BgL_idxz00_4993+BgL_arg1941z00_4985); 
BgL_arg1933z00_4994 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_4995); } 
BgL_test3454z00_9521 = 
(BgL_arg1933z00_4994==BgL_classz00_4982); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_5000;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_5004;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_5006;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_5007;
BgL_arg1946z00_5007 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_4984); 
BgL_arg1945z00_5006 = 
(BgL_arg1946z00_5007-OBJECT_TYPE); } 
BgL_oclassz00_5004 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5006); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_5013;
BgL__ortest_1147z00_5013 = 
(BgL_classz00_4982==BgL_oclassz00_5004); 
if(BgL__ortest_1147z00_5013)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5000 = BgL__ortest_1147z00_5013; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_5014;
BgL_odepthz00_5014 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5004); 
if(
(BgL_arg1941z00_4985<BgL_odepthz00_5014))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_5018;
BgL_arg1935z00_5018 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5004, BgL_arg1941z00_4985); 
BgL_res2051z00_5000 = 
(BgL_arg1935z00_5018==BgL_classz00_4982); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5000 = ((bool_t)0); } } } } 
BgL_test3454z00_9521 = BgL_res2051z00_5000; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3454z00_9521 = ((bool_t)0)
; } } 
if(BgL_test3454z00_9521)
{ /* Llib/thread.scm 170 */
BgL_oz00_5019 = 
((BgL_nothreadz00_bglt)BgL_oz00_3560); }  else 
{ 
 obj_t BgL_auxz00_9543;
BgL_auxz00_9543 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2596z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3560); 
FAILURE(BgL_auxz00_9543,BFALSE,BFALSE);} } 
return 
((((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_5019))->BgL_z52cleanupz52)=((obj_t)BgL_vz00_3561),BUNSPEC);} } 

}



/* &lambda1448 */
obj_t BGl_z62lambda1448z62zz__threadz00(obj_t BgL_envz00_3562, obj_t BgL_oz00_3563)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_5057;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3459z00_9548;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_5020;
BgL_classz00_5020 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3563))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_5022; long BgL_arg1941z00_5023;
BgL_arg1940z00_5022 = 
(BgL_objectz00_bglt)(BgL_oz00_3563); 
BgL_arg1941z00_5023 = 
BGL_CLASS_DEPTH(BgL_classz00_5020); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_5031;
BgL_idxz00_5031 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5022); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_5032;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_5033;
BgL_arg1934z00_5033 = 
(BgL_idxz00_5031+BgL_arg1941z00_5023); 
BgL_arg1933z00_5032 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5033); } 
BgL_test3459z00_9548 = 
(BgL_arg1933z00_5032==BgL_classz00_5020); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_5038;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_5042;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_5044;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_5045;
BgL_arg1946z00_5045 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5022); 
BgL_arg1945z00_5044 = 
(BgL_arg1946z00_5045-OBJECT_TYPE); } 
BgL_oclassz00_5042 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5044); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_5051;
BgL__ortest_1147z00_5051 = 
(BgL_classz00_5020==BgL_oclassz00_5042); 
if(BgL__ortest_1147z00_5051)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5038 = BgL__ortest_1147z00_5051; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_5052;
BgL_odepthz00_5052 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5042); 
if(
(BgL_arg1941z00_5023<BgL_odepthz00_5052))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_5056;
BgL_arg1935z00_5056 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5042, BgL_arg1941z00_5023); 
BgL_res2051z00_5038 = 
(BgL_arg1935z00_5056==BgL_classz00_5020); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5038 = ((bool_t)0); } } } } 
BgL_test3459z00_9548 = BgL_res2051z00_5038; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3459z00_9548 = ((bool_t)0)
; } } 
if(BgL_test3459z00_9548)
{ /* Llib/thread.scm 170 */
BgL_oz00_5057 = 
((BgL_nothreadz00_bglt)BgL_oz00_3563); }  else 
{ 
 obj_t BgL_auxz00_9570;
BgL_auxz00_9570 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2597z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3563); 
FAILURE(BgL_auxz00_9570,BFALSE,BFALSE);} } 
return 
(((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_5057))->BgL_z52cleanupz52);} } 

}



/* &<@anonymous:1443> */
obj_t BGl_z62zc3z04anonymousza31443ze3ze5zz__threadz00(obj_t BgL_envz00_3564)
{
{ /* Llib/thread.scm 170 */
return BUNSPEC;} 

}



/* &lambda1442 */
obj_t BGl_z62lambda1442z62zz__threadz00(obj_t BgL_envz00_3565, obj_t BgL_oz00_3566, obj_t BgL_vz00_3567)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_5095;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3464z00_9575;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_5058;
BgL_classz00_5058 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3566))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_5060; long BgL_arg1941z00_5061;
BgL_arg1940z00_5060 = 
(BgL_objectz00_bglt)(BgL_oz00_3566); 
BgL_arg1941z00_5061 = 
BGL_CLASS_DEPTH(BgL_classz00_5058); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_5069;
BgL_idxz00_5069 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5060); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_5070;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_5071;
BgL_arg1934z00_5071 = 
(BgL_idxz00_5069+BgL_arg1941z00_5061); 
BgL_arg1933z00_5070 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5071); } 
BgL_test3464z00_9575 = 
(BgL_arg1933z00_5070==BgL_classz00_5058); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_5076;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_5080;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_5082;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_5083;
BgL_arg1946z00_5083 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5060); 
BgL_arg1945z00_5082 = 
(BgL_arg1946z00_5083-OBJECT_TYPE); } 
BgL_oclassz00_5080 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5082); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_5089;
BgL__ortest_1147z00_5089 = 
(BgL_classz00_5058==BgL_oclassz00_5080); 
if(BgL__ortest_1147z00_5089)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5076 = BgL__ortest_1147z00_5089; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_5090;
BgL_odepthz00_5090 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5080); 
if(
(BgL_arg1941z00_5061<BgL_odepthz00_5090))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_5094;
BgL_arg1935z00_5094 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5080, BgL_arg1941z00_5061); 
BgL_res2051z00_5076 = 
(BgL_arg1935z00_5094==BgL_classz00_5058); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5076 = ((bool_t)0); } } } } 
BgL_test3464z00_9575 = BgL_res2051z00_5076; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3464z00_9575 = ((bool_t)0)
; } } 
if(BgL_test3464z00_9575)
{ /* Llib/thread.scm 170 */
BgL_oz00_5095 = 
((BgL_nothreadz00_bglt)BgL_oz00_3566); }  else 
{ 
 obj_t BgL_auxz00_9597;
BgL_auxz00_9597 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2598z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3566); 
FAILURE(BgL_auxz00_9597,BFALSE,BFALSE);} } 
return 
((((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_5095))->BgL_z52specificz52)=((obj_t)BgL_vz00_3567),BUNSPEC);} } 

}



/* &lambda1441 */
obj_t BGl_z62lambda1441z62zz__threadz00(obj_t BgL_envz00_3568, obj_t BgL_oz00_3569)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_5133;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3469z00_9602;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_5096;
BgL_classz00_5096 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3569))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_5098; long BgL_arg1941z00_5099;
BgL_arg1940z00_5098 = 
(BgL_objectz00_bglt)(BgL_oz00_3569); 
BgL_arg1941z00_5099 = 
BGL_CLASS_DEPTH(BgL_classz00_5096); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_5107;
BgL_idxz00_5107 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5098); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_5108;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_5109;
BgL_arg1934z00_5109 = 
(BgL_idxz00_5107+BgL_arg1941z00_5099); 
BgL_arg1933z00_5108 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5109); } 
BgL_test3469z00_9602 = 
(BgL_arg1933z00_5108==BgL_classz00_5096); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_5114;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_5118;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_5120;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_5121;
BgL_arg1946z00_5121 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5098); 
BgL_arg1945z00_5120 = 
(BgL_arg1946z00_5121-OBJECT_TYPE); } 
BgL_oclassz00_5118 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5120); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_5127;
BgL__ortest_1147z00_5127 = 
(BgL_classz00_5096==BgL_oclassz00_5118); 
if(BgL__ortest_1147z00_5127)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5114 = BgL__ortest_1147z00_5127; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_5128;
BgL_odepthz00_5128 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5118); 
if(
(BgL_arg1941z00_5099<BgL_odepthz00_5128))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_5132;
BgL_arg1935z00_5132 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5118, BgL_arg1941z00_5099); 
BgL_res2051z00_5114 = 
(BgL_arg1935z00_5132==BgL_classz00_5096); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5114 = ((bool_t)0); } } } } 
BgL_test3469z00_9602 = BgL_res2051z00_5114; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3469z00_9602 = ((bool_t)0)
; } } 
if(BgL_test3469z00_9602)
{ /* Llib/thread.scm 170 */
BgL_oz00_5133 = 
((BgL_nothreadz00_bglt)BgL_oz00_3569); }  else 
{ 
 obj_t BgL_auxz00_9624;
BgL_auxz00_9624 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2599z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3569); 
FAILURE(BgL_auxz00_9624,BFALSE,BFALSE);} } 
return 
(((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_5133))->BgL_z52specificz52);} } 

}



/* &lambda1436 */
obj_t BGl_z62lambda1436z62zz__threadz00(obj_t BgL_envz00_3570, obj_t BgL_oz00_3571, obj_t BgL_vz00_3572)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_5171; obj_t BgL_vz00_5172;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3474z00_9629;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_5134;
BgL_classz00_5134 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3571))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_5136; long BgL_arg1941z00_5137;
BgL_arg1940z00_5136 = 
(BgL_objectz00_bglt)(BgL_oz00_3571); 
BgL_arg1941z00_5137 = 
BGL_CLASS_DEPTH(BgL_classz00_5134); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_5145;
BgL_idxz00_5145 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5136); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_5146;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_5147;
BgL_arg1934z00_5147 = 
(BgL_idxz00_5145+BgL_arg1941z00_5137); 
BgL_arg1933z00_5146 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5147); } 
BgL_test3474z00_9629 = 
(BgL_arg1933z00_5146==BgL_classz00_5134); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_5152;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_5156;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_5158;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_5159;
BgL_arg1946z00_5159 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5136); 
BgL_arg1945z00_5158 = 
(BgL_arg1946z00_5159-OBJECT_TYPE); } 
BgL_oclassz00_5156 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5158); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_5165;
BgL__ortest_1147z00_5165 = 
(BgL_classz00_5134==BgL_oclassz00_5156); 
if(BgL__ortest_1147z00_5165)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5152 = BgL__ortest_1147z00_5165; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_5166;
BgL_odepthz00_5166 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5156); 
if(
(BgL_arg1941z00_5137<BgL_odepthz00_5166))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_5170;
BgL_arg1935z00_5170 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5156, BgL_arg1941z00_5137); 
BgL_res2051z00_5152 = 
(BgL_arg1935z00_5170==BgL_classz00_5134); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5152 = ((bool_t)0); } } } } 
BgL_test3474z00_9629 = BgL_res2051z00_5152; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3474z00_9629 = ((bool_t)0)
; } } 
if(BgL_test3474z00_9629)
{ /* Llib/thread.scm 170 */
BgL_oz00_5171 = 
((BgL_nothreadz00_bglt)BgL_oz00_3571); }  else 
{ 
 obj_t BgL_auxz00_9651;
BgL_auxz00_9651 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2600z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3571); 
FAILURE(BgL_auxz00_9651,BFALSE,BFALSE);} } 
if(
PROCEDUREP(BgL_vz00_3572))
{ /* Llib/thread.scm 170 */
BgL_vz00_5172 = BgL_vz00_3572; }  else 
{ 
 obj_t BgL_auxz00_9657;
BgL_auxz00_9657 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2600z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_vz00_3572); 
FAILURE(BgL_auxz00_9657,BFALSE,BFALSE);} 
return 
((((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_5171))->BgL_bodyz00)=((obj_t)BgL_vz00_5172),BUNSPEC);} } 

}



/* &lambda1435 */
obj_t BGl_z62lambda1435z62zz__threadz00(obj_t BgL_envz00_3573, obj_t BgL_oz00_3574)
{
{ /* Llib/thread.scm 170 */
{ /* Llib/thread.scm 170 */
 BgL_nothreadz00_bglt BgL_oz00_5210;
{ /* Llib/thread.scm 170 */
 bool_t BgL_test3480z00_9662;
{ /* Llib/thread.scm 170 */
 obj_t BgL_classz00_5173;
BgL_classz00_5173 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3574))
{ /* Llib/thread.scm 170 */
 BgL_objectz00_bglt BgL_arg1940z00_5175; long BgL_arg1941z00_5176;
BgL_arg1940z00_5175 = 
(BgL_objectz00_bglt)(BgL_oz00_3574); 
BgL_arg1941z00_5176 = 
BGL_CLASS_DEPTH(BgL_classz00_5173); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 170 */
 long BgL_idxz00_5184;
BgL_idxz00_5184 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5175); 
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1933z00_5185;
{ /* Llib/thread.scm 170 */
 long BgL_arg1934z00_5186;
BgL_arg1934z00_5186 = 
(BgL_idxz00_5184+BgL_arg1941z00_5176); 
BgL_arg1933z00_5185 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5186); } 
BgL_test3480z00_9662 = 
(BgL_arg1933z00_5185==BgL_classz00_5173); } }  else 
{ /* Llib/thread.scm 170 */
 bool_t BgL_res2051z00_5191;
{ /* Llib/thread.scm 170 */
 obj_t BgL_oclassz00_5195;
{ /* Llib/thread.scm 170 */
 long BgL_arg1945z00_5197;
{ /* Llib/thread.scm 170 */
 long BgL_arg1946z00_5198;
BgL_arg1946z00_5198 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5175); 
BgL_arg1945z00_5197 = 
(BgL_arg1946z00_5198-OBJECT_TYPE); } 
BgL_oclassz00_5195 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5197); } 
{ /* Llib/thread.scm 170 */
 bool_t BgL__ortest_1147z00_5204;
BgL__ortest_1147z00_5204 = 
(BgL_classz00_5173==BgL_oclassz00_5195); 
if(BgL__ortest_1147z00_5204)
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5191 = BgL__ortest_1147z00_5204; }  else 
{ /* Llib/thread.scm 170 */
 long BgL_odepthz00_5205;
BgL_odepthz00_5205 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5195); 
if(
(BgL_arg1941z00_5176<BgL_odepthz00_5205))
{ /* Llib/thread.scm 170 */
 obj_t BgL_arg1935z00_5209;
BgL_arg1935z00_5209 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5195, BgL_arg1941z00_5176); 
BgL_res2051z00_5191 = 
(BgL_arg1935z00_5209==BgL_classz00_5173); }  else 
{ /* Llib/thread.scm 170 */
BgL_res2051z00_5191 = ((bool_t)0); } } } } 
BgL_test3480z00_9662 = BgL_res2051z00_5191; } }  else 
{ /* Llib/thread.scm 170 */
BgL_test3480z00_9662 = ((bool_t)0)
; } } 
if(BgL_test3480z00_9662)
{ /* Llib/thread.scm 170 */
BgL_oz00_5210 = 
((BgL_nothreadz00_bglt)BgL_oz00_3574); }  else 
{ 
 obj_t BgL_auxz00_9684;
BgL_auxz00_9684 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(6013L), BGl_string2601z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_oz00_3574); 
FAILURE(BgL_auxz00_9684,BFALSE,BFALSE);} } 
return 
(((BgL_nothreadz00_bglt)COBJECT(BgL_oz00_5210))->BgL_bodyz00);} } 

}



/* &<@anonymous:1383> */
obj_t BGl_z62zc3z04anonymousza31383ze3ze5zz__threadz00(obj_t BgL_envz00_3575, obj_t BgL_new1042z00_3576)
{
{ /* Llib/thread.scm 164 */
{ 
 BgL_threadz00_bglt BgL_auxz00_9689;
{ /* Llib/thread.scm 164 */
 BgL_threadz00_bglt BgL_new1042z00_5248;
{ /* Llib/thread.scm 164 */
 bool_t BgL_test3485z00_9690;
{ /* Llib/thread.scm 164 */
 obj_t BgL_classz00_5211;
BgL_classz00_5211 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_new1042z00_3576))
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_arg1940z00_5213; long BgL_arg1941z00_5214;
BgL_arg1940z00_5213 = 
(BgL_objectz00_bglt)(BgL_new1042z00_3576); 
BgL_arg1941z00_5214 = 
BGL_CLASS_DEPTH(BgL_classz00_5211); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 164 */
 long BgL_idxz00_5222;
BgL_idxz00_5222 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5213); 
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1933z00_5223;
{ /* Llib/thread.scm 164 */
 long BgL_arg1934z00_5224;
BgL_arg1934z00_5224 = 
(BgL_idxz00_5222+BgL_arg1941z00_5214); 
BgL_arg1933z00_5223 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5224); } 
BgL_test3485z00_9690 = 
(BgL_arg1933z00_5223==BgL_classz00_5211); } }  else 
{ /* Llib/thread.scm 164 */
 bool_t BgL_res2051z00_5229;
{ /* Llib/thread.scm 164 */
 obj_t BgL_oclassz00_5233;
{ /* Llib/thread.scm 164 */
 long BgL_arg1945z00_5235;
{ /* Llib/thread.scm 164 */
 long BgL_arg1946z00_5236;
BgL_arg1946z00_5236 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5213); 
BgL_arg1945z00_5235 = 
(BgL_arg1946z00_5236-OBJECT_TYPE); } 
BgL_oclassz00_5233 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5235); } 
{ /* Llib/thread.scm 164 */
 bool_t BgL__ortest_1147z00_5242;
BgL__ortest_1147z00_5242 = 
(BgL_classz00_5211==BgL_oclassz00_5233); 
if(BgL__ortest_1147z00_5242)
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5229 = BgL__ortest_1147z00_5242; }  else 
{ /* Llib/thread.scm 164 */
 long BgL_odepthz00_5243;
BgL_odepthz00_5243 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5233); 
if(
(BgL_arg1941z00_5214<BgL_odepthz00_5243))
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1935z00_5247;
BgL_arg1935z00_5247 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5233, BgL_arg1941z00_5214); 
BgL_res2051z00_5229 = 
(BgL_arg1935z00_5247==BgL_classz00_5211); }  else 
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5229 = ((bool_t)0); } } } } 
BgL_test3485z00_9690 = BgL_res2051z00_5229; } }  else 
{ /* Llib/thread.scm 164 */
BgL_test3485z00_9690 = ((bool_t)0)
; } } 
if(BgL_test3485z00_9690)
{ /* Llib/thread.scm 164 */
BgL_new1042z00_5248 = 
((BgL_threadz00_bglt)BgL_new1042z00_3576); }  else 
{ 
 obj_t BgL_auxz00_9712;
BgL_auxz00_9712 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5779L), BGl_string2602z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_new1042z00_3576); 
FAILURE(BgL_auxz00_9712,BFALSE,BFALSE);} } 
((((BgL_threadz00_bglt)COBJECT(BgL_new1042z00_5248))->BgL_namez00)=((obj_t)BUNSPEC),BUNSPEC); 
BgL_auxz00_9689 = BgL_new1042z00_5248; } 
return 
((obj_t)BgL_auxz00_9689);} } 

}



/* &lambda1380 */
BgL_threadz00_bglt BGl_z62lambda1380z62zz__threadz00(obj_t BgL_envz00_3577)
{
{ /* Llib/thread.scm 164 */
{ /* Llib/thread.scm 164 */
 BgL_threadz00_bglt BgL_new1041z00_5249;
BgL_new1041z00_5249 = 
((BgL_threadz00_bglt)BOBJECT( GC_MALLOC( sizeof(struct BgL_threadz00_bgl) ))); 
{ /* Llib/thread.scm 164 */
 long BgL_arg1382z00_5250;
BgL_arg1382z00_5250 = 
BGL_CLASS_NUM(BGl_threadz00zz__threadz00); 
BGL_OBJECT_CLASS_NUM_SET(
((BgL_objectz00_bglt)BgL_new1041z00_5249), BgL_arg1382z00_5250); } 
return BgL_new1041z00_5249;} } 

}



/* &<@anonymous:1417> */
obj_t BGl_z62zc3z04anonymousza31417ze3ze5zz__threadz00(obj_t BgL_envz00_3578, obj_t BgL_oz00_3579, obj_t BgL_vz00_3580)
{
{ /* Llib/thread.scm 168 */
{ /* Llib/thread.scm 168 */
 BgL_threadz00_bglt BgL_auxz00_9722;
{ /* Llib/thread.scm 168 */
 bool_t BgL_test3490z00_9723;
{ /* Llib/thread.scm 168 */
 obj_t BgL_classz00_5288;
BgL_classz00_5288 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3579))
{ /* Llib/thread.scm 168 */
 BgL_objectz00_bglt BgL_arg1940z00_5290; long BgL_arg1941z00_5291;
BgL_arg1940z00_5290 = 
(BgL_objectz00_bglt)(BgL_oz00_3579); 
BgL_arg1941z00_5291 = 
BGL_CLASS_DEPTH(BgL_classz00_5288); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 168 */
 long BgL_idxz00_5299;
BgL_idxz00_5299 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5290); 
{ /* Llib/thread.scm 168 */
 obj_t BgL_arg1933z00_5300;
{ /* Llib/thread.scm 168 */
 long BgL_arg1934z00_5301;
BgL_arg1934z00_5301 = 
(BgL_idxz00_5299+BgL_arg1941z00_5291); 
BgL_arg1933z00_5300 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5301); } 
BgL_test3490z00_9723 = 
(BgL_arg1933z00_5300==BgL_classz00_5288); } }  else 
{ /* Llib/thread.scm 168 */
 bool_t BgL_res2051z00_5306;
{ /* Llib/thread.scm 168 */
 obj_t BgL_oclassz00_5310;
{ /* Llib/thread.scm 168 */
 long BgL_arg1945z00_5312;
{ /* Llib/thread.scm 168 */
 long BgL_arg1946z00_5313;
BgL_arg1946z00_5313 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5290); 
BgL_arg1945z00_5312 = 
(BgL_arg1946z00_5313-OBJECT_TYPE); } 
BgL_oclassz00_5310 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5312); } 
{ /* Llib/thread.scm 168 */
 bool_t BgL__ortest_1147z00_5319;
BgL__ortest_1147z00_5319 = 
(BgL_classz00_5288==BgL_oclassz00_5310); 
if(BgL__ortest_1147z00_5319)
{ /* Llib/thread.scm 168 */
BgL_res2051z00_5306 = BgL__ortest_1147z00_5319; }  else 
{ /* Llib/thread.scm 168 */
 long BgL_odepthz00_5320;
BgL_odepthz00_5320 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5310); 
if(
(BgL_arg1941z00_5291<BgL_odepthz00_5320))
{ /* Llib/thread.scm 168 */
 obj_t BgL_arg1935z00_5324;
BgL_arg1935z00_5324 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5310, BgL_arg1941z00_5291); 
BgL_res2051z00_5306 = 
(BgL_arg1935z00_5324==BgL_classz00_5288); }  else 
{ /* Llib/thread.scm 168 */
BgL_res2051z00_5306 = ((bool_t)0); } } } } 
BgL_test3490z00_9723 = BgL_res2051z00_5306; } }  else 
{ /* Llib/thread.scm 168 */
BgL_test3490z00_9723 = ((bool_t)0)
; } } 
if(BgL_test3490z00_9723)
{ /* Llib/thread.scm 168 */
BgL_auxz00_9722 = 
((BgL_threadz00_bglt)BgL_oz00_3579)
; }  else 
{ 
 obj_t BgL_auxz00_9745;
BgL_auxz00_9745 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5949L), BGl_string2603z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3579); 
FAILURE(BgL_auxz00_9745,BFALSE,BFALSE);} } 
return 
BGl_threadzd2cleanupzd2setz12z12zz__threadz00(BgL_auxz00_9722, BgL_vz00_3580);} } 

}



/* &<@anonymous:1415> */
obj_t BGl_z62zc3z04anonymousza31415ze3ze5zz__threadz00(obj_t BgL_envz00_3581, obj_t BgL_oz00_3582)
{
{ /* Llib/thread.scm 168 */
{ /* Llib/thread.scm 168 */
 BgL_threadz00_bglt BgL_auxz00_9750;
{ /* Llib/thread.scm 168 */
 bool_t BgL_test3495z00_9751;
{ /* Llib/thread.scm 168 */
 obj_t BgL_classz00_5362;
BgL_classz00_5362 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3582))
{ /* Llib/thread.scm 168 */
 BgL_objectz00_bglt BgL_arg1940z00_5364; long BgL_arg1941z00_5365;
BgL_arg1940z00_5364 = 
(BgL_objectz00_bglt)(BgL_oz00_3582); 
BgL_arg1941z00_5365 = 
BGL_CLASS_DEPTH(BgL_classz00_5362); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 168 */
 long BgL_idxz00_5373;
BgL_idxz00_5373 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5364); 
{ /* Llib/thread.scm 168 */
 obj_t BgL_arg1933z00_5374;
{ /* Llib/thread.scm 168 */
 long BgL_arg1934z00_5375;
BgL_arg1934z00_5375 = 
(BgL_idxz00_5373+BgL_arg1941z00_5365); 
BgL_arg1933z00_5374 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5375); } 
BgL_test3495z00_9751 = 
(BgL_arg1933z00_5374==BgL_classz00_5362); } }  else 
{ /* Llib/thread.scm 168 */
 bool_t BgL_res2051z00_5380;
{ /* Llib/thread.scm 168 */
 obj_t BgL_oclassz00_5384;
{ /* Llib/thread.scm 168 */
 long BgL_arg1945z00_5386;
{ /* Llib/thread.scm 168 */
 long BgL_arg1946z00_5387;
BgL_arg1946z00_5387 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5364); 
BgL_arg1945z00_5386 = 
(BgL_arg1946z00_5387-OBJECT_TYPE); } 
BgL_oclassz00_5384 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5386); } 
{ /* Llib/thread.scm 168 */
 bool_t BgL__ortest_1147z00_5393;
BgL__ortest_1147z00_5393 = 
(BgL_classz00_5362==BgL_oclassz00_5384); 
if(BgL__ortest_1147z00_5393)
{ /* Llib/thread.scm 168 */
BgL_res2051z00_5380 = BgL__ortest_1147z00_5393; }  else 
{ /* Llib/thread.scm 168 */
 long BgL_odepthz00_5394;
BgL_odepthz00_5394 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5384); 
if(
(BgL_arg1941z00_5365<BgL_odepthz00_5394))
{ /* Llib/thread.scm 168 */
 obj_t BgL_arg1935z00_5398;
BgL_arg1935z00_5398 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5384, BgL_arg1941z00_5365); 
BgL_res2051z00_5380 = 
(BgL_arg1935z00_5398==BgL_classz00_5362); }  else 
{ /* Llib/thread.scm 168 */
BgL_res2051z00_5380 = ((bool_t)0); } } } } 
BgL_test3495z00_9751 = BgL_res2051z00_5380; } }  else 
{ /* Llib/thread.scm 168 */
BgL_test3495z00_9751 = ((bool_t)0)
; } } 
if(BgL_test3495z00_9751)
{ /* Llib/thread.scm 168 */
BgL_auxz00_9750 = 
((BgL_threadz00_bglt)BgL_oz00_3582)
; }  else 
{ 
 obj_t BgL_auxz00_9773;
BgL_auxz00_9773 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5949L), BGl_string2604z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3582); 
FAILURE(BgL_auxz00_9773,BFALSE,BFALSE);} } 
return 
BGl_threadzd2cleanupzd2zz__threadz00(BgL_auxz00_9750);} } 

}



/* &<@anonymous:1409> */
obj_t BGl_z62zc3z04anonymousza31409ze3ze5zz__threadz00(obj_t BgL_envz00_3583, obj_t BgL_oz00_3584, obj_t BgL_vz00_3585)
{
{ /* Llib/thread.scm 167 */
{ /* Llib/thread.scm 167 */
 BgL_threadz00_bglt BgL_auxz00_9778;
{ /* Llib/thread.scm 167 */
 bool_t BgL_test3500z00_9779;
{ /* Llib/thread.scm 167 */
 obj_t BgL_classz00_5436;
BgL_classz00_5436 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3584))
{ /* Llib/thread.scm 167 */
 BgL_objectz00_bglt BgL_arg1940z00_5438; long BgL_arg1941z00_5439;
BgL_arg1940z00_5438 = 
(BgL_objectz00_bglt)(BgL_oz00_3584); 
BgL_arg1941z00_5439 = 
BGL_CLASS_DEPTH(BgL_classz00_5436); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 167 */
 long BgL_idxz00_5447;
BgL_idxz00_5447 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5438); 
{ /* Llib/thread.scm 167 */
 obj_t BgL_arg1933z00_5448;
{ /* Llib/thread.scm 167 */
 long BgL_arg1934z00_5449;
BgL_arg1934z00_5449 = 
(BgL_idxz00_5447+BgL_arg1941z00_5439); 
BgL_arg1933z00_5448 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5449); } 
BgL_test3500z00_9779 = 
(BgL_arg1933z00_5448==BgL_classz00_5436); } }  else 
{ /* Llib/thread.scm 167 */
 bool_t BgL_res2051z00_5454;
{ /* Llib/thread.scm 167 */
 obj_t BgL_oclassz00_5458;
{ /* Llib/thread.scm 167 */
 long BgL_arg1945z00_5460;
{ /* Llib/thread.scm 167 */
 long BgL_arg1946z00_5461;
BgL_arg1946z00_5461 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5438); 
BgL_arg1945z00_5460 = 
(BgL_arg1946z00_5461-OBJECT_TYPE); } 
BgL_oclassz00_5458 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5460); } 
{ /* Llib/thread.scm 167 */
 bool_t BgL__ortest_1147z00_5467;
BgL__ortest_1147z00_5467 = 
(BgL_classz00_5436==BgL_oclassz00_5458); 
if(BgL__ortest_1147z00_5467)
{ /* Llib/thread.scm 167 */
BgL_res2051z00_5454 = BgL__ortest_1147z00_5467; }  else 
{ /* Llib/thread.scm 167 */
 long BgL_odepthz00_5468;
BgL_odepthz00_5468 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5458); 
if(
(BgL_arg1941z00_5439<BgL_odepthz00_5468))
{ /* Llib/thread.scm 167 */
 obj_t BgL_arg1935z00_5472;
BgL_arg1935z00_5472 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5458, BgL_arg1941z00_5439); 
BgL_res2051z00_5454 = 
(BgL_arg1935z00_5472==BgL_classz00_5436); }  else 
{ /* Llib/thread.scm 167 */
BgL_res2051z00_5454 = ((bool_t)0); } } } } 
BgL_test3500z00_9779 = BgL_res2051z00_5454; } }  else 
{ /* Llib/thread.scm 167 */
BgL_test3500z00_9779 = ((bool_t)0)
; } } 
if(BgL_test3500z00_9779)
{ /* Llib/thread.scm 167 */
BgL_auxz00_9778 = 
((BgL_threadz00_bglt)BgL_oz00_3584)
; }  else 
{ 
 obj_t BgL_auxz00_9801;
BgL_auxz00_9801 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5881L), BGl_string2605z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3584); 
FAILURE(BgL_auxz00_9801,BFALSE,BFALSE);} } 
return 
BGl_threadzd2specificzd2setz12z12zz__threadz00(BgL_auxz00_9778, BgL_vz00_3585);} } 

}



/* &<@anonymous:1407> */
obj_t BGl_z62zc3z04anonymousza31407ze3ze5zz__threadz00(obj_t BgL_envz00_3586, obj_t BgL_oz00_3587)
{
{ /* Llib/thread.scm 167 */
{ /* Llib/thread.scm 167 */
 BgL_threadz00_bglt BgL_auxz00_9806;
{ /* Llib/thread.scm 167 */
 bool_t BgL_test3505z00_9807;
{ /* Llib/thread.scm 167 */
 obj_t BgL_classz00_5510;
BgL_classz00_5510 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3587))
{ /* Llib/thread.scm 167 */
 BgL_objectz00_bglt BgL_arg1940z00_5512; long BgL_arg1941z00_5513;
BgL_arg1940z00_5512 = 
(BgL_objectz00_bglt)(BgL_oz00_3587); 
BgL_arg1941z00_5513 = 
BGL_CLASS_DEPTH(BgL_classz00_5510); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 167 */
 long BgL_idxz00_5521;
BgL_idxz00_5521 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5512); 
{ /* Llib/thread.scm 167 */
 obj_t BgL_arg1933z00_5522;
{ /* Llib/thread.scm 167 */
 long BgL_arg1934z00_5523;
BgL_arg1934z00_5523 = 
(BgL_idxz00_5521+BgL_arg1941z00_5513); 
BgL_arg1933z00_5522 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5523); } 
BgL_test3505z00_9807 = 
(BgL_arg1933z00_5522==BgL_classz00_5510); } }  else 
{ /* Llib/thread.scm 167 */
 bool_t BgL_res2051z00_5528;
{ /* Llib/thread.scm 167 */
 obj_t BgL_oclassz00_5532;
{ /* Llib/thread.scm 167 */
 long BgL_arg1945z00_5534;
{ /* Llib/thread.scm 167 */
 long BgL_arg1946z00_5535;
BgL_arg1946z00_5535 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5512); 
BgL_arg1945z00_5534 = 
(BgL_arg1946z00_5535-OBJECT_TYPE); } 
BgL_oclassz00_5532 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5534); } 
{ /* Llib/thread.scm 167 */
 bool_t BgL__ortest_1147z00_5541;
BgL__ortest_1147z00_5541 = 
(BgL_classz00_5510==BgL_oclassz00_5532); 
if(BgL__ortest_1147z00_5541)
{ /* Llib/thread.scm 167 */
BgL_res2051z00_5528 = BgL__ortest_1147z00_5541; }  else 
{ /* Llib/thread.scm 167 */
 long BgL_odepthz00_5542;
BgL_odepthz00_5542 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5532); 
if(
(BgL_arg1941z00_5513<BgL_odepthz00_5542))
{ /* Llib/thread.scm 167 */
 obj_t BgL_arg1935z00_5546;
BgL_arg1935z00_5546 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5532, BgL_arg1941z00_5513); 
BgL_res2051z00_5528 = 
(BgL_arg1935z00_5546==BgL_classz00_5510); }  else 
{ /* Llib/thread.scm 167 */
BgL_res2051z00_5528 = ((bool_t)0); } } } } 
BgL_test3505z00_9807 = BgL_res2051z00_5528; } }  else 
{ /* Llib/thread.scm 167 */
BgL_test3505z00_9807 = ((bool_t)0)
; } } 
if(BgL_test3505z00_9807)
{ /* Llib/thread.scm 167 */
BgL_auxz00_9806 = 
((BgL_threadz00_bglt)BgL_oz00_3587)
; }  else 
{ 
 obj_t BgL_auxz00_9829;
BgL_auxz00_9829 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5881L), BGl_string2606z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3587); 
FAILURE(BgL_auxz00_9829,BFALSE,BFALSE);} } 
return 
BGl_threadzd2specificzd2zz__threadz00(BgL_auxz00_9806);} } 

}



/* &<@anonymous:1401> */
obj_t BGl_z62zc3z04anonymousza31401ze3ze5zz__threadz00(obj_t BgL_envz00_3588, obj_t BgL_oz00_3589, obj_t BgL_vz00_3590)
{
{ /* Llib/thread.scm 164 */
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_auxz00_9834;
{ /* Llib/thread.scm 164 */
 bool_t BgL_test3510z00_9835;
{ /* Llib/thread.scm 164 */
 obj_t BgL_classz00_5584;
BgL_classz00_5584 = BGl_objectz00zz__objectz00; 
if(
BGL_OBJECTP(BgL_oz00_3589))
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_arg1940z00_5586; long BgL_arg1941z00_5587;
BgL_arg1940z00_5586 = 
(BgL_objectz00_bglt)(BgL_oz00_3589); 
BgL_arg1941z00_5587 = 
BGL_CLASS_DEPTH(BgL_classz00_5584); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 164 */
 long BgL_idxz00_5595;
BgL_idxz00_5595 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5586); 
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1933z00_5596;
{ /* Llib/thread.scm 164 */
 long BgL_arg1934z00_5597;
BgL_arg1934z00_5597 = 
(BgL_idxz00_5595+BgL_arg1941z00_5587); 
BgL_arg1933z00_5596 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5597); } 
BgL_test3510z00_9835 = 
(BgL_arg1933z00_5596==BgL_classz00_5584); } }  else 
{ /* Llib/thread.scm 164 */
 bool_t BgL_res2051z00_5602;
{ /* Llib/thread.scm 164 */
 obj_t BgL_oclassz00_5606;
{ /* Llib/thread.scm 164 */
 long BgL_arg1945z00_5608;
{ /* Llib/thread.scm 164 */
 long BgL_arg1946z00_5609;
BgL_arg1946z00_5609 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5586); 
BgL_arg1945z00_5608 = 
(BgL_arg1946z00_5609-OBJECT_TYPE); } 
BgL_oclassz00_5606 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5608); } 
{ /* Llib/thread.scm 164 */
 bool_t BgL__ortest_1147z00_5615;
BgL__ortest_1147z00_5615 = 
(BgL_classz00_5584==BgL_oclassz00_5606); 
if(BgL__ortest_1147z00_5615)
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5602 = BgL__ortest_1147z00_5615; }  else 
{ /* Llib/thread.scm 164 */
 long BgL_odepthz00_5616;
BgL_odepthz00_5616 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5606); 
if(
(BgL_arg1941z00_5587<BgL_odepthz00_5616))
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1935z00_5620;
BgL_arg1935z00_5620 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5606, BgL_arg1941z00_5587); 
BgL_res2051z00_5602 = 
(BgL_arg1935z00_5620==BgL_classz00_5584); }  else 
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5602 = ((bool_t)0); } } } } 
BgL_test3510z00_9835 = BgL_res2051z00_5602; } }  else 
{ /* Llib/thread.scm 164 */
BgL_test3510z00_9835 = ((bool_t)0)
; } } 
if(BgL_test3510z00_9835)
{ /* Llib/thread.scm 164 */
BgL_auxz00_9834 = 
((BgL_objectz00_bglt)BgL_oz00_3589)
; }  else 
{ 
 obj_t BgL_auxz00_9857;
BgL_auxz00_9857 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5779L), BGl_string2607z00zz__threadz00, BGl_string2608z00zz__threadz00, BgL_oz00_3589); 
FAILURE(BgL_auxz00_9857,BFALSE,BFALSE);} } 
return 
BGl_callzd2virtualzd2setterz00zz__objectz00(BgL_auxz00_9834, 
(int)(1L), BgL_vz00_3590);} } 

}



/* &<@anonymous:1400> */
obj_t BGl_z62zc3z04anonymousza31400ze3ze5zz__threadz00(obj_t BgL_envz00_3591, obj_t BgL_oz00_3592)
{
{ /* Llib/thread.scm 164 */
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_auxz00_9863;
{ /* Llib/thread.scm 164 */
 bool_t BgL_test3515z00_9864;
{ /* Llib/thread.scm 164 */
 obj_t BgL_classz00_5658;
BgL_classz00_5658 = BGl_objectz00zz__objectz00; 
if(
BGL_OBJECTP(BgL_oz00_3592))
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_arg1940z00_5660; long BgL_arg1941z00_5661;
BgL_arg1940z00_5660 = 
(BgL_objectz00_bglt)(BgL_oz00_3592); 
BgL_arg1941z00_5661 = 
BGL_CLASS_DEPTH(BgL_classz00_5658); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 164 */
 long BgL_idxz00_5669;
BgL_idxz00_5669 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5660); 
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1933z00_5670;
{ /* Llib/thread.scm 164 */
 long BgL_arg1934z00_5671;
BgL_arg1934z00_5671 = 
(BgL_idxz00_5669+BgL_arg1941z00_5661); 
BgL_arg1933z00_5670 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5671); } 
BgL_test3515z00_9864 = 
(BgL_arg1933z00_5670==BgL_classz00_5658); } }  else 
{ /* Llib/thread.scm 164 */
 bool_t BgL_res2051z00_5676;
{ /* Llib/thread.scm 164 */
 obj_t BgL_oclassz00_5680;
{ /* Llib/thread.scm 164 */
 long BgL_arg1945z00_5682;
{ /* Llib/thread.scm 164 */
 long BgL_arg1946z00_5683;
BgL_arg1946z00_5683 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5660); 
BgL_arg1945z00_5682 = 
(BgL_arg1946z00_5683-OBJECT_TYPE); } 
BgL_oclassz00_5680 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5682); } 
{ /* Llib/thread.scm 164 */
 bool_t BgL__ortest_1147z00_5689;
BgL__ortest_1147z00_5689 = 
(BgL_classz00_5658==BgL_oclassz00_5680); 
if(BgL__ortest_1147z00_5689)
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5676 = BgL__ortest_1147z00_5689; }  else 
{ /* Llib/thread.scm 164 */
 long BgL_odepthz00_5690;
BgL_odepthz00_5690 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5680); 
if(
(BgL_arg1941z00_5661<BgL_odepthz00_5690))
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1935z00_5694;
BgL_arg1935z00_5694 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5680, BgL_arg1941z00_5661); 
BgL_res2051z00_5676 = 
(BgL_arg1935z00_5694==BgL_classz00_5658); }  else 
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5676 = ((bool_t)0); } } } } 
BgL_test3515z00_9864 = BgL_res2051z00_5676; } }  else 
{ /* Llib/thread.scm 164 */
BgL_test3515z00_9864 = ((bool_t)0)
; } } 
if(BgL_test3515z00_9864)
{ /* Llib/thread.scm 164 */
BgL_auxz00_9863 = 
((BgL_objectz00_bglt)BgL_oz00_3592)
; }  else 
{ 
 obj_t BgL_auxz00_9886;
BgL_auxz00_9886 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5779L), BGl_string2609z00zz__threadz00, BGl_string2608z00zz__threadz00, BgL_oz00_3592); 
FAILURE(BgL_auxz00_9886,BFALSE,BFALSE);} } 
return 
BGl_callzd2virtualzd2getterz00zz__objectz00(BgL_auxz00_9863, 
(int)(1L));} } 

}



/* &<@anonymous:1396> */
obj_t BGl_z62zc3z04anonymousza31396ze3ze5zz__threadz00(obj_t BgL_envz00_3593, obj_t BgL_oz00_3594, obj_t BgL_vz00_3595)
{
{ /* Llib/thread.scm 164 */
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_auxz00_9892;
{ /* Llib/thread.scm 164 */
 bool_t BgL_test3520z00_9893;
{ /* Llib/thread.scm 164 */
 obj_t BgL_classz00_5732;
BgL_classz00_5732 = BGl_objectz00zz__objectz00; 
if(
BGL_OBJECTP(BgL_oz00_3594))
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_arg1940z00_5734; long BgL_arg1941z00_5735;
BgL_arg1940z00_5734 = 
(BgL_objectz00_bglt)(BgL_oz00_3594); 
BgL_arg1941z00_5735 = 
BGL_CLASS_DEPTH(BgL_classz00_5732); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 164 */
 long BgL_idxz00_5743;
BgL_idxz00_5743 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5734); 
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1933z00_5744;
{ /* Llib/thread.scm 164 */
 long BgL_arg1934z00_5745;
BgL_arg1934z00_5745 = 
(BgL_idxz00_5743+BgL_arg1941z00_5735); 
BgL_arg1933z00_5744 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5745); } 
BgL_test3520z00_9893 = 
(BgL_arg1933z00_5744==BgL_classz00_5732); } }  else 
{ /* Llib/thread.scm 164 */
 bool_t BgL_res2051z00_5750;
{ /* Llib/thread.scm 164 */
 obj_t BgL_oclassz00_5754;
{ /* Llib/thread.scm 164 */
 long BgL_arg1945z00_5756;
{ /* Llib/thread.scm 164 */
 long BgL_arg1946z00_5757;
BgL_arg1946z00_5757 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5734); 
BgL_arg1945z00_5756 = 
(BgL_arg1946z00_5757-OBJECT_TYPE); } 
BgL_oclassz00_5754 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5756); } 
{ /* Llib/thread.scm 164 */
 bool_t BgL__ortest_1147z00_5763;
BgL__ortest_1147z00_5763 = 
(BgL_classz00_5732==BgL_oclassz00_5754); 
if(BgL__ortest_1147z00_5763)
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5750 = BgL__ortest_1147z00_5763; }  else 
{ /* Llib/thread.scm 164 */
 long BgL_odepthz00_5764;
BgL_odepthz00_5764 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5754); 
if(
(BgL_arg1941z00_5735<BgL_odepthz00_5764))
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1935z00_5768;
BgL_arg1935z00_5768 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5754, BgL_arg1941z00_5735); 
BgL_res2051z00_5750 = 
(BgL_arg1935z00_5768==BgL_classz00_5732); }  else 
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5750 = ((bool_t)0); } } } } 
BgL_test3520z00_9893 = BgL_res2051z00_5750; } }  else 
{ /* Llib/thread.scm 164 */
BgL_test3520z00_9893 = ((bool_t)0)
; } } 
if(BgL_test3520z00_9893)
{ /* Llib/thread.scm 164 */
BgL_auxz00_9892 = 
((BgL_objectz00_bglt)BgL_oz00_3594)
; }  else 
{ 
 obj_t BgL_auxz00_9915;
BgL_auxz00_9915 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5779L), BGl_string2610z00zz__threadz00, BGl_string2608z00zz__threadz00, BgL_oz00_3594); 
FAILURE(BgL_auxz00_9915,BFALSE,BFALSE);} } 
return 
BGl_callzd2virtualzd2setterz00zz__objectz00(BgL_auxz00_9892, 
(int)(0L), BgL_vz00_3595);} } 

}



/* &<@anonymous:1395> */
obj_t BGl_z62zc3z04anonymousza31395ze3ze5zz__threadz00(obj_t BgL_envz00_3596, obj_t BgL_oz00_3597)
{
{ /* Llib/thread.scm 164 */
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_auxz00_9921;
{ /* Llib/thread.scm 164 */
 bool_t BgL_test3525z00_9922;
{ /* Llib/thread.scm 164 */
 obj_t BgL_classz00_5806;
BgL_classz00_5806 = BGl_objectz00zz__objectz00; 
if(
BGL_OBJECTP(BgL_oz00_3597))
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_arg1940z00_5808; long BgL_arg1941z00_5809;
BgL_arg1940z00_5808 = 
(BgL_objectz00_bglt)(BgL_oz00_3597); 
BgL_arg1941z00_5809 = 
BGL_CLASS_DEPTH(BgL_classz00_5806); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 164 */
 long BgL_idxz00_5817;
BgL_idxz00_5817 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5808); 
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1933z00_5818;
{ /* Llib/thread.scm 164 */
 long BgL_arg1934z00_5819;
BgL_arg1934z00_5819 = 
(BgL_idxz00_5817+BgL_arg1941z00_5809); 
BgL_arg1933z00_5818 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5819); } 
BgL_test3525z00_9922 = 
(BgL_arg1933z00_5818==BgL_classz00_5806); } }  else 
{ /* Llib/thread.scm 164 */
 bool_t BgL_res2051z00_5824;
{ /* Llib/thread.scm 164 */
 obj_t BgL_oclassz00_5828;
{ /* Llib/thread.scm 164 */
 long BgL_arg1945z00_5830;
{ /* Llib/thread.scm 164 */
 long BgL_arg1946z00_5831;
BgL_arg1946z00_5831 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5808); 
BgL_arg1945z00_5830 = 
(BgL_arg1946z00_5831-OBJECT_TYPE); } 
BgL_oclassz00_5828 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5830); } 
{ /* Llib/thread.scm 164 */
 bool_t BgL__ortest_1147z00_5837;
BgL__ortest_1147z00_5837 = 
(BgL_classz00_5806==BgL_oclassz00_5828); 
if(BgL__ortest_1147z00_5837)
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5824 = BgL__ortest_1147z00_5837; }  else 
{ /* Llib/thread.scm 164 */
 long BgL_odepthz00_5838;
BgL_odepthz00_5838 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5828); 
if(
(BgL_arg1941z00_5809<BgL_odepthz00_5838))
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1935z00_5842;
BgL_arg1935z00_5842 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5828, BgL_arg1941z00_5809); 
BgL_res2051z00_5824 = 
(BgL_arg1935z00_5842==BgL_classz00_5806); }  else 
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5824 = ((bool_t)0); } } } } 
BgL_test3525z00_9922 = BgL_res2051z00_5824; } }  else 
{ /* Llib/thread.scm 164 */
BgL_test3525z00_9922 = ((bool_t)0)
; } } 
if(BgL_test3525z00_9922)
{ /* Llib/thread.scm 164 */
BgL_auxz00_9921 = 
((BgL_objectz00_bglt)BgL_oz00_3597)
; }  else 
{ 
 obj_t BgL_auxz00_9944;
BgL_auxz00_9944 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5779L), BGl_string2611z00zz__threadz00, BGl_string2608z00zz__threadz00, BgL_oz00_3597); 
FAILURE(BgL_auxz00_9944,BFALSE,BFALSE);} } 
return 
BGl_callzd2virtualzd2getterz00zz__objectz00(BgL_auxz00_9921, 
(int)(0L));} } 

}



/* &<@anonymous:1390> */
obj_t BGl_z62zc3z04anonymousza31390ze3ze5zz__threadz00(obj_t BgL_envz00_3598)
{
{ /* Llib/thread.scm 164 */
return 
BGl_gensymz00zz__r4_symbols_6_4z00(BGl_symbol2453z00zz__threadz00);} 

}



/* &lambda1389 */
obj_t BGl_z62lambda1389z62zz__threadz00(obj_t BgL_envz00_3599, obj_t BgL_oz00_3600, obj_t BgL_vz00_3601)
{
{ /* Llib/thread.scm 164 */
{ /* Llib/thread.scm 164 */
 BgL_threadz00_bglt BgL_oz00_5880;
{ /* Llib/thread.scm 164 */
 bool_t BgL_test3530z00_9951;
{ /* Llib/thread.scm 164 */
 obj_t BgL_classz00_5843;
BgL_classz00_5843 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3600))
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_arg1940z00_5845; long BgL_arg1941z00_5846;
BgL_arg1940z00_5845 = 
(BgL_objectz00_bglt)(BgL_oz00_3600); 
BgL_arg1941z00_5846 = 
BGL_CLASS_DEPTH(BgL_classz00_5843); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 164 */
 long BgL_idxz00_5854;
BgL_idxz00_5854 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5845); 
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1933z00_5855;
{ /* Llib/thread.scm 164 */
 long BgL_arg1934z00_5856;
BgL_arg1934z00_5856 = 
(BgL_idxz00_5854+BgL_arg1941z00_5846); 
BgL_arg1933z00_5855 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5856); } 
BgL_test3530z00_9951 = 
(BgL_arg1933z00_5855==BgL_classz00_5843); } }  else 
{ /* Llib/thread.scm 164 */
 bool_t BgL_res2051z00_5861;
{ /* Llib/thread.scm 164 */
 obj_t BgL_oclassz00_5865;
{ /* Llib/thread.scm 164 */
 long BgL_arg1945z00_5867;
{ /* Llib/thread.scm 164 */
 long BgL_arg1946z00_5868;
BgL_arg1946z00_5868 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5845); 
BgL_arg1945z00_5867 = 
(BgL_arg1946z00_5868-OBJECT_TYPE); } 
BgL_oclassz00_5865 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5867); } 
{ /* Llib/thread.scm 164 */
 bool_t BgL__ortest_1147z00_5874;
BgL__ortest_1147z00_5874 = 
(BgL_classz00_5843==BgL_oclassz00_5865); 
if(BgL__ortest_1147z00_5874)
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5861 = BgL__ortest_1147z00_5874; }  else 
{ /* Llib/thread.scm 164 */
 long BgL_odepthz00_5875;
BgL_odepthz00_5875 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5865); 
if(
(BgL_arg1941z00_5846<BgL_odepthz00_5875))
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1935z00_5879;
BgL_arg1935z00_5879 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5865, BgL_arg1941z00_5846); 
BgL_res2051z00_5861 = 
(BgL_arg1935z00_5879==BgL_classz00_5843); }  else 
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5861 = ((bool_t)0); } } } } 
BgL_test3530z00_9951 = BgL_res2051z00_5861; } }  else 
{ /* Llib/thread.scm 164 */
BgL_test3530z00_9951 = ((bool_t)0)
; } } 
if(BgL_test3530z00_9951)
{ /* Llib/thread.scm 164 */
BgL_oz00_5880 = 
((BgL_threadz00_bglt)BgL_oz00_3600); }  else 
{ 
 obj_t BgL_auxz00_9973;
BgL_auxz00_9973 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5779L), BGl_string2612z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3600); 
FAILURE(BgL_auxz00_9973,BFALSE,BFALSE);} } 
return 
((((BgL_threadz00_bglt)COBJECT(BgL_oz00_5880))->BgL_namez00)=((obj_t)BgL_vz00_3601),BUNSPEC);} } 

}



/* &lambda1388 */
obj_t BGl_z62lambda1388z62zz__threadz00(obj_t BgL_envz00_3602, obj_t BgL_oz00_3603)
{
{ /* Llib/thread.scm 164 */
{ /* Llib/thread.scm 164 */
 BgL_threadz00_bglt BgL_oz00_5918;
{ /* Llib/thread.scm 164 */
 bool_t BgL_test3535z00_9978;
{ /* Llib/thread.scm 164 */
 obj_t BgL_classz00_5881;
BgL_classz00_5881 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3603))
{ /* Llib/thread.scm 164 */
 BgL_objectz00_bglt BgL_arg1940z00_5883; long BgL_arg1941z00_5884;
BgL_arg1940z00_5883 = 
(BgL_objectz00_bglt)(BgL_oz00_3603); 
BgL_arg1941z00_5884 = 
BGL_CLASS_DEPTH(BgL_classz00_5881); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 164 */
 long BgL_idxz00_5892;
BgL_idxz00_5892 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5883); 
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1933z00_5893;
{ /* Llib/thread.scm 164 */
 long BgL_arg1934z00_5894;
BgL_arg1934z00_5894 = 
(BgL_idxz00_5892+BgL_arg1941z00_5884); 
BgL_arg1933z00_5893 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5894); } 
BgL_test3535z00_9978 = 
(BgL_arg1933z00_5893==BgL_classz00_5881); } }  else 
{ /* Llib/thread.scm 164 */
 bool_t BgL_res2051z00_5899;
{ /* Llib/thread.scm 164 */
 obj_t BgL_oclassz00_5903;
{ /* Llib/thread.scm 164 */
 long BgL_arg1945z00_5905;
{ /* Llib/thread.scm 164 */
 long BgL_arg1946z00_5906;
BgL_arg1946z00_5906 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5883); 
BgL_arg1945z00_5905 = 
(BgL_arg1946z00_5906-OBJECT_TYPE); } 
BgL_oclassz00_5903 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5905); } 
{ /* Llib/thread.scm 164 */
 bool_t BgL__ortest_1147z00_5912;
BgL__ortest_1147z00_5912 = 
(BgL_classz00_5881==BgL_oclassz00_5903); 
if(BgL__ortest_1147z00_5912)
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5899 = BgL__ortest_1147z00_5912; }  else 
{ /* Llib/thread.scm 164 */
 long BgL_odepthz00_5913;
BgL_odepthz00_5913 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5903); 
if(
(BgL_arg1941z00_5884<BgL_odepthz00_5913))
{ /* Llib/thread.scm 164 */
 obj_t BgL_arg1935z00_5917;
BgL_arg1935z00_5917 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5903, BgL_arg1941z00_5884); 
BgL_res2051z00_5899 = 
(BgL_arg1935z00_5917==BgL_classz00_5881); }  else 
{ /* Llib/thread.scm 164 */
BgL_res2051z00_5899 = ((bool_t)0); } } } } 
BgL_test3535z00_9978 = BgL_res2051z00_5899; } }  else 
{ /* Llib/thread.scm 164 */
BgL_test3535z00_9978 = ((bool_t)0)
; } } 
if(BgL_test3535z00_9978)
{ /* Llib/thread.scm 164 */
BgL_oz00_5918 = 
((BgL_threadz00_bglt)BgL_oz00_3603); }  else 
{ 
 obj_t BgL_auxz00_10000;
BgL_auxz00_10000 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5779L), BGl_string2613z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3603); 
FAILURE(BgL_auxz00_10000,BFALSE,BFALSE);} } 
return 
(((BgL_threadz00_bglt)COBJECT(BgL_oz00_5918))->BgL_namez00);} } 

}



/* &<@anonymous:1369> */
obj_t BGl_z62zc3z04anonymousza31369ze3ze5zz__threadz00(obj_t BgL_envz00_3604, obj_t BgL_new1039z00_3605)
{
{ /* Llib/thread.scm 161 */
{ 
 BgL_threadzd2backendzd2_bglt BgL_auxz00_10005;
{ /* Llib/thread.scm 161 */
 BgL_threadzd2backendzd2_bglt BgL_new1039z00_5956;
{ /* Llib/thread.scm 161 */
 bool_t BgL_test3540z00_10006;
{ /* Llib/thread.scm 161 */
 obj_t BgL_classz00_5919;
BgL_classz00_5919 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_new1039z00_3605))
{ /* Llib/thread.scm 161 */
 BgL_objectz00_bglt BgL_arg1940z00_5921; long BgL_arg1941z00_5922;
BgL_arg1940z00_5921 = 
(BgL_objectz00_bglt)(BgL_new1039z00_3605); 
BgL_arg1941z00_5922 = 
BGL_CLASS_DEPTH(BgL_classz00_5919); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 161 */
 long BgL_idxz00_5930;
BgL_idxz00_5930 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5921); 
{ /* Llib/thread.scm 161 */
 obj_t BgL_arg1933z00_5931;
{ /* Llib/thread.scm 161 */
 long BgL_arg1934z00_5932;
BgL_arg1934z00_5932 = 
(BgL_idxz00_5930+BgL_arg1941z00_5922); 
BgL_arg1933z00_5931 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5932); } 
BgL_test3540z00_10006 = 
(BgL_arg1933z00_5931==BgL_classz00_5919); } }  else 
{ /* Llib/thread.scm 161 */
 bool_t BgL_res2051z00_5937;
{ /* Llib/thread.scm 161 */
 obj_t BgL_oclassz00_5941;
{ /* Llib/thread.scm 161 */
 long BgL_arg1945z00_5943;
{ /* Llib/thread.scm 161 */
 long BgL_arg1946z00_5944;
BgL_arg1946z00_5944 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5921); 
BgL_arg1945z00_5943 = 
(BgL_arg1946z00_5944-OBJECT_TYPE); } 
BgL_oclassz00_5941 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5943); } 
{ /* Llib/thread.scm 161 */
 bool_t BgL__ortest_1147z00_5950;
BgL__ortest_1147z00_5950 = 
(BgL_classz00_5919==BgL_oclassz00_5941); 
if(BgL__ortest_1147z00_5950)
{ /* Llib/thread.scm 161 */
BgL_res2051z00_5937 = BgL__ortest_1147z00_5950; }  else 
{ /* Llib/thread.scm 161 */
 long BgL_odepthz00_5951;
BgL_odepthz00_5951 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5941); 
if(
(BgL_arg1941z00_5922<BgL_odepthz00_5951))
{ /* Llib/thread.scm 161 */
 obj_t BgL_arg1935z00_5955;
BgL_arg1935z00_5955 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5941, BgL_arg1941z00_5922); 
BgL_res2051z00_5937 = 
(BgL_arg1935z00_5955==BgL_classz00_5919); }  else 
{ /* Llib/thread.scm 161 */
BgL_res2051z00_5937 = ((bool_t)0); } } } } 
BgL_test3540z00_10006 = BgL_res2051z00_5937; } }  else 
{ /* Llib/thread.scm 161 */
BgL_test3540z00_10006 = ((bool_t)0)
; } } 
if(BgL_test3540z00_10006)
{ /* Llib/thread.scm 161 */
BgL_new1039z00_5956 = 
((BgL_threadzd2backendzd2_bglt)BgL_new1039z00_3605); }  else 
{ 
 obj_t BgL_auxz00_10028;
BgL_auxz00_10028 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5716L), BGl_string2614z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_new1039z00_3605); 
FAILURE(BgL_auxz00_10028,BFALSE,BFALSE);} } 
((((BgL_threadzd2backendzd2_bglt)COBJECT(BgL_new1039z00_5956))->BgL_namez00)=((obj_t)BGl_string2577z00zz__threadz00),BUNSPEC); 
BgL_auxz00_10005 = BgL_new1039z00_5956; } 
return 
((obj_t)BgL_auxz00_10005);} } 

}



/* &lambda1367 */
BgL_threadzd2backendzd2_bglt BGl_z62lambda1367z62zz__threadz00(obj_t BgL_envz00_3606)
{
{ /* Llib/thread.scm 161 */
{ /* Llib/thread.scm 161 */
 BgL_threadzd2backendzd2_bglt BgL_new1038z00_5957;
BgL_new1038z00_5957 = 
((BgL_threadzd2backendzd2_bglt)BOBJECT( GC_MALLOC( sizeof(struct BgL_threadzd2backendzd2_bgl) ))); 
{ /* Llib/thread.scm 161 */
 long BgL_arg1368z00_5958;
BgL_arg1368z00_5958 = 
BGL_CLASS_NUM(BGl_threadzd2backendzd2zz__threadz00); 
BGL_OBJECT_CLASS_NUM_SET(
((BgL_objectz00_bglt)BgL_new1038z00_5957), BgL_arg1368z00_5958); } 
return BgL_new1038z00_5957;} } 

}



/* &lambda1365 */
BgL_threadzd2backendzd2_bglt BGl_z62lambda1365z62zz__threadz00(obj_t BgL_envz00_3607, obj_t BgL_name1037z00_3608)
{
{ /* Llib/thread.scm 161 */
{ /* Llib/thread.scm 161 */
 obj_t BgL_name1037z00_5959;
if(
STRINGP(BgL_name1037z00_3608))
{ /* Llib/thread.scm 161 */
BgL_name1037z00_5959 = BgL_name1037z00_3608; }  else 
{ 
 obj_t BgL_auxz00_10040;
BgL_auxz00_10040 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5716L), BGl_string2615z00zz__threadz00, BGl_string2449z00zz__threadz00, BgL_name1037z00_3608); 
FAILURE(BgL_auxz00_10040,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 161 */
 BgL_threadzd2backendzd2_bglt BgL_new1112z00_5960;
{ /* Llib/thread.scm 161 */
 BgL_threadzd2backendzd2_bglt BgL_new1111z00_5961;
BgL_new1111z00_5961 = 
((BgL_threadzd2backendzd2_bglt)BOBJECT( GC_MALLOC( sizeof(struct BgL_threadzd2backendzd2_bgl) ))); 
{ /* Llib/thread.scm 161 */
 long BgL_arg1366z00_5962;
BgL_arg1366z00_5962 = 
BGL_CLASS_NUM(BGl_threadzd2backendzd2zz__threadz00); 
BGL_OBJECT_CLASS_NUM_SET(
((BgL_objectz00_bglt)BgL_new1111z00_5961), BgL_arg1366z00_5962); } 
BgL_new1112z00_5960 = BgL_new1111z00_5961; } 
((((BgL_threadzd2backendzd2_bglt)COBJECT(BgL_new1112z00_5960))->BgL_namez00)=((obj_t)BgL_name1037z00_5959),BUNSPEC); 
return BgL_new1112z00_5960;} } } 

}



/* &lambda1374 */
obj_t BGl_z62lambda1374z62zz__threadz00(obj_t BgL_envz00_3609, obj_t BgL_oz00_3610, obj_t BgL_vz00_3611)
{
{ /* Llib/thread.scm 161 */
{ /* Llib/thread.scm 161 */
 BgL_threadzd2backendzd2_bglt BgL_oz00_6000; obj_t BgL_vz00_6001;
{ /* Llib/thread.scm 161 */
 bool_t BgL_test3546z00_10049;
{ /* Llib/thread.scm 161 */
 obj_t BgL_classz00_5963;
BgL_classz00_5963 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3610))
{ /* Llib/thread.scm 161 */
 BgL_objectz00_bglt BgL_arg1940z00_5965; long BgL_arg1941z00_5966;
BgL_arg1940z00_5965 = 
(BgL_objectz00_bglt)(BgL_oz00_3610); 
BgL_arg1941z00_5966 = 
BGL_CLASS_DEPTH(BgL_classz00_5963); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 161 */
 long BgL_idxz00_5974;
BgL_idxz00_5974 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_5965); 
{ /* Llib/thread.scm 161 */
 obj_t BgL_arg1933z00_5975;
{ /* Llib/thread.scm 161 */
 long BgL_arg1934z00_5976;
BgL_arg1934z00_5976 = 
(BgL_idxz00_5974+BgL_arg1941z00_5966); 
BgL_arg1933z00_5975 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_5976); } 
BgL_test3546z00_10049 = 
(BgL_arg1933z00_5975==BgL_classz00_5963); } }  else 
{ /* Llib/thread.scm 161 */
 bool_t BgL_res2051z00_5981;
{ /* Llib/thread.scm 161 */
 obj_t BgL_oclassz00_5985;
{ /* Llib/thread.scm 161 */
 long BgL_arg1945z00_5987;
{ /* Llib/thread.scm 161 */
 long BgL_arg1946z00_5988;
BgL_arg1946z00_5988 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_5965); 
BgL_arg1945z00_5987 = 
(BgL_arg1946z00_5988-OBJECT_TYPE); } 
BgL_oclassz00_5985 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_5987); } 
{ /* Llib/thread.scm 161 */
 bool_t BgL__ortest_1147z00_5994;
BgL__ortest_1147z00_5994 = 
(BgL_classz00_5963==BgL_oclassz00_5985); 
if(BgL__ortest_1147z00_5994)
{ /* Llib/thread.scm 161 */
BgL_res2051z00_5981 = BgL__ortest_1147z00_5994; }  else 
{ /* Llib/thread.scm 161 */
 long BgL_odepthz00_5995;
BgL_odepthz00_5995 = 
BGL_CLASS_DEPTH(BgL_oclassz00_5985); 
if(
(BgL_arg1941z00_5966<BgL_odepthz00_5995))
{ /* Llib/thread.scm 161 */
 obj_t BgL_arg1935z00_5999;
BgL_arg1935z00_5999 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5985, BgL_arg1941z00_5966); 
BgL_res2051z00_5981 = 
(BgL_arg1935z00_5999==BgL_classz00_5963); }  else 
{ /* Llib/thread.scm 161 */
BgL_res2051z00_5981 = ((bool_t)0); } } } } 
BgL_test3546z00_10049 = BgL_res2051z00_5981; } }  else 
{ /* Llib/thread.scm 161 */
BgL_test3546z00_10049 = ((bool_t)0)
; } } 
if(BgL_test3546z00_10049)
{ /* Llib/thread.scm 161 */
BgL_oz00_6000 = 
((BgL_threadzd2backendzd2_bglt)BgL_oz00_3610); }  else 
{ 
 obj_t BgL_auxz00_10071;
BgL_auxz00_10071 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5716L), BGl_string2616z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_oz00_3610); 
FAILURE(BgL_auxz00_10071,BFALSE,BFALSE);} } 
if(
STRINGP(BgL_vz00_3611))
{ /* Llib/thread.scm 161 */
BgL_vz00_6001 = BgL_vz00_3611; }  else 
{ 
 obj_t BgL_auxz00_10077;
BgL_auxz00_10077 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5716L), BGl_string2616z00zz__threadz00, BGl_string2449z00zz__threadz00, BgL_vz00_3611); 
FAILURE(BgL_auxz00_10077,BFALSE,BFALSE);} 
return 
((((BgL_threadzd2backendzd2_bglt)COBJECT(BgL_oz00_6000))->BgL_namez00)=((obj_t)BgL_vz00_6001),BUNSPEC);} } 

}



/* &lambda1373 */
obj_t BGl_z62lambda1373z62zz__threadz00(obj_t BgL_envz00_3612, obj_t BgL_oz00_3613)
{
{ /* Llib/thread.scm 161 */
{ /* Llib/thread.scm 161 */
 BgL_threadzd2backendzd2_bglt BgL_oz00_6039;
{ /* Llib/thread.scm 161 */
 bool_t BgL_test3552z00_10082;
{ /* Llib/thread.scm 161 */
 obj_t BgL_classz00_6002;
BgL_classz00_6002 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3613))
{ /* Llib/thread.scm 161 */
 BgL_objectz00_bglt BgL_arg1940z00_6004; long BgL_arg1941z00_6005;
BgL_arg1940z00_6004 = 
(BgL_objectz00_bglt)(BgL_oz00_3613); 
BgL_arg1941z00_6005 = 
BGL_CLASS_DEPTH(BgL_classz00_6002); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 161 */
 long BgL_idxz00_6013;
BgL_idxz00_6013 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6004); 
{ /* Llib/thread.scm 161 */
 obj_t BgL_arg1933z00_6014;
{ /* Llib/thread.scm 161 */
 long BgL_arg1934z00_6015;
BgL_arg1934z00_6015 = 
(BgL_idxz00_6013+BgL_arg1941z00_6005); 
BgL_arg1933z00_6014 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6015); } 
BgL_test3552z00_10082 = 
(BgL_arg1933z00_6014==BgL_classz00_6002); } }  else 
{ /* Llib/thread.scm 161 */
 bool_t BgL_res2051z00_6020;
{ /* Llib/thread.scm 161 */
 obj_t BgL_oclassz00_6024;
{ /* Llib/thread.scm 161 */
 long BgL_arg1945z00_6026;
{ /* Llib/thread.scm 161 */
 long BgL_arg1946z00_6027;
BgL_arg1946z00_6027 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6004); 
BgL_arg1945z00_6026 = 
(BgL_arg1946z00_6027-OBJECT_TYPE); } 
BgL_oclassz00_6024 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6026); } 
{ /* Llib/thread.scm 161 */
 bool_t BgL__ortest_1147z00_6033;
BgL__ortest_1147z00_6033 = 
(BgL_classz00_6002==BgL_oclassz00_6024); 
if(BgL__ortest_1147z00_6033)
{ /* Llib/thread.scm 161 */
BgL_res2051z00_6020 = BgL__ortest_1147z00_6033; }  else 
{ /* Llib/thread.scm 161 */
 long BgL_odepthz00_6034;
BgL_odepthz00_6034 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6024); 
if(
(BgL_arg1941z00_6005<BgL_odepthz00_6034))
{ /* Llib/thread.scm 161 */
 obj_t BgL_arg1935z00_6038;
BgL_arg1935z00_6038 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6024, BgL_arg1941z00_6005); 
BgL_res2051z00_6020 = 
(BgL_arg1935z00_6038==BgL_classz00_6002); }  else 
{ /* Llib/thread.scm 161 */
BgL_res2051z00_6020 = ((bool_t)0); } } } } 
BgL_test3552z00_10082 = BgL_res2051z00_6020; } }  else 
{ /* Llib/thread.scm 161 */
BgL_test3552z00_10082 = ((bool_t)0)
; } } 
if(BgL_test3552z00_10082)
{ /* Llib/thread.scm 161 */
BgL_oz00_6039 = 
((BgL_threadzd2backendzd2_bglt)BgL_oz00_3613); }  else 
{ 
 obj_t BgL_auxz00_10104;
BgL_auxz00_10104 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(5716L), BGl_string2617z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_oz00_3613); 
FAILURE(BgL_auxz00_10104,BFALSE,BFALSE);} } 
return 
(((BgL_threadzd2backendzd2_bglt)COBJECT(BgL_oz00_6039))->BgL_namez00);} } 

}



/* generic-init */
obj_t BGl_genericzd2initzd2zz__threadz00(void)
{
{ /* Llib/thread.scm 17 */
BGl_registerzd2genericz12zc0zz__objectz00(BGl_tbzd2makezd2threadzd2envzd2zz__threadz00, BGl_proc2618z00zz__threadz00, BGl_threadzd2backendzd2zz__threadz00, BGl_string2619z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_tbzd2currentzd2threadzd2envzd2zz__threadz00, BGl_proc2620z00zz__threadz00, BGl_threadzd2backendzd2zz__threadz00, BGl_string2621z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_tbzd2mutexzd2initializa7ez12zd2envz67zz__threadz00, BGl_proc2622z00zz__threadz00, BGl_threadzd2backendzd2zz__threadz00, BGl_string2623z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_tbzd2condvarzd2initializa7ez12zd2envz67zz__threadz00, BGl_proc2624z00zz__threadz00, BGl_threadzd2backendzd2zz__threadz00, BGl_string2625z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2initializa7ez12zd2envzb5zz__threadz00, BGl_proc2626z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2627z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2startz12zd2envz12zz__threadz00, BGl_proc2628z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2629z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2startzd2joinablez12zd2envzc0zz__threadz00, BGl_proc2630z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2631z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2joinz12zd2envz12zz__threadz00, BGl_proc2632z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2633z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2terminatez12zd2envz12zz__threadz00, BGl_proc2634z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2635z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2killz12zd2envz12zz__threadz00, BGl_proc2636z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2637z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2specificzd2envz00zz__threadz00, BGl_proc2638z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2639z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2specificzd2setz12zd2envzc0zz__threadz00, BGl_proc2640z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2641z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2cleanupzd2envz00zz__threadz00, BGl_proc2642z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2643z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2cleanupzd2setz12zd2envzc0zz__threadz00, BGl_proc2644z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2645z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2namezd2envz00zz__threadz00, BGl_proc2646z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2647z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_threadzd2namezd2setz12zd2envzc0zz__threadz00, BGl_proc2648z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2649z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_z52userzd2currentzd2threadzd2envz80zz__threadz00, BGl_proc2650z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2651z00zz__threadz00); 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_z52userzd2threadzd2sleepz12zd2envz92zz__threadz00, BGl_proc2652z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2653z00zz__threadz00); 
return 
BGl_registerzd2genericz12zc0zz__objectz00(BGl_z52userzd2threadzd2yieldz12zd2envz92zz__threadz00, BGl_proc2654z00zz__threadz00, BGl_threadz00zz__threadz00, BGl_string2655z00zz__threadz00);} 

}



/* &%user-thread-yield!1230 */
obj_t BGl_z62z52userzd2threadzd2yieldz121230z22zz__threadz00(obj_t BgL_envz00_3635, obj_t BgL_oz00_3636)
{
{ /* Llib/thread.scm 500 */
{ /* Llib/thread.scm 500 */
 BgL_threadz00_bglt BgL_oz00_6077;
{ /* Llib/thread.scm 500 */
 bool_t BgL_test3557z00_10128;
{ /* Llib/thread.scm 500 */
 obj_t BgL_classz00_6040;
BgL_classz00_6040 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3636))
{ /* Llib/thread.scm 500 */
 BgL_objectz00_bglt BgL_arg1940z00_6042; long BgL_arg1941z00_6043;
BgL_arg1940z00_6042 = 
(BgL_objectz00_bglt)(BgL_oz00_3636); 
BgL_arg1941z00_6043 = 
BGL_CLASS_DEPTH(BgL_classz00_6040); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 500 */
 long BgL_idxz00_6051;
BgL_idxz00_6051 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6042); 
{ /* Llib/thread.scm 500 */
 obj_t BgL_arg1933z00_6052;
{ /* Llib/thread.scm 500 */
 long BgL_arg1934z00_6053;
BgL_arg1934z00_6053 = 
(BgL_idxz00_6051+BgL_arg1941z00_6043); 
BgL_arg1933z00_6052 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6053); } 
BgL_test3557z00_10128 = 
(BgL_arg1933z00_6052==BgL_classz00_6040); } }  else 
{ /* Llib/thread.scm 500 */
 bool_t BgL_res2051z00_6058;
{ /* Llib/thread.scm 500 */
 obj_t BgL_oclassz00_6062;
{ /* Llib/thread.scm 500 */
 long BgL_arg1945z00_6064;
{ /* Llib/thread.scm 500 */
 long BgL_arg1946z00_6065;
BgL_arg1946z00_6065 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6042); 
BgL_arg1945z00_6064 = 
(BgL_arg1946z00_6065-OBJECT_TYPE); } 
BgL_oclassz00_6062 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6064); } 
{ /* Llib/thread.scm 500 */
 bool_t BgL__ortest_1147z00_6071;
BgL__ortest_1147z00_6071 = 
(BgL_classz00_6040==BgL_oclassz00_6062); 
if(BgL__ortest_1147z00_6071)
{ /* Llib/thread.scm 500 */
BgL_res2051z00_6058 = BgL__ortest_1147z00_6071; }  else 
{ /* Llib/thread.scm 500 */
 long BgL_odepthz00_6072;
BgL_odepthz00_6072 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6062); 
if(
(BgL_arg1941z00_6043<BgL_odepthz00_6072))
{ /* Llib/thread.scm 500 */
 obj_t BgL_arg1935z00_6076;
BgL_arg1935z00_6076 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6062, BgL_arg1941z00_6043); 
BgL_res2051z00_6058 = 
(BgL_arg1935z00_6076==BgL_classz00_6040); }  else 
{ /* Llib/thread.scm 500 */
BgL_res2051z00_6058 = ((bool_t)0); } } } } 
BgL_test3557z00_10128 = BgL_res2051z00_6058; } }  else 
{ /* Llib/thread.scm 500 */
BgL_test3557z00_10128 = ((bool_t)0)
; } } 
if(BgL_test3557z00_10128)
{ /* Llib/thread.scm 500 */
BgL_oz00_6077 = 
((BgL_threadz00_bglt)BgL_oz00_3636); }  else 
{ 
 obj_t BgL_auxz00_10150;
BgL_auxz00_10150 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(21576L), BGl_string2656z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3636); 
FAILURE(BgL_auxz00_10150,BFALSE,BFALSE);} } 
return BUNSPEC;} } 

}



/* &%user-thread-sleep!1228 */
obj_t BGl_z62z52userzd2threadzd2sleepz121228z22zz__threadz00(obj_t BgL_envz00_3637, obj_t BgL_oz00_3638, obj_t BgL_dz00_3639)
{
{ /* Llib/thread.scm 473 */
{ /* Llib/thread.scm 475 */
 BgL_threadz00_bglt BgL_oz00_6115;
{ /* Llib/thread.scm 475 */
 bool_t BgL_test3562z00_10154;
{ /* Llib/thread.scm 475 */
 obj_t BgL_classz00_6078;
BgL_classz00_6078 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3638))
{ /* Llib/thread.scm 475 */
 BgL_objectz00_bglt BgL_arg1940z00_6080; long BgL_arg1941z00_6081;
BgL_arg1940z00_6080 = 
(BgL_objectz00_bglt)(BgL_oz00_3638); 
BgL_arg1941z00_6081 = 
BGL_CLASS_DEPTH(BgL_classz00_6078); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 475 */
 long BgL_idxz00_6089;
BgL_idxz00_6089 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6080); 
{ /* Llib/thread.scm 475 */
 obj_t BgL_arg1933z00_6090;
{ /* Llib/thread.scm 475 */
 long BgL_arg1934z00_6091;
BgL_arg1934z00_6091 = 
(BgL_idxz00_6089+BgL_arg1941z00_6081); 
BgL_arg1933z00_6090 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6091); } 
BgL_test3562z00_10154 = 
(BgL_arg1933z00_6090==BgL_classz00_6078); } }  else 
{ /* Llib/thread.scm 475 */
 bool_t BgL_res2051z00_6096;
{ /* Llib/thread.scm 475 */
 obj_t BgL_oclassz00_6100;
{ /* Llib/thread.scm 475 */
 long BgL_arg1945z00_6102;
{ /* Llib/thread.scm 475 */
 long BgL_arg1946z00_6103;
BgL_arg1946z00_6103 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6080); 
BgL_arg1945z00_6102 = 
(BgL_arg1946z00_6103-OBJECT_TYPE); } 
BgL_oclassz00_6100 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6102); } 
{ /* Llib/thread.scm 475 */
 bool_t BgL__ortest_1147z00_6109;
BgL__ortest_1147z00_6109 = 
(BgL_classz00_6078==BgL_oclassz00_6100); 
if(BgL__ortest_1147z00_6109)
{ /* Llib/thread.scm 475 */
BgL_res2051z00_6096 = BgL__ortest_1147z00_6109; }  else 
{ /* Llib/thread.scm 475 */
 long BgL_odepthz00_6110;
BgL_odepthz00_6110 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6100); 
if(
(BgL_arg1941z00_6081<BgL_odepthz00_6110))
{ /* Llib/thread.scm 475 */
 obj_t BgL_arg1935z00_6114;
BgL_arg1935z00_6114 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6100, BgL_arg1941z00_6081); 
BgL_res2051z00_6096 = 
(BgL_arg1935z00_6114==BgL_classz00_6078); }  else 
{ /* Llib/thread.scm 475 */
BgL_res2051z00_6096 = ((bool_t)0); } } } } 
BgL_test3562z00_10154 = BgL_res2051z00_6096; } }  else 
{ /* Llib/thread.scm 475 */
BgL_test3562z00_10154 = ((bool_t)0)
; } } 
if(BgL_test3562z00_10154)
{ /* Llib/thread.scm 475 */
BgL_oz00_6115 = 
((BgL_threadz00_bglt)BgL_oz00_3638); }  else 
{ 
 obj_t BgL_auxz00_10176;
BgL_auxz00_10176 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20545L), BGl_string2660z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3638); 
FAILURE(BgL_auxz00_10176,BFALSE,BFALSE);} } 
if(
BGL_DATEP(BgL_dz00_3639))
{ /* Llib/thread.scm 476 */
 long BgL_cdtz00_6116;
BgL_cdtz00_6116 = 
bgl_date_to_seconds(
bgl_nanoseconds_to_date(
bgl_current_nanoseconds())); 
{ /* Llib/thread.scm 476 */
 long BgL_dtz00_6117;
BgL_dtz00_6117 = 
bgl_date_to_seconds(BgL_dz00_3639); 
{ /* Llib/thread.scm 477 */
 obj_t BgL_az00_6118;
{ /* Llib/thread.scm 478 */
 long BgL_a1151z00_6119;
{ /* Llib/thread.scm 478 */
 long BgL_res1953z00_6120;
{ /* Llib/thread.scm 478 */
 long BgL_tmpz00_10186;
BgL_tmpz00_10186 = 
(BgL_dtz00_6117-BgL_cdtz00_6116); 
BgL_res1953z00_6120 = 
(long)(BgL_tmpz00_10186); } 
BgL_a1151z00_6119 = BgL_res1953z00_6120; } 
{ /* Llib/thread.scm 478 */

BgL_az00_6118 = 
BGl_2za2za2zz__r4_numbers_6_5z00(
make_belong(BgL_a1151z00_6119), 
BINT(1000000L)); } } 
{ /* Llib/thread.scm 478 */

{ /* Llib/thread.scm 479 */
 bool_t BgL_test3568z00_10192;
{ /* Llib/thread.scm 479 */
 long BgL_n1z00_6121;
{ /* Llib/thread.scm 479 */
 obj_t BgL_tmpz00_10193;
if(
ELONGP(BgL_az00_6118))
{ /* Llib/thread.scm 479 */
BgL_tmpz00_10193 = BgL_az00_6118
; }  else 
{ 
 obj_t BgL_auxz00_10196;
BgL_auxz00_10196 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20694L), BGl_string2653z00zz__threadz00, BGl_string2657z00zz__threadz00, BgL_az00_6118); 
FAILURE(BgL_auxz00_10196,BFALSE,BFALSE);} 
BgL_n1z00_6121 = 
BELONG_TO_LONG(BgL_tmpz00_10193); } 
BgL_test3568z00_10192 = 
(BgL_n1z00_6121>((long)0)); } 
if(BgL_test3568z00_10192)
{ /* Llib/thread.scm 479 */
 long BgL_arg1507z00_6122;
{ /* Llib/thread.scm 479 */
 long BgL_xz00_6123;
{ /* Llib/thread.scm 479 */
 obj_t BgL_tmpz00_10202;
if(
ELONGP(BgL_az00_6118))
{ /* Llib/thread.scm 479 */
BgL_tmpz00_10202 = BgL_az00_6118
; }  else 
{ 
 obj_t BgL_auxz00_10205;
BgL_auxz00_10205 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20723L), BGl_string2653z00zz__threadz00, BGl_string2657z00zz__threadz00, BgL_az00_6118); 
FAILURE(BgL_auxz00_10205,BFALSE,BFALSE);} 
BgL_xz00_6123 = 
BELONG_TO_LONG(BgL_tmpz00_10202); } 
BgL_arg1507z00_6122 = 
(long)(BgL_xz00_6123); } 
bgl_sleep(BgL_arg1507z00_6122); BUNSPEC; 
return 
BINT(BgL_arg1507z00_6122);}  else 
{ /* Llib/thread.scm 479 */
return BFALSE;} } } } } }  else 
{ /* Llib/thread.scm 475 */
if(
INTEGERP(BgL_dz00_3639))
{ /* Llib/thread.scm 481 */
 obj_t BgL_arg1512z00_6124;
BgL_arg1512z00_6124 = 
BINT(
(
(long)CINT(BgL_dz00_3639)*1000L)); 
{ /* Llib/thread.scm 481 */
 long BgL_msz00_6125;
{ /* Llib/thread.scm 481 */
 obj_t BgL_tmpz00_10218;
if(
INTEGERP(BgL_arg1512z00_6124))
{ /* Llib/thread.scm 481 */
BgL_tmpz00_10218 = BgL_arg1512z00_6124
; }  else 
{ 
 obj_t BgL_auxz00_10221;
BgL_auxz00_10221 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20772L), BGl_string2653z00zz__threadz00, BGl_string2483z00zz__threadz00, BgL_arg1512z00_6124); 
FAILURE(BgL_auxz00_10221,BFALSE,BFALSE);} 
BgL_msz00_6125 = 
(long)CINT(BgL_tmpz00_10218); } 
bgl_sleep(BgL_msz00_6125); BUNSPEC; 
return 
BINT(BgL_msz00_6125);} }  else 
{ /* Llib/thread.scm 480 */
if(
ELONGP(BgL_dz00_3639))
{ /* Llib/thread.scm 483 */
 long BgL_arg1515z00_6126;
{ /* Llib/thread.scm 483 */
 long BgL_a1153z00_6127;
{ /* Llib/thread.scm 483 */
 long BgL_xz00_6128;
BgL_xz00_6128 = 
BELONG_TO_LONG(BgL_dz00_3639); 
BgL_a1153z00_6127 = 
(long)(BgL_xz00_6128); } 
{ /* Llib/thread.scm 483 */

BgL_arg1515z00_6126 = 
(BgL_a1153z00_6127*1000L); } } 
bgl_sleep(BgL_arg1515z00_6126); BUNSPEC; 
return 
BINT(BgL_arg1515z00_6126);}  else 
{ /* Llib/thread.scm 482 */
if(
LLONGP(BgL_dz00_3639))
{ /* Llib/thread.scm 485 */
 long BgL_arg1518z00_6129;
{ /* Llib/thread.scm 485 */
 long BgL_a1155z00_6130;
{ /* Llib/thread.scm 485 */
 BGL_LONGLONG_T BgL_tmpz00_10237;
BgL_tmpz00_10237 = 
BLLONG_TO_LLONG(BgL_dz00_3639); 
BgL_a1155z00_6130 = 
LLONG_TO_LONG(BgL_tmpz00_10237); } 
{ /* Llib/thread.scm 485 */

BgL_arg1518z00_6129 = 
(BgL_a1155z00_6130*1000L); } } 
bgl_sleep(BgL_arg1518z00_6129); BUNSPEC; 
return 
BINT(BgL_arg1518z00_6129);}  else 
{ /* Llib/thread.scm 486 */
 bool_t BgL_test3575z00_10243;
if(
INTEGERP(BgL_dz00_3639))
{ /* Llib/thread.scm 486 */
BgL_test3575z00_10243 = ((bool_t)1)
; }  else 
{ /* Llib/thread.scm 486 */
BgL_test3575z00_10243 = 
REALP(BgL_dz00_3639)
; } 
if(BgL_test3575z00_10243)
{ /* Llib/thread.scm 487 */
 long BgL_arg1521z00_6131;
{ /* Llib/thread.scm 487 */
 double BgL_arg1522z00_6132;
if(
REALP(BgL_dz00_3639))
{ /* Llib/thread.scm 487 */
BgL_arg1522z00_6132 = 
(
REAL_TO_DOUBLE(BgL_dz00_3639)*((double)1000000.0)); }  else 
{ /* Llib/thread.scm 487 */
BgL_arg1522z00_6132 = 
(
BGl_numberzd2ze3flonumz31zz__r4_numbers_6_5z00(BgL_dz00_3639)*((double)1000000.0)); } 
BgL_arg1521z00_6131 = 
(long)(BgL_arg1522z00_6132); } 
bgl_sleep(BgL_arg1521z00_6131); BUNSPEC; 
return 
BINT(BgL_arg1521z00_6131);}  else 
{ /* Llib/thread.scm 486 */
return 
BGl_bigloozd2typezd2errorz00zz__errorz00(BGl_symbol2658z00zz__threadz00, BGl_string2659z00zz__threadz00, BgL_dz00_3639);} } } } } } } 

}



/* &%user-current-thread1226 */
obj_t BGl_z62z52userzd2currentzd2thread1226z30zz__threadz00(obj_t BgL_envz00_3640, obj_t BgL_oz00_3641)
{
{ /* Llib/thread.scm 451 */
{ 
 BgL_threadz00_bglt BgL_auxz00_10257;
{ /* Llib/thread.scm 451 */
 BgL_threadz00_bglt BgL_oz00_6170;
{ /* Llib/thread.scm 451 */
 bool_t BgL_test3578z00_10258;
{ /* Llib/thread.scm 451 */
 obj_t BgL_classz00_6133;
BgL_classz00_6133 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3641))
{ /* Llib/thread.scm 451 */
 BgL_objectz00_bglt BgL_arg1940z00_6135; long BgL_arg1941z00_6136;
BgL_arg1940z00_6135 = 
(BgL_objectz00_bglt)(BgL_oz00_3641); 
BgL_arg1941z00_6136 = 
BGL_CLASS_DEPTH(BgL_classz00_6133); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 451 */
 long BgL_idxz00_6144;
BgL_idxz00_6144 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6135); 
{ /* Llib/thread.scm 451 */
 obj_t BgL_arg1933z00_6145;
{ /* Llib/thread.scm 451 */
 long BgL_arg1934z00_6146;
BgL_arg1934z00_6146 = 
(BgL_idxz00_6144+BgL_arg1941z00_6136); 
BgL_arg1933z00_6145 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6146); } 
BgL_test3578z00_10258 = 
(BgL_arg1933z00_6145==BgL_classz00_6133); } }  else 
{ /* Llib/thread.scm 451 */
 bool_t BgL_res2051z00_6151;
{ /* Llib/thread.scm 451 */
 obj_t BgL_oclassz00_6155;
{ /* Llib/thread.scm 451 */
 long BgL_arg1945z00_6157;
{ /* Llib/thread.scm 451 */
 long BgL_arg1946z00_6158;
BgL_arg1946z00_6158 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6135); 
BgL_arg1945z00_6157 = 
(BgL_arg1946z00_6158-OBJECT_TYPE); } 
BgL_oclassz00_6155 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6157); } 
{ /* Llib/thread.scm 451 */
 bool_t BgL__ortest_1147z00_6164;
BgL__ortest_1147z00_6164 = 
(BgL_classz00_6133==BgL_oclassz00_6155); 
if(BgL__ortest_1147z00_6164)
{ /* Llib/thread.scm 451 */
BgL_res2051z00_6151 = BgL__ortest_1147z00_6164; }  else 
{ /* Llib/thread.scm 451 */
 long BgL_odepthz00_6165;
BgL_odepthz00_6165 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6155); 
if(
(BgL_arg1941z00_6136<BgL_odepthz00_6165))
{ /* Llib/thread.scm 451 */
 obj_t BgL_arg1935z00_6169;
BgL_arg1935z00_6169 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6155, BgL_arg1941z00_6136); 
BgL_res2051z00_6151 = 
(BgL_arg1935z00_6169==BgL_classz00_6133); }  else 
{ /* Llib/thread.scm 451 */
BgL_res2051z00_6151 = ((bool_t)0); } } } } 
BgL_test3578z00_10258 = BgL_res2051z00_6151; } }  else 
{ /* Llib/thread.scm 451 */
BgL_test3578z00_10258 = ((bool_t)0)
; } } 
if(BgL_test3578z00_10258)
{ /* Llib/thread.scm 451 */
BgL_oz00_6170 = 
((BgL_threadz00_bglt)BgL_oz00_3641); }  else 
{ 
 obj_t BgL_auxz00_10280;
BgL_auxz00_10280 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19506L), BGl_string2661z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3641); 
FAILURE(BgL_auxz00_10280,BFALSE,BFALSE);} } 
BgL_auxz00_10257 = BgL_oz00_6170; } 
return 
((obj_t)BgL_auxz00_10257);} } 

}



/* &thread-name-set!1219 */
obj_t BGl_z62threadzd2namezd2setz121219z70zz__threadz00(obj_t BgL_envz00_3642, obj_t BgL_thz00_3643, obj_t BgL_vz00_3644)
{
{ /* Llib/thread.scm 440 */
{ /* Llib/thread.scm 440 */
 BgL_threadz00_bglt BgL_thz00_6208; obj_t BgL_vz00_6209;
{ /* Llib/thread.scm 440 */
 bool_t BgL_test3583z00_10285;
{ /* Llib/thread.scm 440 */
 obj_t BgL_classz00_6171;
BgL_classz00_6171 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3643))
{ /* Llib/thread.scm 440 */
 BgL_objectz00_bglt BgL_arg1940z00_6173; long BgL_arg1941z00_6174;
BgL_arg1940z00_6173 = 
(BgL_objectz00_bglt)(BgL_thz00_3643); 
BgL_arg1941z00_6174 = 
BGL_CLASS_DEPTH(BgL_classz00_6171); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 440 */
 long BgL_idxz00_6182;
BgL_idxz00_6182 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6173); 
{ /* Llib/thread.scm 440 */
 obj_t BgL_arg1933z00_6183;
{ /* Llib/thread.scm 440 */
 long BgL_arg1934z00_6184;
BgL_arg1934z00_6184 = 
(BgL_idxz00_6182+BgL_arg1941z00_6174); 
BgL_arg1933z00_6183 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6184); } 
BgL_test3583z00_10285 = 
(BgL_arg1933z00_6183==BgL_classz00_6171); } }  else 
{ /* Llib/thread.scm 440 */
 bool_t BgL_res2051z00_6189;
{ /* Llib/thread.scm 440 */
 obj_t BgL_oclassz00_6193;
{ /* Llib/thread.scm 440 */
 long BgL_arg1945z00_6195;
{ /* Llib/thread.scm 440 */
 long BgL_arg1946z00_6196;
BgL_arg1946z00_6196 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6173); 
BgL_arg1945z00_6195 = 
(BgL_arg1946z00_6196-OBJECT_TYPE); } 
BgL_oclassz00_6193 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6195); } 
{ /* Llib/thread.scm 440 */
 bool_t BgL__ortest_1147z00_6202;
BgL__ortest_1147z00_6202 = 
(BgL_classz00_6171==BgL_oclassz00_6193); 
if(BgL__ortest_1147z00_6202)
{ /* Llib/thread.scm 440 */
BgL_res2051z00_6189 = BgL__ortest_1147z00_6202; }  else 
{ /* Llib/thread.scm 440 */
 long BgL_odepthz00_6203;
BgL_odepthz00_6203 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6193); 
if(
(BgL_arg1941z00_6174<BgL_odepthz00_6203))
{ /* Llib/thread.scm 440 */
 obj_t BgL_arg1935z00_6207;
BgL_arg1935z00_6207 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6193, BgL_arg1941z00_6174); 
BgL_res2051z00_6189 = 
(BgL_arg1935z00_6207==BgL_classz00_6171); }  else 
{ /* Llib/thread.scm 440 */
BgL_res2051z00_6189 = ((bool_t)0); } } } } 
BgL_test3583z00_10285 = BgL_res2051z00_6189; } }  else 
{ /* Llib/thread.scm 440 */
BgL_test3583z00_10285 = ((bool_t)0)
; } } 
if(BgL_test3583z00_10285)
{ /* Llib/thread.scm 440 */
BgL_thz00_6208 = 
((BgL_threadz00_bglt)BgL_thz00_3643); }  else 
{ 
 obj_t BgL_auxz00_10307;
BgL_auxz00_10307 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18877L), BGl_string2664z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3643); 
FAILURE(BgL_auxz00_10307,BFALSE,BFALSE);} } 
if(
STRINGP(BgL_vz00_3644))
{ /* Llib/thread.scm 440 */
BgL_vz00_6209 = BgL_vz00_3644; }  else 
{ 
 obj_t BgL_auxz00_10313;
BgL_auxz00_10313 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18877L), BGl_string2664z00zz__threadz00, BGl_string2449z00zz__threadz00, BgL_vz00_3644); 
FAILURE(BgL_auxz00_10313,BFALSE,BFALSE);} 
return 
BGl_errorz00zz__errorz00(BGl_symbol2662z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6208));} } 

}



/* &thread-name1217 */
obj_t BGl_z62threadzd2name1217zb0zz__threadz00(obj_t BgL_envz00_3645, obj_t BgL_thz00_3646)
{
{ /* Llib/thread.scm 435 */
{ /* Llib/thread.scm 435 */
 BgL_threadz00_bglt BgL_thz00_6247;
{ /* Llib/thread.scm 435 */
 bool_t BgL_test3589z00_10319;
{ /* Llib/thread.scm 435 */
 obj_t BgL_classz00_6210;
BgL_classz00_6210 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3646))
{ /* Llib/thread.scm 435 */
 BgL_objectz00_bglt BgL_arg1940z00_6212; long BgL_arg1941z00_6213;
BgL_arg1940z00_6212 = 
(BgL_objectz00_bglt)(BgL_thz00_3646); 
BgL_arg1941z00_6213 = 
BGL_CLASS_DEPTH(BgL_classz00_6210); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 435 */
 long BgL_idxz00_6221;
BgL_idxz00_6221 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6212); 
{ /* Llib/thread.scm 435 */
 obj_t BgL_arg1933z00_6222;
{ /* Llib/thread.scm 435 */
 long BgL_arg1934z00_6223;
BgL_arg1934z00_6223 = 
(BgL_idxz00_6221+BgL_arg1941z00_6213); 
BgL_arg1933z00_6222 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6223); } 
BgL_test3589z00_10319 = 
(BgL_arg1933z00_6222==BgL_classz00_6210); } }  else 
{ /* Llib/thread.scm 435 */
 bool_t BgL_res2051z00_6228;
{ /* Llib/thread.scm 435 */
 obj_t BgL_oclassz00_6232;
{ /* Llib/thread.scm 435 */
 long BgL_arg1945z00_6234;
{ /* Llib/thread.scm 435 */
 long BgL_arg1946z00_6235;
BgL_arg1946z00_6235 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6212); 
BgL_arg1945z00_6234 = 
(BgL_arg1946z00_6235-OBJECT_TYPE); } 
BgL_oclassz00_6232 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6234); } 
{ /* Llib/thread.scm 435 */
 bool_t BgL__ortest_1147z00_6241;
BgL__ortest_1147z00_6241 = 
(BgL_classz00_6210==BgL_oclassz00_6232); 
if(BgL__ortest_1147z00_6241)
{ /* Llib/thread.scm 435 */
BgL_res2051z00_6228 = BgL__ortest_1147z00_6241; }  else 
{ /* Llib/thread.scm 435 */
 long BgL_odepthz00_6242;
BgL_odepthz00_6242 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6232); 
if(
(BgL_arg1941z00_6213<BgL_odepthz00_6242))
{ /* Llib/thread.scm 435 */
 obj_t BgL_arg1935z00_6246;
BgL_arg1935z00_6246 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6232, BgL_arg1941z00_6213); 
BgL_res2051z00_6228 = 
(BgL_arg1935z00_6246==BgL_classz00_6210); }  else 
{ /* Llib/thread.scm 435 */
BgL_res2051z00_6228 = ((bool_t)0); } } } } 
BgL_test3589z00_10319 = BgL_res2051z00_6228; } }  else 
{ /* Llib/thread.scm 435 */
BgL_test3589z00_10319 = ((bool_t)0)
; } } 
if(BgL_test3589z00_10319)
{ /* Llib/thread.scm 435 */
BgL_thz00_6247 = 
((BgL_threadz00_bglt)BgL_thz00_3646); }  else 
{ 
 obj_t BgL_auxz00_10341;
BgL_auxz00_10341 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18612L), BGl_string2666z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3646); 
FAILURE(BgL_auxz00_10341,BFALSE,BFALSE);} } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2665z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6247));} } 

}



/* &thread-cleanup-set!1215 */
obj_t BGl_z62threadzd2cleanupzd2setz121215z70zz__threadz00(obj_t BgL_envz00_3647, obj_t BgL_thz00_3648, obj_t BgL_vz00_3649)
{
{ /* Llib/thread.scm 430 */
{ /* Llib/thread.scm 430 */
 BgL_threadz00_bglt BgL_thz00_6285;
{ /* Llib/thread.scm 430 */
 bool_t BgL_test3594z00_10347;
{ /* Llib/thread.scm 430 */
 obj_t BgL_classz00_6248;
BgL_classz00_6248 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3648))
{ /* Llib/thread.scm 430 */
 BgL_objectz00_bglt BgL_arg1940z00_6250; long BgL_arg1941z00_6251;
BgL_arg1940z00_6250 = 
(BgL_objectz00_bglt)(BgL_thz00_3648); 
BgL_arg1941z00_6251 = 
BGL_CLASS_DEPTH(BgL_classz00_6248); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 430 */
 long BgL_idxz00_6259;
BgL_idxz00_6259 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6250); 
{ /* Llib/thread.scm 430 */
 obj_t BgL_arg1933z00_6260;
{ /* Llib/thread.scm 430 */
 long BgL_arg1934z00_6261;
BgL_arg1934z00_6261 = 
(BgL_idxz00_6259+BgL_arg1941z00_6251); 
BgL_arg1933z00_6260 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6261); } 
BgL_test3594z00_10347 = 
(BgL_arg1933z00_6260==BgL_classz00_6248); } }  else 
{ /* Llib/thread.scm 430 */
 bool_t BgL_res2051z00_6266;
{ /* Llib/thread.scm 430 */
 obj_t BgL_oclassz00_6270;
{ /* Llib/thread.scm 430 */
 long BgL_arg1945z00_6272;
{ /* Llib/thread.scm 430 */
 long BgL_arg1946z00_6273;
BgL_arg1946z00_6273 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6250); 
BgL_arg1945z00_6272 = 
(BgL_arg1946z00_6273-OBJECT_TYPE); } 
BgL_oclassz00_6270 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6272); } 
{ /* Llib/thread.scm 430 */
 bool_t BgL__ortest_1147z00_6279;
BgL__ortest_1147z00_6279 = 
(BgL_classz00_6248==BgL_oclassz00_6270); 
if(BgL__ortest_1147z00_6279)
{ /* Llib/thread.scm 430 */
BgL_res2051z00_6266 = BgL__ortest_1147z00_6279; }  else 
{ /* Llib/thread.scm 430 */
 long BgL_odepthz00_6280;
BgL_odepthz00_6280 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6270); 
if(
(BgL_arg1941z00_6251<BgL_odepthz00_6280))
{ /* Llib/thread.scm 430 */
 obj_t BgL_arg1935z00_6284;
BgL_arg1935z00_6284 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6270, BgL_arg1941z00_6251); 
BgL_res2051z00_6266 = 
(BgL_arg1935z00_6284==BgL_classz00_6248); }  else 
{ /* Llib/thread.scm 430 */
BgL_res2051z00_6266 = ((bool_t)0); } } } } 
BgL_test3594z00_10347 = BgL_res2051z00_6266; } }  else 
{ /* Llib/thread.scm 430 */
BgL_test3594z00_10347 = ((bool_t)0)
; } } 
if(BgL_test3594z00_10347)
{ /* Llib/thread.scm 430 */
BgL_thz00_6285 = 
((BgL_threadz00_bglt)BgL_thz00_3648); }  else 
{ 
 obj_t BgL_auxz00_10369;
BgL_auxz00_10369 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18332L), BGl_string2668z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3648); 
FAILURE(BgL_auxz00_10369,BFALSE,BFALSE);} } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2667z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6285));} } 

}



/* &thread-cleanup1213 */
obj_t BGl_z62threadzd2cleanup1213zb0zz__threadz00(obj_t BgL_envz00_3650, obj_t BgL_thz00_3651)
{
{ /* Llib/thread.scm 425 */
{ /* Llib/thread.scm 425 */
 BgL_threadz00_bglt BgL_thz00_6323;
{ /* Llib/thread.scm 425 */
 bool_t BgL_test3599z00_10375;
{ /* Llib/thread.scm 425 */
 obj_t BgL_classz00_6286;
BgL_classz00_6286 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3651))
{ /* Llib/thread.scm 425 */
 BgL_objectz00_bglt BgL_arg1940z00_6288; long BgL_arg1941z00_6289;
BgL_arg1940z00_6288 = 
(BgL_objectz00_bglt)(BgL_thz00_3651); 
BgL_arg1941z00_6289 = 
BGL_CLASS_DEPTH(BgL_classz00_6286); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 425 */
 long BgL_idxz00_6297;
BgL_idxz00_6297 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6288); 
{ /* Llib/thread.scm 425 */
 obj_t BgL_arg1933z00_6298;
{ /* Llib/thread.scm 425 */
 long BgL_arg1934z00_6299;
BgL_arg1934z00_6299 = 
(BgL_idxz00_6297+BgL_arg1941z00_6289); 
BgL_arg1933z00_6298 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6299); } 
BgL_test3599z00_10375 = 
(BgL_arg1933z00_6298==BgL_classz00_6286); } }  else 
{ /* Llib/thread.scm 425 */
 bool_t BgL_res2051z00_6304;
{ /* Llib/thread.scm 425 */
 obj_t BgL_oclassz00_6308;
{ /* Llib/thread.scm 425 */
 long BgL_arg1945z00_6310;
{ /* Llib/thread.scm 425 */
 long BgL_arg1946z00_6311;
BgL_arg1946z00_6311 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6288); 
BgL_arg1945z00_6310 = 
(BgL_arg1946z00_6311-OBJECT_TYPE); } 
BgL_oclassz00_6308 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6310); } 
{ /* Llib/thread.scm 425 */
 bool_t BgL__ortest_1147z00_6317;
BgL__ortest_1147z00_6317 = 
(BgL_classz00_6286==BgL_oclassz00_6308); 
if(BgL__ortest_1147z00_6317)
{ /* Llib/thread.scm 425 */
BgL_res2051z00_6304 = BgL__ortest_1147z00_6317; }  else 
{ /* Llib/thread.scm 425 */
 long BgL_odepthz00_6318;
BgL_odepthz00_6318 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6308); 
if(
(BgL_arg1941z00_6289<BgL_odepthz00_6318))
{ /* Llib/thread.scm 425 */
 obj_t BgL_arg1935z00_6322;
BgL_arg1935z00_6322 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6308, BgL_arg1941z00_6289); 
BgL_res2051z00_6304 = 
(BgL_arg1935z00_6322==BgL_classz00_6286); }  else 
{ /* Llib/thread.scm 425 */
BgL_res2051z00_6304 = ((bool_t)0); } } } } 
BgL_test3599z00_10375 = BgL_res2051z00_6304; } }  else 
{ /* Llib/thread.scm 425 */
BgL_test3599z00_10375 = ((bool_t)0)
; } } 
if(BgL_test3599z00_10375)
{ /* Llib/thread.scm 425 */
BgL_thz00_6323 = 
((BgL_threadz00_bglt)BgL_thz00_3651); }  else 
{ 
 obj_t BgL_auxz00_10397;
BgL_auxz00_10397 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18064L), BGl_string2670z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3651); 
FAILURE(BgL_auxz00_10397,BFALSE,BFALSE);} } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2669z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6323));} } 

}



/* &thread-specific-set!1210 */
obj_t BGl_z62threadzd2specificzd2setz121210z70zz__threadz00(obj_t BgL_envz00_3652, obj_t BgL_thz00_3653, obj_t BgL_vz00_3654)
{
{ /* Llib/thread.scm 420 */
{ /* Llib/thread.scm 420 */
 BgL_threadz00_bglt BgL_thz00_6361;
{ /* Llib/thread.scm 420 */
 bool_t BgL_test3604z00_10403;
{ /* Llib/thread.scm 420 */
 obj_t BgL_classz00_6324;
BgL_classz00_6324 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3653))
{ /* Llib/thread.scm 420 */
 BgL_objectz00_bglt BgL_arg1940z00_6326; long BgL_arg1941z00_6327;
BgL_arg1940z00_6326 = 
(BgL_objectz00_bglt)(BgL_thz00_3653); 
BgL_arg1941z00_6327 = 
BGL_CLASS_DEPTH(BgL_classz00_6324); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 420 */
 long BgL_idxz00_6335;
BgL_idxz00_6335 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6326); 
{ /* Llib/thread.scm 420 */
 obj_t BgL_arg1933z00_6336;
{ /* Llib/thread.scm 420 */
 long BgL_arg1934z00_6337;
BgL_arg1934z00_6337 = 
(BgL_idxz00_6335+BgL_arg1941z00_6327); 
BgL_arg1933z00_6336 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6337); } 
BgL_test3604z00_10403 = 
(BgL_arg1933z00_6336==BgL_classz00_6324); } }  else 
{ /* Llib/thread.scm 420 */
 bool_t BgL_res2051z00_6342;
{ /* Llib/thread.scm 420 */
 obj_t BgL_oclassz00_6346;
{ /* Llib/thread.scm 420 */
 long BgL_arg1945z00_6348;
{ /* Llib/thread.scm 420 */
 long BgL_arg1946z00_6349;
BgL_arg1946z00_6349 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6326); 
BgL_arg1945z00_6348 = 
(BgL_arg1946z00_6349-OBJECT_TYPE); } 
BgL_oclassz00_6346 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6348); } 
{ /* Llib/thread.scm 420 */
 bool_t BgL__ortest_1147z00_6355;
BgL__ortest_1147z00_6355 = 
(BgL_classz00_6324==BgL_oclassz00_6346); 
if(BgL__ortest_1147z00_6355)
{ /* Llib/thread.scm 420 */
BgL_res2051z00_6342 = BgL__ortest_1147z00_6355; }  else 
{ /* Llib/thread.scm 420 */
 long BgL_odepthz00_6356;
BgL_odepthz00_6356 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6346); 
if(
(BgL_arg1941z00_6327<BgL_odepthz00_6356))
{ /* Llib/thread.scm 420 */
 obj_t BgL_arg1935z00_6360;
BgL_arg1935z00_6360 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6346, BgL_arg1941z00_6327); 
BgL_res2051z00_6342 = 
(BgL_arg1935z00_6360==BgL_classz00_6324); }  else 
{ /* Llib/thread.scm 420 */
BgL_res2051z00_6342 = ((bool_t)0); } } } } 
BgL_test3604z00_10403 = BgL_res2051z00_6342; } }  else 
{ /* Llib/thread.scm 420 */
BgL_test3604z00_10403 = ((bool_t)0)
; } } 
if(BgL_test3604z00_10403)
{ /* Llib/thread.scm 420 */
BgL_thz00_6361 = 
((BgL_threadz00_bglt)BgL_thz00_3653); }  else 
{ 
 obj_t BgL_auxz00_10425;
BgL_auxz00_10425 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(17783L), BGl_string2672z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3653); 
FAILURE(BgL_auxz00_10425,BFALSE,BFALSE);} } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2671z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6361));} } 

}



/* &thread-specific1208 */
obj_t BGl_z62threadzd2specific1208zb0zz__threadz00(obj_t BgL_envz00_3655, obj_t BgL_thz00_3656)
{
{ /* Llib/thread.scm 415 */
{ /* Llib/thread.scm 415 */
 BgL_threadz00_bglt BgL_thz00_6399;
{ /* Llib/thread.scm 415 */
 bool_t BgL_test3609z00_10431;
{ /* Llib/thread.scm 415 */
 obj_t BgL_classz00_6362;
BgL_classz00_6362 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3656))
{ /* Llib/thread.scm 415 */
 BgL_objectz00_bglt BgL_arg1940z00_6364; long BgL_arg1941z00_6365;
BgL_arg1940z00_6364 = 
(BgL_objectz00_bglt)(BgL_thz00_3656); 
BgL_arg1941z00_6365 = 
BGL_CLASS_DEPTH(BgL_classz00_6362); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 415 */
 long BgL_idxz00_6373;
BgL_idxz00_6373 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6364); 
{ /* Llib/thread.scm 415 */
 obj_t BgL_arg1933z00_6374;
{ /* Llib/thread.scm 415 */
 long BgL_arg1934z00_6375;
BgL_arg1934z00_6375 = 
(BgL_idxz00_6373+BgL_arg1941z00_6365); 
BgL_arg1933z00_6374 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6375); } 
BgL_test3609z00_10431 = 
(BgL_arg1933z00_6374==BgL_classz00_6362); } }  else 
{ /* Llib/thread.scm 415 */
 bool_t BgL_res2051z00_6380;
{ /* Llib/thread.scm 415 */
 obj_t BgL_oclassz00_6384;
{ /* Llib/thread.scm 415 */
 long BgL_arg1945z00_6386;
{ /* Llib/thread.scm 415 */
 long BgL_arg1946z00_6387;
BgL_arg1946z00_6387 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6364); 
BgL_arg1945z00_6386 = 
(BgL_arg1946z00_6387-OBJECT_TYPE); } 
BgL_oclassz00_6384 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6386); } 
{ /* Llib/thread.scm 415 */
 bool_t BgL__ortest_1147z00_6393;
BgL__ortest_1147z00_6393 = 
(BgL_classz00_6362==BgL_oclassz00_6384); 
if(BgL__ortest_1147z00_6393)
{ /* Llib/thread.scm 415 */
BgL_res2051z00_6380 = BgL__ortest_1147z00_6393; }  else 
{ /* Llib/thread.scm 415 */
 long BgL_odepthz00_6394;
BgL_odepthz00_6394 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6384); 
if(
(BgL_arg1941z00_6365<BgL_odepthz00_6394))
{ /* Llib/thread.scm 415 */
 obj_t BgL_arg1935z00_6398;
BgL_arg1935z00_6398 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6384, BgL_arg1941z00_6365); 
BgL_res2051z00_6380 = 
(BgL_arg1935z00_6398==BgL_classz00_6362); }  else 
{ /* Llib/thread.scm 415 */
BgL_res2051z00_6380 = ((bool_t)0); } } } } 
BgL_test3609z00_10431 = BgL_res2051z00_6380; } }  else 
{ /* Llib/thread.scm 415 */
BgL_test3609z00_10431 = ((bool_t)0)
; } } 
if(BgL_test3609z00_10431)
{ /* Llib/thread.scm 415 */
BgL_thz00_6399 = 
((BgL_threadz00_bglt)BgL_thz00_3656); }  else 
{ 
 obj_t BgL_auxz00_10453;
BgL_auxz00_10453 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(17514L), BGl_string2674z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3656); 
FAILURE(BgL_auxz00_10453,BFALSE,BFALSE);} } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2673z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6399));} } 

}



/* &thread-kill!1206 */
obj_t BGl_z62threadzd2killz121206za2zz__threadz00(obj_t BgL_envz00_3657, obj_t BgL_thz00_3658, obj_t BgL_nz00_3659)
{
{ /* Llib/thread.scm 410 */
{ /* Llib/thread.scm 410 */
 BgL_threadz00_bglt BgL_thz00_6437; int BgL_nz00_6438;
{ /* Llib/thread.scm 410 */
 bool_t BgL_test3614z00_10459;
{ /* Llib/thread.scm 410 */
 obj_t BgL_classz00_6400;
BgL_classz00_6400 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3658))
{ /* Llib/thread.scm 410 */
 BgL_objectz00_bglt BgL_arg1940z00_6402; long BgL_arg1941z00_6403;
BgL_arg1940z00_6402 = 
(BgL_objectz00_bglt)(BgL_thz00_3658); 
BgL_arg1941z00_6403 = 
BGL_CLASS_DEPTH(BgL_classz00_6400); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 410 */
 long BgL_idxz00_6411;
BgL_idxz00_6411 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6402); 
{ /* Llib/thread.scm 410 */
 obj_t BgL_arg1933z00_6412;
{ /* Llib/thread.scm 410 */
 long BgL_arg1934z00_6413;
BgL_arg1934z00_6413 = 
(BgL_idxz00_6411+BgL_arg1941z00_6403); 
BgL_arg1933z00_6412 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6413); } 
BgL_test3614z00_10459 = 
(BgL_arg1933z00_6412==BgL_classz00_6400); } }  else 
{ /* Llib/thread.scm 410 */
 bool_t BgL_res2051z00_6418;
{ /* Llib/thread.scm 410 */
 obj_t BgL_oclassz00_6422;
{ /* Llib/thread.scm 410 */
 long BgL_arg1945z00_6424;
{ /* Llib/thread.scm 410 */
 long BgL_arg1946z00_6425;
BgL_arg1946z00_6425 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6402); 
BgL_arg1945z00_6424 = 
(BgL_arg1946z00_6425-OBJECT_TYPE); } 
BgL_oclassz00_6422 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6424); } 
{ /* Llib/thread.scm 410 */
 bool_t BgL__ortest_1147z00_6431;
BgL__ortest_1147z00_6431 = 
(BgL_classz00_6400==BgL_oclassz00_6422); 
if(BgL__ortest_1147z00_6431)
{ /* Llib/thread.scm 410 */
BgL_res2051z00_6418 = BgL__ortest_1147z00_6431; }  else 
{ /* Llib/thread.scm 410 */
 long BgL_odepthz00_6432;
BgL_odepthz00_6432 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6422); 
if(
(BgL_arg1941z00_6403<BgL_odepthz00_6432))
{ /* Llib/thread.scm 410 */
 obj_t BgL_arg1935z00_6436;
BgL_arg1935z00_6436 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6422, BgL_arg1941z00_6403); 
BgL_res2051z00_6418 = 
(BgL_arg1935z00_6436==BgL_classz00_6400); }  else 
{ /* Llib/thread.scm 410 */
BgL_res2051z00_6418 = ((bool_t)0); } } } } 
BgL_test3614z00_10459 = BgL_res2051z00_6418; } }  else 
{ /* Llib/thread.scm 410 */
BgL_test3614z00_10459 = ((bool_t)0)
; } } 
if(BgL_test3614z00_10459)
{ /* Llib/thread.scm 410 */
BgL_thz00_6437 = 
((BgL_threadz00_bglt)BgL_thz00_3658); }  else 
{ 
 obj_t BgL_auxz00_10481;
BgL_auxz00_10481 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(17241L), BGl_string2676z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3658); 
FAILURE(BgL_auxz00_10481,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 410 */
 obj_t BgL_tmpz00_10485;
if(
INTEGERP(BgL_nz00_3659))
{ /* Llib/thread.scm 410 */
BgL_tmpz00_10485 = BgL_nz00_3659
; }  else 
{ 
 obj_t BgL_auxz00_10488;
BgL_auxz00_10488 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(17241L), BGl_string2676z00zz__threadz00, BGl_string2483z00zz__threadz00, BgL_nz00_3659); 
FAILURE(BgL_auxz00_10488,BFALSE,BFALSE);} 
BgL_nz00_6438 = 
CINT(BgL_tmpz00_10485); } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2675z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6437));} } 

}



/* &thread-terminate!1204 */
obj_t BGl_z62threadzd2terminatez121204za2zz__threadz00(obj_t BgL_envz00_3660, obj_t BgL_thz00_3661)
{
{ /* Llib/thread.scm 405 */
{ /* Llib/thread.scm 405 */
 BgL_threadz00_bglt BgL_thz00_6476;
{ /* Llib/thread.scm 405 */
 bool_t BgL_test3620z00_10495;
{ /* Llib/thread.scm 405 */
 obj_t BgL_classz00_6439;
BgL_classz00_6439 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3661))
{ /* Llib/thread.scm 405 */
 BgL_objectz00_bglt BgL_arg1940z00_6441; long BgL_arg1941z00_6442;
BgL_arg1940z00_6441 = 
(BgL_objectz00_bglt)(BgL_thz00_3661); 
BgL_arg1941z00_6442 = 
BGL_CLASS_DEPTH(BgL_classz00_6439); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 405 */
 long BgL_idxz00_6450;
BgL_idxz00_6450 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6441); 
{ /* Llib/thread.scm 405 */
 obj_t BgL_arg1933z00_6451;
{ /* Llib/thread.scm 405 */
 long BgL_arg1934z00_6452;
BgL_arg1934z00_6452 = 
(BgL_idxz00_6450+BgL_arg1941z00_6442); 
BgL_arg1933z00_6451 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6452); } 
BgL_test3620z00_10495 = 
(BgL_arg1933z00_6451==BgL_classz00_6439); } }  else 
{ /* Llib/thread.scm 405 */
 bool_t BgL_res2051z00_6457;
{ /* Llib/thread.scm 405 */
 obj_t BgL_oclassz00_6461;
{ /* Llib/thread.scm 405 */
 long BgL_arg1945z00_6463;
{ /* Llib/thread.scm 405 */
 long BgL_arg1946z00_6464;
BgL_arg1946z00_6464 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6441); 
BgL_arg1945z00_6463 = 
(BgL_arg1946z00_6464-OBJECT_TYPE); } 
BgL_oclassz00_6461 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6463); } 
{ /* Llib/thread.scm 405 */
 bool_t BgL__ortest_1147z00_6470;
BgL__ortest_1147z00_6470 = 
(BgL_classz00_6439==BgL_oclassz00_6461); 
if(BgL__ortest_1147z00_6470)
{ /* Llib/thread.scm 405 */
BgL_res2051z00_6457 = BgL__ortest_1147z00_6470; }  else 
{ /* Llib/thread.scm 405 */
 long BgL_odepthz00_6471;
BgL_odepthz00_6471 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6461); 
if(
(BgL_arg1941z00_6442<BgL_odepthz00_6471))
{ /* Llib/thread.scm 405 */
 obj_t BgL_arg1935z00_6475;
BgL_arg1935z00_6475 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6461, BgL_arg1941z00_6442); 
BgL_res2051z00_6457 = 
(BgL_arg1935z00_6475==BgL_classz00_6439); }  else 
{ /* Llib/thread.scm 405 */
BgL_res2051z00_6457 = ((bool_t)0); } } } } 
BgL_test3620z00_10495 = BgL_res2051z00_6457; } }  else 
{ /* Llib/thread.scm 405 */
BgL_test3620z00_10495 = ((bool_t)0)
; } } 
if(BgL_test3620z00_10495)
{ /* Llib/thread.scm 405 */
BgL_thz00_6476 = 
((BgL_threadz00_bglt)BgL_thz00_3661); }  else 
{ 
 obj_t BgL_auxz00_10517;
BgL_auxz00_10517 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(16970L), BGl_string2678z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3661); 
FAILURE(BgL_auxz00_10517,BFALSE,BFALSE);} } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2677z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6476));} } 

}



/* &thread-join!1202 */
obj_t BGl_z62threadzd2joinz121202za2zz__threadz00(obj_t BgL_envz00_3662, obj_t BgL_thz00_3663, obj_t BgL_timeoutz00_3664)
{
{ /* Llib/thread.scm 400 */
{ /* Llib/thread.scm 400 */
 BgL_threadz00_bglt BgL_thz00_6514;
{ /* Llib/thread.scm 400 */
 bool_t BgL_test3625z00_10523;
{ /* Llib/thread.scm 400 */
 obj_t BgL_classz00_6477;
BgL_classz00_6477 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3663))
{ /* Llib/thread.scm 400 */
 BgL_objectz00_bglt BgL_arg1940z00_6479; long BgL_arg1941z00_6480;
BgL_arg1940z00_6479 = 
(BgL_objectz00_bglt)(BgL_thz00_3663); 
BgL_arg1941z00_6480 = 
BGL_CLASS_DEPTH(BgL_classz00_6477); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 400 */
 long BgL_idxz00_6488;
BgL_idxz00_6488 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6479); 
{ /* Llib/thread.scm 400 */
 obj_t BgL_arg1933z00_6489;
{ /* Llib/thread.scm 400 */
 long BgL_arg1934z00_6490;
BgL_arg1934z00_6490 = 
(BgL_idxz00_6488+BgL_arg1941z00_6480); 
BgL_arg1933z00_6489 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6490); } 
BgL_test3625z00_10523 = 
(BgL_arg1933z00_6489==BgL_classz00_6477); } }  else 
{ /* Llib/thread.scm 400 */
 bool_t BgL_res2051z00_6495;
{ /* Llib/thread.scm 400 */
 obj_t BgL_oclassz00_6499;
{ /* Llib/thread.scm 400 */
 long BgL_arg1945z00_6501;
{ /* Llib/thread.scm 400 */
 long BgL_arg1946z00_6502;
BgL_arg1946z00_6502 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6479); 
BgL_arg1945z00_6501 = 
(BgL_arg1946z00_6502-OBJECT_TYPE); } 
BgL_oclassz00_6499 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6501); } 
{ /* Llib/thread.scm 400 */
 bool_t BgL__ortest_1147z00_6508;
BgL__ortest_1147z00_6508 = 
(BgL_classz00_6477==BgL_oclassz00_6499); 
if(BgL__ortest_1147z00_6508)
{ /* Llib/thread.scm 400 */
BgL_res2051z00_6495 = BgL__ortest_1147z00_6508; }  else 
{ /* Llib/thread.scm 400 */
 long BgL_odepthz00_6509;
BgL_odepthz00_6509 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6499); 
if(
(BgL_arg1941z00_6480<BgL_odepthz00_6509))
{ /* Llib/thread.scm 400 */
 obj_t BgL_arg1935z00_6513;
BgL_arg1935z00_6513 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6499, BgL_arg1941z00_6480); 
BgL_res2051z00_6495 = 
(BgL_arg1935z00_6513==BgL_classz00_6477); }  else 
{ /* Llib/thread.scm 400 */
BgL_res2051z00_6495 = ((bool_t)0); } } } } 
BgL_test3625z00_10523 = BgL_res2051z00_6495; } }  else 
{ /* Llib/thread.scm 400 */
BgL_test3625z00_10523 = ((bool_t)0)
; } } 
if(BgL_test3625z00_10523)
{ /* Llib/thread.scm 400 */
BgL_thz00_6514 = 
((BgL_threadz00_bglt)BgL_thz00_3663); }  else 
{ 
 obj_t BgL_auxz00_10545;
BgL_auxz00_10545 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(16694L), BGl_string2680z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3663); 
FAILURE(BgL_auxz00_10545,BFALSE,BFALSE);} } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2679z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6514));} } 

}



/* &thread-start-joinabl1200 */
obj_t BGl_z62threadzd2startzd2joinabl1200z62zz__threadz00(obj_t BgL_envz00_3665, obj_t BgL_thz00_3666)
{
{ /* Llib/thread.scm 395 */
{ /* Llib/thread.scm 395 */
 BgL_threadz00_bglt BgL_thz00_6552;
{ /* Llib/thread.scm 395 */
 bool_t BgL_test3630z00_10551;
{ /* Llib/thread.scm 395 */
 obj_t BgL_classz00_6515;
BgL_classz00_6515 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3666))
{ /* Llib/thread.scm 395 */
 BgL_objectz00_bglt BgL_arg1940z00_6517; long BgL_arg1941z00_6518;
BgL_arg1940z00_6517 = 
(BgL_objectz00_bglt)(BgL_thz00_3666); 
BgL_arg1941z00_6518 = 
BGL_CLASS_DEPTH(BgL_classz00_6515); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 395 */
 long BgL_idxz00_6526;
BgL_idxz00_6526 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6517); 
{ /* Llib/thread.scm 395 */
 obj_t BgL_arg1933z00_6527;
{ /* Llib/thread.scm 395 */
 long BgL_arg1934z00_6528;
BgL_arg1934z00_6528 = 
(BgL_idxz00_6526+BgL_arg1941z00_6518); 
BgL_arg1933z00_6527 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6528); } 
BgL_test3630z00_10551 = 
(BgL_arg1933z00_6527==BgL_classz00_6515); } }  else 
{ /* Llib/thread.scm 395 */
 bool_t BgL_res2051z00_6533;
{ /* Llib/thread.scm 395 */
 obj_t BgL_oclassz00_6537;
{ /* Llib/thread.scm 395 */
 long BgL_arg1945z00_6539;
{ /* Llib/thread.scm 395 */
 long BgL_arg1946z00_6540;
BgL_arg1946z00_6540 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6517); 
BgL_arg1945z00_6539 = 
(BgL_arg1946z00_6540-OBJECT_TYPE); } 
BgL_oclassz00_6537 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6539); } 
{ /* Llib/thread.scm 395 */
 bool_t BgL__ortest_1147z00_6546;
BgL__ortest_1147z00_6546 = 
(BgL_classz00_6515==BgL_oclassz00_6537); 
if(BgL__ortest_1147z00_6546)
{ /* Llib/thread.scm 395 */
BgL_res2051z00_6533 = BgL__ortest_1147z00_6546; }  else 
{ /* Llib/thread.scm 395 */
 long BgL_odepthz00_6547;
BgL_odepthz00_6547 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6537); 
if(
(BgL_arg1941z00_6518<BgL_odepthz00_6547))
{ /* Llib/thread.scm 395 */
 obj_t BgL_arg1935z00_6551;
BgL_arg1935z00_6551 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6537, BgL_arg1941z00_6518); 
BgL_res2051z00_6533 = 
(BgL_arg1935z00_6551==BgL_classz00_6515); }  else 
{ /* Llib/thread.scm 395 */
BgL_res2051z00_6533 = ((bool_t)0); } } } } 
BgL_test3630z00_10551 = BgL_res2051z00_6533; } }  else 
{ /* Llib/thread.scm 395 */
BgL_test3630z00_10551 = ((bool_t)0)
; } } 
if(BgL_test3630z00_10551)
{ /* Llib/thread.scm 395 */
BgL_thz00_6552 = 
((BgL_threadz00_bglt)BgL_thz00_3666); }  else 
{ 
 obj_t BgL_auxz00_10573;
BgL_auxz00_10573 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(16418L), BGl_string2682z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3666); 
FAILURE(BgL_auxz00_10573,BFALSE,BFALSE);} } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2681z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6552));} } 

}



/* &thread-start!1198 */
obj_t BGl_z62threadzd2startz121198za2zz__threadz00(obj_t BgL_envz00_3667, obj_t BgL_thz00_3668, obj_t BgL_scz00_3669)
{
{ /* Llib/thread.scm 390 */
{ /* Llib/thread.scm 390 */
 BgL_threadz00_bglt BgL_thz00_6590;
{ /* Llib/thread.scm 390 */
 bool_t BgL_test3635z00_10579;
{ /* Llib/thread.scm 390 */
 obj_t BgL_classz00_6553;
BgL_classz00_6553 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3668))
{ /* Llib/thread.scm 390 */
 BgL_objectz00_bglt BgL_arg1940z00_6555; long BgL_arg1941z00_6556;
BgL_arg1940z00_6555 = 
(BgL_objectz00_bglt)(BgL_thz00_3668); 
BgL_arg1941z00_6556 = 
BGL_CLASS_DEPTH(BgL_classz00_6553); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 390 */
 long BgL_idxz00_6564;
BgL_idxz00_6564 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6555); 
{ /* Llib/thread.scm 390 */
 obj_t BgL_arg1933z00_6565;
{ /* Llib/thread.scm 390 */
 long BgL_arg1934z00_6566;
BgL_arg1934z00_6566 = 
(BgL_idxz00_6564+BgL_arg1941z00_6556); 
BgL_arg1933z00_6565 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6566); } 
BgL_test3635z00_10579 = 
(BgL_arg1933z00_6565==BgL_classz00_6553); } }  else 
{ /* Llib/thread.scm 390 */
 bool_t BgL_res2051z00_6571;
{ /* Llib/thread.scm 390 */
 obj_t BgL_oclassz00_6575;
{ /* Llib/thread.scm 390 */
 long BgL_arg1945z00_6577;
{ /* Llib/thread.scm 390 */
 long BgL_arg1946z00_6578;
BgL_arg1946z00_6578 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6555); 
BgL_arg1945z00_6577 = 
(BgL_arg1946z00_6578-OBJECT_TYPE); } 
BgL_oclassz00_6575 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6577); } 
{ /* Llib/thread.scm 390 */
 bool_t BgL__ortest_1147z00_6584;
BgL__ortest_1147z00_6584 = 
(BgL_classz00_6553==BgL_oclassz00_6575); 
if(BgL__ortest_1147z00_6584)
{ /* Llib/thread.scm 390 */
BgL_res2051z00_6571 = BgL__ortest_1147z00_6584; }  else 
{ /* Llib/thread.scm 390 */
 long BgL_odepthz00_6585;
BgL_odepthz00_6585 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6575); 
if(
(BgL_arg1941z00_6556<BgL_odepthz00_6585))
{ /* Llib/thread.scm 390 */
 obj_t BgL_arg1935z00_6589;
BgL_arg1935z00_6589 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6575, BgL_arg1941z00_6556); 
BgL_res2051z00_6571 = 
(BgL_arg1935z00_6589==BgL_classz00_6553); }  else 
{ /* Llib/thread.scm 390 */
BgL_res2051z00_6571 = ((bool_t)0); } } } } 
BgL_test3635z00_10579 = BgL_res2051z00_6571; } }  else 
{ /* Llib/thread.scm 390 */
BgL_test3635z00_10579 = ((bool_t)0)
; } } 
if(BgL_test3635z00_10579)
{ /* Llib/thread.scm 390 */
BgL_thz00_6590 = 
((BgL_threadz00_bglt)BgL_thz00_3668); }  else 
{ 
 obj_t BgL_auxz00_10601;
BgL_auxz00_10601 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(16146L), BGl_string2684z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3668); 
FAILURE(BgL_auxz00_10601,BFALSE,BFALSE);} } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2683z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_thz00_6590));} } 

}



/* &thread-initialize!1195 */
obj_t BGl_z62threadzd2initializa7ez121195z05zz__threadz00(obj_t BgL_envz00_3670, obj_t BgL_thz00_3671)
{
{ /* Llib/thread.scm 384 */
{ 
 BgL_threadz00_bglt BgL_auxz00_10607;
{ /* Llib/thread.scm 384 */
 BgL_threadz00_bglt BgL_thz00_6628;
{ /* Llib/thread.scm 384 */
 bool_t BgL_test3640z00_10608;
{ /* Llib/thread.scm 384 */
 obj_t BgL_classz00_6591;
BgL_classz00_6591 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3671))
{ /* Llib/thread.scm 384 */
 BgL_objectz00_bglt BgL_arg1940z00_6593; long BgL_arg1941z00_6594;
BgL_arg1940z00_6593 = 
(BgL_objectz00_bglt)(BgL_thz00_3671); 
BgL_arg1941z00_6594 = 
BGL_CLASS_DEPTH(BgL_classz00_6591); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 384 */
 long BgL_idxz00_6602;
BgL_idxz00_6602 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6593); 
{ /* Llib/thread.scm 384 */
 obj_t BgL_arg1933z00_6603;
{ /* Llib/thread.scm 384 */
 long BgL_arg1934z00_6604;
BgL_arg1934z00_6604 = 
(BgL_idxz00_6602+BgL_arg1941z00_6594); 
BgL_arg1933z00_6603 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6604); } 
BgL_test3640z00_10608 = 
(BgL_arg1933z00_6603==BgL_classz00_6591); } }  else 
{ /* Llib/thread.scm 384 */
 bool_t BgL_res2051z00_6609;
{ /* Llib/thread.scm 384 */
 obj_t BgL_oclassz00_6613;
{ /* Llib/thread.scm 384 */
 long BgL_arg1945z00_6615;
{ /* Llib/thread.scm 384 */
 long BgL_arg1946z00_6616;
BgL_arg1946z00_6616 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6593); 
BgL_arg1945z00_6615 = 
(BgL_arg1946z00_6616-OBJECT_TYPE); } 
BgL_oclassz00_6613 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6615); } 
{ /* Llib/thread.scm 384 */
 bool_t BgL__ortest_1147z00_6622;
BgL__ortest_1147z00_6622 = 
(BgL_classz00_6591==BgL_oclassz00_6613); 
if(BgL__ortest_1147z00_6622)
{ /* Llib/thread.scm 384 */
BgL_res2051z00_6609 = BgL__ortest_1147z00_6622; }  else 
{ /* Llib/thread.scm 384 */
 long BgL_odepthz00_6623;
BgL_odepthz00_6623 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6613); 
if(
(BgL_arg1941z00_6594<BgL_odepthz00_6623))
{ /* Llib/thread.scm 384 */
 obj_t BgL_arg1935z00_6627;
BgL_arg1935z00_6627 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6613, BgL_arg1941z00_6594); 
BgL_res2051z00_6609 = 
(BgL_arg1935z00_6627==BgL_classz00_6591); }  else 
{ /* Llib/thread.scm 384 */
BgL_res2051z00_6609 = ((bool_t)0); } } } } 
BgL_test3640z00_10608 = BgL_res2051z00_6609; } }  else 
{ /* Llib/thread.scm 384 */
BgL_test3640z00_10608 = ((bool_t)0)
; } } 
if(BgL_test3640z00_10608)
{ /* Llib/thread.scm 384 */
BgL_thz00_6628 = 
((BgL_threadz00_bglt)BgL_thz00_3671); }  else 
{ 
 obj_t BgL_auxz00_10630;
BgL_auxz00_10630 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(15868L), BGl_string2685z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3671); 
FAILURE(BgL_auxz00_10630,BFALSE,BFALSE);} } 
BgL_auxz00_10607 = BgL_thz00_6628; } 
return 
((obj_t)BgL_auxz00_10607);} } 

}



/* &tb-condvar-initializ1187 */
obj_t BGl_z62tbzd2condvarzd2initializa71187zc5zz__threadz00(obj_t BgL_envz00_3672, obj_t BgL_tbz00_3673, obj_t BgL_condvarz00_3674)
{
{ /* Llib/thread.scm 355 */
{ /* Llib/thread.scm 355 */
 BgL_threadzd2backendzd2_bglt BgL_tbz00_6666; obj_t BgL_condvarz00_6667;
{ /* Llib/thread.scm 355 */
 bool_t BgL_test3645z00_10635;
{ /* Llib/thread.scm 355 */
 obj_t BgL_classz00_6629;
BgL_classz00_6629 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_3673))
{ /* Llib/thread.scm 355 */
 BgL_objectz00_bglt BgL_arg1940z00_6631; long BgL_arg1941z00_6632;
BgL_arg1940z00_6631 = 
(BgL_objectz00_bglt)(BgL_tbz00_3673); 
BgL_arg1941z00_6632 = 
BGL_CLASS_DEPTH(BgL_classz00_6629); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 355 */
 long BgL_idxz00_6640;
BgL_idxz00_6640 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6631); 
{ /* Llib/thread.scm 355 */
 obj_t BgL_arg1933z00_6641;
{ /* Llib/thread.scm 355 */
 long BgL_arg1934z00_6642;
BgL_arg1934z00_6642 = 
(BgL_idxz00_6640+BgL_arg1941z00_6632); 
BgL_arg1933z00_6641 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6642); } 
BgL_test3645z00_10635 = 
(BgL_arg1933z00_6641==BgL_classz00_6629); } }  else 
{ /* Llib/thread.scm 355 */
 bool_t BgL_res2051z00_6647;
{ /* Llib/thread.scm 355 */
 obj_t BgL_oclassz00_6651;
{ /* Llib/thread.scm 355 */
 long BgL_arg1945z00_6653;
{ /* Llib/thread.scm 355 */
 long BgL_arg1946z00_6654;
BgL_arg1946z00_6654 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6631); 
BgL_arg1945z00_6653 = 
(BgL_arg1946z00_6654-OBJECT_TYPE); } 
BgL_oclassz00_6651 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6653); } 
{ /* Llib/thread.scm 355 */
 bool_t BgL__ortest_1147z00_6660;
BgL__ortest_1147z00_6660 = 
(BgL_classz00_6629==BgL_oclassz00_6651); 
if(BgL__ortest_1147z00_6660)
{ /* Llib/thread.scm 355 */
BgL_res2051z00_6647 = BgL__ortest_1147z00_6660; }  else 
{ /* Llib/thread.scm 355 */
 long BgL_odepthz00_6661;
BgL_odepthz00_6661 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6651); 
if(
(BgL_arg1941z00_6632<BgL_odepthz00_6661))
{ /* Llib/thread.scm 355 */
 obj_t BgL_arg1935z00_6665;
BgL_arg1935z00_6665 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6651, BgL_arg1941z00_6632); 
BgL_res2051z00_6647 = 
(BgL_arg1935z00_6665==BgL_classz00_6629); }  else 
{ /* Llib/thread.scm 355 */
BgL_res2051z00_6647 = ((bool_t)0); } } } } 
BgL_test3645z00_10635 = BgL_res2051z00_6647; } }  else 
{ /* Llib/thread.scm 355 */
BgL_test3645z00_10635 = ((bool_t)0)
; } } 
if(BgL_test3645z00_10635)
{ /* Llib/thread.scm 355 */
BgL_tbz00_6666 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_3673); }  else 
{ 
 obj_t BgL_auxz00_10657;
BgL_auxz00_10657 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14317L), BGl_string2687z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_3673); 
FAILURE(BgL_auxz00_10657,BFALSE,BFALSE);} } 
if(
BGL_CONDVARP(BgL_condvarz00_3674))
{ /* Llib/thread.scm 355 */
BgL_condvarz00_6667 = BgL_condvarz00_3674; }  else 
{ 
 obj_t BgL_auxz00_10663;
BgL_auxz00_10663 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14317L), BGl_string2687z00zz__threadz00, BGl_string2501z00zz__threadz00, BgL_condvarz00_3674); 
FAILURE(BgL_auxz00_10663,BFALSE,BFALSE);} 
return 
BGl_errorz00zz__errorz00(BGl_symbol2686z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_tbz00_6666));} } 

}



/* &tb-mutex-initialize!1185 */
obj_t BGl_z62tbzd2mutexzd2initializa7ez121185zd7zz__threadz00(obj_t BgL_envz00_3675, obj_t BgL_tbz00_3676, obj_t BgL_mutexz00_3677)
{
{ /* Llib/thread.scm 350 */
{ /* Llib/thread.scm 350 */
 BgL_threadzd2backendzd2_bglt BgL_tbz00_6705; obj_t BgL_mutexz00_6706;
{ /* Llib/thread.scm 350 */
 bool_t BgL_test3651z00_10669;
{ /* Llib/thread.scm 350 */
 obj_t BgL_classz00_6668;
BgL_classz00_6668 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_3676))
{ /* Llib/thread.scm 350 */
 BgL_objectz00_bglt BgL_arg1940z00_6670; long BgL_arg1941z00_6671;
BgL_arg1940z00_6670 = 
(BgL_objectz00_bglt)(BgL_tbz00_3676); 
BgL_arg1941z00_6671 = 
BGL_CLASS_DEPTH(BgL_classz00_6668); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 350 */
 long BgL_idxz00_6679;
BgL_idxz00_6679 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6670); 
{ /* Llib/thread.scm 350 */
 obj_t BgL_arg1933z00_6680;
{ /* Llib/thread.scm 350 */
 long BgL_arg1934z00_6681;
BgL_arg1934z00_6681 = 
(BgL_idxz00_6679+BgL_arg1941z00_6671); 
BgL_arg1933z00_6680 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6681); } 
BgL_test3651z00_10669 = 
(BgL_arg1933z00_6680==BgL_classz00_6668); } }  else 
{ /* Llib/thread.scm 350 */
 bool_t BgL_res2051z00_6686;
{ /* Llib/thread.scm 350 */
 obj_t BgL_oclassz00_6690;
{ /* Llib/thread.scm 350 */
 long BgL_arg1945z00_6692;
{ /* Llib/thread.scm 350 */
 long BgL_arg1946z00_6693;
BgL_arg1946z00_6693 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6670); 
BgL_arg1945z00_6692 = 
(BgL_arg1946z00_6693-OBJECT_TYPE); } 
BgL_oclassz00_6690 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6692); } 
{ /* Llib/thread.scm 350 */
 bool_t BgL__ortest_1147z00_6699;
BgL__ortest_1147z00_6699 = 
(BgL_classz00_6668==BgL_oclassz00_6690); 
if(BgL__ortest_1147z00_6699)
{ /* Llib/thread.scm 350 */
BgL_res2051z00_6686 = BgL__ortest_1147z00_6699; }  else 
{ /* Llib/thread.scm 350 */
 long BgL_odepthz00_6700;
BgL_odepthz00_6700 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6690); 
if(
(BgL_arg1941z00_6671<BgL_odepthz00_6700))
{ /* Llib/thread.scm 350 */
 obj_t BgL_arg1935z00_6704;
BgL_arg1935z00_6704 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6690, BgL_arg1941z00_6671); 
BgL_res2051z00_6686 = 
(BgL_arg1935z00_6704==BgL_classz00_6668); }  else 
{ /* Llib/thread.scm 350 */
BgL_res2051z00_6686 = ((bool_t)0); } } } } 
BgL_test3651z00_10669 = BgL_res2051z00_6686; } }  else 
{ /* Llib/thread.scm 350 */
BgL_test3651z00_10669 = ((bool_t)0)
; } } 
if(BgL_test3651z00_10669)
{ /* Llib/thread.scm 350 */
BgL_tbz00_6705 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_3676); }  else 
{ 
 obj_t BgL_auxz00_10691;
BgL_auxz00_10691 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14029L), BGl_string2689z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_3676); 
FAILURE(BgL_auxz00_10691,BFALSE,BFALSE);} } 
if(
BGL_MUTEXP(BgL_mutexz00_3677))
{ /* Llib/thread.scm 350 */
BgL_mutexz00_6706 = BgL_mutexz00_3677; }  else 
{ 
 obj_t BgL_auxz00_10697;
BgL_auxz00_10697 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14029L), BGl_string2689z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_mutexz00_3677); 
FAILURE(BgL_auxz00_10697,BFALSE,BFALSE);} 
return 
BGl_errorz00zz__errorz00(BGl_symbol2688z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_tbz00_6705));} } 

}



/* &tb-current-thread1179 */
obj_t BGl_z62tbzd2currentzd2thread1179z62zz__threadz00(obj_t BgL_envz00_3678, obj_t BgL_tbz00_3679)
{
{ /* Llib/thread.scm 326 */
{ /* Llib/thread.scm 326 */
 BgL_threadzd2backendzd2_bglt BgL_tbz00_6744;
{ /* Llib/thread.scm 326 */
 bool_t BgL_test3657z00_10703;
{ /* Llib/thread.scm 326 */
 obj_t BgL_classz00_6707;
BgL_classz00_6707 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_3679))
{ /* Llib/thread.scm 326 */
 BgL_objectz00_bglt BgL_arg1940z00_6709; long BgL_arg1941z00_6710;
BgL_arg1940z00_6709 = 
(BgL_objectz00_bglt)(BgL_tbz00_3679); 
BgL_arg1941z00_6710 = 
BGL_CLASS_DEPTH(BgL_classz00_6707); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 326 */
 long BgL_idxz00_6718;
BgL_idxz00_6718 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6709); 
{ /* Llib/thread.scm 326 */
 obj_t BgL_arg1933z00_6719;
{ /* Llib/thread.scm 326 */
 long BgL_arg1934z00_6720;
BgL_arg1934z00_6720 = 
(BgL_idxz00_6718+BgL_arg1941z00_6710); 
BgL_arg1933z00_6719 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6720); } 
BgL_test3657z00_10703 = 
(BgL_arg1933z00_6719==BgL_classz00_6707); } }  else 
{ /* Llib/thread.scm 326 */
 bool_t BgL_res2051z00_6725;
{ /* Llib/thread.scm 326 */
 obj_t BgL_oclassz00_6729;
{ /* Llib/thread.scm 326 */
 long BgL_arg1945z00_6731;
{ /* Llib/thread.scm 326 */
 long BgL_arg1946z00_6732;
BgL_arg1946z00_6732 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6709); 
BgL_arg1945z00_6731 = 
(BgL_arg1946z00_6732-OBJECT_TYPE); } 
BgL_oclassz00_6729 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6731); } 
{ /* Llib/thread.scm 326 */
 bool_t BgL__ortest_1147z00_6738;
BgL__ortest_1147z00_6738 = 
(BgL_classz00_6707==BgL_oclassz00_6729); 
if(BgL__ortest_1147z00_6738)
{ /* Llib/thread.scm 326 */
BgL_res2051z00_6725 = BgL__ortest_1147z00_6738; }  else 
{ /* Llib/thread.scm 326 */
 long BgL_odepthz00_6739;
BgL_odepthz00_6739 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6729); 
if(
(BgL_arg1941z00_6710<BgL_odepthz00_6739))
{ /* Llib/thread.scm 326 */
 obj_t BgL_arg1935z00_6743;
BgL_arg1935z00_6743 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6729, BgL_arg1941z00_6710); 
BgL_res2051z00_6725 = 
(BgL_arg1935z00_6743==BgL_classz00_6707); }  else 
{ /* Llib/thread.scm 326 */
BgL_res2051z00_6725 = ((bool_t)0); } } } } 
BgL_test3657z00_10703 = BgL_res2051z00_6725; } }  else 
{ /* Llib/thread.scm 326 */
BgL_test3657z00_10703 = ((bool_t)0)
; } } 
if(BgL_test3657z00_10703)
{ /* Llib/thread.scm 326 */
BgL_tbz00_6744 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_3679); }  else 
{ 
 obj_t BgL_auxz00_10725;
BgL_auxz00_10725 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(12844L), BGl_string2691z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_3679); 
FAILURE(BgL_auxz00_10725,BFALSE,BFALSE);} } 
return 
BGl_errorz00zz__errorz00(BGl_symbol2690z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_tbz00_6744));} } 

}



/* &tb-make-thread1177 */
obj_t BGl_z62tbzd2makezd2thread1177z62zz__threadz00(obj_t BgL_envz00_3680, obj_t BgL_tbz00_3681, obj_t BgL_bodyz00_3682, obj_t BgL_namez00_3683)
{
{ /* Llib/thread.scm 321 */
{ /* Llib/thread.scm 321 */
 BgL_threadzd2backendzd2_bglt BgL_tbz00_6782; obj_t BgL_bodyz00_6783;
{ /* Llib/thread.scm 321 */
 bool_t BgL_test3662z00_10731;
{ /* Llib/thread.scm 321 */
 obj_t BgL_classz00_6745;
BgL_classz00_6745 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_3681))
{ /* Llib/thread.scm 321 */
 BgL_objectz00_bglt BgL_arg1940z00_6747; long BgL_arg1941z00_6748;
BgL_arg1940z00_6747 = 
(BgL_objectz00_bglt)(BgL_tbz00_3681); 
BgL_arg1941z00_6748 = 
BGL_CLASS_DEPTH(BgL_classz00_6745); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 321 */
 long BgL_idxz00_6756;
BgL_idxz00_6756 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6747); 
{ /* Llib/thread.scm 321 */
 obj_t BgL_arg1933z00_6757;
{ /* Llib/thread.scm 321 */
 long BgL_arg1934z00_6758;
BgL_arg1934z00_6758 = 
(BgL_idxz00_6756+BgL_arg1941z00_6748); 
BgL_arg1933z00_6757 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6758); } 
BgL_test3662z00_10731 = 
(BgL_arg1933z00_6757==BgL_classz00_6745); } }  else 
{ /* Llib/thread.scm 321 */
 bool_t BgL_res2051z00_6763;
{ /* Llib/thread.scm 321 */
 obj_t BgL_oclassz00_6767;
{ /* Llib/thread.scm 321 */
 long BgL_arg1945z00_6769;
{ /* Llib/thread.scm 321 */
 long BgL_arg1946z00_6770;
BgL_arg1946z00_6770 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6747); 
BgL_arg1945z00_6769 = 
(BgL_arg1946z00_6770-OBJECT_TYPE); } 
BgL_oclassz00_6767 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6769); } 
{ /* Llib/thread.scm 321 */
 bool_t BgL__ortest_1147z00_6776;
BgL__ortest_1147z00_6776 = 
(BgL_classz00_6745==BgL_oclassz00_6767); 
if(BgL__ortest_1147z00_6776)
{ /* Llib/thread.scm 321 */
BgL_res2051z00_6763 = BgL__ortest_1147z00_6776; }  else 
{ /* Llib/thread.scm 321 */
 long BgL_odepthz00_6777;
BgL_odepthz00_6777 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6767); 
if(
(BgL_arg1941z00_6748<BgL_odepthz00_6777))
{ /* Llib/thread.scm 321 */
 obj_t BgL_arg1935z00_6781;
BgL_arg1935z00_6781 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6767, BgL_arg1941z00_6748); 
BgL_res2051z00_6763 = 
(BgL_arg1935z00_6781==BgL_classz00_6745); }  else 
{ /* Llib/thread.scm 321 */
BgL_res2051z00_6763 = ((bool_t)0); } } } } 
BgL_test3662z00_10731 = BgL_res2051z00_6763; } }  else 
{ /* Llib/thread.scm 321 */
BgL_test3662z00_10731 = ((bool_t)0)
; } } 
if(BgL_test3662z00_10731)
{ /* Llib/thread.scm 321 */
BgL_tbz00_6782 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_3681); }  else 
{ 
 obj_t BgL_auxz00_10753;
BgL_auxz00_10753 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(12558L), BGl_string2693z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_3681); 
FAILURE(BgL_auxz00_10753,BFALSE,BFALSE);} } 
if(
PROCEDUREP(BgL_bodyz00_3682))
{ /* Llib/thread.scm 321 */
BgL_bodyz00_6783 = BgL_bodyz00_3682; }  else 
{ 
 obj_t BgL_auxz00_10759;
BgL_auxz00_10759 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(12558L), BGl_string2693z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_bodyz00_3682); 
FAILURE(BgL_auxz00_10759,BFALSE,BFALSE);} 
return 
BGl_errorz00zz__errorz00(BGl_symbol2692z00zz__threadz00, BGl_string2663z00zz__threadz00, 
((obj_t)BgL_tbz00_6782));} } 

}



/* tb-make-thread */
BGL_EXPORTED_DEF BgL_threadz00_bglt BGl_tbzd2makezd2threadz00zz__threadz00(BgL_threadzd2backendzd2_bglt BgL_tbz00_7, obj_t BgL_bodyz00_8, obj_t BgL_namez00_9)
{
{ /* Llib/thread.scm 321 */
{ /* Llib/thread.scm 321 */
 obj_t BgL_method1178z00_1649;
{ /* Llib/thread.scm 321 */
 obj_t BgL_res1958z00_2503;
{ /* Llib/thread.scm 321 */
 long BgL_objzd2classzd2numz00_2474;
BgL_objzd2classzd2numz00_2474 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_tbz00_7)); 
{ /* Llib/thread.scm 321 */
 obj_t BgL_arg1942z00_2475;
BgL_arg1942z00_2475 = 
PROCEDURE_REF(BGl_tbzd2makezd2threadzd2envzd2zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 321 */
 int BgL_offsetz00_2478;
BgL_offsetz00_2478 = 
(int)(BgL_objzd2classzd2numz00_2474); 
{ /* Llib/thread.scm 321 */
 long BgL_offsetz00_2479;
BgL_offsetz00_2479 = 
(
(long)(BgL_offsetz00_2478)-OBJECT_TYPE); 
{ /* Llib/thread.scm 321 */
 long BgL_modz00_2480;
BgL_modz00_2480 = 
(BgL_offsetz00_2479 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 321 */
 long BgL_restz00_2482;
BgL_restz00_2482 = 
(BgL_offsetz00_2479 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 321 */

{ /* Llib/thread.scm 321 */
 obj_t BgL_bucketz00_2484;
BgL_bucketz00_2484 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2475),BgL_modz00_2480); 
BgL_res1958z00_2503 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2484),BgL_restz00_2482); } } } } } } } } 
BgL_method1178z00_1649 = BgL_res1958z00_2503; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1178z00_1649, 3L))
{ /* Llib/thread.scm 321 */
 obj_t BgL_aux2299z00_4159;
BgL_aux2299z00_4159 = 
(VA_PROCEDUREP( BgL_method1178z00_1649 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1178z00_1649))(BgL_method1178z00_1649, 
((obj_t)BgL_tbz00_7), BgL_bodyz00_8, BgL_namez00_9, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1178z00_1649))(BgL_method1178z00_1649, 
((obj_t)BgL_tbz00_7), BgL_bodyz00_8, BgL_namez00_9) ); 
{ /* Llib/thread.scm 321 */
 bool_t BgL_test3669z00_10799;
{ /* Llib/thread.scm 321 */
 obj_t BgL_classz00_6784;
BgL_classz00_6784 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_aux2299z00_4159))
{ /* Llib/thread.scm 321 */
 BgL_objectz00_bglt BgL_arg1940z00_6786; long BgL_arg1941z00_6787;
BgL_arg1940z00_6786 = 
(BgL_objectz00_bglt)(BgL_aux2299z00_4159); 
BgL_arg1941z00_6787 = 
BGL_CLASS_DEPTH(BgL_classz00_6784); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 321 */
 long BgL_idxz00_6795;
BgL_idxz00_6795 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6786); 
{ /* Llib/thread.scm 321 */
 obj_t BgL_arg1933z00_6796;
{ /* Llib/thread.scm 321 */
 long BgL_arg1934z00_6797;
BgL_arg1934z00_6797 = 
(BgL_idxz00_6795+BgL_arg1941z00_6787); 
BgL_arg1933z00_6796 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6797); } 
BgL_test3669z00_10799 = 
(BgL_arg1933z00_6796==BgL_classz00_6784); } }  else 
{ /* Llib/thread.scm 321 */
 bool_t BgL_res2051z00_6802;
{ /* Llib/thread.scm 321 */
 obj_t BgL_oclassz00_6806;
{ /* Llib/thread.scm 321 */
 long BgL_arg1945z00_6808;
{ /* Llib/thread.scm 321 */
 long BgL_arg1946z00_6809;
BgL_arg1946z00_6809 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6786); 
BgL_arg1945z00_6808 = 
(BgL_arg1946z00_6809-OBJECT_TYPE); } 
BgL_oclassz00_6806 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6808); } 
{ /* Llib/thread.scm 321 */
 bool_t BgL__ortest_1147z00_6815;
BgL__ortest_1147z00_6815 = 
(BgL_classz00_6784==BgL_oclassz00_6806); 
if(BgL__ortest_1147z00_6815)
{ /* Llib/thread.scm 321 */
BgL_res2051z00_6802 = BgL__ortest_1147z00_6815; }  else 
{ /* Llib/thread.scm 321 */
 long BgL_odepthz00_6816;
BgL_odepthz00_6816 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6806); 
if(
(BgL_arg1941z00_6787<BgL_odepthz00_6816))
{ /* Llib/thread.scm 321 */
 obj_t BgL_arg1935z00_6820;
BgL_arg1935z00_6820 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6806, BgL_arg1941z00_6787); 
BgL_res2051z00_6802 = 
(BgL_arg1935z00_6820==BgL_classz00_6784); }  else 
{ /* Llib/thread.scm 321 */
BgL_res2051z00_6802 = ((bool_t)0); } } } } 
BgL_test3669z00_10799 = BgL_res2051z00_6802; } }  else 
{ /* Llib/thread.scm 321 */
BgL_test3669z00_10799 = ((bool_t)0)
; } } 
if(BgL_test3669z00_10799)
{ /* Llib/thread.scm 321 */
return 
((BgL_threadz00_bglt)BgL_aux2299z00_4159);}  else 
{ 
 obj_t BgL_auxz00_10821;
BgL_auxz00_10821 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(12558L), BGl_string2694z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_aux2299z00_4159); 
FAILURE(BgL_auxz00_10821,BFALSE,BFALSE);} } }  else 
{ /* Llib/thread.scm 321 */
FAILURE(BGl_string2695z00zz__threadz00,BGl_list2696z00zz__threadz00,BgL_method1178z00_1649);} } } 

}



/* &tb-make-thread */
BgL_threadz00_bglt BGl_z62tbzd2makezd2threadz62zz__threadz00(obj_t BgL_envz00_3684, obj_t BgL_tbz00_3685, obj_t BgL_bodyz00_3686, obj_t BgL_namez00_3687)
{
{ /* Llib/thread.scm 321 */
{ /* Llib/thread.scm 321 */
 obj_t BgL_auxz00_10853; BgL_threadzd2backendzd2_bglt BgL_auxz00_10826;
if(
PROCEDUREP(BgL_bodyz00_3686))
{ /* Llib/thread.scm 321 */
BgL_auxz00_10853 = BgL_bodyz00_3686
; }  else 
{ 
 obj_t BgL_auxz00_10856;
BgL_auxz00_10856 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(12558L), BGl_string2701z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_bodyz00_3686); 
FAILURE(BgL_auxz00_10856,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 321 */
 bool_t BgL_test3674z00_10827;
{ /* Llib/thread.scm 321 */
 obj_t BgL_classz00_6821;
BgL_classz00_6821 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_3685))
{ /* Llib/thread.scm 321 */
 BgL_objectz00_bglt BgL_arg1940z00_6823; long BgL_arg1941z00_6824;
BgL_arg1940z00_6823 = 
(BgL_objectz00_bglt)(BgL_tbz00_3685); 
BgL_arg1941z00_6824 = 
BGL_CLASS_DEPTH(BgL_classz00_6821); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 321 */
 long BgL_idxz00_6832;
BgL_idxz00_6832 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6823); 
{ /* Llib/thread.scm 321 */
 obj_t BgL_arg1933z00_6833;
{ /* Llib/thread.scm 321 */
 long BgL_arg1934z00_6834;
BgL_arg1934z00_6834 = 
(BgL_idxz00_6832+BgL_arg1941z00_6824); 
BgL_arg1933z00_6833 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6834); } 
BgL_test3674z00_10827 = 
(BgL_arg1933z00_6833==BgL_classz00_6821); } }  else 
{ /* Llib/thread.scm 321 */
 bool_t BgL_res2051z00_6839;
{ /* Llib/thread.scm 321 */
 obj_t BgL_oclassz00_6843;
{ /* Llib/thread.scm 321 */
 long BgL_arg1945z00_6845;
{ /* Llib/thread.scm 321 */
 long BgL_arg1946z00_6846;
BgL_arg1946z00_6846 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6823); 
BgL_arg1945z00_6845 = 
(BgL_arg1946z00_6846-OBJECT_TYPE); } 
BgL_oclassz00_6843 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6845); } 
{ /* Llib/thread.scm 321 */
 bool_t BgL__ortest_1147z00_6852;
BgL__ortest_1147z00_6852 = 
(BgL_classz00_6821==BgL_oclassz00_6843); 
if(BgL__ortest_1147z00_6852)
{ /* Llib/thread.scm 321 */
BgL_res2051z00_6839 = BgL__ortest_1147z00_6852; }  else 
{ /* Llib/thread.scm 321 */
 long BgL_odepthz00_6853;
BgL_odepthz00_6853 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6843); 
if(
(BgL_arg1941z00_6824<BgL_odepthz00_6853))
{ /* Llib/thread.scm 321 */
 obj_t BgL_arg1935z00_6857;
BgL_arg1935z00_6857 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6843, BgL_arg1941z00_6824); 
BgL_res2051z00_6839 = 
(BgL_arg1935z00_6857==BgL_classz00_6821); }  else 
{ /* Llib/thread.scm 321 */
BgL_res2051z00_6839 = ((bool_t)0); } } } } 
BgL_test3674z00_10827 = BgL_res2051z00_6839; } }  else 
{ /* Llib/thread.scm 321 */
BgL_test3674z00_10827 = ((bool_t)0)
; } } 
if(BgL_test3674z00_10827)
{ /* Llib/thread.scm 321 */
BgL_auxz00_10826 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_3685)
; }  else 
{ 
 obj_t BgL_auxz00_10849;
BgL_auxz00_10849 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(12558L), BGl_string2701z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_3685); 
FAILURE(BgL_auxz00_10849,BFALSE,BFALSE);} } 
return 
BGl_tbzd2makezd2threadz00zz__threadz00(BgL_auxz00_10826, BgL_auxz00_10853, BgL_namez00_3687);} } 

}



/* tb-current-thread */
BGL_EXPORTED_DEF obj_t BGl_tbzd2currentzd2threadz00zz__threadz00(BgL_threadzd2backendzd2_bglt BgL_tbz00_10)
{
{ /* Llib/thread.scm 326 */
{ /* Llib/thread.scm 326 */
 obj_t BgL_method1180z00_1650;
{ /* Llib/thread.scm 326 */
 obj_t BgL_res1963z00_2534;
{ /* Llib/thread.scm 326 */
 long BgL_objzd2classzd2numz00_2505;
BgL_objzd2classzd2numz00_2505 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_tbz00_10)); 
{ /* Llib/thread.scm 326 */
 obj_t BgL_arg1942z00_2506;
BgL_arg1942z00_2506 = 
PROCEDURE_REF(BGl_tbzd2currentzd2threadzd2envzd2zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 326 */
 int BgL_offsetz00_2509;
BgL_offsetz00_2509 = 
(int)(BgL_objzd2classzd2numz00_2505); 
{ /* Llib/thread.scm 326 */
 long BgL_offsetz00_2510;
BgL_offsetz00_2510 = 
(
(long)(BgL_offsetz00_2509)-OBJECT_TYPE); 
{ /* Llib/thread.scm 326 */
 long BgL_modz00_2511;
BgL_modz00_2511 = 
(BgL_offsetz00_2510 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 326 */
 long BgL_restz00_2513;
BgL_restz00_2513 = 
(BgL_offsetz00_2510 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 326 */

{ /* Llib/thread.scm 326 */
 obj_t BgL_bucketz00_2515;
BgL_bucketz00_2515 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2506),BgL_modz00_2511); 
BgL_res1963z00_2534 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2515),BgL_restz00_2513); } } } } } } } } 
BgL_method1180z00_1650 = BgL_res1963z00_2534; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1180z00_1650, 1L))
{ /* Llib/thread.scm 326 */
return 
(VA_PROCEDUREP( BgL_method1180z00_1650 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1180z00_1650))(BgL_method1180z00_1650, 
((obj_t)BgL_tbz00_10), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1180z00_1650))(BgL_method1180z00_1650, 
((obj_t)BgL_tbz00_10)) );}  else 
{ /* Llib/thread.scm 326 */
FAILURE(BGl_string2702z00zz__threadz00,BGl_list2703z00zz__threadz00,BgL_method1180z00_1650);} } } 

}



/* &tb-current-thread */
obj_t BGl_z62tbzd2currentzd2threadz62zz__threadz00(obj_t BgL_envz00_3688, obj_t BgL_tbz00_3689)
{
{ /* Llib/thread.scm 326 */
{ /* Llib/thread.scm 326 */
 BgL_threadzd2backendzd2_bglt BgL_auxz00_10894;
{ /* Llib/thread.scm 326 */
 bool_t BgL_test3681z00_10895;
{ /* Llib/thread.scm 326 */
 obj_t BgL_classz00_6858;
BgL_classz00_6858 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_3689))
{ /* Llib/thread.scm 326 */
 BgL_objectz00_bglt BgL_arg1940z00_6860; long BgL_arg1941z00_6861;
BgL_arg1940z00_6860 = 
(BgL_objectz00_bglt)(BgL_tbz00_3689); 
BgL_arg1941z00_6861 = 
BGL_CLASS_DEPTH(BgL_classz00_6858); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 326 */
 long BgL_idxz00_6869;
BgL_idxz00_6869 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6860); 
{ /* Llib/thread.scm 326 */
 obj_t BgL_arg1933z00_6870;
{ /* Llib/thread.scm 326 */
 long BgL_arg1934z00_6871;
BgL_arg1934z00_6871 = 
(BgL_idxz00_6869+BgL_arg1941z00_6861); 
BgL_arg1933z00_6870 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6871); } 
BgL_test3681z00_10895 = 
(BgL_arg1933z00_6870==BgL_classz00_6858); } }  else 
{ /* Llib/thread.scm 326 */
 bool_t BgL_res2051z00_6876;
{ /* Llib/thread.scm 326 */
 obj_t BgL_oclassz00_6880;
{ /* Llib/thread.scm 326 */
 long BgL_arg1945z00_6882;
{ /* Llib/thread.scm 326 */
 long BgL_arg1946z00_6883;
BgL_arg1946z00_6883 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6860); 
BgL_arg1945z00_6882 = 
(BgL_arg1946z00_6883-OBJECT_TYPE); } 
BgL_oclassz00_6880 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6882); } 
{ /* Llib/thread.scm 326 */
 bool_t BgL__ortest_1147z00_6889;
BgL__ortest_1147z00_6889 = 
(BgL_classz00_6858==BgL_oclassz00_6880); 
if(BgL__ortest_1147z00_6889)
{ /* Llib/thread.scm 326 */
BgL_res2051z00_6876 = BgL__ortest_1147z00_6889; }  else 
{ /* Llib/thread.scm 326 */
 long BgL_odepthz00_6890;
BgL_odepthz00_6890 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6880); 
if(
(BgL_arg1941z00_6861<BgL_odepthz00_6890))
{ /* Llib/thread.scm 326 */
 obj_t BgL_arg1935z00_6894;
BgL_arg1935z00_6894 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6880, BgL_arg1941z00_6861); 
BgL_res2051z00_6876 = 
(BgL_arg1935z00_6894==BgL_classz00_6858); }  else 
{ /* Llib/thread.scm 326 */
BgL_res2051z00_6876 = ((bool_t)0); } } } } 
BgL_test3681z00_10895 = BgL_res2051z00_6876; } }  else 
{ /* Llib/thread.scm 326 */
BgL_test3681z00_10895 = ((bool_t)0)
; } } 
if(BgL_test3681z00_10895)
{ /* Llib/thread.scm 326 */
BgL_auxz00_10894 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_3689)
; }  else 
{ 
 obj_t BgL_auxz00_10917;
BgL_auxz00_10917 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(12844L), BGl_string2706z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_3689); 
FAILURE(BgL_auxz00_10917,BFALSE,BFALSE);} } 
return 
BGl_tbzd2currentzd2threadz00zz__threadz00(BgL_auxz00_10894);} } 

}



/* tb-mutex-initialize! */
BGL_EXPORTED_DEF obj_t BGl_tbzd2mutexzd2initializa7ez12zb5zz__threadz00(BgL_threadzd2backendzd2_bglt BgL_tbz00_15, obj_t BgL_mutexz00_16)
{
{ /* Llib/thread.scm 350 */
{ /* Llib/thread.scm 350 */
 obj_t BgL_method1186z00_1651;
{ /* Llib/thread.scm 350 */
 obj_t BgL_res1968z00_2565;
{ /* Llib/thread.scm 350 */
 long BgL_objzd2classzd2numz00_2536;
BgL_objzd2classzd2numz00_2536 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_tbz00_15)); 
{ /* Llib/thread.scm 350 */
 obj_t BgL_arg1942z00_2537;
BgL_arg1942z00_2537 = 
PROCEDURE_REF(BGl_tbzd2mutexzd2initializa7ez12zd2envz67zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 350 */
 int BgL_offsetz00_2540;
BgL_offsetz00_2540 = 
(int)(BgL_objzd2classzd2numz00_2536); 
{ /* Llib/thread.scm 350 */
 long BgL_offsetz00_2541;
BgL_offsetz00_2541 = 
(
(long)(BgL_offsetz00_2540)-OBJECT_TYPE); 
{ /* Llib/thread.scm 350 */
 long BgL_modz00_2542;
BgL_modz00_2542 = 
(BgL_offsetz00_2541 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 350 */
 long BgL_restz00_2544;
BgL_restz00_2544 = 
(BgL_offsetz00_2541 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 350 */

{ /* Llib/thread.scm 350 */
 obj_t BgL_bucketz00_2546;
BgL_bucketz00_2546 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2537),BgL_modz00_2542); 
BgL_res1968z00_2565 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2546),BgL_restz00_2544); } } } } } } } } 
BgL_method1186z00_1651 = BgL_res1968z00_2565; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1186z00_1651, 2L))
{ /* Llib/thread.scm 350 */
 obj_t BgL_aux2309z00_4177;
BgL_aux2309z00_4177 = 
(VA_PROCEDUREP( BgL_method1186z00_1651 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1186z00_1651))(BgL_method1186z00_1651, 
((obj_t)BgL_tbz00_15), BgL_mutexz00_16, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1186z00_1651))(BgL_method1186z00_1651, 
((obj_t)BgL_tbz00_15), BgL_mutexz00_16) ); 
if(
BGL_MUTEXP(BgL_aux2309z00_4177))
{ /* Llib/thread.scm 350 */
return BgL_aux2309z00_4177;}  else 
{ 
 obj_t BgL_auxz00_10957;
BgL_auxz00_10957 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14029L), BGl_string2707z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_aux2309z00_4177); 
FAILURE(BgL_auxz00_10957,BFALSE,BFALSE);} }  else 
{ /* Llib/thread.scm 350 */
FAILURE(BGl_string2708z00zz__threadz00,BGl_list2709z00zz__threadz00,BgL_method1186z00_1651);} } } 

}



/* &tb-mutex-initialize! */
obj_t BGl_z62tbzd2mutexzd2initializa7ez12zd7zz__threadz00(obj_t BgL_envz00_3690, obj_t BgL_tbz00_3691, obj_t BgL_mutexz00_3692)
{
{ /* Llib/thread.scm 350 */
{ /* Llib/thread.scm 350 */
 obj_t BgL_auxz00_10989; BgL_threadzd2backendzd2_bglt BgL_auxz00_10962;
if(
BGL_MUTEXP(BgL_mutexz00_3692))
{ /* Llib/thread.scm 350 */
BgL_auxz00_10989 = BgL_mutexz00_3692
; }  else 
{ 
 obj_t BgL_auxz00_10992;
BgL_auxz00_10992 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14029L), BGl_string2712z00zz__threadz00, BGl_string2474z00zz__threadz00, BgL_mutexz00_3692); 
FAILURE(BgL_auxz00_10992,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 350 */
 bool_t BgL_test3688z00_10963;
{ /* Llib/thread.scm 350 */
 obj_t BgL_classz00_6895;
BgL_classz00_6895 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_3691))
{ /* Llib/thread.scm 350 */
 BgL_objectz00_bglt BgL_arg1940z00_6897; long BgL_arg1941z00_6898;
BgL_arg1940z00_6897 = 
(BgL_objectz00_bglt)(BgL_tbz00_3691); 
BgL_arg1941z00_6898 = 
BGL_CLASS_DEPTH(BgL_classz00_6895); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 350 */
 long BgL_idxz00_6906;
BgL_idxz00_6906 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6897); 
{ /* Llib/thread.scm 350 */
 obj_t BgL_arg1933z00_6907;
{ /* Llib/thread.scm 350 */
 long BgL_arg1934z00_6908;
BgL_arg1934z00_6908 = 
(BgL_idxz00_6906+BgL_arg1941z00_6898); 
BgL_arg1933z00_6907 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6908); } 
BgL_test3688z00_10963 = 
(BgL_arg1933z00_6907==BgL_classz00_6895); } }  else 
{ /* Llib/thread.scm 350 */
 bool_t BgL_res2051z00_6913;
{ /* Llib/thread.scm 350 */
 obj_t BgL_oclassz00_6917;
{ /* Llib/thread.scm 350 */
 long BgL_arg1945z00_6919;
{ /* Llib/thread.scm 350 */
 long BgL_arg1946z00_6920;
BgL_arg1946z00_6920 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6897); 
BgL_arg1945z00_6919 = 
(BgL_arg1946z00_6920-OBJECT_TYPE); } 
BgL_oclassz00_6917 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6919); } 
{ /* Llib/thread.scm 350 */
 bool_t BgL__ortest_1147z00_6926;
BgL__ortest_1147z00_6926 = 
(BgL_classz00_6895==BgL_oclassz00_6917); 
if(BgL__ortest_1147z00_6926)
{ /* Llib/thread.scm 350 */
BgL_res2051z00_6913 = BgL__ortest_1147z00_6926; }  else 
{ /* Llib/thread.scm 350 */
 long BgL_odepthz00_6927;
BgL_odepthz00_6927 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6917); 
if(
(BgL_arg1941z00_6898<BgL_odepthz00_6927))
{ /* Llib/thread.scm 350 */
 obj_t BgL_arg1935z00_6931;
BgL_arg1935z00_6931 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6917, BgL_arg1941z00_6898); 
BgL_res2051z00_6913 = 
(BgL_arg1935z00_6931==BgL_classz00_6895); }  else 
{ /* Llib/thread.scm 350 */
BgL_res2051z00_6913 = ((bool_t)0); } } } } 
BgL_test3688z00_10963 = BgL_res2051z00_6913; } }  else 
{ /* Llib/thread.scm 350 */
BgL_test3688z00_10963 = ((bool_t)0)
; } } 
if(BgL_test3688z00_10963)
{ /* Llib/thread.scm 350 */
BgL_auxz00_10962 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_3691)
; }  else 
{ 
 obj_t BgL_auxz00_10985;
BgL_auxz00_10985 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14029L), BGl_string2712z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_3691); 
FAILURE(BgL_auxz00_10985,BFALSE,BFALSE);} } 
return 
BGl_tbzd2mutexzd2initializa7ez12zb5zz__threadz00(BgL_auxz00_10962, BgL_auxz00_10989);} } 

}



/* tb-condvar-initialize! */
BGL_EXPORTED_DEF obj_t BGl_tbzd2condvarzd2initializa7ez12zb5zz__threadz00(BgL_threadzd2backendzd2_bglt BgL_tbz00_17, obj_t BgL_condvarz00_18)
{
{ /* Llib/thread.scm 355 */
{ /* Llib/thread.scm 355 */
 obj_t BgL_method1188z00_1652;
{ /* Llib/thread.scm 355 */
 obj_t BgL_res1973z00_2596;
{ /* Llib/thread.scm 355 */
 long BgL_objzd2classzd2numz00_2567;
BgL_objzd2classzd2numz00_2567 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_tbz00_17)); 
{ /* Llib/thread.scm 355 */
 obj_t BgL_arg1942z00_2568;
BgL_arg1942z00_2568 = 
PROCEDURE_REF(BGl_tbzd2condvarzd2initializa7ez12zd2envz67zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 355 */
 int BgL_offsetz00_2571;
BgL_offsetz00_2571 = 
(int)(BgL_objzd2classzd2numz00_2567); 
{ /* Llib/thread.scm 355 */
 long BgL_offsetz00_2572;
BgL_offsetz00_2572 = 
(
(long)(BgL_offsetz00_2571)-OBJECT_TYPE); 
{ /* Llib/thread.scm 355 */
 long BgL_modz00_2573;
BgL_modz00_2573 = 
(BgL_offsetz00_2572 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 355 */
 long BgL_restz00_2575;
BgL_restz00_2575 = 
(BgL_offsetz00_2572 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 355 */

{ /* Llib/thread.scm 355 */
 obj_t BgL_bucketz00_2577;
BgL_bucketz00_2577 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2568),BgL_modz00_2573); 
BgL_res1973z00_2596 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2577),BgL_restz00_2575); } } } } } } } } 
BgL_method1188z00_1652 = BgL_res1973z00_2596; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1188z00_1652, 2L))
{ /* Llib/thread.scm 355 */
 obj_t BgL_aux2316z00_4187;
BgL_aux2316z00_4187 = 
(VA_PROCEDUREP( BgL_method1188z00_1652 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1188z00_1652))(BgL_method1188z00_1652, 
((obj_t)BgL_tbz00_17), BgL_condvarz00_18, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1188z00_1652))(BgL_method1188z00_1652, 
((obj_t)BgL_tbz00_17), BgL_condvarz00_18) ); 
if(
BGL_CONDVARP(BgL_aux2316z00_4187))
{ /* Llib/thread.scm 355 */
return BgL_aux2316z00_4187;}  else 
{ 
 obj_t BgL_auxz00_11032;
BgL_auxz00_11032 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14317L), BGl_string2713z00zz__threadz00, BGl_string2501z00zz__threadz00, BgL_aux2316z00_4187); 
FAILURE(BgL_auxz00_11032,BFALSE,BFALSE);} }  else 
{ /* Llib/thread.scm 355 */
FAILURE(BGl_string2714z00zz__threadz00,BGl_list2715z00zz__threadz00,BgL_method1188z00_1652);} } } 

}



/* &tb-condvar-initialize! */
obj_t BGl_z62tbzd2condvarzd2initializa7ez12zd7zz__threadz00(obj_t BgL_envz00_3693, obj_t BgL_tbz00_3694, obj_t BgL_condvarz00_3695)
{
{ /* Llib/thread.scm 355 */
{ /* Llib/thread.scm 355 */
 obj_t BgL_auxz00_11064; BgL_threadzd2backendzd2_bglt BgL_auxz00_11037;
if(
BGL_CONDVARP(BgL_condvarz00_3695))
{ /* Llib/thread.scm 355 */
BgL_auxz00_11064 = BgL_condvarz00_3695
; }  else 
{ 
 obj_t BgL_auxz00_11067;
BgL_auxz00_11067 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14317L), BGl_string2719z00zz__threadz00, BGl_string2501z00zz__threadz00, BgL_condvarz00_3695); 
FAILURE(BgL_auxz00_11067,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 355 */
 bool_t BgL_test3696z00_11038;
{ /* Llib/thread.scm 355 */
 obj_t BgL_classz00_6932;
BgL_classz00_6932 = BGl_threadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_3694))
{ /* Llib/thread.scm 355 */
 BgL_objectz00_bglt BgL_arg1940z00_6934; long BgL_arg1941z00_6935;
BgL_arg1940z00_6934 = 
(BgL_objectz00_bglt)(BgL_tbz00_3694); 
BgL_arg1941z00_6935 = 
BGL_CLASS_DEPTH(BgL_classz00_6932); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 355 */
 long BgL_idxz00_6943;
BgL_idxz00_6943 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6934); 
{ /* Llib/thread.scm 355 */
 obj_t BgL_arg1933z00_6944;
{ /* Llib/thread.scm 355 */
 long BgL_arg1934z00_6945;
BgL_arg1934z00_6945 = 
(BgL_idxz00_6943+BgL_arg1941z00_6935); 
BgL_arg1933z00_6944 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6945); } 
BgL_test3696z00_11038 = 
(BgL_arg1933z00_6944==BgL_classz00_6932); } }  else 
{ /* Llib/thread.scm 355 */
 bool_t BgL_res2051z00_6950;
{ /* Llib/thread.scm 355 */
 obj_t BgL_oclassz00_6954;
{ /* Llib/thread.scm 355 */
 long BgL_arg1945z00_6956;
{ /* Llib/thread.scm 355 */
 long BgL_arg1946z00_6957;
BgL_arg1946z00_6957 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6934); 
BgL_arg1945z00_6956 = 
(BgL_arg1946z00_6957-OBJECT_TYPE); } 
BgL_oclassz00_6954 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6956); } 
{ /* Llib/thread.scm 355 */
 bool_t BgL__ortest_1147z00_6963;
BgL__ortest_1147z00_6963 = 
(BgL_classz00_6932==BgL_oclassz00_6954); 
if(BgL__ortest_1147z00_6963)
{ /* Llib/thread.scm 355 */
BgL_res2051z00_6950 = BgL__ortest_1147z00_6963; }  else 
{ /* Llib/thread.scm 355 */
 long BgL_odepthz00_6964;
BgL_odepthz00_6964 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6954); 
if(
(BgL_arg1941z00_6935<BgL_odepthz00_6964))
{ /* Llib/thread.scm 355 */
 obj_t BgL_arg1935z00_6968;
BgL_arg1935z00_6968 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6954, BgL_arg1941z00_6935); 
BgL_res2051z00_6950 = 
(BgL_arg1935z00_6968==BgL_classz00_6932); }  else 
{ /* Llib/thread.scm 355 */
BgL_res2051z00_6950 = ((bool_t)0); } } } } 
BgL_test3696z00_11038 = BgL_res2051z00_6950; } }  else 
{ /* Llib/thread.scm 355 */
BgL_test3696z00_11038 = ((bool_t)0)
; } } 
if(BgL_test3696z00_11038)
{ /* Llib/thread.scm 355 */
BgL_auxz00_11037 = 
((BgL_threadzd2backendzd2_bglt)BgL_tbz00_3694)
; }  else 
{ 
 obj_t BgL_auxz00_11060;
BgL_auxz00_11060 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14317L), BGl_string2719z00zz__threadz00, BGl_string2443z00zz__threadz00, BgL_tbz00_3694); 
FAILURE(BgL_auxz00_11060,BFALSE,BFALSE);} } 
return 
BGl_tbzd2condvarzd2initializa7ez12zb5zz__threadz00(BgL_auxz00_11037, BgL_auxz00_11064);} } 

}



/* thread-initialize! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2initializa7ez12z67zz__threadz00(BgL_threadz00_bglt BgL_thz00_26)
{
{ /* Llib/thread.scm 384 */
{ /* Llib/thread.scm 384 */
 obj_t BgL_method1197z00_1653;
{ /* Llib/thread.scm 384 */
 obj_t BgL_res1978z00_2627;
{ /* Llib/thread.scm 384 */
 long BgL_objzd2classzd2numz00_2598;
BgL_objzd2classzd2numz00_2598 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_26)); 
{ /* Llib/thread.scm 384 */
 obj_t BgL_arg1942z00_2599;
BgL_arg1942z00_2599 = 
PROCEDURE_REF(BGl_threadzd2initializa7ez12zd2envzb5zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 384 */
 int BgL_offsetz00_2602;
BgL_offsetz00_2602 = 
(int)(BgL_objzd2classzd2numz00_2598); 
{ /* Llib/thread.scm 384 */
 long BgL_offsetz00_2603;
BgL_offsetz00_2603 = 
(
(long)(BgL_offsetz00_2602)-OBJECT_TYPE); 
{ /* Llib/thread.scm 384 */
 long BgL_modz00_2604;
BgL_modz00_2604 = 
(BgL_offsetz00_2603 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 384 */
 long BgL_restz00_2606;
BgL_restz00_2606 = 
(BgL_offsetz00_2603 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 384 */

{ /* Llib/thread.scm 384 */
 obj_t BgL_bucketz00_2608;
BgL_bucketz00_2608 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2599),BgL_modz00_2604); 
BgL_res1978z00_2627 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2608),BgL_restz00_2606); } } } } } } } } 
BgL_method1197z00_1653 = BgL_res1978z00_2627; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1197z00_1653, 1L))
{ /* Llib/thread.scm 384 */
return 
(VA_PROCEDUREP( BgL_method1197z00_1653 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1197z00_1653))(BgL_method1197z00_1653, 
((obj_t)BgL_thz00_26), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1197z00_1653))(BgL_method1197z00_1653, 
((obj_t)BgL_thz00_26)) );}  else 
{ /* Llib/thread.scm 384 */
FAILURE(BGl_string2720z00zz__threadz00,BGl_list2721z00zz__threadz00,BgL_method1197z00_1653);} } } 

}



/* &thread-initialize! */
obj_t BGl_z62threadzd2initializa7ez12z05zz__threadz00(obj_t BgL_envz00_3614, obj_t BgL_thz00_3615)
{
{ /* Llib/thread.scm 384 */
{ /* Llib/thread.scm 384 */
 BgL_threadz00_bglt BgL_auxz00_11105;
{ /* Llib/thread.scm 384 */
 bool_t BgL_test3703z00_11106;
{ /* Llib/thread.scm 384 */
 obj_t BgL_classz00_6969;
BgL_classz00_6969 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3615))
{ /* Llib/thread.scm 384 */
 BgL_objectz00_bglt BgL_arg1940z00_6971; long BgL_arg1941z00_6972;
BgL_arg1940z00_6971 = 
(BgL_objectz00_bglt)(BgL_thz00_3615); 
BgL_arg1941z00_6972 = 
BGL_CLASS_DEPTH(BgL_classz00_6969); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 384 */
 long BgL_idxz00_6980;
BgL_idxz00_6980 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_6971); 
{ /* Llib/thread.scm 384 */
 obj_t BgL_arg1933z00_6981;
{ /* Llib/thread.scm 384 */
 long BgL_arg1934z00_6982;
BgL_arg1934z00_6982 = 
(BgL_idxz00_6980+BgL_arg1941z00_6972); 
BgL_arg1933z00_6981 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_6982); } 
BgL_test3703z00_11106 = 
(BgL_arg1933z00_6981==BgL_classz00_6969); } }  else 
{ /* Llib/thread.scm 384 */
 bool_t BgL_res2051z00_6987;
{ /* Llib/thread.scm 384 */
 obj_t BgL_oclassz00_6991;
{ /* Llib/thread.scm 384 */
 long BgL_arg1945z00_6993;
{ /* Llib/thread.scm 384 */
 long BgL_arg1946z00_6994;
BgL_arg1946z00_6994 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_6971); 
BgL_arg1945z00_6993 = 
(BgL_arg1946z00_6994-OBJECT_TYPE); } 
BgL_oclassz00_6991 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_6993); } 
{ /* Llib/thread.scm 384 */
 bool_t BgL__ortest_1147z00_7000;
BgL__ortest_1147z00_7000 = 
(BgL_classz00_6969==BgL_oclassz00_6991); 
if(BgL__ortest_1147z00_7000)
{ /* Llib/thread.scm 384 */
BgL_res2051z00_6987 = BgL__ortest_1147z00_7000; }  else 
{ /* Llib/thread.scm 384 */
 long BgL_odepthz00_7001;
BgL_odepthz00_7001 = 
BGL_CLASS_DEPTH(BgL_oclassz00_6991); 
if(
(BgL_arg1941z00_6972<BgL_odepthz00_7001))
{ /* Llib/thread.scm 384 */
 obj_t BgL_arg1935z00_7005;
BgL_arg1935z00_7005 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6991, BgL_arg1941z00_6972); 
BgL_res2051z00_6987 = 
(BgL_arg1935z00_7005==BgL_classz00_6969); }  else 
{ /* Llib/thread.scm 384 */
BgL_res2051z00_6987 = ((bool_t)0); } } } } 
BgL_test3703z00_11106 = BgL_res2051z00_6987; } }  else 
{ /* Llib/thread.scm 384 */
BgL_test3703z00_11106 = ((bool_t)0)
; } } 
if(BgL_test3703z00_11106)
{ /* Llib/thread.scm 384 */
BgL_auxz00_11105 = 
((BgL_threadz00_bglt)BgL_thz00_3615)
; }  else 
{ 
 obj_t BgL_auxz00_11128;
BgL_auxz00_11128 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(15868L), BGl_string2726z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3615); 
FAILURE(BgL_auxz00_11128,BFALSE,BFALSE);} } 
return 
BGl_threadzd2initializa7ez12z67zz__threadz00(BgL_auxz00_11105);} } 

}



/* thread-start! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2startz12zc0zz__threadz00(BgL_threadz00_bglt BgL_thz00_27, obj_t BgL_scz00_28)
{
{ /* Llib/thread.scm 390 */
{ /* Llib/thread.scm 390 */
 obj_t BgL_method1199z00_1654;
{ /* Llib/thread.scm 390 */
 obj_t BgL_res1983z00_2658;
{ /* Llib/thread.scm 390 */
 long BgL_objzd2classzd2numz00_2629;
BgL_objzd2classzd2numz00_2629 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_27)); 
{ /* Llib/thread.scm 390 */
 obj_t BgL_arg1942z00_2630;
BgL_arg1942z00_2630 = 
PROCEDURE_REF(BGl_threadzd2startz12zd2envz12zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 390 */
 int BgL_offsetz00_2633;
BgL_offsetz00_2633 = 
(int)(BgL_objzd2classzd2numz00_2629); 
{ /* Llib/thread.scm 390 */
 long BgL_offsetz00_2634;
BgL_offsetz00_2634 = 
(
(long)(BgL_offsetz00_2633)-OBJECT_TYPE); 
{ /* Llib/thread.scm 390 */
 long BgL_modz00_2635;
BgL_modz00_2635 = 
(BgL_offsetz00_2634 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 390 */
 long BgL_restz00_2637;
BgL_restz00_2637 = 
(BgL_offsetz00_2634 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 390 */

{ /* Llib/thread.scm 390 */
 obj_t BgL_bucketz00_2639;
BgL_bucketz00_2639 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2630),BgL_modz00_2635); 
BgL_res1983z00_2658 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2639),BgL_restz00_2637); } } } } } } } } 
BgL_method1199z00_1654 = BgL_res1983z00_2658; } 
{ /* Llib/thread.scm 390 */
 obj_t BgL_valz00_4203;
{ /* Llib/thread.scm 390 */
 obj_t BgL_list1525z00_1655;
BgL_list1525z00_1655 = 
MAKE_YOUNG_PAIR(BgL_scz00_28, BNIL); 
BgL_valz00_4203 = 
BGl_consza2za2zz__r4_pairs_and_lists_6_3z00(
((obj_t)BgL_thz00_27), BgL_list1525z00_1655); } 
{ /* Llib/thread.scm 390 */
 int BgL_len2325z00_4204;
BgL_len2325z00_4204 = 
(int)(
bgl_list_length(BgL_valz00_4203)); 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1199z00_1654, BgL_len2325z00_4204))
{ /* Llib/thread.scm 390 */
return 
apply(BgL_method1199z00_1654, BgL_valz00_4203);}  else 
{ /* Llib/thread.scm 390 */
FAILURE(BGl_symbol2727z00zz__threadz00,BGl_string2729z00zz__threadz00,BGl_list2730z00zz__threadz00);} } } } } 

}



/* &thread-start! */
obj_t BGl_z62threadzd2startz12za2zz__threadz00(obj_t BgL_envz00_3696, obj_t BgL_thz00_3697, obj_t BgL_scz00_3698)
{
{ /* Llib/thread.scm 390 */
{ /* Llib/thread.scm 390 */
 BgL_threadz00_bglt BgL_auxz00_11168;
{ /* Llib/thread.scm 390 */
 bool_t BgL_test3709z00_11169;
{ /* Llib/thread.scm 390 */
 obj_t BgL_classz00_7006;
BgL_classz00_7006 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3697))
{ /* Llib/thread.scm 390 */
 BgL_objectz00_bglt BgL_arg1940z00_7008; long BgL_arg1941z00_7009;
BgL_arg1940z00_7008 = 
(BgL_objectz00_bglt)(BgL_thz00_3697); 
BgL_arg1941z00_7009 = 
BGL_CLASS_DEPTH(BgL_classz00_7006); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 390 */
 long BgL_idxz00_7017;
BgL_idxz00_7017 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7008); 
{ /* Llib/thread.scm 390 */
 obj_t BgL_arg1933z00_7018;
{ /* Llib/thread.scm 390 */
 long BgL_arg1934z00_7019;
BgL_arg1934z00_7019 = 
(BgL_idxz00_7017+BgL_arg1941z00_7009); 
BgL_arg1933z00_7018 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7019); } 
BgL_test3709z00_11169 = 
(BgL_arg1933z00_7018==BgL_classz00_7006); } }  else 
{ /* Llib/thread.scm 390 */
 bool_t BgL_res2051z00_7024;
{ /* Llib/thread.scm 390 */
 obj_t BgL_oclassz00_7028;
{ /* Llib/thread.scm 390 */
 long BgL_arg1945z00_7030;
{ /* Llib/thread.scm 390 */
 long BgL_arg1946z00_7031;
BgL_arg1946z00_7031 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7008); 
BgL_arg1945z00_7030 = 
(BgL_arg1946z00_7031-OBJECT_TYPE); } 
BgL_oclassz00_7028 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7030); } 
{ /* Llib/thread.scm 390 */
 bool_t BgL__ortest_1147z00_7037;
BgL__ortest_1147z00_7037 = 
(BgL_classz00_7006==BgL_oclassz00_7028); 
if(BgL__ortest_1147z00_7037)
{ /* Llib/thread.scm 390 */
BgL_res2051z00_7024 = BgL__ortest_1147z00_7037; }  else 
{ /* Llib/thread.scm 390 */
 long BgL_odepthz00_7038;
BgL_odepthz00_7038 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7028); 
if(
(BgL_arg1941z00_7009<BgL_odepthz00_7038))
{ /* Llib/thread.scm 390 */
 obj_t BgL_arg1935z00_7042;
BgL_arg1935z00_7042 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7028, BgL_arg1941z00_7009); 
BgL_res2051z00_7024 = 
(BgL_arg1935z00_7042==BgL_classz00_7006); }  else 
{ /* Llib/thread.scm 390 */
BgL_res2051z00_7024 = ((bool_t)0); } } } } 
BgL_test3709z00_11169 = BgL_res2051z00_7024; } }  else 
{ /* Llib/thread.scm 390 */
BgL_test3709z00_11169 = ((bool_t)0)
; } } 
if(BgL_test3709z00_11169)
{ /* Llib/thread.scm 390 */
BgL_auxz00_11168 = 
((BgL_threadz00_bglt)BgL_thz00_3697)
; }  else 
{ 
 obj_t BgL_auxz00_11191;
BgL_auxz00_11191 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(16146L), BGl_string2753z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3697); 
FAILURE(BgL_auxz00_11191,BFALSE,BFALSE);} } 
return 
BGl_threadzd2startz12zc0zz__threadz00(BgL_auxz00_11168, BgL_scz00_3698);} } 

}



/* thread-start-joinable! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2startzd2joinablez12z12zz__threadz00(BgL_threadz00_bglt BgL_thz00_29)
{
{ /* Llib/thread.scm 395 */
{ /* Llib/thread.scm 395 */
 obj_t BgL_method1201z00_1656;
{ /* Llib/thread.scm 395 */
 obj_t BgL_res1988z00_2689;
{ /* Llib/thread.scm 395 */
 long BgL_objzd2classzd2numz00_2660;
BgL_objzd2classzd2numz00_2660 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_29)); 
{ /* Llib/thread.scm 395 */
 obj_t BgL_arg1942z00_2661;
BgL_arg1942z00_2661 = 
PROCEDURE_REF(BGl_threadzd2startzd2joinablez12zd2envzc0zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 395 */
 int BgL_offsetz00_2664;
BgL_offsetz00_2664 = 
(int)(BgL_objzd2classzd2numz00_2660); 
{ /* Llib/thread.scm 395 */
 long BgL_offsetz00_2665;
BgL_offsetz00_2665 = 
(
(long)(BgL_offsetz00_2664)-OBJECT_TYPE); 
{ /* Llib/thread.scm 395 */
 long BgL_modz00_2666;
BgL_modz00_2666 = 
(BgL_offsetz00_2665 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 395 */
 long BgL_restz00_2668;
BgL_restz00_2668 = 
(BgL_offsetz00_2665 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 395 */

{ /* Llib/thread.scm 395 */
 obj_t BgL_bucketz00_2670;
BgL_bucketz00_2670 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2661),BgL_modz00_2666); 
BgL_res1988z00_2689 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2670),BgL_restz00_2668); } } } } } } } } 
BgL_method1201z00_1656 = BgL_res1988z00_2689; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1201z00_1656, 1L))
{ /* Llib/thread.scm 395 */
return 
(VA_PROCEDUREP( BgL_method1201z00_1656 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1201z00_1656))(BgL_method1201z00_1656, 
((obj_t)BgL_thz00_29), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1201z00_1656))(BgL_method1201z00_1656, 
((obj_t)BgL_thz00_29)) );}  else 
{ /* Llib/thread.scm 395 */
FAILURE(BGl_string2754z00zz__threadz00,BGl_list2755z00zz__threadz00,BgL_method1201z00_1656);} } } 

}



/* &thread-start-joinable! */
obj_t BGl_z62threadzd2startzd2joinablez12z70zz__threadz00(obj_t BgL_envz00_3699, obj_t BgL_thz00_3700)
{
{ /* Llib/thread.scm 395 */
{ /* Llib/thread.scm 395 */
 BgL_threadz00_bglt BgL_auxz00_11229;
{ /* Llib/thread.scm 395 */
 bool_t BgL_test3715z00_11230;
{ /* Llib/thread.scm 395 */
 obj_t BgL_classz00_7043;
BgL_classz00_7043 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3700))
{ /* Llib/thread.scm 395 */
 BgL_objectz00_bglt BgL_arg1940z00_7045; long BgL_arg1941z00_7046;
BgL_arg1940z00_7045 = 
(BgL_objectz00_bglt)(BgL_thz00_3700); 
BgL_arg1941z00_7046 = 
BGL_CLASS_DEPTH(BgL_classz00_7043); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 395 */
 long BgL_idxz00_7054;
BgL_idxz00_7054 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7045); 
{ /* Llib/thread.scm 395 */
 obj_t BgL_arg1933z00_7055;
{ /* Llib/thread.scm 395 */
 long BgL_arg1934z00_7056;
BgL_arg1934z00_7056 = 
(BgL_idxz00_7054+BgL_arg1941z00_7046); 
BgL_arg1933z00_7055 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7056); } 
BgL_test3715z00_11230 = 
(BgL_arg1933z00_7055==BgL_classz00_7043); } }  else 
{ /* Llib/thread.scm 395 */
 bool_t BgL_res2051z00_7061;
{ /* Llib/thread.scm 395 */
 obj_t BgL_oclassz00_7065;
{ /* Llib/thread.scm 395 */
 long BgL_arg1945z00_7067;
{ /* Llib/thread.scm 395 */
 long BgL_arg1946z00_7068;
BgL_arg1946z00_7068 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7045); 
BgL_arg1945z00_7067 = 
(BgL_arg1946z00_7068-OBJECT_TYPE); } 
BgL_oclassz00_7065 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7067); } 
{ /* Llib/thread.scm 395 */
 bool_t BgL__ortest_1147z00_7074;
BgL__ortest_1147z00_7074 = 
(BgL_classz00_7043==BgL_oclassz00_7065); 
if(BgL__ortest_1147z00_7074)
{ /* Llib/thread.scm 395 */
BgL_res2051z00_7061 = BgL__ortest_1147z00_7074; }  else 
{ /* Llib/thread.scm 395 */
 long BgL_odepthz00_7075;
BgL_odepthz00_7075 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7065); 
if(
(BgL_arg1941z00_7046<BgL_odepthz00_7075))
{ /* Llib/thread.scm 395 */
 obj_t BgL_arg1935z00_7079;
BgL_arg1935z00_7079 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7065, BgL_arg1941z00_7046); 
BgL_res2051z00_7061 = 
(BgL_arg1935z00_7079==BgL_classz00_7043); }  else 
{ /* Llib/thread.scm 395 */
BgL_res2051z00_7061 = ((bool_t)0); } } } } 
BgL_test3715z00_11230 = BgL_res2051z00_7061; } }  else 
{ /* Llib/thread.scm 395 */
BgL_test3715z00_11230 = ((bool_t)0)
; } } 
if(BgL_test3715z00_11230)
{ /* Llib/thread.scm 395 */
BgL_auxz00_11229 = 
((BgL_threadz00_bglt)BgL_thz00_3700)
; }  else 
{ 
 obj_t BgL_auxz00_11252;
BgL_auxz00_11252 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(16418L), BGl_string2758z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3700); 
FAILURE(BgL_auxz00_11252,BFALSE,BFALSE);} } 
return 
BGl_threadzd2startzd2joinablez12z12zz__threadz00(BgL_auxz00_11229);} } 

}



/* thread-join! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2joinz12zc0zz__threadz00(BgL_threadz00_bglt BgL_thz00_30, obj_t BgL_timeoutz00_31)
{
{ /* Llib/thread.scm 400 */
{ /* Llib/thread.scm 400 */
 obj_t BgL_method1203z00_1657;
{ /* Llib/thread.scm 400 */
 obj_t BgL_res1993z00_2720;
{ /* Llib/thread.scm 400 */
 long BgL_objzd2classzd2numz00_2691;
BgL_objzd2classzd2numz00_2691 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_30)); 
{ /* Llib/thread.scm 400 */
 obj_t BgL_arg1942z00_2692;
BgL_arg1942z00_2692 = 
PROCEDURE_REF(BGl_threadzd2joinz12zd2envz12zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 400 */
 int BgL_offsetz00_2695;
BgL_offsetz00_2695 = 
(int)(BgL_objzd2classzd2numz00_2691); 
{ /* Llib/thread.scm 400 */
 long BgL_offsetz00_2696;
BgL_offsetz00_2696 = 
(
(long)(BgL_offsetz00_2695)-OBJECT_TYPE); 
{ /* Llib/thread.scm 400 */
 long BgL_modz00_2697;
BgL_modz00_2697 = 
(BgL_offsetz00_2696 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 400 */
 long BgL_restz00_2699;
BgL_restz00_2699 = 
(BgL_offsetz00_2696 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 400 */

{ /* Llib/thread.scm 400 */
 obj_t BgL_bucketz00_2701;
BgL_bucketz00_2701 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2692),BgL_modz00_2697); 
BgL_res1993z00_2720 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2701),BgL_restz00_2699); } } } } } } } } 
BgL_method1203z00_1657 = BgL_res1993z00_2720; } 
{ /* Llib/thread.scm 400 */
 obj_t BgL_valz00_4216;
{ /* Llib/thread.scm 400 */
 obj_t BgL_list1526z00_1658;
BgL_list1526z00_1658 = 
MAKE_YOUNG_PAIR(BgL_timeoutz00_31, BNIL); 
BgL_valz00_4216 = 
BGl_consza2za2zz__r4_pairs_and_lists_6_3z00(
((obj_t)BgL_thz00_30), BgL_list1526z00_1658); } 
{ /* Llib/thread.scm 400 */
 int BgL_len2331z00_4217;
BgL_len2331z00_4217 = 
(int)(
bgl_list_length(BgL_valz00_4216)); 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1203z00_1657, BgL_len2331z00_4217))
{ /* Llib/thread.scm 400 */
return 
apply(BgL_method1203z00_1657, BgL_valz00_4216);}  else 
{ /* Llib/thread.scm 400 */
FAILURE(BGl_symbol2759z00zz__threadz00,BGl_string2729z00zz__threadz00,BGl_list2761z00zz__threadz00);} } } } } 

}



/* &thread-join! */
obj_t BGl_z62threadzd2joinz12za2zz__threadz00(obj_t BgL_envz00_3701, obj_t BgL_thz00_3702, obj_t BgL_timeoutz00_3703)
{
{ /* Llib/thread.scm 400 */
{ /* Llib/thread.scm 400 */
 BgL_threadz00_bglt BgL_auxz00_11292;
{ /* Llib/thread.scm 400 */
 bool_t BgL_test3721z00_11293;
{ /* Llib/thread.scm 400 */
 obj_t BgL_classz00_7080;
BgL_classz00_7080 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3702))
{ /* Llib/thread.scm 400 */
 BgL_objectz00_bglt BgL_arg1940z00_7082; long BgL_arg1941z00_7083;
BgL_arg1940z00_7082 = 
(BgL_objectz00_bglt)(BgL_thz00_3702); 
BgL_arg1941z00_7083 = 
BGL_CLASS_DEPTH(BgL_classz00_7080); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 400 */
 long BgL_idxz00_7091;
BgL_idxz00_7091 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7082); 
{ /* Llib/thread.scm 400 */
 obj_t BgL_arg1933z00_7092;
{ /* Llib/thread.scm 400 */
 long BgL_arg1934z00_7093;
BgL_arg1934z00_7093 = 
(BgL_idxz00_7091+BgL_arg1941z00_7083); 
BgL_arg1933z00_7092 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7093); } 
BgL_test3721z00_11293 = 
(BgL_arg1933z00_7092==BgL_classz00_7080); } }  else 
{ /* Llib/thread.scm 400 */
 bool_t BgL_res2051z00_7098;
{ /* Llib/thread.scm 400 */
 obj_t BgL_oclassz00_7102;
{ /* Llib/thread.scm 400 */
 long BgL_arg1945z00_7104;
{ /* Llib/thread.scm 400 */
 long BgL_arg1946z00_7105;
BgL_arg1946z00_7105 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7082); 
BgL_arg1945z00_7104 = 
(BgL_arg1946z00_7105-OBJECT_TYPE); } 
BgL_oclassz00_7102 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7104); } 
{ /* Llib/thread.scm 400 */
 bool_t BgL__ortest_1147z00_7111;
BgL__ortest_1147z00_7111 = 
(BgL_classz00_7080==BgL_oclassz00_7102); 
if(BgL__ortest_1147z00_7111)
{ /* Llib/thread.scm 400 */
BgL_res2051z00_7098 = BgL__ortest_1147z00_7111; }  else 
{ /* Llib/thread.scm 400 */
 long BgL_odepthz00_7112;
BgL_odepthz00_7112 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7102); 
if(
(BgL_arg1941z00_7083<BgL_odepthz00_7112))
{ /* Llib/thread.scm 400 */
 obj_t BgL_arg1935z00_7116;
BgL_arg1935z00_7116 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7102, BgL_arg1941z00_7083); 
BgL_res2051z00_7098 = 
(BgL_arg1935z00_7116==BgL_classz00_7080); }  else 
{ /* Llib/thread.scm 400 */
BgL_res2051z00_7098 = ((bool_t)0); } } } } 
BgL_test3721z00_11293 = BgL_res2051z00_7098; } }  else 
{ /* Llib/thread.scm 400 */
BgL_test3721z00_11293 = ((bool_t)0)
; } } 
if(BgL_test3721z00_11293)
{ /* Llib/thread.scm 400 */
BgL_auxz00_11292 = 
((BgL_threadz00_bglt)BgL_thz00_3702)
; }  else 
{ 
 obj_t BgL_auxz00_11315;
BgL_auxz00_11315 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(16694L), BGl_string2773z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3702); 
FAILURE(BgL_auxz00_11315,BFALSE,BFALSE);} } 
return 
BGl_threadzd2joinz12zc0zz__threadz00(BgL_auxz00_11292, BgL_timeoutz00_3703);} } 

}



/* thread-terminate! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2terminatez12zc0zz__threadz00(BgL_threadz00_bglt BgL_thz00_32)
{
{ /* Llib/thread.scm 405 */
{ /* Llib/thread.scm 405 */
 obj_t BgL_method1205z00_1659;
{ /* Llib/thread.scm 405 */
 obj_t BgL_res1998z00_2751;
{ /* Llib/thread.scm 405 */
 long BgL_objzd2classzd2numz00_2722;
BgL_objzd2classzd2numz00_2722 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_32)); 
{ /* Llib/thread.scm 405 */
 obj_t BgL_arg1942z00_2723;
BgL_arg1942z00_2723 = 
PROCEDURE_REF(BGl_threadzd2terminatez12zd2envz12zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 405 */
 int BgL_offsetz00_2726;
BgL_offsetz00_2726 = 
(int)(BgL_objzd2classzd2numz00_2722); 
{ /* Llib/thread.scm 405 */
 long BgL_offsetz00_2727;
BgL_offsetz00_2727 = 
(
(long)(BgL_offsetz00_2726)-OBJECT_TYPE); 
{ /* Llib/thread.scm 405 */
 long BgL_modz00_2728;
BgL_modz00_2728 = 
(BgL_offsetz00_2727 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 405 */
 long BgL_restz00_2730;
BgL_restz00_2730 = 
(BgL_offsetz00_2727 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 405 */

{ /* Llib/thread.scm 405 */
 obj_t BgL_bucketz00_2732;
BgL_bucketz00_2732 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2723),BgL_modz00_2728); 
BgL_res1998z00_2751 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2732),BgL_restz00_2730); } } } } } } } } 
BgL_method1205z00_1659 = BgL_res1998z00_2751; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1205z00_1659, 1L))
{ /* Llib/thread.scm 405 */
return 
(VA_PROCEDUREP( BgL_method1205z00_1659 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1205z00_1659))(BgL_method1205z00_1659, 
((obj_t)BgL_thz00_32), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1205z00_1659))(BgL_method1205z00_1659, 
((obj_t)BgL_thz00_32)) );}  else 
{ /* Llib/thread.scm 405 */
FAILURE(BGl_string2774z00zz__threadz00,BGl_list2775z00zz__threadz00,BgL_method1205z00_1659);} } } 

}



/* &thread-terminate! */
obj_t BGl_z62threadzd2terminatez12za2zz__threadz00(obj_t BgL_envz00_3704, obj_t BgL_thz00_3705)
{
{ /* Llib/thread.scm 405 */
{ /* Llib/thread.scm 405 */
 BgL_threadz00_bglt BgL_auxz00_11353;
{ /* Llib/thread.scm 405 */
 bool_t BgL_test3727z00_11354;
{ /* Llib/thread.scm 405 */
 obj_t BgL_classz00_7117;
BgL_classz00_7117 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3705))
{ /* Llib/thread.scm 405 */
 BgL_objectz00_bglt BgL_arg1940z00_7119; long BgL_arg1941z00_7120;
BgL_arg1940z00_7119 = 
(BgL_objectz00_bglt)(BgL_thz00_3705); 
BgL_arg1941z00_7120 = 
BGL_CLASS_DEPTH(BgL_classz00_7117); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 405 */
 long BgL_idxz00_7128;
BgL_idxz00_7128 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7119); 
{ /* Llib/thread.scm 405 */
 obj_t BgL_arg1933z00_7129;
{ /* Llib/thread.scm 405 */
 long BgL_arg1934z00_7130;
BgL_arg1934z00_7130 = 
(BgL_idxz00_7128+BgL_arg1941z00_7120); 
BgL_arg1933z00_7129 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7130); } 
BgL_test3727z00_11354 = 
(BgL_arg1933z00_7129==BgL_classz00_7117); } }  else 
{ /* Llib/thread.scm 405 */
 bool_t BgL_res2051z00_7135;
{ /* Llib/thread.scm 405 */
 obj_t BgL_oclassz00_7139;
{ /* Llib/thread.scm 405 */
 long BgL_arg1945z00_7141;
{ /* Llib/thread.scm 405 */
 long BgL_arg1946z00_7142;
BgL_arg1946z00_7142 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7119); 
BgL_arg1945z00_7141 = 
(BgL_arg1946z00_7142-OBJECT_TYPE); } 
BgL_oclassz00_7139 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7141); } 
{ /* Llib/thread.scm 405 */
 bool_t BgL__ortest_1147z00_7148;
BgL__ortest_1147z00_7148 = 
(BgL_classz00_7117==BgL_oclassz00_7139); 
if(BgL__ortest_1147z00_7148)
{ /* Llib/thread.scm 405 */
BgL_res2051z00_7135 = BgL__ortest_1147z00_7148; }  else 
{ /* Llib/thread.scm 405 */
 long BgL_odepthz00_7149;
BgL_odepthz00_7149 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7139); 
if(
(BgL_arg1941z00_7120<BgL_odepthz00_7149))
{ /* Llib/thread.scm 405 */
 obj_t BgL_arg1935z00_7153;
BgL_arg1935z00_7153 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7139, BgL_arg1941z00_7120); 
BgL_res2051z00_7135 = 
(BgL_arg1935z00_7153==BgL_classz00_7117); }  else 
{ /* Llib/thread.scm 405 */
BgL_res2051z00_7135 = ((bool_t)0); } } } } 
BgL_test3727z00_11354 = BgL_res2051z00_7135; } }  else 
{ /* Llib/thread.scm 405 */
BgL_test3727z00_11354 = ((bool_t)0)
; } } 
if(BgL_test3727z00_11354)
{ /* Llib/thread.scm 405 */
BgL_auxz00_11353 = 
((BgL_threadz00_bglt)BgL_thz00_3705)
; }  else 
{ 
 obj_t BgL_auxz00_11376;
BgL_auxz00_11376 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(16970L), BGl_string2778z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3705); 
FAILURE(BgL_auxz00_11376,BFALSE,BFALSE);} } 
return 
BGl_threadzd2terminatez12zc0zz__threadz00(BgL_auxz00_11353);} } 

}



/* thread-kill! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2killz12zc0zz__threadz00(BgL_threadz00_bglt BgL_thz00_33, int BgL_nz00_34)
{
{ /* Llib/thread.scm 410 */
{ /* Llib/thread.scm 410 */
 obj_t BgL_method1207z00_1660;
{ /* Llib/thread.scm 410 */
 obj_t BgL_res2003z00_2782;
{ /* Llib/thread.scm 410 */
 long BgL_objzd2classzd2numz00_2753;
BgL_objzd2classzd2numz00_2753 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_33)); 
{ /* Llib/thread.scm 410 */
 obj_t BgL_arg1942z00_2754;
BgL_arg1942z00_2754 = 
PROCEDURE_REF(BGl_threadzd2killz12zd2envz12zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 410 */
 int BgL_offsetz00_2757;
BgL_offsetz00_2757 = 
(int)(BgL_objzd2classzd2numz00_2753); 
{ /* Llib/thread.scm 410 */
 long BgL_offsetz00_2758;
BgL_offsetz00_2758 = 
(
(long)(BgL_offsetz00_2757)-OBJECT_TYPE); 
{ /* Llib/thread.scm 410 */
 long BgL_modz00_2759;
BgL_modz00_2759 = 
(BgL_offsetz00_2758 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 410 */
 long BgL_restz00_2761;
BgL_restz00_2761 = 
(BgL_offsetz00_2758 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 410 */

{ /* Llib/thread.scm 410 */
 obj_t BgL_bucketz00_2763;
BgL_bucketz00_2763 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2754),BgL_modz00_2759); 
BgL_res2003z00_2782 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2763),BgL_restz00_2761); } } } } } } } } 
BgL_method1207z00_1660 = BgL_res2003z00_2782; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1207z00_1660, 2L))
{ /* Llib/thread.scm 410 */
return 
(VA_PROCEDUREP( BgL_method1207z00_1660 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1207z00_1660))(BgL_method1207z00_1660, 
((obj_t)BgL_thz00_33), 
BINT(BgL_nz00_34), BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1207z00_1660))(BgL_method1207z00_1660, 
((obj_t)BgL_thz00_33), 
BINT(BgL_nz00_34)) );}  else 
{ /* Llib/thread.scm 410 */
FAILURE(BGl_string2779z00zz__threadz00,BGl_list2780z00zz__threadz00,BgL_method1207z00_1660);} } } 

}



/* &thread-kill! */
obj_t BGl_z62threadzd2killz12za2zz__threadz00(obj_t BgL_envz00_3706, obj_t BgL_thz00_3707, obj_t BgL_nz00_3708)
{
{ /* Llib/thread.scm 410 */
{ /* Llib/thread.scm 410 */
 int BgL_auxz00_11443; BgL_threadz00_bglt BgL_auxz00_11416;
{ /* Llib/thread.scm 410 */
 obj_t BgL_tmpz00_11444;
if(
INTEGERP(BgL_nz00_3708))
{ /* Llib/thread.scm 410 */
BgL_tmpz00_11444 = BgL_nz00_3708
; }  else 
{ 
 obj_t BgL_auxz00_11447;
BgL_auxz00_11447 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(17241L), BGl_string2785z00zz__threadz00, BGl_string2483z00zz__threadz00, BgL_nz00_3708); 
FAILURE(BgL_auxz00_11447,BFALSE,BFALSE);} 
BgL_auxz00_11443 = 
CINT(BgL_tmpz00_11444); } 
{ /* Llib/thread.scm 410 */
 bool_t BgL_test3733z00_11417;
{ /* Llib/thread.scm 410 */
 obj_t BgL_classz00_7154;
BgL_classz00_7154 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3707))
{ /* Llib/thread.scm 410 */
 BgL_objectz00_bglt BgL_arg1940z00_7156; long BgL_arg1941z00_7157;
BgL_arg1940z00_7156 = 
(BgL_objectz00_bglt)(BgL_thz00_3707); 
BgL_arg1941z00_7157 = 
BGL_CLASS_DEPTH(BgL_classz00_7154); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 410 */
 long BgL_idxz00_7165;
BgL_idxz00_7165 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7156); 
{ /* Llib/thread.scm 410 */
 obj_t BgL_arg1933z00_7166;
{ /* Llib/thread.scm 410 */
 long BgL_arg1934z00_7167;
BgL_arg1934z00_7167 = 
(BgL_idxz00_7165+BgL_arg1941z00_7157); 
BgL_arg1933z00_7166 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7167); } 
BgL_test3733z00_11417 = 
(BgL_arg1933z00_7166==BgL_classz00_7154); } }  else 
{ /* Llib/thread.scm 410 */
 bool_t BgL_res2051z00_7172;
{ /* Llib/thread.scm 410 */
 obj_t BgL_oclassz00_7176;
{ /* Llib/thread.scm 410 */
 long BgL_arg1945z00_7178;
{ /* Llib/thread.scm 410 */
 long BgL_arg1946z00_7179;
BgL_arg1946z00_7179 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7156); 
BgL_arg1945z00_7178 = 
(BgL_arg1946z00_7179-OBJECT_TYPE); } 
BgL_oclassz00_7176 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7178); } 
{ /* Llib/thread.scm 410 */
 bool_t BgL__ortest_1147z00_7185;
BgL__ortest_1147z00_7185 = 
(BgL_classz00_7154==BgL_oclassz00_7176); 
if(BgL__ortest_1147z00_7185)
{ /* Llib/thread.scm 410 */
BgL_res2051z00_7172 = BgL__ortest_1147z00_7185; }  else 
{ /* Llib/thread.scm 410 */
 long BgL_odepthz00_7186;
BgL_odepthz00_7186 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7176); 
if(
(BgL_arg1941z00_7157<BgL_odepthz00_7186))
{ /* Llib/thread.scm 410 */
 obj_t BgL_arg1935z00_7190;
BgL_arg1935z00_7190 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7176, BgL_arg1941z00_7157); 
BgL_res2051z00_7172 = 
(BgL_arg1935z00_7190==BgL_classz00_7154); }  else 
{ /* Llib/thread.scm 410 */
BgL_res2051z00_7172 = ((bool_t)0); } } } } 
BgL_test3733z00_11417 = BgL_res2051z00_7172; } }  else 
{ /* Llib/thread.scm 410 */
BgL_test3733z00_11417 = ((bool_t)0)
; } } 
if(BgL_test3733z00_11417)
{ /* Llib/thread.scm 410 */
BgL_auxz00_11416 = 
((BgL_threadz00_bglt)BgL_thz00_3707)
; }  else 
{ 
 obj_t BgL_auxz00_11439;
BgL_auxz00_11439 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(17241L), BGl_string2785z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3707); 
FAILURE(BgL_auxz00_11439,BFALSE,BFALSE);} } 
return 
BGl_threadzd2killz12zc0zz__threadz00(BgL_auxz00_11416, BgL_auxz00_11443);} } 

}



/* thread-specific */
BGL_EXPORTED_DEF obj_t BGl_threadzd2specificzd2zz__threadz00(BgL_threadz00_bglt BgL_thz00_35)
{
{ /* Llib/thread.scm 415 */
{ /* Llib/thread.scm 415 */
 obj_t BgL_method1209z00_1661;
{ /* Llib/thread.scm 415 */
 obj_t BgL_res2008z00_2813;
{ /* Llib/thread.scm 415 */
 long BgL_objzd2classzd2numz00_2784;
BgL_objzd2classzd2numz00_2784 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_35)); 
{ /* Llib/thread.scm 415 */
 obj_t BgL_arg1942z00_2785;
BgL_arg1942z00_2785 = 
PROCEDURE_REF(BGl_threadzd2specificzd2envz00zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 415 */
 int BgL_offsetz00_2788;
BgL_offsetz00_2788 = 
(int)(BgL_objzd2classzd2numz00_2784); 
{ /* Llib/thread.scm 415 */
 long BgL_offsetz00_2789;
BgL_offsetz00_2789 = 
(
(long)(BgL_offsetz00_2788)-OBJECT_TYPE); 
{ /* Llib/thread.scm 415 */
 long BgL_modz00_2790;
BgL_modz00_2790 = 
(BgL_offsetz00_2789 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 415 */
 long BgL_restz00_2792;
BgL_restz00_2792 = 
(BgL_offsetz00_2789 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 415 */

{ /* Llib/thread.scm 415 */
 obj_t BgL_bucketz00_2794;
BgL_bucketz00_2794 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2785),BgL_modz00_2790); 
BgL_res2008z00_2813 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2794),BgL_restz00_2792); } } } } } } } } 
BgL_method1209z00_1661 = BgL_res2008z00_2813; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1209z00_1661, 1L))
{ /* Llib/thread.scm 415 */
return 
(VA_PROCEDUREP( BgL_method1209z00_1661 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1209z00_1661))(BgL_method1209z00_1661, 
((obj_t)BgL_thz00_35), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1209z00_1661))(BgL_method1209z00_1661, 
((obj_t)BgL_thz00_35)) );}  else 
{ /* Llib/thread.scm 415 */
FAILURE(BGl_string2786z00zz__threadz00,BGl_list2787z00zz__threadz00,BgL_method1209z00_1661);} } } 

}



/* &thread-specific */
obj_t BGl_z62threadzd2specificzb0zz__threadz00(obj_t BgL_envz00_3709, obj_t BgL_thz00_3710)
{
{ /* Llib/thread.scm 415 */
{ /* Llib/thread.scm 415 */
 BgL_threadz00_bglt BgL_auxz00_11486;
{ /* Llib/thread.scm 415 */
 bool_t BgL_test3740z00_11487;
{ /* Llib/thread.scm 415 */
 obj_t BgL_classz00_7191;
BgL_classz00_7191 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3710))
{ /* Llib/thread.scm 415 */
 BgL_objectz00_bglt BgL_arg1940z00_7193; long BgL_arg1941z00_7194;
BgL_arg1940z00_7193 = 
(BgL_objectz00_bglt)(BgL_thz00_3710); 
BgL_arg1941z00_7194 = 
BGL_CLASS_DEPTH(BgL_classz00_7191); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 415 */
 long BgL_idxz00_7202;
BgL_idxz00_7202 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7193); 
{ /* Llib/thread.scm 415 */
 obj_t BgL_arg1933z00_7203;
{ /* Llib/thread.scm 415 */
 long BgL_arg1934z00_7204;
BgL_arg1934z00_7204 = 
(BgL_idxz00_7202+BgL_arg1941z00_7194); 
BgL_arg1933z00_7203 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7204); } 
BgL_test3740z00_11487 = 
(BgL_arg1933z00_7203==BgL_classz00_7191); } }  else 
{ /* Llib/thread.scm 415 */
 bool_t BgL_res2051z00_7209;
{ /* Llib/thread.scm 415 */
 obj_t BgL_oclassz00_7213;
{ /* Llib/thread.scm 415 */
 long BgL_arg1945z00_7215;
{ /* Llib/thread.scm 415 */
 long BgL_arg1946z00_7216;
BgL_arg1946z00_7216 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7193); 
BgL_arg1945z00_7215 = 
(BgL_arg1946z00_7216-OBJECT_TYPE); } 
BgL_oclassz00_7213 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7215); } 
{ /* Llib/thread.scm 415 */
 bool_t BgL__ortest_1147z00_7222;
BgL__ortest_1147z00_7222 = 
(BgL_classz00_7191==BgL_oclassz00_7213); 
if(BgL__ortest_1147z00_7222)
{ /* Llib/thread.scm 415 */
BgL_res2051z00_7209 = BgL__ortest_1147z00_7222; }  else 
{ /* Llib/thread.scm 415 */
 long BgL_odepthz00_7223;
BgL_odepthz00_7223 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7213); 
if(
(BgL_arg1941z00_7194<BgL_odepthz00_7223))
{ /* Llib/thread.scm 415 */
 obj_t BgL_arg1935z00_7227;
BgL_arg1935z00_7227 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7213, BgL_arg1941z00_7194); 
BgL_res2051z00_7209 = 
(BgL_arg1935z00_7227==BgL_classz00_7191); }  else 
{ /* Llib/thread.scm 415 */
BgL_res2051z00_7209 = ((bool_t)0); } } } } 
BgL_test3740z00_11487 = BgL_res2051z00_7209; } }  else 
{ /* Llib/thread.scm 415 */
BgL_test3740z00_11487 = ((bool_t)0)
; } } 
if(BgL_test3740z00_11487)
{ /* Llib/thread.scm 415 */
BgL_auxz00_11486 = 
((BgL_threadz00_bglt)BgL_thz00_3710)
; }  else 
{ 
 obj_t BgL_auxz00_11509;
BgL_auxz00_11509 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(17514L), BGl_string2790z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3710); 
FAILURE(BgL_auxz00_11509,BFALSE,BFALSE);} } 
return 
BGl_threadzd2specificzd2zz__threadz00(BgL_auxz00_11486);} } 

}



/* thread-specific-set! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2specificzd2setz12z12zz__threadz00(BgL_threadz00_bglt BgL_thz00_36, obj_t BgL_vz00_37)
{
{ /* Llib/thread.scm 420 */
{ /* Llib/thread.scm 420 */
 obj_t BgL_method1212z00_1662;
{ /* Llib/thread.scm 420 */
 obj_t BgL_res2013z00_2844;
{ /* Llib/thread.scm 420 */
 long BgL_objzd2classzd2numz00_2815;
BgL_objzd2classzd2numz00_2815 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_36)); 
{ /* Llib/thread.scm 420 */
 obj_t BgL_arg1942z00_2816;
BgL_arg1942z00_2816 = 
PROCEDURE_REF(BGl_threadzd2specificzd2setz12zd2envzc0zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 420 */
 int BgL_offsetz00_2819;
BgL_offsetz00_2819 = 
(int)(BgL_objzd2classzd2numz00_2815); 
{ /* Llib/thread.scm 420 */
 long BgL_offsetz00_2820;
BgL_offsetz00_2820 = 
(
(long)(BgL_offsetz00_2819)-OBJECT_TYPE); 
{ /* Llib/thread.scm 420 */
 long BgL_modz00_2821;
BgL_modz00_2821 = 
(BgL_offsetz00_2820 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 420 */
 long BgL_restz00_2823;
BgL_restz00_2823 = 
(BgL_offsetz00_2820 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 420 */

{ /* Llib/thread.scm 420 */
 obj_t BgL_bucketz00_2825;
BgL_bucketz00_2825 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2816),BgL_modz00_2821); 
BgL_res2013z00_2844 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2825),BgL_restz00_2823); } } } } } } } } 
BgL_method1212z00_1662 = BgL_res2013z00_2844; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1212z00_1662, 2L))
{ /* Llib/thread.scm 420 */
return 
(VA_PROCEDUREP( BgL_method1212z00_1662 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1212z00_1662))(BgL_method1212z00_1662, 
((obj_t)BgL_thz00_36), BgL_vz00_37, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1212z00_1662))(BgL_method1212z00_1662, 
((obj_t)BgL_thz00_36), BgL_vz00_37) );}  else 
{ /* Llib/thread.scm 420 */
FAILURE(BGl_string2791z00zz__threadz00,BGl_list2792z00zz__threadz00,BgL_method1212z00_1662);} } } 

}



/* &thread-specific-set! */
obj_t BGl_z62threadzd2specificzd2setz12z70zz__threadz00(obj_t BgL_envz00_3711, obj_t BgL_thz00_3712, obj_t BgL_vz00_3713)
{
{ /* Llib/thread.scm 420 */
{ /* Llib/thread.scm 420 */
 BgL_threadz00_bglt BgL_auxz00_11548;
{ /* Llib/thread.scm 420 */
 bool_t BgL_test3746z00_11549;
{ /* Llib/thread.scm 420 */
 obj_t BgL_classz00_7228;
BgL_classz00_7228 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3712))
{ /* Llib/thread.scm 420 */
 BgL_objectz00_bglt BgL_arg1940z00_7230; long BgL_arg1941z00_7231;
BgL_arg1940z00_7230 = 
(BgL_objectz00_bglt)(BgL_thz00_3712); 
BgL_arg1941z00_7231 = 
BGL_CLASS_DEPTH(BgL_classz00_7228); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 420 */
 long BgL_idxz00_7239;
BgL_idxz00_7239 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7230); 
{ /* Llib/thread.scm 420 */
 obj_t BgL_arg1933z00_7240;
{ /* Llib/thread.scm 420 */
 long BgL_arg1934z00_7241;
BgL_arg1934z00_7241 = 
(BgL_idxz00_7239+BgL_arg1941z00_7231); 
BgL_arg1933z00_7240 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7241); } 
BgL_test3746z00_11549 = 
(BgL_arg1933z00_7240==BgL_classz00_7228); } }  else 
{ /* Llib/thread.scm 420 */
 bool_t BgL_res2051z00_7246;
{ /* Llib/thread.scm 420 */
 obj_t BgL_oclassz00_7250;
{ /* Llib/thread.scm 420 */
 long BgL_arg1945z00_7252;
{ /* Llib/thread.scm 420 */
 long BgL_arg1946z00_7253;
BgL_arg1946z00_7253 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7230); 
BgL_arg1945z00_7252 = 
(BgL_arg1946z00_7253-OBJECT_TYPE); } 
BgL_oclassz00_7250 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7252); } 
{ /* Llib/thread.scm 420 */
 bool_t BgL__ortest_1147z00_7259;
BgL__ortest_1147z00_7259 = 
(BgL_classz00_7228==BgL_oclassz00_7250); 
if(BgL__ortest_1147z00_7259)
{ /* Llib/thread.scm 420 */
BgL_res2051z00_7246 = BgL__ortest_1147z00_7259; }  else 
{ /* Llib/thread.scm 420 */
 long BgL_odepthz00_7260;
BgL_odepthz00_7260 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7250); 
if(
(BgL_arg1941z00_7231<BgL_odepthz00_7260))
{ /* Llib/thread.scm 420 */
 obj_t BgL_arg1935z00_7264;
BgL_arg1935z00_7264 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7250, BgL_arg1941z00_7231); 
BgL_res2051z00_7246 = 
(BgL_arg1935z00_7264==BgL_classz00_7228); }  else 
{ /* Llib/thread.scm 420 */
BgL_res2051z00_7246 = ((bool_t)0); } } } } 
BgL_test3746z00_11549 = BgL_res2051z00_7246; } }  else 
{ /* Llib/thread.scm 420 */
BgL_test3746z00_11549 = ((bool_t)0)
; } } 
if(BgL_test3746z00_11549)
{ /* Llib/thread.scm 420 */
BgL_auxz00_11548 = 
((BgL_threadz00_bglt)BgL_thz00_3712)
; }  else 
{ 
 obj_t BgL_auxz00_11571;
BgL_auxz00_11571 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(17783L), BGl_string2797z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3712); 
FAILURE(BgL_auxz00_11571,BFALSE,BFALSE);} } 
return 
BGl_threadzd2specificzd2setz12z12zz__threadz00(BgL_auxz00_11548, BgL_vz00_3713);} } 

}



/* thread-cleanup */
BGL_EXPORTED_DEF obj_t BGl_threadzd2cleanupzd2zz__threadz00(BgL_threadz00_bglt BgL_thz00_38)
{
{ /* Llib/thread.scm 425 */
{ /* Llib/thread.scm 425 */
 obj_t BgL_method1214z00_1663;
{ /* Llib/thread.scm 425 */
 obj_t BgL_res2018z00_2875;
{ /* Llib/thread.scm 425 */
 long BgL_objzd2classzd2numz00_2846;
BgL_objzd2classzd2numz00_2846 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_38)); 
{ /* Llib/thread.scm 425 */
 obj_t BgL_arg1942z00_2847;
BgL_arg1942z00_2847 = 
PROCEDURE_REF(BGl_threadzd2cleanupzd2envz00zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 425 */
 int BgL_offsetz00_2850;
BgL_offsetz00_2850 = 
(int)(BgL_objzd2classzd2numz00_2846); 
{ /* Llib/thread.scm 425 */
 long BgL_offsetz00_2851;
BgL_offsetz00_2851 = 
(
(long)(BgL_offsetz00_2850)-OBJECT_TYPE); 
{ /* Llib/thread.scm 425 */
 long BgL_modz00_2852;
BgL_modz00_2852 = 
(BgL_offsetz00_2851 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 425 */
 long BgL_restz00_2854;
BgL_restz00_2854 = 
(BgL_offsetz00_2851 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 425 */

{ /* Llib/thread.scm 425 */
 obj_t BgL_bucketz00_2856;
BgL_bucketz00_2856 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2847),BgL_modz00_2852); 
BgL_res2018z00_2875 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2856),BgL_restz00_2854); } } } } } } } } 
BgL_method1214z00_1663 = BgL_res2018z00_2875; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1214z00_1663, 1L))
{ /* Llib/thread.scm 425 */
return 
(VA_PROCEDUREP( BgL_method1214z00_1663 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1214z00_1663))(BgL_method1214z00_1663, 
((obj_t)BgL_thz00_38), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1214z00_1663))(BgL_method1214z00_1663, 
((obj_t)BgL_thz00_38)) );}  else 
{ /* Llib/thread.scm 425 */
FAILURE(BGl_string2798z00zz__threadz00,BGl_list2799z00zz__threadz00,BgL_method1214z00_1663);} } } 

}



/* &thread-cleanup */
obj_t BGl_z62threadzd2cleanupzb0zz__threadz00(obj_t BgL_envz00_3714, obj_t BgL_thz00_3715)
{
{ /* Llib/thread.scm 425 */
{ /* Llib/thread.scm 425 */
 BgL_threadz00_bglt BgL_auxz00_11609;
{ /* Llib/thread.scm 425 */
 bool_t BgL_test3752z00_11610;
{ /* Llib/thread.scm 425 */
 obj_t BgL_classz00_7265;
BgL_classz00_7265 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3715))
{ /* Llib/thread.scm 425 */
 BgL_objectz00_bglt BgL_arg1940z00_7267; long BgL_arg1941z00_7268;
BgL_arg1940z00_7267 = 
(BgL_objectz00_bglt)(BgL_thz00_3715); 
BgL_arg1941z00_7268 = 
BGL_CLASS_DEPTH(BgL_classz00_7265); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 425 */
 long BgL_idxz00_7276;
BgL_idxz00_7276 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7267); 
{ /* Llib/thread.scm 425 */
 obj_t BgL_arg1933z00_7277;
{ /* Llib/thread.scm 425 */
 long BgL_arg1934z00_7278;
BgL_arg1934z00_7278 = 
(BgL_idxz00_7276+BgL_arg1941z00_7268); 
BgL_arg1933z00_7277 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7278); } 
BgL_test3752z00_11610 = 
(BgL_arg1933z00_7277==BgL_classz00_7265); } }  else 
{ /* Llib/thread.scm 425 */
 bool_t BgL_res2051z00_7283;
{ /* Llib/thread.scm 425 */
 obj_t BgL_oclassz00_7287;
{ /* Llib/thread.scm 425 */
 long BgL_arg1945z00_7289;
{ /* Llib/thread.scm 425 */
 long BgL_arg1946z00_7290;
BgL_arg1946z00_7290 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7267); 
BgL_arg1945z00_7289 = 
(BgL_arg1946z00_7290-OBJECT_TYPE); } 
BgL_oclassz00_7287 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7289); } 
{ /* Llib/thread.scm 425 */
 bool_t BgL__ortest_1147z00_7296;
BgL__ortest_1147z00_7296 = 
(BgL_classz00_7265==BgL_oclassz00_7287); 
if(BgL__ortest_1147z00_7296)
{ /* Llib/thread.scm 425 */
BgL_res2051z00_7283 = BgL__ortest_1147z00_7296; }  else 
{ /* Llib/thread.scm 425 */
 long BgL_odepthz00_7297;
BgL_odepthz00_7297 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7287); 
if(
(BgL_arg1941z00_7268<BgL_odepthz00_7297))
{ /* Llib/thread.scm 425 */
 obj_t BgL_arg1935z00_7301;
BgL_arg1935z00_7301 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7287, BgL_arg1941z00_7268); 
BgL_res2051z00_7283 = 
(BgL_arg1935z00_7301==BgL_classz00_7265); }  else 
{ /* Llib/thread.scm 425 */
BgL_res2051z00_7283 = ((bool_t)0); } } } } 
BgL_test3752z00_11610 = BgL_res2051z00_7283; } }  else 
{ /* Llib/thread.scm 425 */
BgL_test3752z00_11610 = ((bool_t)0)
; } } 
if(BgL_test3752z00_11610)
{ /* Llib/thread.scm 425 */
BgL_auxz00_11609 = 
((BgL_threadz00_bglt)BgL_thz00_3715)
; }  else 
{ 
 obj_t BgL_auxz00_11632;
BgL_auxz00_11632 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18064L), BGl_string2802z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3715); 
FAILURE(BgL_auxz00_11632,BFALSE,BFALSE);} } 
return 
BGl_threadzd2cleanupzd2zz__threadz00(BgL_auxz00_11609);} } 

}



/* thread-cleanup-set! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2cleanupzd2setz12z12zz__threadz00(BgL_threadz00_bglt BgL_thz00_39, obj_t BgL_vz00_40)
{
{ /* Llib/thread.scm 430 */
{ /* Llib/thread.scm 430 */
 obj_t BgL_method1216z00_1664;
{ /* Llib/thread.scm 430 */
 obj_t BgL_res2023z00_2906;
{ /* Llib/thread.scm 430 */
 long BgL_objzd2classzd2numz00_2877;
BgL_objzd2classzd2numz00_2877 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_39)); 
{ /* Llib/thread.scm 430 */
 obj_t BgL_arg1942z00_2878;
BgL_arg1942z00_2878 = 
PROCEDURE_REF(BGl_threadzd2cleanupzd2setz12zd2envzc0zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 430 */
 int BgL_offsetz00_2881;
BgL_offsetz00_2881 = 
(int)(BgL_objzd2classzd2numz00_2877); 
{ /* Llib/thread.scm 430 */
 long BgL_offsetz00_2882;
BgL_offsetz00_2882 = 
(
(long)(BgL_offsetz00_2881)-OBJECT_TYPE); 
{ /* Llib/thread.scm 430 */
 long BgL_modz00_2883;
BgL_modz00_2883 = 
(BgL_offsetz00_2882 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 430 */
 long BgL_restz00_2885;
BgL_restz00_2885 = 
(BgL_offsetz00_2882 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 430 */

{ /* Llib/thread.scm 430 */
 obj_t BgL_bucketz00_2887;
BgL_bucketz00_2887 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2878),BgL_modz00_2883); 
BgL_res2023z00_2906 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2887),BgL_restz00_2885); } } } } } } } } 
BgL_method1216z00_1664 = BgL_res2023z00_2906; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1216z00_1664, 2L))
{ /* Llib/thread.scm 430 */
return 
(VA_PROCEDUREP( BgL_method1216z00_1664 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1216z00_1664))(BgL_method1216z00_1664, 
((obj_t)BgL_thz00_39), BgL_vz00_40, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1216z00_1664))(BgL_method1216z00_1664, 
((obj_t)BgL_thz00_39), BgL_vz00_40) );}  else 
{ /* Llib/thread.scm 430 */
FAILURE(BGl_string2803z00zz__threadz00,BGl_list2804z00zz__threadz00,BgL_method1216z00_1664);} } } 

}



/* &thread-cleanup-set! */
obj_t BGl_z62threadzd2cleanupzd2setz12z70zz__threadz00(obj_t BgL_envz00_3716, obj_t BgL_thz00_3717, obj_t BgL_vz00_3718)
{
{ /* Llib/thread.scm 430 */
{ /* Llib/thread.scm 430 */
 BgL_threadz00_bglt BgL_auxz00_11671;
{ /* Llib/thread.scm 430 */
 bool_t BgL_test3758z00_11672;
{ /* Llib/thread.scm 430 */
 obj_t BgL_classz00_7302;
BgL_classz00_7302 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3717))
{ /* Llib/thread.scm 430 */
 BgL_objectz00_bglt BgL_arg1940z00_7304; long BgL_arg1941z00_7305;
BgL_arg1940z00_7304 = 
(BgL_objectz00_bglt)(BgL_thz00_3717); 
BgL_arg1941z00_7305 = 
BGL_CLASS_DEPTH(BgL_classz00_7302); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 430 */
 long BgL_idxz00_7313;
BgL_idxz00_7313 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7304); 
{ /* Llib/thread.scm 430 */
 obj_t BgL_arg1933z00_7314;
{ /* Llib/thread.scm 430 */
 long BgL_arg1934z00_7315;
BgL_arg1934z00_7315 = 
(BgL_idxz00_7313+BgL_arg1941z00_7305); 
BgL_arg1933z00_7314 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7315); } 
BgL_test3758z00_11672 = 
(BgL_arg1933z00_7314==BgL_classz00_7302); } }  else 
{ /* Llib/thread.scm 430 */
 bool_t BgL_res2051z00_7320;
{ /* Llib/thread.scm 430 */
 obj_t BgL_oclassz00_7324;
{ /* Llib/thread.scm 430 */
 long BgL_arg1945z00_7326;
{ /* Llib/thread.scm 430 */
 long BgL_arg1946z00_7327;
BgL_arg1946z00_7327 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7304); 
BgL_arg1945z00_7326 = 
(BgL_arg1946z00_7327-OBJECT_TYPE); } 
BgL_oclassz00_7324 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7326); } 
{ /* Llib/thread.scm 430 */
 bool_t BgL__ortest_1147z00_7333;
BgL__ortest_1147z00_7333 = 
(BgL_classz00_7302==BgL_oclassz00_7324); 
if(BgL__ortest_1147z00_7333)
{ /* Llib/thread.scm 430 */
BgL_res2051z00_7320 = BgL__ortest_1147z00_7333; }  else 
{ /* Llib/thread.scm 430 */
 long BgL_odepthz00_7334;
BgL_odepthz00_7334 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7324); 
if(
(BgL_arg1941z00_7305<BgL_odepthz00_7334))
{ /* Llib/thread.scm 430 */
 obj_t BgL_arg1935z00_7338;
BgL_arg1935z00_7338 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7324, BgL_arg1941z00_7305); 
BgL_res2051z00_7320 = 
(BgL_arg1935z00_7338==BgL_classz00_7302); }  else 
{ /* Llib/thread.scm 430 */
BgL_res2051z00_7320 = ((bool_t)0); } } } } 
BgL_test3758z00_11672 = BgL_res2051z00_7320; } }  else 
{ /* Llib/thread.scm 430 */
BgL_test3758z00_11672 = ((bool_t)0)
; } } 
if(BgL_test3758z00_11672)
{ /* Llib/thread.scm 430 */
BgL_auxz00_11671 = 
((BgL_threadz00_bglt)BgL_thz00_3717)
; }  else 
{ 
 obj_t BgL_auxz00_11694;
BgL_auxz00_11694 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18332L), BGl_string2807z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3717); 
FAILURE(BgL_auxz00_11694,BFALSE,BFALSE);} } 
return 
BGl_threadzd2cleanupzd2setz12z12zz__threadz00(BgL_auxz00_11671, BgL_vz00_3718);} } 

}



/* thread-name */
BGL_EXPORTED_DEF obj_t BGl_threadzd2namezd2zz__threadz00(BgL_threadz00_bglt BgL_thz00_41)
{
{ /* Llib/thread.scm 435 */
{ /* Llib/thread.scm 435 */
 obj_t BgL_method1218z00_1665;
{ /* Llib/thread.scm 435 */
 obj_t BgL_res2028z00_2937;
{ /* Llib/thread.scm 435 */
 long BgL_objzd2classzd2numz00_2908;
BgL_objzd2classzd2numz00_2908 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_41)); 
{ /* Llib/thread.scm 435 */
 obj_t BgL_arg1942z00_2909;
BgL_arg1942z00_2909 = 
PROCEDURE_REF(BGl_threadzd2namezd2envz00zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 435 */
 int BgL_offsetz00_2912;
BgL_offsetz00_2912 = 
(int)(BgL_objzd2classzd2numz00_2908); 
{ /* Llib/thread.scm 435 */
 long BgL_offsetz00_2913;
BgL_offsetz00_2913 = 
(
(long)(BgL_offsetz00_2912)-OBJECT_TYPE); 
{ /* Llib/thread.scm 435 */
 long BgL_modz00_2914;
BgL_modz00_2914 = 
(BgL_offsetz00_2913 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 435 */
 long BgL_restz00_2916;
BgL_restz00_2916 = 
(BgL_offsetz00_2913 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 435 */

{ /* Llib/thread.scm 435 */
 obj_t BgL_bucketz00_2918;
BgL_bucketz00_2918 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2909),BgL_modz00_2914); 
BgL_res2028z00_2937 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2918),BgL_restz00_2916); } } } } } } } } 
BgL_method1218z00_1665 = BgL_res2028z00_2937; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1218z00_1665, 1L))
{ /* Llib/thread.scm 435 */
 obj_t BgL_aux2354z00_4260;
BgL_aux2354z00_4260 = 
(VA_PROCEDUREP( BgL_method1218z00_1665 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1218z00_1665))(BgL_method1218z00_1665, 
((obj_t)BgL_thz00_41), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1218z00_1665))(BgL_method1218z00_1665, 
((obj_t)BgL_thz00_41)) ); 
if(
STRINGP(BgL_aux2354z00_4260))
{ /* Llib/thread.scm 435 */
return BgL_aux2354z00_4260;}  else 
{ 
 obj_t BgL_auxz00_11733;
BgL_auxz00_11733 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18612L), BGl_string2808z00zz__threadz00, BGl_string2449z00zz__threadz00, BgL_aux2354z00_4260); 
FAILURE(BgL_auxz00_11733,BFALSE,BFALSE);} }  else 
{ /* Llib/thread.scm 435 */
FAILURE(BGl_string2809z00zz__threadz00,BGl_list2810z00zz__threadz00,BgL_method1218z00_1665);} } } 

}



/* &thread-name */
obj_t BGl_z62threadzd2namezb0zz__threadz00(obj_t BgL_envz00_3719, obj_t BgL_thz00_3720)
{
{ /* Llib/thread.scm 435 */
{ /* Llib/thread.scm 435 */
 BgL_threadz00_bglt BgL_auxz00_11738;
{ /* Llib/thread.scm 435 */
 bool_t BgL_test3765z00_11739;
{ /* Llib/thread.scm 435 */
 obj_t BgL_classz00_7339;
BgL_classz00_7339 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3720))
{ /* Llib/thread.scm 435 */
 BgL_objectz00_bglt BgL_arg1940z00_7341; long BgL_arg1941z00_7342;
BgL_arg1940z00_7341 = 
(BgL_objectz00_bglt)(BgL_thz00_3720); 
BgL_arg1941z00_7342 = 
BGL_CLASS_DEPTH(BgL_classz00_7339); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 435 */
 long BgL_idxz00_7350;
BgL_idxz00_7350 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7341); 
{ /* Llib/thread.scm 435 */
 obj_t BgL_arg1933z00_7351;
{ /* Llib/thread.scm 435 */
 long BgL_arg1934z00_7352;
BgL_arg1934z00_7352 = 
(BgL_idxz00_7350+BgL_arg1941z00_7342); 
BgL_arg1933z00_7351 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7352); } 
BgL_test3765z00_11739 = 
(BgL_arg1933z00_7351==BgL_classz00_7339); } }  else 
{ /* Llib/thread.scm 435 */
 bool_t BgL_res2051z00_7357;
{ /* Llib/thread.scm 435 */
 obj_t BgL_oclassz00_7361;
{ /* Llib/thread.scm 435 */
 long BgL_arg1945z00_7363;
{ /* Llib/thread.scm 435 */
 long BgL_arg1946z00_7364;
BgL_arg1946z00_7364 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7341); 
BgL_arg1945z00_7363 = 
(BgL_arg1946z00_7364-OBJECT_TYPE); } 
BgL_oclassz00_7361 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7363); } 
{ /* Llib/thread.scm 435 */
 bool_t BgL__ortest_1147z00_7370;
BgL__ortest_1147z00_7370 = 
(BgL_classz00_7339==BgL_oclassz00_7361); 
if(BgL__ortest_1147z00_7370)
{ /* Llib/thread.scm 435 */
BgL_res2051z00_7357 = BgL__ortest_1147z00_7370; }  else 
{ /* Llib/thread.scm 435 */
 long BgL_odepthz00_7371;
BgL_odepthz00_7371 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7361); 
if(
(BgL_arg1941z00_7342<BgL_odepthz00_7371))
{ /* Llib/thread.scm 435 */
 obj_t BgL_arg1935z00_7375;
BgL_arg1935z00_7375 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7361, BgL_arg1941z00_7342); 
BgL_res2051z00_7357 = 
(BgL_arg1935z00_7375==BgL_classz00_7339); }  else 
{ /* Llib/thread.scm 435 */
BgL_res2051z00_7357 = ((bool_t)0); } } } } 
BgL_test3765z00_11739 = BgL_res2051z00_7357; } }  else 
{ /* Llib/thread.scm 435 */
BgL_test3765z00_11739 = ((bool_t)0)
; } } 
if(BgL_test3765z00_11739)
{ /* Llib/thread.scm 435 */
BgL_auxz00_11738 = 
((BgL_threadz00_bglt)BgL_thz00_3720)
; }  else 
{ 
 obj_t BgL_auxz00_11761;
BgL_auxz00_11761 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18612L), BGl_string2813z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3720); 
FAILURE(BgL_auxz00_11761,BFALSE,BFALSE);} } 
return 
BGl_threadzd2namezd2zz__threadz00(BgL_auxz00_11738);} } 

}



/* thread-name-set! */
BGL_EXPORTED_DEF obj_t BGl_threadzd2namezd2setz12z12zz__threadz00(BgL_threadz00_bglt BgL_thz00_42, obj_t BgL_vz00_43)
{
{ /* Llib/thread.scm 440 */
{ /* Llib/thread.scm 440 */
 obj_t BgL_method1220z00_1666;
{ /* Llib/thread.scm 440 */
 obj_t BgL_res2033z00_2968;
{ /* Llib/thread.scm 440 */
 long BgL_objzd2classzd2numz00_2939;
BgL_objzd2classzd2numz00_2939 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_thz00_42)); 
{ /* Llib/thread.scm 440 */
 obj_t BgL_arg1942z00_2940;
BgL_arg1942z00_2940 = 
PROCEDURE_REF(BGl_threadzd2namezd2setz12zd2envzc0zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 440 */
 int BgL_offsetz00_2943;
BgL_offsetz00_2943 = 
(int)(BgL_objzd2classzd2numz00_2939); 
{ /* Llib/thread.scm 440 */
 long BgL_offsetz00_2944;
BgL_offsetz00_2944 = 
(
(long)(BgL_offsetz00_2943)-OBJECT_TYPE); 
{ /* Llib/thread.scm 440 */
 long BgL_modz00_2945;
BgL_modz00_2945 = 
(BgL_offsetz00_2944 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 440 */
 long BgL_restz00_2947;
BgL_restz00_2947 = 
(BgL_offsetz00_2944 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 440 */

{ /* Llib/thread.scm 440 */
 obj_t BgL_bucketz00_2949;
BgL_bucketz00_2949 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2940),BgL_modz00_2945); 
BgL_res2033z00_2968 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2949),BgL_restz00_2947); } } } } } } } } 
BgL_method1220z00_1666 = BgL_res2033z00_2968; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1220z00_1666, 2L))
{ /* Llib/thread.scm 440 */
return 
(VA_PROCEDUREP( BgL_method1220z00_1666 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1220z00_1666))(BgL_method1220z00_1666, 
((obj_t)BgL_thz00_42), BgL_vz00_43, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1220z00_1666))(BgL_method1220z00_1666, 
((obj_t)BgL_thz00_42), BgL_vz00_43) );}  else 
{ /* Llib/thread.scm 440 */
FAILURE(BGl_string2814z00zz__threadz00,BGl_list2815z00zz__threadz00,BgL_method1220z00_1666);} } } 

}



/* &thread-name-set! */
obj_t BGl_z62threadzd2namezd2setz12z70zz__threadz00(obj_t BgL_envz00_3721, obj_t BgL_thz00_3722, obj_t BgL_vz00_3723)
{
{ /* Llib/thread.scm 440 */
{ /* Llib/thread.scm 440 */
 obj_t BgL_auxz00_11827; BgL_threadz00_bglt BgL_auxz00_11800;
if(
STRINGP(BgL_vz00_3723))
{ /* Llib/thread.scm 440 */
BgL_auxz00_11827 = BgL_vz00_3723
; }  else 
{ 
 obj_t BgL_auxz00_11830;
BgL_auxz00_11830 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18877L), BGl_string2818z00zz__threadz00, BGl_string2449z00zz__threadz00, BgL_vz00_3723); 
FAILURE(BgL_auxz00_11830,BFALSE,BFALSE);} 
{ /* Llib/thread.scm 440 */
 bool_t BgL_test3771z00_11801;
{ /* Llib/thread.scm 440 */
 obj_t BgL_classz00_7376;
BgL_classz00_7376 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3722))
{ /* Llib/thread.scm 440 */
 BgL_objectz00_bglt BgL_arg1940z00_7378; long BgL_arg1941z00_7379;
BgL_arg1940z00_7378 = 
(BgL_objectz00_bglt)(BgL_thz00_3722); 
BgL_arg1941z00_7379 = 
BGL_CLASS_DEPTH(BgL_classz00_7376); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 440 */
 long BgL_idxz00_7387;
BgL_idxz00_7387 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7378); 
{ /* Llib/thread.scm 440 */
 obj_t BgL_arg1933z00_7388;
{ /* Llib/thread.scm 440 */
 long BgL_arg1934z00_7389;
BgL_arg1934z00_7389 = 
(BgL_idxz00_7387+BgL_arg1941z00_7379); 
BgL_arg1933z00_7388 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7389); } 
BgL_test3771z00_11801 = 
(BgL_arg1933z00_7388==BgL_classz00_7376); } }  else 
{ /* Llib/thread.scm 440 */
 bool_t BgL_res2051z00_7394;
{ /* Llib/thread.scm 440 */
 obj_t BgL_oclassz00_7398;
{ /* Llib/thread.scm 440 */
 long BgL_arg1945z00_7400;
{ /* Llib/thread.scm 440 */
 long BgL_arg1946z00_7401;
BgL_arg1946z00_7401 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7378); 
BgL_arg1945z00_7400 = 
(BgL_arg1946z00_7401-OBJECT_TYPE); } 
BgL_oclassz00_7398 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7400); } 
{ /* Llib/thread.scm 440 */
 bool_t BgL__ortest_1147z00_7407;
BgL__ortest_1147z00_7407 = 
(BgL_classz00_7376==BgL_oclassz00_7398); 
if(BgL__ortest_1147z00_7407)
{ /* Llib/thread.scm 440 */
BgL_res2051z00_7394 = BgL__ortest_1147z00_7407; }  else 
{ /* Llib/thread.scm 440 */
 long BgL_odepthz00_7408;
BgL_odepthz00_7408 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7398); 
if(
(BgL_arg1941z00_7379<BgL_odepthz00_7408))
{ /* Llib/thread.scm 440 */
 obj_t BgL_arg1935z00_7412;
BgL_arg1935z00_7412 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7398, BgL_arg1941z00_7379); 
BgL_res2051z00_7394 = 
(BgL_arg1935z00_7412==BgL_classz00_7376); }  else 
{ /* Llib/thread.scm 440 */
BgL_res2051z00_7394 = ((bool_t)0); } } } } 
BgL_test3771z00_11801 = BgL_res2051z00_7394; } }  else 
{ /* Llib/thread.scm 440 */
BgL_test3771z00_11801 = ((bool_t)0)
; } } 
if(BgL_test3771z00_11801)
{ /* Llib/thread.scm 440 */
BgL_auxz00_11800 = 
((BgL_threadz00_bglt)BgL_thz00_3722)
; }  else 
{ 
 obj_t BgL_auxz00_11823;
BgL_auxz00_11823 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(18877L), BGl_string2818z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_thz00_3722); 
FAILURE(BgL_auxz00_11823,BFALSE,BFALSE);} } 
return 
BGl_threadzd2namezd2setz12z12zz__threadz00(BgL_auxz00_11800, BgL_auxz00_11827);} } 

}



/* %user-current-thread */
BGL_EXPORTED_DEF obj_t BGl_z52userzd2currentzd2threadz52zz__threadz00(BgL_threadz00_bglt BgL_oz00_48)
{
{ /* Llib/thread.scm 451 */
{ /* Llib/thread.scm 451 */
 obj_t BgL_method1227z00_1667;
{ /* Llib/thread.scm 451 */
 obj_t BgL_res2038z00_2999;
{ /* Llib/thread.scm 451 */
 long BgL_objzd2classzd2numz00_2970;
BgL_objzd2classzd2numz00_2970 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_oz00_48)); 
{ /* Llib/thread.scm 451 */
 obj_t BgL_arg1942z00_2971;
BgL_arg1942z00_2971 = 
PROCEDURE_REF(BGl_z52userzd2currentzd2threadzd2envz80zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 451 */
 int BgL_offsetz00_2974;
BgL_offsetz00_2974 = 
(int)(BgL_objzd2classzd2numz00_2970); 
{ /* Llib/thread.scm 451 */
 long BgL_offsetz00_2975;
BgL_offsetz00_2975 = 
(
(long)(BgL_offsetz00_2974)-OBJECT_TYPE); 
{ /* Llib/thread.scm 451 */
 long BgL_modz00_2976;
BgL_modz00_2976 = 
(BgL_offsetz00_2975 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 451 */
 long BgL_restz00_2978;
BgL_restz00_2978 = 
(BgL_offsetz00_2975 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 451 */

{ /* Llib/thread.scm 451 */
 obj_t BgL_bucketz00_2980;
BgL_bucketz00_2980 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_2971),BgL_modz00_2976); 
BgL_res2038z00_2999 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_2980),BgL_restz00_2978); } } } } } } } } 
BgL_method1227z00_1667 = BgL_res2038z00_2999; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1227z00_1667, 1L))
{ /* Llib/thread.scm 451 */
return 
(VA_PROCEDUREP( BgL_method1227z00_1667 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1227z00_1667))(BgL_method1227z00_1667, 
((obj_t)BgL_oz00_48), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1227z00_1667))(BgL_method1227z00_1667, 
((obj_t)BgL_oz00_48)) );}  else 
{ /* Llib/thread.scm 451 */
FAILURE(BGl_string2819z00zz__threadz00,BGl_list2820z00zz__threadz00,BgL_method1227z00_1667);} } } 

}



/* &%user-current-thread */
obj_t BGl_z62z52userzd2currentzd2threadz30zz__threadz00(obj_t BgL_envz00_3724, obj_t BgL_oz00_3725)
{
{ /* Llib/thread.scm 451 */
{ /* Llib/thread.scm 451 */
 BgL_threadz00_bglt BgL_auxz00_11868;
{ /* Llib/thread.scm 451 */
 bool_t BgL_test3778z00_11869;
{ /* Llib/thread.scm 451 */
 obj_t BgL_classz00_7413;
BgL_classz00_7413 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3725))
{ /* Llib/thread.scm 451 */
 BgL_objectz00_bglt BgL_arg1940z00_7415; long BgL_arg1941z00_7416;
BgL_arg1940z00_7415 = 
(BgL_objectz00_bglt)(BgL_oz00_3725); 
BgL_arg1941z00_7416 = 
BGL_CLASS_DEPTH(BgL_classz00_7413); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 451 */
 long BgL_idxz00_7424;
BgL_idxz00_7424 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7415); 
{ /* Llib/thread.scm 451 */
 obj_t BgL_arg1933z00_7425;
{ /* Llib/thread.scm 451 */
 long BgL_arg1934z00_7426;
BgL_arg1934z00_7426 = 
(BgL_idxz00_7424+BgL_arg1941z00_7416); 
BgL_arg1933z00_7425 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7426); } 
BgL_test3778z00_11869 = 
(BgL_arg1933z00_7425==BgL_classz00_7413); } }  else 
{ /* Llib/thread.scm 451 */
 bool_t BgL_res2051z00_7431;
{ /* Llib/thread.scm 451 */
 obj_t BgL_oclassz00_7435;
{ /* Llib/thread.scm 451 */
 long BgL_arg1945z00_7437;
{ /* Llib/thread.scm 451 */
 long BgL_arg1946z00_7438;
BgL_arg1946z00_7438 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7415); 
BgL_arg1945z00_7437 = 
(BgL_arg1946z00_7438-OBJECT_TYPE); } 
BgL_oclassz00_7435 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7437); } 
{ /* Llib/thread.scm 451 */
 bool_t BgL__ortest_1147z00_7444;
BgL__ortest_1147z00_7444 = 
(BgL_classz00_7413==BgL_oclassz00_7435); 
if(BgL__ortest_1147z00_7444)
{ /* Llib/thread.scm 451 */
BgL_res2051z00_7431 = BgL__ortest_1147z00_7444; }  else 
{ /* Llib/thread.scm 451 */
 long BgL_odepthz00_7445;
BgL_odepthz00_7445 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7435); 
if(
(BgL_arg1941z00_7416<BgL_odepthz00_7445))
{ /* Llib/thread.scm 451 */
 obj_t BgL_arg1935z00_7449;
BgL_arg1935z00_7449 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7435, BgL_arg1941z00_7416); 
BgL_res2051z00_7431 = 
(BgL_arg1935z00_7449==BgL_classz00_7413); }  else 
{ /* Llib/thread.scm 451 */
BgL_res2051z00_7431 = ((bool_t)0); } } } } 
BgL_test3778z00_11869 = BgL_res2051z00_7431; } }  else 
{ /* Llib/thread.scm 451 */
BgL_test3778z00_11869 = ((bool_t)0)
; } } 
if(BgL_test3778z00_11869)
{ /* Llib/thread.scm 451 */
BgL_auxz00_11868 = 
((BgL_threadz00_bglt)BgL_oz00_3725)
; }  else 
{ 
 obj_t BgL_auxz00_11891;
BgL_auxz00_11891 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(19506L), BGl_string2825z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3725); 
FAILURE(BgL_auxz00_11891,BFALSE,BFALSE);} } 
return 
BGl_z52userzd2currentzd2threadz52zz__threadz00(BgL_auxz00_11868);} } 

}



/* %user-thread-sleep! */
BGL_EXPORTED_DEF obj_t BGl_z52userzd2threadzd2sleepz12z40zz__threadz00(BgL_threadz00_bglt BgL_oz00_49, obj_t BgL_dz00_50)
{
{ /* Llib/thread.scm 473 */
{ /* Llib/thread.scm 473 */
 obj_t BgL_method1229z00_1668;
{ /* Llib/thread.scm 473 */
 obj_t BgL_res2043z00_3030;
{ /* Llib/thread.scm 473 */
 long BgL_objzd2classzd2numz00_3001;
BgL_objzd2classzd2numz00_3001 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_oz00_49)); 
{ /* Llib/thread.scm 473 */
 obj_t BgL_arg1942z00_3002;
BgL_arg1942z00_3002 = 
PROCEDURE_REF(BGl_z52userzd2threadzd2sleepz12zd2envz92zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 473 */
 int BgL_offsetz00_3005;
BgL_offsetz00_3005 = 
(int)(BgL_objzd2classzd2numz00_3001); 
{ /* Llib/thread.scm 473 */
 long BgL_offsetz00_3006;
BgL_offsetz00_3006 = 
(
(long)(BgL_offsetz00_3005)-OBJECT_TYPE); 
{ /* Llib/thread.scm 473 */
 long BgL_modz00_3007;
BgL_modz00_3007 = 
(BgL_offsetz00_3006 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 473 */
 long BgL_restz00_3009;
BgL_restz00_3009 = 
(BgL_offsetz00_3006 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 473 */

{ /* Llib/thread.scm 473 */
 obj_t BgL_bucketz00_3011;
BgL_bucketz00_3011 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_3002),BgL_modz00_3007); 
BgL_res2043z00_3030 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_3011),BgL_restz00_3009); } } } } } } } } 
BgL_method1229z00_1668 = BgL_res2043z00_3030; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1229z00_1668, 2L))
{ /* Llib/thread.scm 473 */
return 
(VA_PROCEDUREP( BgL_method1229z00_1668 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1229z00_1668))(BgL_method1229z00_1668, 
((obj_t)BgL_oz00_49), BgL_dz00_50, BEOA) : ((obj_t (*)(obj_t, obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1229z00_1668))(BgL_method1229z00_1668, 
((obj_t)BgL_oz00_49), BgL_dz00_50) );}  else 
{ /* Llib/thread.scm 473 */
FAILURE(BGl_string2826z00zz__threadz00,BGl_list2827z00zz__threadz00,BgL_method1229z00_1668);} } } 

}



/* &%user-thread-sleep! */
obj_t BGl_z62z52userzd2threadzd2sleepz12z22zz__threadz00(obj_t BgL_envz00_3726, obj_t BgL_oz00_3727, obj_t BgL_dz00_3728)
{
{ /* Llib/thread.scm 473 */
{ /* Llib/thread.scm 473 */
 BgL_threadz00_bglt BgL_auxz00_11930;
{ /* Llib/thread.scm 473 */
 bool_t BgL_test3784z00_11931;
{ /* Llib/thread.scm 473 */
 obj_t BgL_classz00_7450;
BgL_classz00_7450 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3727))
{ /* Llib/thread.scm 473 */
 BgL_objectz00_bglt BgL_arg1940z00_7452; long BgL_arg1941z00_7453;
BgL_arg1940z00_7452 = 
(BgL_objectz00_bglt)(BgL_oz00_3727); 
BgL_arg1941z00_7453 = 
BGL_CLASS_DEPTH(BgL_classz00_7450); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 473 */
 long BgL_idxz00_7461;
BgL_idxz00_7461 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7452); 
{ /* Llib/thread.scm 473 */
 obj_t BgL_arg1933z00_7462;
{ /* Llib/thread.scm 473 */
 long BgL_arg1934z00_7463;
BgL_arg1934z00_7463 = 
(BgL_idxz00_7461+BgL_arg1941z00_7453); 
BgL_arg1933z00_7462 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7463); } 
BgL_test3784z00_11931 = 
(BgL_arg1933z00_7462==BgL_classz00_7450); } }  else 
{ /* Llib/thread.scm 473 */
 bool_t BgL_res2051z00_7468;
{ /* Llib/thread.scm 473 */
 obj_t BgL_oclassz00_7472;
{ /* Llib/thread.scm 473 */
 long BgL_arg1945z00_7474;
{ /* Llib/thread.scm 473 */
 long BgL_arg1946z00_7475;
BgL_arg1946z00_7475 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7452); 
BgL_arg1945z00_7474 = 
(BgL_arg1946z00_7475-OBJECT_TYPE); } 
BgL_oclassz00_7472 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7474); } 
{ /* Llib/thread.scm 473 */
 bool_t BgL__ortest_1147z00_7481;
BgL__ortest_1147z00_7481 = 
(BgL_classz00_7450==BgL_oclassz00_7472); 
if(BgL__ortest_1147z00_7481)
{ /* Llib/thread.scm 473 */
BgL_res2051z00_7468 = BgL__ortest_1147z00_7481; }  else 
{ /* Llib/thread.scm 473 */
 long BgL_odepthz00_7482;
BgL_odepthz00_7482 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7472); 
if(
(BgL_arg1941z00_7453<BgL_odepthz00_7482))
{ /* Llib/thread.scm 473 */
 obj_t BgL_arg1935z00_7486;
BgL_arg1935z00_7486 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7472, BgL_arg1941z00_7453); 
BgL_res2051z00_7468 = 
(BgL_arg1935z00_7486==BgL_classz00_7450); }  else 
{ /* Llib/thread.scm 473 */
BgL_res2051z00_7468 = ((bool_t)0); } } } } 
BgL_test3784z00_11931 = BgL_res2051z00_7468; } }  else 
{ /* Llib/thread.scm 473 */
BgL_test3784z00_11931 = ((bool_t)0)
; } } 
if(BgL_test3784z00_11931)
{ /* Llib/thread.scm 473 */
BgL_auxz00_11930 = 
((BgL_threadz00_bglt)BgL_oz00_3727)
; }  else 
{ 
 obj_t BgL_auxz00_11953;
BgL_auxz00_11953 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(20480L), BGl_string2832z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3727); 
FAILURE(BgL_auxz00_11953,BFALSE,BFALSE);} } 
return 
BGl_z52userzd2threadzd2sleepz12z40zz__threadz00(BgL_auxz00_11930, BgL_dz00_3728);} } 

}



/* %user-thread-yield! */
BGL_EXPORTED_DEF obj_t BGl_z52userzd2threadzd2yieldz12z40zz__threadz00(BgL_threadz00_bglt BgL_oz00_52)
{
{ /* Llib/thread.scm 500 */
{ /* Llib/thread.scm 500 */
 obj_t BgL_method1231z00_1669;
{ /* Llib/thread.scm 500 */
 obj_t BgL_res2048z00_3061;
{ /* Llib/thread.scm 500 */
 long BgL_objzd2classzd2numz00_3032;
BgL_objzd2classzd2numz00_3032 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_oz00_52)); 
{ /* Llib/thread.scm 500 */
 obj_t BgL_arg1942z00_3033;
BgL_arg1942z00_3033 = 
PROCEDURE_REF(BGl_z52userzd2threadzd2yieldz12zd2envz92zz__threadz00, 
(int)(1L)); 
{ /* Llib/thread.scm 500 */
 int BgL_offsetz00_3036;
BgL_offsetz00_3036 = 
(int)(BgL_objzd2classzd2numz00_3032); 
{ /* Llib/thread.scm 500 */
 long BgL_offsetz00_3037;
BgL_offsetz00_3037 = 
(
(long)(BgL_offsetz00_3036)-OBJECT_TYPE); 
{ /* Llib/thread.scm 500 */
 long BgL_modz00_3038;
BgL_modz00_3038 = 
(BgL_offsetz00_3037 >> 
(int)(
(long)(
(int)(4L)))); 
{ /* Llib/thread.scm 500 */
 long BgL_restz00_3040;
BgL_restz00_3040 = 
(BgL_offsetz00_3037 & 
(long)(
(int)(
(
(long)(
(int)(
(1L << 
(int)(
(long)(
(int)(4L))))))-1L)))); 
{ /* Llib/thread.scm 500 */

{ /* Llib/thread.scm 500 */
 obj_t BgL_bucketz00_3042;
BgL_bucketz00_3042 = 
VECTOR_REF(
((obj_t)BgL_arg1942z00_3033),BgL_modz00_3038); 
BgL_res2048z00_3061 = 
VECTOR_REF(
((obj_t)BgL_bucketz00_3042),BgL_restz00_3040); } } } } } } } } 
BgL_method1231z00_1669 = BgL_res2048z00_3061; } 
if(
PROCEDURE_CORRECT_ARITYP(BgL_method1231z00_1669, 1L))
{ /* Llib/thread.scm 500 */
return 
(VA_PROCEDUREP( BgL_method1231z00_1669 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_method1231z00_1669))(BgL_method1231z00_1669, 
((obj_t)BgL_oz00_52), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_method1231z00_1669))(BgL_method1231z00_1669, 
((obj_t)BgL_oz00_52)) );}  else 
{ /* Llib/thread.scm 500 */
FAILURE(BGl_string2833z00zz__threadz00,BGl_list2834z00zz__threadz00,BgL_method1231z00_1669);} } } 

}



/* &%user-thread-yield! */
obj_t BGl_z62z52userzd2threadzd2yieldz12z22zz__threadz00(obj_t BgL_envz00_3729, obj_t BgL_oz00_3730)
{
{ /* Llib/thread.scm 500 */
{ /* Llib/thread.scm 500 */
 BgL_threadz00_bglt BgL_auxz00_11991;
{ /* Llib/thread.scm 500 */
 bool_t BgL_test3790z00_11992;
{ /* Llib/thread.scm 500 */
 obj_t BgL_classz00_7487;
BgL_classz00_7487 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3730))
{ /* Llib/thread.scm 500 */
 BgL_objectz00_bglt BgL_arg1940z00_7489; long BgL_arg1941z00_7490;
BgL_arg1940z00_7489 = 
(BgL_objectz00_bglt)(BgL_oz00_3730); 
BgL_arg1941z00_7490 = 
BGL_CLASS_DEPTH(BgL_classz00_7487); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 500 */
 long BgL_idxz00_7498;
BgL_idxz00_7498 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7489); 
{ /* Llib/thread.scm 500 */
 obj_t BgL_arg1933z00_7499;
{ /* Llib/thread.scm 500 */
 long BgL_arg1934z00_7500;
BgL_arg1934z00_7500 = 
(BgL_idxz00_7498+BgL_arg1941z00_7490); 
BgL_arg1933z00_7499 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7500); } 
BgL_test3790z00_11992 = 
(BgL_arg1933z00_7499==BgL_classz00_7487); } }  else 
{ /* Llib/thread.scm 500 */
 bool_t BgL_res2051z00_7505;
{ /* Llib/thread.scm 500 */
 obj_t BgL_oclassz00_7509;
{ /* Llib/thread.scm 500 */
 long BgL_arg1945z00_7511;
{ /* Llib/thread.scm 500 */
 long BgL_arg1946z00_7512;
BgL_arg1946z00_7512 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7489); 
BgL_arg1945z00_7511 = 
(BgL_arg1946z00_7512-OBJECT_TYPE); } 
BgL_oclassz00_7509 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7511); } 
{ /* Llib/thread.scm 500 */
 bool_t BgL__ortest_1147z00_7518;
BgL__ortest_1147z00_7518 = 
(BgL_classz00_7487==BgL_oclassz00_7509); 
if(BgL__ortest_1147z00_7518)
{ /* Llib/thread.scm 500 */
BgL_res2051z00_7505 = BgL__ortest_1147z00_7518; }  else 
{ /* Llib/thread.scm 500 */
 long BgL_odepthz00_7519;
BgL_odepthz00_7519 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7509); 
if(
(BgL_arg1941z00_7490<BgL_odepthz00_7519))
{ /* Llib/thread.scm 500 */
 obj_t BgL_arg1935z00_7523;
BgL_arg1935z00_7523 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7509, BgL_arg1941z00_7490); 
BgL_res2051z00_7505 = 
(BgL_arg1935z00_7523==BgL_classz00_7487); }  else 
{ /* Llib/thread.scm 500 */
BgL_res2051z00_7505 = ((bool_t)0); } } } } 
BgL_test3790z00_11992 = BgL_res2051z00_7505; } }  else 
{ /* Llib/thread.scm 500 */
BgL_test3790z00_11992 = ((bool_t)0)
; } } 
if(BgL_test3790z00_11992)
{ /* Llib/thread.scm 500 */
BgL_auxz00_11991 = 
((BgL_threadz00_bglt)BgL_oz00_3730)
; }  else 
{ 
 obj_t BgL_auxz00_12014;
BgL_auxz00_12014 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(21576L), BGl_string2837z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3730); 
FAILURE(BgL_auxz00_12014,BFALSE,BFALSE);} } 
return 
BGl_z52userzd2threadzd2yieldz12z40zz__threadz00(BgL_auxz00_11991);} } 

}



/* method-init */
obj_t BGl_methodzd2initzd2zz__threadz00(void)
{
{ /* Llib/thread.scm 17 */
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_tbzd2makezd2threadzd2envzd2zz__threadz00, BGl_nothreadzd2backendzd2zz__threadz00, BGl_proc2838z00zz__threadz00, BGl_string2694z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_tbzd2currentzd2threadzd2envzd2zz__threadz00, BGl_nothreadzd2backendzd2zz__threadz00, BGl_proc2839z00zz__threadz00, BGl_string2840z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_objectzd2displayzd2envz00zz__objectz00, BGl_threadz00zz__threadz00, BGl_proc2841z00zz__threadz00, BGl_string2842z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_objectzd2writezd2envz00zz__objectz00, BGl_threadz00zz__threadz00, BGl_proc2843z00zz__threadz00, BGl_string2844z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_objectzd2printzd2envz00zz__objectz00, BGl_threadz00zz__threadz00, BGl_proc2845z00zz__threadz00, BGl_string2846z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2startz12zd2envz12zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2847z00zz__threadz00, BGl_string2728z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2startzd2joinablez12zd2envzc0zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2848z00zz__threadz00, BGl_string2849z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2joinz12zd2envz12zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2850z00zz__threadz00, BGl_string2760z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2terminatez12zd2envz12zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2851z00zz__threadz00, BGl_string2852z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2killz12zd2envz12zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2853z00zz__threadz00, BGl_string2854z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2specificzd2envz00zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2855z00zz__threadz00, BGl_string2856z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2specificzd2setz12zd2envzc0zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2857z00zz__threadz00, BGl_string2858z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2cleanupzd2envz00zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2859z00zz__threadz00, BGl_string2860z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2cleanupzd2setz12zd2envzc0zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2861z00zz__threadz00, BGl_string2862z00zz__threadz00); 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2namezd2envz00zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2863z00zz__threadz00, BGl_string2808z00zz__threadz00); 
return 
BGl_genericzd2addzd2methodz12z12zz__objectz00(BGl_threadzd2namezd2setz12zd2envzc0zz__threadz00, BGl_nothreadz00zz__threadz00, BGl_proc2864z00zz__threadz00, BGl_string2865z00zz__threadz00);} 

}



/* &thread-name-set!-not1253 */
obj_t BGl_z62threadzd2namezd2setz12zd2not1253za2zz__threadz00(obj_t BgL_envz00_3750, obj_t BgL_thz00_3751, obj_t BgL_vz00_3752)
{
{ /* Llib/thread.scm 608 */
{ /* Llib/thread.scm 609 */
 BgL_nothreadz00_bglt BgL_thz00_7561;
{ /* Llib/thread.scm 609 */
 bool_t BgL_test3795z00_12035;
{ /* Llib/thread.scm 609 */
 obj_t BgL_classz00_7524;
BgL_classz00_7524 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3751))
{ /* Llib/thread.scm 609 */
 BgL_objectz00_bglt BgL_arg1940z00_7526; long BgL_arg1941z00_7527;
BgL_arg1940z00_7526 = 
(BgL_objectz00_bglt)(BgL_thz00_3751); 
BgL_arg1941z00_7527 = 
BGL_CLASS_DEPTH(BgL_classz00_7524); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 609 */
 long BgL_idxz00_7535;
BgL_idxz00_7535 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7526); 
{ /* Llib/thread.scm 609 */
 obj_t BgL_arg1933z00_7536;
{ /* Llib/thread.scm 609 */
 long BgL_arg1934z00_7537;
BgL_arg1934z00_7537 = 
(BgL_idxz00_7535+BgL_arg1941z00_7527); 
BgL_arg1933z00_7536 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7537); } 
BgL_test3795z00_12035 = 
(BgL_arg1933z00_7536==BgL_classz00_7524); } }  else 
{ /* Llib/thread.scm 609 */
 bool_t BgL_res2051z00_7542;
{ /* Llib/thread.scm 609 */
 obj_t BgL_oclassz00_7546;
{ /* Llib/thread.scm 609 */
 long BgL_arg1945z00_7548;
{ /* Llib/thread.scm 609 */
 long BgL_arg1946z00_7549;
BgL_arg1946z00_7549 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7526); 
BgL_arg1945z00_7548 = 
(BgL_arg1946z00_7549-OBJECT_TYPE); } 
BgL_oclassz00_7546 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7548); } 
{ /* Llib/thread.scm 609 */
 bool_t BgL__ortest_1147z00_7555;
BgL__ortest_1147z00_7555 = 
(BgL_classz00_7524==BgL_oclassz00_7546); 
if(BgL__ortest_1147z00_7555)
{ /* Llib/thread.scm 609 */
BgL_res2051z00_7542 = BgL__ortest_1147z00_7555; }  else 
{ /* Llib/thread.scm 609 */
 long BgL_odepthz00_7556;
BgL_odepthz00_7556 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7546); 
if(
(BgL_arg1941z00_7527<BgL_odepthz00_7556))
{ /* Llib/thread.scm 609 */
 obj_t BgL_arg1935z00_7560;
BgL_arg1935z00_7560 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7546, BgL_arg1941z00_7527); 
BgL_res2051z00_7542 = 
(BgL_arg1935z00_7560==BgL_classz00_7524); }  else 
{ /* Llib/thread.scm 609 */
BgL_res2051z00_7542 = ((bool_t)0); } } } } 
BgL_test3795z00_12035 = BgL_res2051z00_7542; } }  else 
{ /* Llib/thread.scm 609 */
BgL_test3795z00_12035 = ((bool_t)0)
; } } 
if(BgL_test3795z00_12035)
{ /* Llib/thread.scm 609 */
BgL_thz00_7561 = 
((BgL_nothreadz00_bglt)BgL_thz00_3751); }  else 
{ 
 obj_t BgL_auxz00_12057;
BgL_auxz00_12057 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(26595L), BGl_string2867z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3751); 
FAILURE(BgL_auxz00_12057,BFALSE,BFALSE);} } 
{ 
 obj_t BgL_auxz00_12061;
if(
STRINGP(BgL_vz00_3752))
{ /* Llib/thread.scm 609 */
BgL_auxz00_12061 = BgL_vz00_3752
; }  else 
{ 
 obj_t BgL_auxz00_12064;
BgL_auxz00_12064 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(26629L), BGl_string2866z00zz__threadz00, BGl_string2449z00zz__threadz00, BgL_vz00_3752); 
FAILURE(BgL_auxz00_12064,BFALSE,BFALSE);} 
return 
((((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7561))->BgL_z52namez52)=((obj_t)BgL_auxz00_12061),BUNSPEC);} } } 

}



/* &thread-name-nothread1251 */
obj_t BGl_z62threadzd2namezd2nothread1251z62zz__threadz00(obj_t BgL_envz00_3753, obj_t BgL_thz00_3754)
{
{ /* Llib/thread.scm 602 */
{ /* Llib/thread.scm 603 */
 BgL_nothreadz00_bglt BgL_thz00_7599;
{ /* Llib/thread.scm 603 */
 bool_t BgL_test3801z00_12069;
{ /* Llib/thread.scm 603 */
 obj_t BgL_classz00_7562;
BgL_classz00_7562 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3754))
{ /* Llib/thread.scm 603 */
 BgL_objectz00_bglt BgL_arg1940z00_7564; long BgL_arg1941z00_7565;
BgL_arg1940z00_7564 = 
(BgL_objectz00_bglt)(BgL_thz00_3754); 
BgL_arg1941z00_7565 = 
BGL_CLASS_DEPTH(BgL_classz00_7562); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 603 */
 long BgL_idxz00_7573;
BgL_idxz00_7573 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7564); 
{ /* Llib/thread.scm 603 */
 obj_t BgL_arg1933z00_7574;
{ /* Llib/thread.scm 603 */
 long BgL_arg1934z00_7575;
BgL_arg1934z00_7575 = 
(BgL_idxz00_7573+BgL_arg1941z00_7565); 
BgL_arg1933z00_7574 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7575); } 
BgL_test3801z00_12069 = 
(BgL_arg1933z00_7574==BgL_classz00_7562); } }  else 
{ /* Llib/thread.scm 603 */
 bool_t BgL_res2051z00_7580;
{ /* Llib/thread.scm 603 */
 obj_t BgL_oclassz00_7584;
{ /* Llib/thread.scm 603 */
 long BgL_arg1945z00_7586;
{ /* Llib/thread.scm 603 */
 long BgL_arg1946z00_7587;
BgL_arg1946z00_7587 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7564); 
BgL_arg1945z00_7586 = 
(BgL_arg1946z00_7587-OBJECT_TYPE); } 
BgL_oclassz00_7584 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7586); } 
{ /* Llib/thread.scm 603 */
 bool_t BgL__ortest_1147z00_7593;
BgL__ortest_1147z00_7593 = 
(BgL_classz00_7562==BgL_oclassz00_7584); 
if(BgL__ortest_1147z00_7593)
{ /* Llib/thread.scm 603 */
BgL_res2051z00_7580 = BgL__ortest_1147z00_7593; }  else 
{ /* Llib/thread.scm 603 */
 long BgL_odepthz00_7594;
BgL_odepthz00_7594 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7584); 
if(
(BgL_arg1941z00_7565<BgL_odepthz00_7594))
{ /* Llib/thread.scm 603 */
 obj_t BgL_arg1935z00_7598;
BgL_arg1935z00_7598 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7584, BgL_arg1941z00_7565); 
BgL_res2051z00_7580 = 
(BgL_arg1935z00_7598==BgL_classz00_7562); }  else 
{ /* Llib/thread.scm 603 */
BgL_res2051z00_7580 = ((bool_t)0); } } } } 
BgL_test3801z00_12069 = BgL_res2051z00_7580; } }  else 
{ /* Llib/thread.scm 603 */
BgL_test3801z00_12069 = ((bool_t)0)
; } } 
if(BgL_test3801z00_12069)
{ /* Llib/thread.scm 603 */
BgL_thz00_7599 = 
((BgL_nothreadz00_bglt)BgL_thz00_3754); }  else 
{ 
 obj_t BgL_auxz00_12091;
BgL_auxz00_12091 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(26278L), BGl_string2868z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3754); 
FAILURE(BgL_auxz00_12091,BFALSE,BFALSE);} } 
return 
(((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7599))->BgL_z52namez52);} } 

}



/* &thread-cleanup-set!-1249 */
obj_t BGl_z62threadzd2cleanupzd2setz12zd21249za2zz__threadz00(obj_t BgL_envz00_3755, obj_t BgL_thz00_3756, obj_t BgL_vz00_3757)
{
{ /* Llib/thread.scm 596 */
{ /* Llib/thread.scm 597 */
 BgL_nothreadz00_bglt BgL_thz00_7637;
{ /* Llib/thread.scm 597 */
 bool_t BgL_test3806z00_12096;
{ /* Llib/thread.scm 597 */
 obj_t BgL_classz00_7600;
BgL_classz00_7600 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3756))
{ /* Llib/thread.scm 597 */
 BgL_objectz00_bglt BgL_arg1940z00_7602; long BgL_arg1941z00_7603;
BgL_arg1940z00_7602 = 
(BgL_objectz00_bglt)(BgL_thz00_3756); 
BgL_arg1941z00_7603 = 
BGL_CLASS_DEPTH(BgL_classz00_7600); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 597 */
 long BgL_idxz00_7611;
BgL_idxz00_7611 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7602); 
{ /* Llib/thread.scm 597 */
 obj_t BgL_arg1933z00_7612;
{ /* Llib/thread.scm 597 */
 long BgL_arg1934z00_7613;
BgL_arg1934z00_7613 = 
(BgL_idxz00_7611+BgL_arg1941z00_7603); 
BgL_arg1933z00_7612 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7613); } 
BgL_test3806z00_12096 = 
(BgL_arg1933z00_7612==BgL_classz00_7600); } }  else 
{ /* Llib/thread.scm 597 */
 bool_t BgL_res2051z00_7618;
{ /* Llib/thread.scm 597 */
 obj_t BgL_oclassz00_7622;
{ /* Llib/thread.scm 597 */
 long BgL_arg1945z00_7624;
{ /* Llib/thread.scm 597 */
 long BgL_arg1946z00_7625;
BgL_arg1946z00_7625 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7602); 
BgL_arg1945z00_7624 = 
(BgL_arg1946z00_7625-OBJECT_TYPE); } 
BgL_oclassz00_7622 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7624); } 
{ /* Llib/thread.scm 597 */
 bool_t BgL__ortest_1147z00_7631;
BgL__ortest_1147z00_7631 = 
(BgL_classz00_7600==BgL_oclassz00_7622); 
if(BgL__ortest_1147z00_7631)
{ /* Llib/thread.scm 597 */
BgL_res2051z00_7618 = BgL__ortest_1147z00_7631; }  else 
{ /* Llib/thread.scm 597 */
 long BgL_odepthz00_7632;
BgL_odepthz00_7632 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7622); 
if(
(BgL_arg1941z00_7603<BgL_odepthz00_7632))
{ /* Llib/thread.scm 597 */
 obj_t BgL_arg1935z00_7636;
BgL_arg1935z00_7636 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7622, BgL_arg1941z00_7603); 
BgL_res2051z00_7618 = 
(BgL_arg1935z00_7636==BgL_classz00_7600); }  else 
{ /* Llib/thread.scm 597 */
BgL_res2051z00_7618 = ((bool_t)0); } } } } 
BgL_test3806z00_12096 = BgL_res2051z00_7618; } }  else 
{ /* Llib/thread.scm 597 */
BgL_test3806z00_12096 = ((bool_t)0)
; } } 
if(BgL_test3806z00_12096)
{ /* Llib/thread.scm 597 */
BgL_thz00_7637 = 
((BgL_nothreadz00_bglt)BgL_thz00_3756); }  else 
{ 
 obj_t BgL_auxz00_12118;
BgL_auxz00_12118 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(25953L), BGl_string2869z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3756); 
FAILURE(BgL_auxz00_12118,BFALSE,BFALSE);} } 
return 
((((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7637))->BgL_z52cleanupz52)=((obj_t)BgL_vz00_3757),BUNSPEC);} } 

}



/* &thread-cleanup-nothr1247 */
obj_t BGl_z62threadzd2cleanupzd2nothr1247z62zz__threadz00(obj_t BgL_envz00_3758, obj_t BgL_thz00_3759)
{
{ /* Llib/thread.scm 590 */
{ /* Llib/thread.scm 591 */
 BgL_nothreadz00_bglt BgL_thz00_7675;
{ /* Llib/thread.scm 591 */
 bool_t BgL_test3811z00_12123;
{ /* Llib/thread.scm 591 */
 obj_t BgL_classz00_7638;
BgL_classz00_7638 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3759))
{ /* Llib/thread.scm 591 */
 BgL_objectz00_bglt BgL_arg1940z00_7640; long BgL_arg1941z00_7641;
BgL_arg1940z00_7640 = 
(BgL_objectz00_bglt)(BgL_thz00_3759); 
BgL_arg1941z00_7641 = 
BGL_CLASS_DEPTH(BgL_classz00_7638); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 591 */
 long BgL_idxz00_7649;
BgL_idxz00_7649 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7640); 
{ /* Llib/thread.scm 591 */
 obj_t BgL_arg1933z00_7650;
{ /* Llib/thread.scm 591 */
 long BgL_arg1934z00_7651;
BgL_arg1934z00_7651 = 
(BgL_idxz00_7649+BgL_arg1941z00_7641); 
BgL_arg1933z00_7650 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7651); } 
BgL_test3811z00_12123 = 
(BgL_arg1933z00_7650==BgL_classz00_7638); } }  else 
{ /* Llib/thread.scm 591 */
 bool_t BgL_res2051z00_7656;
{ /* Llib/thread.scm 591 */
 obj_t BgL_oclassz00_7660;
{ /* Llib/thread.scm 591 */
 long BgL_arg1945z00_7662;
{ /* Llib/thread.scm 591 */
 long BgL_arg1946z00_7663;
BgL_arg1946z00_7663 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7640); 
BgL_arg1945z00_7662 = 
(BgL_arg1946z00_7663-OBJECT_TYPE); } 
BgL_oclassz00_7660 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7662); } 
{ /* Llib/thread.scm 591 */
 bool_t BgL__ortest_1147z00_7669;
BgL__ortest_1147z00_7669 = 
(BgL_classz00_7638==BgL_oclassz00_7660); 
if(BgL__ortest_1147z00_7669)
{ /* Llib/thread.scm 591 */
BgL_res2051z00_7656 = BgL__ortest_1147z00_7669; }  else 
{ /* Llib/thread.scm 591 */
 long BgL_odepthz00_7670;
BgL_odepthz00_7670 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7660); 
if(
(BgL_arg1941z00_7641<BgL_odepthz00_7670))
{ /* Llib/thread.scm 591 */
 obj_t BgL_arg1935z00_7674;
BgL_arg1935z00_7674 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7660, BgL_arg1941z00_7641); 
BgL_res2051z00_7656 = 
(BgL_arg1935z00_7674==BgL_classz00_7638); }  else 
{ /* Llib/thread.scm 591 */
BgL_res2051z00_7656 = ((bool_t)0); } } } } 
BgL_test3811z00_12123 = BgL_res2051z00_7656; } }  else 
{ /* Llib/thread.scm 591 */
BgL_test3811z00_12123 = ((bool_t)0)
; } } 
if(BgL_test3811z00_12123)
{ /* Llib/thread.scm 591 */
BgL_thz00_7675 = 
((BgL_nothreadz00_bglt)BgL_thz00_3759); }  else 
{ 
 obj_t BgL_auxz00_12145;
BgL_auxz00_12145 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(25627L), BGl_string2870z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3759); 
FAILURE(BgL_auxz00_12145,BFALSE,BFALSE);} } 
return 
(((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7675))->BgL_z52cleanupz52);} } 

}



/* &thread-specific-set!1245 */
obj_t BGl_z62threadzd2specificzd2setz121245z70zz__threadz00(obj_t BgL_envz00_3760, obj_t BgL_thz00_3761, obj_t BgL_vz00_3762)
{
{ /* Llib/thread.scm 584 */
{ /* Llib/thread.scm 585 */
 BgL_nothreadz00_bglt BgL_thz00_7713;
{ /* Llib/thread.scm 585 */
 bool_t BgL_test3816z00_12150;
{ /* Llib/thread.scm 585 */
 obj_t BgL_classz00_7676;
BgL_classz00_7676 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3761))
{ /* Llib/thread.scm 585 */
 BgL_objectz00_bglt BgL_arg1940z00_7678; long BgL_arg1941z00_7679;
BgL_arg1940z00_7678 = 
(BgL_objectz00_bglt)(BgL_thz00_3761); 
BgL_arg1941z00_7679 = 
BGL_CLASS_DEPTH(BgL_classz00_7676); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 585 */
 long BgL_idxz00_7687;
BgL_idxz00_7687 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7678); 
{ /* Llib/thread.scm 585 */
 obj_t BgL_arg1933z00_7688;
{ /* Llib/thread.scm 585 */
 long BgL_arg1934z00_7689;
BgL_arg1934z00_7689 = 
(BgL_idxz00_7687+BgL_arg1941z00_7679); 
BgL_arg1933z00_7688 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7689); } 
BgL_test3816z00_12150 = 
(BgL_arg1933z00_7688==BgL_classz00_7676); } }  else 
{ /* Llib/thread.scm 585 */
 bool_t BgL_res2051z00_7694;
{ /* Llib/thread.scm 585 */
 obj_t BgL_oclassz00_7698;
{ /* Llib/thread.scm 585 */
 long BgL_arg1945z00_7700;
{ /* Llib/thread.scm 585 */
 long BgL_arg1946z00_7701;
BgL_arg1946z00_7701 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7678); 
BgL_arg1945z00_7700 = 
(BgL_arg1946z00_7701-OBJECT_TYPE); } 
BgL_oclassz00_7698 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7700); } 
{ /* Llib/thread.scm 585 */
 bool_t BgL__ortest_1147z00_7707;
BgL__ortest_1147z00_7707 = 
(BgL_classz00_7676==BgL_oclassz00_7698); 
if(BgL__ortest_1147z00_7707)
{ /* Llib/thread.scm 585 */
BgL_res2051z00_7694 = BgL__ortest_1147z00_7707; }  else 
{ /* Llib/thread.scm 585 */
 long BgL_odepthz00_7708;
BgL_odepthz00_7708 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7698); 
if(
(BgL_arg1941z00_7679<BgL_odepthz00_7708))
{ /* Llib/thread.scm 585 */
 obj_t BgL_arg1935z00_7712;
BgL_arg1935z00_7712 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7698, BgL_arg1941z00_7679); 
BgL_res2051z00_7694 = 
(BgL_arg1935z00_7712==BgL_classz00_7676); }  else 
{ /* Llib/thread.scm 585 */
BgL_res2051z00_7694 = ((bool_t)0); } } } } 
BgL_test3816z00_12150 = BgL_res2051z00_7694; } }  else 
{ /* Llib/thread.scm 585 */
BgL_test3816z00_12150 = ((bool_t)0)
; } } 
if(BgL_test3816z00_12150)
{ /* Llib/thread.scm 585 */
BgL_thz00_7713 = 
((BgL_nothreadz00_bglt)BgL_thz00_3761); }  else 
{ 
 obj_t BgL_auxz00_12172;
BgL_auxz00_12172 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(25297L), BGl_string2871z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3761); 
FAILURE(BgL_auxz00_12172,BFALSE,BFALSE);} } 
return 
((((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7713))->BgL_z52specificz52)=((obj_t)BgL_vz00_3762),BUNSPEC);} } 

}



/* &thread-specific-noth1243 */
obj_t BGl_z62threadzd2specificzd2noth1243z62zz__threadz00(obj_t BgL_envz00_3763, obj_t BgL_thz00_3764)
{
{ /* Llib/thread.scm 578 */
{ /* Llib/thread.scm 579 */
 BgL_nothreadz00_bglt BgL_thz00_7751;
{ /* Llib/thread.scm 579 */
 bool_t BgL_test3821z00_12177;
{ /* Llib/thread.scm 579 */
 obj_t BgL_classz00_7714;
BgL_classz00_7714 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3764))
{ /* Llib/thread.scm 579 */
 BgL_objectz00_bglt BgL_arg1940z00_7716; long BgL_arg1941z00_7717;
BgL_arg1940z00_7716 = 
(BgL_objectz00_bglt)(BgL_thz00_3764); 
BgL_arg1941z00_7717 = 
BGL_CLASS_DEPTH(BgL_classz00_7714); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 579 */
 long BgL_idxz00_7725;
BgL_idxz00_7725 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7716); 
{ /* Llib/thread.scm 579 */
 obj_t BgL_arg1933z00_7726;
{ /* Llib/thread.scm 579 */
 long BgL_arg1934z00_7727;
BgL_arg1934z00_7727 = 
(BgL_idxz00_7725+BgL_arg1941z00_7717); 
BgL_arg1933z00_7726 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7727); } 
BgL_test3821z00_12177 = 
(BgL_arg1933z00_7726==BgL_classz00_7714); } }  else 
{ /* Llib/thread.scm 579 */
 bool_t BgL_res2051z00_7732;
{ /* Llib/thread.scm 579 */
 obj_t BgL_oclassz00_7736;
{ /* Llib/thread.scm 579 */
 long BgL_arg1945z00_7738;
{ /* Llib/thread.scm 579 */
 long BgL_arg1946z00_7739;
BgL_arg1946z00_7739 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7716); 
BgL_arg1945z00_7738 = 
(BgL_arg1946z00_7739-OBJECT_TYPE); } 
BgL_oclassz00_7736 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7738); } 
{ /* Llib/thread.scm 579 */
 bool_t BgL__ortest_1147z00_7745;
BgL__ortest_1147z00_7745 = 
(BgL_classz00_7714==BgL_oclassz00_7736); 
if(BgL__ortest_1147z00_7745)
{ /* Llib/thread.scm 579 */
BgL_res2051z00_7732 = BgL__ortest_1147z00_7745; }  else 
{ /* Llib/thread.scm 579 */
 long BgL_odepthz00_7746;
BgL_odepthz00_7746 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7736); 
if(
(BgL_arg1941z00_7717<BgL_odepthz00_7746))
{ /* Llib/thread.scm 579 */
 obj_t BgL_arg1935z00_7750;
BgL_arg1935z00_7750 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7736, BgL_arg1941z00_7717); 
BgL_res2051z00_7732 = 
(BgL_arg1935z00_7750==BgL_classz00_7714); }  else 
{ /* Llib/thread.scm 579 */
BgL_res2051z00_7732 = ((bool_t)0); } } } } 
BgL_test3821z00_12177 = BgL_res2051z00_7732; } }  else 
{ /* Llib/thread.scm 579 */
BgL_test3821z00_12177 = ((bool_t)0)
; } } 
if(BgL_test3821z00_12177)
{ /* Llib/thread.scm 579 */
BgL_thz00_7751 = 
((BgL_nothreadz00_bglt)BgL_thz00_3764); }  else 
{ 
 obj_t BgL_auxz00_12199;
BgL_auxz00_12199 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(24968L), BGl_string2872z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3764); 
FAILURE(BgL_auxz00_12199,BFALSE,BFALSE);} } 
return 
(((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7751))->BgL_z52specificz52);} } 

}



/* &thread-kill!-nothrea1241 */
obj_t BGl_z62threadzd2killz12zd2nothrea1241z70zz__threadz00(obj_t BgL_envz00_3765, obj_t BgL_thz00_3766, obj_t BgL_nz00_3767)
{
{ /* Llib/thread.scm 572 */
{ /* Llib/thread.scm 572 */
 BgL_nothreadz00_bglt BgL_thz00_7789; int BgL_nz00_7790;
{ /* Llib/thread.scm 572 */
 bool_t BgL_test3826z00_12204;
{ /* Llib/thread.scm 572 */
 obj_t BgL_classz00_7752;
BgL_classz00_7752 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3766))
{ /* Llib/thread.scm 572 */
 BgL_objectz00_bglt BgL_arg1940z00_7754; long BgL_arg1941z00_7755;
BgL_arg1940z00_7754 = 
(BgL_objectz00_bglt)(BgL_thz00_3766); 
BgL_arg1941z00_7755 = 
BGL_CLASS_DEPTH(BgL_classz00_7752); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 572 */
 long BgL_idxz00_7763;
BgL_idxz00_7763 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7754); 
{ /* Llib/thread.scm 572 */
 obj_t BgL_arg1933z00_7764;
{ /* Llib/thread.scm 572 */
 long BgL_arg1934z00_7765;
BgL_arg1934z00_7765 = 
(BgL_idxz00_7763+BgL_arg1941z00_7755); 
BgL_arg1933z00_7764 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7765); } 
BgL_test3826z00_12204 = 
(BgL_arg1933z00_7764==BgL_classz00_7752); } }  else 
{ /* Llib/thread.scm 572 */
 bool_t BgL_res2051z00_7770;
{ /* Llib/thread.scm 572 */
 obj_t BgL_oclassz00_7774;
{ /* Llib/thread.scm 572 */
 long BgL_arg1945z00_7776;
{ /* Llib/thread.scm 572 */
 long BgL_arg1946z00_7777;
BgL_arg1946z00_7777 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7754); 
BgL_arg1945z00_7776 = 
(BgL_arg1946z00_7777-OBJECT_TYPE); } 
BgL_oclassz00_7774 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7776); } 
{ /* Llib/thread.scm 572 */
 bool_t BgL__ortest_1147z00_7783;
BgL__ortest_1147z00_7783 = 
(BgL_classz00_7752==BgL_oclassz00_7774); 
if(BgL__ortest_1147z00_7783)
{ /* Llib/thread.scm 572 */
BgL_res2051z00_7770 = BgL__ortest_1147z00_7783; }  else 
{ /* Llib/thread.scm 572 */
 long BgL_odepthz00_7784;
BgL_odepthz00_7784 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7774); 
if(
(BgL_arg1941z00_7755<BgL_odepthz00_7784))
{ /* Llib/thread.scm 572 */
 obj_t BgL_arg1935z00_7788;
BgL_arg1935z00_7788 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7774, BgL_arg1941z00_7755); 
BgL_res2051z00_7770 = 
(BgL_arg1935z00_7788==BgL_classz00_7752); }  else 
{ /* Llib/thread.scm 572 */
BgL_res2051z00_7770 = ((bool_t)0); } } } } 
BgL_test3826z00_12204 = BgL_res2051z00_7770; } }  else 
{ /* Llib/thread.scm 572 */
BgL_test3826z00_12204 = ((bool_t)0)
; } } 
if(BgL_test3826z00_12204)
{ /* Llib/thread.scm 572 */
BgL_thz00_7789 = 
((BgL_nothreadz00_bglt)BgL_thz00_3766); }  else 
{ 
 obj_t BgL_auxz00_12226;
BgL_auxz00_12226 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(24629L), BGl_string2873z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3766); 
FAILURE(BgL_auxz00_12226,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 572 */
 obj_t BgL_tmpz00_12230;
if(
INTEGERP(BgL_nz00_3767))
{ /* Llib/thread.scm 572 */
BgL_tmpz00_12230 = BgL_nz00_3767
; }  else 
{ 
 obj_t BgL_auxz00_12233;
BgL_auxz00_12233 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(24629L), BGl_string2873z00zz__threadz00, BGl_string2483z00zz__threadz00, BgL_nz00_3767); 
FAILURE(BgL_auxz00_12233,BFALSE,BFALSE);} 
BgL_nz00_7790 = 
CINT(BgL_tmpz00_12230); } 
return BUNSPEC;} } 

}



/* &thread-terminate!-no1239 */
obj_t BGl_z62threadzd2terminatez12zd2no1239z70zz__threadz00(obj_t BgL_envz00_3768, obj_t BgL_thz00_3769)
{
{ /* Llib/thread.scm 564 */
{ /* Llib/thread.scm 565 */
 BgL_nothreadz00_bglt BgL_thz00_7828;
{ /* Llib/thread.scm 565 */
 bool_t BgL_test3832z00_12238;
{ /* Llib/thread.scm 565 */
 obj_t BgL_classz00_7791;
BgL_classz00_7791 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3769))
{ /* Llib/thread.scm 565 */
 BgL_objectz00_bglt BgL_arg1940z00_7793; long BgL_arg1941z00_7794;
BgL_arg1940z00_7793 = 
(BgL_objectz00_bglt)(BgL_thz00_3769); 
BgL_arg1941z00_7794 = 
BGL_CLASS_DEPTH(BgL_classz00_7791); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 565 */
 long BgL_idxz00_7802;
BgL_idxz00_7802 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7793); 
{ /* Llib/thread.scm 565 */
 obj_t BgL_arg1933z00_7803;
{ /* Llib/thread.scm 565 */
 long BgL_arg1934z00_7804;
BgL_arg1934z00_7804 = 
(BgL_idxz00_7802+BgL_arg1941z00_7794); 
BgL_arg1933z00_7803 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7804); } 
BgL_test3832z00_12238 = 
(BgL_arg1933z00_7803==BgL_classz00_7791); } }  else 
{ /* Llib/thread.scm 565 */
 bool_t BgL_res2051z00_7809;
{ /* Llib/thread.scm 565 */
 obj_t BgL_oclassz00_7813;
{ /* Llib/thread.scm 565 */
 long BgL_arg1945z00_7815;
{ /* Llib/thread.scm 565 */
 long BgL_arg1946z00_7816;
BgL_arg1946z00_7816 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7793); 
BgL_arg1945z00_7815 = 
(BgL_arg1946z00_7816-OBJECT_TYPE); } 
BgL_oclassz00_7813 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7815); } 
{ /* Llib/thread.scm 565 */
 bool_t BgL__ortest_1147z00_7822;
BgL__ortest_1147z00_7822 = 
(BgL_classz00_7791==BgL_oclassz00_7813); 
if(BgL__ortest_1147z00_7822)
{ /* Llib/thread.scm 565 */
BgL_res2051z00_7809 = BgL__ortest_1147z00_7822; }  else 
{ /* Llib/thread.scm 565 */
 long BgL_odepthz00_7823;
BgL_odepthz00_7823 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7813); 
if(
(BgL_arg1941z00_7794<BgL_odepthz00_7823))
{ /* Llib/thread.scm 565 */
 obj_t BgL_arg1935z00_7827;
BgL_arg1935z00_7827 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7813, BgL_arg1941z00_7794); 
BgL_res2051z00_7809 = 
(BgL_arg1935z00_7827==BgL_classz00_7791); }  else 
{ /* Llib/thread.scm 565 */
BgL_res2051z00_7809 = ((bool_t)0); } } } } 
BgL_test3832z00_12238 = BgL_res2051z00_7809; } }  else 
{ /* Llib/thread.scm 565 */
BgL_test3832z00_12238 = ((bool_t)0)
; } } 
if(BgL_test3832z00_12238)
{ /* Llib/thread.scm 565 */
BgL_thz00_7828 = 
((BgL_nothreadz00_bglt)BgL_thz00_3769); }  else 
{ 
 obj_t BgL_auxz00_12260;
BgL_auxz00_12260 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(24306L), BGl_string2879z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3769); 
FAILURE(BgL_auxz00_12260,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 566 */
 bool_t BgL_test3837z00_12264;
{ /* Llib/thread.scm 566 */
 obj_t BgL_tmpz00_12265;
BgL_tmpz00_12265 = 
(((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7828))->BgL_z52cleanupz52); 
BgL_test3837z00_12264 = 
PROCEDUREP(BgL_tmpz00_12265); } 
if(BgL_test3837z00_12264)
{ /* Llib/thread.scm 566 */
 obj_t BgL_fun1583z00_7829;
BgL_fun1583z00_7829 = 
(((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7828))->BgL_z52cleanupz52); 
{ /* Llib/thread.scm 566 */
 obj_t BgL_funz00_7830;
if(
PROCEDUREP(BgL_fun1583z00_7829))
{ /* Llib/thread.scm 566 */
BgL_funz00_7830 = BgL_fun1583z00_7829; }  else 
{ 
 obj_t BgL_auxz00_12271;
BgL_auxz00_12271 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(24377L), BGl_string2874z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_fun1583z00_7829); 
FAILURE(BgL_auxz00_12271,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_7830, 0L))
{ /* Llib/thread.scm 566 */
(VA_PROCEDUREP( BgL_funz00_7830 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_7830))(BgL_fun1583z00_7829, BEOA) : ((obj_t (*)(obj_t))PROCEDURE_ENTRY(BgL_funz00_7830))(BgL_fun1583z00_7829) ); }  else 
{ /* Llib/thread.scm 566 */
FAILURE(BGl_string2875z00zz__threadz00,BGl_list2876z00zz__threadz00,BgL_funz00_7830);} } }  else 
{ /* Llib/thread.scm 566 */BFALSE; } } 
{ /* Llib/thread.scm 567 */
 obj_t BgL_list1585z00_7831;
BgL_list1585z00_7831 = 
MAKE_YOUNG_PAIR(
BINT(0L), BNIL); 
return 
BGl_exitz00zz__errorz00(BgL_list1585z00_7831);} } } 

}



/* &thread-join!-nothrea1237 */
obj_t BGl_z62threadzd2joinz12zd2nothrea1237z70zz__threadz00(obj_t BgL_envz00_3770, obj_t BgL_thz00_3771, obj_t BgL_timeoutz00_3772)
{
{ /* Llib/thread.scm 555 */
{ /* Llib/thread.scm 556 */
 BgL_nothreadz00_bglt BgL_thz00_7869;
{ /* Llib/thread.scm 556 */
 bool_t BgL_test3840z00_12284;
{ /* Llib/thread.scm 556 */
 obj_t BgL_classz00_7832;
BgL_classz00_7832 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3771))
{ /* Llib/thread.scm 556 */
 BgL_objectz00_bglt BgL_arg1940z00_7834; long BgL_arg1941z00_7835;
BgL_arg1940z00_7834 = 
(BgL_objectz00_bglt)(BgL_thz00_3771); 
BgL_arg1941z00_7835 = 
BGL_CLASS_DEPTH(BgL_classz00_7832); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 556 */
 long BgL_idxz00_7843;
BgL_idxz00_7843 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7834); 
{ /* Llib/thread.scm 556 */
 obj_t BgL_arg1933z00_7844;
{ /* Llib/thread.scm 556 */
 long BgL_arg1934z00_7845;
BgL_arg1934z00_7845 = 
(BgL_idxz00_7843+BgL_arg1941z00_7835); 
BgL_arg1933z00_7844 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7845); } 
BgL_test3840z00_12284 = 
(BgL_arg1933z00_7844==BgL_classz00_7832); } }  else 
{ /* Llib/thread.scm 556 */
 bool_t BgL_res2051z00_7850;
{ /* Llib/thread.scm 556 */
 obj_t BgL_oclassz00_7854;
{ /* Llib/thread.scm 556 */
 long BgL_arg1945z00_7856;
{ /* Llib/thread.scm 556 */
 long BgL_arg1946z00_7857;
BgL_arg1946z00_7857 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7834); 
BgL_arg1945z00_7856 = 
(BgL_arg1946z00_7857-OBJECT_TYPE); } 
BgL_oclassz00_7854 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7856); } 
{ /* Llib/thread.scm 556 */
 bool_t BgL__ortest_1147z00_7863;
BgL__ortest_1147z00_7863 = 
(BgL_classz00_7832==BgL_oclassz00_7854); 
if(BgL__ortest_1147z00_7863)
{ /* Llib/thread.scm 556 */
BgL_res2051z00_7850 = BgL__ortest_1147z00_7863; }  else 
{ /* Llib/thread.scm 556 */
 long BgL_odepthz00_7864;
BgL_odepthz00_7864 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7854); 
if(
(BgL_arg1941z00_7835<BgL_odepthz00_7864))
{ /* Llib/thread.scm 556 */
 obj_t BgL_arg1935z00_7868;
BgL_arg1935z00_7868 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7854, BgL_arg1941z00_7835); 
BgL_res2051z00_7850 = 
(BgL_arg1935z00_7868==BgL_classz00_7832); }  else 
{ /* Llib/thread.scm 556 */
BgL_res2051z00_7850 = ((bool_t)0); } } } } 
BgL_test3840z00_12284 = BgL_res2051z00_7850; } }  else 
{ /* Llib/thread.scm 556 */
BgL_test3840z00_12284 = ((bool_t)0)
; } } 
if(BgL_test3840z00_12284)
{ /* Llib/thread.scm 556 */
BgL_thz00_7869 = 
((BgL_nothreadz00_bglt)BgL_thz00_3771); }  else 
{ 
 obj_t BgL_auxz00_12306;
BgL_auxz00_12306 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(23895L), BGl_string2881z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3771); 
FAILURE(BgL_auxz00_12306,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 557 */
 bool_t BgL_test3845z00_12310;
{ /* Llib/thread.scm 557 */
 obj_t BgL_arg1578z00_7870;
BgL_arg1578z00_7870 = 
(((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7869))->BgL_endzd2exceptionzd2); 
{ /* Llib/thread.scm 557 */
 obj_t BgL_classz00_7871;
BgL_classz00_7871 = BGl_z62exceptionz62zz__objectz00; 
if(
BGL_OBJECTP(BgL_arg1578z00_7870))
{ /* Llib/thread.scm 557 */
 BgL_objectz00_bglt BgL_arg1938z00_7872;
BgL_arg1938z00_7872 = 
(BgL_objectz00_bglt)(BgL_arg1578z00_7870); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 557 */
 long BgL_idxz00_7873;
BgL_idxz00_7873 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1938z00_7872); 
{ /* Llib/thread.scm 557 */
 obj_t BgL_arg1933z00_7874;
{ /* Llib/thread.scm 557 */
 long BgL_arg1934z00_7875;
BgL_arg1934z00_7875 = 
(BgL_idxz00_7873+2L); 
{ /* Llib/thread.scm 557 */
 obj_t BgL_vectorz00_7876;
{ /* Llib/thread.scm 557 */
 obj_t BgL_aux2394z00_7877;
BgL_aux2394z00_7877 = BGl_za2inheritancesza2z00zz__objectz00; 
if(
VECTORP(BgL_aux2394z00_7877))
{ /* Llib/thread.scm 557 */
BgL_vectorz00_7876 = BgL_aux2394z00_7877; }  else 
{ 
 obj_t BgL_auxz00_12321;
BgL_auxz00_12321 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(23958L), BGl_string2880z00zz__threadz00, BGl_string2458z00zz__threadz00, BgL_aux2394z00_7877); 
FAILURE(BgL_auxz00_12321,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 557 */
 bool_t BgL_test3849z00_12325;
{ /* Llib/thread.scm 557 */
 long BgL_tmpz00_12326;
BgL_tmpz00_12326 = 
VECTOR_LENGTH(BgL_vectorz00_7876); 
BgL_test3849z00_12325 = 
BOUND_CHECK(BgL_arg1934z00_7875, BgL_tmpz00_12326); } 
if(BgL_test3849z00_12325)
{ /* Llib/thread.scm 557 */
BgL_arg1933z00_7874 = 
VECTOR_REF(BgL_vectorz00_7876,BgL_arg1934z00_7875); }  else 
{ 
 obj_t BgL_auxz00_12330;
BgL_auxz00_12330 = 
BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(23958L), BGl_string2459z00zz__threadz00, BgL_vectorz00_7876, 
(int)(
VECTOR_LENGTH(BgL_vectorz00_7876)), 
(int)(BgL_arg1934z00_7875)); 
FAILURE(BgL_auxz00_12330,BFALSE,BFALSE);} } } } 
BgL_test3845z00_12310 = 
(BgL_arg1933z00_7874==BgL_classz00_7871); } }  else 
{ /* Llib/thread.scm 557 */
 bool_t BgL_res2049z00_7878;
{ /* Llib/thread.scm 557 */
 obj_t BgL_oclassz00_7879;
{ /* Llib/thread.scm 557 */
 long BgL_arg1945z00_7880;
{ /* Llib/thread.scm 557 */
 long BgL_arg1946z00_7881;
BgL_arg1946z00_7881 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1938z00_7872); 
BgL_arg1945z00_7880 = 
(BgL_arg1946z00_7881-OBJECT_TYPE); } 
{ /* Llib/thread.scm 557 */
 obj_t BgL_vectorz00_7882;
{ /* Llib/thread.scm 557 */
 obj_t BgL_aux2396z00_7883;
BgL_aux2396z00_7883 = BGl_za2classesza2z00zz__objectz00; 
if(
VECTORP(BgL_aux2396z00_7883))
{ /* Llib/thread.scm 557 */
BgL_vectorz00_7882 = BgL_aux2396z00_7883; }  else 
{ 
 obj_t BgL_auxz00_12342;
BgL_auxz00_12342 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(23958L), BGl_string2880z00zz__threadz00, BGl_string2458z00zz__threadz00, BgL_aux2396z00_7883); 
FAILURE(BgL_auxz00_12342,BFALSE,BFALSE);} } 
BgL_oclassz00_7879 = 
VECTOR_REF(BgL_vectorz00_7882,BgL_arg1945z00_7880); } } 
{ /* Llib/thread.scm 557 */
 bool_t BgL__ortest_1147z00_7884;
BgL__ortest_1147z00_7884 = 
(BgL_classz00_7871==BgL_oclassz00_7879); 
if(BgL__ortest_1147z00_7884)
{ /* Llib/thread.scm 557 */
BgL_res2049z00_7878 = BgL__ortest_1147z00_7884; }  else 
{ /* Llib/thread.scm 557 */
 long BgL_odepthz00_7885;
{ /* Llib/thread.scm 557 */
 obj_t BgL_tmpz00_12349;
if(
BGl_classzf3zf3zz__objectz00(BgL_oclassz00_7879))
{ /* Llib/thread.scm 557 */
BgL_tmpz00_12349 = BgL_oclassz00_7879
; }  else 
{ 
 obj_t BgL_auxz00_12352;
BgL_auxz00_12352 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(23958L), BGl_string2880z00zz__threadz00, BGl_string2460z00zz__threadz00, BgL_oclassz00_7879); 
FAILURE(BgL_auxz00_12352,BFALSE,BFALSE);} 
BgL_odepthz00_7885 = 
BGL_CLASS_DEPTH(BgL_tmpz00_12349); } 
if(
(2L<BgL_odepthz00_7885))
{ /* Llib/thread.scm 557 */
 obj_t BgL_arg1935z00_7886;
{ /* Llib/thread.scm 557 */
 obj_t BgL_tmpz00_12359;
if(
BGl_classzf3zf3zz__objectz00(BgL_oclassz00_7879))
{ /* Llib/thread.scm 557 */
BgL_tmpz00_12359 = BgL_oclassz00_7879
; }  else 
{ 
 obj_t BgL_auxz00_12362;
BgL_auxz00_12362 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(23958L), BGl_string2880z00zz__threadz00, BGl_string2460z00zz__threadz00, BgL_oclassz00_7879); 
FAILURE(BgL_auxz00_12362,BFALSE,BFALSE);} 
BgL_arg1935z00_7886 = 
BGL_CLASS_ANCESTORS_REF(BgL_tmpz00_12359, 2L); } 
BgL_res2049z00_7878 = 
(BgL_arg1935z00_7886==BgL_classz00_7871); }  else 
{ /* Llib/thread.scm 557 */
BgL_res2049z00_7878 = ((bool_t)0); } } } } 
BgL_test3845z00_12310 = BgL_res2049z00_7878; } }  else 
{ /* Llib/thread.scm 557 */
BgL_test3845z00_12310 = ((bool_t)0)
; } } } 
if(BgL_test3845z00_12310)
{ /* Llib/thread.scm 557 */
return 
BGl_raisez00zz__errorz00(
(((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7869))->BgL_endzd2exceptionzd2));}  else 
{ /* Llib/thread.scm 557 */
return 
(((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7869))->BgL_endzd2resultzd2);} } } } 

}



/* &thread-start-joinabl1235 */
obj_t BGl_z62threadzd2startzd2joinabl1235z62zz__threadz00(obj_t BgL_envz00_3773, obj_t BgL_thz00_3774)
{
{ /* Llib/thread.scm 549 */
{ /* Llib/thread.scm 550 */
 BgL_nothreadz00_bglt BgL_thz00_7924;
{ /* Llib/thread.scm 550 */
 bool_t BgL_test3855z00_12371;
{ /* Llib/thread.scm 550 */
 obj_t BgL_classz00_7887;
BgL_classz00_7887 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3774))
{ /* Llib/thread.scm 550 */
 BgL_objectz00_bglt BgL_arg1940z00_7889; long BgL_arg1941z00_7890;
BgL_arg1940z00_7889 = 
(BgL_objectz00_bglt)(BgL_thz00_3774); 
BgL_arg1941z00_7890 = 
BGL_CLASS_DEPTH(BgL_classz00_7887); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 550 */
 long BgL_idxz00_7898;
BgL_idxz00_7898 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7889); 
{ /* Llib/thread.scm 550 */
 obj_t BgL_arg1933z00_7899;
{ /* Llib/thread.scm 550 */
 long BgL_arg1934z00_7900;
BgL_arg1934z00_7900 = 
(BgL_idxz00_7898+BgL_arg1941z00_7890); 
BgL_arg1933z00_7899 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7900); } 
BgL_test3855z00_12371 = 
(BgL_arg1933z00_7899==BgL_classz00_7887); } }  else 
{ /* Llib/thread.scm 550 */
 bool_t BgL_res2051z00_7905;
{ /* Llib/thread.scm 550 */
 obj_t BgL_oclassz00_7909;
{ /* Llib/thread.scm 550 */
 long BgL_arg1945z00_7911;
{ /* Llib/thread.scm 550 */
 long BgL_arg1946z00_7912;
BgL_arg1946z00_7912 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7889); 
BgL_arg1945z00_7911 = 
(BgL_arg1946z00_7912-OBJECT_TYPE); } 
BgL_oclassz00_7909 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7911); } 
{ /* Llib/thread.scm 550 */
 bool_t BgL__ortest_1147z00_7918;
BgL__ortest_1147z00_7918 = 
(BgL_classz00_7887==BgL_oclassz00_7909); 
if(BgL__ortest_1147z00_7918)
{ /* Llib/thread.scm 550 */
BgL_res2051z00_7905 = BgL__ortest_1147z00_7918; }  else 
{ /* Llib/thread.scm 550 */
 long BgL_odepthz00_7919;
BgL_odepthz00_7919 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7909); 
if(
(BgL_arg1941z00_7890<BgL_odepthz00_7919))
{ /* Llib/thread.scm 550 */
 obj_t BgL_arg1935z00_7923;
BgL_arg1935z00_7923 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7909, BgL_arg1941z00_7890); 
BgL_res2051z00_7905 = 
(BgL_arg1935z00_7923==BgL_classz00_7887); }  else 
{ /* Llib/thread.scm 550 */
BgL_res2051z00_7905 = ((bool_t)0); } } } } 
BgL_test3855z00_12371 = BgL_res2051z00_7905; } }  else 
{ /* Llib/thread.scm 550 */
BgL_test3855z00_12371 = ((bool_t)0)
; } } 
if(BgL_test3855z00_12371)
{ /* Llib/thread.scm 550 */
BgL_thz00_7924 = 
((BgL_nothreadz00_bglt)BgL_thz00_3774); }  else 
{ 
 obj_t BgL_auxz00_12393;
BgL_auxz00_12393 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(23596L), BGl_string2882z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3774); 
FAILURE(BgL_auxz00_12393,BFALSE,BFALSE);} } 
return 
BGl_threadzd2startz12zc0zz__threadz00(
((BgL_threadz00_bglt)BgL_thz00_7924), BNIL);} } 

}



/* &thread-start!-nothre1233 */
obj_t BGl_z62threadzd2startz12zd2nothre1233z70zz__threadz00(obj_t BgL_envz00_3775, obj_t BgL_thz00_3776, obj_t BgL_scdz00_3777)
{
{ /* Llib/thread.scm 533 */
{ /* Llib/thread.scm 534 */
 BgL_nothreadz00_bglt BgL_thz00_7962;
{ /* Llib/thread.scm 534 */
 bool_t BgL_test3860z00_12399;
{ /* Llib/thread.scm 534 */
 obj_t BgL_classz00_7925;
BgL_classz00_7925 = BGl_nothreadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_thz00_3776))
{ /* Llib/thread.scm 534 */
 BgL_objectz00_bglt BgL_arg1940z00_7927; long BgL_arg1941z00_7928;
BgL_arg1940z00_7927 = 
(BgL_objectz00_bglt)(BgL_thz00_3776); 
BgL_arg1941z00_7928 = 
BGL_CLASS_DEPTH(BgL_classz00_7925); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 534 */
 long BgL_idxz00_7936;
BgL_idxz00_7936 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7927); 
{ /* Llib/thread.scm 534 */
 obj_t BgL_arg1933z00_7937;
{ /* Llib/thread.scm 534 */
 long BgL_arg1934z00_7938;
BgL_arg1934z00_7938 = 
(BgL_idxz00_7936+BgL_arg1941z00_7928); 
BgL_arg1933z00_7937 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7938); } 
BgL_test3860z00_12399 = 
(BgL_arg1933z00_7937==BgL_classz00_7925); } }  else 
{ /* Llib/thread.scm 534 */
 bool_t BgL_res2051z00_7943;
{ /* Llib/thread.scm 534 */
 obj_t BgL_oclassz00_7947;
{ /* Llib/thread.scm 534 */
 long BgL_arg1945z00_7949;
{ /* Llib/thread.scm 534 */
 long BgL_arg1946z00_7950;
BgL_arg1946z00_7950 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7927); 
BgL_arg1945z00_7949 = 
(BgL_arg1946z00_7950-OBJECT_TYPE); } 
BgL_oclassz00_7947 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_7949); } 
{ /* Llib/thread.scm 534 */
 bool_t BgL__ortest_1147z00_7956;
BgL__ortest_1147z00_7956 = 
(BgL_classz00_7925==BgL_oclassz00_7947); 
if(BgL__ortest_1147z00_7956)
{ /* Llib/thread.scm 534 */
BgL_res2051z00_7943 = BgL__ortest_1147z00_7956; }  else 
{ /* Llib/thread.scm 534 */
 long BgL_odepthz00_7957;
BgL_odepthz00_7957 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7947); 
if(
(BgL_arg1941z00_7928<BgL_odepthz00_7957))
{ /* Llib/thread.scm 534 */
 obj_t BgL_arg1935z00_7961;
BgL_arg1935z00_7961 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7947, BgL_arg1941z00_7928); 
BgL_res2051z00_7943 = 
(BgL_arg1935z00_7961==BgL_classz00_7925); }  else 
{ /* Llib/thread.scm 534 */
BgL_res2051z00_7943 = ((bool_t)0); } } } } 
BgL_test3860z00_12399 = BgL_res2051z00_7943; } }  else 
{ /* Llib/thread.scm 534 */
BgL_test3860z00_12399 = ((bool_t)0)
; } } 
if(BgL_test3860z00_12399)
{ /* Llib/thread.scm 534 */
BgL_thz00_7962 = 
((BgL_nothreadz00_bglt)BgL_thz00_3776); }  else 
{ 
 obj_t BgL_auxz00_12421;
BgL_auxz00_12421 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(23004L), BGl_string2884z00zz__threadz00, BGl_string2440z00zz__threadz00, BgL_thz00_3776); 
FAILURE(BgL_auxz00_12421,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 534 */
 obj_t BgL_threadz00_7963;
BgL_threadz00_7963 = BGl_za2nothreadzd2currentza2zd2zz__threadz00; 
{ /* Llib/thread.scm 535 */
 obj_t BgL_exitd1067z00_7964;
BgL_exitd1067z00_7964 = 
BGL_EXITD_TOP_AS_OBJ(); 
{ /* Llib/thread.scm 544 */
 obj_t BgL_zc3z04anonymousza31569ze3z87_7965;
BgL_zc3z04anonymousza31569ze3z87_7965 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31569ze3ze5zz__threadz00, 
(int)(0L), 
(int)(1L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31569ze3z87_7965, 
(int)(0L), BgL_threadz00_7963); 
{ /* Llib/thread.scm 535 */
 obj_t BgL_arg1929z00_7966;
{ /* Llib/thread.scm 535 */
 obj_t BgL_arg1930z00_7967;
BgL_arg1930z00_7967 = 
BGL_EXITD_PROTECT(BgL_exitd1067z00_7964); 
BgL_arg1929z00_7966 = 
MAKE_YOUNG_PAIR(BgL_zc3z04anonymousza31569ze3z87_7965, BgL_arg1930z00_7967); } 
BGL_EXITD_PROTECT_SET(BgL_exitd1067z00_7964, BgL_arg1929z00_7966); BUNSPEC; } 
{ /* Llib/thread.scm 536 */
 BgL_nothreadz00_bglt BgL_tmp1069z00_7968;
BGl_za2nothreadzd2currentza2zd2zz__threadz00 = 
((obj_t)BgL_thz00_7962); 
{ /* Llib/thread.scm 538 */
 obj_t BgL_env1080z00_7969;
BgL_env1080z00_7969 = 
BGL_CURRENT_DYNAMIC_ENV(); 
{ /* Llib/thread.scm 538 */
 obj_t BgL_cell1075z00_7970;
BgL_cell1075z00_7970 = 
MAKE_STACK_CELL(BUNSPEC); 
{ /* Llib/thread.scm 538 */
 obj_t BgL_val1079z00_7971;
BgL_val1079z00_7971 = 
BGl_zc3z04exitza31564ze3ze70z60zz__threadz00(BgL_thz00_7962, BgL_cell1075z00_7970, BgL_env1080z00_7969); 
if(
(BgL_val1079z00_7971==BgL_cell1075z00_7970))
{ /* Llib/thread.scm 538 */
{ /* Llib/thread.scm 538 */
 int BgL_tmpz00_12440;
BgL_tmpz00_12440 = 
(int)(0L); 
BGL_SIGSETMASK(BgL_tmpz00_12440); } 
{ /* Llib/thread.scm 538 */
 obj_t BgL_arg1563z00_7972;
BgL_arg1563z00_7972 = 
CELL_REF(
((obj_t)BgL_val1079z00_7971)); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_thz00_7962))->BgL_endzd2exceptionzd2)=((obj_t)BgL_arg1563z00_7972),BUNSPEC); 
BGl_raisez00zz__errorz00(BgL_arg1563z00_7972); } }  else 
{ /* Llib/thread.scm 538 */BgL_val1079z00_7971; } } } } 
BgL_tmp1069z00_7968 = BgL_thz00_7962; 
{ /* Llib/thread.scm 535 */
 bool_t BgL_test3866z00_12447;
{ /* Llib/thread.scm 535 */
 obj_t BgL_arg1928z00_7973;
BgL_arg1928z00_7973 = 
BGL_EXITD_PROTECT(BgL_exitd1067z00_7964); 
BgL_test3866z00_12447 = 
PAIRP(BgL_arg1928z00_7973); } 
if(BgL_test3866z00_12447)
{ /* Llib/thread.scm 535 */
 obj_t BgL_arg1926z00_7974;
{ /* Llib/thread.scm 535 */
 obj_t BgL_arg1927z00_7975;
BgL_arg1927z00_7975 = 
BGL_EXITD_PROTECT(BgL_exitd1067z00_7964); 
{ /* Llib/thread.scm 535 */
 obj_t BgL_pairz00_7976;
if(
PAIRP(BgL_arg1927z00_7975))
{ /* Llib/thread.scm 535 */
BgL_pairz00_7976 = BgL_arg1927z00_7975; }  else 
{ 
 obj_t BgL_auxz00_12453;
BgL_auxz00_12453 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(23045L), BGl_string2883z00zz__threadz00, BGl_string2445z00zz__threadz00, BgL_arg1927z00_7975); 
FAILURE(BgL_auxz00_12453,BFALSE,BFALSE);} 
BgL_arg1926z00_7974 = 
CDR(BgL_pairz00_7976); } } 
BGL_EXITD_PROTECT_SET(BgL_exitd1067z00_7964, BgL_arg1926z00_7974); BUNSPEC; }  else 
{ /* Llib/thread.scm 535 */BFALSE; } } 
BGl_za2nothreadzd2currentza2zd2zz__threadz00 = BgL_threadz00_7963; 
return 
((obj_t)BgL_tmp1069z00_7968);} } } } } } 

}



/* <@exit:1564>~0 */
obj_t BGl_zc3z04exitza31564ze3ze70z60zz__threadz00(BgL_nothreadz00_bglt BgL_i1071z00_3812, obj_t BgL_cell1075z00_3811, obj_t BgL_env1080z00_3810)
{
{ /* Llib/thread.scm 538 */
jmp_buf_t jmpbuf; 
 void * BgL_an_exit1084z00_1746;
if( SET_EXIT(BgL_an_exit1084z00_1746 ) ) { 
return 
BGL_EXIT_VALUE();
} else {
#if( SIGSETJMP_SAVESIGS == 0 )
  // MS: CARE 5 jan 2021: see runtime/Clib/csystem.c
  // bgl_restore_signal_handlers();
#endif

BgL_an_exit1084z00_1746 = 
(void *)jmpbuf; 
PUSH_ENV_EXIT(BgL_env1080z00_3810, BgL_an_exit1084z00_1746, 1L); 
{ /* Llib/thread.scm 538 */
 obj_t BgL_escape1076z00_1747;
BgL_escape1076z00_1747 = 
BGL_ENV_EXITD_TOP_AS_OBJ(BgL_env1080z00_3810); 
{ /* Llib/thread.scm 538 */
 obj_t BgL_res1087z00_1748;
{ /* Llib/thread.scm 538 */
 obj_t BgL_ohs1072z00_1749;
BgL_ohs1072z00_1749 = 
BGL_ENV_ERROR_HANDLER_GET(BgL_env1080z00_3810); 
{ /* Llib/thread.scm 538 */
 obj_t BgL_hds1073z00_1750;
BgL_hds1073z00_1750 = 
MAKE_STACK_PAIR(BgL_escape1076z00_1747, BgL_cell1075z00_3811); 
BGL_ENV_ERROR_HANDLER_SET(BgL_env1080z00_3810, BgL_hds1073z00_1750); BUNSPEC; 
{ /* Llib/thread.scm 538 */
 obj_t BgL_exitd1081z00_1751;
BgL_exitd1081z00_1751 = 
BGL_ENV_EXITD_TOP_AS_OBJ(BgL_env1080z00_3810); 
{ /* Llib/thread.scm 538 */
 obj_t BgL_tmp1083z00_1752;
{ /* Llib/thread.scm 538 */
 obj_t BgL_arg1567z00_1755;
BgL_arg1567z00_1755 = 
BGL_EXITD_PROTECT(BgL_exitd1081z00_1751); 
BgL_tmp1083z00_1752 = 
MAKE_YOUNG_PAIR(BgL_ohs1072z00_1749, BgL_arg1567z00_1755); } 
{ /* Llib/thread.scm 538 */

BGL_EXITD_PROTECT_SET(BgL_exitd1081z00_1751, BgL_tmp1083z00_1752); BUNSPEC; 
{ /* Llib/thread.scm 538 */
 obj_t BgL_tmp1082z00_1753;
{ 
 obj_t BgL_auxz00_12471;
{ /* Llib/thread.scm 542 */
 obj_t BgL_fun1566z00_1754;
BgL_fun1566z00_1754 = 
(((BgL_nothreadz00_bglt)COBJECT(BgL_i1071z00_3812))->BgL_bodyz00); 
if(
PROCEDURE_CORRECT_ARITYP(BgL_fun1566z00_1754, 0L))
{ /* Llib/thread.scm 542 */
BgL_auxz00_12471 = 
(VA_PROCEDUREP( BgL_fun1566z00_1754 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_fun1566z00_1754))(BgL_fun1566z00_1754, BEOA) : ((obj_t (*)(obj_t))PROCEDURE_ENTRY(BgL_fun1566z00_1754))(BgL_fun1566z00_1754) )
; }  else 
{ /* Llib/thread.scm 542 */
FAILURE(BGl_string2885z00zz__threadz00,BGl_list2886z00zz__threadz00,BgL_fun1566z00_1754);} } 
BgL_tmp1082z00_1753 = 
((((BgL_nothreadz00_bglt)COBJECT(BgL_i1071z00_3812))->BgL_endzd2resultzd2)=((obj_t)BgL_auxz00_12471),BUNSPEC); } 
{ /* Llib/thread.scm 538 */
 bool_t BgL_test3869z00_12480;
{ /* Llib/thread.scm 538 */
 obj_t BgL_arg1928z00_3089;
BgL_arg1928z00_3089 = 
BGL_EXITD_PROTECT(BgL_exitd1081z00_1751); 
BgL_test3869z00_12480 = 
PAIRP(BgL_arg1928z00_3089); } 
if(BgL_test3869z00_12480)
{ /* Llib/thread.scm 538 */
 obj_t BgL_arg1926z00_3090;
{ /* Llib/thread.scm 538 */
 obj_t BgL_arg1927z00_3091;
BgL_arg1927z00_3091 = 
BGL_EXITD_PROTECT(BgL_exitd1081z00_1751); 
{ /* Llib/thread.scm 538 */
 obj_t BgL_pairz00_3092;
if(
PAIRP(BgL_arg1927z00_3091))
{ /* Llib/thread.scm 538 */
BgL_pairz00_3092 = BgL_arg1927z00_3091; }  else 
{ 
 obj_t BgL_auxz00_12486;
BgL_auxz00_12486 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(23160L), BGl_string2889z00zz__threadz00, BGl_string2445z00zz__threadz00, BgL_arg1927z00_3091); 
FAILURE(BgL_auxz00_12486,BFALSE,BFALSE);} 
BgL_arg1926z00_3090 = 
CDR(BgL_pairz00_3092); } } 
BGL_EXITD_PROTECT_SET(BgL_exitd1081z00_1751, BgL_arg1926z00_3090); BUNSPEC; }  else 
{ /* Llib/thread.scm 538 */BFALSE; } } 
BGL_ENV_ERROR_HANDLER_SET(BgL_env1080z00_3810, BgL_ohs1072z00_1749); BUNSPEC; 
BgL_res1087z00_1748 = BgL_tmp1082z00_1753; } } } } } } 
POP_ENV_EXIT(BgL_env1080z00_3810); 
return BgL_res1087z00_1748;} } 
}} 

}



/* &<@anonymous:1569> */
obj_t BGl_z62zc3z04anonymousza31569ze3ze5zz__threadz00(obj_t BgL_envz00_3778)
{
{ /* Llib/thread.scm 535 */
{ /* Llib/thread.scm 544 */
 obj_t BgL_threadz00_3779;
BgL_threadz00_3779 = 
PROCEDURE_REF(BgL_envz00_3778, 
(int)(0L)); 
return ( 
BGl_za2nothreadzd2currentza2zd2zz__threadz00 = BgL_threadz00_3779, BUNSPEC) ;} } 

}



/* &object-print-thread1194 */
obj_t BGl_z62objectzd2printzd2thread1194z62zz__threadz00(obj_t BgL_envz00_3780, obj_t BgL_oz00_3781, obj_t BgL_portz00_3782, obj_t BgL_printzd2slotzd2_3783)
{
{ /* Llib/thread.scm 378 */
{ /* Llib/thread.scm 379 */
 BgL_threadz00_bglt BgL_oz00_8014;
{ /* Llib/thread.scm 379 */
 bool_t BgL_test3871z00_12496;
{ /* Llib/thread.scm 379 */
 obj_t BgL_classz00_7977;
BgL_classz00_7977 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3781))
{ /* Llib/thread.scm 379 */
 BgL_objectz00_bglt BgL_arg1940z00_7979; long BgL_arg1941z00_7980;
BgL_arg1940z00_7979 = 
(BgL_objectz00_bglt)(BgL_oz00_3781); 
BgL_arg1941z00_7980 = 
BGL_CLASS_DEPTH(BgL_classz00_7977); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 379 */
 long BgL_idxz00_7988;
BgL_idxz00_7988 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_7979); 
{ /* Llib/thread.scm 379 */
 obj_t BgL_arg1933z00_7989;
{ /* Llib/thread.scm 379 */
 long BgL_arg1934z00_7990;
BgL_arg1934z00_7990 = 
(BgL_idxz00_7988+BgL_arg1941z00_7980); 
BgL_arg1933z00_7989 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_7990); } 
BgL_test3871z00_12496 = 
(BgL_arg1933z00_7989==BgL_classz00_7977); } }  else 
{ /* Llib/thread.scm 379 */
 bool_t BgL_res2051z00_7995;
{ /* Llib/thread.scm 379 */
 obj_t BgL_oclassz00_7999;
{ /* Llib/thread.scm 379 */
 long BgL_arg1945z00_8001;
{ /* Llib/thread.scm 379 */
 long BgL_arg1946z00_8002;
BgL_arg1946z00_8002 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_7979); 
BgL_arg1945z00_8001 = 
(BgL_arg1946z00_8002-OBJECT_TYPE); } 
BgL_oclassz00_7999 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_8001); } 
{ /* Llib/thread.scm 379 */
 bool_t BgL__ortest_1147z00_8008;
BgL__ortest_1147z00_8008 = 
(BgL_classz00_7977==BgL_oclassz00_7999); 
if(BgL__ortest_1147z00_8008)
{ /* Llib/thread.scm 379 */
BgL_res2051z00_7995 = BgL__ortest_1147z00_8008; }  else 
{ /* Llib/thread.scm 379 */
 long BgL_odepthz00_8009;
BgL_odepthz00_8009 = 
BGL_CLASS_DEPTH(BgL_oclassz00_7999); 
if(
(BgL_arg1941z00_7980<BgL_odepthz00_8009))
{ /* Llib/thread.scm 379 */
 obj_t BgL_arg1935z00_8013;
BgL_arg1935z00_8013 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_7999, BgL_arg1941z00_7980); 
BgL_res2051z00_7995 = 
(BgL_arg1935z00_8013==BgL_classz00_7977); }  else 
{ /* Llib/thread.scm 379 */
BgL_res2051z00_7995 = ((bool_t)0); } } } } 
BgL_test3871z00_12496 = BgL_res2051z00_7995; } }  else 
{ /* Llib/thread.scm 379 */
BgL_test3871z00_12496 = ((bool_t)0)
; } } 
if(BgL_test3871z00_12496)
{ /* Llib/thread.scm 379 */
BgL_oz00_8014 = 
((BgL_threadz00_bglt)BgL_oz00_3781); }  else 
{ 
 obj_t BgL_auxz00_12518;
BgL_auxz00_12518 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(15622L), BGl_string2890z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3781); 
FAILURE(BgL_auxz00_12518,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 379 */
 obj_t BgL_list1562z00_8015;
BgL_list1562z00_8015 = 
MAKE_YOUNG_PAIR(BgL_portz00_3782, BNIL); 
return 
BGl_objectzd2writezd2zz__objectz00(
((BgL_objectz00_bglt)BgL_oz00_8014), BgL_list1562z00_8015);} } } 

}



/* &object-write-thread1192 */
obj_t BGl_z62objectzd2writezd2thread1192z62zz__threadz00(obj_t BgL_envz00_3784, obj_t BgL_oz00_3785, obj_t BgL_portz00_3786)
{
{ /* Llib/thread.scm 369 */
{ /* Llib/thread.scm 370 */
 BgL_threadz00_bglt BgL_oz00_8053;
{ /* Llib/thread.scm 370 */
 bool_t BgL_test3876z00_12525;
{ /* Llib/thread.scm 370 */
 obj_t BgL_classz00_8016;
BgL_classz00_8016 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3785))
{ /* Llib/thread.scm 370 */
 BgL_objectz00_bglt BgL_arg1940z00_8018; long BgL_arg1941z00_8019;
BgL_arg1940z00_8018 = 
(BgL_objectz00_bglt)(BgL_oz00_3785); 
BgL_arg1941z00_8019 = 
BGL_CLASS_DEPTH(BgL_classz00_8016); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 370 */
 long BgL_idxz00_8027;
BgL_idxz00_8027 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_8018); 
{ /* Llib/thread.scm 370 */
 obj_t BgL_arg1933z00_8028;
{ /* Llib/thread.scm 370 */
 long BgL_arg1934z00_8029;
BgL_arg1934z00_8029 = 
(BgL_idxz00_8027+BgL_arg1941z00_8019); 
BgL_arg1933z00_8028 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_8029); } 
BgL_test3876z00_12525 = 
(BgL_arg1933z00_8028==BgL_classz00_8016); } }  else 
{ /* Llib/thread.scm 370 */
 bool_t BgL_res2051z00_8034;
{ /* Llib/thread.scm 370 */
 obj_t BgL_oclassz00_8038;
{ /* Llib/thread.scm 370 */
 long BgL_arg1945z00_8040;
{ /* Llib/thread.scm 370 */
 long BgL_arg1946z00_8041;
BgL_arg1946z00_8041 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_8018); 
BgL_arg1945z00_8040 = 
(BgL_arg1946z00_8041-OBJECT_TYPE); } 
BgL_oclassz00_8038 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_8040); } 
{ /* Llib/thread.scm 370 */
 bool_t BgL__ortest_1147z00_8047;
BgL__ortest_1147z00_8047 = 
(BgL_classz00_8016==BgL_oclassz00_8038); 
if(BgL__ortest_1147z00_8047)
{ /* Llib/thread.scm 370 */
BgL_res2051z00_8034 = BgL__ortest_1147z00_8047; }  else 
{ /* Llib/thread.scm 370 */
 long BgL_odepthz00_8048;
BgL_odepthz00_8048 = 
BGL_CLASS_DEPTH(BgL_oclassz00_8038); 
if(
(BgL_arg1941z00_8019<BgL_odepthz00_8048))
{ /* Llib/thread.scm 370 */
 obj_t BgL_arg1935z00_8052;
BgL_arg1935z00_8052 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_8038, BgL_arg1941z00_8019); 
BgL_res2051z00_8034 = 
(BgL_arg1935z00_8052==BgL_classz00_8016); }  else 
{ /* Llib/thread.scm 370 */
BgL_res2051z00_8034 = ((bool_t)0); } } } } 
BgL_test3876z00_12525 = BgL_res2051z00_8034; } }  else 
{ /* Llib/thread.scm 370 */
BgL_test3876z00_12525 = ((bool_t)0)
; } } 
if(BgL_test3876z00_12525)
{ /* Llib/thread.scm 370 */
BgL_oz00_8053 = 
((BgL_threadz00_bglt)BgL_oz00_3785); }  else 
{ 
 obj_t BgL_auxz00_12547;
BgL_auxz00_12547 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(15158L), BGl_string2893z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3785); 
FAILURE(BgL_auxz00_12547,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 370 */
 obj_t BgL_arg1548z00_8054;
if(
PAIRP(BgL_portz00_3786))
{ /* Llib/thread.scm 370 */
BgL_arg1548z00_8054 = 
CAR(BgL_portz00_3786); }  else 
{ /* Llib/thread.scm 370 */
 obj_t BgL_tmpz00_12554;
BgL_tmpz00_12554 = 
BGL_CURRENT_DYNAMIC_ENV(); 
BgL_arg1548z00_8054 = 
BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_12554); } 
{ /* Llib/thread.scm 372 */
 obj_t BgL_zc3z04anonymousza31552ze3z87_8055;
BgL_zc3z04anonymousza31552ze3z87_8055 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31552ze3ze5zz__threadz00, 
(int)(0L), 
(int)(1L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31552ze3z87_8055, 
(int)(0L), 
((obj_t)BgL_oz00_8053)); 
{ /* Llib/thread.scm 370 */
 obj_t BgL_auxz00_12563;
if(
OUTPUT_PORTP(BgL_arg1548z00_8054))
{ /* Llib/thread.scm 370 */
BgL_auxz00_12563 = BgL_arg1548z00_8054
; }  else 
{ 
 obj_t BgL_auxz00_12566;
BgL_auxz00_12566 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(15207L), BGl_string2891z00zz__threadz00, BGl_string2892z00zz__threadz00, BgL_arg1548z00_8054); 
FAILURE(BgL_auxz00_12566,BFALSE,BFALSE);} 
return 
BGl_withzd2outputzd2tozd2portzd2zz__r4_ports_6_10_1z00(BgL_auxz00_12563, BgL_zc3z04anonymousza31552ze3z87_8055);} } } } } 

}



/* &<@anonymous:1552> */
obj_t BGl_z62zc3z04anonymousza31552ze3ze5zz__threadz00(obj_t BgL_envz00_3787)
{
{ /* Llib/thread.scm 371 */
{ /* Llib/thread.scm 372 */
 BgL_threadz00_bglt BgL_oz00_3788;
BgL_oz00_3788 = 
((BgL_threadz00_bglt)
PROCEDURE_REF(BgL_envz00_3787, 
(int)(0L))); 
{ /* Llib/thread.scm 373 */
 obj_t BgL_arg1553z00_8056; obj_t BgL_arg1554z00_8057;
{ /* Llib/thread.scm 373 */
 obj_t BgL_arg1560z00_8058;
{ /* Llib/thread.scm 373 */
 long BgL_arg1945z00_8059;
{ /* Llib/thread.scm 373 */
 long BgL_arg1946z00_8060;
BgL_arg1946z00_8060 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_oz00_3788)); 
BgL_arg1945z00_8059 = 
(BgL_arg1946z00_8060-OBJECT_TYPE); } 
{ /* Llib/thread.scm 373 */
 obj_t BgL_vectorz00_8061;
{ /* Llib/thread.scm 373 */
 obj_t BgL_aux2419z00_8062;
BgL_aux2419z00_8062 = BGl_za2classesza2z00zz__objectz00; 
if(
VECTORP(BgL_aux2419z00_8062))
{ /* Llib/thread.scm 373 */
BgL_vectorz00_8061 = BgL_aux2419z00_8062; }  else 
{ 
 obj_t BgL_auxz00_12579;
BgL_auxz00_12579 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(15304L), BGl_string2894z00zz__threadz00, BGl_string2458z00zz__threadz00, BgL_aux2419z00_8062); 
FAILURE(BgL_auxz00_12579,BFALSE,BFALSE);} } 
BgL_arg1560z00_8058 = 
VECTOR_REF(BgL_vectorz00_8061,BgL_arg1945z00_8059); } } 
{ /* Llib/thread.scm 373 */
 obj_t BgL_auxz00_12584;
if(
BGl_classzf3zf3zz__objectz00(BgL_arg1560z00_8058))
{ /* Llib/thread.scm 373 */
BgL_auxz00_12584 = BgL_arg1560z00_8058
; }  else 
{ 
 obj_t BgL_auxz00_12587;
BgL_auxz00_12587 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(15319L), BGl_string2894z00zz__threadz00, BGl_string2460z00zz__threadz00, BgL_arg1560z00_8058); 
FAILURE(BgL_auxz00_12587,BFALSE,BFALSE);} 
BgL_arg1553z00_8056 = 
BGl_classzd2namezd2zz__objectz00(BgL_auxz00_12584); } } 
BgL_arg1554z00_8057 = 
(((BgL_threadz00_bglt)COBJECT(BgL_oz00_3788))->BgL_namez00); 
{ /* Llib/thread.scm 373 */
 obj_t BgL_list1555z00_8063;
{ /* Llib/thread.scm 373 */
 obj_t BgL_arg1556z00_8064;
{ /* Llib/thread.scm 373 */
 obj_t BgL_arg1557z00_8065;
{ /* Llib/thread.scm 373 */
 obj_t BgL_arg1558z00_8066;
{ /* Llib/thread.scm 373 */
 obj_t BgL_arg1559z00_8067;
BgL_arg1559z00_8067 = 
MAKE_YOUNG_PAIR(BGl_string2895z00zz__threadz00, BNIL); 
BgL_arg1558z00_8066 = 
MAKE_YOUNG_PAIR(BgL_arg1554z00_8057, BgL_arg1559z00_8067); } 
BgL_arg1557z00_8065 = 
MAKE_YOUNG_PAIR(BGl_string2896z00zz__threadz00, BgL_arg1558z00_8066); } 
BgL_arg1556z00_8064 = 
MAKE_YOUNG_PAIR(BgL_arg1553z00_8056, BgL_arg1557z00_8065); } 
BgL_list1555z00_8063 = 
MAKE_YOUNG_PAIR(BGl_string2897z00zz__threadz00, BgL_arg1556z00_8064); } 
return 
BGl_displayza2za2zz__r4_output_6_10_3z00(BgL_list1555z00_8063);} } } } 

}



/* &object-display-threa1190 */
obj_t BGl_z62objectzd2displayzd2threa1190z62zz__threadz00(obj_t BgL_envz00_3789, obj_t BgL_oz00_3790, obj_t BgL_portz00_3791)
{
{ /* Llib/thread.scm 360 */
{ /* Llib/thread.scm 361 */
 BgL_threadz00_bglt BgL_oz00_8105;
{ /* Llib/thread.scm 361 */
 bool_t BgL_test3885z00_12599;
{ /* Llib/thread.scm 361 */
 obj_t BgL_classz00_8068;
BgL_classz00_8068 = BGl_threadz00zz__threadz00; 
if(
BGL_OBJECTP(BgL_oz00_3790))
{ /* Llib/thread.scm 361 */
 BgL_objectz00_bglt BgL_arg1940z00_8070; long BgL_arg1941z00_8071;
BgL_arg1940z00_8070 = 
(BgL_objectz00_bglt)(BgL_oz00_3790); 
BgL_arg1941z00_8071 = 
BGL_CLASS_DEPTH(BgL_classz00_8068); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 361 */
 long BgL_idxz00_8079;
BgL_idxz00_8079 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_8070); 
{ /* Llib/thread.scm 361 */
 obj_t BgL_arg1933z00_8080;
{ /* Llib/thread.scm 361 */
 long BgL_arg1934z00_8081;
BgL_arg1934z00_8081 = 
(BgL_idxz00_8079+BgL_arg1941z00_8071); 
BgL_arg1933z00_8080 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_8081); } 
BgL_test3885z00_12599 = 
(BgL_arg1933z00_8080==BgL_classz00_8068); } }  else 
{ /* Llib/thread.scm 361 */
 bool_t BgL_res2051z00_8086;
{ /* Llib/thread.scm 361 */
 obj_t BgL_oclassz00_8090;
{ /* Llib/thread.scm 361 */
 long BgL_arg1945z00_8092;
{ /* Llib/thread.scm 361 */
 long BgL_arg1946z00_8093;
BgL_arg1946z00_8093 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_8070); 
BgL_arg1945z00_8092 = 
(BgL_arg1946z00_8093-OBJECT_TYPE); } 
BgL_oclassz00_8090 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_8092); } 
{ /* Llib/thread.scm 361 */
 bool_t BgL__ortest_1147z00_8099;
BgL__ortest_1147z00_8099 = 
(BgL_classz00_8068==BgL_oclassz00_8090); 
if(BgL__ortest_1147z00_8099)
{ /* Llib/thread.scm 361 */
BgL_res2051z00_8086 = BgL__ortest_1147z00_8099; }  else 
{ /* Llib/thread.scm 361 */
 long BgL_odepthz00_8100;
BgL_odepthz00_8100 = 
BGL_CLASS_DEPTH(BgL_oclassz00_8090); 
if(
(BgL_arg1941z00_8071<BgL_odepthz00_8100))
{ /* Llib/thread.scm 361 */
 obj_t BgL_arg1935z00_8104;
BgL_arg1935z00_8104 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_8090, BgL_arg1941z00_8071); 
BgL_res2051z00_8086 = 
(BgL_arg1935z00_8104==BgL_classz00_8068); }  else 
{ /* Llib/thread.scm 361 */
BgL_res2051z00_8086 = ((bool_t)0); } } } } 
BgL_test3885z00_12599 = BgL_res2051z00_8086; } }  else 
{ /* Llib/thread.scm 361 */
BgL_test3885z00_12599 = ((bool_t)0)
; } } 
if(BgL_test3885z00_12599)
{ /* Llib/thread.scm 361 */
BgL_oz00_8105 = 
((BgL_threadz00_bglt)BgL_oz00_3790); }  else 
{ 
 obj_t BgL_auxz00_12621;
BgL_auxz00_12621 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14682L), BGl_string2899z00zz__threadz00, BGl_string2454z00zz__threadz00, BgL_oz00_3790); 
FAILURE(BgL_auxz00_12621,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 361 */
 obj_t BgL_arg1531z00_8106;
if(
PAIRP(BgL_portz00_3791))
{ /* Llib/thread.scm 361 */
BgL_arg1531z00_8106 = 
CAR(BgL_portz00_3791); }  else 
{ /* Llib/thread.scm 361 */
 obj_t BgL_tmpz00_12628;
BgL_tmpz00_12628 = 
BGL_CURRENT_DYNAMIC_ENV(); 
BgL_arg1531z00_8106 = 
BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_12628); } 
{ /* Llib/thread.scm 363 */
 obj_t BgL_zc3z04anonymousza31534ze3z87_8107;
BgL_zc3z04anonymousza31534ze3z87_8107 = 
MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31534ze3ze5zz__threadz00, 
(int)(0L), 
(int)(1L)); 
PROCEDURE_SET(BgL_zc3z04anonymousza31534ze3z87_8107, 
(int)(0L), 
((obj_t)BgL_oz00_8105)); 
{ /* Llib/thread.scm 361 */
 obj_t BgL_auxz00_12637;
if(
OUTPUT_PORTP(BgL_arg1531z00_8106))
{ /* Llib/thread.scm 361 */
BgL_auxz00_12637 = BgL_arg1531z00_8106
; }  else 
{ 
 obj_t BgL_auxz00_12640;
BgL_auxz00_12640 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14731L), BGl_string2898z00zz__threadz00, BGl_string2892z00zz__threadz00, BgL_arg1531z00_8106); 
FAILURE(BgL_auxz00_12640,BFALSE,BFALSE);} 
return 
BGl_withzd2outputzd2tozd2portzd2zz__r4_ports_6_10_1z00(BgL_auxz00_12637, BgL_zc3z04anonymousza31534ze3z87_8107);} } } } } 

}



/* &<@anonymous:1534> */
obj_t BGl_z62zc3z04anonymousza31534ze3ze5zz__threadz00(obj_t BgL_envz00_3792)
{
{ /* Llib/thread.scm 362 */
{ /* Llib/thread.scm 363 */
 BgL_threadz00_bglt BgL_oz00_3793;
BgL_oz00_3793 = 
((BgL_threadz00_bglt)
PROCEDURE_REF(BgL_envz00_3792, 
(int)(0L))); 
{ /* Llib/thread.scm 364 */
 obj_t BgL_arg1535z00_8108; obj_t BgL_arg1536z00_8109;
{ /* Llib/thread.scm 364 */
 obj_t BgL_arg1546z00_8110;
{ /* Llib/thread.scm 364 */
 long BgL_arg1945z00_8111;
{ /* Llib/thread.scm 364 */
 long BgL_arg1946z00_8112;
BgL_arg1946z00_8112 = 
BGL_OBJECT_CLASS_NUM(
((BgL_objectz00_bglt)BgL_oz00_3793)); 
BgL_arg1945z00_8111 = 
(BgL_arg1946z00_8112-OBJECT_TYPE); } 
{ /* Llib/thread.scm 364 */
 obj_t BgL_vectorz00_8113;
{ /* Llib/thread.scm 364 */
 obj_t BgL_aux2427z00_8114;
BgL_aux2427z00_8114 = BGl_za2classesza2z00zz__objectz00; 
if(
VECTORP(BgL_aux2427z00_8114))
{ /* Llib/thread.scm 364 */
BgL_vectorz00_8113 = BgL_aux2427z00_8114; }  else 
{ 
 obj_t BgL_auxz00_12653;
BgL_auxz00_12653 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14828L), BGl_string2900z00zz__threadz00, BGl_string2458z00zz__threadz00, BgL_aux2427z00_8114); 
FAILURE(BgL_auxz00_12653,BFALSE,BFALSE);} } 
BgL_arg1546z00_8110 = 
VECTOR_REF(BgL_vectorz00_8113,BgL_arg1945z00_8111); } } 
{ /* Llib/thread.scm 364 */
 obj_t BgL_auxz00_12658;
if(
BGl_classzf3zf3zz__objectz00(BgL_arg1546z00_8110))
{ /* Llib/thread.scm 364 */
BgL_auxz00_12658 = BgL_arg1546z00_8110
; }  else 
{ 
 obj_t BgL_auxz00_12661;
BgL_auxz00_12661 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(14843L), BGl_string2900z00zz__threadz00, BGl_string2460z00zz__threadz00, BgL_arg1546z00_8110); 
FAILURE(BgL_auxz00_12661,BFALSE,BFALSE);} 
BgL_arg1535z00_8108 = 
BGl_classzd2namezd2zz__objectz00(BgL_auxz00_12658); } } 
BgL_arg1536z00_8109 = 
(((BgL_threadz00_bglt)COBJECT(BgL_oz00_3793))->BgL_namez00); 
{ /* Llib/thread.scm 364 */
 obj_t BgL_list1537z00_8115;
{ /* Llib/thread.scm 364 */
 obj_t BgL_arg1541z00_8116;
{ /* Llib/thread.scm 364 */
 obj_t BgL_arg1542z00_8117;
{ /* Llib/thread.scm 364 */
 obj_t BgL_arg1544z00_8118;
{ /* Llib/thread.scm 364 */
 obj_t BgL_arg1545z00_8119;
BgL_arg1545z00_8119 = 
MAKE_YOUNG_PAIR(BGl_string2895z00zz__threadz00, BNIL); 
BgL_arg1544z00_8118 = 
MAKE_YOUNG_PAIR(BgL_arg1536z00_8109, BgL_arg1545z00_8119); } 
BgL_arg1542z00_8117 = 
MAKE_YOUNG_PAIR(BGl_string2896z00zz__threadz00, BgL_arg1544z00_8118); } 
BgL_arg1541z00_8116 = 
MAKE_YOUNG_PAIR(BgL_arg1535z00_8108, BgL_arg1542z00_8117); } 
BgL_list1537z00_8115 = 
MAKE_YOUNG_PAIR(BGl_string2897z00zz__threadz00, BgL_arg1541z00_8116); } 
return 
BGl_displayza2za2zz__r4_output_6_10_3z00(BgL_list1537z00_8115);} } } } 

}



/* &tb-current-thread-no1184 */
obj_t BGl_z62tbzd2currentzd2threadzd2no1184zb0zz__threadz00(obj_t BgL_envz00_3794, obj_t BgL_tbz00_3795)
{
{ /* Llib/thread.scm 344 */
{ /* Llib/thread.scm 344 */
 BgL_nothreadzd2backendzd2_bglt BgL_tbz00_8157;
{ /* Llib/thread.scm 344 */
 bool_t BgL_test3894z00_12673;
{ /* Llib/thread.scm 344 */
 obj_t BgL_classz00_8120;
BgL_classz00_8120 = BGl_nothreadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_3795))
{ /* Llib/thread.scm 344 */
 BgL_objectz00_bglt BgL_arg1940z00_8122; long BgL_arg1941z00_8123;
BgL_arg1940z00_8122 = 
(BgL_objectz00_bglt)(BgL_tbz00_3795); 
BgL_arg1941z00_8123 = 
BGL_CLASS_DEPTH(BgL_classz00_8120); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 344 */
 long BgL_idxz00_8131;
BgL_idxz00_8131 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_8122); 
{ /* Llib/thread.scm 344 */
 obj_t BgL_arg1933z00_8132;
{ /* Llib/thread.scm 344 */
 long BgL_arg1934z00_8133;
BgL_arg1934z00_8133 = 
(BgL_idxz00_8131+BgL_arg1941z00_8123); 
BgL_arg1933z00_8132 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_8133); } 
BgL_test3894z00_12673 = 
(BgL_arg1933z00_8132==BgL_classz00_8120); } }  else 
{ /* Llib/thread.scm 344 */
 bool_t BgL_res2051z00_8138;
{ /* Llib/thread.scm 344 */
 obj_t BgL_oclassz00_8142;
{ /* Llib/thread.scm 344 */
 long BgL_arg1945z00_8144;
{ /* Llib/thread.scm 344 */
 long BgL_arg1946z00_8145;
BgL_arg1946z00_8145 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_8122); 
BgL_arg1945z00_8144 = 
(BgL_arg1946z00_8145-OBJECT_TYPE); } 
BgL_oclassz00_8142 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_8144); } 
{ /* Llib/thread.scm 344 */
 bool_t BgL__ortest_1147z00_8151;
BgL__ortest_1147z00_8151 = 
(BgL_classz00_8120==BgL_oclassz00_8142); 
if(BgL__ortest_1147z00_8151)
{ /* Llib/thread.scm 344 */
BgL_res2051z00_8138 = BgL__ortest_1147z00_8151; }  else 
{ /* Llib/thread.scm 344 */
 long BgL_odepthz00_8152;
BgL_odepthz00_8152 = 
BGL_CLASS_DEPTH(BgL_oclassz00_8142); 
if(
(BgL_arg1941z00_8123<BgL_odepthz00_8152))
{ /* Llib/thread.scm 344 */
 obj_t BgL_arg1935z00_8156;
BgL_arg1935z00_8156 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_8142, BgL_arg1941z00_8123); 
BgL_res2051z00_8138 = 
(BgL_arg1935z00_8156==BgL_classz00_8120); }  else 
{ /* Llib/thread.scm 344 */
BgL_res2051z00_8138 = ((bool_t)0); } } } } 
BgL_test3894z00_12673 = BgL_res2051z00_8138; } }  else 
{ /* Llib/thread.scm 344 */
BgL_test3894z00_12673 = ((bool_t)0)
; } } 
if(BgL_test3894z00_12673)
{ /* Llib/thread.scm 344 */
BgL_tbz00_8157 = 
((BgL_nothreadzd2backendzd2_bglt)BgL_tbz00_3795); }  else 
{ 
 obj_t BgL_auxz00_12695;
BgL_auxz00_12695 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(13727L), BGl_string2901z00zz__threadz00, BGl_string2576z00zz__threadz00, BgL_tbz00_3795); 
FAILURE(BgL_auxz00_12695,BFALSE,BFALSE);} } 
return BGl_za2nothreadzd2currentza2zd2zz__threadz00;} } 

}



/* &tb-make-thread-nothr1182 */
BgL_threadz00_bglt BGl_z62tbzd2makezd2threadzd2nothr1182zb0zz__threadz00(obj_t BgL_envz00_3796, obj_t BgL_tbz00_3797, obj_t BgL_bodyz00_3798, obj_t BgL_namez00_3799)
{
{ /* Llib/thread.scm 336 */
{ /* Llib/thread.scm 337 */
 BgL_nothreadzd2backendzd2_bglt BgL_tbz00_8195;
{ /* Llib/thread.scm 337 */
 bool_t BgL_test3899z00_12699;
{ /* Llib/thread.scm 337 */
 obj_t BgL_classz00_8158;
BgL_classz00_8158 = BGl_nothreadzd2backendzd2zz__threadz00; 
if(
BGL_OBJECTP(BgL_tbz00_3797))
{ /* Llib/thread.scm 337 */
 BgL_objectz00_bglt BgL_arg1940z00_8160; long BgL_arg1941z00_8161;
BgL_arg1940z00_8160 = 
(BgL_objectz00_bglt)(BgL_tbz00_3797); 
BgL_arg1941z00_8161 = 
BGL_CLASS_DEPTH(BgL_classz00_8158); 
if(
BGL_CONDEXPAND_ISA_ARCH64())
{ /* Llib/thread.scm 337 */
 long BgL_idxz00_8169;
BgL_idxz00_8169 = 
BGL_OBJECT_INHERITANCE_NUM(BgL_arg1940z00_8160); 
{ /* Llib/thread.scm 337 */
 obj_t BgL_arg1933z00_8170;
{ /* Llib/thread.scm 337 */
 long BgL_arg1934z00_8171;
BgL_arg1934z00_8171 = 
(BgL_idxz00_8169+BgL_arg1941z00_8161); 
BgL_arg1933z00_8170 = 
VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,BgL_arg1934z00_8171); } 
BgL_test3899z00_12699 = 
(BgL_arg1933z00_8170==BgL_classz00_8158); } }  else 
{ /* Llib/thread.scm 337 */
 bool_t BgL_res2051z00_8176;
{ /* Llib/thread.scm 337 */
 obj_t BgL_oclassz00_8180;
{ /* Llib/thread.scm 337 */
 long BgL_arg1945z00_8182;
{ /* Llib/thread.scm 337 */
 long BgL_arg1946z00_8183;
BgL_arg1946z00_8183 = 
BGL_OBJECT_CLASS_NUM(BgL_arg1940z00_8160); 
BgL_arg1945z00_8182 = 
(BgL_arg1946z00_8183-OBJECT_TYPE); } 
BgL_oclassz00_8180 = 
VECTOR_REF(BGl_za2classesza2z00zz__objectz00,BgL_arg1945z00_8182); } 
{ /* Llib/thread.scm 337 */
 bool_t BgL__ortest_1147z00_8189;
BgL__ortest_1147z00_8189 = 
(BgL_classz00_8158==BgL_oclassz00_8180); 
if(BgL__ortest_1147z00_8189)
{ /* Llib/thread.scm 337 */
BgL_res2051z00_8176 = BgL__ortest_1147z00_8189; }  else 
{ /* Llib/thread.scm 337 */
 long BgL_odepthz00_8190;
BgL_odepthz00_8190 = 
BGL_CLASS_DEPTH(BgL_oclassz00_8180); 
if(
(BgL_arg1941z00_8161<BgL_odepthz00_8190))
{ /* Llib/thread.scm 337 */
 obj_t BgL_arg1935z00_8194;
BgL_arg1935z00_8194 = 
BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_8180, BgL_arg1941z00_8161); 
BgL_res2051z00_8176 = 
(BgL_arg1935z00_8194==BgL_classz00_8158); }  else 
{ /* Llib/thread.scm 337 */
BgL_res2051z00_8176 = ((bool_t)0); } } } } 
BgL_test3899z00_12699 = BgL_res2051z00_8176; } }  else 
{ /* Llib/thread.scm 337 */
BgL_test3899z00_12699 = ((bool_t)0)
; } } 
if(BgL_test3899z00_12699)
{ /* Llib/thread.scm 337 */
BgL_tbz00_8195 = 
((BgL_nothreadzd2backendzd2_bglt)BgL_tbz00_3797); }  else 
{ 
 obj_t BgL_auxz00_12721;
BgL_auxz00_12721 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(13443L), BGl_string2909z00zz__threadz00, BGl_string2576z00zz__threadz00, BgL_tbz00_3797); 
FAILURE(BgL_auxz00_12721,BFALSE,BFALSE);} } 
{ /* Llib/thread.scm 337 */
 BgL_nothreadz00_bglt BgL_new1062z00_8196;
{ /* Llib/thread.scm 339 */
 BgL_nothreadz00_bglt BgL_new1060z00_8197;
BgL_new1060z00_8197 = 
((BgL_nothreadz00_bglt)BOBJECT( GC_MALLOC( sizeof(struct BgL_nothreadz00_bgl) ))); 
{ /* Llib/thread.scm 339 */
 long BgL_arg1528z00_8198;
BgL_arg1528z00_8198 = 
BGL_CLASS_NUM(BGl_nothreadz00zz__threadz00); 
BGL_OBJECT_CLASS_NUM_SET(
((BgL_objectz00_bglt)BgL_new1060z00_8197), BgL_arg1528z00_8198); } 
BgL_new1062z00_8196 = BgL_new1060z00_8197; } 
((((BgL_threadz00_bglt)COBJECT(
((BgL_threadz00_bglt)BgL_new1062z00_8196)))->BgL_namez00)=((obj_t)BgL_namez00_3799),BUNSPEC); 
{ 
 obj_t BgL_auxz00_12731;
if(
PROCEDUREP(BgL_bodyz00_3798))
{ /* Llib/thread.scm 338 */
BgL_auxz00_12731 = BgL_bodyz00_3798
; }  else 
{ 
 obj_t BgL_auxz00_12734;
BgL_auxz00_12734 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(13472L), BGl_string2902z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_bodyz00_3798); 
FAILURE(BgL_auxz00_12734,BFALSE,BFALSE);} 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1062z00_8196))->BgL_bodyz00)=((obj_t)BgL_auxz00_12731),BUNSPEC); } 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1062z00_8196))->BgL_z52specificz52)=((obj_t)BUNSPEC),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1062z00_8196))->BgL_z52cleanupz52)=((obj_t)BFALSE),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1062z00_8196))->BgL_endzd2resultzd2)=((obj_t)BUNSPEC),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1062z00_8196))->BgL_endzd2exceptionzd2)=((obj_t)BUNSPEC),BUNSPEC); 
((((BgL_nothreadz00_bglt)COBJECT(BgL_new1062z00_8196))->BgL_z52namez52)=((obj_t)BGl_string2589z00zz__threadz00),BUNSPEC); 
{ /* Llib/thread.scm 337 */
 obj_t BgL_fun1527z00_8199;
BgL_fun1527z00_8199 = 
BGl_classzd2constructorzd2zz__objectz00(BGl_nothreadz00zz__threadz00); 
{ /* Llib/thread.scm 337 */
 obj_t BgL_funz00_8200;
if(
PROCEDUREP(BgL_fun1527z00_8199))
{ /* Llib/thread.scm 337 */
BgL_funz00_8200 = BgL_fun1527z00_8199; }  else 
{ 
 obj_t BgL_auxz00_12747;
BgL_auxz00_12747 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string2441z00zz__threadz00, 
BINT(13443L), BGl_string2902z00zz__threadz00, BGl_string2456z00zz__threadz00, BgL_fun1527z00_8199); 
FAILURE(BgL_auxz00_12747,BFALSE,BFALSE);} 
if(
PROCEDURE_CORRECT_ARITYP(BgL_funz00_8200, 1L))
{ /* Llib/thread.scm 337 */
(VA_PROCEDUREP( BgL_funz00_8200 ) ? ((obj_t (*)(obj_t, ...))PROCEDURE_ENTRY(BgL_funz00_8200))(BgL_fun1527z00_8199, 
((obj_t)BgL_new1062z00_8196), BEOA) : ((obj_t (*)(obj_t, obj_t))PROCEDURE_ENTRY(BgL_funz00_8200))(BgL_fun1527z00_8199, 
((obj_t)BgL_new1062z00_8196)) ); }  else 
{ /* Llib/thread.scm 337 */
FAILURE(BGl_string2903z00zz__threadz00,BGl_list2904z00zz__threadz00,BgL_funz00_8200);} } } 
return 
((BgL_threadz00_bglt)BgL_new1062z00_8196);} } } 

}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zz__threadz00(void)
{
{ /* Llib/thread.scm 17 */
BGl_modulezd2initializa7ationz75zz__errorz00(88804785L, 
BSTRING_TO_STRING(BGl_string2518z00zz__threadz00)); 
return 
BGl_modulezd2initializa7ationz75zz__objectz00(475449627L, 
BSTRING_TO_STRING(BGl_string2518z00zz__threadz00));} 

}

#ifdef __cplusplus
}
#endif
