10610 lines
308 KiB
C
10610 lines
308 KiB
C
#include <stdio.h>
|
|
#include "prescheme.h"
|
|
#include "scheme48vm-prelude.h"
|
|
|
|
static char add_more_channels(long);
|
|
static void enqueue_channelB(long, long);
|
|
static long close_channelB(long);
|
|
static void push_continuationB(char *, long);
|
|
static long enter_string(char*, long);
|
|
static char HcleanerB2170(long);
|
|
static void push_exception_continuationB(long, long);
|
|
static long make_registered_channel(long, long, long, long, long*);
|
|
static long channel_close_error(long, long, long);
|
|
static void HtopD8911(void);
|
|
static long Hlookup2112(long, long, long);
|
|
static long Hlookup2093(long, long, long);
|
|
static void HtopD8904(void);
|
|
static long collect_saving_temps(long, long, long*);
|
|
void s48_set_extension_valueB(long);
|
|
void s48_note_event(void);
|
|
void s48_set_os_signal(long, long);
|
|
long s48_exported_bindings(void);
|
|
char * s48_set_gc_roots_baseB(char **);
|
|
char s48_release_gc_roots_baseB(char *, char *);
|
|
void s48_disable_interruptsB(void);
|
|
void s48_push_gc_rootsB(char *, long);
|
|
void s48_register_gc_rootB(char *);
|
|
void s48_stack_setB(long, long);
|
|
long s48_stack_ref(long);
|
|
void s48_push(long);
|
|
long s48_resetup_external_exception(long, long);
|
|
void s48_enable_interruptsB(void);
|
|
char s48_pop_gc_rootsB(void);
|
|
void s48_mark_traced_channels_closedB(void);
|
|
long s48_set_channel_os_index(long, long);
|
|
long s48_cleaned_imported_bindings(void);
|
|
long s48_copy_symbol_table(void);
|
|
void s48_setup_external_exception(long, long);
|
|
void s48_close_channel(long);
|
|
char s48_warn_about_undefined_imported_bindings(void);
|
|
void s48_define_exported_binding(char*, long);
|
|
long s48_add_channel(long, long, long);
|
|
long s48_get_imported_binding(char*);
|
|
long s48_allocate_stob(long, long);
|
|
void s48_initialize_vm(char *, long);
|
|
long s48_restart(long, long);
|
|
long s48_call_startup_procedure(char**, long);
|
|
static long Snumber_of_channelsS;
|
|
static long *Svm_channelsS;
|
|
static long Spending_channels_headS;
|
|
static long Spending_channels_tailS;
|
|
static char * Sstack_beginS;
|
|
static char * Sstack_endS;
|
|
static char * SstackS;
|
|
static char * Sstack_limitS;
|
|
static long ScontS;
|
|
static long Sbottom_of_stackS;
|
|
static char Sstack_warningPS;
|
|
static long SenvS;
|
|
static long StemplateS;
|
|
static char * Scode_pointerS;
|
|
static long SvalS;
|
|
static long Sexception_handlersS;
|
|
static long Sinterrupt_handlersS;
|
|
static long Scurrent_threadS;
|
|
static long Ssession_dataS;
|
|
static long Sfinalizer_alistS;
|
|
static long Sfinalize_theseS;
|
|
static long Senabled_interruptsS;
|
|
static long Spending_interruptsS;
|
|
static long Sinterrupted_templateS;
|
|
static long Sinterrupt_templateS;
|
|
static long Sexception_templateS;
|
|
static long Ssaved_pcS;
|
|
static long Slosing_opcodeS;
|
|
static long Sos_signal_typeS;
|
|
static long Sos_signal_argumentS;
|
|
static char Sexternal_exceptionPS;
|
|
static long Sexternal_exception_nargsS;
|
|
static long Simported_bindingsS;
|
|
static long Sexported_bindingsS;
|
|
static long Sthe_symbol_tableS;
|
|
static char * Sexternal_root_stackS;
|
|
static char * Sexternal_root_stack_baseS;
|
|
static char * Spermanent_external_rootsS;
|
|
static void (*Sgc_root_procS)(void);
|
|
static void (*Spost_gc_cleanupS)(void);
|
|
char s48_Spending_interruptPS;
|
|
long s48_Sextension_valueS;
|
|
long s48_Scallback_return_stack_blockS;
|
|
char s48_Spending_eventsPS;
|
|
|
|
static char add_more_channels(long index_5X)
|
|
{
|
|
long arg0K0;
|
|
long i_11X;
|
|
long i_10X;
|
|
long *new_vm_channels_9X;
|
|
long new_count_8X;
|
|
long y_7X;
|
|
long x_6X;
|
|
{ x_6X = 1 + index_5X;
|
|
y_7X = 8 + (Snumber_of_channelsS);
|
|
if ((x_6X < y_7X)) {
|
|
arg0K0 = y_7X;
|
|
goto L2378;}
|
|
else {
|
|
arg0K0 = x_6X;
|
|
goto L2378;}}
|
|
L2378: {
|
|
new_count_8X = arg0K0;
|
|
new_vm_channels_9X = (long*)malloc(sizeof(long) * new_count_8X);
|
|
if ((NULL == new_vm_channels_9X)) {
|
|
return 0;}
|
|
else {
|
|
arg0K0 = 0;
|
|
goto L2390;}}
|
|
L2390: {
|
|
i_10X = arg0K0;
|
|
if ((i_10X == (Snumber_of_channelsS))) {
|
|
arg0K0 = (Snumber_of_channelsS);
|
|
goto L2405;}
|
|
else {
|
|
*(new_vm_channels_9X + i_10X) = (*((Svm_channelsS) + i_10X));
|
|
arg0K0 = (1 + i_10X);
|
|
goto L2390;}}
|
|
L2405: {
|
|
i_11X = arg0K0;
|
|
if ((i_11X == new_count_8X)) {
|
|
free((Svm_channelsS));
|
|
Svm_channelsS = new_vm_channels_9X;
|
|
Snumber_of_channelsS = new_count_8X;
|
|
return 1;}
|
|
else {
|
|
*(new_vm_channels_9X + i_11X) = 1;
|
|
arg0K0 = (1 + i_11X);
|
|
goto L2405;}}
|
|
}
|
|
static void enqueue_channelB(long index_12X, long status_13X)
|
|
{
|
|
char * addr_18X;
|
|
long x_17X;
|
|
char * addr_16X;
|
|
long val_15X;
|
|
long channel_14X;
|
|
{ channel_14X = *((Svm_channelsS) + index_12X);
|
|
val_15X = ((status_13X)<<2);
|
|
addr_16X = (((char *) (-3 + channel_14X))) + 16;
|
|
S48_WRITE_BARRIER(channel_14X, addr_16X, val_15X);
|
|
*((long *) addr_16X) = val_15X;
|
|
if ((1 == (*((long *) ((((char *) (-3 + channel_14X))) + 12))))) {
|
|
if ((1 == (Spending_channels_headS))) {
|
|
Spending_channels_headS = channel_14X;
|
|
Spending_channels_tailS = channel_14X;
|
|
return;}
|
|
else {
|
|
x_17X = Spending_channels_tailS;
|
|
addr_18X = (((char *) (-3 + x_17X))) + 12;
|
|
S48_WRITE_BARRIER(x_17X, addr_18X, channel_14X);
|
|
*((long *) addr_18X) = channel_14X;
|
|
Spending_channels_tailS = channel_14X;
|
|
return;}}
|
|
else {
|
|
return;}}
|
|
}
|
|
static long close_channelB(long channel_19X)
|
|
{
|
|
long arg0K0;
|
|
char * addr_27X;
|
|
long status_26X;
|
|
long v_25X;
|
|
long v_24X;
|
|
long v_23X;
|
|
long v_22X;
|
|
long x_21X;
|
|
long os_index_20X;
|
|
{ os_index_20X = (((*((long *) ((((char *) (-3 + channel_19X))) + 8))))>>2);
|
|
x_21X = *((long *) ((((char *) (-3 + channel_19X))) + 16));
|
|
if ((5 == x_21X)) {
|
|
v_22X = ps_abort_fd_op(os_index_20X);
|
|
enqueue_channelB(os_index_20X, v_22X);
|
|
goto L8009;}
|
|
else {
|
|
goto L8009;}}
|
|
L8009: {
|
|
v_23X = *((long *) (((char *) (-3 + channel_19X))));
|
|
if ((4 == v_23X)) {
|
|
goto L8024;}
|
|
else {
|
|
if ((12 == (*((long *) (((char *) (-3 + channel_19X))))))) {
|
|
goto L8024;}
|
|
else {
|
|
v_24X = ps_close_fd(os_index_20X);
|
|
arg0K0 = v_24X;
|
|
goto L8031;}}}
|
|
L8024: {
|
|
v_25X = ps_close_fd(os_index_20X);
|
|
arg0K0 = v_25X;
|
|
goto L8031;}
|
|
L8031: {
|
|
status_26X = arg0K0;
|
|
*((Svm_channelsS) + os_index_20X) = 1;
|
|
addr_27X = ((char *) (-3 + channel_19X));
|
|
S48_WRITE_BARRIER(channel_19X, addr_27X, 0);
|
|
*((long *) addr_27X) = 0;
|
|
return status_26X;}
|
|
}
|
|
static void push_continuationB(char * code_pointer_28X, long size_29X)
|
|
{
|
|
long cont_32X;
|
|
long template_31X;
|
|
long pc_30X;
|
|
{ pc_30X = (((code_pointer_28X - (((char *) (-3 + (*((long *) (((char *) (-3 + (StemplateS)))))))))))<<2);
|
|
template_31X = StemplateS;
|
|
SstackS = ((SstackS) + -20);
|
|
*((long *) ((SstackS) + 4)) = (128 | (4134 + (((size_29X)<<10))));
|
|
cont_32X = 3 + (((long) ((SstackS) + 8)));
|
|
*((long *) ((((char *) (-3 + cont_32X))) + 4)) = pc_30X;
|
|
*((long *) ((((char *) (-3 + cont_32X))) + 8)) = template_31X;
|
|
*((long *) ((((char *) (-3 + cont_32X))) + 12)) = (SenvS);
|
|
*((long *) (((char *) (-3 + cont_32X)))) = (ScontS);
|
|
ScontS = cont_32X;
|
|
return;}
|
|
}
|
|
static long enter_string(char *string_33X, long key_34X)
|
|
{
|
|
long arg0K0;
|
|
long i_39X;
|
|
long string_38X;
|
|
char * addr_37X;
|
|
long len_36X;
|
|
long z_35X;
|
|
{ z_35X = strlen((char *) string_33X);
|
|
len_36X = 1 + z_35X;
|
|
addr_37X = ALLOCATE_SPACE(16, (4 + len_36X));
|
|
*((long *) addr_37X) = (66 + (((len_36X)<<8)));
|
|
string_38X = 3 + (((long) (addr_37X + 4)));
|
|
*((unsigned char *) ((((char *) (-3 + string_38X))) + z_35X)) = 0;
|
|
arg0K0 = 0;
|
|
goto L9539;}
|
|
L9539: {
|
|
i_39X = arg0K0;
|
|
if ((i_39X < z_35X)) {
|
|
*((unsigned char *) ((((char *) (-3 + string_38X))) + i_39X)) = ((*(string_33X + i_39X)));
|
|
arg0K0 = (1 + i_39X);
|
|
goto L9539;}
|
|
else {
|
|
return string_38X;}}
|
|
}
|
|
static char HcleanerB2170(long table_40X)
|
|
{
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long v_51X;
|
|
char * addr_50X;
|
|
long new_foo_49X;
|
|
char v_48X;
|
|
char * addr_47X;
|
|
long okay_46X;
|
|
long foo_45X;
|
|
long foo_44X;
|
|
char temp_43X;
|
|
long i_42X;
|
|
long table_41X;
|
|
{ table_41X = s48_trace_value(table_40X);
|
|
arg0K0 = 0;
|
|
goto L9729;}
|
|
L9729: {
|
|
i_42X = arg0K0;
|
|
temp_43X = 1024 == i_42X;
|
|
if (temp_43X) {
|
|
return temp_43X;}
|
|
else {
|
|
foo_44X = *((long *) ((((char *) (-3 + table_41X))) + (((i_42X)<<2))));
|
|
arg0K0 = foo_44X;
|
|
arg0K1 = 1;
|
|
goto L9749;}}
|
|
L9749: {
|
|
foo_45X = arg0K0;
|
|
okay_46X = arg0K1;
|
|
if ((1 == foo_45X)) {
|
|
addr_47X = (((char *) (-3 + table_41X))) + (((i_42X)<<2));
|
|
S48_WRITE_BARRIER(table_41X, addr_47X, okay_46X);
|
|
*((long *) addr_47X) = okay_46X;
|
|
arg0K0 = (1 + i_42X);
|
|
goto L9729;}
|
|
else {
|
|
v_48X = s48_extantP(foo_45X);
|
|
if (v_48X) {
|
|
new_foo_49X = s48_trace_value(foo_45X);
|
|
addr_50X = (((char *) (-3 + new_foo_49X))) + 4;
|
|
S48_WRITE_BARRIER(new_foo_49X, addr_50X, okay_46X);
|
|
*((long *) addr_50X) = okay_46X;
|
|
arg0K0 = new_foo_49X;
|
|
goto L9754;}
|
|
else {
|
|
arg0K0 = okay_46X;
|
|
goto L9754;}}}
|
|
L9754: {
|
|
v_51X = arg0K0;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + foo_45X))) + 4)));
|
|
arg0K1 = v_51X;
|
|
goto L9749;}
|
|
}
|
|
static void push_exception_continuationB(long exception_52X, long instruction_size_53X)
|
|
{
|
|
char * arg1K0;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long v_58X;
|
|
long i_57X;
|
|
char * p_56X;
|
|
long tem_55X;
|
|
long opcode_54X;
|
|
{ opcode_54X = *((unsigned char *) (Scode_pointerS));
|
|
*((long *) (SstackS)) = (((instruction_size_53X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((exception_52X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (StemplateS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((((Scode_pointerS) - (((char *) (-3 + (*((long *) (((char *) (-3 + (StemplateS)))))))))))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
tem_55X = Sexception_templateS;
|
|
StemplateS = tem_55X;
|
|
Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_55X))))))));
|
|
arg1K0 = ((SstackS) + 4);
|
|
arg0K1 = 0;
|
|
goto L9962;}
|
|
L9962: {
|
|
p_56X = arg1K0;
|
|
i_57X = arg0K1;
|
|
if ((2 == (3 & (*((long *) p_56X))))) {
|
|
if ((22 == (*((long *) p_56X)))) {
|
|
arg0K0 = (-1 + i_57X);
|
|
goto L9903;}
|
|
else {
|
|
arg0K0 = i_57X;
|
|
goto L9903;}}
|
|
else {
|
|
arg1K0 = (p_56X + 4);
|
|
arg0K1 = (1 + i_57X);
|
|
goto L9962;}}
|
|
L9903: {
|
|
v_58X = arg0K0;
|
|
push_continuationB((Scode_pointerS), v_58X);
|
|
*((long *) (SstackS)) = (((opcode_54X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((exception_52X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
return;}
|
|
}
|
|
static long make_registered_channel(long mode_59X, long id_60X, long os_index_61X, long key_62X, long *TT0)
|
|
{
|
|
long x_66X;
|
|
char * addr_65X;
|
|
char x_64X;
|
|
char temp_63X;
|
|
{ temp_63X = os_index_61X < (Snumber_of_channelsS);
|
|
if (temp_63X) {
|
|
goto L10830;}
|
|
else {
|
|
x_64X = add_more_channels(os_index_61X);
|
|
if (x_64X) {
|
|
goto L10830;}
|
|
else {
|
|
*TT0 = 9;
|
|
return 1;}}}
|
|
L10830: {
|
|
if ((1 == (*((Svm_channelsS) + os_index_61X)))) {
|
|
addr_65X = ALLOCATE_SPACE(5, 24);
|
|
*((long *) addr_65X) = 5142;
|
|
x_66X = 3 + (((long) (addr_65X + 4)));
|
|
*((long *) (((char *) (-3 + x_66X)))) = (((mode_59X)<<2));
|
|
*((long *) ((((char *) (-3 + x_66X))) + 4)) = id_60X;
|
|
*((long *) ((((char *) (-3 + x_66X))) + 8)) = (((os_index_61X)<<2));
|
|
*((long *) ((((char *) (-3 + x_66X))) + 12)) = 1;
|
|
*((long *) ((((char *) (-3 + x_66X))) + 16)) = 1;
|
|
*((Svm_channelsS) + os_index_61X) = x_66X;
|
|
*TT0 = 9;
|
|
return x_66X;}
|
|
else {
|
|
*TT0 = 11;
|
|
return 1;}}
|
|
}
|
|
static long channel_close_error(long status_67X, long index_68X, long id_69X)
|
|
{
|
|
long v_70X;
|
|
{ ps_write_string("Error: ", (stderr));
|
|
ps_write_string((ps_error_string(status_67X)), (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
ps_write_string(" while closing port ", (stderr));
|
|
if ((3 == (3 & id_69X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + id_69X))) + -4))))>>2))))) {
|
|
ps_write_string((((char *)(((char *) (-3 + id_69X))))), (stderr));
|
|
goto L11476;}
|
|
else {
|
|
goto L11470;}}
|
|
else {
|
|
goto L11470;}}
|
|
L11476: {
|
|
PS_WRITE_CHAR(10, (stderr), v_70X)
|
|
return v_70X;}
|
|
L11470: {
|
|
ps_write_integer((((index_68X)>>2)), (stderr));
|
|
goto L11476;}
|
|
}
|
|
static void HtopD8911(void)
|
|
{
|
|
char * arg1K0;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long env_113X;
|
|
long env_112X;
|
|
long last_env_111X;
|
|
long cont_110X;
|
|
long env_109X;
|
|
long v_108X;
|
|
long env_107X;
|
|
long p_106X;
|
|
long arg_count_105X;
|
|
long i_104X;
|
|
char * p_103X;
|
|
char * addr_102X;
|
|
long val_101X;
|
|
long unused_100X;
|
|
char * a_99X;
|
|
char x_98X;
|
|
long pair_97X;
|
|
long v_96X;
|
|
long v_95X;
|
|
long env_94X;
|
|
long alist_93X;
|
|
long x2_92X;
|
|
char * cell_91X;
|
|
long i_90X;
|
|
long x2_89X;
|
|
char * cell_88X;
|
|
long v_87X;
|
|
long v_86X;
|
|
long v_85X;
|
|
long v_84X;
|
|
long v_83X;
|
|
long v_82X;
|
|
long v_81X;
|
|
long v_80X;
|
|
long v_79X;
|
|
long v_78X;
|
|
long v_77X;
|
|
long v_76X;
|
|
long v_75X;
|
|
long v_74X;
|
|
char * frame_73X;
|
|
long length_72X;
|
|
char * frame_71X;
|
|
{ arg1K0 = (Sexternal_root_stackS);
|
|
goto L6268;}
|
|
L6268: {
|
|
frame_71X = arg1K0;
|
|
if ((frame_71X == NULL)) {
|
|
arg1K0 = (Spermanent_external_rootsS);
|
|
goto L6294;}
|
|
else {
|
|
length_72X = *((long *) frame_71X);
|
|
arg0K0 = 0;
|
|
goto L6276;}}
|
|
L6294: {
|
|
frame_73X = arg1K0;
|
|
if ((frame_73X == NULL)) {
|
|
s48_initializing_gc_root();
|
|
v_74X = s48_trace_value((Simported_bindingsS));
|
|
Simported_bindingsS = v_74X;
|
|
v_75X = s48_trace_value((Sexported_bindingsS));
|
|
Sexported_bindingsS = v_75X;
|
|
Ssaved_pcS = (((((Scode_pointerS) - (((char *) (-3 + (*((long *) (((char *) (-3 + (StemplateS)))))))))))<<2));
|
|
v_76X = s48_trace_value((StemplateS));
|
|
StemplateS = v_76X;
|
|
v_77X = s48_trace_value((SvalS));
|
|
SvalS = v_77X;
|
|
v_78X = s48_trace_value((Scurrent_threadS));
|
|
Scurrent_threadS = v_78X;
|
|
v_79X = s48_trace_value((Ssession_dataS));
|
|
Ssession_dataS = v_79X;
|
|
v_80X = s48_trace_value((Sexception_handlersS));
|
|
Sexception_handlersS = v_80X;
|
|
v_81X = s48_trace_value((Sexception_templateS));
|
|
Sexception_templateS = v_81X;
|
|
v_82X = s48_trace_value((Sinterrupt_handlersS));
|
|
Sinterrupt_handlersS = v_82X;
|
|
v_83X = s48_trace_value((Sinterrupt_templateS));
|
|
Sinterrupt_templateS = v_83X;
|
|
v_84X = s48_trace_value((Sinterrupted_templateS));
|
|
Sinterrupted_templateS = v_84X;
|
|
v_85X = s48_trace_value((Sfinalize_theseS));
|
|
Sfinalize_theseS = v_85X;
|
|
v_86X = s48_trace_value((Sos_signal_typeS));
|
|
Sos_signal_typeS = v_86X;
|
|
v_87X = s48_trace_value((Sos_signal_argumentS));
|
|
Sos_signal_argumentS = v_87X;
|
|
arg0K0 = (Sfinalizer_alistS);
|
|
goto L5302;}
|
|
else {
|
|
cell_88X = ((char *) (*((long *) (frame_73X + 4))));
|
|
x2_89X = s48_trace_value((*((long *) cell_88X)));
|
|
*((long *) cell_88X) = x2_89X;
|
|
arg1K0 = (((char *) (*((long *) frame_73X))));
|
|
goto L6294;}}
|
|
L6276: {
|
|
i_90X = arg0K0;
|
|
if ((i_90X == length_72X)) {
|
|
arg1K0 = (((char *) (*((long *) (frame_71X + 4)))));
|
|
goto L6268;}
|
|
else {
|
|
cell_91X = ((char *) (*((long *) (frame_71X + (8 + (((i_90X)<<2)))))));
|
|
x2_92X = s48_trace_value((*((long *) cell_91X)));
|
|
*((long *) cell_91X) = x2_92X;
|
|
arg0K0 = (1 + i_90X);
|
|
goto L6276;}}
|
|
L5302: {
|
|
alist_93X = arg0K0;
|
|
if ((25 == alist_93X)) {
|
|
env_94X = s48_trace_value((SenvS));
|
|
SenvS = env_94X;
|
|
v_95X = s48_trace_value((Spending_channels_headS));
|
|
Spending_channels_headS = v_95X;
|
|
v_96X = s48_trace_value((Spending_channels_tailS));
|
|
Spending_channels_tailS = v_96X;
|
|
if ((Sstack_warningPS)) {
|
|
arg1K0 = (Sstack_beginS);
|
|
goto L5896;}
|
|
else {
|
|
goto L5929;}}
|
|
else {
|
|
pair_97X = *((long *) (((char *) (-3 + alist_93X))));
|
|
x_98X = s48_extantP((*((long *) (((char *) (-3 + pair_97X))))));
|
|
if (x_98X) {
|
|
goto L5327;}
|
|
else {
|
|
s48_trace_stob_contentsB((*((long *) (((char *) (-3 + pair_97X))))));
|
|
goto L5327;}}}
|
|
L5896: {
|
|
a_99X = arg1K0;
|
|
if ((252645135 == (*((long *) a_99X)))) {
|
|
arg1K0 = (a_99X + 4);
|
|
goto L5896;}
|
|
else {
|
|
unused_100X = (((a_99X - (Sstack_beginS)))>>2);
|
|
if ((unused_100X < 30)) {
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
ps_write_string("[Alert: stack overconsumption (", (stderr));
|
|
ps_write_integer(unused_100X, (stderr));
|
|
ps_write_string("); please inform the Scheme 48 implementors]", (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
Sstack_warningPS = 0;
|
|
goto L5929;}
|
|
else {
|
|
goto L5929;}}}
|
|
L5929: {
|
|
arg1K0 = ((SstackS) + 4);
|
|
arg0K1 = 0;
|
|
goto L5994;}
|
|
L5327: {
|
|
val_101X = s48_trace_value((*((long *) ((((char *) (-3 + pair_97X))) + 4))));
|
|
addr_102X = (((char *) (-3 + pair_97X))) + 4;
|
|
S48_WRITE_BARRIER(pair_97X, addr_102X, val_101X);
|
|
*((long *) addr_102X) = val_101X;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + alist_93X))) + 4)));
|
|
goto L5302;}
|
|
L5994: {
|
|
p_103X = arg1K0;
|
|
i_104X = arg0K1;
|
|
if ((2 == (3 & (*((long *) p_103X))))) {
|
|
if ((22 == (*((long *) p_103X)))) {
|
|
arg0K0 = (-1 + i_104X);
|
|
goto L5931;}
|
|
else {
|
|
arg0K0 = i_104X;
|
|
goto L5931;}}
|
|
else {
|
|
arg1K0 = (p_103X + 4);
|
|
arg0K1 = (1 + i_104X);
|
|
goto L5994;}}
|
|
L5931: {
|
|
arg_count_105X = arg0K0;
|
|
s48_trace_locationsB(((SstackS) + 4), ((SstackS) + (4 + (((arg_count_105X)<<2)))));
|
|
p_106X = SenvS;
|
|
if ((3 == (3 & p_106X))) {
|
|
if ((p_106X < (((long) (Sstack_beginS))))) {
|
|
goto L5947;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_106X)) {
|
|
goto L5947;}
|
|
else {
|
|
env_107X = SenvS;
|
|
arg0K0 = env_107X;
|
|
goto L6107;}}}
|
|
else {
|
|
goto L5947;}}
|
|
L5947: {
|
|
v_108X = s48_trace_value((SenvS));
|
|
SenvS = v_108X;
|
|
goto L5952;}
|
|
L6107: {
|
|
env_109X = arg0K0;
|
|
if ((3 == (3 & env_109X))) {
|
|
if ((env_109X < (((long) (Sstack_beginS))))) {
|
|
goto L5952;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < env_109X)) {
|
|
goto L5952;}
|
|
else {
|
|
s48_trace_stob_contentsB(env_109X);
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_109X)))));
|
|
goto L6107;}}}
|
|
else {
|
|
goto L5952;}}
|
|
L5952: {
|
|
arg0K0 = (ScontS);
|
|
arg0K1 = 0;
|
|
goto L5957;}
|
|
L5957: {
|
|
cont_110X = arg0K0;
|
|
last_env_111X = arg0K1;
|
|
env_112X = *((long *) ((((char *) (-3 + cont_110X))) + 12));
|
|
s48_trace_stob_contentsB(cont_110X);
|
|
if ((env_112X == last_env_111X)) {
|
|
goto L5975;}
|
|
else {
|
|
arg0K0 = env_112X;
|
|
goto L6062;}}
|
|
L5975: {
|
|
if ((cont_110X == (Sbottom_of_stackS))) {
|
|
return;}
|
|
else {
|
|
arg0K0 = (*((long *) (((char *) (-3 + cont_110X)))));
|
|
arg0K1 = env_112X;
|
|
goto L5957;}}
|
|
L6062: {
|
|
env_113X = arg0K0;
|
|
if ((3 == (3 & env_113X))) {
|
|
if ((env_113X < (((long) (Sstack_beginS))))) {
|
|
goto L5975;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < env_113X)) {
|
|
goto L5975;}
|
|
else {
|
|
s48_trace_stob_contentsB(env_113X);
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_113X)))));
|
|
goto L6062;}}}
|
|
else {
|
|
goto L5975;}}
|
|
}
|
|
static long Hlookup2112(long table_114X, long string_115X, long key_116X)
|
|
{
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long len_127X;
|
|
long s2_126X;
|
|
char * addr_125X;
|
|
long x_124X;
|
|
char * addr_123X;
|
|
long foo_122X;
|
|
long bucket_121X;
|
|
long index_120X;
|
|
long h_119X;
|
|
long i_118X;
|
|
long n_117X;
|
|
{ n_117X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_115X))) + -4))))>>8));
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L13097;}
|
|
L13097: {
|
|
i_118X = arg0K0;
|
|
h_119X = arg0K1;
|
|
if ((i_118X < n_117X)) {
|
|
arg0K0 = (1 + i_118X);
|
|
arg0K1 = (h_119X + (((*((unsigned char *) ((((char *) (-3 + string_115X))) + i_118X))))));
|
|
goto L13097;}
|
|
else {
|
|
index_120X = 1023 & h_119X;
|
|
bucket_121X = *((long *) ((((char *) (-3 + table_114X))) + (((index_120X)<<2))));
|
|
arg0K0 = bucket_121X;
|
|
goto L13065;}}
|
|
L13065: {
|
|
foo_122X = arg0K0;
|
|
if ((1 == foo_122X)) {
|
|
addr_123X = ALLOCATE_SPACE(13, 20);
|
|
*((long *) addr_123X) = 4150;
|
|
x_124X = 3 + (((long) (addr_123X + 4)));
|
|
*((long *) (((char *) (-3 + x_124X)))) = string_115X;
|
|
*((long *) ((((char *) (-3 + x_124X))) + 4)) = 1;
|
|
*((long *) ((((char *) (-3 + x_124X))) + 8)) = 13;
|
|
*((long *) ((((char *) (-3 + x_124X))) + 12)) = bucket_121X;
|
|
addr_125X = (((char *) (-3 + table_114X))) + (((index_120X)<<2));
|
|
S48_WRITE_BARRIER(table_114X, addr_125X, x_124X);
|
|
*((long *) addr_125X) = x_124X;
|
|
return x_124X;}
|
|
else {
|
|
s2_126X = *((long *) (((char *) (-3 + foo_122X))));
|
|
len_127X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_115X))) + -4))))>>8);
|
|
if ((len_127X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_126X))) + -4))))>>8)))) {
|
|
if (((!memcmp((void *)(((char *) (-3 + s2_126X))), (void *)(((char *) (-3 + string_115X))),len_127X)))) {
|
|
return foo_122X;}
|
|
else {
|
|
goto L13081;}}
|
|
else {
|
|
goto L13081;}}}
|
|
L13081: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + foo_122X))) + 12)));
|
|
goto L13065;}
|
|
}
|
|
static long Hlookup2093(long table_128X, long string_129X, long key_130X)
|
|
{
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long len_141X;
|
|
long s2_140X;
|
|
char * addr_139X;
|
|
long x_138X;
|
|
char * addr_137X;
|
|
long foo_136X;
|
|
long bucket_135X;
|
|
long index_134X;
|
|
long h_133X;
|
|
long i_132X;
|
|
long n_131X;
|
|
{ n_131X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_129X))) + -4))))>>8));
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L13222;}
|
|
L13222: {
|
|
i_132X = arg0K0;
|
|
h_133X = arg0K1;
|
|
if ((i_132X < n_131X)) {
|
|
arg0K0 = (1 + i_132X);
|
|
arg0K1 = (h_133X + (((*((unsigned char *) ((((char *) (-3 + string_129X))) + i_132X))))));
|
|
goto L13222;}
|
|
else {
|
|
index_134X = 1023 & h_133X;
|
|
bucket_135X = *((long *) ((((char *) (-3 + table_128X))) + (((index_134X)<<2))));
|
|
arg0K0 = bucket_135X;
|
|
goto L13190;}}
|
|
L13190: {
|
|
foo_136X = arg0K0;
|
|
if ((1 == foo_136X)) {
|
|
addr_137X = ALLOCATE_SPACE(13, 20);
|
|
*((long *) addr_137X) = 4150;
|
|
x_138X = 3 + (((long) (addr_137X + 4)));
|
|
*((long *) (((char *) (-3 + x_138X)))) = string_129X;
|
|
*((long *) ((((char *) (-3 + x_138X))) + 4)) = 5;
|
|
*((long *) ((((char *) (-3 + x_138X))) + 8)) = 13;
|
|
*((long *) ((((char *) (-3 + x_138X))) + 12)) = bucket_135X;
|
|
addr_139X = (((char *) (-3 + table_128X))) + (((index_134X)<<2));
|
|
S48_WRITE_BARRIER(table_128X, addr_139X, x_138X);
|
|
*((long *) addr_139X) = x_138X;
|
|
return x_138X;}
|
|
else {
|
|
s2_140X = *((long *) (((char *) (-3 + foo_136X))));
|
|
len_141X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_129X))) + -4))))>>8);
|
|
if ((len_141X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_140X))) + -4))))>>8)))) {
|
|
if (((!memcmp((void *)(((char *) (-3 + s2_140X))), (void *)(((char *) (-3 + string_129X))),len_141X)))) {
|
|
return foo_136X;}
|
|
else {
|
|
goto L13206;}}
|
|
else {
|
|
goto L13206;}}}
|
|
L13206: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + foo_136X))) + 12)));
|
|
goto L13190;}
|
|
}
|
|
static void HtopD8904(void)
|
|
{
|
|
long arg0K2;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long status_168X;
|
|
long id_167X;
|
|
long new_166X;
|
|
long id_165X;
|
|
long header_164X;
|
|
long channel_163X;
|
|
long i_162X;
|
|
char * addr_161X;
|
|
long l_160X;
|
|
long v_159X;
|
|
char * addr_158X;
|
|
char * addr_157X;
|
|
char * addr_156X;
|
|
char * addr_155X;
|
|
long val_154X;
|
|
char tracedP_153X;
|
|
long next_152X;
|
|
long thing_151X;
|
|
long pair_150X;
|
|
long alist_149X;
|
|
long l2_148X;
|
|
long goners_147X;
|
|
long okay_146X;
|
|
long alist_145X;
|
|
long pc_144X;
|
|
long tem_143X;
|
|
long new_142X;
|
|
{ new_142X = s48_trace_value((Sthe_symbol_tableS));
|
|
HcleanerB2170(new_142X);
|
|
Sthe_symbol_tableS = new_142X;
|
|
tem_143X = StemplateS;
|
|
pc_144X = Ssaved_pcS;
|
|
StemplateS = tem_143X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_143X)))))))) + (((pc_144X)>>2)));
|
|
arg0K0 = (Sfinalizer_alistS);
|
|
arg0K1 = 25;
|
|
arg0K2 = 25;
|
|
goto L7735;}
|
|
L7735: {
|
|
alist_145X = arg0K0;
|
|
okay_146X = arg0K1;
|
|
goners_147X = arg0K2;
|
|
if ((25 == alist_145X)) {
|
|
Sfinalizer_alistS = okay_146X;
|
|
l2_148X = Sfinalize_theseS;
|
|
if ((25 == goners_147X)) {
|
|
arg0K0 = l2_148X;
|
|
goto L7743;}
|
|
else {
|
|
arg0K0 = goners_147X;
|
|
goto L7796;}}
|
|
else {
|
|
alist_149X = s48_trace_value(alist_145X);
|
|
pair_150X = s48_trace_value((*((long *) (((char *) (-3 + alist_149X))))));
|
|
thing_151X = *((long *) (((char *) (-3 + pair_150X))));
|
|
next_152X = *((long *) ((((char *) (-3 + alist_149X))) + 4));
|
|
tracedP_153X = s48_extantP(thing_151X);
|
|
val_154X = s48_trace_value(thing_151X);
|
|
addr_155X = ((char *) (-3 + pair_150X));
|
|
S48_WRITE_BARRIER(pair_150X, addr_155X, val_154X);
|
|
*((long *) addr_155X) = val_154X;
|
|
addr_156X = ((char *) (-3 + alist_149X));
|
|
S48_WRITE_BARRIER(alist_149X, addr_156X, pair_150X);
|
|
*((long *) addr_156X) = pair_150X;
|
|
if (tracedP_153X) {
|
|
addr_157X = (((char *) (-3 + alist_149X))) + 4;
|
|
S48_WRITE_BARRIER(alist_149X, addr_157X, okay_146X);
|
|
*((long *) addr_157X) = okay_146X;
|
|
arg0K0 = next_152X;
|
|
arg0K1 = alist_149X;
|
|
arg0K2 = goners_147X;
|
|
goto L7735;}
|
|
else {
|
|
addr_158X = (((char *) (-3 + alist_149X))) + 4;
|
|
S48_WRITE_BARRIER(alist_149X, addr_158X, goners_147X);
|
|
*((long *) addr_158X) = goners_147X;
|
|
arg0K0 = next_152X;
|
|
arg0K1 = okay_146X;
|
|
arg0K2 = alist_149X;
|
|
goto L7735;}}}
|
|
L7743: {
|
|
v_159X = arg0K0;
|
|
Sfinalize_theseS = v_159X;
|
|
arg0K0 = 0;
|
|
goto L12529;}
|
|
L7796: {
|
|
l_160X = arg0K0;
|
|
if ((25 == (*((long *) ((((char *) (-3 + l_160X))) + 4))))) {
|
|
addr_161X = (((char *) (-3 + l_160X))) + 4;
|
|
S48_WRITE_BARRIER(l_160X, addr_161X, l2_148X);
|
|
*((long *) addr_161X) = l2_148X;
|
|
arg0K0 = goners_147X;
|
|
goto L7743;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + l_160X))) + 4)));
|
|
goto L7796;}}
|
|
L12529: {
|
|
i_162X = arg0K0;
|
|
if ((i_162X == (Snumber_of_channelsS))) {
|
|
Spending_interruptsS = (4 | (Spending_interruptsS));
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
return;}
|
|
else {
|
|
return;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
return;}}
|
|
else {
|
|
channel_163X = *((Svm_channelsS) + i_162X);
|
|
if ((1 == channel_163X)) {
|
|
goto L12565;}
|
|
else {
|
|
header_164X = *((long *) ((((char *) (-3 + channel_163X))) + -4));
|
|
if ((3 == (3 & header_164X))) {
|
|
arg0K0 = header_164X;
|
|
goto L12558;}
|
|
else {
|
|
if ((0 == (*((long *) (((char *) (-3 + channel_163X))))))) {
|
|
arg0K0 = 1;
|
|
goto L12558;}
|
|
else {
|
|
id_165X = *((long *) ((((char *) (-3 + channel_163X))) + 4));
|
|
if ((0 == (3 & id_165X))) {
|
|
arg0K0 = id_165X;
|
|
goto L12241;}
|
|
else {
|
|
if ((3 == (3 & (*((long *) ((((char *) (-3 + id_165X))) + -4)))))) {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + id_165X))) + -4)));
|
|
goto L12241;}
|
|
else {
|
|
arg0K0 = id_165X;
|
|
goto L12241;}}}}}}}
|
|
L12565: {
|
|
arg0K0 = (1 + i_162X);
|
|
goto L12529;}
|
|
L12558: {
|
|
new_166X = arg0K0;
|
|
*((Svm_channelsS) + i_162X) = new_166X;
|
|
goto L12565;}
|
|
L12241: {
|
|
id_167X = arg0K0;
|
|
status_168X = close_channelB(channel_163X);
|
|
if ((status_168X == NO_ERRORS)) {
|
|
goto L12256;}
|
|
else {
|
|
channel_close_error(status_168X, (*((long *) ((((char *) (-3 + channel_163X))) + 8))), id_167X);
|
|
goto L12256;}}
|
|
L12256: {
|
|
ps_write_string("Channel closed: ", (stderr));
|
|
if ((0 == (3 & id_167X))) {
|
|
ps_write_integer((((id_167X)>>2)), (stderr));
|
|
goto L12274;}
|
|
else {
|
|
ps_write_string((((char *)(((char *) (-3 + id_167X))))), (stderr));
|
|
goto L12274;}}
|
|
L12274: {
|
|
ps_write_string(" ", (stderr));
|
|
ps_write_integer(((((*((long *) ((((char *) (-3 + channel_163X))) + 8))))>>2)), (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
arg0K0 = 1;
|
|
goto L12558;}
|
|
}
|
|
static long collect_saving_temps(long value0_169X, long value1_170X, long *TT0)
|
|
{
|
|
long value0_172X;
|
|
long value1_171X;
|
|
{ s48_begin_collection();
|
|
(*(Sgc_root_procS))();
|
|
value1_171X = s48_trace_value(value1_170X);
|
|
value0_172X = s48_trace_value(value0_169X);
|
|
s48_do_gc();
|
|
(*(Spost_gc_cleanupS))();
|
|
s48_end_collection();
|
|
*TT0 = value1_171X;
|
|
return value0_172X;}
|
|
}
|
|
void s48_set_extension_valueB(long value_173X)
|
|
{
|
|
|
|
{ s48_Sextension_valueS = value_173X;
|
|
return;}
|
|
}
|
|
void s48_note_event(void)
|
|
{
|
|
|
|
{ s48_Spending_eventsPS = 1;
|
|
s48_Spending_interruptPS = 1;
|
|
return;}
|
|
}
|
|
void s48_set_os_signal(long type_174X, long argument_175X)
|
|
{
|
|
|
|
{ Sos_signal_typeS = type_174X;
|
|
Sos_signal_argumentS = argument_175X;
|
|
return;}
|
|
}
|
|
long s48_exported_bindings(void)
|
|
{
|
|
|
|
{ return (Sexported_bindingsS);}
|
|
}
|
|
char * s48_set_gc_roots_baseB(char * *TT0)
|
|
{
|
|
char * old_base_176X;
|
|
{ old_base_176X = Sexternal_root_stack_baseS;
|
|
Sexternal_root_stack_baseS = (Sexternal_root_stackS);
|
|
*TT0 = (Sexternal_root_stackS);
|
|
return old_base_176X;}
|
|
}
|
|
char s48_release_gc_roots_baseB(char * old_base_177X, char * old_stack_178X)
|
|
{
|
|
char okayP_179X;
|
|
{ okayP_179X = (Sexternal_root_stackS) == (Sexternal_root_stack_baseS);
|
|
Sexternal_root_stack_baseS = old_base_177X;
|
|
Sexternal_root_stackS = old_stack_178X;
|
|
return okayP_179X;}
|
|
}
|
|
void s48_disable_interruptsB(void)
|
|
{
|
|
|
|
{ s48_Spending_interruptPS = 0;
|
|
Senabled_interruptsS = 0;
|
|
return;}
|
|
}
|
|
void s48_push_gc_rootsB(char * frame_180X, long n_181X)
|
|
{
|
|
|
|
{ *((long *) frame_180X) = n_181X;
|
|
*((long *) (frame_180X + 4)) = (((long) (Sexternal_root_stackS)));
|
|
Sexternal_root_stackS = frame_180X;
|
|
return;}
|
|
}
|
|
void s48_register_gc_rootB(char * loc_addr_182X)
|
|
{
|
|
char * frame_183X;
|
|
{ frame_183X = (char *)malloc(8);
|
|
if ((frame_183X == NULL)) {
|
|
ps_error("out of memory registering a global root", 0);
|
|
goto L3188;}
|
|
else {
|
|
goto L3188;}}
|
|
L3188: {
|
|
*((long *) frame_183X) = (((long) (Spermanent_external_rootsS)));
|
|
*((long *) (frame_183X + 4)) = (((long) loc_addr_182X));
|
|
Spermanent_external_rootsS = frame_183X;
|
|
return;}
|
|
}
|
|
void s48_stack_setB(long x_184X, long value_185X)
|
|
{
|
|
|
|
{ *((long *) ((SstackS) + (4 + (((x_184X)<<2))))) = value_185X;
|
|
return;}
|
|
}
|
|
long s48_stack_ref(long i_186X)
|
|
{
|
|
|
|
{ return (*((long *) ((SstackS) + (4 + (((i_186X)<<2))))));}
|
|
}
|
|
void s48_push(long x_187X)
|
|
{
|
|
|
|
{ *((long *) (SstackS)) = x_187X;
|
|
SstackS = ((SstackS) + -4);
|
|
return;}
|
|
}
|
|
long s48_resetup_external_exception(long new_why_188X, long additional_nargs_189X)
|
|
{
|
|
long old_why_191X;
|
|
long old_nargs_190X;
|
|
{ old_nargs_190X = Sexternal_exception_nargsS;
|
|
old_why_191X = *((long *) ((SstackS) + (4 + (((old_nargs_190X)<<2)))));
|
|
*((long *) ((SstackS) + (4 + (((old_nargs_190X)<<2))))) = (((new_why_188X)<<2));
|
|
Sexternal_exception_nargsS = (old_nargs_190X + additional_nargs_189X);
|
|
return old_why_191X;}
|
|
}
|
|
void s48_enable_interruptsB(void)
|
|
{
|
|
|
|
{ Senabled_interruptsS = -1;
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
return;}
|
|
else {
|
|
return;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
return;}}
|
|
}
|
|
char s48_pop_gc_rootsB(void)
|
|
{
|
|
|
|
{ if (((Sexternal_root_stackS) == (Sexternal_root_stack_baseS))) {
|
|
return 0;}
|
|
else {
|
|
Sexternal_root_stackS = (((char *) (*((long *) ((Sexternal_root_stackS) + 4)))));
|
|
return 1;}}
|
|
}
|
|
void s48_mark_traced_channels_closedB(void)
|
|
{
|
|
long arg0K0;
|
|
char * addr_197X;
|
|
char * addr_196X;
|
|
long descriptor_195X;
|
|
long header_194X;
|
|
long channel_193X;
|
|
long i_192X;
|
|
{ arg0K0 = 0;
|
|
goto L6345;}
|
|
L6345: {
|
|
i_192X = arg0K0;
|
|
if ((i_192X == (Snumber_of_channelsS))) {
|
|
return;}
|
|
else {
|
|
channel_193X = *((Svm_channelsS) + i_192X);
|
|
if ((1 == channel_193X)) {
|
|
goto L6405;}
|
|
else {
|
|
header_194X = *((long *) ((((char *) (-3 + channel_193X))) + -4));
|
|
if ((3 == (3 & header_194X))) {
|
|
ps_write_string("Channel closed in dumped image: ", (stderr));
|
|
descriptor_195X = *((long *) ((((char *) (-3 + channel_193X))) + 4));
|
|
if ((0 == (3 & descriptor_195X))) {
|
|
ps_write_integer(((((*((long *) ((((char *) (-3 + channel_193X))) + 4))))>>2)), (stderr));
|
|
goto L6391;}
|
|
else {
|
|
ps_write_string((((char *)(((char *) (-3 + (*((long *) ((((char *) (-3 + channel_193X))) + 4)))))))), (stderr));
|
|
goto L6391;}}
|
|
else {
|
|
goto L6405;}}}}
|
|
L6405: {
|
|
arg0K0 = (1 + i_192X);
|
|
goto L6345;}
|
|
L6391: {
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
addr_196X = ((char *) (-3 + header_194X));
|
|
S48_WRITE_BARRIER(header_194X, addr_196X, 0);
|
|
*((long *) addr_196X) = 0;
|
|
addr_197X = (((char *) (-3 + header_194X))) + 8;
|
|
S48_WRITE_BARRIER(header_194X, addr_197X, -4);
|
|
*((long *) addr_197X) = -4;
|
|
goto L6405;}
|
|
}
|
|
long s48_set_channel_os_index(long channel_198X, long os_index_199X)
|
|
{
|
|
char * addr_206X;
|
|
long val_205X;
|
|
long v_204X;
|
|
long x_203X;
|
|
long old_index_202X;
|
|
char x_201X;
|
|
char temp_200X;
|
|
{ temp_200X = os_index_199X < (Snumber_of_channelsS);
|
|
if (temp_200X) {
|
|
goto L7914;}
|
|
else {
|
|
x_201X = add_more_channels(os_index_199X);
|
|
if (x_201X) {
|
|
goto L7914;}
|
|
else {
|
|
return 36;}}}
|
|
L7914: {
|
|
if ((1 == (*((Svm_channelsS) + os_index_199X)))) {
|
|
old_index_202X = (((*((long *) ((((char *) (-3 + channel_198X))) + 8))))>>2);
|
|
x_203X = *((long *) ((((char *) (-3 + channel_198X))) + 16));
|
|
if ((5 == x_203X)) {
|
|
v_204X = ps_abort_fd_op(old_index_202X);
|
|
enqueue_channelB(old_index_202X, v_204X);
|
|
goto L7900;}
|
|
else {
|
|
goto L7900;}}
|
|
else {
|
|
return 44;}}
|
|
L7900: {
|
|
*((Svm_channelsS) + old_index_202X) = 1;
|
|
*((Svm_channelsS) + os_index_199X) = channel_198X;
|
|
val_205X = ((os_index_199X)<<2);
|
|
addr_206X = (((char *) (-3 + channel_198X))) + 8;
|
|
S48_WRITE_BARRIER(channel_198X, addr_206X, val_205X);
|
|
*((long *) addr_206X) = val_205X;
|
|
return 5;}
|
|
}
|
|
long s48_cleaned_imported_bindings(void)
|
|
{
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long v_220X;
|
|
char * addr_219X;
|
|
long entry_218X;
|
|
char * addr_217X;
|
|
long new_foo_216X;
|
|
char v_215X;
|
|
char * addr_214X;
|
|
long okay_213X;
|
|
long foo_212X;
|
|
long i_211X;
|
|
long foo_210X;
|
|
long i_209X;
|
|
long table_208X;
|
|
long table_207X;
|
|
{ table_207X = s48_trace_value((Simported_bindingsS));
|
|
table_208X = s48_trace_value(table_207X);
|
|
arg0K0 = 0;
|
|
goto L8591;}
|
|
L8591: {
|
|
i_209X = arg0K0;
|
|
if ((1024 == i_209X)) {
|
|
arg0K0 = 0;
|
|
goto L9680;}
|
|
else {
|
|
foo_210X = *((long *) ((((char *) (-3 + table_208X))) + (((i_209X)<<2))));
|
|
arg0K0 = foo_210X;
|
|
arg0K1 = 1;
|
|
goto L8611;}}
|
|
L9680: {
|
|
i_211X = arg0K0;
|
|
if ((1024 == i_211X)) {
|
|
return table_207X;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + table_207X))) + (((i_211X)<<2)))));
|
|
goto L9688;}}
|
|
L8611: {
|
|
foo_212X = arg0K0;
|
|
okay_213X = arg0K1;
|
|
if ((1 == foo_212X)) {
|
|
addr_214X = (((char *) (-3 + table_208X))) + (((i_209X)<<2));
|
|
S48_WRITE_BARRIER(table_208X, addr_214X, okay_213X);
|
|
*((long *) addr_214X) = okay_213X;
|
|
arg0K0 = (1 + i_209X);
|
|
goto L8591;}
|
|
else {
|
|
v_215X = s48_extantP(foo_212X);
|
|
if (v_215X) {
|
|
new_foo_216X = s48_trace_value(foo_212X);
|
|
addr_217X = (((char *) (-3 + new_foo_216X))) + 12;
|
|
S48_WRITE_BARRIER(new_foo_216X, addr_217X, okay_213X);
|
|
*((long *) addr_217X) = okay_213X;
|
|
arg0K0 = new_foo_216X;
|
|
goto L8616;}
|
|
else {
|
|
arg0K0 = okay_213X;
|
|
goto L8616;}}}
|
|
L9688: {
|
|
entry_218X = arg0K0;
|
|
if ((1 == entry_218X)) {
|
|
arg0K0 = (1 + i_211X);
|
|
goto L9680;}
|
|
else {
|
|
addr_219X = (((char *) (-3 + entry_218X))) + 8;
|
|
S48_WRITE_BARRIER(entry_218X, addr_219X, 529);
|
|
*((long *) addr_219X) = 529;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + entry_218X))) + 12)));
|
|
goto L9688;}}
|
|
L8616: {
|
|
v_220X = arg0K0;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + foo_212X))) + 12)));
|
|
arg0K1 = v_220X;
|
|
goto L8611;}
|
|
}
|
|
long s48_copy_symbol_table(void)
|
|
{
|
|
long new_221X;
|
|
{ new_221X = s48_trace_value((Sthe_symbol_tableS));
|
|
HcleanerB2170(new_221X);
|
|
return new_221X;}
|
|
}
|
|
void s48_setup_external_exception(long why_222X, long nargs_223X)
|
|
{
|
|
|
|
{ push_exception_continuationB(why_222X, 1);
|
|
if ((10 < nargs_223X)) {
|
|
ps_error("too many arguments from external exception", 0);
|
|
goto L11032;}
|
|
else {
|
|
goto L11032;}}
|
|
L11032: {
|
|
Sexternal_exception_nargsS = nargs_223X;
|
|
Sexternal_exceptionPS = 1;
|
|
return;}
|
|
}
|
|
void s48_close_channel(long os_index_224X)
|
|
{
|
|
long obj_225X;
|
|
{ if ((os_index_224X < 0)) {
|
|
return;}
|
|
else {
|
|
if ((os_index_224X < (Snumber_of_channelsS))) {
|
|
obj_225X = *((Svm_channelsS) + os_index_224X);
|
|
if ((3 == (3 & obj_225X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_225X))) + -4))))>>2))))) {
|
|
close_channelB((*((Svm_channelsS) + os_index_224X)));
|
|
return;}
|
|
else {
|
|
return;}}
|
|
else {
|
|
return;}}
|
|
else {
|
|
return;}}}
|
|
}
|
|
char s48_warn_about_undefined_imported_bindings(void)
|
|
{
|
|
long arg0K0;
|
|
long name_231X;
|
|
long entry_230X;
|
|
char temp_229X;
|
|
long i_228X;
|
|
long table_227X;
|
|
FILE * out_226X;
|
|
{ out_226X = stderr;
|
|
table_227X = Simported_bindingsS;
|
|
arg0K0 = 0;
|
|
goto L11572;}
|
|
L11572: {
|
|
i_228X = arg0K0;
|
|
temp_229X = 1024 == i_228X;
|
|
if (temp_229X) {
|
|
return temp_229X;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + table_227X))) + (((i_228X)<<2)))));
|
|
goto L11580;}}
|
|
L11580: {
|
|
entry_230X = arg0K0;
|
|
if ((1 == entry_230X)) {
|
|
arg0K0 = (1 + i_228X);
|
|
goto L11572;}
|
|
else {
|
|
if ((17 == (255 & (*((long *) ((((char *) (-3 + entry_230X))) + 8)))))) {
|
|
name_231X = *((long *) (((char *) (-3 + entry_230X))));
|
|
ps_write_string("undefined imported name ", out_226X);
|
|
if ((3 == (3 & name_231X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + name_231X))) + -4))))>>2))))) {
|
|
ps_write_string((((char *)(((char *) (-3 + name_231X))))), out_226X);
|
|
goto L11560;}
|
|
else {
|
|
goto L11558;}}
|
|
else {
|
|
goto L11558;}}
|
|
else {
|
|
goto L11583;}}}
|
|
L11560: {
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, out_226X, ignoreXX) }
|
|
goto L11583;}
|
|
L11558: {
|
|
ps_write_string("<invalid name>", out_226X);
|
|
goto L11560;}
|
|
L11583: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + entry_230X))) + 12)));
|
|
goto L11580;}
|
|
}
|
|
void s48_define_exported_binding(char *name_232X, long value_233X)
|
|
{
|
|
char arg2K0;
|
|
long arg0K2;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
char * addr_246X;
|
|
long x_245X;
|
|
long name_244X;
|
|
long value_243X;
|
|
long key_242X;
|
|
long temp_241X;
|
|
long key_240X;
|
|
char okayP_239X;
|
|
char v_238X;
|
|
long temp1_237X;
|
|
long temp0_236X;
|
|
char v_235X;
|
|
long space_234X;
|
|
{ space_234X = 6 + ((((4 + (strlen((char *) name_232X))))>>2));
|
|
v_235X = AVAILABLEp(space_234X);
|
|
if (v_235X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
arg0K2 = value_233X;
|
|
goto L14352;}
|
|
else {
|
|
temp0_236X = collect_saving_temps(value_233X, 1, &temp1_237X);
|
|
v_238X = AVAILABLEp(space_234X);
|
|
if (v_238X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
arg0K2 = temp0_236X;
|
|
goto L14352;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
arg0K2 = temp0_236X;
|
|
goto L14352;}}}
|
|
L14352: {
|
|
okayP_239X = arg2K0;
|
|
key_240X = arg0K1;
|
|
temp_241X = arg0K2;
|
|
if (okayP_239X) {
|
|
arg0K0 = key_240X;
|
|
arg0K1 = temp_241X;
|
|
goto L14333;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_240X;
|
|
arg0K1 = temp_241X;
|
|
goto L14333;}}
|
|
L14333: {
|
|
key_242X = arg0K0;
|
|
value_243X = arg0K1;
|
|
name_244X = enter_string(name_232X, key_242X);
|
|
x_245X = Hlookup2093((Simported_bindingsS), name_244X, key_242X);
|
|
addr_246X = (((char *) (-3 + x_245X))) + 8;
|
|
S48_WRITE_BARRIER(x_245X, addr_246X, value_243X);
|
|
*((long *) addr_246X) = value_243X;
|
|
return;}
|
|
}
|
|
long s48_add_channel(long mode_247X, long id_248X, long os_index_249X)
|
|
{
|
|
char arg2K0;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long status_257X;
|
|
long channel_256X;
|
|
long v_255X;
|
|
long key_254X;
|
|
char okayP_253X;
|
|
char v_252X;
|
|
long temp1_251X;
|
|
char v_250X;
|
|
{ v_250X = AVAILABLEp(6);
|
|
if (v_250X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L14741;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_251X);
|
|
v_252X = AVAILABLEp(6);
|
|
if (v_252X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L14741;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L14741;}}}
|
|
L14741: {
|
|
okayP_253X = arg2K0;
|
|
key_254X = arg0K1;
|
|
if (okayP_253X) {
|
|
arg0K0 = key_254X;
|
|
goto L14724;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_254X;
|
|
goto L14724;}}
|
|
L14724: {
|
|
v_255X = arg0K0;
|
|
channel_256X = make_registered_channel((((mode_247X)>>2)), id_248X, os_index_249X, v_255X, &status_257X);
|
|
if ((3 == (3 & channel_256X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + channel_256X))) + -4))))>>2))))) {
|
|
return channel_256X;}
|
|
else {
|
|
goto L14735;}}
|
|
else {
|
|
goto L14735;}}
|
|
L14735: {
|
|
return (((status_257X)<<2));}
|
|
}
|
|
long s48_get_imported_binding(char *name_258X)
|
|
{
|
|
char arg2K0;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long name_266X;
|
|
long key_265X;
|
|
long key_264X;
|
|
char okayP_263X;
|
|
char v_262X;
|
|
long temp1_261X;
|
|
char v_260X;
|
|
long space_259X;
|
|
{ space_259X = 6 + ((((4 + (strlen((char *) name_258X))))>>2));
|
|
v_260X = AVAILABLEp(space_259X);
|
|
if (v_260X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15430;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_261X);
|
|
v_262X = AVAILABLEp(space_259X);
|
|
if (v_262X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15430;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L15430;}}}
|
|
L15430: {
|
|
okayP_263X = arg2K0;
|
|
key_264X = arg0K1;
|
|
if (okayP_263X) {
|
|
arg0K0 = key_264X;
|
|
goto L15417;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_264X;
|
|
goto L15417;}}
|
|
L15417: {
|
|
key_265X = arg0K0;
|
|
name_266X = enter_string(name_258X, key_265X);
|
|
return Hlookup2112((Sexported_bindingsS), name_266X, key_265X);}
|
|
}
|
|
long s48_allocate_stob(long type_267X, long size_268X)
|
|
{
|
|
char * addr_272X;
|
|
char v_271X;
|
|
long temp1_270X;
|
|
char v_269X;
|
|
{ v_269X = AVAILABLEp(size_268X);
|
|
if (v_269X) {
|
|
goto L15725;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_270X);
|
|
v_271X = AVAILABLEp(size_268X);
|
|
if (v_271X) {
|
|
goto L15725;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L15725;}}}
|
|
L15725: {
|
|
addr_272X = ALLOCATE_SPACE(type_267X, (4 + size_268X));
|
|
*((long *) addr_272X) = (2 + (((((((size_268X)<<6)) + type_267X))<<2)));
|
|
return (3 + (((long) (addr_272X + 4))));}
|
|
}
|
|
void s48_initialize_vm(char * stack_begin_273X, long stack_size_274X)
|
|
{
|
|
char arg2K0;
|
|
char * arg1K0;
|
|
long arg0K2;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
char * addr_345X;
|
|
long code_344X;
|
|
long temp_343X;
|
|
char * addr_342X;
|
|
char * addr_341X;
|
|
char * addr_340X;
|
|
long code_339X;
|
|
long temp_338X;
|
|
char * addr_337X;
|
|
char * addr_336X;
|
|
char v_335X;
|
|
long temp1_334X;
|
|
char v_333X;
|
|
long cont_332X;
|
|
char * addr_331X;
|
|
long code_330X;
|
|
long temp_329X;
|
|
char * addr_328X;
|
|
char * addr_327X;
|
|
char v_326X;
|
|
long temp1_325X;
|
|
char v_324X;
|
|
char * a_323X;
|
|
long size_322X;
|
|
char * start_321X;
|
|
char * stack_320X;
|
|
long v_319X;
|
|
char * addr_318X;
|
|
long i_317X;
|
|
char * addr_316X;
|
|
char * addr_315X;
|
|
long val_314X;
|
|
long index_313X;
|
|
long h_312X;
|
|
long i_311X;
|
|
long table_310X;
|
|
char * addr_309X;
|
|
long v_308X;
|
|
char * addr_307X;
|
|
long i_306X;
|
|
long n_305X;
|
|
long string_304X;
|
|
long foo_303X;
|
|
long table_302X;
|
|
long i_301X;
|
|
long table_300X;
|
|
char * addr_299X;
|
|
long exported_bindings_298X;
|
|
long imported_bindings_297X;
|
|
long n_296X;
|
|
long symbols_295X;
|
|
long temp1_294X;
|
|
long temp0_293X;
|
|
char okayP_292X;
|
|
char * addr_291X;
|
|
long maybe_290X;
|
|
long v_289X;
|
|
long maybe_288X;
|
|
long i_287X;
|
|
char v_286X;
|
|
long temp1_285X;
|
|
long temp0_284X;
|
|
char v_283X;
|
|
long imported_bindings_282X;
|
|
long exported_bindings_281X;
|
|
long table_280X;
|
|
char * addr_279X;
|
|
char v_278X;
|
|
long temp1_277X;
|
|
char v_276X;
|
|
long symbol_table_275X;
|
|
{ symbol_table_275X = s48_initial_symbols();
|
|
if ((symbol_table_275X == 1)) {
|
|
v_276X = AVAILABLEp(1025);
|
|
if (v_276X) {
|
|
goto L15456;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_277X);
|
|
v_278X = AVAILABLEp(1025);
|
|
if (v_278X) {
|
|
goto L15456;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L15456;}}}
|
|
else {
|
|
Sthe_symbol_tableS = symbol_table_275X;
|
|
goto L15848;}}
|
|
L15456: {
|
|
addr_279X = ALLOCATE_SPACE(2, 4100);
|
|
*((long *) addr_279X) = 1048586;
|
|
table_280X = 3 + (((long) (addr_279X + 4)));
|
|
arg0K0 = 0;
|
|
goto L15531;}
|
|
L15848: {
|
|
exported_bindings_281X = s48_initial_exported_bindings();
|
|
imported_bindings_282X = s48_initial_imported_bindings();
|
|
v_283X = AVAILABLEp(2050);
|
|
if (v_283X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = imported_bindings_282X;
|
|
arg0K2 = exported_bindings_281X;
|
|
goto L14434;}
|
|
else {
|
|
temp0_284X = collect_saving_temps(imported_bindings_282X, exported_bindings_281X, &temp1_285X);
|
|
v_286X = AVAILABLEp(2050);
|
|
if (v_286X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_284X;
|
|
arg0K2 = temp1_285X;
|
|
goto L14434;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_284X;
|
|
arg0K2 = temp1_285X;
|
|
goto L14434;}}}
|
|
L15531: {
|
|
i_287X = arg0K0;
|
|
if ((1024 == i_287X)) {
|
|
Sthe_symbol_tableS = table_280X;
|
|
maybe_288X = s48_find_all(1);
|
|
if ((maybe_288X == 1)) {
|
|
collect_saving_temps(0, 0, &v_289X);
|
|
maybe_290X = s48_find_all(1);
|
|
if ((maybe_290X == 1)) {
|
|
ps_error("insufficient heap space to build symbol table", 0);
|
|
arg0K0 = maybe_290X;
|
|
goto L15485;}
|
|
else {
|
|
arg0K0 = maybe_290X;
|
|
goto L15485;}}
|
|
else {
|
|
arg0K0 = maybe_288X;
|
|
goto L15485;}}
|
|
else {
|
|
addr_291X = (((char *) (-3 + table_280X))) + (((i_287X)<<2));
|
|
S48_WRITE_BARRIER(table_280X, addr_291X, 1);
|
|
*((long *) addr_291X) = 1;
|
|
arg0K0 = (1 + i_287X);
|
|
goto L15531;}}
|
|
L14434: {
|
|
okayP_292X = arg2K0;
|
|
temp0_293X = arg0K1;
|
|
temp1_294X = arg0K2;
|
|
if (okayP_292X) {
|
|
arg0K0 = temp0_293X;
|
|
arg0K1 = temp1_294X;
|
|
goto L14395;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = temp0_293X;
|
|
arg0K1 = temp1_294X;
|
|
goto L14395;}}
|
|
L15485: {
|
|
symbols_295X = arg0K0;
|
|
n_296X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + symbols_295X))) + -4))))>>8))))>>2);
|
|
arg0K0 = 0;
|
|
goto L15552;}
|
|
L14395: {
|
|
imported_bindings_297X = arg0K0;
|
|
exported_bindings_298X = arg0K1;
|
|
if ((1 == imported_bindings_297X)) {
|
|
addr_299X = ALLOCATE_SPACE(2, 4100);
|
|
*((long *) addr_299X) = 1048586;
|
|
table_300X = 3 + (((long) (addr_299X + 4)));
|
|
arg0K0 = 0;
|
|
goto L14496;}
|
|
else {
|
|
arg0K0 = imported_bindings_297X;
|
|
goto L14410;}}
|
|
L15552: {
|
|
i_301X = arg0K0;
|
|
if ((i_301X == n_296X)) {
|
|
goto L15848;}
|
|
else {
|
|
table_302X = Sthe_symbol_tableS;
|
|
foo_303X = *((long *) ((((char *) (-3 + symbols_295X))) + (((i_301X)<<2))));
|
|
string_304X = *((long *) (((char *) (-3 + foo_303X))));
|
|
n_305X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_304X))) + -4))))>>8));
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L13019;}}
|
|
L14496: {
|
|
i_306X = arg0K0;
|
|
if ((1024 == i_306X)) {
|
|
arg0K0 = table_300X;
|
|
goto L14410;}
|
|
else {
|
|
addr_307X = (((char *) (-3 + table_300X))) + (((i_306X)<<2));
|
|
S48_WRITE_BARRIER(table_300X, addr_307X, 1);
|
|
*((long *) addr_307X) = 1;
|
|
arg0K0 = (1 + i_306X);
|
|
goto L14496;}}
|
|
L14410: {
|
|
v_308X = arg0K0;
|
|
Simported_bindingsS = v_308X;
|
|
if ((1 == exported_bindings_298X)) {
|
|
addr_309X = ALLOCATE_SPACE(2, 4100);
|
|
*((long *) addr_309X) = 1048586;
|
|
table_310X = 3 + (((long) (addr_309X + 4)));
|
|
arg0K0 = 0;
|
|
goto L14473;}
|
|
else {
|
|
arg0K0 = exported_bindings_298X;
|
|
goto L14423;}}
|
|
L13019: {
|
|
i_311X = arg0K0;
|
|
h_312X = arg0K1;
|
|
if ((i_311X < n_305X)) {
|
|
arg0K0 = (1 + i_311X);
|
|
arg0K1 = (h_312X + (((*((unsigned char *) ((((char *) (-3 + string_304X))) + i_311X))))));
|
|
goto L13019;}
|
|
else {
|
|
index_313X = 1023 & h_312X;
|
|
val_314X = *((long *) ((((char *) (-3 + table_302X))) + (((index_313X)<<2))));
|
|
addr_315X = (((char *) (-3 + foo_303X))) + 4;
|
|
S48_WRITE_BARRIER(foo_303X, addr_315X, val_314X);
|
|
*((long *) addr_315X) = val_314X;
|
|
addr_316X = (((char *) (-3 + table_302X))) + (((index_313X)<<2));
|
|
S48_WRITE_BARRIER(table_302X, addr_316X, foo_303X);
|
|
*((long *) addr_316X) = foo_303X;
|
|
arg0K0 = (1 + i_301X);
|
|
goto L15552;}}
|
|
L14473: {
|
|
i_317X = arg0K0;
|
|
if ((1024 == i_317X)) {
|
|
arg0K0 = table_310X;
|
|
goto L14423;}
|
|
else {
|
|
addr_318X = (((char *) (-3 + table_310X))) + (((i_317X)<<2));
|
|
S48_WRITE_BARRIER(table_310X, addr_318X, 1);
|
|
*((long *) addr_318X) = 1;
|
|
arg0K0 = (1 + i_317X);
|
|
goto L14473;}}
|
|
L14423: {
|
|
v_319X = arg0K0;
|
|
Sexported_bindingsS = v_319X;
|
|
if ((stack_size_274X < 8131)) {
|
|
stack_320X = (char *)malloc(32524);
|
|
if ((stack_320X == NULL)) {
|
|
ps_error("out of memory, unable to continue", 0);
|
|
arg1K0 = stack_320X;
|
|
arg0K1 = 8131;
|
|
goto L14942;}
|
|
else {
|
|
arg1K0 = stack_320X;
|
|
arg0K1 = 8131;
|
|
goto L14942;}}
|
|
else {
|
|
arg1K0 = stack_begin_273X;
|
|
arg0K1 = stack_size_274X;
|
|
goto L14942;}}
|
|
L14942: {
|
|
start_321X = arg1K0;
|
|
size_322X = arg0K1;
|
|
Sstack_beginS = start_321X;
|
|
Sstack_endS = (start_321X + (((size_322X)<<2)));
|
|
Sstack_limitS = ((Sstack_beginS) + 524);
|
|
SstackS = ((Sstack_endS) + -4);
|
|
ScontS = 1;
|
|
SenvS = 17;
|
|
arg1K0 = start_321X;
|
|
goto L14974;}
|
|
L14974: {
|
|
a_323X = arg1K0;
|
|
if ((a_323X == (Sstack_endS))) {
|
|
v_324X = AVAILABLEp(5);
|
|
if (v_324X) {
|
|
goto L14991;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_325X);
|
|
v_326X = AVAILABLEp(5);
|
|
if (v_326X) {
|
|
goto L14991;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L14991;}}}
|
|
else {
|
|
*((long *) a_323X) = 252645135;
|
|
arg1K0 = (a_323X + 4);
|
|
goto L14974;}}
|
|
L14991: {
|
|
addr_327X = ALLOCATE_SPACE(17, 6);
|
|
*((long *) addr_327X) = 582;
|
|
addr_328X = ALLOCATE_SPACE(11, 12);
|
|
*((long *) addr_328X) = 2094;
|
|
temp_329X = 3 + (((long) (addr_328X + 4)));
|
|
code_330X = 3 + (((long) (addr_327X + 4)));
|
|
addr_331X = ((char *) (-3 + temp_329X));
|
|
S48_WRITE_BARRIER(temp_329X, addr_331X, code_330X);
|
|
*((long *) addr_331X) = code_330X;
|
|
*((unsigned char *) (((char *) (-3 + code_330X)))) = 23;
|
|
*((unsigned char *) ((((char *) (-3 + code_330X))) + 1)) = 31;
|
|
SstackS = ((SstackS) + -20);
|
|
*((long *) ((SstackS) + 4)) = 4262;
|
|
cont_332X = 3 + (((long) ((SstackS) + 8)));
|
|
*((long *) ((((char *) (-3 + cont_332X))) + 4)) = 0;
|
|
*((long *) ((((char *) (-3 + cont_332X))) + 8)) = temp_329X;
|
|
*((long *) ((((char *) (-3 + cont_332X))) + 12)) = (SenvS);
|
|
*((long *) (((char *) (-3 + cont_332X)))) = (ScontS);
|
|
ScontS = cont_332X;
|
|
Sbottom_of_stackS = (ScontS);
|
|
v_333X = AVAILABLEp(5);
|
|
if (v_333X) {
|
|
goto L15170;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_334X);
|
|
v_335X = AVAILABLEp(5);
|
|
if (v_335X) {
|
|
goto L15170;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L15170;}}}
|
|
L15170: {
|
|
addr_336X = ALLOCATE_SPACE(17, 6);
|
|
*((long *) addr_336X) = 582;
|
|
addr_337X = ALLOCATE_SPACE(11, 12);
|
|
*((long *) addr_337X) = 2094;
|
|
temp_338X = 3 + (((long) (addr_337X + 4)));
|
|
code_339X = 3 + (((long) (addr_336X + 4)));
|
|
addr_340X = ((char *) (-3 + temp_338X));
|
|
S48_WRITE_BARRIER(temp_338X, addr_340X, code_339X);
|
|
*((long *) addr_340X) = code_339X;
|
|
*((unsigned char *) (((char *) (-3 + code_339X)))) = 34;
|
|
*((unsigned char *) ((((char *) (-3 + code_339X))) + 1)) = 141;
|
|
Sinterrupt_templateS = temp_338X;
|
|
addr_341X = ALLOCATE_SPACE(17, 6);
|
|
*((long *) addr_341X) = 582;
|
|
addr_342X = ALLOCATE_SPACE(11, 12);
|
|
*((long *) addr_342X) = 2094;
|
|
temp_343X = 3 + (((long) (addr_342X + 4)));
|
|
code_344X = 3 + (((long) (addr_341X + 4)));
|
|
addr_345X = ((char *) (-3 + temp_343X));
|
|
S48_WRITE_BARRIER(temp_343X, addr_345X, code_344X);
|
|
*((long *) addr_345X) = code_344X;
|
|
*((unsigned char *) (((char *) (-3 + code_344X)))) = 138;
|
|
*((unsigned char *) ((((char *) (-3 + code_344X))) + 1)) = 124;
|
|
Sexception_templateS = temp_343X;
|
|
return;}
|
|
}
|
|
long s48_restart(long proc_346X, long nargs_347X)
|
|
{
|
|
char * arg1K1;
|
|
char * arg1K0;
|
|
char *arg3K0;
|
|
char arg2K3;
|
|
char arg2K1;
|
|
char arg2K2;
|
|
char arg2K0;
|
|
long arg0K3;
|
|
long arg0K2;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
char *merged_arg3K0;
|
|
long merged_arg0K3;
|
|
long merged_arg0K2;
|
|
long merged_arg0K1;
|
|
long merged_arg0K0;
|
|
|
|
int pop_continuationB_return_tag;
|
|
int get_error_string_return_tag;
|
|
long get_error_string0_return_value;
|
|
int okay_argument_list_return_tag;
|
|
char okay_argument_list0_return_value;
|
|
long okay_argument_list1_return_value;
|
|
int get_current_port_return_tag;
|
|
long get_current_port0_return_value;
|
|
int copy_continuation_from_heapB_return_tag;
|
|
long copy_continuation_from_heapB0_return_value;
|
|
int copy_listS_return_tag;
|
|
long copy_listS0_return_value;
|
|
int pop_args_GlistS_return_tag;
|
|
long pop_args_GlistS0_return_value;
|
|
int save_env_in_heap_return_tag;
|
|
long save_env_in_heap0_return_value;
|
|
int copy_env_return_tag;
|
|
long copy_env0_return_value;
|
|
int really_preserve_continuation_return_tag;
|
|
long really_preserve_continuation0_return_value;
|
|
int copy_stack_into_heap_return_tag;
|
|
int push_list_return_tag;
|
|
long push_list0_return_value;
|
|
int rest_list_setup_return_tag;
|
|
int check_events_return_tag;
|
|
char check_events0_return_value;
|
|
int loseD0_return_tag;
|
|
long status_348X;
|
|
long list_349X;
|
|
long marker_350X;
|
|
long cont_351X;
|
|
long list_352X;
|
|
long length_353X;
|
|
long start_354X;
|
|
long count_355X;
|
|
long env_356X;
|
|
long cont_357X;
|
|
long key_358X;
|
|
long reason_359X;
|
|
long env_360X;
|
|
long key_361X;
|
|
long reason_362X;
|
|
long key_363X;
|
|
long list_364X;
|
|
long count_365X;
|
|
long wants_stack_args_366X;
|
|
long stack_arg_count_367X;
|
|
long list_args_368X;
|
|
long list_arg_count_369X;
|
|
char *message_370X;
|
|
long pc_1297X;
|
|
long tem_1296X;
|
|
long cont_1295X;
|
|
long i_1294X;
|
|
long string_1293X;
|
|
char * addr_1292X;
|
|
long len_1291X;
|
|
long len_1290X;
|
|
long x_1289X;
|
|
char *string_1288X;
|
|
char move_slowP_1287X;
|
|
long slow_1286X;
|
|
long len_1285X;
|
|
long fast_1284X;
|
|
long v_1283X;
|
|
char *v_1282X;
|
|
long v_1281X;
|
|
long v_1280X;
|
|
long obj_1279X;
|
|
long env_1278X;
|
|
long thread_1277X;
|
|
long v_1276X;
|
|
long new_cont_1275X;
|
|
char * top_1274X;
|
|
char * addr_1273X;
|
|
long x_1272X;
|
|
char * addr_1271X;
|
|
long a_1270X;
|
|
long last_1269X;
|
|
long l_1268X;
|
|
long x_1267X;
|
|
char * addr_1266X;
|
|
long a_1265X;
|
|
long list_1264X;
|
|
long temp_1263X;
|
|
char okayP_1262X;
|
|
char v_1261X;
|
|
long temp1_1260X;
|
|
long temp0_1259X;
|
|
char v_1258X;
|
|
long space_1257X;
|
|
long x_1256X;
|
|
char * addr_1255X;
|
|
long a_1254X;
|
|
long count_1253X;
|
|
long args_1252X;
|
|
long start_1251X;
|
|
long temp_1250X;
|
|
char okayP_1249X;
|
|
char v_1248X;
|
|
long temp1_1247X;
|
|
long temp0_1246X;
|
|
char v_1245X;
|
|
long space_1244X;
|
|
long env_1243X;
|
|
long cont_1242X;
|
|
char * addr_1241X;
|
|
long new_1240X;
|
|
long p_1239X;
|
|
long env_1238X;
|
|
long top_1237X;
|
|
char * addr_1236X;
|
|
long new_1235X;
|
|
char * data_addr_1234X;
|
|
char * addr_1233X;
|
|
long header_1232X;
|
|
long new_1231X;
|
|
char * data_addr_1230X;
|
|
char * addr_1229X;
|
|
long header_1228X;
|
|
long p_1227X;
|
|
long previous_1226X;
|
|
long cont_1225X;
|
|
long end_1224X;
|
|
long v_1223X;
|
|
long p_1222X;
|
|
char * arg_1221X;
|
|
char * loc_1220X;
|
|
long stob_1219X;
|
|
char * top_1218X;
|
|
long arg_count_1217X;
|
|
long i_1216X;
|
|
char * p_1215X;
|
|
long v_1214X;
|
|
long l_1213X;
|
|
long i_1212X;
|
|
long key_1211X;
|
|
char okayP_1210X;
|
|
long list_1209X;
|
|
char v_1208X;
|
|
long temp1_1207X;
|
|
char v_1206X;
|
|
long space_1205X;
|
|
long x_1204X;
|
|
long v_1203X;
|
|
long x_1202X;
|
|
long v_1201X;
|
|
long count_1200X;
|
|
long x_1199X;
|
|
long v_1198X;
|
|
long status_1197X;
|
|
long channel_1196X;
|
|
long type_1195X;
|
|
char v_1194X;
|
|
long template_1193X;
|
|
char not_firstP_1192X;
|
|
long cont_1191X;
|
|
char not_firstP_1190X;
|
|
FILE * out_1189X;
|
|
long current_template_1188X;
|
|
long why_1187X;
|
|
long x_1186X;
|
|
long x_1185X;
|
|
long x_1184X;
|
|
char * addr_1183X;
|
|
long status_1182X;
|
|
char pendingP_1181X;
|
|
char eofP_1180X;
|
|
long got_1179X;
|
|
long length_1178X;
|
|
long v_1177X;
|
|
long obj_1176X;
|
|
long reason_1175X;
|
|
long status_1174X;
|
|
long v_1173X;
|
|
long v_1172X;
|
|
long key_1171X;
|
|
char okayP_1170X;
|
|
char v_1169X;
|
|
char * addr_1168X;
|
|
long value_1167X;
|
|
long offset_1166X;
|
|
long i_1165X;
|
|
long count_1164X;
|
|
long y_1163X;
|
|
char * addr_1162X;
|
|
long val_1161X;
|
|
char * addr_1160X;
|
|
long value_1159X;
|
|
long len_1158X;
|
|
long s2_1157X;
|
|
long foo_1156X;
|
|
long previous_foo_1155X;
|
|
long val_1154X;
|
|
long x_1153X;
|
|
char * addr_1152X;
|
|
long status_1151X;
|
|
char pendingP_1150X;
|
|
long got_1149X;
|
|
long length_1148X;
|
|
long count_1147X;
|
|
long start_1146X;
|
|
char waitP_1145X;
|
|
long x_1144X;
|
|
long status_1143X;
|
|
long channel_1142X;
|
|
long v_1141X;
|
|
long v_1140X;
|
|
long v_1139X;
|
|
long reason_1138X;
|
|
long channel_1137X;
|
|
long index_1136X;
|
|
long val_1135X;
|
|
long final_stack_arg_count_1134X;
|
|
char v_1133X;
|
|
long temp1_1132X;
|
|
char v_1131X;
|
|
long space_1130X;
|
|
long stack_arg_count_1129X;
|
|
long stack_slots_1128X;
|
|
char x_1127X;
|
|
long channel_1126X;
|
|
long obj_1125X;
|
|
long arg_count_1124X;
|
|
long count_1123X;
|
|
long i_1122X;
|
|
long env_1121X;
|
|
long value_1120X;
|
|
char *v_1119X;
|
|
long y_1118X;
|
|
long i_1117X;
|
|
long l_1116X;
|
|
long bucket_1115X;
|
|
long index_1114X;
|
|
long h_1113X;
|
|
long i_1112X;
|
|
long v_1111X;
|
|
long v_1110X;
|
|
long x_1109X;
|
|
long status_1108X;
|
|
long reason_1107X;
|
|
long v_1106X;
|
|
long val_1105X;
|
|
long reason_1104X;
|
|
long x_1103X;
|
|
long obj_1102X;
|
|
long v_1101X;
|
|
long v_1100X;
|
|
long len_1099X;
|
|
long s2_1098X;
|
|
char * addr_1097X;
|
|
long x_1096X;
|
|
char * addr_1095X;
|
|
long foo_1094X;
|
|
long rest_list_1093X;
|
|
long i_1092X;
|
|
long n_1091X;
|
|
long args_1090X;
|
|
long skip_1089X;
|
|
long template_1088X;
|
|
long stack_arg_count_1087X;
|
|
long skip_1086X;
|
|
long skip_1085X;
|
|
long template_1084X;
|
|
long stack_arg_count_1083X;
|
|
long skip_1082X;
|
|
char * addr_1081X;
|
|
long next_1080X;
|
|
long channel_1079X;
|
|
long m_1078X;
|
|
long i_1077X;
|
|
long value_1076X;
|
|
long back_1075X;
|
|
long env_1074X;
|
|
long offset_1073X;
|
|
long i_1072X;
|
|
long x_1071X;
|
|
char * addr_1070X;
|
|
long a_1069X;
|
|
long env_1068X;
|
|
long v_1067X;
|
|
long p_1066X;
|
|
long key_1065X;
|
|
long string_1064X;
|
|
char * addr_1063X;
|
|
long len_1062X;
|
|
long n_1061X;
|
|
long table_1060X;
|
|
long x_1059X;
|
|
long arg2_1058X;
|
|
long key_1057X;
|
|
char temp_1056X;
|
|
char minutesP_1055X;
|
|
long status_1054X;
|
|
long status_1053X;
|
|
long undumpable_count_1052X;
|
|
long undumpables_1051X;
|
|
long status_1050X;
|
|
long status_1049X;
|
|
long status_1048X;
|
|
long status_1047X;
|
|
FILE * port_1046X;
|
|
char x_1045X;
|
|
long comment_string_1044X;
|
|
long obj_1043X;
|
|
long arg3_1042X;
|
|
long arg2_1041X;
|
|
long key_1040X;
|
|
long x_1039X;
|
|
char * addr_1038X;
|
|
long channel_1037X;
|
|
long res_1036X;
|
|
long i_1035X;
|
|
char * addr_1034X;
|
|
char * addr_1033X;
|
|
long val_1032X;
|
|
long x_1031X;
|
|
long status_1030X;
|
|
char readyP_1029X;
|
|
long channel_1028X;
|
|
long obj_1027X;
|
|
long key_1026X;
|
|
char v_1025X;
|
|
long channel_1024X;
|
|
long count_1023X;
|
|
long start_1022X;
|
|
long obj_1021X;
|
|
long arg4_1020X;
|
|
long arg3_1019X;
|
|
long arg2_1018X;
|
|
long key_1017X;
|
|
long arg5_1016X;
|
|
long arg4_1015X;
|
|
long arg3_1014X;
|
|
long arg2_1013X;
|
|
long key_1012X;
|
|
long x_1011X;
|
|
long status_1010X;
|
|
long channel_1009X;
|
|
long obj_1008X;
|
|
long key_1007X;
|
|
long mode_1006X;
|
|
long arg2_1005X;
|
|
long key_1004X;
|
|
long bucket_1003X;
|
|
long index_1002X;
|
|
long h_1001X;
|
|
long i_1000X;
|
|
long i_999X;
|
|
long i_998X;
|
|
char * addr_997X;
|
|
long i_996X;
|
|
long i_995X;
|
|
long i_994X;
|
|
long c_993X;
|
|
long b_992X;
|
|
long c_991X;
|
|
long b_990X;
|
|
char x_989X;
|
|
long c_988X;
|
|
long b_987X;
|
|
long c_986X;
|
|
long mid_c_985X;
|
|
long v_984X;
|
|
long v_983X;
|
|
long lo_c_982X;
|
|
long hi_b_981X;
|
|
long hi_a_980X;
|
|
long lo_b_979X;
|
|
long lo_a_978X;
|
|
long b_977X;
|
|
long v_976X;
|
|
long v_975X;
|
|
long args_974X;
|
|
long next_973X;
|
|
long next_op_972X;
|
|
long cont_971X;
|
|
long index_970X;
|
|
long length_969X;
|
|
long wants_stack_args_968X;
|
|
long skip_967X;
|
|
long skip_966X;
|
|
long stack_space_965X;
|
|
long protocol_964X;
|
|
long index_963X;
|
|
long length_962X;
|
|
long wants_stack_args_961X;
|
|
long skip_960X;
|
|
long skip_959X;
|
|
long stack_space_958X;
|
|
long protocol_957X;
|
|
long n_956X;
|
|
long tem_955X;
|
|
long stack_arg_count_954X;
|
|
long v_953X;
|
|
long v_952X;
|
|
long key_951X;
|
|
long start_i_950X;
|
|
long temp_949X;
|
|
char okayP_948X;
|
|
long key_947X;
|
|
char okayP_946X;
|
|
long obj_945X;
|
|
long obj_944X;
|
|
long type_943X;
|
|
long thing_942X;
|
|
long stuff_941X;
|
|
char * addr_940X;
|
|
long val_939X;
|
|
long x_938X;
|
|
long i_937X;
|
|
long b_936X;
|
|
long p_935X;
|
|
long port_934X;
|
|
long Kchar_933X;
|
|
long x_932X;
|
|
long i_931X;
|
|
long b_930X;
|
|
long p_929X;
|
|
long p_928X;
|
|
long port_927X;
|
|
char * addr_926X;
|
|
long val_925X;
|
|
long x_924X;
|
|
long i_923X;
|
|
long b_922X;
|
|
long p_921X;
|
|
long p_920X;
|
|
long port_919X;
|
|
long list_918X;
|
|
long head_917X;
|
|
char move_slowP_916X;
|
|
long slow_915X;
|
|
long list_914X;
|
|
long n_913X;
|
|
long arg2_912X;
|
|
long val_911X;
|
|
long mseconds_910X;
|
|
long seconds_909X;
|
|
long option_908X;
|
|
long key_907X;
|
|
char okayP_906X;
|
|
long result_905X;
|
|
char * args_904X;
|
|
long name_903X;
|
|
long proc_902X;
|
|
long rest_list_901X;
|
|
long x_900X;
|
|
long tem_899X;
|
|
long pc_898X;
|
|
long v_897X;
|
|
long value_896X;
|
|
long vector_895X;
|
|
long type_894X;
|
|
char firstP_893X;
|
|
long v_892X;
|
|
long vector_891X;
|
|
char firstP_890X;
|
|
long x_889X;
|
|
char * addr_888X;
|
|
long b_887X;
|
|
long x_886X;
|
|
char * addr_885X;
|
|
long proc_884X;
|
|
long stob_883X;
|
|
long h_882X;
|
|
long i_881X;
|
|
long key_880X;
|
|
char okayP_879X;
|
|
long y_878X;
|
|
long n_877X;
|
|
char * addr_876X;
|
|
long prev_875X;
|
|
long ch_874X;
|
|
long val_873X;
|
|
long key_872X;
|
|
char okayP_871X;
|
|
long key_870X;
|
|
char okayP_869X;
|
|
long key_868X;
|
|
char okayP_867X;
|
|
long key_866X;
|
|
char okayP_865X;
|
|
long key_864X;
|
|
char okayP_863X;
|
|
long val_862X;
|
|
char * addr_861X;
|
|
char * addr_860X;
|
|
long val_859X;
|
|
long n_858X;
|
|
long string_857X;
|
|
long table_856X;
|
|
long obj_855X;
|
|
long string_854X;
|
|
char * addr_853X;
|
|
long len_852X;
|
|
long vector_851X;
|
|
char * addr_850X;
|
|
long value_849X;
|
|
char * addr_848X;
|
|
long len_847X;
|
|
long init_846X;
|
|
char okayP_845X;
|
|
long rest_list_844X;
|
|
long stack_nargs_843X;
|
|
long new_842X;
|
|
char * addr_841X;
|
|
long len_840X;
|
|
long type_839X;
|
|
long new_838X;
|
|
char * addr_837X;
|
|
long len_836X;
|
|
long type_835X;
|
|
long value_834X;
|
|
long val_833X;
|
|
long val_832X;
|
|
long val_831X;
|
|
long val_830X;
|
|
long r_829X;
|
|
long n_828X;
|
|
long a_827X;
|
|
long a_826X;
|
|
long val_825X;
|
|
long val_824X;
|
|
long val_823X;
|
|
long val_822X;
|
|
long val_821X;
|
|
long a_820X;
|
|
long a_819X;
|
|
long val_818X;
|
|
long val_817X;
|
|
long delta_816X;
|
|
long delta_815X;
|
|
long offset_814X;
|
|
long key_813X;
|
|
char okayP_812X;
|
|
char v_811X;
|
|
long tem_810X;
|
|
long key_809X;
|
|
char okayP_808X;
|
|
long list_arg_count_807X;
|
|
long list_args_806X;
|
|
long stack_nargs_805X;
|
|
long obj_804X;
|
|
char * addr_803X;
|
|
long list_args_802X;
|
|
long follower_801X;
|
|
long list_800X;
|
|
long args_799X;
|
|
long list_arg_count_798X;
|
|
char okayP_797X;
|
|
long stack_nargs_796X;
|
|
long list_args_795X;
|
|
long total_arg_count_794X;
|
|
long code_793X;
|
|
long obj_792X;
|
|
long obj_791X;
|
|
long list_arg_count_790X;
|
|
long list_args_789X;
|
|
long stack_arg_count_788X;
|
|
long obj_787X;
|
|
char * arg_786X;
|
|
char * loc_785X;
|
|
long args_784X;
|
|
long v_783X;
|
|
long v_782X;
|
|
long v_781X;
|
|
long list_arg_count_780X;
|
|
long list_args_779X;
|
|
long stack_arg_count_778X;
|
|
long exception_777X;
|
|
long code_776X;
|
|
long stack_arg_count_775X;
|
|
char v_774X;
|
|
long key_773X;
|
|
char okayP_772X;
|
|
long key_771X;
|
|
char okayP_770X;
|
|
char * addr_769X;
|
|
long value_768X;
|
|
long v_767X;
|
|
long new_env_766X;
|
|
char * addr_765X;
|
|
long len_764X;
|
|
char v_763X;
|
|
long temp1_762X;
|
|
long temp0_761X;
|
|
char v_760X;
|
|
long env_759X;
|
|
char v_758X;
|
|
long temp1_757X;
|
|
char v_756X;
|
|
long space_755X;
|
|
char * addr_754X;
|
|
long value_753X;
|
|
long index_752X;
|
|
long i_751X;
|
|
long env_750X;
|
|
long i_749X;
|
|
long env_748X;
|
|
long i_747X;
|
|
long env_746X;
|
|
long obj_745X;
|
|
long opcode_744X;
|
|
long nargs_743X;
|
|
FILE * out_742X;
|
|
long x_741X;
|
|
long v_740X;
|
|
long v_739X;
|
|
long v_738X;
|
|
long v_737X;
|
|
long v_736X;
|
|
long v_735X;
|
|
long v_734X;
|
|
long count_733X;
|
|
long to_index_732X;
|
|
long from_index_731X;
|
|
long arg5_730X;
|
|
long arg4_729X;
|
|
long arg3_728X;
|
|
long arg2_727X;
|
|
char * addr_726X;
|
|
long len_725X;
|
|
long value_724X;
|
|
long index_723X;
|
|
long arg4_722X;
|
|
long arg3_721X;
|
|
long arg2_720X;
|
|
long len_719X;
|
|
long index_718X;
|
|
long arg3_717X;
|
|
long arg2_716X;
|
|
long list_715X;
|
|
long thing_714X;
|
|
char v_713X;
|
|
long temp1_712X;
|
|
char v_711X;
|
|
long space_710X;
|
|
long len_709X;
|
|
long x_708X;
|
|
long obj_707X;
|
|
long arg2_706X;
|
|
long x_705X;
|
|
long arg2_704X;
|
|
long status_703X;
|
|
long value_702X;
|
|
long key_701X;
|
|
long arg2_700X;
|
|
long mseconds_699X;
|
|
long seconds_698X;
|
|
long mseconds_697X;
|
|
long seconds_696X;
|
|
long x_695X;
|
|
long other_694X;
|
|
long option_693X;
|
|
long arg2_692X;
|
|
long x_691X;
|
|
long arg2_690X;
|
|
char v_689X;
|
|
long temp1_688X;
|
|
char v_687X;
|
|
long rest_list_686X;
|
|
long p_685X;
|
|
long nargs_684X;
|
|
long x_683X;
|
|
long arg2_682X;
|
|
long p_681X;
|
|
long p_680X;
|
|
long p_679X;
|
|
long old_678X;
|
|
long temp_677X;
|
|
long obj_676X;
|
|
long p_675X;
|
|
long template_674X;
|
|
long p_673X;
|
|
long temp_672X;
|
|
long obj_671X;
|
|
long x_670X;
|
|
long type_669X;
|
|
long x_668X;
|
|
long bytes_667X;
|
|
long x_666X;
|
|
long other_665X;
|
|
long key_664X;
|
|
long arg2_663X;
|
|
char v_662X;
|
|
long temp1_661X;
|
|
char v_660X;
|
|
long n_659X;
|
|
long x_658X;
|
|
long obj_657X;
|
|
long v_656X;
|
|
char v_655X;
|
|
long temp1_654X;
|
|
char v_653X;
|
|
long x_652X;
|
|
char v_651X;
|
|
long temp1_650X;
|
|
char v_649X;
|
|
long space_648X;
|
|
char * addr_647X;
|
|
long next_646X;
|
|
long channel_645X;
|
|
long n_644X;
|
|
char * addr_643X;
|
|
long head_642X;
|
|
long channel_641X;
|
|
long obj_640X;
|
|
char v_639X;
|
|
long temp1_638X;
|
|
char v_637X;
|
|
char v_636X;
|
|
long temp1_635X;
|
|
char v_634X;
|
|
char v_633X;
|
|
long temp1_632X;
|
|
char v_631X;
|
|
char v_630X;
|
|
long temp1_629X;
|
|
char v_628X;
|
|
char v_627X;
|
|
long temp1_626X;
|
|
char v_625X;
|
|
long x_624X;
|
|
long x_623X;
|
|
long x_622X;
|
|
long arg2_621X;
|
|
long descriptor_620X;
|
|
long x_619X;
|
|
long obj_618X;
|
|
char v_617X;
|
|
long temp1_616X;
|
|
char v_615X;
|
|
long len_614X;
|
|
char Kchar_613X;
|
|
long index_612X;
|
|
long arg3_611X;
|
|
long arg2_610X;
|
|
long len_609X;
|
|
long index_608X;
|
|
long arg2_607X;
|
|
long obj_606X;
|
|
char v_605X;
|
|
long temp1_604X;
|
|
char v_603X;
|
|
long size_602X;
|
|
char init_601X;
|
|
long len_600X;
|
|
long arg2_599X;
|
|
long len_598X;
|
|
long Kchar_597X;
|
|
long index_596X;
|
|
long arg3_595X;
|
|
long arg2_594X;
|
|
long len_593X;
|
|
long index_592X;
|
|
long arg2_591X;
|
|
long obj_590X;
|
|
char v_589X;
|
|
long temp1_588X;
|
|
char v_587X;
|
|
long size_586X;
|
|
long init_585X;
|
|
long len_584X;
|
|
long arg2_583X;
|
|
char * addr_582X;
|
|
long index_581X;
|
|
long len_580X;
|
|
long type_579X;
|
|
long value_578X;
|
|
long stob_577X;
|
|
long arg2_576X;
|
|
long index_575X;
|
|
long len_574X;
|
|
long type_573X;
|
|
long index_572X;
|
|
long stob_571X;
|
|
char v_570X;
|
|
long temp1_569X;
|
|
long temp0_568X;
|
|
char v_567X;
|
|
long size_566X;
|
|
long len_565X;
|
|
long type_564X;
|
|
long init_563X;
|
|
long len_562X;
|
|
char * addr_561X;
|
|
long type_560X;
|
|
long offset_559X;
|
|
long value_558X;
|
|
long stob_557X;
|
|
long type_556X;
|
|
long offset_555X;
|
|
long stob_554X;
|
|
char v_553X;
|
|
long temp1_552X;
|
|
char v_551X;
|
|
long space_550X;
|
|
long len_549X;
|
|
char v_548X;
|
|
long temp1_547X;
|
|
char v_546X;
|
|
long space_545X;
|
|
long len_544X;
|
|
long type_543X;
|
|
long stob_542X;
|
|
long type_541X;
|
|
long x_540X;
|
|
long x_539X;
|
|
long x_538X;
|
|
long x_537X;
|
|
long arg2_536X;
|
|
long x_535X;
|
|
long arg2_534X;
|
|
long x_533X;
|
|
long x_532X;
|
|
long result_531X;
|
|
long x_530X;
|
|
long x_529X;
|
|
long count_528X;
|
|
long value_527X;
|
|
long y_526X;
|
|
long x_525X;
|
|
long x_524X;
|
|
long arg2_523X;
|
|
long x_522X;
|
|
long arg2_521X;
|
|
long x_520X;
|
|
long arg2_519X;
|
|
long x_518X;
|
|
long x_517X;
|
|
long arg2_516X;
|
|
long x_515X;
|
|
long arg2_514X;
|
|
long x_513X;
|
|
long arg2_512X;
|
|
long n_511X;
|
|
long n_510X;
|
|
long x_509X;
|
|
long x_508X;
|
|
long x_507X;
|
|
long x_506X;
|
|
long x_505X;
|
|
long x_504X;
|
|
long x_503X;
|
|
long x_502X;
|
|
long x_501X;
|
|
long x_500X;
|
|
long x_499X;
|
|
long x_498X;
|
|
long x_497X;
|
|
long x_496X;
|
|
long a_495X;
|
|
long y_494X;
|
|
long x_493X;
|
|
long b_492X;
|
|
long a_491X;
|
|
long x_490X;
|
|
long arg2_489X;
|
|
long x_488X;
|
|
long arg2_487X;
|
|
long x_486X;
|
|
long arg2_485X;
|
|
long x_484X;
|
|
long arg2_483X;
|
|
long x_482X;
|
|
long arg2_481X;
|
|
long x_480X;
|
|
long arg2_479X;
|
|
long b_478X;
|
|
long a_477X;
|
|
long x_476X;
|
|
long arg2_475X;
|
|
long z_474X;
|
|
long y_473X;
|
|
long x_472X;
|
|
long b_471X;
|
|
long a_470X;
|
|
long x_469X;
|
|
long arg2_468X;
|
|
long z_467X;
|
|
long y_466X;
|
|
long x_465X;
|
|
long x_464X;
|
|
long x_463X;
|
|
long x_462X;
|
|
long n_461X;
|
|
long n_460X;
|
|
long n_459X;
|
|
long n_458X;
|
|
long x_457X;
|
|
long x_456X;
|
|
long arg2_455X;
|
|
long rest_list_454X;
|
|
long x_453X;
|
|
long rest_list_452X;
|
|
long stack_nargs_451X;
|
|
long arg0_450X;
|
|
long arg1_449X;
|
|
long rest_list_448X;
|
|
long arg0_447X;
|
|
long stack_nargs_446X;
|
|
long index_445X;
|
|
long val_444X;
|
|
long max_443X;
|
|
long p_442X;
|
|
char v_441X;
|
|
long temp1_440X;
|
|
char v_439X;
|
|
long space_438X;
|
|
long space_437X;
|
|
long index_436X;
|
|
long v_435X;
|
|
char v_434X;
|
|
long temp1_433X;
|
|
char v_432X;
|
|
long space_431X;
|
|
long code_430X;
|
|
long tem_429X;
|
|
long stack_nargs_428X;
|
|
long p_427X;
|
|
long obj_426X;
|
|
long consumer_425X;
|
|
long cont_424X;
|
|
long rest_list_423X;
|
|
long proc_422X;
|
|
long stack_nargs_421X;
|
|
long args_420X;
|
|
long length_419X;
|
|
char okayP_418X;
|
|
long list_args_417X;
|
|
long stob_416X;
|
|
char * top_of_args_415X;
|
|
long nargs_414X;
|
|
long obj_413X;
|
|
long stack_arg_count_412X;
|
|
char v_411X;
|
|
long temp1_410X;
|
|
char v_409X;
|
|
long space_408X;
|
|
long code_407X;
|
|
long template_406X;
|
|
long obj_405X;
|
|
long stack_arg_count_404X;
|
|
long cont_403X;
|
|
char v_402X;
|
|
long temp1_401X;
|
|
char v_400X;
|
|
long space_399X;
|
|
char v_398X;
|
|
long temp1_397X;
|
|
char v_396X;
|
|
long space_395X;
|
|
long total_count_394X;
|
|
long p_393X;
|
|
long v_392X;
|
|
char * addr_391X;
|
|
long val_390X;
|
|
long location_389X;
|
|
long location_388X;
|
|
long env_387X;
|
|
long back_386X;
|
|
long env_385X;
|
|
long back_384X;
|
|
long env_383X;
|
|
long back_382X;
|
|
long count_381X;
|
|
char * code_pointer_380X;
|
|
long code_379X;
|
|
char * addr_378X;
|
|
long proc_377X;
|
|
long temp_376X;
|
|
char okayP_375X;
|
|
char v_374X;
|
|
long temp1_373X;
|
|
long temp0_372X;
|
|
char v_371X;
|
|
{ v_371X = AVAILABLEp(2);
|
|
if (v_371X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = proc_346X;
|
|
goto L19389;}
|
|
else {
|
|
temp0_372X = collect_saving_temps(proc_346X, 1, &temp1_373X);
|
|
v_374X = AVAILABLEp(2);
|
|
if (v_374X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_372X;
|
|
goto L19389;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_372X;
|
|
goto L19389;}}}
|
|
L19389: {
|
|
okayP_375X = arg2K0;
|
|
temp_376X = arg0K1;
|
|
if (okayP_375X) {
|
|
arg0K0 = temp_376X;
|
|
goto L19360;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = temp_376X;
|
|
goto L19360;}}
|
|
L19360: {
|
|
proc_377X = arg0K0;
|
|
addr_378X = ALLOCATE_SPACE(17, 6);
|
|
*((long *) addr_378X) = 582;
|
|
code_379X = 3 + (((long) (addr_378X + 4)));
|
|
*((unsigned char *) (((char *) (-3 + code_379X)))) = 24;
|
|
*((unsigned char *) ((((char *) (-3 + code_379X))) + 1)) = nargs_347X;
|
|
Scode_pointerS = (((char *) (-3 + code_379X)));
|
|
SvalS = proc_377X;
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L18452: {
|
|
code_pointer_380X = arg1K0;
|
|
switch ((*((unsigned char *) code_pointer_380X))) {
|
|
case 0 :
|
|
case 146 : {
|
|
push_exception_continuationB(15, 1);
|
|
arg0K0 = 0;
|
|
goto L16679;}
|
|
break;
|
|
case 1 : {
|
|
count_381X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
|
|
*((long *) (SstackS)) = (SenvS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (1034 + (((count_381X)<<10)));
|
|
SstackS = ((SstackS) + -4);
|
|
SenvS = (3 + (((long) ((SstackS) + 8))));
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 2 : {
|
|
SvalS = (*((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))));
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 3 : {
|
|
SvalS = (*((long *) ((((char *) (-3 + (StemplateS)))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 4 : {
|
|
back_382X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
env_383X = SenvS;
|
|
arg0K0 = env_383X;
|
|
arg0K1 = back_382X;
|
|
goto L23846;}
|
|
break;
|
|
case 5 : {
|
|
SvalS = (*((long *) ((((char *) (-3 + (SenvS)))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
|
|
if ((529 == (SvalS))) {
|
|
push_exception_continuationB(0, 2);
|
|
arg0K0 = 0;
|
|
goto L16679;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
break;
|
|
case 6 : {
|
|
SvalS = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + (SenvS))))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
|
|
if ((529 == (SvalS))) {
|
|
push_exception_continuationB(0, 2);
|
|
arg0K0 = 0;
|
|
goto L16679;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
break;
|
|
case 7 : {
|
|
SvalS = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SenvS)))))))))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
|
|
if ((529 == (SvalS))) {
|
|
push_exception_continuationB(0, 2);
|
|
arg0K0 = 0;
|
|
goto L16679;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
break;
|
|
case 8 : {
|
|
back_384X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
|
|
env_385X = SenvS;
|
|
arg0K0 = env_385X;
|
|
arg0K1 = back_384X;
|
|
goto L20261;}
|
|
break;
|
|
case 9 : {
|
|
back_386X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
|
|
env_387X = SenvS;
|
|
arg0K0 = env_387X;
|
|
arg0K1 = back_386X;
|
|
goto L20199;}
|
|
break;
|
|
case 10 : {
|
|
location_388X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
|
|
SvalS = (*((long *) ((((char *) (-3 + location_388X))) + 4)));
|
|
if ((17 == (255 & (SvalS)))) {
|
|
push_exception_continuationB(1, 3);
|
|
*((long *) (SstackS)) = location_388X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
break;
|
|
case 11 : {
|
|
location_389X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
|
|
if ((273 == (*((long *) ((((char *) (-3 + location_389X))) + 4))))) {
|
|
push_exception_continuationB(1, 3);
|
|
*((long *) (SstackS)) = location_389X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
val_390X = SvalS;
|
|
addr_391X = (((char *) (-3 + location_389X))) + 4;
|
|
S48_WRITE_BARRIER(location_389X, addr_391X, val_390X);
|
|
*((long *) addr_391X) = val_390X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
break;
|
|
case 12 : {
|
|
v_392X = *((unsigned char *) ((Scode_pointerS) + 3));
|
|
if ((0 == v_392X)) {
|
|
p_393X = SenvS;
|
|
if ((3 == (3 & p_393X))) {
|
|
if ((p_393X < (((long) (Sstack_beginS))))) {
|
|
arg0K0 = 0;
|
|
goto L20978;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_393X)) {
|
|
arg0K0 = 0;
|
|
goto L20978;}
|
|
else {
|
|
arg0K0 = ((Sstack_endS) - (Sstack_beginS));
|
|
goto L20978;}}}
|
|
else {
|
|
arg0K0 = 0;
|
|
goto L20978;}}
|
|
else {
|
|
arg0K0 = (SvalS);
|
|
goto L20985;}}
|
|
break;
|
|
case 13 : {
|
|
total_count_394X = *((unsigned char *) ((Scode_pointerS) + 2));
|
|
space_395X = 1 + total_count_394X;
|
|
v_396X = AVAILABLEp(space_395X);
|
|
if (v_396X) {
|
|
goto L20780;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_397X);
|
|
v_398X = AVAILABLEp(space_395X);
|
|
if (v_398X) {
|
|
goto L20780;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L20780;}}}
|
|
break;
|
|
case 14 : {
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 15 : {
|
|
SvalS = (*((long *) ((((char *) (-3 + (SenvS)))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
|
|
if ((529 == (SvalS))) {
|
|
push_exception_continuationB(0, 3);
|
|
arg0K0 = 0;
|
|
goto L16679;}
|
|
else {
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
break;
|
|
case 16 : {
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
SvalS = (*((long *) ((((char *) (-3 + (SenvS)))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
|
|
if ((529 == (SvalS))) {
|
|
push_exception_continuationB(0, 3);
|
|
arg0K0 = 0;
|
|
goto L16679;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
break;
|
|
case 17 : {
|
|
SstackS = ((SstackS) + 4);
|
|
SvalS = (*((long *) (SstackS)));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 18 : {
|
|
SvalS = (*((long *) ((SstackS) + (4 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))))));
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 19 : {
|
|
*((long *) ((SstackS) + (4 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))))) = (SvalS);
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 20 : {
|
|
push_continuationB(((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))), (*((unsigned char *) ((Scode_pointerS) + 3))));
|
|
Scode_pointerS = ((Scode_pointerS) + 4);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 21 : {
|
|
push_continuationB(((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))), (((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))));
|
|
Scode_pointerS = ((Scode_pointerS) + 5);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 22 : {
|
|
space_399X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_400X = AVAILABLEp(space_399X);
|
|
if (v_400X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L20706;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_401X);
|
|
v_402X = AVAILABLEp(space_399X);
|
|
if (v_402X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L20706;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L20706;}}}
|
|
break;
|
|
case 23 : {
|
|
cont_403X = *((long *) (((char *) (-3 + (Sbottom_of_stackS)))));
|
|
if ((3 == (3 & cont_403X))) {
|
|
if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_403X))) + -4))))>>2))))) {
|
|
if ((3 == (3 & cont_403X))) {
|
|
if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_403X))) + -4))))>>2))))) {
|
|
merged_arg0K0 = cont_403X;
|
|
copy_continuation_from_heapB_return_tag = 0;
|
|
goto copy_continuation_from_heapB;
|
|
copy_continuation_from_heapB_return_0:
|
|
goto L19861;}
|
|
else {
|
|
goto L19896;}}
|
|
else {
|
|
goto L19896;}}
|
|
else {
|
|
goto L19862;}}
|
|
else {
|
|
goto L19862;}}
|
|
break;
|
|
case 24 : {
|
|
stack_arg_count_404X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
obj_405X = SvalS;
|
|
if ((3 == (3 & obj_405X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_405X))) + -4))))>>2))))) {
|
|
template_406X = *((long *) (((char *) (-3 + (SvalS)))));
|
|
code_407X = *((long *) (((char *) (-3 + template_406X))));
|
|
if ((stack_arg_count_404X == (*((unsigned char *) ((((char *) (-3 + code_407X))) + 1))))) {
|
|
StemplateS = template_406X;
|
|
SenvS = (*((long *) ((((char *) (-3 + (SvalS)))) + 4)));
|
|
Scode_pointerS = ((((char *) (-3 + code_407X))) + 2);
|
|
if (((SstackS) < (Sstack_limitS))) {
|
|
space_408X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_409X = AVAILABLEp(space_408X);
|
|
if (v_409X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L19222;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_410X);
|
|
v_411X = AVAILABLEp(space_408X);
|
|
if (v_411X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L19222;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L19222;}}}
|
|
else {
|
|
goto L19134;}}
|
|
else {
|
|
arg0K0 = stack_arg_count_404X;
|
|
goto L16080;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_404X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_404X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
break;
|
|
case 25 : {
|
|
stack_arg_count_412X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
|
|
obj_413X = SvalS;
|
|
if ((3 == (3 & obj_413X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_413X))) + -4))))>>2))))) {
|
|
arg0K0 = stack_arg_count_412X;
|
|
goto L16080;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_412X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_412X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
break;
|
|
case 26 : {
|
|
nargs_414X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
top_of_args_415X = SstackS;
|
|
stob_416X = ScontS;
|
|
arg1K0 = ((((char *) (-3 + stob_416X))) + -8);
|
|
arg1K1 = (top_of_args_415X + (((nargs_414X)<<2)));
|
|
goto L17642;}
|
|
break;
|
|
case 27 : {
|
|
SstackS = ((SstackS) + 4);
|
|
list_args_417X = *((long *) (SstackS));
|
|
merged_arg0K0 = list_args_417X;
|
|
okay_argument_list_return_tag = 0;
|
|
goto okay_argument_list;
|
|
okay_argument_list_return_0:
|
|
okayP_418X = okay_argument_list0_return_value;
|
|
length_419X = okay_argument_list1_return_value;
|
|
if (okayP_418X) {
|
|
arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
|
|
arg0K1 = list_args_417X;
|
|
arg0K2 = length_419X;
|
|
goto L17680;}
|
|
else {
|
|
*((long *) (SstackS)) = list_args_417X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = 25;
|
|
merged_arg0K1 = (1 + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
|
|
pop_args_GlistS_return_tag = 0;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_0:
|
|
args_420X = pop_args_GlistS0_return_value;
|
|
push_exception_continuationB(5, 0);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = args_420X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 28 : {
|
|
SstackS = ((SstackS) + 4);
|
|
SstackS = ((SstackS) + 4);
|
|
stack_nargs_421X = (((*((long *) (SstackS))))>>2);
|
|
proc_422X = *((long *) ((SstackS) + (4 + (((stack_nargs_421X)<<2)))));
|
|
*((long *) ((SstackS) + (4 + (((stack_nargs_421X)<<2))))) = 1;
|
|
SstackS = ((SstackS) + 4);
|
|
rest_list_423X = *((long *) (SstackS));
|
|
if ((25 == rest_list_423X)) {
|
|
SstackS = ((SstackS) + 4);
|
|
arg0K0 = (*((long *) (SstackS)));
|
|
arg0K1 = (-2 + stack_nargs_421X);
|
|
goto L11287;}
|
|
else {
|
|
if ((25 == (*((long *) ((((char *) (-3 + rest_list_423X))) + 4))))) {
|
|
arg0K0 = (*((long *) (((char *) (-3 + rest_list_423X)))));
|
|
arg0K1 = (-1 + stack_nargs_421X);
|
|
goto L11287;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + rest_list_423X))) + 4)))))) + 4)));
|
|
arg0K1 = rest_list_423X;
|
|
goto L11328;}}}
|
|
break;
|
|
case 29 : {
|
|
SstackS = ((SstackS) + 4);
|
|
cont_424X = *((long *) (SstackS));
|
|
if ((3 == (3 & cont_424X))) {
|
|
if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_424X))) + -4))))>>2))))) {
|
|
merged_arg0K0 = cont_424X;
|
|
copy_continuation_from_heapB_return_tag = 1;
|
|
goto copy_continuation_from_heapB;
|
|
copy_continuation_from_heapB_return_1:
|
|
goto L17585;}
|
|
else {
|
|
goto L17592;}}
|
|
else {
|
|
goto L17592;}}
|
|
break;
|
|
case 30 : {
|
|
SstackS = ((SstackS) + 4);
|
|
consumer_425X = *((long *) (SstackS));
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
SvalS = consumer_425X;
|
|
obj_426X = SvalS;
|
|
if ((3 == (3 & obj_426X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_426X))) + -4))))>>2))))) {
|
|
arg0K0 = 1;
|
|
goto L16080;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = 1;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = 1;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
break;
|
|
case 31 : {
|
|
pop_continuationB_return_tag = 0;
|
|
goto pop_continuationB;
|
|
pop_continuationB_return_0:
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 32 : {
|
|
arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
|
|
arg0K1 = 25;
|
|
arg0K2 = 0;
|
|
goto L20441;}
|
|
break;
|
|
case 33 : {
|
|
SstackS = ((SstackS) + 4);
|
|
p_427X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
stack_nargs_428X = (((*((long *) (SstackS))))>>2);
|
|
SstackS = ((SstackS) + 4);
|
|
arg0K0 = stack_nargs_428X;
|
|
arg0K1 = (*((long *) (SstackS)));
|
|
arg0K2 = ((((p_427X)>>2)) - stack_nargs_428X);
|
|
goto L20441;}
|
|
break;
|
|
case 34 : {
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 35 : {
|
|
tem_429X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
|
|
StemplateS = tem_429X;
|
|
Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_429X))))))));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 36 : {
|
|
code_430X = *((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))))))));
|
|
if ((0 == (*((unsigned char *) ((((char *) (-3 + code_430X))) + 1))))) {
|
|
if (((SstackS) < (Sstack_limitS))) {
|
|
space_431X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_432X = AVAILABLEp(space_431X);
|
|
if (v_432X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L18958;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_433X);
|
|
v_434X = AVAILABLEp(space_431X);
|
|
if (v_434X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L18958;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L18958;}}}
|
|
else {
|
|
goto L18831;}}
|
|
else {
|
|
v_435X = *((unsigned char *) ((((char *) (-3 + code_430X))) + 1));
|
|
if ((66 == v_435X)) {
|
|
if ((0 == (*((unsigned char *) ((((char *) (-3 + code_430X))) + (-3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_430X))) + -4))))>>8)))))))) {
|
|
index_436X = -2 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_430X))) + -4))))>>8));
|
|
space_437X = ((((*((unsigned char *) ((((char *) (-3 + code_430X))) + index_436X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_430X))) + (1 + index_436X))));
|
|
if ((space_437X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L18831;}
|
|
else {
|
|
space_438X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_439X = AVAILABLEp(space_438X);
|
|
if (v_439X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L19014;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_440X);
|
|
v_441X = AVAILABLEp(space_438X);
|
|
if (v_441X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L19014;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L19014;}}}}
|
|
else {
|
|
goto L18876;}}
|
|
else {
|
|
goto L18876;}}}
|
|
break;
|
|
case 37 : {
|
|
if ((1 == (SvalS))) {
|
|
Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
break;
|
|
case 38 : {
|
|
Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 39 : {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
p_442X = SvalS;
|
|
max_443X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
val_444X = ((p_442X)>>2);
|
|
if ((val_444X < 0)) {
|
|
goto L18732;}
|
|
else {
|
|
if ((val_444X < max_443X)) {
|
|
index_445X = 1 + (((val_444X)<<1));
|
|
arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + index_445X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_445X)))));
|
|
goto L18734;}
|
|
else {
|
|
goto L18732;}}}
|
|
else {
|
|
push_exception_continuationB(5, 0);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 40 : {
|
|
stack_nargs_446X = (((*((long *) ((SstackS) + 4))))>>2);
|
|
if ((0 == stack_nargs_446X)) {
|
|
arg0_447X = *((long *) ((SstackS) + 12));
|
|
rest_list_448X = *((long *) ((SstackS) + 8));
|
|
*((long *) (SstackS)) = arg0_447X;
|
|
SstackS = ((SstackS) + -4);
|
|
SvalS = (*((long *) (((char *) (-3 + rest_list_448X)))));
|
|
goto L19764;}
|
|
else {
|
|
arg1_449X = *((long *) ((SstackS) + (4 + (((stack_nargs_446X)<<2)))));
|
|
arg0_450X = *((long *) ((SstackS) + (8 + (((stack_nargs_446X)<<2)))));
|
|
*((long *) ((SstackS) + (8 + (((stack_nargs_446X)<<2))))) = 1;
|
|
*((long *) ((SstackS) + 4)) = (-4 + (((stack_nargs_446X)<<2)));
|
|
*((long *) (SstackS)) = arg0_450X;
|
|
SstackS = ((SstackS) + -4);
|
|
SvalS = arg1_449X;
|
|
goto L19764;}}
|
|
break;
|
|
case 41 : {
|
|
stack_nargs_451X = (((*((long *) ((SstackS) + 4))))>>2);
|
|
if ((stack_nargs_451X == 0)) {
|
|
rest_list_452X = *((long *) ((SstackS) + 8));
|
|
if ((25 == (*((long *) ((((char *) (-3 + rest_list_452X))) + 4))))) {
|
|
arg0K0 = 1;
|
|
goto L18630;}
|
|
else {
|
|
*((long *) ((SstackS) + 8)) = (*((long *) ((((char *) (-3 + rest_list_452X))) + 4)));
|
|
*((long *) ((SstackS) + 12)) = (SvalS);
|
|
arg0K0 = -2;
|
|
goto L18630;}}
|
|
else {
|
|
if ((stack_nargs_451X == 1)) {
|
|
if ((25 == (*((long *) ((SstackS) + 8))))) {
|
|
arg0K0 = 1;
|
|
goto L18630;}
|
|
else {
|
|
*((long *) ((SstackS) + 4)) = 0;
|
|
*((long *) ((SstackS) + 12)) = (SvalS);
|
|
arg0K0 = -2;
|
|
goto L18630;}}
|
|
else {
|
|
*((long *) ((SstackS) + (8 + (((stack_nargs_451X)<<2))))) = (SvalS);
|
|
arg0K0 = -2;
|
|
goto L18630;}}}
|
|
break;
|
|
case 42 : {
|
|
if ((1 == (SvalS))) {
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
x_453X = (((*((long *) ((SstackS) + 4))))>>2);
|
|
if ((x_453X == 0)) {
|
|
rest_list_454X = *((long *) ((SstackS) + 8));
|
|
if ((25 == (*((long *) ((((char *) (-3 + rest_list_454X))) + 4))))) {
|
|
arg0K0 = 1;
|
|
goto L19655;}
|
|
else {
|
|
*((long *) ((SstackS) + 8)) = (*((long *) ((((char *) (-3 + rest_list_454X))) + 4)));
|
|
*((long *) ((SstackS) + 12)) = (*((long *) (((char *) (-3 + rest_list_454X)))));
|
|
arg0K0 = -2;
|
|
goto L19655;}}
|
|
else {
|
|
if ((x_453X == 1)) {
|
|
if ((25 == (*((long *) ((SstackS) + 8))))) {
|
|
arg0K0 = 1;
|
|
goto L19655;}
|
|
else {
|
|
*((long *) ((SstackS) + 4)) = 0;
|
|
arg0K0 = -2;
|
|
goto L19655;}}
|
|
else {
|
|
arg0K0 = -2;
|
|
goto L19655;}}}}
|
|
break;
|
|
case 43 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_455X = *((long *) (SstackS));
|
|
x_456X = SvalS;
|
|
if ((arg2_455X == x_456X)) {
|
|
arg0K0 = 5;
|
|
goto L38237;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38237;}}
|
|
break;
|
|
case 44 : {
|
|
x_457X = SvalS;
|
|
if ((0 == (3 & x_457X))) {
|
|
arg0K0 = 5;
|
|
goto L38249;}
|
|
else {
|
|
if ((3 == (3 & x_457X))) {
|
|
if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_457X))) + -4))))>>2))))) {
|
|
arg0K0 = 5;
|
|
goto L38249;}
|
|
else {
|
|
goto L10635;}}
|
|
else {
|
|
goto L10635;}}}
|
|
break;
|
|
case 45 : {
|
|
n_458X = SvalS;
|
|
if ((0 == (3 & n_458X))) {
|
|
goto L28413;}
|
|
else {
|
|
if ((3 == (3 & n_458X))) {
|
|
if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_458X))) + -4))))>>2))))) {
|
|
goto L28413;}
|
|
else {
|
|
goto L28414;}}
|
|
else {
|
|
goto L28414;}}}
|
|
break;
|
|
case 46 : {
|
|
n_459X = SvalS;
|
|
if ((0 == (3 & n_459X))) {
|
|
goto L28570;}
|
|
else {
|
|
if ((3 == (3 & n_459X))) {
|
|
if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) {
|
|
goto L28570;}
|
|
else {
|
|
goto L28545;}}
|
|
else {
|
|
goto L28545;}}}
|
|
break;
|
|
case 47 : {
|
|
n_460X = SvalS;
|
|
if ((0 == (3 & n_460X))) {
|
|
goto L28769;}
|
|
else {
|
|
if ((3 == (3 & n_460X))) {
|
|
if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) {
|
|
goto L28769;}
|
|
else {
|
|
goto L28744;}}
|
|
else {
|
|
goto L28744;}}}
|
|
break;
|
|
case 48 : {
|
|
n_461X = SvalS;
|
|
if ((0 == (3 & n_461X))) {
|
|
goto L28968;}
|
|
else {
|
|
if ((3 == (3 & n_461X))) {
|
|
if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_461X))) + -4))))>>2))))) {
|
|
goto L28968;}
|
|
else {
|
|
goto L28943;}}
|
|
else {
|
|
goto L28943;}}}
|
|
break;
|
|
case 49 : {
|
|
x_462X = SvalS;
|
|
if ((0 == (3 & x_462X))) {
|
|
SvalS = 5;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_462X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 50 : {
|
|
x_463X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_463X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 51 : {
|
|
x_464X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_464X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 52 : {
|
|
SstackS = ((SstackS) + 4);
|
|
x_465X = *((long *) (SstackS));
|
|
y_466X = SvalS;
|
|
if ((0 == (3 & (x_465X | y_466X)))) {
|
|
z_467X = (((x_465X)>>2)) + (((y_466X)>>2));
|
|
if ((536870911 < z_467X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_465X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_466X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
if ((z_467X < -536870912)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_465X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_466X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
SvalS = (((z_467X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_465X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_466X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 53 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_468X = *((long *) (SstackS));
|
|
x_469X = SvalS;
|
|
if ((0 == (3 & (arg2_468X | x_469X)))) {
|
|
a_470X = ((arg2_468X)>>2);
|
|
b_471X = ((x_469X)>>2);
|
|
if ((a_470X < 0)) {
|
|
arg0K0 = (0 - a_470X);
|
|
goto L6788;}
|
|
else {
|
|
arg0K0 = a_470X;
|
|
goto L6788;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_469X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 54 : {
|
|
SstackS = ((SstackS) + 4);
|
|
x_472X = *((long *) (SstackS));
|
|
y_473X = SvalS;
|
|
if ((0 == (3 & (x_472X | y_473X)))) {
|
|
z_474X = (((x_472X)>>2)) - (((y_473X)>>2));
|
|
if ((536870911 < z_474X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_472X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_473X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
if ((z_474X < -536870912)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_472X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_473X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
SvalS = (((z_474X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_472X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_473X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 55 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_475X = *((long *) (SstackS));
|
|
x_476X = SvalS;
|
|
if ((0 == (3 & (arg2_475X | x_476X)))) {
|
|
if ((0 == x_476X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_475X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_476X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
a_477X = ((arg2_475X)>>2);
|
|
b_478X = ((x_476X)>>2);
|
|
if ((a_477X < 0)) {
|
|
arg0K0 = (0 - a_477X);
|
|
goto L7069;}
|
|
else {
|
|
arg0K0 = a_477X;
|
|
goto L7069;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_475X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_476X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 56 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_479X = *((long *) (SstackS));
|
|
x_480X = SvalS;
|
|
if ((0 == (3 & (arg2_479X | x_480X)))) {
|
|
if ((arg2_479X == x_480X)) {
|
|
arg0K0 = 5;
|
|
goto L31878;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L31878;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_479X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_480X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 57 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_481X = *((long *) (SstackS));
|
|
x_482X = SvalS;
|
|
if ((0 == (3 & (arg2_481X | x_482X)))) {
|
|
if ((arg2_481X < x_482X)) {
|
|
arg0K0 = 5;
|
|
goto L31956;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L31956;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_481X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_482X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 58 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_483X = *((long *) (SstackS));
|
|
x_484X = SvalS;
|
|
if ((0 == (3 & (arg2_483X | x_484X)))) {
|
|
if ((x_484X < arg2_483X)) {
|
|
arg0K0 = 5;
|
|
goto L32034;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L32034;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_483X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_484X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 59 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_485X = *((long *) (SstackS));
|
|
x_486X = SvalS;
|
|
if ((0 == (3 & (arg2_485X | x_486X)))) {
|
|
if ((x_486X < arg2_485X)) {
|
|
arg0K0 = 1;
|
|
goto L32112;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L32112;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_485X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_486X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 60 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_487X = *((long *) (SstackS));
|
|
x_488X = SvalS;
|
|
if ((0 == (3 & (arg2_487X | x_488X)))) {
|
|
if ((arg2_487X < x_488X)) {
|
|
arg0K0 = 1;
|
|
goto L32190;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L32190;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_487X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_488X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 61 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_489X = *((long *) (SstackS));
|
|
x_490X = SvalS;
|
|
if ((0 == (3 & (arg2_489X | x_490X)))) {
|
|
if ((0 == x_490X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_489X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_490X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
a_491X = ((arg2_489X)>>2);
|
|
b_492X = ((x_490X)>>2);
|
|
if ((a_491X < 0)) {
|
|
arg0K0 = (0 - a_491X);
|
|
goto L7246;}
|
|
else {
|
|
arg0K0 = a_491X;
|
|
goto L7246;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_489X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_490X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 62 : {
|
|
SstackS = ((SstackS) + 4);
|
|
x_493X = *((long *) (SstackS));
|
|
y_494X = SvalS;
|
|
if ((0 == (3 & (x_493X | y_494X)))) {
|
|
if ((0 == y_494X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_493X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_494X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
a_495X = ((x_493X)>>2);
|
|
if ((a_495X < 0)) {
|
|
arg0K0 = (0 - a_495X);
|
|
goto L25360;}
|
|
else {
|
|
arg0K0 = a_495X;
|
|
goto L25360;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_493X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_494X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 63 : {
|
|
x_496X = SvalS;
|
|
if ((0 == (3 & x_496X))) {
|
|
SvalS = x_496X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_496X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 64 : {
|
|
x_497X = SvalS;
|
|
if ((0 == (3 & x_497X))) {
|
|
SvalS = x_497X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_497X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 65 : {
|
|
x_498X = SvalS;
|
|
if ((0 == (3 & x_498X))) {
|
|
SvalS = 4;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_498X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 66 : {
|
|
x_499X = SvalS;
|
|
if ((0 == (3 & x_499X))) {
|
|
SvalS = x_499X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_499X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 67 : {
|
|
x_500X = SvalS;
|
|
if ((0 == (3 & x_500X))) {
|
|
SvalS = 0;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_500X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 68 : {
|
|
x_501X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_501X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 69 : {
|
|
x_502X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_502X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 70 : {
|
|
x_503X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_503X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 71 : {
|
|
x_504X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_504X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 72 : {
|
|
x_505X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_505X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 73 : {
|
|
x_506X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_506X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 74 : {
|
|
x_507X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_507X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 75 : {
|
|
x_508X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_508X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 76 : {
|
|
x_509X = SvalS;
|
|
if ((0 == (3 & x_509X))) {
|
|
if ((x_509X < 0)) {
|
|
goto L38506;}
|
|
else {
|
|
SvalS = 0;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
else {
|
|
goto L38506;}}
|
|
break;
|
|
case 77 : {
|
|
n_510X = SvalS;
|
|
if ((0 == (3 & n_510X))) {
|
|
n_511X = ((n_510X)>>2);
|
|
if ((n_511X < 0)) {
|
|
arg0K0 = (0 - n_511X);
|
|
goto L25646;}
|
|
else {
|
|
arg0K0 = n_511X;
|
|
goto L25646;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = n_510X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 78 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_512X = *((long *) (SstackS));
|
|
x_513X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_512X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_513X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
break;
|
|
case 79 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_514X = *((long *) (SstackS));
|
|
x_515X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_514X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_515X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
break;
|
|
case 80 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_516X = *((long *) (SstackS));
|
|
x_517X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_516X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_517X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
break;
|
|
case 81 : {
|
|
x_518X = SvalS;
|
|
if ((0 == (3 & x_518X))) {
|
|
SvalS = (~ (3 | x_518X));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_518X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 82 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_519X = *((long *) (SstackS));
|
|
x_520X = SvalS;
|
|
if ((0 == (3 & (arg2_519X | x_520X)))) {
|
|
SvalS = (arg2_519X & x_520X);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_519X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_520X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 83 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_521X = *((long *) (SstackS));
|
|
x_522X = SvalS;
|
|
if ((0 == (3 & (arg2_521X | x_522X)))) {
|
|
SvalS = (arg2_521X | x_522X);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_521X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_522X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 84 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_523X = *((long *) (SstackS));
|
|
x_524X = SvalS;
|
|
if ((0 == (3 & (arg2_523X | x_524X)))) {
|
|
SvalS = (arg2_523X ^ x_524X);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_523X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_524X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 85 : {
|
|
SstackS = ((SstackS) + 4);
|
|
x_525X = *((long *) (SstackS));
|
|
y_526X = SvalS;
|
|
if ((0 == (3 & (x_525X | y_526X)))) {
|
|
value_527X = ((x_525X)>>2);
|
|
count_528X = ((y_526X)>>2);
|
|
if ((count_528X < 0)) {
|
|
PS_SHIFT_RIGHT(value_527X, (0 - count_528X), x_529X)
|
|
SvalS = (((x_529X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
PS_SHIFT_LEFT(value_527X, count_528X, x_530X)
|
|
result_531X = (((((x_530X)<<2)))>>2);
|
|
PS_SHIFT_RIGHT(result_531X, count_528X, x_532X)
|
|
if ((value_527X == x_532X)) {
|
|
if ((value_527X < 0)) {
|
|
if ((result_531X < 0)) {
|
|
goto L25925;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_525X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_526X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
else {
|
|
if ((result_531X < 0)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_525X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_526X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
goto L25925;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_525X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_526X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_525X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_526X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 86 : {
|
|
x_533X = SvalS;
|
|
if ((9 == (255 & x_533X))) {
|
|
arg0K0 = 5;
|
|
goto L38594;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38594;}}
|
|
break;
|
|
case 87 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_534X = *((long *) (SstackS));
|
|
if ((9 == (255 & arg2_534X))) {
|
|
if ((9 == (255 & (SvalS)))) {
|
|
x_535X = SvalS;
|
|
if ((arg2_534X == x_535X)) {
|
|
arg0K0 = 5;
|
|
goto L28188;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L28188;}}
|
|
else {
|
|
goto L28161;}}
|
|
else {
|
|
goto L28161;}}
|
|
break;
|
|
case 88 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_536X = *((long *) (SstackS));
|
|
if ((9 == (255 & arg2_536X))) {
|
|
if ((9 == (255 & (SvalS)))) {
|
|
x_537X = SvalS;
|
|
if ((arg2_536X < x_537X)) {
|
|
arg0K0 = 5;
|
|
goto L28098;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L28098;}}
|
|
else {
|
|
goto L28071;}}
|
|
else {
|
|
goto L28071;}}
|
|
break;
|
|
case 89 : {
|
|
if ((9 == (255 & (SvalS)))) {
|
|
SvalS = (((((((((SvalS))>>8)))))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 90 : {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
x_538X = (((SvalS))>>2);
|
|
if ((255 < x_538X)) {
|
|
goto L32882;}
|
|
else {
|
|
if ((x_538X < 0)) {
|
|
goto L32882;}
|
|
else {
|
|
SvalS = (9 + (((((x_538X)))<<8)));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 91 : {
|
|
x_539X = SvalS;
|
|
if ((21 == x_539X)) {
|
|
arg0K0 = 5;
|
|
goto L38623;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38623;}}
|
|
break;
|
|
case 92 : {
|
|
x_540X = SvalS;
|
|
type_541X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((3 == (3 & x_540X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + x_540X))) + -4))))>>2))) == type_541X)) {
|
|
arg0K0 = 5;
|
|
goto L38637;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38637;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38637;}}
|
|
break;
|
|
case 93 : {
|
|
stob_542X = SvalS;
|
|
type_543X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((3 == (3 & stob_542X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + stob_542X))) + -4))))>>2))) == type_543X)) {
|
|
SvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_542X))) + -4))))>>8))));
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L21243;}}
|
|
else {
|
|
goto L21243;}}
|
|
break;
|
|
case 94 : {
|
|
len_544X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
space_545X = 4 + (((len_544X)<<2));
|
|
v_546X = AVAILABLEp(space_545X);
|
|
if (v_546X) {
|
|
goto L21315;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_547X);
|
|
v_548X = AVAILABLEp(space_545X);
|
|
if (v_548X) {
|
|
goto L21315;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L21315;}}}
|
|
break;
|
|
case 95 : {
|
|
SstackS = ((SstackS) + 4);
|
|
len_549X = (((*((long *) (SstackS))))>>2);
|
|
space_550X = 4 + (((len_549X)<<2));
|
|
v_551X = AVAILABLEp(space_550X);
|
|
if (v_551X) {
|
|
goto L21497;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_552X);
|
|
v_553X = AVAILABLEp(space_550X);
|
|
if (v_553X) {
|
|
goto L21497;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L21497;}}}
|
|
break;
|
|
case 96 : {
|
|
stob_554X = SvalS;
|
|
offset_555X = *((unsigned char *) ((Scode_pointerS) + 2));
|
|
type_556X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((3 == (3 & stob_554X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + stob_554X))) + -4))))>>2))) == type_556X)) {
|
|
SvalS = (*((long *) ((((char *) (-3 + stob_554X))) + (((offset_555X)<<2)))));
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L21707;}}
|
|
else {
|
|
goto L21707;}}
|
|
break;
|
|
case 97 : {
|
|
SstackS = ((SstackS) + 4);
|
|
stob_557X = *((long *) (SstackS));
|
|
value_558X = SvalS;
|
|
offset_559X = *((unsigned char *) ((Scode_pointerS) + 2));
|
|
type_560X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((3 == (3 & stob_557X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + stob_557X))) + -4))))>>2))) == type_560X)) {
|
|
if ((3 == (3 & stob_557X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_557X))) + -4)))))) {
|
|
addr_561X = (((char *) (-3 + stob_557X))) + (((offset_559X)<<2));
|
|
S48_WRITE_BARRIER(stob_557X, addr_561X, value_558X);
|
|
*((long *) addr_561X) = value_558X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L21810;}}
|
|
else {
|
|
goto L21810;}}
|
|
else {
|
|
goto L21810;}}
|
|
else {
|
|
goto L21810;}}
|
|
break;
|
|
case 98 : {
|
|
SstackS = ((SstackS) + 4);
|
|
len_562X = *((long *) (SstackS));
|
|
init_563X = SvalS;
|
|
type_564X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == (3 & len_562X))) {
|
|
len_565X = ((len_562X)>>2);
|
|
size_566X = 1 + len_565X;
|
|
if ((len_565X < 0)) {
|
|
goto L21995;}
|
|
else {
|
|
if ((4194305 < size_566X)) {
|
|
goto L21995;}
|
|
else {
|
|
v_567X = AVAILABLEp(size_566X);
|
|
if (v_567X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = init_563X;
|
|
goto L22013;}
|
|
else {
|
|
temp0_568X = collect_saving_temps(init_563X, 1, &temp1_569X);
|
|
v_570X = AVAILABLEp(size_566X);
|
|
if (v_570X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_568X;
|
|
goto L22013;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_568X;
|
|
goto L22013;}}}}}
|
|
else {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = (((type_564X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = len_562X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = init_563X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}}
|
|
break;
|
|
case 99 : {
|
|
SstackS = ((SstackS) + 4);
|
|
stob_571X = *((long *) (SstackS));
|
|
index_572X = SvalS;
|
|
type_573X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == (3 & index_572X))) {
|
|
if ((3 == (3 & stob_571X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + stob_571X))) + -4))))>>2))) == type_573X)) {
|
|
len_574X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_571X))) + -4))))>>8))))>>2);
|
|
index_575X = ((index_572X)>>2);
|
|
if ((index_575X < 0)) {
|
|
goto L22291;}
|
|
else {
|
|
if ((index_575X < len_574X)) {
|
|
SvalS = (*((long *) ((((char *) (-3 + stob_571X))) + (-4 & index_572X))));
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L22291;}}}
|
|
else {
|
|
goto L22268;}}
|
|
else {
|
|
goto L22268;}}
|
|
else {
|
|
goto L22268;}}
|
|
break;
|
|
case 100 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_576X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
stob_577X = *((long *) (SstackS));
|
|
value_578X = SvalS;
|
|
type_579X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == (3 & arg2_576X))) {
|
|
if ((3 == (3 & stob_577X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + stob_577X))) + -4))))>>2))) == type_579X)) {
|
|
if ((3 == (3 & stob_577X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_577X))) + -4)))))) {
|
|
len_580X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_577X))) + -4))))>>8))))>>2);
|
|
index_581X = ((arg2_576X)>>2);
|
|
if ((index_581X < 0)) {
|
|
goto L22531;}
|
|
else {
|
|
if ((index_581X < len_580X)) {
|
|
addr_582X = (((char *) (-3 + stob_577X))) + (-4 & arg2_576X);
|
|
S48_WRITE_BARRIER(stob_577X, addr_582X, value_578X);
|
|
*((long *) addr_582X) = value_578X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L22531;}}}
|
|
else {
|
|
goto L22506;}}
|
|
else {
|
|
goto L22506;}}
|
|
else {
|
|
goto L22506;}}
|
|
else {
|
|
goto L22506;}}
|
|
else {
|
|
goto L22506;}}
|
|
break;
|
|
case 101 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_583X = *((long *) (SstackS));
|
|
if ((0 == (3 & (arg2_583X | (SvalS))))) {
|
|
len_584X = ((arg2_583X)>>2);
|
|
init_585X = (((SvalS))>>2);
|
|
size_586X = 1 + ((((3 + len_584X))>>2));
|
|
if ((len_584X < 0)) {
|
|
goto L26096;}
|
|
else {
|
|
if ((4194305 < size_586X)) {
|
|
goto L26096;}
|
|
else {
|
|
v_587X = AVAILABLEp(size_586X);
|
|
if (v_587X) {
|
|
goto L26188;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_588X);
|
|
v_589X = AVAILABLEp(size_586X);
|
|
if (v_589X) {
|
|
goto L26188;}
|
|
else {
|
|
push_exception_continuationB(8, 1);
|
|
*((long *) (SstackS)) = (((len_584X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((init_585X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_583X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 102 : {
|
|
obj_590X = SvalS;
|
|
if ((3 == (3 & obj_590X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_590X))) + -4))))>>2))))) {
|
|
SvalS = (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L36449;}}
|
|
else {
|
|
goto L36449;}}
|
|
break;
|
|
case 103 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_591X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_591X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_591X))) + -4))))>>2))))) {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
index_592X = (((SvalS))>>2);
|
|
len_593X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_591X))) + -4))))>>8);
|
|
if ((index_592X < 0)) {
|
|
goto L32988;}
|
|
else {
|
|
if ((index_592X < len_593X)) {
|
|
SvalS = ((((*((unsigned char *) ((((char *) (-3 + arg2_591X))) + index_592X))))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L32988;}}}
|
|
else {
|
|
goto L36025;}}
|
|
else {
|
|
goto L36025;}}
|
|
else {
|
|
goto L36025;}}
|
|
break;
|
|
case 104 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_594X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_595X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg3_595X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_595X))) + -4))))>>2))))) {
|
|
if ((0 == (3 & (arg2_594X | (SvalS))))) {
|
|
index_596X = ((arg2_594X)>>2);
|
|
Kchar_597X = (((SvalS))>>2);
|
|
if ((3 == (3 & arg3_595X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_595X))) + -4)))))) {
|
|
len_598X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_595X))) + -4))))>>8);
|
|
if ((index_596X < 0)) {
|
|
goto L29936;}
|
|
else {
|
|
if ((index_596X < len_598X)) {
|
|
*((unsigned char *) ((((char *) (-3 + arg3_595X))) + index_596X)) = Kchar_597X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L29936;}}}
|
|
else {
|
|
goto L29915;}}
|
|
else {
|
|
goto L29915;}}
|
|
else {
|
|
goto L34437;}}
|
|
else {
|
|
goto L34437;}}
|
|
else {
|
|
goto L34437;}}
|
|
break;
|
|
case 105 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_599X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_599X))) {
|
|
if ((9 == (255 & (SvalS)))) {
|
|
len_600X = ((arg2_599X)>>2);
|
|
init_601X = ((((SvalS))>>8));
|
|
size_602X = 1 + ((((4 + len_600X))>>2));
|
|
if ((len_600X < 0)) {
|
|
goto L26330;}
|
|
else {
|
|
if ((4194305 < size_602X)) {
|
|
goto L26330;}
|
|
else {
|
|
v_603X = AVAILABLEp(size_602X);
|
|
if (v_603X) {
|
|
goto L26422;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_604X);
|
|
v_605X = AVAILABLEp(size_602X);
|
|
if (v_605X) {
|
|
goto L26422;}
|
|
else {
|
|
push_exception_continuationB(8, 1);
|
|
*((long *) (SstackS)) = (((len_600X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (9 + ((((init_601X))<<8)));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}}}
|
|
else {
|
|
goto L33069;}}
|
|
else {
|
|
goto L33069;}}
|
|
break;
|
|
case 106 : {
|
|
obj_606X = SvalS;
|
|
if ((3 == (3 & obj_606X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_606X))) + -4))))>>2))))) {
|
|
SvalS = (-4 + (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2)));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L36499;}}
|
|
else {
|
|
goto L36499;}}
|
|
break;
|
|
case 107 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_607X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_607X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_607X))) + -4))))>>2))))) {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
index_608X = (((SvalS))>>2);
|
|
len_609X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_607X))) + -4))))>>8));
|
|
if ((index_608X < 0)) {
|
|
goto L33132;}
|
|
else {
|
|
if ((index_608X < len_609X)) {
|
|
SvalS = (9 + ((((((*((unsigned char *) ((((char *) (-3 + arg2_607X))) + index_608X))))))<<8)));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L33132;}}}
|
|
else {
|
|
goto L36121;}}
|
|
else {
|
|
goto L36121;}}
|
|
else {
|
|
goto L36121;}}
|
|
break;
|
|
case 108 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_610X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_611X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg3_611X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_611X))) + -4))))>>2))))) {
|
|
if ((0 == (3 & arg2_610X))) {
|
|
if ((9 == (255 & (SvalS)))) {
|
|
index_612X = ((arg2_610X)>>2);
|
|
Kchar_613X = ((((SvalS))>>8));
|
|
if ((3 == (3 & arg3_611X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_611X))) + -4)))))) {
|
|
len_614X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_611X))) + -4))))>>8));
|
|
if ((index_612X < 0)) {
|
|
goto L30091;}
|
|
else {
|
|
if ((index_612X < len_614X)) {
|
|
*((unsigned char *) ((((char *) (-3 + arg3_611X))) + index_612X)) = (Kchar_613X);
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L30091;}}}
|
|
else {
|
|
goto L30070;}}
|
|
else {
|
|
goto L30070;}}
|
|
else {
|
|
goto L34563;}}
|
|
else {
|
|
goto L34563;}}
|
|
else {
|
|
goto L34563;}}
|
|
else {
|
|
goto L34563;}}
|
|
break;
|
|
case 109 : {
|
|
v_615X = AVAILABLEp(3);
|
|
if (v_615X) {
|
|
goto L24500;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_616X);
|
|
v_617X = AVAILABLEp(3);
|
|
if (v_617X) {
|
|
goto L24500;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L24500;}}}
|
|
break;
|
|
case 110 : {
|
|
obj_618X = SvalS;
|
|
if ((3 == (3 & obj_618X))) {
|
|
if ((4 == (31 & ((((*((long *) ((((char *) (-3 + obj_618X))) + -4))))>>2))))) {
|
|
x_619X = SvalS;
|
|
descriptor_620X = *((long *) ((((char *) (-3 + x_619X))) + 4));
|
|
if ((17 == (255 & descriptor_620X))) {
|
|
if ((529 == (*((long *) ((((char *) (-3 + x_619X))) + 4))))) {
|
|
arg0K0 = 5;
|
|
goto L34110;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L34110;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L34110;}}
|
|
else {
|
|
goto L34091;}}
|
|
else {
|
|
goto L34091;}}
|
|
break;
|
|
case 111 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_621X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_621X))) {
|
|
if ((4 == (31 & ((((*((long *) ((((char *) (-3 + arg2_621X))) + -4))))>>2))))) {
|
|
x_622X = SvalS;
|
|
if ((1 == x_622X)) {
|
|
goto L29678;}
|
|
else {
|
|
if ((5 == x_622X)) {
|
|
goto L29678;}
|
|
else {
|
|
goto L29685;}}}
|
|
else {
|
|
goto L29685;}}
|
|
else {
|
|
goto L29685;}}
|
|
break;
|
|
case 112 : {
|
|
x_623X = SvalS;
|
|
if ((3 == (3 & x_623X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + x_623X))) + -4)))))) {
|
|
arg0K0 = 1;
|
|
goto L38709;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L38709;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L38709;}}
|
|
break;
|
|
case 113 : {
|
|
x_624X = SvalS;
|
|
if ((3 == (3 & x_624X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + x_624X))) + -4)))))) {
|
|
*((long *) ((((char *) (-3 + x_624X))) + -4)) = (128 | (*((long *) ((((char *) (-3 + x_624X))) + -4))));
|
|
goto L33214;}
|
|
else {
|
|
goto L33214;}}
|
|
else {
|
|
goto L33214;}}
|
|
break;
|
|
case 114 : {
|
|
v_625X = AVAILABLEp(72);
|
|
if (v_625X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L33265;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_626X);
|
|
v_627X = AVAILABLEp(72);
|
|
if (v_627X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L33265;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L33265;}}}
|
|
break;
|
|
case 115 : {
|
|
v_628X = AVAILABLEp(66);
|
|
if (v_628X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34681;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_629X);
|
|
v_630X = AVAILABLEp(66);
|
|
if (v_630X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34681;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L34681;}}}
|
|
break;
|
|
case 116 : {
|
|
v_631X = AVAILABLEp(66);
|
|
if (v_631X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L37553;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_632X);
|
|
v_633X = AVAILABLEp(66);
|
|
if (v_633X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L37553;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L37553;}}}
|
|
break;
|
|
case 117 : {
|
|
v_634X = AVAILABLEp(66);
|
|
if (v_634X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L37813;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_635X);
|
|
v_636X = AVAILABLEp(66);
|
|
if (v_636X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L37813;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L37813;}}}
|
|
break;
|
|
case 118 : {
|
|
v_637X = AVAILABLEp(66);
|
|
if (v_637X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34166;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_638X);
|
|
v_639X = AVAILABLEp(66);
|
|
if (v_639X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34166;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L34166;}}}
|
|
break;
|
|
case 119 : {
|
|
obj_640X = SvalS;
|
|
if ((3 == (3 & obj_640X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_640X))) + -4))))>>2))))) {
|
|
channel_641X = SvalS;
|
|
head_642X = Spending_channels_headS;
|
|
if ((1 == head_642X)) {
|
|
addr_643X = (((char *) (-3 + channel_641X))) + 16;
|
|
S48_WRITE_BARRIER(channel_641X, addr_643X, 1);
|
|
*((long *) addr_643X) = 1;
|
|
n_644X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_641X))) + 8))))>>2)));
|
|
arg0K0 = (((n_644X)<<2));
|
|
goto L33336;}
|
|
else {
|
|
if ((channel_641X == head_642X)) {
|
|
channel_645X = Spending_channels_headS;
|
|
next_646X = *((long *) ((((char *) (-3 + channel_645X))) + 12));
|
|
Spending_channels_headS = next_646X;
|
|
addr_647X = (((char *) (-3 + channel_645X))) + 12;
|
|
S48_WRITE_BARRIER(channel_645X, addr_647X, 1);
|
|
*((long *) addr_647X) = 1;
|
|
if ((1 == next_646X)) {
|
|
Spending_channels_tailS = 1;
|
|
goto L8186;}
|
|
else {
|
|
goto L8186;}}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + head_642X))) + 12)));
|
|
arg0K1 = head_642X;
|
|
goto L8192;}}}
|
|
else {
|
|
goto L33319;}}
|
|
else {
|
|
goto L33319;}}
|
|
break;
|
|
case 120 : {
|
|
space_648X = 3 * (Snumber_of_channelsS);
|
|
v_649X = AVAILABLEp(space_648X);
|
|
if (v_649X) {
|
|
goto L14791;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_650X);
|
|
v_651X = AVAILABLEp(space_648X);
|
|
if (v_651X) {
|
|
goto L14791;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L14791;}}}
|
|
break;
|
|
case 121 : {
|
|
SvalS = 529;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 122 : {
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 123 : {
|
|
x_652X = SvalS;
|
|
push_exception_continuationB(16, 1);
|
|
*((long *) (SstackS)) = x_652X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
break;
|
|
case 124 : {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 125 : {
|
|
SvalS = 21;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 126 : {
|
|
v_653X = AVAILABLEp(66);
|
|
if (v_653X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34782;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_654X);
|
|
v_655X = AVAILABLEp(66);
|
|
if (v_655X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34782;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L34782;}}}
|
|
break;
|
|
case 127 : {
|
|
SvalS = 13;
|
|
collect_saving_temps(0, 0, &v_656X);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 128 : {
|
|
obj_657X = SvalS;
|
|
if ((3 == (3 & obj_657X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_657X))) + -4))))>>2))))) {
|
|
x_658X = SvalS;
|
|
n_659X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_658X))) + -4))))>>8));
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L35614;}
|
|
else {
|
|
goto L35591;}}
|
|
else {
|
|
goto L35591;}}
|
|
break;
|
|
case 129 : {
|
|
v_660X = AVAILABLEp(6);
|
|
if (v_660X) {
|
|
goto L38777;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_661X);
|
|
v_662X = AVAILABLEp(6);
|
|
if (v_662X) {
|
|
goto L38777;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L38777;}}}
|
|
break;
|
|
case 130 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_663X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_663X))) {
|
|
key_664X = ((arg2_663X)>>2);
|
|
other_665X = SvalS;
|
|
if ((5 == key_664X)) {
|
|
SvalS = (-4 & other_665X);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if ((0 == key_664X)) {
|
|
x_666X = s48_available();
|
|
SvalS = (((x_666X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if ((1 == key_664X)) {
|
|
bytes_667X = s48_heap_size();
|
|
SvalS = (-4 & (3 + bytes_667X));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if ((2 == key_664X)) {
|
|
SvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if ((3 == key_664X)) {
|
|
x_668X = s48_gc_count();
|
|
SvalS = (((x_668X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if ((4 == key_664X)) {
|
|
push_exception_continuationB(15, 1);
|
|
*((long *) (SstackS)) = (((key_664X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = other_665X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
push_exception_continuationB(18, 1);
|
|
*((long *) (SstackS)) = (((key_664X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = other_665X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}}}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_663X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 131 : {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
type_669X = (((SvalS))>>2);
|
|
arg2K0 = 1;
|
|
goto L33427;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 132 : {
|
|
x_670X = SvalS;
|
|
arg2K0 = 1;
|
|
arg0K1 = x_670X;
|
|
goto L38827;}
|
|
break;
|
|
case 133 : {
|
|
SvalS = (Scurrent_threadS);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 134 : {
|
|
Scurrent_threadS = (SvalS);
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 135 : {
|
|
SvalS = (Ssession_dataS);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 136 : {
|
|
Ssession_dataS = (SvalS);
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 137 : {
|
|
obj_671X = SvalS;
|
|
if ((3 == (3 & obj_671X))) {
|
|
if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_671X))) + -4))))>>2))))) {
|
|
if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 161)) {
|
|
goto L20584;}
|
|
else {
|
|
temp_672X = Sexception_handlersS;
|
|
Sexception_handlersS = (SvalS);
|
|
SvalS = temp_672X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
else {
|
|
goto L20584;}}
|
|
else {
|
|
goto L20584;}}
|
|
break;
|
|
case 138 : {
|
|
SstackS = ((SstackS) + 4);
|
|
p_673X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
template_674X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
SstackS = ((SstackS) + 4);
|
|
p_675X = *((long *) (SstackS));
|
|
StemplateS = template_674X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + template_674X)))))))) + ((((((((((p_673X)>>2)) + (((p_675X)>>2))))<<2)))>>2)));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
break;
|
|
case 139 : {
|
|
obj_676X = SvalS;
|
|
if ((3 == (3 & obj_676X))) {
|
|
if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_676X))) + -4))))>>2))))) {
|
|
if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 5)) {
|
|
goto L19508;}
|
|
else {
|
|
temp_677X = Sinterrupt_handlersS;
|
|
Sinterrupt_handlersS = (SvalS);
|
|
SvalS = temp_677X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
else {
|
|
goto L19508;}}
|
|
else {
|
|
goto L19508;}}
|
|
break;
|
|
case 140 : {
|
|
old_678X = Senabled_interruptsS;
|
|
p_679X = SvalS;
|
|
Senabled_interruptsS = (((p_679X)>>2));
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L38868;}
|
|
else {
|
|
goto L38868;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L38868;}}
|
|
break;
|
|
case 141 : {
|
|
SstackS = ((SstackS) + 4);
|
|
p_680X = *((long *) (SstackS));
|
|
Senabled_interruptsS = (((p_680X)>>2));
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L18466;}
|
|
else {
|
|
goto L18466;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L18466;}}
|
|
break;
|
|
case 142 : {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
p_681X = SvalS;
|
|
Spending_interruptsS = (-2 & (Spending_interruptsS));
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L37373;}
|
|
else {
|
|
goto L37373;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L37373;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
break;
|
|
case 143 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_682X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_682X))) {
|
|
x_683X = SvalS;
|
|
if ((1 == x_683X)) {
|
|
goto L34310;}
|
|
else {
|
|
if ((5 == x_683X)) {
|
|
goto L34310;}
|
|
else {
|
|
goto L34315;}}}
|
|
else {
|
|
goto L34315;}}
|
|
break;
|
|
case 144 : {
|
|
SstackS = ((SstackS) + 4);
|
|
nargs_684X = (((*((long *) (SstackS))))>>2);
|
|
SstackS = ((SstackS) + 4);
|
|
p_685X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
rest_list_686X = *((long *) (SstackS));
|
|
if ((14 < nargs_684X)) {
|
|
push_exception_continuationB(20, 1);
|
|
*((long *) (SstackS)) = (*((long *) ((SstackS) + (-4 & p_685X))));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = nargs_684X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
arg0K0 = rest_list_686X;
|
|
goto L22803;}}
|
|
break;
|
|
case 145 : {
|
|
v_687X = AVAILABLEp(5);
|
|
if (v_687X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L33536;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_688X);
|
|
v_689X = AVAILABLEp(5);
|
|
if (v_689X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L33536;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L33536;}}}
|
|
break;
|
|
case 147 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_690X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_690X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_690X))) + -4))))>>2))))) {
|
|
x_691X = SvalS;
|
|
if ((1 == x_691X)) {
|
|
goto L23927;}
|
|
else {
|
|
if ((5 == x_691X)) {
|
|
goto L23927;}
|
|
else {
|
|
goto L23932;}}}
|
|
else {
|
|
goto L23932;}}
|
|
else {
|
|
goto L23932;}}
|
|
break;
|
|
case 148 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_692X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_692X))) {
|
|
option_693X = ((arg2_692X)>>2);
|
|
other_694X = SvalS;
|
|
if ((2 == option_693X)) {
|
|
x_695X = CHEAP_TIME();
|
|
SvalS = (((x_695X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if ((0 == option_693X)) {
|
|
seconds_696X = s48_run_time(&mseconds_697X);
|
|
arg0K0 = option_693X;
|
|
arg0K1 = seconds_696X;
|
|
arg0K2 = mseconds_697X;
|
|
goto L35525;}
|
|
else {
|
|
if ((1 == option_693X)) {
|
|
seconds_698X = s48_real_time(&mseconds_699X);
|
|
arg0K0 = option_693X;
|
|
arg0K1 = seconds_698X;
|
|
arg0K2 = mseconds_699X;
|
|
goto L35525;}
|
|
else {
|
|
push_exception_continuationB(18, 1);
|
|
*((long *) (SstackS)) = (((option_693X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = other_694X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_692X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 149 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_700X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_700X))) {
|
|
key_701X = ((arg2_700X)>>2);
|
|
value_702X = SvalS;
|
|
status_703X = s48_extended_vm(key_701X, value_702X);
|
|
if ((0 == status_703X)) {
|
|
SvalS = (s48_Sextension_valueS);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if ((1 == status_703X)) {
|
|
push_exception_continuationB(23, 1);
|
|
*((long *) (SstackS)) = (((key_701X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_702X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
push_exception_continuationB(24, 1);
|
|
*((long *) (SstackS)) = (((key_701X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_702X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_700X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
break;
|
|
case 150 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_704X = *((long *) (SstackS));
|
|
x_705X = SvalS;
|
|
Senabled_interruptsS = -1;
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L38928;}
|
|
else {
|
|
goto L38928;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L38928;}}
|
|
break;
|
|
case 151 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_706X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_706X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_706X))) + -4))))>>2))))) {
|
|
obj_707X = SvalS;
|
|
if ((3 == (3 & obj_707X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_707X))) + -4))))>>2))))) {
|
|
x_708X = SvalS;
|
|
len_709X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_706X))) + -4))))>>8);
|
|
if ((len_709X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_708X))) + -4))))>>8)))) {
|
|
if (((!memcmp((void *)(((char *) (-3 + x_708X))), (void *)(((char *) (-3 + arg2_706X))),len_709X)))) {
|
|
arg0K0 = 5;
|
|
goto L27864;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L27864;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L27864;}}
|
|
else {
|
|
goto L27831;}}
|
|
else {
|
|
goto L27831;}}
|
|
else {
|
|
goto L27831;}}
|
|
else {
|
|
goto L27831;}}
|
|
break;
|
|
case 152 : {
|
|
space_710X = 1 + ((((4 + ((((SvalS))>>2))))>>2));
|
|
v_711X = AVAILABLEp(space_710X);
|
|
if (v_711X) {
|
|
goto L33745;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_712X);
|
|
v_713X = AVAILABLEp(space_710X);
|
|
if (v_713X) {
|
|
goto L33745;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L33745;}}}
|
|
break;
|
|
case 153 : {
|
|
SstackS = ((SstackS) + 4);
|
|
thing_714X = *((long *) (SstackS));
|
|
list_715X = SvalS;
|
|
arg0K0 = list_715X;
|
|
arg0K1 = list_715X;
|
|
arg2K2 = 1;
|
|
goto L29333;}
|
|
break;
|
|
case 154 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_716X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_717X = *((long *) (SstackS));
|
|
if ((0 == (3 & (SvalS)))) {
|
|
index_718X = (((SvalS))>>2);
|
|
if ((3 == (3 & arg3_717X))) {
|
|
if ((8 == (31 & ((((*((long *) ((((char *) (-3 + arg3_717X))) + -4))))>>2))))) {
|
|
if ((arg2_716X == (*((long *) (((char *) (-3 + arg3_717X))))))) {
|
|
len_719X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_717X))) + -4))))>>8))))>>2);
|
|
if ((index_718X < 0)) {
|
|
goto L27537;}
|
|
else {
|
|
if ((index_718X < len_719X)) {
|
|
SvalS = (*((long *) ((((char *) (-3 + arg3_717X))) + (((index_718X)<<2)))));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L27537;}}}
|
|
else {
|
|
goto L27557;}}
|
|
else {
|
|
goto L27557;}}
|
|
else {
|
|
goto L27557;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_717X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_716X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}}
|
|
break;
|
|
case 155 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_720X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_721X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg4_722X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_720X))) {
|
|
index_723X = ((arg2_720X)>>2);
|
|
value_724X = SvalS;
|
|
if ((3 == (3 & arg4_722X))) {
|
|
if ((8 == (31 & ((((*((long *) ((((char *) (-3 + arg4_722X))) + -4))))>>2))))) {
|
|
if ((arg3_721X == (*((long *) (((char *) (-3 + arg4_722X))))))) {
|
|
if ((3 == (3 & arg4_722X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_722X))) + -4)))))) {
|
|
len_725X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_722X))) + -4))))>>8))))>>2);
|
|
if ((index_723X < 0)) {
|
|
goto L30838;}
|
|
else {
|
|
if ((index_723X < len_725X)) {
|
|
addr_726X = (((char *) (-3 + arg4_722X))) + (((index_723X)<<2));
|
|
S48_WRITE_BARRIER(arg4_722X, addr_726X, value_724X);
|
|
*((long *) addr_726X) = value_724X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L30838;}}}
|
|
else {
|
|
goto L30860;}}
|
|
else {
|
|
goto L30860;}}
|
|
else {
|
|
goto L30860;}}
|
|
else {
|
|
goto L30860;}}
|
|
else {
|
|
goto L30860;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg4_722X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_721X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_720X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16679;}}
|
|
break;
|
|
case 156 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_727X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_728X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg4_729X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg5_730X = *((long *) (SstackS));
|
|
if ((0 == (3 & ((arg4_729X | arg2_727X) | (SvalS))))) {
|
|
from_index_731X = ((arg4_729X)>>2);
|
|
to_index_732X = ((arg2_727X)>>2);
|
|
count_733X = (((SvalS))>>2);
|
|
if ((3 == (3 & arg5_730X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_730X))) + -4))))>>2))))) {
|
|
goto L31089;}
|
|
else {
|
|
goto L31084;}}
|
|
else {
|
|
goto L31084;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg5_730X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg4_729X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_728X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_727X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16679;}}
|
|
break;
|
|
case 157 : {
|
|
v_734X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == v_734X)) {
|
|
arg0K0 = (SvalS);
|
|
goto L23059;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
get_current_port_return_tag = 0;
|
|
goto get_current_port;
|
|
get_current_port_return_0:
|
|
v_735X = get_current_port0_return_value;
|
|
arg0K0 = v_735X;
|
|
goto L23059;}}
|
|
break;
|
|
case 158 : {
|
|
v_736X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == v_736X)) {
|
|
arg0K0 = (SvalS);
|
|
goto L23279;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
get_current_port_return_tag = 1;
|
|
goto get_current_port;
|
|
get_current_port_return_1:
|
|
v_737X = get_current_port0_return_value;
|
|
arg0K0 = v_737X;
|
|
goto L23279;}}
|
|
break;
|
|
case 159 : {
|
|
v_738X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == v_738X)) {
|
|
v_739X = SvalS;
|
|
SstackS = ((SstackS) + 4);
|
|
arg0K0 = (*((long *) (SstackS)));
|
|
arg0K1 = v_739X;
|
|
goto L23492;}
|
|
else {
|
|
merged_arg0K0 = 4;
|
|
get_current_port_return_tag = 2;
|
|
goto get_current_port;
|
|
get_current_port_return_2:
|
|
v_740X = get_current_port0_return_value;
|
|
arg0K0 = (SvalS);
|
|
arg0K1 = v_740X;
|
|
goto L23492;}}
|
|
break;
|
|
case 160 : {
|
|
x_741X = SvalS;
|
|
out_742X = stderr;
|
|
arg0K0 = x_741X;
|
|
goto L29586;}
|
|
break;
|
|
}}
|
|
L16679: {
|
|
nargs_743X = arg0K0;
|
|
opcode_744X = (((*((long *) ((SstackS) + (8 + (((nargs_743X)<<2)))))))>>2);
|
|
obj_745X = Sexception_handlersS;
|
|
if ((3 == (3 & obj_745X))) {
|
|
if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_745X))) + -4))))>>2))))) {
|
|
goto L16738;}
|
|
else {
|
|
goto L16811;}}
|
|
else {
|
|
goto L16811;}}
|
|
L23846: {
|
|
env_746X = arg0K0;
|
|
i_747X = arg0K1;
|
|
if ((0 == i_747X)) {
|
|
SvalS = (*((long *) ((((char *) (-3 + env_746X))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
|
|
if ((529 == (SvalS))) {
|
|
push_exception_continuationB(0, 3);
|
|
arg0K0 = 0;
|
|
goto L16679;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
else {
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_746X)))));
|
|
arg0K1 = (-1 + i_747X);
|
|
goto L23846;}}
|
|
L20261: {
|
|
env_748X = arg0K0;
|
|
i_749X = arg0K1;
|
|
if ((0 == i_749X)) {
|
|
SvalS = (*((long *) ((((char *) (-3 + env_748X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))))<<2)))));
|
|
if ((529 == (SvalS))) {
|
|
push_exception_continuationB(0, 5);
|
|
arg0K0 = 0;
|
|
goto L16679;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 5);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
else {
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_748X)))));
|
|
arg0K1 = (-1 + i_749X);
|
|
goto L20261;}}
|
|
L20199: {
|
|
env_750X = arg0K0;
|
|
i_751X = arg0K1;
|
|
if ((0 == i_751X)) {
|
|
index_752X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
|
|
value_753X = SvalS;
|
|
addr_754X = (((char *) (-3 + env_750X))) + (((index_752X)<<2));
|
|
S48_WRITE_BARRIER(env_750X, addr_754X, value_753X);
|
|
*((long *) addr_754X) = value_753X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 5);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_750X)))));
|
|
arg0K1 = (-1 + i_751X);
|
|
goto L20199;}}
|
|
L20978: {
|
|
space_755X = arg0K0;
|
|
v_756X = AVAILABLEp(space_755X);
|
|
if (v_756X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L21052;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_757X);
|
|
v_758X = AVAILABLEp(space_755X);
|
|
if (v_758X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L21052;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L21052;}}}
|
|
L20985: {
|
|
env_759X = arg0K0;
|
|
v_760X = AVAILABLEp(3);
|
|
if (v_760X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = env_759X;
|
|
goto L21010;}
|
|
else {
|
|
temp0_761X = collect_saving_temps(env_759X, 1, &temp1_762X);
|
|
v_763X = AVAILABLEp(3);
|
|
if (v_763X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_761X;
|
|
goto L21010;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_761X;
|
|
goto L21010;}}}
|
|
L20780: {
|
|
len_764X = ((total_count_394X)<<2);
|
|
addr_765X = ALLOCATE_SPACE(2, (4 + len_764X));
|
|
*((long *) addr_765X) = (10 + (((len_764X)<<8)));
|
|
new_env_766X = 3 + (((long) (addr_765X + 4)));
|
|
v_767X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == v_767X)) {
|
|
arg0K0 = 0;
|
|
goto L20794;}
|
|
else {
|
|
value_768X = SvalS;
|
|
addr_769X = ((char *) (-3 + new_env_766X));
|
|
S48_WRITE_BARRIER(new_env_766X, addr_769X, value_768X);
|
|
*((long *) addr_769X) = value_768X;
|
|
arg0K0 = 1;
|
|
goto L20794;}}
|
|
L20706: {
|
|
okayP_770X = arg2K0;
|
|
key_771X = arg0K1;
|
|
if (okayP_770X) {
|
|
arg0K0 = key_771X;
|
|
goto L20694;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_771X;
|
|
goto L20694;}}
|
|
L19861: {
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L19896: {
|
|
SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8);
|
|
*((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = cont_403X;
|
|
ScontS = (Sbottom_of_stackS);
|
|
goto L19861;}
|
|
L19862: {
|
|
if ((1 == cont_403X)) {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
s48_Scallback_return_stack_blockS = 1;
|
|
return ((((SvalS))>>2));}
|
|
else {
|
|
goto L19877;}}
|
|
else {
|
|
goto L19877;}}
|
|
L19222: {
|
|
okayP_772X = arg2K0;
|
|
key_773X = arg0K1;
|
|
if (okayP_772X) {
|
|
arg0K0 = key_773X;
|
|
goto L19177;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_773X;
|
|
goto L19177;}}
|
|
L19134: {
|
|
if ((s48_Spending_interruptPS)) {
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_eventsPS = 0;
|
|
check_events_return_tag = 0;
|
|
goto check_events;
|
|
check_events_return_0:
|
|
v_774X = check_events0_return_value;
|
|
if (v_774X) {
|
|
arg0K0 = stack_arg_count_404X;
|
|
goto L16908;}
|
|
else {
|
|
goto L19138;}}
|
|
else {
|
|
arg0K0 = stack_arg_count_404X;
|
|
goto L16908;}}
|
|
else {
|
|
goto L19138;}}
|
|
L16080: {
|
|
stack_arg_count_775X = arg0K0;
|
|
code_776X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS))))))))));
|
|
arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_776X))) + 1)));
|
|
arg0K1 = 64;
|
|
goto L16094;}
|
|
L17175: {
|
|
exception_777X = arg0K0;
|
|
stack_arg_count_778X = arg0K1;
|
|
list_args_779X = arg0K2;
|
|
list_arg_count_780X = arg0K3;
|
|
if (((StemplateS) == (SvalS))) {
|
|
if ((0 < (Slosing_opcodeS))) {
|
|
ps_error("wrong number of arguments to exception handler", 1, (Slosing_opcodeS));
|
|
return v_781X;}
|
|
else {
|
|
ps_error("wrong number of arguments to interrupt handler", 1, (0 - (Slosing_opcodeS)));
|
|
return v_782X;}}
|
|
else {
|
|
merged_arg0K0 = list_args_779X;
|
|
merged_arg0K1 = list_arg_count_780X;
|
|
copy_listS_return_tag = 0;
|
|
goto copy_listS;
|
|
copy_listS_return_0:
|
|
v_783X = copy_listS0_return_value;
|
|
merged_arg0K0 = v_783X;
|
|
merged_arg0K1 = stack_arg_count_778X;
|
|
pop_args_GlistS_return_tag = 1;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_1:
|
|
args_784X = pop_args_GlistS0_return_value;
|
|
push_exception_continuationB(exception_777X, 0);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = args_784X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
L17642: {
|
|
loc_785X = arg1K0;
|
|
arg_786X = arg1K1;
|
|
if ((top_of_args_415X < arg_786X)) {
|
|
*((long *) loc_785X) = (*((long *) arg_786X));
|
|
arg1K0 = (loc_785X + -4);
|
|
arg1K1 = (arg_786X + -4);
|
|
goto L17642;}
|
|
else {
|
|
SstackS = loc_785X;
|
|
obj_787X = SvalS;
|
|
if ((3 == (3 & obj_787X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_787X))) + -4))))>>2))))) {
|
|
arg0K0 = nargs_414X;
|
|
goto L16080;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = nargs_414X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = nargs_414X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}}
|
|
L17680: {
|
|
stack_arg_count_788X = arg0K0;
|
|
list_args_789X = arg0K1;
|
|
list_arg_count_790X = arg0K2;
|
|
if ((0 == list_arg_count_790X)) {
|
|
obj_791X = SvalS;
|
|
if ((3 == (3 & obj_791X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_791X))) + -4))))>>2))))) {
|
|
arg0K0 = stack_arg_count_788X;
|
|
goto L16080;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
else {
|
|
obj_792X = SvalS;
|
|
if ((3 == (3 & obj_792X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_792X))) + -4))))>>2))))) {
|
|
code_793X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS))))))))));
|
|
total_arg_count_794X = stack_arg_count_788X + list_arg_count_790X;
|
|
arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_793X))) + 1)));
|
|
arg0K1 = 64;
|
|
goto L16371;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = list_args_789X;
|
|
arg0K3 = list_arg_count_790X;
|
|
goto L17175;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = list_args_789X;
|
|
arg0K3 = list_arg_count_790X;
|
|
goto L17175;}}}
|
|
L11287: {
|
|
list_args_795X = arg0K0;
|
|
stack_nargs_796X = arg0K1;
|
|
merged_arg0K0 = list_args_795X;
|
|
okay_argument_list_return_tag = 1;
|
|
goto okay_argument_list;
|
|
okay_argument_list_return_1:
|
|
okayP_797X = okay_argument_list0_return_value;
|
|
list_arg_count_798X = okay_argument_list1_return_value;
|
|
if (okayP_797X) {
|
|
SvalS = proc_422X;
|
|
arg0K0 = stack_nargs_796X;
|
|
arg0K1 = list_args_795X;
|
|
arg0K2 = list_arg_count_798X;
|
|
goto L17680;}
|
|
else {
|
|
*((long *) (SstackS)) = list_args_795X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = 25;
|
|
merged_arg0K1 = (1 + stack_nargs_796X);
|
|
pop_args_GlistS_return_tag = 2;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_2:
|
|
args_799X = pop_args_GlistS0_return_value;
|
|
SstackS = ((SstackS) + 4);
|
|
push_exception_continuationB(5, 0);
|
|
*((long *) (SstackS)) = proc_422X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = args_799X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
L11328: {
|
|
list_800X = arg0K0;
|
|
follower_801X = arg0K1;
|
|
if ((25 == list_800X)) {
|
|
list_args_802X = *((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + follower_801X))) + 4)))))));
|
|
addr_803X = (((char *) (-3 + follower_801X))) + 4;
|
|
S48_WRITE_BARRIER(follower_801X, addr_803X, list_args_802X);
|
|
*((long *) addr_803X) = list_args_802X;
|
|
arg0K0 = rest_list_423X;
|
|
arg0K1 = (-1 + stack_nargs_421X);
|
|
goto L11287;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + list_800X))) + 4)));
|
|
arg0K1 = (*((long *) ((((char *) (-3 + follower_801X))) + 4)));
|
|
goto L11328;}}
|
|
L17585: {
|
|
obj_804X = SvalS;
|
|
if ((3 == (3 & obj_804X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_804X))) + -4))))>>2))))) {
|
|
arg0K0 = 0;
|
|
goto L16080;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = 0;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = 0;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
L17592: {
|
|
SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8);
|
|
*((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = cont_424X;
|
|
ScontS = (Sbottom_of_stackS);
|
|
goto L17585;}
|
|
L20441: {
|
|
stack_nargs_805X = arg0K0;
|
|
list_args_806X = arg0K1;
|
|
list_arg_count_807X = arg0K2;
|
|
if ((1 == stack_nargs_805X)) {
|
|
SstackS = ((SstackS) + 4);
|
|
SvalS = (*((long *) (SstackS)));
|
|
pop_continuationB_return_tag = 1;
|
|
goto pop_continuationB;
|
|
pop_continuationB_return_1:
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if (((ScontS) == (Sbottom_of_stackS))) {
|
|
arg0K0 = (*((long *) (((char *) (-3 + (Sbottom_of_stackS))))));
|
|
goto L20452;}
|
|
else {
|
|
arg0K0 = (ScontS);
|
|
goto L20452;}}}
|
|
L18958: {
|
|
okayP_808X = arg2K0;
|
|
key_809X = arg0K1;
|
|
if (okayP_808X) {
|
|
arg0K0 = key_809X;
|
|
goto L18946;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_809X;
|
|
goto L18946;}}
|
|
L18831: {
|
|
tem_810X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
|
|
StemplateS = tem_810X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_810X)))))))) + 2);
|
|
if ((s48_Spending_interruptPS)) {
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_eventsPS = 0;
|
|
check_events_return_tag = 1;
|
|
goto check_events;
|
|
check_events_return_1:
|
|
v_811X = check_events0_return_value;
|
|
if (v_811X) {
|
|
goto L18840;}
|
|
else {
|
|
goto L18843;}}
|
|
else {
|
|
goto L18840;}}
|
|
else {
|
|
goto L18843;}}
|
|
L19014: {
|
|
okayP_812X = arg2K0;
|
|
key_813X = arg0K1;
|
|
if (okayP_812X) {
|
|
arg0K0 = key_813X;
|
|
goto L19001;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_813X;
|
|
goto L19001;}}
|
|
L18876: {
|
|
push_exception_continuationB(5, 4);
|
|
*((long *) (SstackS)) = (*((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L18732: {
|
|
arg0K0 = (2 + (((max_443X)<<1)));
|
|
goto L18734;}
|
|
L18734: {
|
|
offset_814X = arg0K0;
|
|
Scode_pointerS = ((Scode_pointerS) + offset_814X);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L19764: {
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L18630: {
|
|
delta_815X = arg0K0;
|
|
Scode_pointerS = ((Scode_pointerS) + delta_815X);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L19655: {
|
|
delta_816X = arg0K0;
|
|
Scode_pointerS = ((Scode_pointerS) + delta_816X);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L38237: {
|
|
val_817X = arg0K0;
|
|
SvalS = val_817X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L38249: {
|
|
val_818X = arg0K0;
|
|
SvalS = val_818X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L10635: {
|
|
if ((3 == (3 & x_457X))) {
|
|
if ((7 == (31 & ((((*((long *) ((((char *) (-3 + x_457X))) + -4))))>>2))))) {
|
|
arg0K0 = 5;
|
|
goto L38249;}
|
|
else {
|
|
goto L10641;}}
|
|
else {
|
|
goto L10641;}}
|
|
L28413: {
|
|
SvalS = 5;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L28414: {
|
|
if ((3 == (3 & n_458X))) {
|
|
if ((10 == (31 & ((((*((long *) ((((char *) (-3 + n_458X))) + -4))))>>2))))) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = n_458X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
else {
|
|
goto L28418;}}
|
|
else {
|
|
goto L28418;}}
|
|
L28570: {
|
|
SvalS = 5;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L28545: {
|
|
if ((3 == (3 & n_459X))) {
|
|
if ((7 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) {
|
|
goto L28570;}
|
|
else {
|
|
goto L28559;}}
|
|
else {
|
|
goto L28559;}}
|
|
L28769: {
|
|
SvalS = 5;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L28744: {
|
|
if ((3 == (3 & n_460X))) {
|
|
if ((7 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) {
|
|
goto L28769;}
|
|
else {
|
|
goto L28758;}}
|
|
else {
|
|
goto L28758;}}
|
|
L28968: {
|
|
SvalS = 5;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L28943: {
|
|
if ((3 == (3 & n_461X))) {
|
|
if ((7 == (31 & ((((*((long *) ((((char *) (-3 + n_461X))) + -4))))>>2))))) {
|
|
goto L28968;}
|
|
else {
|
|
goto L28957;}}
|
|
else {
|
|
goto L28957;}}
|
|
L6788: {
|
|
a_819X = arg0K0;
|
|
if ((b_471X < 0)) {
|
|
arg0K0 = (0 - b_471X);
|
|
goto L6792;}
|
|
else {
|
|
arg0K0 = b_471X;
|
|
goto L6792;}}
|
|
L7069: {
|
|
a_820X = arg0K0;
|
|
if ((b_478X < 0)) {
|
|
arg0K0 = (0 - b_478X);
|
|
goto L7073;}
|
|
else {
|
|
arg0K0 = b_478X;
|
|
goto L7073;}}
|
|
L31878: {
|
|
val_821X = arg0K0;
|
|
SvalS = val_821X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L31956: {
|
|
val_822X = arg0K0;
|
|
SvalS = val_822X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L32034: {
|
|
val_823X = arg0K0;
|
|
SvalS = val_823X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L32112: {
|
|
val_824X = arg0K0;
|
|
SvalS = val_824X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L32190: {
|
|
val_825X = arg0K0;
|
|
SvalS = val_825X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L7246: {
|
|
a_826X = arg0K0;
|
|
if ((b_492X < 0)) {
|
|
arg0K0 = (0 - b_492X);
|
|
goto L7250;}
|
|
else {
|
|
arg0K0 = b_492X;
|
|
goto L7250;}}
|
|
L25360: {
|
|
a_827X = arg0K0;
|
|
n_828X = ((y_494X)>>2);
|
|
if ((n_828X < 0)) {
|
|
arg0K0 = (0 - n_828X);
|
|
goto L25362;}
|
|
else {
|
|
arg0K0 = n_828X;
|
|
goto L25362;}}
|
|
L38506: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_509X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L25646: {
|
|
r_829X = arg0K0;
|
|
if ((536870911 < r_829X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = n_510X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
else {
|
|
SvalS = (((r_829X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L25925: {
|
|
SvalS = (((result_531X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L38594: {
|
|
val_830X = arg0K0;
|
|
SvalS = val_830X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L28188: {
|
|
val_831X = arg0K0;
|
|
SvalS = val_831X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L28161: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_534X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L28098: {
|
|
val_832X = arg0K0;
|
|
SvalS = val_832X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L28071: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_536X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L32882: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (((x_538X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L38623: {
|
|
val_833X = arg0K0;
|
|
SvalS = val_833X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L38637: {
|
|
value_834X = arg0K0;
|
|
SvalS = value_834X;
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L21243: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = stob_542X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_543X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L21315: {
|
|
type_835X = *((unsigned char *) ((Scode_pointerS) + 2));
|
|
len_836X = ((len_544X)<<2);
|
|
addr_837X = ALLOCATE_SPACE(type_835X, (4 + len_836X));
|
|
*((long *) addr_837X) = (2 + (((((((len_836X)<<6)) + type_835X))<<2)));
|
|
new_838X = 3 + (((long) (addr_837X + 4)));
|
|
if ((len_544X < 1)) {
|
|
goto L21350;}
|
|
else {
|
|
*((long *) ((((char *) (-3 + new_838X))) + (-4 + (((len_544X)<<2))))) = (SvalS);
|
|
arg0K0 = (-2 + len_544X);
|
|
goto L21334;}}
|
|
L21497: {
|
|
type_839X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
len_840X = ((len_549X)<<2);
|
|
addr_841X = ALLOCATE_SPACE(type_839X, (4 + len_840X));
|
|
*((long *) addr_841X) = (2 + (((((((len_840X)<<6)) + type_839X))<<2)));
|
|
new_842X = 3 + (((long) (addr_841X + 4)));
|
|
SstackS = ((SstackS) + 4);
|
|
stack_nargs_843X = (((*((long *) (SstackS))))>>2);
|
|
SstackS = ((SstackS) + 4);
|
|
rest_list_844X = *((long *) (SstackS));
|
|
arg0K0 = (-1 + stack_nargs_843X);
|
|
goto L21519;}
|
|
L21707: {
|
|
push_exception_continuationB(5, 3);
|
|
*((long *) (SstackS)) = stob_554X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_556X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((offset_555X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L21810: {
|
|
push_exception_continuationB(5, 3);
|
|
*((long *) (SstackS)) = stob_557X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_560X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((offset_559X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_558X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16679;}
|
|
L21995: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = (((type_564X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((len_565X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = init_563X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L22013: {
|
|
okayP_845X = arg2K0;
|
|
init_846X = arg0K1;
|
|
if (okayP_845X) {
|
|
len_847X = ((len_565X)<<2);
|
|
addr_848X = ALLOCATE_SPACE(type_564X, (4 + len_847X));
|
|
*((long *) addr_848X) = (2 + (((((((len_847X)<<6)) + type_564X))<<2)));
|
|
value_849X = 3 + (((long) (addr_848X + 4)));
|
|
arg0K0 = (-1 + len_565X);
|
|
goto L22042;}
|
|
else {
|
|
push_exception_continuationB(8, 2);
|
|
*((long *) (SstackS)) = (((type_564X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((len_565X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = init_846X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}}
|
|
L22291: {
|
|
push_exception_continuationB(7, 2);
|
|
*((long *) (SstackS)) = stob_571X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_573X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = index_572X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L22268: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = stob_571X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_573X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = index_572X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L22531: {
|
|
push_exception_continuationB(7, 2);
|
|
*((long *) (SstackS)) = stob_577X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_579X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_576X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_578X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16679;}
|
|
L22506: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = stob_577X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_579X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_576X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_578X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16679;}
|
|
L26096: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (((len_584X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((init_585X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L26188: {
|
|
addr_850X = ALLOCATE_SPACE(17, (4 + len_584X));
|
|
*((long *) addr_850X) = (70 + (((len_584X)<<8)));
|
|
vector_851X = 3 + (((long) (addr_850X + 4)));
|
|
arg0K0 = (-1 + len_584X);
|
|
goto L26137;}
|
|
L36449: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L32988: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg2_591X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_592X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L36025: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_591X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L29936: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg3_595X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_596X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((Kchar_597X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L29915: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_595X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_596X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((Kchar_597X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L34437: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_595X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_594X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L26330: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (((len_600X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (9 + ((((init_601X))<<8)));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L26422: {
|
|
len_852X = 1 + len_600X;
|
|
addr_853X = ALLOCATE_SPACE(16, (4 + len_852X));
|
|
*((long *) addr_853X) = (66 + (((len_852X)<<8)));
|
|
string_854X = 3 + (((long) (addr_853X + 4)));
|
|
*((unsigned char *) ((((char *) (-3 + string_854X))) + len_600X)) = 0;
|
|
arg0K0 = (-1 + len_600X);
|
|
goto L26371;}
|
|
L33069: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_599X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L36499: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L33132: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg2_607X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_608X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L36121: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_607X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L30091: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg3_611X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_612X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (9 + ((((Kchar_613X))<<8)));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L30070: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_611X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_612X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (9 + ((((Kchar_613X))<<8)));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L34563: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_611X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_610X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L24500: {
|
|
obj_855X = SvalS;
|
|
if ((3 == (3 & obj_855X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_855X))) + -4))))>>2))))) {
|
|
table_856X = Sthe_symbol_tableS;
|
|
string_857X = SvalS;
|
|
n_858X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_857X))) + -4))))>>8));
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L13347;}
|
|
else {
|
|
goto L24510;}}
|
|
else {
|
|
goto L24510;}}
|
|
L34110: {
|
|
val_859X = arg0K0;
|
|
SvalS = val_859X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L34091: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L29678: {
|
|
if ((1 == (SvalS))) {
|
|
addr_860X = (((char *) (-3 + arg2_621X))) + 4;
|
|
S48_WRITE_BARRIER(arg2_621X, addr_860X, 273);
|
|
*((long *) addr_860X) = 273;
|
|
goto L29684;}
|
|
else {
|
|
if ((17 == (255 & (*((long *) ((((char *) (-3 + arg2_621X))) + 4)))))) {
|
|
addr_861X = (((char *) (-3 + arg2_621X))) + 4;
|
|
S48_WRITE_BARRIER(arg2_621X, addr_861X, 529);
|
|
*((long *) addr_861X) = 529;
|
|
goto L29684;}
|
|
else {
|
|
goto L29684;}}}
|
|
L29685: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_621X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L38709: {
|
|
val_862X = arg0K0;
|
|
SvalS = val_862X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L33214: {
|
|
SvalS = x_624X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L33265: {
|
|
okayP_863X = arg2K0;
|
|
key_864X = arg0K1;
|
|
if (okayP_863X) {
|
|
arg0K0 = key_864X;
|
|
goto L33231;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_864X;
|
|
goto L33231;}}
|
|
L34681: {
|
|
okayP_865X = arg2K0;
|
|
key_866X = arg0K1;
|
|
if (okayP_865X) {
|
|
arg0K0 = key_866X;
|
|
goto L34663;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_866X;
|
|
goto L34663;}}
|
|
L37553: {
|
|
okayP_867X = arg2K0;
|
|
key_868X = arg0K1;
|
|
if (okayP_867X) {
|
|
arg0K0 = key_868X;
|
|
goto L37483;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_868X;
|
|
goto L37483;}}
|
|
L37813: {
|
|
okayP_869X = arg2K0;
|
|
key_870X = arg0K1;
|
|
if (okayP_869X) {
|
|
arg0K0 = key_870X;
|
|
goto L37755;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_870X;
|
|
goto L37755;}}
|
|
L34166: {
|
|
okayP_871X = arg2K0;
|
|
key_872X = arg0K1;
|
|
if (okayP_871X) {
|
|
arg0K0 = key_872X;
|
|
goto L34148;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_872X;
|
|
goto L34148;}}
|
|
L33336: {
|
|
val_873X = arg0K0;
|
|
SvalS = val_873X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L8186: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + channel_641X))) + 16)));
|
|
goto L33336;}
|
|
L8192: {
|
|
ch_874X = arg0K0;
|
|
prev_875X = arg0K1;
|
|
if ((1 == ch_874X)) {
|
|
addr_876X = (((char *) (-3 + channel_641X))) + 16;
|
|
S48_WRITE_BARRIER(channel_641X, addr_876X, 1);
|
|
*((long *) addr_876X) = 1;
|
|
n_877X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_641X))) + 8))))>>2)));
|
|
arg0K0 = (((n_877X)<<2));
|
|
goto L33336;}
|
|
else {
|
|
if ((ch_874X == channel_641X)) {
|
|
y_878X = Spending_channels_tailS;
|
|
if ((ch_874X == y_878X)) {
|
|
Spending_channels_tailS = prev_875X;
|
|
goto L8216;}
|
|
else {
|
|
goto L8216;}}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + ch_874X))) + 12)));
|
|
arg0K1 = ch_874X;
|
|
goto L8192;}}}
|
|
L33319: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L14791: {
|
|
arg0K0 = (-1 + (Snumber_of_channelsS));
|
|
arg0K1 = 25;
|
|
goto L14798;}
|
|
L34782: {
|
|
okayP_879X = arg2K0;
|
|
key_880X = arg0K1;
|
|
if (okayP_879X) {
|
|
arg0K0 = key_880X;
|
|
goto L34736;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_880X;
|
|
goto L34736;}}
|
|
L35614: {
|
|
i_881X = arg0K0;
|
|
h_882X = arg0K1;
|
|
if ((i_881X < n_659X)) {
|
|
arg0K0 = (1 + i_881X);
|
|
arg0K1 = (h_882X + (((*((unsigned char *) ((((char *) (-3 + x_658X))) + i_881X))))));
|
|
goto L35614;}
|
|
else {
|
|
SvalS = (((h_882X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L35591: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L38777: {
|
|
SstackS = ((SstackS) + 4);
|
|
stob_883X = *((long *) (SstackS));
|
|
proc_884X = SvalS;
|
|
if ((3 == (3 & stob_883X))) {
|
|
if ((3 == (3 & proc_884X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_884X))) + -4))))>>2))))) {
|
|
addr_885X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_885X) = 2050;
|
|
x_886X = 3 + (((long) (addr_885X + 4)));
|
|
*((long *) (((char *) (-3 + x_886X)))) = stob_883X;
|
|
*((long *) ((((char *) (-3 + x_886X))) + 4)) = proc_884X;
|
|
b_887X = Sfinalizer_alistS;
|
|
addr_888X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_888X) = 2050;
|
|
x_889X = 3 + (((long) (addr_888X + 4)));
|
|
*((long *) (((char *) (-3 + x_889X)))) = x_886X;
|
|
*((long *) ((((char *) (-3 + x_889X))) + 4)) = b_887X;
|
|
Sfinalizer_alistS = x_889X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
goto L30697;}}
|
|
else {
|
|
goto L30697;}}
|
|
else {
|
|
goto L30697;}}
|
|
L33427: {
|
|
firstP_890X = arg2K0;
|
|
vector_891X = s48_find_all(type_669X);
|
|
if ((1 == vector_891X)) {
|
|
if (firstP_890X) {
|
|
collect_saving_temps(0, 0, &v_892X);
|
|
arg2K0 = 0;
|
|
goto L33427;}
|
|
else {
|
|
push_exception_continuationB(8, 1);
|
|
*((long *) (SstackS)) = (((type_669X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
else {
|
|
SvalS = vector_891X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L38827: {
|
|
firstP_893X = arg2K0;
|
|
type_894X = arg0K1;
|
|
vector_895X = s48_find_all_records(type_894X);
|
|
if ((1 == vector_895X)) {
|
|
if (firstP_893X) {
|
|
value_896X = collect_saving_temps(type_894X, 0, &v_897X);
|
|
arg2K0 = 0;
|
|
arg0K1 = value_896X;
|
|
goto L38827;}
|
|
else {
|
|
push_exception_continuationB(8, 1);
|
|
*((long *) (SstackS)) = type_894X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}}
|
|
else {
|
|
SvalS = vector_895X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L20584: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L19508: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L38868: {
|
|
SvalS = (((old_678X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L18466: {
|
|
SstackS = ((SstackS) + 4);
|
|
pc_898X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
tem_899X = *((long *) (SstackS));
|
|
StemplateS = tem_899X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_899X)))))))) + (((pc_898X)>>2)));
|
|
SstackS = ((SstackS) + 4);
|
|
SvalS = (*((long *) (SstackS)));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L37373: {
|
|
x_900X = s48_schedule_alarm_interrupt((((p_681X)>>2)));
|
|
SvalS = (((x_900X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L34310: {
|
|
if ((1 == (SvalS))) {
|
|
arg2K0 = 0;
|
|
goto L34314;}
|
|
else {
|
|
arg2K0 = 1;
|
|
goto L34314;}}
|
|
L34315: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_682X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L22803: {
|
|
rest_list_901X = arg0K0;
|
|
if ((25 == rest_list_901X)) {
|
|
proc_902X = *((long *) ((SstackS) + (((nargs_684X)<<2))));
|
|
name_903X = *((long *) ((SstackS) + (-4 + (((nargs_684X)<<2)))));
|
|
args_904X = (SstackS) + 4;
|
|
*((long *) (SstackS)) = (10 + (((nargs_684X)<<10)));
|
|
SstackS = ((SstackS) + -4);
|
|
if ((3 == (3 & name_903X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + name_903X))) + -4))))>>2))))) {
|
|
if ((3 == (3 & proc_902X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + proc_902X))) + -4))))>>2))))) {
|
|
if ((4 == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proc_902X))) + -4))))>>8)))) {
|
|
result_905X = s48_external_call(proc_902X, name_903X, (-2 + nargs_684X), args_904X);
|
|
if ((Sexternal_exceptionPS)) {
|
|
Sexternal_exceptionPS = 0;
|
|
arg0K0 = (Sexternal_exception_nargsS);
|
|
goto L16679;}
|
|
else {
|
|
SvalS = result_905X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
else {
|
|
goto L22863;}}
|
|
else {
|
|
goto L22863;}}
|
|
else {
|
|
goto L22863;}}
|
|
else {
|
|
goto L22863;}}
|
|
else {
|
|
goto L22863;}}
|
|
else {
|
|
*((long *) (SstackS)) = (*((long *) (((char *) (-3 + rest_list_901X)))));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = (*((long *) ((((char *) (-3 + rest_list_901X))) + 4)));
|
|
goto L22803;}}
|
|
L33536: {
|
|
okayP_906X = arg2K0;
|
|
key_907X = arg0K1;
|
|
if (okayP_906X) {
|
|
arg0K0 = key_907X;
|
|
goto L33502;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_907X;
|
|
goto L33502;}}
|
|
L23927: {
|
|
if ((1 == (SvalS))) {
|
|
arg0K0 = (Sexported_bindingsS);
|
|
goto L23960;}
|
|
else {
|
|
arg0K0 = (Simported_bindingsS);
|
|
goto L23960;}}
|
|
L23932: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_690X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L35525: {
|
|
option_908X = arg0K0;
|
|
seconds_909X = arg0K1;
|
|
mseconds_910X = arg0K2;
|
|
if ((536869 < seconds_909X)) {
|
|
push_exception_continuationB(6, 1);
|
|
*((long *) (SstackS)) = (((option_908X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((seconds_909X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mseconds_910X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
else {
|
|
SvalS = (((((1000 * seconds_909X) + mseconds_910X))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L38928: {
|
|
s48_Scallback_return_stack_blockS = arg2_704X;
|
|
return x_705X;}
|
|
L27864: {
|
|
val_911X = arg0K0;
|
|
SvalS = val_911X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L27831: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_706X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L33745: {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_912X = *((long *) (SstackS));
|
|
if ((0 == (3 & (SvalS)))) {
|
|
n_913X = (((SvalS))>>2);
|
|
if ((3 == (3 & arg2_912X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + arg2_912X))) + -4))))>>2))))) {
|
|
goto L27391;}
|
|
else {
|
|
goto L27343;}}
|
|
else {
|
|
goto L27343;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_912X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
L29333: {
|
|
list_914X = arg0K0;
|
|
slow_915X = arg0K1;
|
|
move_slowP_916X = arg2K2;
|
|
if ((25 == list_914X)) {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if ((3 == (3 & list_914X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + list_914X))) + -4))))>>2))))) {
|
|
head_917X = *((long *) (((char *) (-3 + list_914X))));
|
|
if ((3 == (3 & head_917X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + head_917X))) + -4))))>>2))))) {
|
|
if (((*((long *) (((char *) (-3 + head_917X))))) == thing_714X)) {
|
|
SvalS = head_917X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
list_918X = *((long *) ((((char *) (-3 + list_914X))) + 4));
|
|
if ((list_918X == slow_915X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = thing_714X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = list_715X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
if (move_slowP_916X) {
|
|
arg0K0 = list_918X;
|
|
arg0K1 = (*((long *) ((((char *) (-3 + slow_915X))) + 4)));
|
|
arg2K2 = 0;
|
|
goto L29333;}
|
|
else {
|
|
arg0K0 = list_918X;
|
|
arg0K1 = slow_915X;
|
|
arg2K2 = 1;
|
|
goto L29333;}}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = thing_714X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = list_715X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = thing_714X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = list_715X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = thing_714X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = list_715X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = thing_714X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = list_715X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}
|
|
L27537: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg3_717X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_716X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_718X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L27557: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_717X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_716X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_718X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L30838: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg4_722X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_721X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_723X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_724X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16679;}
|
|
L30860: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg4_722X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_721X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_723X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_724X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16679;}
|
|
L31089: {
|
|
if ((3 == (3 & arg5_730X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_730X))) + -4))))>>2))))) {
|
|
goto L31102;}
|
|
else {
|
|
goto L31097;}}
|
|
else {
|
|
goto L31097;}}
|
|
L31084: {
|
|
if ((3 == (3 & arg5_730X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_730X))) + -4))))>>2))))) {
|
|
goto L31089;}
|
|
else {
|
|
goto L31156;}}
|
|
else {
|
|
goto L31156;}}
|
|
L23059: {
|
|
port_919X = arg0K0;
|
|
if ((3 == (3 & port_919X))) {
|
|
if ((6 == (31 & ((((*((long *) ((((char *) (-3 + port_919X))) + -4))))>>2))))) {
|
|
if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_919X))) + 4))))>>2))))) {
|
|
goto L23119;}
|
|
else {
|
|
p_920X = *((long *) ((((char *) (-3 + port_919X))) + 24));
|
|
p_921X = *((long *) ((((char *) (-3 + port_919X))) + 28));
|
|
b_922X = *((long *) ((((char *) (-3 + port_919X))) + 20));
|
|
i_923X = ((p_920X)>>2);
|
|
x_924X = *((long *) ((((char *) (-3 + port_919X))) + 12));
|
|
if ((5 == x_924X)) {
|
|
goto L23099;}
|
|
else {
|
|
if ((i_923X == (((p_921X)>>2)))) {
|
|
goto L23099;}
|
|
else {
|
|
val_925X = 4 + (((i_923X)<<2));
|
|
addr_926X = (((char *) (-3 + port_919X))) + 24;
|
|
S48_WRITE_BARRIER(port_919X, addr_926X, val_925X);
|
|
*((long *) addr_926X) = val_925X;
|
|
SvalS = (9 + ((((((*((unsigned char *) ((((char *) (-3 + b_922X))) + i_923X))))))<<8)));
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}}}
|
|
else {
|
|
goto L23119;}}
|
|
else {
|
|
goto L23119;}}
|
|
L23279: {
|
|
port_927X = arg0K0;
|
|
if ((3 == (3 & port_927X))) {
|
|
if ((6 == (31 & ((((*((long *) ((((char *) (-3 + port_927X))) + -4))))>>2))))) {
|
|
if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_927X))) + 4))))>>2))))) {
|
|
goto L23339;}
|
|
else {
|
|
p_928X = *((long *) ((((char *) (-3 + port_927X))) + 24));
|
|
p_929X = *((long *) ((((char *) (-3 + port_927X))) + 28));
|
|
b_930X = *((long *) ((((char *) (-3 + port_927X))) + 20));
|
|
i_931X = ((p_928X)>>2);
|
|
x_932X = *((long *) ((((char *) (-3 + port_927X))) + 12));
|
|
if ((5 == x_932X)) {
|
|
goto L23319;}
|
|
else {
|
|
if ((i_931X == (((p_929X)>>2)))) {
|
|
goto L23319;}
|
|
else {
|
|
SvalS = (9 + ((((((*((unsigned char *) ((((char *) (-3 + b_930X))) + i_931X))))))<<8)));
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}}}
|
|
else {
|
|
goto L23339;}}
|
|
else {
|
|
goto L23339;}}
|
|
L23492: {
|
|
Kchar_933X = arg0K0;
|
|
port_934X = arg0K1;
|
|
if ((9 == (255 & Kchar_933X))) {
|
|
if ((3 == (3 & port_934X))) {
|
|
if ((6 == (31 & ((((*((long *) ((((char *) (-3 + port_934X))) + -4))))>>2))))) {
|
|
if ((0 == (8 & ((((*((long *) ((((char *) (-3 + port_934X))) + 4))))>>2))))) {
|
|
goto L23553;}
|
|
else {
|
|
p_935X = *((long *) ((((char *) (-3 + port_934X))) + 24));
|
|
b_936X = *((long *) ((((char *) (-3 + port_934X))) + 20));
|
|
i_937X = ((p_935X)>>2);
|
|
x_938X = *((long *) ((((char *) (-3 + port_934X))) + 12));
|
|
if ((5 == x_938X)) {
|
|
goto L23535;}
|
|
else {
|
|
if ((i_937X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + b_936X))) + -4))))>>8)))) {
|
|
goto L23535;}
|
|
else {
|
|
val_939X = 4 + (((i_937X)<<2));
|
|
addr_940X = (((char *) (-3 + port_934X))) + 24;
|
|
S48_WRITE_BARRIER(port_934X, addr_940X, val_939X);
|
|
*((long *) addr_940X) = val_939X;
|
|
*((unsigned char *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + port_934X))) + 20)))))) + i_937X)) = (((((Kchar_933X)>>8))));
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}}}
|
|
else {
|
|
goto L23553;}}
|
|
else {
|
|
goto L23553;}}
|
|
else {
|
|
goto L23553;}}
|
|
L29586: {
|
|
stuff_941X = arg0K0;
|
|
if ((3 == (3 & stuff_941X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + stuff_941X))) + -4))))>>2))))) {
|
|
thing_942X = *((long *) (((char *) (-3 + stuff_941X))));
|
|
if ((0 == (3 & thing_942X))) {
|
|
ps_write_integer((((thing_942X)>>2)), out_742X);
|
|
goto L29592;}
|
|
else {
|
|
if ((9 == (255 & thing_942X))) {
|
|
ps_write_string("#\\", out_742X);
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(((((thing_942X)>>8))), out_742X, ignoreXX) }
|
|
goto L29592;}
|
|
else {
|
|
if ((3 == (3 & thing_942X))) {
|
|
if ((8 == (31 & ((((*((long *) ((((char *) (-3 + thing_942X))) + -4))))>>2))))) {
|
|
if ((0 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_942X))) + -4))))>>8))))>>2)))) {
|
|
type_943X = *((long *) (((char *) (-3 + thing_942X))));
|
|
if ((3 == (3 & type_943X))) {
|
|
if ((8 == (31 & ((((*((long *) ((((char *) (-3 + type_943X))) + -4))))>>2))))) {
|
|
if ((2 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + type_943X))) + -4))))>>8))))>>2)))) {
|
|
obj_944X = *((long *) ((((char *) (-3 + type_943X))) + 8));
|
|
if ((3 == (3 & obj_944X))) {
|
|
if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_944X))) + -4))))>>2))))) {
|
|
ps_write_string("#{", out_742X);
|
|
ps_write_string((((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + thing_942X)))))))) + 8))))))))))))), out_742X);
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(125, out_742X, ignoreXX) }
|
|
goto L29592;}
|
|
else {
|
|
goto L11664;}}
|
|
else {
|
|
goto L11664;}}
|
|
else {
|
|
goto L11664;}}
|
|
else {
|
|
goto L11664;}}
|
|
else {
|
|
goto L11664;}}
|
|
else {
|
|
goto L11664;}}
|
|
else {
|
|
goto L11664;}}
|
|
else {
|
|
goto L11664;}}}}
|
|
else {
|
|
goto L29577;}}
|
|
else {
|
|
goto L29577;}}
|
|
L16738: {
|
|
SvalS = (*((long *) ((((char *) (-3 + (Sexception_handlersS)))) + (((opcode_744X)<<2)))));
|
|
obj_945X = SvalS;
|
|
if ((3 == (3 & obj_945X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_945X))) + -4))))>>2))))) {
|
|
goto L16755;}
|
|
else {
|
|
goto L16825;}}
|
|
else {
|
|
goto L16825;}}
|
|
L16811: {
|
|
merged_arg3K0 = "exception-handlers is not a vector";
|
|
loseD0_return_tag = 0;
|
|
goto loseD0;
|
|
loseD0_return_0:
|
|
goto L16738;}
|
|
L21052: {
|
|
okayP_946X = arg2K0;
|
|
key_947X = arg0K1;
|
|
if (okayP_946X) {
|
|
arg0K0 = key_947X;
|
|
goto L20980;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_947X;
|
|
goto L20980;}}
|
|
L21010: {
|
|
okayP_948X = arg2K0;
|
|
temp_949X = arg0K1;
|
|
if (okayP_948X) {
|
|
arg0K0 = temp_949X;
|
|
goto L20991;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = temp_949X;
|
|
goto L20991;}}
|
|
L20794: {
|
|
start_i_950X = arg0K0;
|
|
arg0K0 = start_i_950X;
|
|
arg0K1 = 2;
|
|
arg0K2 = (SenvS);
|
|
goto L20802;}
|
|
L20694: {
|
|
key_951X = arg0K0;
|
|
if ((1 == (ScontS))) {
|
|
arg0K0 = 1;
|
|
goto L20698;}
|
|
else {
|
|
merged_arg0K0 = key_951X;
|
|
merged_arg0K1 = 2;
|
|
really_preserve_continuation_return_tag = 0;
|
|
goto really_preserve_continuation;
|
|
really_preserve_continuation_return_0:
|
|
v_952X = really_preserve_continuation0_return_value;
|
|
arg0K0 = v_952X;
|
|
goto L20698;}}
|
|
L19877: {
|
|
SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8);
|
|
*((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = 1;
|
|
ScontS = (Sbottom_of_stackS);
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = cont_403X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L19177: {
|
|
v_953X = arg0K0;
|
|
merged_arg0K0 = v_953X;
|
|
copy_stack_into_heap_return_tag = 0;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_0:
|
|
if (((SstackS) < (Sstack_limitS))) {
|
|
ps_error("Couldn't get default procedure space (how can this happen?)", 0);
|
|
goto L19134;}
|
|
else {
|
|
goto L19134;}}
|
|
L16908: {
|
|
stack_arg_count_954X = arg0K0;
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (StemplateS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((((Scode_pointerS) - (((char *) (-3 + (*((long *) (((char *) (-3 + (StemplateS)))))))))))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = ((((Senabled_interruptsS))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
tem_955X = Sinterrupt_templateS;
|
|
StemplateS = tem_955X;
|
|
Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_955X))))))));
|
|
push_continuationB((Scode_pointerS), (4 + stack_arg_count_954X));
|
|
n_956X = (Spending_interruptsS) & (Senabled_interruptsS);
|
|
arg0K0 = 0;
|
|
arg0K1 = 1;
|
|
goto L17013;}
|
|
L19138: {
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L16094: {
|
|
protocol_957X = arg0K0;
|
|
stack_space_958X = arg0K1;
|
|
if ((68 == protocol_957X)) {
|
|
if ((stack_arg_count_775X < 3)) {
|
|
skip_959X = *((unsigned char *) ((((char *) (-3 + code_776X))) + (2 + stack_arg_count_775X)));
|
|
if ((0 == skip_959X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_775X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}
|
|
else {
|
|
arg0K0 = skip_959X;
|
|
arg0K1 = stack_arg_count_775X;
|
|
goto L16098;}}
|
|
else {
|
|
skip_960X = *((unsigned char *) ((((char *) (-3 + code_776X))) + 5));
|
|
if ((0 == skip_960X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_775X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}
|
|
else {
|
|
arg0K0 = skip_960X;
|
|
goto L16121;}}}
|
|
else {
|
|
if ((67 == protocol_957X)) {
|
|
if ((stack_arg_count_775X < (*((unsigned char *) ((((char *) (-3 + code_776X))) + 2))))) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_775X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}
|
|
else {
|
|
arg0K0 = 3;
|
|
goto L16121;}}
|
|
else {
|
|
if ((65 == protocol_957X)) {
|
|
wants_stack_args_961X = ((((*((unsigned char *) ((((char *) (-3 + code_776X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_776X))) + 3)));
|
|
if ((stack_arg_count_775X < wants_stack_args_961X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_775X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}
|
|
else {
|
|
merged_arg0K0 = wants_stack_args_961X;
|
|
merged_arg0K1 = stack_arg_count_775X;
|
|
merged_arg0K2 = 25;
|
|
merged_arg0K3 = 0;
|
|
rest_list_setup_return_tag = 0;
|
|
goto rest_list_setup;
|
|
rest_list_setup_return_0:
|
|
arg0K0 = 4;
|
|
arg0K1 = (1 + wants_stack_args_961X);
|
|
goto L16098;}}
|
|
else {
|
|
if ((63 < protocol_957X)) {
|
|
if ((64 == protocol_957X)) {
|
|
if (((((((*((unsigned char *) ((((char *) (-3 + code_776X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_776X))) + 3)))) == stack_arg_count_775X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_775X;
|
|
goto L16098;}
|
|
else {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_775X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}
|
|
else {
|
|
if ((66 == protocol_957X)) {
|
|
length_962X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_776X))) + -4))))>>8);
|
|
index_963X = -2 + length_962X;
|
|
arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_776X))) + (-3 + length_962X))));
|
|
arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_776X))) + index_963X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_776X))) + (1 + index_963X)))));
|
|
goto L16094;}
|
|
else {
|
|
ps_error("unknown protocol", 1, protocol_957X);
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_775X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}}
|
|
else {
|
|
if ((protocol_957X == stack_arg_count_775X)) {
|
|
arg0K0 = 2;
|
|
arg0K1 = stack_arg_count_775X;
|
|
goto L16098;}
|
|
else {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_775X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17175;}}}}}}
|
|
L16371: {
|
|
protocol_964X = arg0K0;
|
|
stack_space_965X = arg0K1;
|
|
if ((68 == protocol_964X)) {
|
|
if ((total_arg_count_794X < 3)) {
|
|
skip_966X = *((unsigned char *) ((((char *) (-3 + code_793X))) + (2 + total_arg_count_794X)));
|
|
if ((0 == skip_966X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = list_args_789X;
|
|
arg0K3 = list_arg_count_790X;
|
|
goto L17175;}
|
|
else {
|
|
merged_arg0K0 = list_args_789X;
|
|
merged_arg0K1 = list_arg_count_790X;
|
|
push_list_return_tag = 0;
|
|
goto push_list;
|
|
push_list_return_0:
|
|
arg0K0 = skip_966X;
|
|
arg0K1 = total_arg_count_794X;
|
|
goto L16375;}}
|
|
else {
|
|
skip_967X = *((unsigned char *) ((((char *) (-3 + code_793X))) + 5));
|
|
if ((0 == skip_967X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = list_args_789X;
|
|
arg0K3 = list_arg_count_790X;
|
|
goto L17175;}
|
|
else {
|
|
arg0K0 = skip_967X;
|
|
goto L16400;}}}
|
|
else {
|
|
if ((67 == protocol_964X)) {
|
|
if ((total_arg_count_794X < (*((unsigned char *) ((((char *) (-3 + code_793X))) + 2))))) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = list_args_789X;
|
|
arg0K3 = list_arg_count_790X;
|
|
goto L17175;}
|
|
else {
|
|
arg0K0 = 3;
|
|
goto L16400;}}
|
|
else {
|
|
if ((63 < protocol_964X)) {
|
|
if ((65 == protocol_964X)) {
|
|
wants_stack_args_968X = ((((*((unsigned char *) ((((char *) (-3 + code_793X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_793X))) + 3)));
|
|
if ((total_arg_count_794X < wants_stack_args_968X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = list_args_789X;
|
|
arg0K3 = list_arg_count_790X;
|
|
goto L17175;}
|
|
else {
|
|
merged_arg0K0 = wants_stack_args_968X;
|
|
merged_arg0K1 = stack_arg_count_788X;
|
|
merged_arg0K2 = list_args_789X;
|
|
merged_arg0K3 = list_arg_count_790X;
|
|
rest_list_setup_return_tag = 1;
|
|
goto rest_list_setup;
|
|
rest_list_setup_return_1:
|
|
arg0K0 = 4;
|
|
arg0K1 = (1 + wants_stack_args_968X);
|
|
goto L16375;}}
|
|
else {
|
|
if ((64 == protocol_964X)) {
|
|
if (((((((*((unsigned char *) ((((char *) (-3 + code_793X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_793X))) + 3)))) == total_arg_count_794X)) {
|
|
merged_arg0K0 = list_args_789X;
|
|
merged_arg0K1 = list_arg_count_790X;
|
|
push_list_return_tag = 1;
|
|
goto push_list;
|
|
push_list_return_1:
|
|
arg0K0 = 4;
|
|
arg0K1 = total_arg_count_794X;
|
|
goto L16375;}
|
|
else {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = list_args_789X;
|
|
arg0K3 = list_arg_count_790X;
|
|
goto L17175;}}
|
|
else {
|
|
if ((66 == protocol_964X)) {
|
|
length_969X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_793X))) + -4))))>>8);
|
|
index_970X = -2 + length_969X;
|
|
arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_793X))) + (-3 + length_969X))));
|
|
arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_793X))) + index_970X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_793X))) + (1 + index_970X)))));
|
|
goto L16371;}
|
|
else {
|
|
ps_error("unknown protocol", 1, protocol_964X);
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = list_args_789X;
|
|
arg0K3 = list_arg_count_790X;
|
|
goto L17175;}}}}
|
|
else {
|
|
if ((protocol_964X == total_arg_count_794X)) {
|
|
merged_arg0K0 = list_args_789X;
|
|
merged_arg0K1 = list_arg_count_790X;
|
|
push_list_return_tag = 2;
|
|
goto push_list;
|
|
push_list_return_2:
|
|
arg0K0 = 2;
|
|
arg0K1 = total_arg_count_794X;
|
|
goto L16375;}
|
|
else {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_788X;
|
|
arg0K2 = list_args_789X;
|
|
arg0K3 = list_arg_count_790X;
|
|
goto L17175;}}}}}
|
|
L20452: {
|
|
cont_971X = arg0K0;
|
|
if ((3 == (3 & cont_971X))) {
|
|
if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_971X))) + -4))))>>2))))) {
|
|
next_op_972X = *((unsigned char *) ((((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + cont_971X))) + 8))))))))))) + ((((*((long *) ((((char *) (-3 + cont_971X))) + 4))))>>2))));
|
|
if ((34 == next_op_972X)) {
|
|
pop_continuationB_return_tag = 2;
|
|
goto pop_continuationB;
|
|
pop_continuationB_return_2:
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if ((30 == next_op_972X)) {
|
|
next_973X = *((long *) (((char *) (-3 + (ScontS)))));
|
|
if (((ScontS) == (Sbottom_of_stackS))) {
|
|
*((long *) (((char *) (-3 + (ScontS))))) = (*((long *) (((char *) (-3 + next_973X)))));
|
|
goto L19296;}
|
|
else {
|
|
ScontS = next_973X;
|
|
goto L19296;}}
|
|
else {
|
|
merged_arg0K0 = list_args_806X;
|
|
merged_arg0K1 = stack_nargs_805X;
|
|
pop_args_GlistS_return_tag = 3;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_3:
|
|
args_974X = pop_args_GlistS0_return_value;
|
|
push_exception_continuationB(4, 0);
|
|
*((long *) (SstackS)) = 1;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = args_974X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}
|
|
else {
|
|
goto L20458;}}
|
|
else {
|
|
goto L20458;}}
|
|
L18946: {
|
|
v_975X = arg0K0;
|
|
merged_arg0K0 = v_975X;
|
|
copy_stack_into_heap_return_tag = 1;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_1:
|
|
if (((SstackS) < (Sstack_limitS))) {
|
|
ps_error("Couldn't get default procedure space (how can this happen?)", 0);
|
|
goto L18831;}
|
|
else {
|
|
goto L18831;}}
|
|
L18840: {
|
|
arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 3)));
|
|
goto L16908;}
|
|
L18843: {
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L19001: {
|
|
v_976X = arg0K0;
|
|
merged_arg0K0 = v_976X;
|
|
copy_stack_into_heap_return_tag = 2;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_2:
|
|
if ((space_437X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L18831;}
|
|
else {
|
|
ps_error("VM's stack is too small (how can this happen?)", 0);
|
|
goto L18831;}}
|
|
L10641: {
|
|
if ((3 == (3 & x_457X))) {
|
|
if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_457X))) + -4))))>>2))))) {
|
|
arg0K0 = 5;
|
|
goto L38249;}
|
|
else {
|
|
goto L10647;}}
|
|
else {
|
|
goto L10647;}}
|
|
L28418: {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L28559: {
|
|
if ((3 == (3 & n_459X))) {
|
|
if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) {
|
|
goto L28570;}
|
|
else {
|
|
goto L28571;}}
|
|
else {
|
|
goto L28571;}}
|
|
L28758: {
|
|
if ((3 == (3 & n_460X))) {
|
|
if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) {
|
|
goto L28769;}
|
|
else {
|
|
goto L28770;}}
|
|
else {
|
|
goto L28770;}}
|
|
L28957: {
|
|
if ((3 == (3 & n_461X))) {
|
|
if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_461X))) + -4))))>>2))))) {
|
|
goto L28968;}
|
|
else {
|
|
goto L28969;}}
|
|
else {
|
|
goto L28969;}}
|
|
L6792: {
|
|
b_977X = arg0K0;
|
|
lo_a_978X = 65535 & a_819X;
|
|
lo_b_979X = 65535 & b_977X;
|
|
hi_a_980X = 65535 & (((a_819X)>>16));
|
|
hi_b_981X = 65535 & (((b_977X)>>16));
|
|
lo_c_982X = SMALL_MULTIPLY(lo_a_978X, lo_b_979X);
|
|
v_983X = SMALL_MULTIPLY(lo_b_979X, hi_a_980X);
|
|
v_984X = SMALL_MULTIPLY(lo_a_978X, hi_b_981X);
|
|
mid_c_985X = v_984X + v_983X;
|
|
c_986X = lo_c_982X + (((mid_c_985X)<<16));
|
|
if ((0 < hi_a_980X)) {
|
|
if ((0 < hi_b_981X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_469X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
goto L6834;}}
|
|
else {
|
|
goto L6834;}}
|
|
L7073: {
|
|
b_987X = arg0K0;
|
|
c_988X = a_820X / b_987X;
|
|
x_989X = 0 == (a_820X % b_987X);
|
|
if (x_989X) {
|
|
if ((a_477X < 0)) {
|
|
if ((b_478X < 0)) {
|
|
goto L7128;}
|
|
else {
|
|
goto L7127;}}
|
|
else {
|
|
if ((b_478X < 0)) {
|
|
goto L7127;}
|
|
else {
|
|
goto L7128;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_475X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_476X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
L7250: {
|
|
b_990X = arg0K0;
|
|
c_991X = a_826X / b_990X;
|
|
if ((a_491X < 0)) {
|
|
if ((b_492X < 0)) {
|
|
goto L7296;}
|
|
else {
|
|
goto L7295;}}
|
|
else {
|
|
if ((b_492X < 0)) {
|
|
goto L7295;}
|
|
else {
|
|
goto L7296;}}}
|
|
L25362: {
|
|
b_992X = arg0K0;
|
|
c_993X = a_827X % b_992X;
|
|
if ((a_495X < 0)) {
|
|
arg0K0 = (0 - c_993X);
|
|
goto L25366;}
|
|
else {
|
|
arg0K0 = c_993X;
|
|
goto L25366;}}
|
|
L21350: {
|
|
SvalS = new_838X;
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L21334: {
|
|
i_994X = arg0K0;
|
|
if ((i_994X < 0)) {
|
|
goto L21350;}
|
|
else {
|
|
SstackS = ((SstackS) + 4);
|
|
*((long *) ((((char *) (-3 + new_838X))) + (((i_994X)<<2)))) = (*((long *) (SstackS)));
|
|
arg0K0 = (-1 + i_994X);
|
|
goto L21334;}}
|
|
L21519: {
|
|
i_995X = arg0K0;
|
|
if ((i_995X < 0)) {
|
|
arg0K0 = stack_nargs_843X;
|
|
arg0K1 = rest_list_844X;
|
|
goto L21537;}
|
|
else {
|
|
SstackS = ((SstackS) + 4);
|
|
*((long *) ((((char *) (-3 + new_842X))) + (((i_995X)<<2)))) = (*((long *) (SstackS)));
|
|
arg0K0 = (-1 + i_995X);
|
|
goto L21519;}}
|
|
L22042: {
|
|
i_996X = arg0K0;
|
|
if ((i_996X < 0)) {
|
|
SvalS = value_849X;
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
addr_997X = (((char *) (-3 + value_849X))) + (((i_996X)<<2));
|
|
S48_WRITE_BARRIER(value_849X, addr_997X, init_846X);
|
|
*((long *) addr_997X) = init_846X;
|
|
arg0K0 = (-1 + i_996X);
|
|
goto L22042;}}
|
|
L26137: {
|
|
i_998X = arg0K0;
|
|
if ((i_998X < 0)) {
|
|
SvalS = vector_851X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
*((unsigned char *) ((((char *) (-3 + vector_851X))) + i_998X)) = init_585X;
|
|
arg0K0 = (-1 + i_998X);
|
|
goto L26137;}}
|
|
L26371: {
|
|
i_999X = arg0K0;
|
|
if ((i_999X < 0)) {
|
|
SvalS = string_854X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
*((unsigned char *) ((((char *) (-3 + string_854X))) + i_999X)) = (init_601X);
|
|
arg0K0 = (-1 + i_999X);
|
|
goto L26371;}}
|
|
L13347: {
|
|
i_1000X = arg0K0;
|
|
h_1001X = arg0K1;
|
|
if ((i_1000X < n_858X)) {
|
|
arg0K0 = (1 + i_1000X);
|
|
arg0K1 = (h_1001X + (((*((unsigned char *) ((((char *) (-3 + string_857X))) + i_1000X))))));
|
|
goto L13347;}
|
|
else {
|
|
index_1002X = 1023 & h_1001X;
|
|
bucket_1003X = *((long *) ((((char *) (-3 + table_856X))) + (((index_1002X)<<2))));
|
|
arg0K0 = bucket_1003X;
|
|
goto L13315;}}
|
|
L24510: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L29684: {
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L33231: {
|
|
key_1004X = arg0K0;
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_1005X = *((long *) (SstackS));
|
|
if ((0 == (3 & (SvalS)))) {
|
|
mode_1006X = (((SvalS))>>2);
|
|
if ((1 == mode_1006X)) {
|
|
goto L26795;}
|
|
else {
|
|
if ((2 == mode_1006X)) {
|
|
goto L26795;}
|
|
else {
|
|
if ((3 == mode_1006X)) {
|
|
goto L26795;}
|
|
else {
|
|
if ((4 == mode_1006X)) {
|
|
goto L26795;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1006X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
L34663: {
|
|
key_1007X = arg0K0;
|
|
obj_1008X = SvalS;
|
|
if ((3 == (3 & obj_1008X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1008X))) + -4))))>>2))))) {
|
|
channel_1009X = SvalS;
|
|
if ((0 == (*((long *) (((char *) (-3 + channel_1009X))))))) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = channel_1009X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
else {
|
|
status_1010X = close_channelB(channel_1009X);
|
|
if ((status_1010X == NO_ERRORS)) {
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(25, 1);
|
|
*((long *) (SstackS)) = channel_1009X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1010X;
|
|
merged_arg0K1 = key_1007X;
|
|
get_error_string_return_tag = 0;
|
|
goto get_error_string;
|
|
get_error_string_return_0:
|
|
x_1011X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1011X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}
|
|
else {
|
|
goto L34671;}}
|
|
else {
|
|
goto L34671;}}
|
|
L37483: {
|
|
key_1012X = arg0K0;
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_1013X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_1014X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg4_1015X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg5_1016X = *((long *) (SstackS));
|
|
if ((0 == (3 & (arg4_1015X | arg3_1014X)))) {
|
|
if ((1 == arg2_1013X)) {
|
|
goto L37515;}
|
|
else {
|
|
if ((5 == arg2_1013X)) {
|
|
goto L37515;}
|
|
else {
|
|
goto L37535;}}}
|
|
else {
|
|
goto L37535;}}
|
|
L37755: {
|
|
key_1017X = arg0K0;
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_1018X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_1019X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg4_1020X = *((long *) (SstackS));
|
|
if ((0 == (3 & (arg3_1019X | arg2_1018X)))) {
|
|
obj_1021X = SvalS;
|
|
if ((3 == (3 & obj_1021X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1021X))) + -4))))>>2))))) {
|
|
start_1022X = ((arg3_1019X)>>2);
|
|
count_1023X = ((arg2_1018X)>>2);
|
|
channel_1024X = SvalS;
|
|
v_1025X = 8 == (*((long *) (((char *) (-3 + channel_1024X)))));
|
|
if (v_1025X) {
|
|
if ((3 == (3 & arg4_1020X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1020X))) + -4))))>>2))))) {
|
|
goto L37066;}
|
|
else {
|
|
goto L37058;}}
|
|
else {
|
|
goto L37058;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36949;}}
|
|
else {
|
|
goto L37797;}}
|
|
else {
|
|
goto L37797;}}
|
|
else {
|
|
goto L37797;}}
|
|
L34148: {
|
|
key_1026X = arg0K0;
|
|
obj_1027X = SvalS;
|
|
if ((3 == (3 & obj_1027X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1027X))) + -4))))>>2))))) {
|
|
channel_1028X = SvalS;
|
|
if ((0 == (*((long *) (((char *) (-3 + channel_1028X))))))) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = channel_1028X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
else {
|
|
readyP_1029X = ps_check_fd(((((*((long *) ((((char *) (-3 + channel_1028X))) + 8))))>>2)), (4 == (*((long *) (((char *) (-3 + channel_1028X)))))), &status_1030X);
|
|
if ((status_1030X == NO_ERRORS)) {
|
|
if (readyP_1029X) {
|
|
arg0K0 = 5;
|
|
goto L29270;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L29270;}}
|
|
else {
|
|
push_exception_continuationB(25, 1);
|
|
*((long *) (SstackS)) = channel_1028X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1030X;
|
|
merged_arg0K1 = key_1026X;
|
|
get_error_string_return_tag = 1;
|
|
goto get_error_string;
|
|
get_error_string_return_1:
|
|
x_1031X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1031X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}
|
|
else {
|
|
goto L34156;}}
|
|
else {
|
|
goto L34156;}}
|
|
L8216: {
|
|
val_1032X = *((long *) ((((char *) (-3 + ch_874X))) + 12));
|
|
addr_1033X = (((char *) (-3 + prev_875X))) + 12;
|
|
S48_WRITE_BARRIER(prev_875X, addr_1033X, val_1032X);
|
|
*((long *) addr_1033X) = val_1032X;
|
|
addr_1034X = (((char *) (-3 + ch_874X))) + 12;
|
|
S48_WRITE_BARRIER(ch_874X, addr_1034X, 1);
|
|
*((long *) addr_1034X) = 1;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + ch_874X))) + 16)));
|
|
goto L33336;}
|
|
L14798: {
|
|
i_1035X = arg0K0;
|
|
res_1036X = arg0K1;
|
|
if ((-1 == i_1035X)) {
|
|
SvalS = res_1036X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
channel_1037X = *((Svm_channelsS) + i_1035X);
|
|
if ((3 == (3 & channel_1037X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + channel_1037X))) + -4))))>>2))))) {
|
|
addr_1038X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_1038X) = 2050;
|
|
x_1039X = 3 + (((long) (addr_1038X + 4)));
|
|
*((long *) (((char *) (-3 + x_1039X)))) = channel_1037X;
|
|
*((long *) ((((char *) (-3 + x_1039X))) + 4)) = res_1036X;
|
|
arg0K0 = x_1039X;
|
|
goto L14812;}
|
|
else {
|
|
arg0K0 = res_1036X;
|
|
goto L14812;}}
|
|
else {
|
|
arg0K0 = res_1036X;
|
|
goto L14812;}}}
|
|
L34736: {
|
|
key_1040X = arg0K0;
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_1041X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_1042X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg3_1042X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1042X))) + -4))))>>2))))) {
|
|
obj_1043X = SvalS;
|
|
if ((3 == (3 & obj_1043X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1043X))) + -4))))>>2))))) {
|
|
comment_string_1044X = SvalS;
|
|
x_1045X = s48_image_writing_okayP();
|
|
if (x_1045X) {
|
|
port_1046X = ps_open_output_file((((char *)(((char *) (-3 + arg3_1042X))))), &status_1047X);
|
|
if ((status_1047X == NO_ERRORS)) {
|
|
status_1048X = ps_write_string((((char *)(((char *) (-3 + comment_string_1044X))))), port_1046X);
|
|
if ((status_1048X == NO_ERRORS)) {
|
|
status_1049X = s48_write_image(arg2_1041X, port_1046X);
|
|
if ((status_1049X == NO_ERRORS)) {
|
|
status_1050X = ps_close(port_1046X);
|
|
if ((status_1050X == NO_ERRORS)) {
|
|
undumpables_1051X = s48_undumpable_records(&undumpable_count_1052X);
|
|
if ((0 == undumpable_count_1052X)) {
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
push_exception_continuationB(26, 1);
|
|
*((long *) (SstackS)) = arg3_1042X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1041X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = comment_string_1044X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = undumpables_1051X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((undumpable_count_1052X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16679;}}
|
|
else {
|
|
arg0K0 = 25;
|
|
arg0K1 = status_1050X;
|
|
goto L30318;}}
|
|
else {
|
|
status_1053X = ps_close(port_1046X);
|
|
if ((status_1053X == NO_ERRORS)) {
|
|
arg0K0 = 25;
|
|
arg0K1 = status_1049X;
|
|
goto L30318;}
|
|
else {
|
|
ps_write_string("Unable to close image file", (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
arg0K0 = 25;
|
|
arg0K1 = status_1049X;
|
|
goto L30318;}}}
|
|
else {
|
|
status_1054X = ps_close(port_1046X);
|
|
if ((status_1054X == NO_ERRORS)) {
|
|
arg0K0 = 25;
|
|
arg0K1 = status_1048X;
|
|
goto L30318;}
|
|
else {
|
|
ps_write_string("Unable to close image file", (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
arg0K0 = 25;
|
|
arg0K1 = status_1048X;
|
|
goto L30318;}}}
|
|
else {
|
|
arg0K0 = 10;
|
|
arg0K1 = status_1047X;
|
|
goto L30318;}}
|
|
else {
|
|
push_exception_continuationB(15, 1);
|
|
*((long *) (SstackS)) = arg3_1042X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1041X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = comment_string_1044X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}}
|
|
else {
|
|
goto L34768;}}
|
|
else {
|
|
goto L34768;}}
|
|
else {
|
|
goto L34768;}}
|
|
else {
|
|
goto L34768;}}
|
|
L30697: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = stob_883X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = proc_884X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L34314: {
|
|
minutesP_1055X = arg2K0;
|
|
if ((s48_Spending_interruptPS)) {
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_eventsPS = 0;
|
|
check_events_return_tag = 2;
|
|
goto check_events;
|
|
check_events_return_2:
|
|
temp_1056X = check_events0_return_value;
|
|
if (temp_1056X) {
|
|
goto L34340;}
|
|
else {
|
|
goto L34345;}}
|
|
else {
|
|
goto L34340;}}
|
|
else {
|
|
goto L34345;}}
|
|
L22863: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = proc_902X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = name_903X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L33502: {
|
|
key_1057X = arg0K0;
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_1058X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_1058X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1058X))) + -4))))>>2))))) {
|
|
x_1059X = SvalS;
|
|
if ((1 == x_1059X)) {
|
|
goto L33519;}
|
|
else {
|
|
if ((5 == x_1059X)) {
|
|
goto L33519;}
|
|
else {
|
|
goto L33524;}}}
|
|
else {
|
|
goto L33524;}}
|
|
else {
|
|
goto L33524;}}
|
|
L23960: {
|
|
table_1060X = arg0K0;
|
|
n_1061X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_690X))) + -4))))>>8));
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L12894;}
|
|
L27391: {
|
|
len_1062X = 1 + n_913X;
|
|
addr_1063X = ALLOCATE_SPACE(16, (4 + len_1062X));
|
|
*((long *) addr_1063X) = (66 + (((len_1062X)<<8)));
|
|
string_1064X = 3 + (((long) (addr_1063X + 4)));
|
|
*((unsigned char *) ((((char *) (-3 + string_1064X))) + n_913X)) = 0;
|
|
arg0K0 = arg2_912X;
|
|
arg0K1 = (-1 + n_913X);
|
|
goto L27368;}
|
|
L27343: {
|
|
if ((25 == arg2_912X)) {
|
|
goto L27391;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_912X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((n_913X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
L31102: {
|
|
if ((from_index_731X < 0)) {
|
|
goto L31156;}
|
|
else {
|
|
if ((to_index_732X < 0)) {
|
|
goto L31156;}
|
|
else {
|
|
if ((count_733X < 0)) {
|
|
goto L31156;}
|
|
else {
|
|
if ((3 == (3 & arg5_730X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_730X))) + -4))))>>2))))) {
|
|
arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_730X))) + -4))))>>8)));
|
|
goto L31123;}
|
|
else {
|
|
goto L31119;}}
|
|
else {
|
|
goto L31119;}}}}}
|
|
L31097: {
|
|
if ((3 == (3 & arg5_730X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_730X))) + -4))))>>2))))) {
|
|
goto L31102;}
|
|
else {
|
|
goto L31156;}}
|
|
else {
|
|
goto L31156;}}
|
|
L31156: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg5_730X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((from_index_731X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_728X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((to_index_732X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((count_733X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16679;}
|
|
L23119: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = port_919X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L23099: {
|
|
push_exception_continuationB(14, 2);
|
|
*((long *) (SstackS)) = port_919X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L23339: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = port_927X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L23319: {
|
|
push_exception_continuationB(14, 2);
|
|
*((long *) (SstackS)) = port_927X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L23553: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = Kchar_933X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = port_934X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L23535: {
|
|
push_exception_continuationB(14, 2);
|
|
*((long *) (SstackS)) = Kchar_933X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = port_934X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L29592: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + stuff_941X))) + 4)));
|
|
goto L29586;}
|
|
L11664: {
|
|
if ((3 == (3 & thing_942X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + thing_942X))) + -4))))>>2))))) {
|
|
arg3K0 = (((char *)(((char *) (-3 + thing_942X)))));
|
|
goto L11706;}
|
|
else {
|
|
goto L11672;}}
|
|
else {
|
|
goto L11672;}}
|
|
L29577: {
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, out_742X, ignoreXX) }
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L16755: {
|
|
StemplateS = (SvalS);
|
|
Slosing_opcodeS = opcode_744X;
|
|
arg0K0 = (2 + nargs_743X);
|
|
goto L16080;}
|
|
L16825: {
|
|
merged_arg3K0 = "exception handler is not a closure";
|
|
loseD0_return_tag = 1;
|
|
goto loseD0;
|
|
loseD0_return_1:
|
|
goto L16755;}
|
|
L20980: {
|
|
key_1065X = arg0K0;
|
|
p_1066X = SenvS;
|
|
if ((3 == (3 & p_1066X))) {
|
|
if ((p_1066X < (((long) (Sstack_beginS))))) {
|
|
goto L21075;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_1066X)) {
|
|
goto L21075;}
|
|
else {
|
|
merged_arg0K0 = (SenvS);
|
|
merged_arg0K1 = (ScontS);
|
|
merged_arg0K2 = key_1065X;
|
|
merged_arg0K3 = 0;
|
|
save_env_in_heap_return_tag = 0;
|
|
goto save_env_in_heap;
|
|
save_env_in_heap_return_0:
|
|
v_1067X = save_env_in_heap0_return_value;
|
|
SenvS = v_1067X;
|
|
goto L21075;}}}
|
|
else {
|
|
goto L21075;}}
|
|
L20991: {
|
|
env_1068X = arg0K0;
|
|
a_1069X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
|
|
addr_1070X = ALLOCATE_SPACE(3, 12);
|
|
*((long *) addr_1070X) = 2062;
|
|
x_1071X = 3 + (((long) (addr_1070X + 4)));
|
|
*((long *) (((char *) (-3 + x_1071X)))) = a_1069X;
|
|
*((long *) ((((char *) (-3 + x_1071X))) + 4)) = env_1068X;
|
|
if ((3 == (3 & x_1071X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + x_1071X))) + -4)))))) {
|
|
*((long *) ((((char *) (-3 + x_1071X))) + -4)) = (128 | (*((long *) ((((char *) (-3 + x_1071X))) + -4))));
|
|
arg0K0 = x_1071X;
|
|
goto L20999;}
|
|
else {
|
|
arg0K0 = x_1071X;
|
|
goto L20999;}}
|
|
else {
|
|
arg0K0 = x_1071X;
|
|
goto L20999;}}
|
|
L20802: {
|
|
i_1072X = arg0K0;
|
|
offset_1073X = arg0K1;
|
|
env_1074X = arg0K2;
|
|
if ((i_1072X == total_count_394X)) {
|
|
SvalS = new_env_766X;
|
|
Scode_pointerS = ((Scode_pointerS) + (1 + offset_1073X));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
back_1075X = *((unsigned char *) ((Scode_pointerS) + (1 + offset_1073X)));
|
|
arg0K0 = env_1074X;
|
|
arg0K1 = back_1075X;
|
|
goto L20898;}}
|
|
L20698: {
|
|
value_1076X = arg0K0;
|
|
SvalS = value_1076X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L17013: {
|
|
i_1077X = arg0K0;
|
|
m_1078X = arg0K1;
|
|
if ((0 == (n_956X & m_1078X))) {
|
|
arg0K0 = (1 + i_1077X);
|
|
arg0K1 = (((m_1078X)<<1));
|
|
goto L17013;}
|
|
else {
|
|
Spending_interruptsS = ((Spending_interruptsS) & (~ m_1078X));
|
|
if ((i_1077X == 0)) {
|
|
*((long *) (SstackS)) = (Sinterrupted_templateS);
|
|
SstackS = ((SstackS) + -4);
|
|
Sinterrupted_templateS = 1;
|
|
*((long *) (SstackS)) = ((((Senabled_interruptsS))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16932;}
|
|
else {
|
|
if ((i_1077X == 2)) {
|
|
*((long *) (SstackS)) = (Sfinalize_theseS);
|
|
SstackS = ((SstackS) + -4);
|
|
Sfinalize_theseS = 25;
|
|
*((long *) (SstackS)) = ((((Senabled_interruptsS))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16932;}
|
|
else {
|
|
if ((i_1077X == 3)) {
|
|
channel_1079X = Spending_channels_headS;
|
|
next_1080X = *((long *) ((((char *) (-3 + channel_1079X))) + 12));
|
|
Spending_channels_headS = next_1080X;
|
|
addr_1081X = (((char *) (-3 + channel_1079X))) + 12;
|
|
S48_WRITE_BARRIER(channel_1079X, addr_1081X, 1);
|
|
*((long *) addr_1081X) = 1;
|
|
if ((1 == next_1080X)) {
|
|
Spending_channels_tailS = 1;
|
|
arg0K0 = channel_1079X;
|
|
goto L8377;}
|
|
else {
|
|
arg0K0 = channel_1079X;
|
|
goto L8377;}}
|
|
else {
|
|
if ((i_1077X == 4)) {
|
|
*((long *) (SstackS)) = (Sos_signal_typeS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (Sos_signal_argumentS);
|
|
SstackS = ((SstackS) + -4);
|
|
Sos_signal_typeS = 1;
|
|
Sos_signal_argumentS = 1;
|
|
*((long *) (SstackS)) = ((((Senabled_interruptsS))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16932;}
|
|
else {
|
|
*((long *) (SstackS)) = ((((Senabled_interruptsS))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16932;}}}}}}
|
|
L16098: {
|
|
skip_1082X = arg0K0;
|
|
stack_arg_count_1083X = arg0K1;
|
|
template_1084X = *((long *) (((char *) (-3 + (SvalS)))));
|
|
StemplateS = template_1084X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + template_1084X)))))))) + skip_1082X);
|
|
SenvS = (*((long *) ((((char *) (-3 + (SvalS)))) + 4)));
|
|
arg0K0 = stack_space_958X;
|
|
arg0K1 = stack_arg_count_1083X;
|
|
goto L15988;}
|
|
L16121: {
|
|
skip_1085X = arg0K0;
|
|
*((long *) (SstackS)) = 25;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((stack_arg_count_775X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((stack_arg_count_775X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = skip_1085X;
|
|
arg0K1 = (3 + stack_arg_count_775X);
|
|
goto L16098;}
|
|
L16375: {
|
|
skip_1086X = arg0K0;
|
|
stack_arg_count_1087X = arg0K1;
|
|
template_1088X = *((long *) (((char *) (-3 + (SvalS)))));
|
|
StemplateS = template_1088X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + template_1088X)))))))) + skip_1086X);
|
|
SenvS = (*((long *) ((((char *) (-3 + (SvalS)))) + 4)));
|
|
arg0K0 = stack_space_965X;
|
|
arg0K1 = stack_arg_count_1087X;
|
|
goto L15988;}
|
|
L16400: {
|
|
skip_1089X = arg0K0;
|
|
if ((total_arg_count_794X < 3)) {
|
|
arg0K0 = total_arg_count_794X;
|
|
goto L16408;}
|
|
else {
|
|
if ((2 < stack_arg_count_788X)) {
|
|
arg0K0 = stack_arg_count_788X;
|
|
goto L16408;}
|
|
else {
|
|
arg0K0 = 2;
|
|
goto L16408;}}}
|
|
L19296: {
|
|
SvalS = (*((long *) ((((char *) (-3 + cont_971X))) + 16)));
|
|
arg0K0 = stack_nargs_805X;
|
|
arg0K1 = list_args_806X;
|
|
arg0K2 = list_arg_count_807X;
|
|
goto L17680;}
|
|
L20458: {
|
|
merged_arg0K0 = list_args_806X;
|
|
merged_arg0K1 = stack_nargs_805X;
|
|
pop_args_GlistS_return_tag = 4;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_4:
|
|
args_1090X = pop_args_GlistS0_return_value;
|
|
push_exception_continuationB(4, 0);
|
|
*((long *) (SstackS)) = 1;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = args_1090X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L10647: {
|
|
if ((3 == (3 & x_457X))) {
|
|
if ((10 == (31 & ((((*((long *) ((((char *) (-3 + x_457X))) + -4))))>>2))))) {
|
|
arg0K0 = 5;
|
|
goto L38249;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38249;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38249;}}
|
|
L28571: {
|
|
if ((3 == (3 & n_459X))) {
|
|
if ((10 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = n_459X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
else {
|
|
goto L28575;}}
|
|
else {
|
|
goto L28575;}}
|
|
L28770: {
|
|
if ((3 == (3 & n_460X))) {
|
|
if ((10 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = n_460X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
else {
|
|
goto L28774;}}
|
|
else {
|
|
goto L28774;}}
|
|
L28969: {
|
|
if ((3 == (3 & n_461X))) {
|
|
if ((10 == (31 & ((((*((long *) ((((char *) (-3 + n_461X))) + -4))))>>2))))) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = n_461X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
else {
|
|
goto L28973;}}
|
|
else {
|
|
goto L28973;}}
|
|
L6834: {
|
|
if ((536870911 < lo_c_982X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_469X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
if ((lo_c_982X < 0)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_469X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
if ((8192 < mid_c_985X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_469X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
if ((a_470X < 0)) {
|
|
if ((b_471X < 0)) {
|
|
goto L6861;}
|
|
else {
|
|
goto L6868;}}
|
|
else {
|
|
if ((b_471X < 0)) {
|
|
goto L6868;}
|
|
else {
|
|
goto L6861;}}}}}}
|
|
L7128: {
|
|
if ((536870911 < c_988X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_475X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_476X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
SvalS = (((c_988X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L7127: {
|
|
SvalS = ((((0 - c_988X))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L7296: {
|
|
if ((536870911 < c_991X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_489X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_490X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
SvalS = (((c_991X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L7295: {
|
|
SvalS = ((((0 - c_991X))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L25366: {
|
|
n_1091X = arg0K0;
|
|
SvalS = (((n_1091X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L21537: {
|
|
i_1092X = arg0K0;
|
|
rest_list_1093X = arg0K1;
|
|
if ((25 == rest_list_1093X)) {
|
|
SvalS = new_842X;
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
*((long *) ((((char *) (-3 + new_842X))) + (((i_1092X)<<2)))) = (*((long *) (((char *) (-3 + rest_list_1093X)))));
|
|
arg0K0 = (1 + i_1092X);
|
|
arg0K1 = (*((long *) ((((char *) (-3 + rest_list_1093X))) + 4)));
|
|
goto L21537;}}
|
|
L13315: {
|
|
foo_1094X = arg0K0;
|
|
if ((1 == foo_1094X)) {
|
|
addr_1095X = ALLOCATE_SPACE(1, 12);
|
|
*((long *) addr_1095X) = 2054;
|
|
x_1096X = 3 + (((long) (addr_1095X + 4)));
|
|
*((long *) (((char *) (-3 + x_1096X)))) = string_857X;
|
|
*((long *) ((((char *) (-3 + x_1096X))) + 4)) = bucket_1003X;
|
|
addr_1097X = (((char *) (-3 + table_856X))) + (((index_1002X)<<2));
|
|
S48_WRITE_BARRIER(table_856X, addr_1097X, x_1096X);
|
|
*((long *) addr_1097X) = x_1096X;
|
|
arg0K0 = x_1096X;
|
|
goto L24551;}
|
|
else {
|
|
s2_1098X = *((long *) (((char *) (-3 + foo_1094X))));
|
|
len_1099X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_857X))) + -4))))>>8);
|
|
if ((len_1099X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1098X))) + -4))))>>8)))) {
|
|
if (((!memcmp((void *)(((char *) (-3 + s2_1098X))), (void *)(((char *) (-3 + string_857X))),len_1099X)))) {
|
|
arg0K0 = foo_1094X;
|
|
goto L24551;}
|
|
else {
|
|
goto L13331;}}
|
|
else {
|
|
goto L13331;}}}
|
|
L26795: {
|
|
if ((0 == (3 & arg2_1005X))) {
|
|
if (((((arg2_1005X)>>2)) < 0)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1006X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
arg0K0 = (((arg2_1005X)>>2));
|
|
goto L26615;}}
|
|
else {
|
|
if ((3 == (3 & arg2_1005X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1005X))) + -4))))>>2))))) {
|
|
if ((1 == mode_1006X)) {
|
|
goto L26673;}
|
|
else {
|
|
if ((3 == mode_1006X)) {
|
|
goto L26673;}
|
|
else {
|
|
v_1100X = ps_open_fd((((char *)(((char *) (-3 + arg2_1005X))))), 0, &v_1101X);
|
|
arg0K0 = v_1100X;
|
|
arg0K1 = v_1101X;
|
|
goto L26686;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1006X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1006X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}}
|
|
L34671: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L37515: {
|
|
obj_1102X = SvalS;
|
|
if ((3 == (3 & obj_1102X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1102X))) + -4))))>>2))))) {
|
|
x_1103X = SvalS;
|
|
if ((1 == arg2_1013X)) {
|
|
arg2K0 = 0;
|
|
goto L37532;}
|
|
else {
|
|
arg2K0 = 1;
|
|
goto L37532;}}
|
|
else {
|
|
goto L37535;}}
|
|
else {
|
|
goto L37535;}}
|
|
L37535: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg5_1016X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg4_1015X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_1014X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1013X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16679;}
|
|
L37066: {
|
|
if ((3 == (3 & arg4_1020X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1020X))) + -4))))>>2))))) {
|
|
arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1020X))) + -4))))>>8)));
|
|
goto L37078;}
|
|
else {
|
|
goto L37074;}}
|
|
else {
|
|
goto L37074;}}
|
|
L37058: {
|
|
if ((3 == (3 & arg4_1020X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1020X))) + -4))))>>2))))) {
|
|
goto L37066;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36949;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36949;}}
|
|
L36949: {
|
|
reason_1104X = arg0K0;
|
|
push_exception_continuationB(reason_1104X, 1);
|
|
*((long *) (SstackS)) = arg4_1020X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((start_1022X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((count_1023X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = channel_1024X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16679;}
|
|
L37797: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg4_1020X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_1019X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1018X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16679;}
|
|
L29270: {
|
|
val_1105X = arg0K0;
|
|
SvalS = val_1105X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L34156: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16679;}
|
|
L14812: {
|
|
v_1106X = arg0K0;
|
|
arg0K0 = (-1 + i_1035X);
|
|
arg0K1 = v_1106X;
|
|
goto L14798;}
|
|
L30318: {
|
|
reason_1107X = arg0K0;
|
|
status_1108X = arg0K1;
|
|
push_exception_continuationB(reason_1107X, 1);
|
|
*((long *) (SstackS)) = arg3_1042X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1041X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = comment_string_1044X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1108X;
|
|
merged_arg0K1 = key_1040X;
|
|
get_error_string_return_tag = 2;
|
|
goto get_error_string;
|
|
get_error_string_return_2:
|
|
x_1109X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1109X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16679;}
|
|
L34768: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_1042X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1041X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}
|
|
L34340: {
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L34345: {
|
|
if ((0 == (Spending_interruptsS))) {
|
|
s48_wait_for_event((((arg2_682X)>>2)), minutesP_1055X);
|
|
goto L34340;}
|
|
else {
|
|
goto L34340;}}
|
|
L33519: {
|
|
if ((1 == (SvalS))) {
|
|
v_1110X = Hlookup2112((Sexported_bindingsS), arg2_1058X, key_1057X);
|
|
arg0K0 = v_1110X;
|
|
goto L33576;}
|
|
else {
|
|
v_1111X = Hlookup2093((Simported_bindingsS), arg2_1058X, key_1057X);
|
|
arg0K0 = v_1111X;
|
|
goto L33576;}}
|
|
L33524: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1058X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
L12894: {
|
|
i_1112X = arg0K0;
|
|
h_1113X = arg0K1;
|
|
if ((i_1112X < n_1061X)) {
|
|
arg0K0 = (1 + i_1112X);
|
|
arg0K1 = (h_1113X + (((*((unsigned char *) ((((char *) (-3 + arg2_690X))) + i_1112X))))));
|
|
goto L12894;}
|
|
else {
|
|
index_1114X = 1023 & h_1113X;
|
|
bucket_1115X = *((long *) ((((char *) (-3 + table_1060X))) + (((index_1114X)<<2))));
|
|
arg0K0 = 1;
|
|
arg0K1 = bucket_1115X;
|
|
goto L12858;}}
|
|
L27368: {
|
|
l_1116X = arg0K0;
|
|
i_1117X = arg0K1;
|
|
if ((i_1117X < 0)) {
|
|
SvalS = string_1064X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
*((unsigned char *) ((((char *) (-3 + string_1064X))) + i_1117X)) = ((((((*((long *) (((char *) (-3 + l_1116X))))))>>8))));
|
|
arg0K0 = (*((long *) ((((char *) (-3 + l_1116X))) + 4)));
|
|
arg0K1 = (-1 + i_1117X);
|
|
goto L27368;}}
|
|
L31123: {
|
|
y_1118X = arg0K0;
|
|
if ((y_1118X < (from_index_731X + count_733X))) {
|
|
goto L31156;}
|
|
else {
|
|
if ((3 == (3 & arg3_728X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_728X))) + -4))))>>2))))) {
|
|
arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_728X))) + -4))))>>8)));
|
|
goto L31138;}
|
|
else {
|
|
goto L31134;}}
|
|
else {
|
|
goto L31134;}}}
|
|
L31119: {
|
|
arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_730X))) + -4))))>>8));
|
|
goto L31123;}
|
|
L11706: {
|
|
v_1119X = arg3K0;
|
|
ps_write_string(v_1119X, out_742X);
|
|
goto L29592;}
|
|
L11672: {
|
|
if ((3 == (3 & thing_942X))) {
|
|
if ((1 == (31 & ((((*((long *) ((((char *) (-3 + thing_942X))) + -4))))>>2))))) {
|
|
arg3K0 = (((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + thing_942X))))))))));
|
|
goto L11706;}
|
|
else {
|
|
goto L11680;}}
|
|
else {
|
|
goto L11680;}}
|
|
L21075: {
|
|
arg0K0 = (SenvS);
|
|
goto L20985;}
|
|
L20999: {
|
|
value_1120X = arg0K0;
|
|
SvalS = value_1120X;
|
|
Scode_pointerS = ((Scode_pointerS) + 4);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L20898: {
|
|
env_1121X = arg0K0;
|
|
i_1122X = arg0K1;
|
|
if ((0 == i_1122X)) {
|
|
count_1123X = *((unsigned char *) ((Scode_pointerS) + (2 + offset_1073X)));
|
|
arg0K0 = count_1123X;
|
|
arg0K1 = i_1072X;
|
|
arg0K2 = (2 + offset_1073X);
|
|
goto L20819;}
|
|
else {
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_1121X)))));
|
|
arg0K1 = (-1 + i_1122X);
|
|
goto L20898;}}
|
|
L16932: {
|
|
arg_count_1124X = arg0K0;
|
|
obj_1125X = Sinterrupt_handlersS;
|
|
if ((3 == (3 & obj_1125X))) {
|
|
if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1125X))) + -4))))>>2))))) {
|
|
goto L16946;}
|
|
else {
|
|
goto L17026;}}
|
|
else {
|
|
goto L17026;}}
|
|
L8377: {
|
|
channel_1126X = arg0K0;
|
|
x_1127X = 1 == (Spending_channels_headS);
|
|
if (x_1127X) {
|
|
goto L8391;}
|
|
else {
|
|
Spending_interruptsS = (8 | (Spending_interruptsS));
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L8391;}
|
|
else {
|
|
goto L8391;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L8391;}}}
|
|
L15988: {
|
|
stack_slots_1128X = arg0K0;
|
|
stack_arg_count_1129X = arg0K1;
|
|
if ((stack_slots_1128X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L15990;}
|
|
else {
|
|
space_1130X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_1131X = AVAILABLEp(space_1130X);
|
|
if (v_1131X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L16047;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_1132X);
|
|
v_1133X = AVAILABLEp(space_1130X);
|
|
if (v_1133X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L16047;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L16047;}}}}
|
|
L16408: {
|
|
final_stack_arg_count_1134X = arg0K0;
|
|
if ((stack_arg_count_788X < final_stack_arg_count_1134X)) {
|
|
arg0K0 = final_stack_arg_count_1134X;
|
|
goto L16412;}
|
|
else {
|
|
arg0K0 = stack_arg_count_788X;
|
|
goto L16412;}}
|
|
L28575: {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L28774: {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L28973: {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L6861: {
|
|
if ((536870911 < c_986X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_469X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
SvalS = (((c_986X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L6868: {
|
|
if ((536870912 < c_986X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_469X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
SvalS = ((((0 - c_986X))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L24551: {
|
|
val_1135X = arg0K0;
|
|
SvalS = val_1135X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L13331: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + foo_1094X))) + 4)));
|
|
goto L13315;}
|
|
L26615: {
|
|
index_1136X = arg0K0;
|
|
channel_1137X = make_registered_channel(mode_1006X, arg2_1005X, index_1136X, key_1004X, &reason_1138X);
|
|
if ((1 == channel_1137X)) {
|
|
if ((3 == (3 & arg2_1005X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1005X))) + -4))))>>2))))) {
|
|
if ((1 == mode_1006X)) {
|
|
goto L26730;}
|
|
else {
|
|
if ((3 == mode_1006X)) {
|
|
goto L26730;}
|
|
else {
|
|
v_1139X = ps_close_fd(index_1136X);
|
|
arg0K0 = v_1139X;
|
|
goto L26725;}}}
|
|
else {
|
|
push_exception_continuationB(reason_1138X, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1006X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
else {
|
|
push_exception_continuationB(reason_1138X, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1006X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
else {
|
|
SvalS = channel_1137X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L26673: {
|
|
v_1140X = ps_open_fd((((char *)(((char *) (-3 + arg2_1005X))))), 1, &v_1141X);
|
|
arg0K0 = v_1140X;
|
|
arg0K1 = v_1141X;
|
|
goto L26686;}
|
|
L26686: {
|
|
channel_1142X = arg0K0;
|
|
status_1143X = arg0K1;
|
|
if ((status_1143X == NO_ERRORS)) {
|
|
arg0K0 = channel_1142X;
|
|
goto L26615;}
|
|
else {
|
|
if ((status_1143X == ENOENT)) {
|
|
push_exception_continuationB(10, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1006X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
push_exception_continuationB(25, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1006X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1143X;
|
|
merged_arg0K1 = key_1004X;
|
|
get_error_string_return_tag = 3;
|
|
goto get_error_string;
|
|
get_error_string_return_3:
|
|
x_1144X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1144X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16679;}}}
|
|
L37532: {
|
|
waitP_1145X = arg2K0;
|
|
start_1146X = ((arg4_1015X)>>2);
|
|
count_1147X = ((arg3_1014X)>>2);
|
|
if ((4 == (*((long *) (((char *) (-3 + x_1103X))))))) {
|
|
if ((3 == (3 & arg5_1016X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + arg5_1016X))) + -4)))))) {
|
|
if ((3 == (3 & arg5_1016X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1016X))) + -4))))>>2))))) {
|
|
goto L36668;}
|
|
else {
|
|
goto L36660;}}
|
|
else {
|
|
goto L36660;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36551;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36551;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36551;}}
|
|
L37078: {
|
|
length_1148X = arg0K0;
|
|
if ((length_1148X < (start_1022X + count_1023X))) {
|
|
arg0K0 = 7;
|
|
goto L36949;}
|
|
else {
|
|
got_1149X = ps_write_fd(((((*((long *) ((((char *) (-3 + channel_1024X))) + 8))))>>2)), ((((char *) (-3 + arg4_1020X))) + start_1022X), count_1023X, &pendingP_1150X, &status_1151X);
|
|
if ((status_1151X == NO_ERRORS)) {
|
|
if (pendingP_1150X) {
|
|
addr_1152X = (((char *) (-3 + channel_1024X))) + 16;
|
|
S48_WRITE_BARRIER(channel_1024X, addr_1152X, 5);
|
|
*((long *) addr_1152X) = 5;
|
|
s48_Spending_interruptPS = 0;
|
|
Senabled_interruptsS = 0;
|
|
arg0K0 = 13;
|
|
goto L36949;}
|
|
else {
|
|
SvalS = (((got_1149X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
else {
|
|
push_exception_continuationB(25, 1);
|
|
*((long *) (SstackS)) = arg4_1020X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((start_1022X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((count_1023X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = channel_1024X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1151X;
|
|
merged_arg0K1 = key_1017X;
|
|
get_error_string_return_tag = 4;
|
|
goto get_error_string;
|
|
get_error_string_return_4:
|
|
x_1153X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1153X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16679;}}}
|
|
L37074: {
|
|
arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1020X))) + -4))))>>8));
|
|
goto L37078;}
|
|
L33576: {
|
|
val_1154X = arg0K0;
|
|
SvalS = val_1154X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L12858: {
|
|
previous_foo_1155X = arg0K0;
|
|
foo_1156X = arg0K1;
|
|
if ((1 == foo_1156X)) {
|
|
goto L23962;}
|
|
else {
|
|
s2_1157X = *((long *) (((char *) (-3 + foo_1156X))));
|
|
len_1158X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_690X))) + -4))))>>8);
|
|
if ((len_1158X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1157X))) + -4))))>>8)))) {
|
|
if (((!memcmp((void *)(((char *) (-3 + s2_1157X))), (void *)(((char *) (-3 + arg2_690X))),len_1158X)))) {
|
|
if ((1 == previous_foo_1155X)) {
|
|
value_1159X = *((long *) ((((char *) (-3 + foo_1156X))) + 12));
|
|
addr_1160X = (((char *) (-3 + table_1060X))) + (((index_1114X)<<2));
|
|
S48_WRITE_BARRIER(table_1060X, addr_1160X, value_1159X);
|
|
*((long *) addr_1160X) = value_1159X;
|
|
goto L23962;}
|
|
else {
|
|
val_1161X = *((long *) ((((char *) (-3 + foo_1156X))) + 12));
|
|
addr_1162X = (((char *) (-3 + previous_foo_1155X))) + 12;
|
|
S48_WRITE_BARRIER(previous_foo_1155X, addr_1162X, val_1161X);
|
|
*((long *) addr_1162X) = val_1161X;
|
|
goto L23962;}}
|
|
else {
|
|
goto L12920;}}
|
|
else {
|
|
goto L12920;}}}
|
|
L31138: {
|
|
y_1163X = arg0K0;
|
|
if ((y_1163X < (to_index_732X + count_733X))) {
|
|
goto L31156;}
|
|
else {
|
|
memcpy((void *)((((char *) (-3 + arg3_728X))) + to_index_732X), (void *)((((char *) (-3 + arg5_730X))) + from_index_731X),count_733X);
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}
|
|
L31134: {
|
|
arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_728X))) + -4))))>>8));
|
|
goto L31138;}
|
|
L11680: {
|
|
if ((1 == thing_942X)) {
|
|
goto L11683;}
|
|
else {
|
|
if ((5 == thing_942X)) {
|
|
goto L11683;}
|
|
else {
|
|
if ((25 == thing_942X)) {
|
|
arg3K0 = "()";
|
|
goto L11706;}
|
|
else {
|
|
if ((3 == (3 & thing_942X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + thing_942X))) + -4))))>>2))))) {
|
|
arg3K0 = "(...)";
|
|
goto L11706;}
|
|
else {
|
|
goto L11696;}}
|
|
else {
|
|
goto L11696;}}}}}
|
|
L20819: {
|
|
count_1164X = arg0K0;
|
|
i_1165X = arg0K1;
|
|
offset_1166X = arg0K2;
|
|
if ((0 == count_1164X)) {
|
|
arg0K0 = i_1165X;
|
|
arg0K1 = offset_1166X;
|
|
arg0K2 = env_1121X;
|
|
goto L20802;}
|
|
else {
|
|
value_1167X = *((long *) ((((char *) (-3 + env_1121X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1166X)))))<<2))));
|
|
addr_1168X = (((char *) (-3 + new_env_766X))) + (((i_1165X)<<2));
|
|
S48_WRITE_BARRIER(new_env_766X, addr_1168X, value_1167X);
|
|
*((long *) addr_1168X) = value_1167X;
|
|
arg0K0 = (-1 + count_1164X);
|
|
arg0K1 = (1 + i_1165X);
|
|
arg0K2 = (1 + offset_1166X);
|
|
goto L20819;}}
|
|
L16946: {
|
|
Senabled_interruptsS = 0;
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L16948;}
|
|
else {
|
|
goto L16948;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L16948;}}
|
|
L17026: {
|
|
ps_error("interrupt handler is not a vector", 0);
|
|
goto L16946;}
|
|
L8391: {
|
|
*((long *) (SstackS)) = channel_1126X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (*((long *) ((((char *) (-3 + channel_1126X))) + 16)));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = ((((Senabled_interruptsS))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16932;}
|
|
L15990: {
|
|
if ((s48_Spending_interruptPS)) {
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_eventsPS = 0;
|
|
check_events_return_tag = 3;
|
|
goto check_events;
|
|
check_events_return_3:
|
|
v_1169X = check_events0_return_value;
|
|
if (v_1169X) {
|
|
arg0K0 = stack_arg_count_1129X;
|
|
goto L16908;}
|
|
else {
|
|
goto L15994;}}
|
|
else {
|
|
arg0K0 = stack_arg_count_1129X;
|
|
goto L16908;}}
|
|
else {
|
|
goto L15994;}}
|
|
L16047: {
|
|
okayP_1170X = arg2K0;
|
|
key_1171X = arg0K1;
|
|
if (okayP_1170X) {
|
|
arg0K0 = key_1171X;
|
|
goto L16001;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_1171X;
|
|
goto L16001;}}
|
|
L16412: {
|
|
v_1172X = arg0K0;
|
|
merged_arg0K0 = v_1172X;
|
|
merged_arg0K1 = stack_arg_count_788X;
|
|
merged_arg0K2 = list_args_789X;
|
|
merged_arg0K3 = list_arg_count_790X;
|
|
rest_list_setup_return_tag = 2;
|
|
goto rest_list_setup;
|
|
rest_list_setup_return_2:
|
|
*((long *) (SstackS)) = (((final_stack_arg_count_1134X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((total_arg_count_794X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = skip_1089X;
|
|
arg0K1 = (3 + final_stack_arg_count_1134X);
|
|
goto L16375;}
|
|
L26730: {
|
|
v_1173X = ps_close_fd(index_1136X);
|
|
arg0K0 = v_1173X;
|
|
goto L26725;}
|
|
L26725: {
|
|
status_1174X = arg0K0;
|
|
if ((status_1174X == NO_ERRORS)) {
|
|
push_exception_continuationB(reason_1138X, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1006X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}
|
|
else {
|
|
channel_close_error(status_1174X, index_1136X, arg2_1005X);
|
|
push_exception_continuationB(reason_1138X, 1);
|
|
*((long *) (SstackS)) = arg2_1005X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1006X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16679;}}
|
|
L36668: {
|
|
if ((3 == (3 & arg5_1016X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1016X))) + -4))))>>2))))) {
|
|
arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_1016X))) + -4))))>>8)));
|
|
goto L36680;}
|
|
else {
|
|
goto L36676;}}
|
|
else {
|
|
goto L36676;}}
|
|
L36660: {
|
|
if ((3 == (3 & arg5_1016X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1016X))) + -4))))>>2))))) {
|
|
goto L36668;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36551;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36551;}}
|
|
L36551: {
|
|
reason_1175X = arg0K0;
|
|
push_exception_continuationB(reason_1175X, 1);
|
|
*((long *) (SstackS)) = arg5_1016X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((start_1146X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((count_1147X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
if (waitP_1145X) {
|
|
arg0K0 = 5;
|
|
goto L36566;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L36566;}}
|
|
L23962: {
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L12920: {
|
|
arg0K0 = foo_1156X;
|
|
arg0K1 = (*((long *) ((((char *) (-3 + foo_1156X))) + 12)));
|
|
goto L12858;}
|
|
L11683: {
|
|
if ((1 == thing_942X)) {
|
|
arg3K0 = "#f";
|
|
goto L11706;}
|
|
else {
|
|
arg3K0 = "#t";
|
|
goto L11706;}}
|
|
L11696: {
|
|
if ((3 == (3 & thing_942X))) {
|
|
if ((2 == (31 & ((((*((long *) ((((char *) (-3 + thing_942X))) + -4))))>>2))))) {
|
|
arg3K0 = "#(...)";
|
|
goto L11706;}
|
|
else {
|
|
goto L11700;}}
|
|
else {
|
|
goto L11700;}}
|
|
L16948: {
|
|
SvalS = (*((long *) ((((char *) (-3 + (Sinterrupt_handlersS)))) + (((i_1077X)<<2)))));
|
|
obj_1176X = SvalS;
|
|
if ((3 == (3 & obj_1176X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1176X))) + -4))))>>2))))) {
|
|
goto L16965;}
|
|
else {
|
|
goto L17051;}}
|
|
else {
|
|
goto L17051;}}
|
|
L15994: {
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
L16001: {
|
|
v_1177X = arg0K0;
|
|
merged_arg0K0 = v_1177X;
|
|
copy_stack_into_heap_return_tag = 3;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_3:
|
|
if ((stack_slots_1128X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L15990;}
|
|
else {
|
|
ps_error("VM's stack is too small (how can this happen?)", 0);
|
|
goto L15990;}}
|
|
L36680: {
|
|
length_1178X = arg0K0;
|
|
if ((length_1178X < (start_1146X + count_1147X))) {
|
|
arg0K0 = 7;
|
|
goto L36551;}
|
|
else {
|
|
got_1179X = ps_read_fd(((((*((long *) ((((char *) (-3 + x_1103X))) + 8))))>>2)), ((((char *) (-3 + arg5_1016X))) + start_1146X), count_1147X, waitP_1145X, &eofP_1180X, &pendingP_1181X, &status_1182X);
|
|
if ((status_1182X == NO_ERRORS)) {
|
|
if (eofP_1180X) {
|
|
SvalS = 21;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}
|
|
else {
|
|
if (pendingP_1181X) {
|
|
addr_1183X = (((char *) (-3 + x_1103X))) + 16;
|
|
S48_WRITE_BARRIER(x_1103X, addr_1183X, 5);
|
|
*((long *) addr_1183X) = 5;
|
|
s48_Spending_interruptPS = 0;
|
|
Senabled_interruptsS = 0;
|
|
arg0K0 = 13;
|
|
goto L36551;}
|
|
else {
|
|
SvalS = (((got_1179X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18452;}}}
|
|
else {
|
|
push_exception_continuationB(25, 1);
|
|
*((long *) (SstackS)) = arg5_1016X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((start_1146X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((count_1147X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
if (waitP_1145X) {
|
|
arg0K0 = 5;
|
|
goto L36603;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L36603;}}}}
|
|
L36676: {
|
|
arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_1016X))) + -4))))>>8));
|
|
goto L36680;}
|
|
L36566: {
|
|
x_1184X = arg0K0;
|
|
*((long *) (SstackS)) = x_1184X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_1103X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16679;}
|
|
L11700: {
|
|
if ((3 == (3 & thing_942X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + thing_942X))) + -4))))>>2))))) {
|
|
arg3K0 = "#{procedure}";
|
|
goto L11706;}
|
|
else {
|
|
arg3K0 = "???";
|
|
goto L11706;}}
|
|
else {
|
|
arg3K0 = "???";
|
|
goto L11706;}}
|
|
L16965: {
|
|
StemplateS = (SvalS);
|
|
Slosing_opcodeS = (0 - i_1077X);
|
|
arg0K0 = arg_count_1124X;
|
|
goto L16080;}
|
|
L17051: {
|
|
ps_error("interrupt handler is not a closure", 1, i_1077X);
|
|
goto L16965;}
|
|
L36603: {
|
|
x_1185X = arg0K0;
|
|
*((long *) (SstackS)) = x_1185X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_1103X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1182X;
|
|
merged_arg0K1 = key_1012X;
|
|
get_error_string_return_tag = 5;
|
|
goto get_error_string;
|
|
get_error_string_return_5:
|
|
x_1186X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1186X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 6;
|
|
goto L16679;}
|
|
loseD0: {
|
|
message_370X = merged_arg3K0;{
|
|
why_1187X = (((*((long *) ((SstackS) + (4 + (((nargs_743X)<<2)))))))>>2);
|
|
ps_write_string("Template UIDs: ", (stderr));
|
|
current_template_1188X = StemplateS;
|
|
out_1189X = stderr;
|
|
if ((0 == (3 & (*((long *) ((((char *) (-3 + current_template_1188X))) + 4)))))) {
|
|
if ((current_template_1188X == (*((long *) ((((char *) (-3 + (Sbottom_of_stackS)))) + 8))))) {
|
|
arg2K0 = 0;
|
|
goto L10531;}
|
|
else {
|
|
ps_write_integer(((((*((long *) ((((char *) (-3 + current_template_1188X))) + 4))))>>2)), out_1189X);
|
|
arg2K0 = 1;
|
|
goto L10531;}}
|
|
else {
|
|
arg2K0 = 0;
|
|
goto L10531;}}
|
|
L10531: {
|
|
not_firstP_1190X = arg2K0;
|
|
arg0K0 = (ScontS);
|
|
arg2K1 = not_firstP_1190X;
|
|
goto L10538;}
|
|
L10538: {
|
|
cont_1191X = arg0K0;
|
|
not_firstP_1192X = arg2K1;
|
|
if ((3 == (3 & cont_1191X))) {
|
|
if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_1191X))) + -4))))>>2))))) {
|
|
template_1193X = *((long *) ((((char *) (-3 + cont_1191X))) + 8));
|
|
if ((0 == (3 & (*((long *) ((((char *) (-3 + template_1193X))) + 4)))))) {
|
|
if ((template_1193X == (*((long *) ((((char *) (-3 + (Sbottom_of_stackS)))) + 8))))) {
|
|
arg2K0 = not_firstP_1192X;
|
|
goto L10547;}
|
|
else {
|
|
if (not_firstP_1192X) {
|
|
ps_write_string(" <- ", out_1189X);
|
|
goto L10586;}
|
|
else {
|
|
goto L10586;}}}
|
|
else {
|
|
arg2K0 = not_firstP_1192X;
|
|
goto L10547;}}
|
|
else {
|
|
goto L16698;}}
|
|
else {
|
|
goto L16698;}}
|
|
L10547: {
|
|
v_1194X = arg2K0;
|
|
arg0K0 = (*((long *) (((char *) (-3 + cont_1191X)))));
|
|
arg2K1 = v_1194X;
|
|
goto L10538;}
|
|
L10586: {
|
|
ps_write_integer(((((*((long *) ((((char *) (-3 + template_1193X))) + 4))))>>2)), out_1189X);
|
|
arg2K0 = 1;
|
|
goto L10547;}
|
|
L16698: {
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
if ((why_1187X == 1)) {
|
|
if ((0 == (3 & (*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (((nargs_743X)<<2))))))))))))) {
|
|
ps_error(message_370X, 3, opcode_744X, why_1187X, ((((*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (((nargs_743X)<<2)))))))))))>>2)));
|
|
goto loseD0_return;}
|
|
else {
|
|
goto L16722;}}
|
|
else {
|
|
goto L16722;}}
|
|
L16722: {
|
|
ps_error(message_370X, 2, opcode_744X, why_1187X);
|
|
goto loseD0_return;}
|
|
loseD0_return:
|
|
switch (loseD0_return_tag) {
|
|
case 0: goto loseD0_return_0;
|
|
default: goto loseD0_return_1;
|
|
}}
|
|
|
|
check_events: {
|
|
{ goto L40006;}
|
|
L40006: {
|
|
type_1195X = s48_get_next_event(&channel_1196X, &status_1197X);
|
|
if ((type_1195X == ALARM_EVENT)) {
|
|
if ((1 == (Sinterrupted_templateS))) {
|
|
Sinterrupted_templateS = (StemplateS);
|
|
arg0K0 = 1;
|
|
goto L15883;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L15883;}}
|
|
else {
|
|
if ((type_1195X == KEYBOARD_INTERRUPT_EVENT)) {
|
|
arg0K0 = 2;
|
|
goto L15883;}
|
|
else {
|
|
if ((type_1195X == IO_COMPLETION_EVENT)) {
|
|
enqueue_channelB(channel_1196X, status_1197X);
|
|
arg0K0 = 8;
|
|
goto L15883;}
|
|
else {
|
|
if ((type_1195X == OS_SIGNAL_EVENT)) {
|
|
arg0K0 = 16;
|
|
goto L15883;}
|
|
else {
|
|
if ((type_1195X == NO_EVENT)) {
|
|
arg0K0 = 0;
|
|
goto L15883;}
|
|
else {
|
|
if ((type_1195X == ERROR_EVENT)) {
|
|
ps_write_string("OS error while getting event", (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
ps_write_string((ps_error_string(status_1197X)), (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
arg0K0 = 0;
|
|
goto L15883;}
|
|
else {
|
|
ps_write_string("unknown type of event", (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
arg0K0 = 0;
|
|
goto L15883;}}}}}}}
|
|
L15883: {
|
|
v_1198X = arg0K0;
|
|
Spending_interruptsS = (v_1198X | (Spending_interruptsS));
|
|
if ((type_1195X == NO_EVENT)) {
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L15910;}
|
|
else {
|
|
goto L15910;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L15910;}}
|
|
else {
|
|
goto L40006;}}
|
|
L15910: {
|
|
if ((s48_Spending_interruptPS)) {
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_eventsPS = 0;
|
|
goto L40006;}
|
|
else {
|
|
check_events0_return_value = 1;
|
|
goto check_events_return;}}
|
|
else {
|
|
check_events0_return_value = 0;
|
|
goto check_events_return;}}
|
|
check_events_return:
|
|
switch (check_events_return_tag) {
|
|
case 0: goto check_events_return_0;
|
|
case 1: goto check_events_return_1;
|
|
case 2: goto check_events_return_2;
|
|
default: goto check_events_return_3;
|
|
}}
|
|
|
|
rest_list_setup: {
|
|
wants_stack_args_366X = merged_arg0K0;
|
|
stack_arg_count_367X = merged_arg0K1;
|
|
list_args_368X = merged_arg0K2;
|
|
list_arg_count_369X = merged_arg0K3;{
|
|
if ((stack_arg_count_367X == wants_stack_args_366X)) {
|
|
merged_arg0K0 = list_args_368X;
|
|
merged_arg0K1 = list_arg_count_369X;
|
|
copy_listS_return_tag = 1;
|
|
goto copy_listS;
|
|
copy_listS_return_1:
|
|
x_1199X = copy_listS0_return_value;
|
|
*((long *) (SstackS)) = x_1199X;
|
|
SstackS = ((SstackS) + -4);
|
|
goto rest_list_setup_return;}
|
|
else {
|
|
if ((stack_arg_count_367X < wants_stack_args_366X)) {
|
|
count_1200X = wants_stack_args_366X - stack_arg_count_367X;
|
|
merged_arg0K0 = list_args_368X;
|
|
merged_arg0K1 = count_1200X;
|
|
push_list_return_tag = 3;
|
|
goto push_list;
|
|
push_list_return_3:
|
|
v_1201X = push_list0_return_value;
|
|
merged_arg0K0 = v_1201X;
|
|
merged_arg0K1 = (list_arg_count_369X - count_1200X);
|
|
copy_listS_return_tag = 2;
|
|
goto copy_listS;
|
|
copy_listS_return_2:
|
|
x_1202X = copy_listS0_return_value;
|
|
*((long *) (SstackS)) = x_1202X;
|
|
SstackS = ((SstackS) + -4);
|
|
goto rest_list_setup_return;}
|
|
else {
|
|
merged_arg0K0 = list_args_368X;
|
|
merged_arg0K1 = list_arg_count_369X;
|
|
copy_listS_return_tag = 3;
|
|
goto copy_listS;
|
|
copy_listS_return_3:
|
|
v_1203X = copy_listS0_return_value;
|
|
merged_arg0K0 = v_1203X;
|
|
merged_arg0K1 = (stack_arg_count_367X - wants_stack_args_366X);
|
|
pop_args_GlistS_return_tag = 5;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_5:
|
|
x_1204X = pop_args_GlistS0_return_value;
|
|
*((long *) (SstackS)) = x_1204X;
|
|
SstackS = ((SstackS) + -4);
|
|
goto rest_list_setup_return;}}}
|
|
rest_list_setup_return:
|
|
switch (rest_list_setup_return_tag) {
|
|
case 0: goto rest_list_setup_return_0;
|
|
case 1: goto rest_list_setup_return_1;
|
|
default: goto rest_list_setup_return_2;
|
|
}}
|
|
|
|
push_list: {
|
|
list_364X = merged_arg0K0;
|
|
count_365X = merged_arg0K1;{
|
|
*((long *) (SstackS)) = list_364X;
|
|
SstackS = ((SstackS) + -4);
|
|
if ((count_365X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L15299;}
|
|
else {
|
|
space_1205X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_1206X = AVAILABLEp(space_1205X);
|
|
if (v_1206X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15383;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_1207X);
|
|
v_1208X = AVAILABLEp(space_1205X);
|
|
if (v_1208X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15383;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L15383;}}}}
|
|
L15299: {
|
|
SstackS = ((SstackS) + 4);
|
|
list_1209X = *((long *) (SstackS));
|
|
arg0K0 = count_365X;
|
|
arg0K1 = list_1209X;
|
|
goto L15308;}
|
|
L15383: {
|
|
okayP_1210X = arg2K0;
|
|
key_1211X = arg0K1;
|
|
if (okayP_1210X) {
|
|
arg0K0 = key_1211X;
|
|
goto L15334;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_1211X;
|
|
goto L15334;}}
|
|
L15308: {
|
|
i_1212X = arg0K0;
|
|
l_1213X = arg0K1;
|
|
if ((0 < i_1212X)) {
|
|
*((long *) (SstackS)) = (*((long *) (((char *) (-3 + l_1213X)))));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = (-1 + i_1212X);
|
|
arg0K1 = (*((long *) ((((char *) (-3 + l_1213X))) + 4)));
|
|
goto L15308;}
|
|
else {
|
|
push_list0_return_value = l_1213X;
|
|
goto push_list_return;}}
|
|
L15334: {
|
|
v_1214X = arg0K0;
|
|
merged_arg0K0 = v_1214X;
|
|
copy_stack_into_heap_return_tag = 4;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_4:
|
|
if ((count_365X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L15299;}
|
|
else {
|
|
ps_error("VM's stack is too small (how can this happen?)", 0);
|
|
goto L15299;}}
|
|
push_list_return:
|
|
switch (push_list_return_tag) {
|
|
case 0: goto push_list_return_0;
|
|
case 1: goto push_list_return_1;
|
|
case 2: goto push_list_return_2;
|
|
default: goto push_list_return_3;
|
|
}}
|
|
|
|
copy_stack_into_heap: {
|
|
key_363X = merged_arg0K0;{
|
|
arg1K0 = ((SstackS) + 4);
|
|
arg0K1 = 0;
|
|
goto L13528;}
|
|
L13528: {
|
|
p_1215X = arg1K0;
|
|
i_1216X = arg0K1;
|
|
if ((2 == (3 & (*((long *) p_1215X))))) {
|
|
if ((22 == (*((long *) p_1215X)))) {
|
|
arg0K0 = (-1 + i_1216X);
|
|
goto L13515;}
|
|
else {
|
|
arg0K0 = i_1216X;
|
|
goto L13515;}}
|
|
else {
|
|
arg1K0 = (p_1215X + 4);
|
|
arg0K1 = (1 + i_1216X);
|
|
goto L13528;}}
|
|
L13515: {
|
|
arg_count_1217X = arg0K0;
|
|
top_1218X = SstackS;
|
|
if ((1 == (ScontS))) {
|
|
goto L13520;}
|
|
else {
|
|
merged_arg0K0 = key_363X;
|
|
merged_arg0K1 = 1;
|
|
really_preserve_continuation_return_tag = 1;
|
|
goto really_preserve_continuation;
|
|
really_preserve_continuation_return_1:
|
|
goto L13520;}}
|
|
L13520: {
|
|
stob_1219X = ScontS;
|
|
arg1K0 = ((((char *) (-3 + stob_1219X))) + -8);
|
|
arg1K1 = (top_1218X + (((arg_count_1217X)<<2)));
|
|
goto L13553;}
|
|
L13553: {
|
|
loc_1220X = arg1K0;
|
|
arg_1221X = arg1K1;
|
|
if ((top_1218X < arg_1221X)) {
|
|
*((long *) loc_1220X) = (*((long *) arg_1221X));
|
|
arg1K0 = (loc_1220X + -4);
|
|
arg1K1 = (arg_1221X + -4);
|
|
goto L13553;}
|
|
else {
|
|
SstackS = loc_1220X;
|
|
goto copy_stack_into_heap_return;}}
|
|
copy_stack_into_heap_return:
|
|
switch (copy_stack_into_heap_return_tag) {
|
|
case 0: goto copy_stack_into_heap_return_0;
|
|
case 1: goto copy_stack_into_heap_return_1;
|
|
case 2: goto copy_stack_into_heap_return_2;
|
|
case 3: goto copy_stack_into_heap_return_3;
|
|
default: goto copy_stack_into_heap_return_4;
|
|
}}
|
|
|
|
really_preserve_continuation: {
|
|
key_361X = merged_arg0K0;
|
|
reason_362X = merged_arg0K1;{
|
|
p_1222X = SenvS;
|
|
if ((3 == (3 & p_1222X))) {
|
|
if ((p_1222X < (((long) (Sstack_beginS))))) {
|
|
goto L12704;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_1222X)) {
|
|
goto L12704;}
|
|
else {
|
|
merged_arg0K0 = (SenvS);
|
|
merged_arg0K1 = (ScontS);
|
|
merged_arg0K2 = key_361X;
|
|
merged_arg0K3 = reason_362X;
|
|
save_env_in_heap_return_tag = 1;
|
|
goto save_env_in_heap;
|
|
save_env_in_heap_return_1:
|
|
v_1223X = save_env_in_heap0_return_value;
|
|
SenvS = v_1223X;
|
|
goto L12704;}}}
|
|
else {
|
|
goto L12704;}}
|
|
L12704: {
|
|
end_1224X = *((long *) (((char *) (-3 + (Sbottom_of_stackS)))));
|
|
arg0K0 = (ScontS);
|
|
arg0K1 = (Sbottom_of_stackS);
|
|
goto L12657;}
|
|
L12657: {
|
|
cont_1225X = arg0K0;
|
|
previous_1226X = arg0K1;
|
|
if ((cont_1225X == (Sbottom_of_stackS))) {
|
|
*((long *) (((char *) (-3 + previous_1226X)))) = end_1224X;
|
|
ScontS = (Sbottom_of_stackS);
|
|
really_preserve_continuation0_return_value = (*((long *) (((char *) (-3 + (Sbottom_of_stackS))))));
|
|
goto really_preserve_continuation_return;}
|
|
else {
|
|
p_1227X = *((long *) ((((char *) (-3 + cont_1225X))) + 12));
|
|
if ((3 == (3 & p_1227X))) {
|
|
if ((p_1227X < (((long) (Sstack_beginS))))) {
|
|
goto L12675;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_1227X)) {
|
|
goto L12675;}
|
|
else {
|
|
merged_arg0K0 = (*((long *) ((((char *) (-3 + cont_1225X))) + 12)));
|
|
merged_arg0K1 = cont_1225X;
|
|
merged_arg0K2 = key_361X;
|
|
merged_arg0K3 = reason_362X;
|
|
save_env_in_heap_return_tag = 2;
|
|
goto save_env_in_heap;
|
|
save_env_in_heap_return_2:
|
|
goto L12675;}}}
|
|
else {
|
|
goto L12675;}}}
|
|
L12675: {
|
|
header_1228X = *((long *) ((((char *) (-3 + cont_1225X))) + -4));
|
|
addr_1229X = ALLOCATE_SPACE((31 & (((header_1228X)>>2))), (4 + ((long)(((unsigned long)header_1228X)>>8))));
|
|
data_addr_1230X = addr_1229X + 4;
|
|
*((long *) addr_1229X) = header_1228X;
|
|
memcpy((void *)data_addr_1230X, (void *)(((char *) (-3 + cont_1225X))),((long)(((unsigned long)header_1228X)>>8)));
|
|
new_1231X = 3 + (((long) data_addr_1230X));
|
|
*((long *) (((char *) (-3 + previous_1226X)))) = new_1231X;
|
|
arg0K0 = (*((long *) (((char *) (-3 + new_1231X)))));
|
|
arg0K1 = new_1231X;
|
|
goto L12657;}
|
|
really_preserve_continuation_return:
|
|
switch (really_preserve_continuation_return_tag) {
|
|
case 0: goto really_preserve_continuation_return_0;
|
|
default: goto really_preserve_continuation_return_1;
|
|
}}
|
|
|
|
copy_env: {
|
|
env_360X = merged_arg0K0;{
|
|
header_1232X = *((long *) ((((char *) (-3 + env_360X))) + -4));
|
|
addr_1233X = ALLOCATE_SPACE((31 & (((header_1232X)>>2))), (4 + ((long)(((unsigned long)header_1232X)>>8))));
|
|
data_addr_1234X = addr_1233X + 4;
|
|
*((long *) addr_1233X) = header_1232X;
|
|
memcpy((void *)data_addr_1234X, (void *)(((char *) (-3 + env_360X))),((long)(((unsigned long)header_1232X)>>8)));
|
|
new_1235X = 3 + (((long) data_addr_1234X));
|
|
addr_1236X = ((char *) (-3 + env_360X));
|
|
S48_WRITE_BARRIER(env_360X, addr_1236X, 22);
|
|
*((long *) addr_1236X) = 22;
|
|
*((long *) ((((char *) (-3 + env_360X))) + -4)) = new_1235X;
|
|
copy_env0_return_value = new_1235X;
|
|
goto copy_env_return;}
|
|
copy_env_return:
|
|
switch (copy_env_return_tag) {
|
|
case 0: goto copy_env_return_0;
|
|
default: goto copy_env_return_1;
|
|
}}
|
|
|
|
save_env_in_heap: {
|
|
env_356X = merged_arg0K0;
|
|
cont_357X = merged_arg0K1;
|
|
key_358X = merged_arg0K2;
|
|
reason_359X = merged_arg0K3;{
|
|
merged_arg0K0 = env_356X;
|
|
merged_arg0K1 = key_358X;
|
|
merged_arg0K2 = reason_359X;
|
|
copy_env_return_tag = 0;
|
|
goto copy_env;
|
|
copy_env_return_0:
|
|
top_1237X = copy_env0_return_value;
|
|
arg0K0 = top_1237X;
|
|
goto L11936;}
|
|
L11936: {
|
|
env_1238X = arg0K0;
|
|
p_1239X = *((long *) (((char *) (-3 + env_1238X))));
|
|
if ((3 == (3 & p_1239X))) {
|
|
if ((p_1239X < (((long) (Sstack_beginS))))) {
|
|
goto L11955;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_1239X)) {
|
|
goto L11955;}
|
|
else {
|
|
merged_arg0K0 = (*((long *) (((char *) (-3 + env_1238X)))));
|
|
merged_arg0K1 = key_358X;
|
|
merged_arg0K2 = reason_359X;
|
|
copy_env_return_tag = 1;
|
|
goto copy_env;
|
|
copy_env_return_1:
|
|
new_1240X = copy_env0_return_value;
|
|
addr_1241X = ((char *) (-3 + env_1238X));
|
|
S48_WRITE_BARRIER(env_1238X, addr_1241X, new_1240X);
|
|
*((long *) addr_1241X) = new_1240X;
|
|
arg0K0 = new_1240X;
|
|
goto L11936;}}}
|
|
else {
|
|
goto L11955;}}
|
|
L11955: {
|
|
arg0K0 = cont_357X;
|
|
goto L11959;}
|
|
L11959: {
|
|
cont_1242X = arg0K0;
|
|
env_1243X = *((long *) ((((char *) (-3 + cont_1242X))) + 12));
|
|
if ((3 == (3 & env_1243X))) {
|
|
if ((3 == (3 & (*((long *) ((((char *) (-3 + env_1243X))) + -4)))))) {
|
|
*((long *) ((((char *) (-3 + cont_1242X))) + 12)) = (*((long *) ((((char *) (-3 + env_1243X))) + -4)));
|
|
arg0K0 = (*((long *) (((char *) (-3 + cont_1242X)))));
|
|
goto L11959;}
|
|
else {
|
|
save_env_in_heap0_return_value = top_1237X;
|
|
goto save_env_in_heap_return;}}
|
|
else {
|
|
save_env_in_heap0_return_value = top_1237X;
|
|
goto save_env_in_heap_return;}}
|
|
save_env_in_heap_return:
|
|
switch (save_env_in_heap_return_tag) {
|
|
case 0: goto save_env_in_heap_return_0;
|
|
case 1: goto save_env_in_heap_return_1;
|
|
default: goto save_env_in_heap_return_2;
|
|
}}
|
|
|
|
pop_args_GlistS: {
|
|
start_354X = merged_arg0K0;
|
|
count_355X = merged_arg0K1;{
|
|
space_1244X = 3 * count_355X;
|
|
v_1245X = AVAILABLEp(space_1244X);
|
|
if (v_1245X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = start_354X;
|
|
goto L14274;}
|
|
else {
|
|
temp0_1246X = collect_saving_temps(start_354X, 1, &temp1_1247X);
|
|
v_1248X = AVAILABLEp(space_1244X);
|
|
if (v_1248X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_1246X;
|
|
goto L14274;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_1246X;
|
|
goto L14274;}}}
|
|
L14274: {
|
|
okayP_1249X = arg2K0;
|
|
temp_1250X = arg0K1;
|
|
if (okayP_1249X) {
|
|
arg0K0 = temp_1250X;
|
|
goto L14248;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = temp_1250X;
|
|
goto L14248;}}
|
|
L14248: {
|
|
start_1251X = arg0K0;
|
|
arg0K0 = start_1251X;
|
|
arg0K1 = count_355X;
|
|
goto L14257;}
|
|
L14257: {
|
|
args_1252X = arg0K0;
|
|
count_1253X = arg0K1;
|
|
if ((0 == count_1253X)) {
|
|
pop_args_GlistS0_return_value = args_1252X;
|
|
goto pop_args_GlistS_return;}
|
|
else {
|
|
SstackS = ((SstackS) + 4);
|
|
a_1254X = *((long *) (SstackS));
|
|
addr_1255X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_1255X) = 2050;
|
|
x_1256X = 3 + (((long) (addr_1255X + 4)));
|
|
*((long *) (((char *) (-3 + x_1256X)))) = a_1254X;
|
|
*((long *) ((((char *) (-3 + x_1256X))) + 4)) = args_1252X;
|
|
arg0K0 = x_1256X;
|
|
arg0K1 = (-1 + count_1253X);
|
|
goto L14257;}}
|
|
pop_args_GlistS_return:
|
|
switch (pop_args_GlistS_return_tag) {
|
|
case 0: goto pop_args_GlistS_return_0;
|
|
case 1: goto pop_args_GlistS_return_1;
|
|
case 2: goto pop_args_GlistS_return_2;
|
|
case 3: goto pop_args_GlistS_return_3;
|
|
case 4: goto pop_args_GlistS_return_4;
|
|
default: goto pop_args_GlistS_return_5;
|
|
}}
|
|
|
|
copy_listS: {
|
|
list_352X = merged_arg0K0;
|
|
length_353X = merged_arg0K1;{
|
|
if ((0 == length_353X)) {
|
|
copy_listS0_return_value = 25;
|
|
goto copy_listS_return;}
|
|
else {
|
|
space_1257X = 3 * length_353X;
|
|
v_1258X = AVAILABLEp(space_1257X);
|
|
if (v_1258X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = list_352X;
|
|
goto L14153;}
|
|
else {
|
|
temp0_1259X = collect_saving_temps(list_352X, 1, &temp1_1260X);
|
|
v_1261X = AVAILABLEp(space_1257X);
|
|
if (v_1261X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_1259X;
|
|
goto L14153;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_1259X;
|
|
goto L14153;}}}}
|
|
L14153: {
|
|
okayP_1262X = arg2K0;
|
|
temp_1263X = arg0K1;
|
|
if (okayP_1262X) {
|
|
arg0K0 = temp_1263X;
|
|
goto L14111;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = temp_1263X;
|
|
goto L14111;}}
|
|
L14111: {
|
|
list_1264X = arg0K0;
|
|
a_1265X = *((long *) (((char *) (-3 + list_1264X))));
|
|
addr_1266X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_1266X) = 2050;
|
|
x_1267X = 3 + (((long) (addr_1266X + 4)));
|
|
*((long *) (((char *) (-3 + x_1267X)))) = a_1265X;
|
|
*((long *) ((((char *) (-3 + x_1267X))) + 4)) = 25;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + list_1264X))) + 4)));
|
|
arg0K1 = x_1267X;
|
|
goto L14126;}
|
|
L14126: {
|
|
l_1268X = arg0K0;
|
|
last_1269X = arg0K1;
|
|
if ((25 == l_1268X)) {
|
|
copy_listS0_return_value = x_1267X;
|
|
goto copy_listS_return;}
|
|
else {
|
|
a_1270X = *((long *) (((char *) (-3 + l_1268X))));
|
|
addr_1271X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_1271X) = 2050;
|
|
x_1272X = 3 + (((long) (addr_1271X + 4)));
|
|
*((long *) (((char *) (-3 + x_1272X)))) = a_1270X;
|
|
*((long *) ((((char *) (-3 + x_1272X))) + 4)) = 25;
|
|
addr_1273X = (((char *) (-3 + last_1269X))) + 4;
|
|
S48_WRITE_BARRIER(last_1269X, addr_1273X, x_1272X);
|
|
*((long *) addr_1273X) = x_1272X;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + l_1268X))) + 4)));
|
|
arg0K1 = x_1272X;
|
|
goto L14126;}}
|
|
copy_listS_return:
|
|
switch (copy_listS_return_tag) {
|
|
case 0: goto copy_listS_return_0;
|
|
case 1: goto copy_listS_return_1;
|
|
case 2: goto copy_listS_return_2;
|
|
default: goto copy_listS_return_3;
|
|
}}
|
|
|
|
copy_continuation_from_heapB: {
|
|
cont_351X = merged_arg0K0;{
|
|
top_1274X = (((char *) (-3 + (Sbottom_of_stackS)))) + (-8 - (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_351X))) + -4))))>>8)))));
|
|
new_cont_1275X = 3 + (((long) (top_1274X + 4)));
|
|
SstackS = (top_1274X + -4);
|
|
ScontS = new_cont_1275X;
|
|
v_1276X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_351X))) + -4))))>>8))))>>2);
|
|
memcpy((void *)top_1274X, (void *)((((char *) (-3 + cont_351X))) + -4),(4 + (((v_1276X)<<2))));
|
|
*((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = (*((long *) (((char *) (-3 + new_cont_1275X)))));
|
|
*((long *) (((char *) (-3 + new_cont_1275X)))) = (Sbottom_of_stackS);
|
|
copy_continuation_from_heapB0_return_value = new_cont_1275X;
|
|
goto copy_continuation_from_heapB_return;}
|
|
copy_continuation_from_heapB_return:
|
|
switch (copy_continuation_from_heapB_return_tag) {
|
|
case 0: goto copy_continuation_from_heapB_return_0;
|
|
default: goto copy_continuation_from_heapB_return_1;
|
|
}}
|
|
|
|
get_current_port: {
|
|
marker_350X = merged_arg0K0;{
|
|
thread_1277X = Scurrent_threadS;
|
|
if ((3 == (3 & thread_1277X))) {
|
|
if ((8 == (31 & ((((*((long *) ((((char *) (-3 + thread_1277X))) + -4))))>>2))))) {
|
|
if ((1 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thread_1277X))) + -4))))>>8))))>>2)))) {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + thread_1277X))) + 4)));
|
|
goto L10227;}
|
|
else {
|
|
goto L10277;}}
|
|
else {
|
|
goto L10277;}}
|
|
else {
|
|
goto L10277;}}
|
|
L10227: {
|
|
env_1278X = arg0K0;
|
|
if ((3 == (3 & env_1278X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + env_1278X))) + -4))))>>2))))) {
|
|
obj_1279X = *((long *) (((char *) (-3 + env_1278X))));
|
|
if ((3 == (3 & obj_1279X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + obj_1279X))) + -4))))>>2))))) {
|
|
if ((marker_350X == (*((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + env_1278X)))))))))))) {
|
|
get_current_port0_return_value = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + env_1278X)))))))) + 4)));
|
|
goto get_current_port_return;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + env_1278X))) + 4)));
|
|
goto L10227;}}
|
|
else {
|
|
goto L10299;}}
|
|
else {
|
|
goto L10299;}}
|
|
else {
|
|
goto L10299;}}
|
|
else {
|
|
goto L10299;}}
|
|
L10277: {
|
|
ps_error("current thread is not a record", 0);
|
|
get_current_port0_return_value = v_1280X;
|
|
goto get_current_port_return;}
|
|
L10299: {
|
|
if ((25 == env_1278X)) {
|
|
if (((((marker_350X)>>2)) == 1)) {
|
|
arg3K0 = "dynamic environment doesn't have current-output-port";
|
|
goto L10253;}
|
|
else {
|
|
arg3K0 = "dynamic environment doesn't have current-input-port";
|
|
goto L10253;}}
|
|
else {
|
|
ps_error("dynamic environment is not a proper list", 0);
|
|
get_current_port0_return_value = v_1281X;
|
|
goto get_current_port_return;}}
|
|
L10253: {
|
|
v_1282X = arg3K0;
|
|
ps_error(v_1282X, 0);
|
|
get_current_port0_return_value = v_1283X;
|
|
goto get_current_port_return;}
|
|
get_current_port_return:
|
|
switch (get_current_port_return_tag) {
|
|
case 0: goto get_current_port_return_0;
|
|
case 1: goto get_current_port_return_1;
|
|
default: goto get_current_port_return_2;
|
|
}}
|
|
|
|
okay_argument_list: {
|
|
list_349X = merged_arg0K0;{
|
|
arg0K0 = list_349X;
|
|
arg0K1 = 0;
|
|
arg0K2 = list_349X;
|
|
arg2K3 = 0;
|
|
goto L10094;}
|
|
L10094: {
|
|
fast_1284X = arg0K0;
|
|
len_1285X = arg0K1;
|
|
slow_1286X = arg0K2;
|
|
move_slowP_1287X = arg2K3;
|
|
if ((25 == fast_1284X)) {
|
|
okay_argument_list0_return_value = 1;
|
|
okay_argument_list1_return_value = len_1285X;
|
|
goto okay_argument_list_return;}
|
|
else {
|
|
if ((3 == (3 & fast_1284X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + fast_1284X))) + -4))))>>2))))) {
|
|
if (move_slowP_1287X) {
|
|
if ((fast_1284X == slow_1286X)) {
|
|
okay_argument_list0_return_value = 0;
|
|
okay_argument_list1_return_value = 0;
|
|
goto okay_argument_list_return;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + fast_1284X))) + 4)));
|
|
arg0K1 = (1 + len_1285X);
|
|
arg0K2 = (*((long *) ((((char *) (-3 + slow_1286X))) + 4)));
|
|
arg2K3 = 0;
|
|
goto L10094;}}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + fast_1284X))) + 4)));
|
|
arg0K1 = (1 + len_1285X);
|
|
arg0K2 = slow_1286X;
|
|
arg2K3 = 1;
|
|
goto L10094;}}
|
|
else {
|
|
okay_argument_list0_return_value = 0;
|
|
okay_argument_list1_return_value = 0;
|
|
goto okay_argument_list_return;}}
|
|
else {
|
|
okay_argument_list0_return_value = 0;
|
|
okay_argument_list1_return_value = 0;
|
|
goto okay_argument_list_return;}}}
|
|
okay_argument_list_return:
|
|
switch (okay_argument_list_return_tag) {
|
|
case 0: goto okay_argument_list_return_0;
|
|
default: goto okay_argument_list_return_1;
|
|
}}
|
|
|
|
get_error_string: {
|
|
status_348X = merged_arg0K0;{
|
|
string_1288X = ps_error_string(status_348X);
|
|
x_1289X = strlen((char *) string_1288X);
|
|
if ((x_1289X < 256)) {
|
|
arg0K0 = x_1289X;
|
|
goto L9602;}
|
|
else {
|
|
arg0K0 = 256;
|
|
goto L9602;}}
|
|
L9602: {
|
|
len_1290X = arg0K0;
|
|
len_1291X = 1 + len_1290X;
|
|
addr_1292X = ALLOCATE_SPACE(16, (4 + len_1291X));
|
|
*((long *) addr_1292X) = (66 + (((len_1291X)<<8)));
|
|
string_1293X = 3 + (((long) (addr_1292X + 4)));
|
|
*((unsigned char *) ((((char *) (-3 + string_1293X))) + len_1290X)) = 0;
|
|
arg0K0 = 0;
|
|
goto L9612;}
|
|
L9612: {
|
|
i_1294X = arg0K0;
|
|
if ((i_1294X == len_1290X)) {
|
|
get_error_string0_return_value = string_1293X;
|
|
goto get_error_string_return;}
|
|
else {
|
|
*((unsigned char *) ((((char *) (-3 + string_1293X))) + i_1294X)) = ((*(string_1288X + i_1294X)));
|
|
arg0K0 = (1 + i_1294X);
|
|
goto L9612;}}
|
|
get_error_string_return:
|
|
switch (get_error_string_return_tag) {
|
|
case 0: goto get_error_string_return_0;
|
|
case 1: goto get_error_string_return_1;
|
|
case 2: goto get_error_string_return_2;
|
|
case 3: goto get_error_string_return_3;
|
|
case 4: goto get_error_string_return_4;
|
|
default: goto get_error_string_return_5;
|
|
}}
|
|
|
|
pop_continuationB: {
|
|
{ cont_1295X = ScontS;
|
|
tem_1296X = *((long *) ((((char *) (-3 + cont_1295X))) + 8));
|
|
pc_1297X = *((long *) ((((char *) (-3 + cont_1295X))) + 4));
|
|
StemplateS = tem_1296X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_1296X)))))))) + (((pc_1297X)>>2)));
|
|
SenvS = (*((long *) ((((char *) (-3 + cont_1295X))) + 12)));
|
|
ScontS = (*((long *) (((char *) (-3 + cont_1295X)))));
|
|
SstackS = ((((char *) (-3 + cont_1295X))) + 12);
|
|
goto pop_continuationB_return;}
|
|
pop_continuationB_return:
|
|
switch (pop_continuationB_return_tag) {
|
|
case 0: goto pop_continuationB_return_0;
|
|
case 1: goto pop_continuationB_return_1;
|
|
default: goto pop_continuationB_return_2;
|
|
}}
|
|
|
|
}
|
|
long s48_call_startup_procedure(char **startup_vector_1298X, long startup_vector_length_1299X)
|
|
{
|
|
char arg2K0;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long v_1348X;
|
|
long x_1347X;
|
|
long x_1346X;
|
|
char * addr_1345X;
|
|
long b_1344X;
|
|
long channel_1343X;
|
|
long x_1342X;
|
|
char * addr_1341X;
|
|
long b_1340X;
|
|
long channel_1339X;
|
|
long x_1338X;
|
|
char * addr_1337X;
|
|
long b_1336X;
|
|
long channel_1335X;
|
|
long key_1334X;
|
|
long key_1333X;
|
|
char okayP_1332X;
|
|
char v_1331X;
|
|
long temp1_1330X;
|
|
char v_1329X;
|
|
long space_1328X;
|
|
long i_1327X;
|
|
long length_1326X;
|
|
long *v_1325X;
|
|
long v_1324X;
|
|
long v_1323X;
|
|
long y_1322X;
|
|
long x_1321X;
|
|
long v_1320X;
|
|
long x_1319X;
|
|
long y_1318X;
|
|
char * addr_1317X;
|
|
long value_1316X;
|
|
long x_1315X;
|
|
long y_1314X;
|
|
long i_1313X;
|
|
long vector_1312X;
|
|
char * addr_1311X;
|
|
long len_1310X;
|
|
long key_1309X;
|
|
long key_1308X;
|
|
char okayP_1307X;
|
|
char v_1306X;
|
|
long temp1_1305X;
|
|
char v_1304X;
|
|
long space_1303X;
|
|
long size_1302X;
|
|
long i_1301X;
|
|
long tem_1300X;
|
|
{ SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8);
|
|
*((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = 1;
|
|
ScontS = (Sbottom_of_stackS);
|
|
SenvS = 13;
|
|
tem_1300X = Sinterrupt_templateS;
|
|
StemplateS = tem_1300X;
|
|
Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_1300X))))))));
|
|
SvalS = 13;
|
|
Scurrent_threadS = 25;
|
|
Ssession_dataS = 25;
|
|
Sexception_handlersS = 25;
|
|
Sinterrupt_handlersS = 25;
|
|
Senabled_interruptsS = 0;
|
|
Sfinalizer_alistS = 25;
|
|
Sfinalize_theseS = 25;
|
|
Spending_interruptsS = 0;
|
|
s48_Spending_interruptPS = 0;
|
|
Sinterrupted_templateS = 1;
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L15617;}
|
|
L15617: {
|
|
i_1301X = arg0K0;
|
|
size_1302X = arg0K1;
|
|
if ((i_1301X == startup_vector_length_1299X)) {
|
|
space_1303X = 1 + (size_1302X + startup_vector_length_1299X);
|
|
v_1304X = AVAILABLEp(space_1303X);
|
|
if (v_1304X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15654;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_1305X);
|
|
v_1306X = AVAILABLEp(space_1303X);
|
|
if (v_1306X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15654;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L15654;}}}
|
|
else {
|
|
arg0K0 = (1 + i_1301X);
|
|
arg0K1 = (1 + (size_1302X + ((((4 + (strlen((char *) (*(startup_vector_1298X + i_1301X))))))>>2))));
|
|
goto L15617;}}
|
|
L15654: {
|
|
okayP_1307X = arg2K0;
|
|
key_1308X = arg0K1;
|
|
if (okayP_1307X) {
|
|
arg0K0 = key_1308X;
|
|
goto L15632;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_1308X;
|
|
goto L15632;}}
|
|
L15632: {
|
|
key_1309X = arg0K0;
|
|
len_1310X = ((startup_vector_length_1299X)<<2);
|
|
addr_1311X = ALLOCATE_SPACE(2, (4 + len_1310X));
|
|
*((long *) addr_1311X) = (10 + (((len_1310X)<<8)));
|
|
vector_1312X = 3 + (((long) (addr_1311X + 4)));
|
|
arg0K0 = 0;
|
|
goto L15690;}
|
|
L15690: {
|
|
i_1313X = arg0K0;
|
|
if ((i_1313X == startup_vector_length_1299X)) {
|
|
*((long *) (SstackS)) = vector_1312X;
|
|
SstackS = ((SstackS) + -4);
|
|
y_1314X = fileno((stderr));
|
|
x_1315X = fileno((stdout));
|
|
if ((x_1315X < y_1314X)) {
|
|
arg0K0 = y_1314X;
|
|
goto L14526;}
|
|
else {
|
|
arg0K0 = x_1315X;
|
|
goto L14526;}}
|
|
else {
|
|
value_1316X = enter_string((*(startup_vector_1298X + i_1313X)), key_1309X);
|
|
addr_1317X = (((char *) (-3 + vector_1312X))) + (((i_1313X)<<2));
|
|
S48_WRITE_BARRIER(vector_1312X, addr_1317X, value_1316X);
|
|
*((long *) addr_1317X) = value_1316X;
|
|
arg0K0 = (1 + i_1313X);
|
|
goto L15690;}}
|
|
L14526: {
|
|
y_1318X = arg0K0;
|
|
x_1319X = fileno((stdin));
|
|
if ((x_1319X < y_1318X)) {
|
|
arg0K0 = y_1318X;
|
|
goto L14528;}
|
|
else {
|
|
arg0K0 = x_1319X;
|
|
goto L14528;}}
|
|
L14528: {
|
|
v_1320X = arg0K0;
|
|
x_1321X = Snumber_of_channelsS;
|
|
y_1322X = 1 + v_1320X;
|
|
if ((x_1321X < y_1322X)) {
|
|
arg0K0 = y_1322X;
|
|
goto L14530;}
|
|
else {
|
|
arg0K0 = x_1321X;
|
|
goto L14530;}}
|
|
L14530: {
|
|
v_1323X = arg0K0;
|
|
Snumber_of_channelsS = v_1323X;
|
|
v_1324X = fileno((stdin));
|
|
Svm_channelsS = ((long*)malloc(sizeof(long) * (Snumber_of_channelsS)));
|
|
Spending_channels_headS = 1;
|
|
Spending_channels_tailS = 1;
|
|
if ((NULL == (Svm_channelsS))) {
|
|
ps_error("out of memory, unable to continue", 0);
|
|
goto L14552;}
|
|
else {
|
|
goto L14552;}}
|
|
L14552: {
|
|
v_1325X = Svm_channelsS;
|
|
length_1326X = Snumber_of_channelsS;
|
|
arg0K0 = 0;
|
|
goto L14600;}
|
|
L14600: {
|
|
i_1327X = arg0K0;
|
|
if ((i_1327X < length_1326X)) {
|
|
*(v_1325X + i_1327X) = 1;
|
|
arg0K0 = (1 + i_1327X);
|
|
goto L14600;}
|
|
else {
|
|
space_1328X = 3 * (7 + ((((4 + (strlen((char *) "standard output"))))>>2)));
|
|
v_1329X = AVAILABLEp(space_1328X);
|
|
if (v_1329X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L14614;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_1330X);
|
|
v_1331X = AVAILABLEp(space_1328X);
|
|
if (v_1331X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L14614;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L14614;}}}}
|
|
L14614: {
|
|
okayP_1332X = arg2K0;
|
|
key_1333X = arg0K1;
|
|
if (okayP_1332X) {
|
|
arg0K0 = key_1333X;
|
|
goto L14558;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_1333X;
|
|
goto L14558;}}
|
|
L14558: {
|
|
key_1334X = arg0K0;
|
|
channel_1335X = fileno((stdin));
|
|
b_1336X = enter_string("standard input", key_1334X);
|
|
addr_1337X = ALLOCATE_SPACE(5, 24);
|
|
*((long *) addr_1337X) = 5142;
|
|
x_1338X = 3 + (((long) (addr_1337X + 4)));
|
|
*((long *) (((char *) (-3 + x_1338X)))) = 4;
|
|
*((long *) ((((char *) (-3 + x_1338X))) + 4)) = b_1336X;
|
|
*((long *) ((((char *) (-3 + x_1338X))) + 8)) = (((channel_1335X)<<2));
|
|
*((long *) ((((char *) (-3 + x_1338X))) + 12)) = 1;
|
|
*((long *) ((((char *) (-3 + x_1338X))) + 16)) = 1;
|
|
*((Svm_channelsS) + channel_1335X) = x_1338X;
|
|
channel_1339X = fileno((stderr));
|
|
b_1340X = enter_string("standard error", key_1334X);
|
|
addr_1341X = ALLOCATE_SPACE(5, 24);
|
|
*((long *) addr_1341X) = 5142;
|
|
x_1342X = 3 + (((long) (addr_1341X + 4)));
|
|
*((long *) (((char *) (-3 + x_1342X)))) = 8;
|
|
*((long *) ((((char *) (-3 + x_1342X))) + 4)) = b_1340X;
|
|
*((long *) ((((char *) (-3 + x_1342X))) + 8)) = (((channel_1339X)<<2));
|
|
*((long *) ((((char *) (-3 + x_1342X))) + 12)) = 1;
|
|
*((long *) ((((char *) (-3 + x_1342X))) + 16)) = 1;
|
|
*((Svm_channelsS) + channel_1339X) = x_1342X;
|
|
channel_1343X = fileno((stdout));
|
|
b_1344X = enter_string("standard output", key_1334X);
|
|
addr_1345X = ALLOCATE_SPACE(5, 24);
|
|
*((long *) addr_1345X) = 5142;
|
|
x_1346X = 3 + (((long) (addr_1345X + 4)));
|
|
*((long *) (((char *) (-3 + x_1346X)))) = 8;
|
|
*((long *) ((((char *) (-3 + x_1346X))) + 4)) = b_1344X;
|
|
*((long *) ((((char *) (-3 + x_1346X))) + 8)) = (((channel_1343X)<<2));
|
|
*((long *) ((((char *) (-3 + x_1346X))) + 12)) = 1;
|
|
*((long *) ((((char *) (-3 + x_1346X))) + 16)) = 1;
|
|
*((Svm_channelsS) + channel_1343X) = x_1346X;
|
|
*((long *) (SstackS)) = x_1338X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_1346X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_1342X;
|
|
SstackS = ((SstackS) + -4);
|
|
x_1347X = s48_resumer_records();
|
|
*((long *) (SstackS)) = x_1347X;
|
|
SstackS = ((SstackS) + -4);
|
|
s48_initialization_completeB();
|
|
v_1348X = s48_startup_procedure();
|
|
return s48_restart(v_1348X, 5);}
|
|
}void
|
|
s48_init(void)
|
|
{
|
|
Snumber_of_channelsS = 100;
|
|
Spending_channels_headS = 1;
|
|
Spending_channels_tailS = 1;
|
|
Sstack_warningPS = 1;
|
|
Slosing_opcodeS = 0;
|
|
Sos_signal_typeS = 1;
|
|
Sos_signal_argumentS = 1;
|
|
Sexternal_exceptionPS = 0;
|
|
Sexternal_root_stackS = NULL;
|
|
Sexternal_root_stack_baseS = NULL;
|
|
Spermanent_external_rootsS = NULL;
|
|
Sgc_root_procS = HtopD8911;
|
|
Spost_gc_cleanupS = HtopD8904;
|
|
s48_Scallback_return_stack_blockS = 1;
|
|
s48_Spending_eventsPS = 0;
|
|
}
|