// File generated by Gambit v4.9.7
// Link info: (409007 (js ((compactness 9))) "srfi/124" (("srfi/124")) (module_register returnpt_init entrypt_init ctrlpt_init parententrypt_init cons will r4 closure_alloc glo poll structure make_interned_symbol sp stack build_rest r2 r3 r0 r1 wrong_nargs nargs) (##raise-type-exception) (srfi/124#make-ephemeron srfi/124#ephemeron-datum srfi/124#ephemeron-broken? srfi/124# ##fail-check-ephemeron srfi/124#reference-barrier srfi/124#make-ephemeron-finalizer srfi/124#ephemeron? srfi/124#ephemeron-key) () #f)

_cst10__srfi_2f_124 = _i("##type-2-E3B20910-F869-4C15-B427-454DC8334518");

_cst11__srfi_2f_124 = _i("ephemeron");

_cst0__srfi_2f_124 = new _Structure([new _Structure([null,_i("##type-5"),_i("type"),26,!1,[_i("id"),1,!1,_i("name"),5,!1,_i("flags"),5,!1,_i("super"),5,!1,_i("fields"),5,!1]]),_cst10__srfi_2f_124,_cst11__srfi_2f_124,29,!1,[_i("will"),1,!1,_i("datum"),1,!1]]);

_cst15__srfi_2f_124 = _i("##raise-type-exception");

_cst16__srfi_2f_124 = _X(1,_cst11__srfi_2f_124);

_cst17__srfi_2f_124 = _X(1,_cst11__srfi_2f_124);

_cst18__srfi_2f_124 = _X(1,_cst11__srfi_2f_124);

_m(_bb1_srfi_2f_124_23_ = () => {
if (_n !== 0) {
return _w(_bb1_srfi_2f_124_23_);
}
_a = void 0;
return _r;
},-1,_i("srfi/124#"),!1,!0);



_m(_bb1__23__23_fail_2d_check_2d_ephemeron = () => {
if (_n === 2) {
_c = null;
} else {
if (!_build_rest(2)) {
return _w(_bb1__23__23_fail_2d_check_2d_ephemeron);
}
}
_s[_t+1] = _a;
_a = _cst0__srfi_2f_124;
++_t;
return _p(_bb2__23__23_fail_2d_check_2d_ephemeron);
},-1,_i("##fail-check-ephemeron"),!1,!0);

_j(_bb2__23__23_fail_2d_check_2d_ephemeron = () => {
_n = 4;
return _g["##raise-type-exception"]();
});



_m(_bb1_srfi_2f_124_23_ephemeron_3f_ = () => {
if (_n !== 1) {
return _w(_bb1_srfi_2f_124_23_ephemeron_3f_);
}
_a = _a instanceof _Structure && _a.a[0].a[1] === _cst10__srfi_2f_124;
return _r;
},-1,_i("srfi/124#ephemeron?"),!1,!0);



_m(_bb1_srfi_2f_124_23_make_2d_ephemeron_2d_finalizer = () => {
if (_n !== 1) {
return _w(_bb1_srfi_2f_124_23_make_2d_ephemeron_2d_finalizer);
}
var closure0 = _closure_alloc([_bb2_srfi_2f_124_23_make_2d_ephemeron_2d_finalizer,_a]);
_s[_t+1] = closure0;
_a = _s[_t+1];
return _r;
},-1,_i("srfi/124#make-ephemeron-finalizer"),!1,!0);

_l(_bb2_srfi_2f_124_23_make_2d_ephemeron_2d_finalizer = () => {
if (_n !== 1) {
return _w(_d);
}
_c = _d(!0)[1];
_c.a[1] = !1;
_d = _d(!0)[1];
_d.a[2] = !1;
_a = _d;
return _r;
},1);



_m(_bb1_srfi_2f_124_23_make_2d_ephemeron = () => {
if (_n !== 2) {
return _w(_bb1_srfi_2f_124_23_make_2d_ephemeron);
}
_b = new _Structure([_cst0__srfi_2f_124,!1,_b]);
_s[_t+1] = _r;
_s[_t+2] = _a;
_s[_t+3] = _b;
_a = _b;
_t += 3;
return _p(_bb2_srfi_2f_124_23_make_2d_ephemeron);
},-1,_i("srfi/124#make-ephemeron"),!1,!0);

_j(_bb2_srfi_2f_124_23_make_2d_ephemeron = () => {
_r = _bb3_srfi_2f_124_23_make_2d_ephemeron;
_n = 1;
return _bb1_srfi_2f_124_23_make_2d_ephemeron_2d_finalizer();
});

_k(_bb3_srfi_2f_124_23_make_2d_ephemeron = () => {
_a = new _Will(_s[_t-1],_a);
_s[_t].a[1] = _a;
_a = _s[_t];
_t -= 3;
return _s[_t+1]();
},3,1);



_m(_bb1_srfi_2f_124_23_ephemeron_2d_broken_3f_ = () => {
if (_n !== 1) {
return _w(_bb1_srfi_2f_124_23_ephemeron_2d_broken_3f_);
}
if (_a instanceof _Structure && _a.a[0].a[1] === _cst10__srfi_2f_124) {
return _bb6_srfi_2f_124_23_ephemeron_2d_broken_3f_();
} else {
return _bb2_srfi_2f_124_23_ephemeron_2d_broken_3f_();
}
},-1,_i("srfi/124#ephemeron-broken?"),!1,!0);

_j(_bb6_srfi_2f_124_23_ephemeron_2d_broken_3f_ = () => {
_a = _a.a[1];
_a = _a === !1;
return _r;
});

_j(_bb2_srfi_2f_124_23_ephemeron_2d_broken_3f_ = () => {
_c = _a;
_b = _bb1_srfi_2f_124_23_ephemeron_2d_broken_3f_;
_a = _cst16__srfi_2f_124;
return _p(_bb3_srfi_2f_124_23_ephemeron_2d_broken_3f_);
});

_j(_bb3_srfi_2f_124_23_ephemeron_2d_broken_3f_ = () => {
_n = 3;
return _bb4_srfi_2f_124_23_ephemeron_2d_broken_3f_();
});

_l(_bb4_srfi_2f_124_23_ephemeron_2d_broken_3f_ = () => {
if (_n === 2) {
_c = null;
} else {
if (!_build_rest(2)) {
return _w(_bb4_srfi_2f_124_23_ephemeron_2d_broken_3f_);
}
}
_s[_t+1] = _a;
_a = _cst0__srfi_2f_124;
++_t;
return _p(_bb5_srfi_2f_124_23_ephemeron_2d_broken_3f_);
},-1);

_j(_bb5_srfi_2f_124_23_ephemeron_2d_broken_3f_ = () => {
_n = 4;
return _g["##raise-type-exception"]();
});



_m(_bb1_srfi_2f_124_23_ephemeron_2d_key = () => {
if (_n !== 1) {
return _w(_bb1_srfi_2f_124_23_ephemeron_2d_key);
}
if (_a instanceof _Structure && _a.a[0].a[1] === _cst10__srfi_2f_124) {
return _bb2_srfi_2f_124_23_ephemeron_2d_key();
} else {
return _bb5_srfi_2f_124_23_ephemeron_2d_key();
}
},-1,_i("srfi/124#ephemeron-key"),!1,!0);

_j(_bb2_srfi_2f_124_23_ephemeron_2d_key = () => {
_a = _a.a[1];
_s[_t+1] = _a;
if (!(_a === !1)) {
++_t;
return _bb3_srfi_2f_124_23_ephemeron_2d_key();
} else {
++_t;
return _bb4_srfi_2f_124_23_ephemeron_2d_key();
}
});

_j(_bb5_srfi_2f_124_23_ephemeron_2d_key = () => {
_c = _a;
_b = _bb1_srfi_2f_124_23_ephemeron_2d_key;
_a = _cst17__srfi_2f_124;
return _p(_bb6_srfi_2f_124_23_ephemeron_2d_key);
});

_j(_bb3_srfi_2f_124_23_ephemeron_2d_key = () => {
_a = _s[_t].a;
--_t;
return _r;
});

_j(_bb4_srfi_2f_124_23_ephemeron_2d_key = () => {
--_t;
return _r;
});

_j(_bb6_srfi_2f_124_23_ephemeron_2d_key = () => {
_n = 3;
return _bb7_srfi_2f_124_23_ephemeron_2d_key();
});

_l(_bb7_srfi_2f_124_23_ephemeron_2d_key = () => {
if (_n === 2) {
_c = null;
} else {
if (!_build_rest(2)) {
return _w(_bb7_srfi_2f_124_23_ephemeron_2d_key);
}
}
_s[_t+1] = _a;
_a = _cst0__srfi_2f_124;
++_t;
return _p(_bb8_srfi_2f_124_23_ephemeron_2d_key);
},-1);

_j(_bb8_srfi_2f_124_23_ephemeron_2d_key = () => {
_n = 4;
return _g["##raise-type-exception"]();
});



_m(_bb1_srfi_2f_124_23_ephemeron_2d_datum = () => {
if (_n !== 1) {
return _w(_bb1_srfi_2f_124_23_ephemeron_2d_datum);
}
if (_a instanceof _Structure && _a.a[0].a[1] === _cst10__srfi_2f_124) {
return _bb6_srfi_2f_124_23_ephemeron_2d_datum();
} else {
return _bb2_srfi_2f_124_23_ephemeron_2d_datum();
}
},-1,_i("srfi/124#ephemeron-datum"),!1,!0);

_j(_bb6_srfi_2f_124_23_ephemeron_2d_datum = () => {
_a = _a.a[2];
return _r;
});

_j(_bb2_srfi_2f_124_23_ephemeron_2d_datum = () => {
_c = _a;
_b = _bb1_srfi_2f_124_23_ephemeron_2d_datum;
_a = _cst18__srfi_2f_124;
return _p(_bb3_srfi_2f_124_23_ephemeron_2d_datum);
});

_j(_bb3_srfi_2f_124_23_ephemeron_2d_datum = () => {
_n = 3;
return _bb4_srfi_2f_124_23_ephemeron_2d_datum();
});

_l(_bb4_srfi_2f_124_23_ephemeron_2d_datum = () => {
if (_n === 2) {
_c = null;
} else {
if (!_build_rest(2)) {
return _w(_bb4_srfi_2f_124_23_ephemeron_2d_datum);
}
}
_s[_t+1] = _a;
_a = _cst0__srfi_2f_124;
++_t;
return _p(_bb5_srfi_2f_124_23_ephemeron_2d_datum);
},-1);

_j(_bb5_srfi_2f_124_23_ephemeron_2d_datum = () => {
_n = 4;
return _g["##raise-type-exception"]();
});



_m(_bb1_srfi_2f_124_23_reference_2d_barrier = () => {
if (_n !== 1) {
return _w(_bb1_srfi_2f_124_23_reference_2d_barrier);
}
_a = _a;
return _r;
},-1,_i("srfi/124#reference-barrier"),!1,!0);



_module_register([[_i("srfi/124")],[],null,1,_bb1_srfi_2f_124_23_,!1]);

