Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

initialize a thread's exception state to a default state #776

Merged
merged 1 commit into from
Dec 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
186 changes: 94 additions & 92 deletions boot/pb/equates.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* equates.h for Chez Scheme Version 9.9.9-pre-release.21 */
/* equates.h for Chez Scheme Version 9.9.9-pre-release.22 */

/* Do not edit this file. It is automatically generated and */
/* specifically tailored to the version of Chez Scheme named */
Expand Down Expand Up @@ -1010,7 +1010,7 @@ typedef uint64_t U64;
#define rtd_sealed 0x4
#define sbwp (ptr)0x4E
#define scaled_shot_1_shot_flag -0x8
#define scheme_version 0x9090915
#define scheme_version 0x9090916
#define seginfo_generation_disp 0x1
#define seginfo_list_bits_disp 0x8
#define seginfo_space_disp 0x0
Expand Down Expand Up @@ -1111,73 +1111,74 @@ typedef uint64_t U64;
#define symbol_pvalue_disp 0xD
#define symbol_splist_disp 0x25
#define symbol_value_disp 0x5
#define tc_DSTBV_disp 0x2B0
#define tc_SRCBV_disp 0x2B8
#define tc_U_disp 0x188
#define tc_V_disp 0x190
#define tc_W_disp 0x198
#define tc_X_disp 0x1A0
#define tc_Y_disp 0x1A8
#define tc_DSTBV_disp 0x2B8
#define tc_SRCBV_disp 0x2C0
#define tc_U_disp 0x190
#define tc_V_disp 0x198
#define tc_W_disp 0x1A0
#define tc_X_disp 0x1A8
#define tc_Y_disp 0x1B0
#define tc_ac0_disp 0x38
#define tc_ac1_disp 0x40
#define tc_active_disp 0x14C
#define tc_alloc_counter_disp 0x2A0
#define tc_alloc_counter_disp 0x2A8
#define tc_ap_disp 0x60
#define tc_arg_regs_disp 0x0
#define tc_attachments_disp 0x178
#define tc_block_counter_disp 0x200
#define tc_cached_frame_disp 0x180
#define tc_block_counter_disp 0x208
#define tc_cached_frame_disp 0x188
#define tc_cchain_disp 0x138
#define tc_code_ranges_to_flush_disp 0x140
#define tc_compile_profile_disp 0x238
#define tc_compress_format_disp 0x280
#define tc_compress_level_disp 0x288
#define tc_compile_profile_disp 0x240
#define tc_compress_format_disp 0x288
#define tc_compress_level_disp 0x290
#define tc_cp_disp 0x50
#define tc_current_error_disp 0x1F8
#define tc_current_input_disp 0x1E8
#define tc_current_mso_disp 0x210
#define tc_current_output_disp 0x1F0
#define tc_default_record_equal_procedure_disp 0x270
#define tc_default_record_hash_procedure_disp 0x278
#define tc_disable_count_disp 0x1C0
#define tc_current_error_disp 0x200
#define tc_current_input_disp 0x1F0
#define tc_current_mso_disp 0x218
#define tc_current_output_disp 0x1F8
#define tc_default_record_equal_procedure_disp 0x278
#define tc_default_record_hash_procedure_disp 0x280
#define tc_disable_count_disp 0x1C8
#define tc_eap_disp 0x68
#define tc_esp_disp 0x58
#define tc_fpregs_disp 0x2C0
#define tc_fxfirst_bit_set_bv_disp 0x228
#define tc_fxlength_bv_disp 0x220
#define tc_gc_data_disp 0x7C0
#define tc_generate_inspector_information_disp 0x240
#define tc_generate_procedure_source_information_disp 0x248
#define tc_generate_profile_forms_disp 0x250
#define tc_fpregs_disp 0x2C8
#define tc_fxfirst_bit_set_bv_disp 0x230
#define tc_fxlength_bv_disp 0x228
#define tc_gc_data_disp 0x7C8
#define tc_generate_inspector_information_disp 0x248
#define tc_generate_procedure_source_information_disp 0x250
#define tc_generate_profile_forms_disp 0x258
#define tc_guardian_entries_disp 0x130
#define tc_instr_counter_disp 0x298
#define tc_keyboard_interrupt_pending_disp 0x1D8
#define tc_lz4_out_buffer_disp 0x290
#define tc_meta_level_disp 0x230
#define tc_optimize_level_disp 0x258
#define tc_parameters_disp 0x2A8
#define tc_pb_call_arena_disp 0x3C0
#define tc_pb_fpregs_disp 0x380
#define tc_pb_regs_disp 0x300
#define tc_handler_stack_disp 0x180
#define tc_instr_counter_disp 0x2A0
#define tc_keyboard_interrupt_pending_disp 0x1E0
#define tc_lz4_out_buffer_disp 0x298
#define tc_meta_level_disp 0x238
#define tc_optimize_level_disp 0x260
#define tc_parameters_disp 0x2B0
#define tc_pb_call_arena_disp 0x3C8
#define tc_pb_fpregs_disp 0x388
#define tc_pb_regs_disp 0x308
#define tc_random_seed_disp 0x148
#define tc_real_eap_disp 0xA0
#define tc_ret_disp 0x70
#define tc_save1_disp 0xA8
#define tc_scheme_stack_disp 0x150
#define tc_scheme_stack_size_disp 0x168
#define tc_sfd_disp 0x208
#define tc_sfd_disp 0x210
#define tc_sfp_disp 0x48
#define tc_signal_interrupt_pending_disp 0x1C8
#define tc_signal_interrupt_queue_disp 0x1D0
#define tc_something_pending_disp 0x1B0
#define tc_signal_interrupt_pending_disp 0x1D0
#define tc_signal_interrupt_queue_disp 0x1D8
#define tc_something_pending_disp 0x1B8
#define tc_stack_cache_disp 0x158
#define tc_stack_link_disp 0x160
#define tc_subset_mode_disp 0x260
#define tc_suppress_primitive_inlining_disp 0x268
#define tc_target_machine_disp 0x218
#define tc_subset_mode_disp 0x268
#define tc_suppress_primitive_inlining_disp 0x270
#define tc_target_machine_disp 0x220
#define tc_td_disp 0x98
#define tc_threadno_disp 0x1E0
#define tc_timer_ticks_disp 0x1B8
#define tc_threadno_disp 0x1E8
#define tc_timer_ticks_disp 0x1C0
#define tc_trap_disp 0x78
#define tc_ts_disp 0x90
#define tc_virtual_registers_disp 0xB0
Expand Down Expand Up @@ -1562,73 +1563,74 @@ typedef uint64_t U64;
#define THREADTC(x) (*((uptr *)TO_VOIDP((uptr)(x)+9)))

/* thread-context data */
#define DSTBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+688)))
#define SRCBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+696)))
#define U(x) (*((ptr *)TO_VOIDP((uptr)(x)+392)))
#define V(x) (*((ptr *)TO_VOIDP((uptr)(x)+400)))
#define W(x) (*((ptr *)TO_VOIDP((uptr)(x)+408)))
#define X(x) (*((ptr *)TO_VOIDP((uptr)(x)+416)))
#define Y(x) (*((ptr *)TO_VOIDP((uptr)(x)+424)))
#define DSTBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+696)))
#define SRCBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+704)))
#define U(x) (*((ptr *)TO_VOIDP((uptr)(x)+400)))
#define V(x) (*((ptr *)TO_VOIDP((uptr)(x)+408)))
#define W(x) (*((ptr *)TO_VOIDP((uptr)(x)+416)))
#define X(x) (*((ptr *)TO_VOIDP((uptr)(x)+424)))
#define Y(x) (*((ptr *)TO_VOIDP((uptr)(x)+432)))
#define AC0(x) (*((xptr *)TO_VOIDP((uptr)(x)+56)))
#define AC1(x) (*((xptr *)TO_VOIDP((uptr)(x)+64)))
#define ACTIVE(x) (*((I32 *)TO_VOIDP((uptr)(x)+332)))
#define ALLOCCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+672)))
#define ALLOCCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+680)))
#define AP(x) (*((xptr *)TO_VOIDP((uptr)(x)+96)))
#define ARGREGS(x,i) (((xptr *)TO_VOIDP((uptr)(x)+0))[i])
#define ATTACHMENTS(x) (*((ptr *)TO_VOIDP((uptr)(x)+376)))
#define BLOCKCOUNTER(x) (*((ptr *)TO_VOIDP((uptr)(x)+512)))
#define CACHEDFRAME(x) (*((ptr *)TO_VOIDP((uptr)(x)+384)))
#define BLOCKCOUNTER(x) (*((ptr *)TO_VOIDP((uptr)(x)+520)))
#define CACHEDFRAME(x) (*((ptr *)TO_VOIDP((uptr)(x)+392)))
#define CCHAIN(x) (*((ptr *)TO_VOIDP((uptr)(x)+312)))
#define CODERANGESTOFLUSH(x) (*((ptr *)TO_VOIDP((uptr)(x)+320)))
#define COMPILEPROFILE(x) (*((ptr *)TO_VOIDP((uptr)(x)+568)))
#define COMPRESSFORMAT(x) (*((ptr *)TO_VOIDP((uptr)(x)+640)))
#define COMPRESSLEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+648)))
#define COMPILEPROFILE(x) (*((ptr *)TO_VOIDP((uptr)(x)+576)))
#define COMPRESSFORMAT(x) (*((ptr *)TO_VOIDP((uptr)(x)+648)))
#define COMPRESSLEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+656)))
#define CP(x) (*((xptr *)TO_VOIDP((uptr)(x)+80)))
#define CURRENTERROR(x) (*((ptr *)TO_VOIDP((uptr)(x)+504)))
#define CURRENTINPUT(x) (*((ptr *)TO_VOIDP((uptr)(x)+488)))
#define CURRENTMSO(x) (*((ptr *)TO_VOIDP((uptr)(x)+528)))
#define CURRENTOUTPUT(x) (*((ptr *)TO_VOIDP((uptr)(x)+496)))
#define DEFAULTRECORDEQUALPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+624)))
#define DEFAULTRECORDHASHPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+632)))
#define DISABLECOUNT(x) (*((ptr *)TO_VOIDP((uptr)(x)+448)))
#define CURRENTERROR(x) (*((ptr *)TO_VOIDP((uptr)(x)+512)))
#define CURRENTINPUT(x) (*((ptr *)TO_VOIDP((uptr)(x)+496)))
#define CURRENTMSO(x) (*((ptr *)TO_VOIDP((uptr)(x)+536)))
#define CURRENTOUTPUT(x) (*((ptr *)TO_VOIDP((uptr)(x)+504)))
#define DEFAULTRECORDEQUALPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+632)))
#define DEFAULTRECORDHASHPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+640)))
#define DISABLECOUNT(x) (*((ptr *)TO_VOIDP((uptr)(x)+456)))
#define EAP(x) (*((xptr *)TO_VOIDP((uptr)(x)+104)))
#define ESP(x) (*((xptr *)TO_VOIDP((uptr)(x)+88)))
#define FPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+704))[i])
#define FXFIRSTBITSETBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+552)))
#define FXLENGTHBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+544)))
#define GCDATA(x) (*((xptr *)TO_VOIDP((uptr)(x)+1984)))
#define GENERATEINSPECTORINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+576)))
#define GENERATEPROCEDURESOURCEINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+584)))
#define GENERATEPROFILEFORMS(x) (*((ptr *)TO_VOIDP((uptr)(x)+592)))
#define FPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+712))[i])
#define FXFIRSTBITSETBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+560)))
#define FXLENGTHBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+552)))
#define GCDATA(x) (*((xptr *)TO_VOIDP((uptr)(x)+1992)))
#define GENERATEINSPECTORINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+584)))
#define GENERATEPROCEDURESOURCEINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+592)))
#define GENERATEPROFILEFORMS(x) (*((ptr *)TO_VOIDP((uptr)(x)+600)))
#define GUARDIANENTRIES(x) (*((ptr *)TO_VOIDP((uptr)(x)+304)))
#define INSTRCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+664)))
#define KEYBOARDINTERRUPTPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+472)))
#define LZ4OUTBUFFER(x) (*((xptr *)TO_VOIDP((uptr)(x)+656)))
#define METALEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+560)))
#define OPTIMIZELEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+600)))
#define PARAMETERS(x) (*((ptr *)TO_VOIDP((uptr)(x)+680)))
#define PBCALLARENA(x,i) (((uptr *)TO_VOIDP((uptr)(x)+960))[i])
#define PBFPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+896))[i])
#define PBREGS(x,i) (((uptr *)TO_VOIDP((uptr)(x)+768))[i])
#define HANDLERSTACK(x) (*((ptr *)TO_VOIDP((uptr)(x)+384)))
#define INSTRCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+672)))
#define KEYBOARDINTERRUPTPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+480)))
#define LZ4OUTBUFFER(x) (*((xptr *)TO_VOIDP((uptr)(x)+664)))
#define METALEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+568)))
#define OPTIMIZELEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+608)))
#define PARAMETERS(x) (*((ptr *)TO_VOIDP((uptr)(x)+688)))
#define PBCALLARENA(x,i) (((uptr *)TO_VOIDP((uptr)(x)+968))[i])
#define PBFPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+904))[i])
#define PBREGS(x,i) (((uptr *)TO_VOIDP((uptr)(x)+776))[i])
#define RANDOMSEED(x) (*((U32 *)TO_VOIDP((uptr)(x)+328)))
#define REAL_EAP(x) (*((xptr *)TO_VOIDP((uptr)(x)+160)))
#define RET(x) (*((xptr *)TO_VOIDP((uptr)(x)+112)))
#define SAVE1(x) (*((xptr *)TO_VOIDP((uptr)(x)+168)))
#define SCHEMESTACK(x) (*((xptr *)TO_VOIDP((uptr)(x)+336)))
#define SCHEMESTACKSIZE(x) (*((iptr *)TO_VOIDP((uptr)(x)+360)))
#define SFD(x) (*((ptr *)TO_VOIDP((uptr)(x)+520)))
#define SFD(x) (*((ptr *)TO_VOIDP((uptr)(x)+528)))
#define SFP(x) (*((xptr *)TO_VOIDP((uptr)(x)+72)))
#define SIGNALINTERRUPTPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+456)))
#define SIGNALINTERRUPTQUEUE(x) (*((ptr *)TO_VOIDP((uptr)(x)+464)))
#define SOMETHINGPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+432)))
#define SIGNALINTERRUPTPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+464)))
#define SIGNALINTERRUPTQUEUE(x) (*((ptr *)TO_VOIDP((uptr)(x)+472)))
#define SOMETHINGPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+440)))
#define STACKCACHE(x) (*((ptr *)TO_VOIDP((uptr)(x)+344)))
#define STACKLINK(x) (*((ptr *)TO_VOIDP((uptr)(x)+352)))
#define SUBSETMODE(x) (*((ptr *)TO_VOIDP((uptr)(x)+608)))
#define SUPPRESSPRIMITIVEINLINING(x) (*((ptr *)TO_VOIDP((uptr)(x)+616)))
#define TARGETMACHINE(x) (*((ptr *)TO_VOIDP((uptr)(x)+536)))
#define SUBSETMODE(x) (*((ptr *)TO_VOIDP((uptr)(x)+616)))
#define SUPPRESSPRIMITIVEINLINING(x) (*((ptr *)TO_VOIDP((uptr)(x)+624)))
#define TARGETMACHINE(x) (*((ptr *)TO_VOIDP((uptr)(x)+544)))
#define TD(x) (*((xptr *)TO_VOIDP((uptr)(x)+152)))
#define THREADNO(x) (*((ptr *)TO_VOIDP((uptr)(x)+480)))
#define TIMERTICKS(x) (*((ptr *)TO_VOIDP((uptr)(x)+440)))
#define THREADNO(x) (*((ptr *)TO_VOIDP((uptr)(x)+488)))
#define TIMERTICKS(x) (*((ptr *)TO_VOIDP((uptr)(x)+448)))
#define TRAP(x) (*((xptr *)TO_VOIDP((uptr)(x)+120)))
#define TS(x) (*((xptr *)TO_VOIDP((uptr)(x)+144)))
#define VIRTUALREGISTERS(x,i) (((ptr *)TO_VOIDP((uptr)(x)+176))[i])
Expand Down
3 changes: 3 additions & 0 deletions boot/pb/gc-ocd.inc
Original file line number Diff line number Diff line change
Expand Up @@ -809,6 +809,7 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g)
relocate_pure(&(STACKLINK(tc)));
relocate_pure(&(WINDERS(tc)));
relocate_pure(&(ATTACHMENTS(tc)));
relocate_pure(&(HANDLERSTACK(tc)));
CACHEDFRAME(tc) = Sfalse;
{
ptr xcp = FRAME(tc, 0);
Expand Down Expand Up @@ -1433,6 +1434,7 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p)
relocate_pure(&(STACKLINK(tc)));
relocate_pure(&(WINDERS(tc)));
relocate_pure(&(ATTACHMENTS(tc)));
relocate_pure(&(HANDLERSTACK(tc)));
{
ptr xcp = FRAME(tc, 0);
{
Expand Down Expand Up @@ -2249,6 +2251,7 @@ static void sweep_thread(thread_gc *tgc, ptr p)
relocate_pure(&(STACKLINK(tc)));
relocate_pure(&(WINDERS(tc)));
relocate_pure(&(ATTACHMENTS(tc)));
relocate_pure(&(HANDLERSTACK(tc)));
CACHEDFRAME(tc) = Sfalse;
{
ptr xcp = FRAME(tc, 0);
Expand Down
8 changes: 8 additions & 0 deletions boot/pb/gc-oce.inc
Original file line number Diff line number Diff line change
Expand Up @@ -931,6 +931,7 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g)
relocate_pure(&(STACKLINK(tc)));
relocate_pure(&(WINDERS(tc)));
relocate_pure(&(ATTACHMENTS(tc)));
relocate_pure(&(HANDLERSTACK(tc)));
CACHEDFRAME(tc) = Sfalse;
{
ptr xcp = FRAME(tc, 0);
Expand Down Expand Up @@ -1556,6 +1557,7 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p)
relocate_pure(&(STACKLINK(tc)));
relocate_pure(&(WINDERS(tc)));
relocate_pure(&(ATTACHMENTS(tc)));
relocate_pure(&(HANDLERSTACK(tc)));
{
ptr xcp = FRAME(tc, 0);
{
Expand Down Expand Up @@ -2383,6 +2385,7 @@ static void sweep_thread(thread_gc *tgc, ptr p)
relocate_pure(&(STACKLINK(tc)));
relocate_pure(&(WINDERS(tc)));
relocate_pure(&(ATTACHMENTS(tc)));
relocate_pure(&(HANDLERSTACK(tc)));
CACHEDFRAME(tc) = Sfalse;
{
ptr xcp = FRAME(tc, 0);
Expand Down Expand Up @@ -4468,6 +4471,11 @@ static void measure(thread_gc *tgc, ptr p)
if (!FIXMEDIATE(r_p))
push_measure(tgc, r_p);
}
{ /* measure */
ptr r_p = HANDLERSTACK(tc);
if (!FIXMEDIATE(r_p))
push_measure(tgc, r_p);
}
{
ptr xcp = FRAME(tc, 0);
{
Expand Down
3 changes: 3 additions & 0 deletions boot/pb/gc-par.inc
Original file line number Diff line number Diff line change
Expand Up @@ -803,6 +803,7 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g)
relocate_pure(&(STACKLINK(tc)));
relocate_pure(&(WINDERS(tc)));
relocate_pure(&(ATTACHMENTS(tc)));
relocate_pure(&(HANDLERSTACK(tc)));
CACHEDFRAME(tc) = Sfalse;
{
ptr xcp = FRAME(tc, 0);
Expand Down Expand Up @@ -1437,6 +1438,7 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p)
relocate_pure(&(STACKLINK(tc)));
relocate_pure(&(WINDERS(tc)));
relocate_pure(&(ATTACHMENTS(tc)));
relocate_pure(&(HANDLERSTACK(tc)));
{
ptr xcp = FRAME(tc, 0);
{
Expand Down Expand Up @@ -2292,6 +2294,7 @@ static void sweep_thread(thread_gc *tgc, ptr p)
relocate_pure(&(STACKLINK(tc)));
relocate_pure(&(WINDERS(tc)));
relocate_pure(&(ATTACHMENTS(tc)));
relocate_pure(&(HANDLERSTACK(tc)));
CACHEDFRAME(tc) = Sfalse;
{
ptr xcp = FRAME(tc, 0);
Expand Down
1 change: 1 addition & 0 deletions boot/pb/heapcheck.inc
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@ static void check_object(ptr p, uptr seg, ISPC s_in, IBOOL aftergc)
check_pointer(&(STACKLINK(tc)), 1, 0, p, seg, s_in, aftergc);
check_pointer(&(WINDERS(tc)), 1, 0, p, seg, s_in, aftergc);
check_pointer(&(ATTACHMENTS(tc)), 1, 0, p, seg, s_in, aftergc);
check_pointer(&(HANDLERSTACK(tc)), 1, 0, p, seg, s_in, aftergc);
{
ptr xcp = FRAME(tc, 0);
{
Expand Down
Binary file modified boot/pb/petite.boot
Binary file not shown.
Binary file modified boot/pb/scheme.boot
Binary file not shown.
9 changes: 5 additions & 4 deletions boot/pb/scheme.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* scheme.h for Chez Scheme Version 9.9.9-pre-release.21 (pb) */
/* scheme.h for Chez Scheme Version 9.9.9-pre-release.22 (pb) */

/* Do not edit this file. It is automatically generated and */
/* specifically tailored to the version of Chez Scheme named */
Expand Down Expand Up @@ -40,7 +40,7 @@
#endif

/* Chez Scheme Version and machine type */
#define VERSION "9.9.9-pre-release.21"
#define VERSION "9.9.9-pre-release.22"
#define MACHINE_TYPE "pb"

/* Integer typedefs */
Expand Down Expand Up @@ -231,8 +231,9 @@ EXPORT void Sscheme_init(void (*)(void));
EXPORT void Sregister_boot_file(const char *);
EXPORT void Sregister_boot_executable_relative_file(const char *, const char *);
EXPORT void Sregister_boot_relative_file(const char *);
EXPORT void Sregister_boot_file_fd(const char *, int fd);
EXPORT void Sregister_boot_file_fd_region(const char *, int fd, iptr offset, iptr len, int close_after);
EXPORT void Sregister_boot_file_fd(const char *, int);
EXPORT void Sregister_boot_file_fd_region(const char *, int, iptr, iptr, int);
EXPORT void Sregister_boot_file_bytes(const char *, void *, iptr);
EXPORT void Sregister_heap_file(const char *);
EXPORT void Scompact_heap(void);
EXPORT void Ssave_heap(const char *, int);
Expand Down
1 change: 1 addition & 0 deletions c/thread.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ ptr S_create_thread_object(const char *who, ptr p_tc) {

WINDERS(tc) = Snil;
ATTACHMENTS(tc) = Snil;
HANDLERSTACK(tc) = Sfalse;
CACHEDFRAME(tc) = Sfalse;
STACKLINK(tc) = SYMVAL(S_G.null_continuation_id);
STACKCACHE(tc) = Snil;
Expand Down
2 changes: 2 additions & 0 deletions csug/system.stex
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,8 @@ an \emph{exception state} comprising the current stack of handlers established
by \scheme{with-exception-handler} and \scheme{guard}.
When called with a single argument, which must be an exception state,
\scheme{current-exception-state} sets the exception state.
When a new thread is created, it starts with a default exception state
equivalent to \scheme{(create-exception-state)}.

%----------------------------------------------------------------------------
\entryheader
Expand Down
Loading