10609 lines
308 KiB
C
10609 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(void);
|
|
char s48_release_gc_roots_baseB(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 L2377;}
|
|
else {
|
|
arg0K0 = x_6X;
|
|
goto L2377;}}
|
|
L2377: {
|
|
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 L2389;}}
|
|
L2389: {
|
|
i_10X = arg0K0;
|
|
if ((i_10X == (Snumber_of_channelsS))) {
|
|
arg0K0 = (Snumber_of_channelsS);
|
|
goto L2404;}
|
|
else {
|
|
*(new_vm_channels_9X + i_10X) = (*((Svm_channelsS) + i_10X));
|
|
arg0K0 = (1 + i_10X);
|
|
goto L2389;}}
|
|
L2404: {
|
|
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 L2404;}}
|
|
}
|
|
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 L8008;}
|
|
else {
|
|
goto L8008;}}
|
|
L8008: {
|
|
v_23X = *((long *) (((char *) (-3 + channel_19X))));
|
|
if ((4 == v_23X)) {
|
|
goto L8023;}
|
|
else {
|
|
if ((12 == (*((long *) (((char *) (-3 + channel_19X))))))) {
|
|
goto L8023;}
|
|
else {
|
|
v_24X = ps_close_fd(os_index_20X);
|
|
arg0K0 = v_24X;
|
|
goto L8030;}}}
|
|
L8023: {
|
|
v_25X = ps_close_fd(os_index_20X);
|
|
arg0K0 = v_25X;
|
|
goto L8030;}
|
|
L8030: {
|
|
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 L9538;}
|
|
L9538: {
|
|
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 L9538;}
|
|
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 L9728;}
|
|
L9728: {
|
|
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 L9748;}}
|
|
L9748: {
|
|
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 L9728;}
|
|
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 L9753;}
|
|
else {
|
|
arg0K0 = okay_46X;
|
|
goto L9753;}}}
|
|
L9753: {
|
|
v_51X = arg0K0;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + foo_45X))) + 4)));
|
|
arg0K1 = v_51X;
|
|
goto L9748;}
|
|
}
|
|
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 L9961;}
|
|
L9961: {
|
|
p_56X = arg1K0;
|
|
i_57X = arg0K1;
|
|
if ((2 == (3 & (*((long *) p_56X))))) {
|
|
if ((22 == (*((long *) p_56X)))) {
|
|
arg0K0 = (-1 + i_57X);
|
|
goto L9902;}
|
|
else {
|
|
arg0K0 = i_57X;
|
|
goto L9902;}}
|
|
else {
|
|
arg1K0 = (p_56X + 4);
|
|
arg0K1 = (1 + i_57X);
|
|
goto L9961;}}
|
|
L9902: {
|
|
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 L10829;}
|
|
else {
|
|
x_64X = add_more_channels(os_index_61X);
|
|
if (x_64X) {
|
|
goto L10829;}
|
|
else {
|
|
*TT0 = 9;
|
|
return 1;}}}
|
|
L10829: {
|
|
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 L11475;}
|
|
else {
|
|
goto L11469;}}
|
|
else {
|
|
goto L11469;}}
|
|
L11475: {
|
|
PS_WRITE_CHAR(10, (stderr), v_70X)
|
|
return v_70X;}
|
|
L11469: {
|
|
ps_write_integer((((index_68X)>>2)), (stderr));
|
|
goto L11475;}
|
|
}
|
|
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 L6267;}
|
|
L6267: {
|
|
frame_71X = arg1K0;
|
|
if ((frame_71X == NULL)) {
|
|
arg1K0 = (Spermanent_external_rootsS);
|
|
goto L6293;}
|
|
else {
|
|
length_72X = *((long *) frame_71X);
|
|
arg0K0 = 0;
|
|
goto L6275;}}
|
|
L6293: {
|
|
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 L5301;}
|
|
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 L6293;}}
|
|
L6275: {
|
|
i_90X = arg0K0;
|
|
if ((i_90X == length_72X)) {
|
|
arg1K0 = (((char *) (*((long *) (frame_71X + 4)))));
|
|
goto L6267;}
|
|
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 L6275;}}
|
|
L5301: {
|
|
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 L5895;}
|
|
else {
|
|
goto L5928;}}
|
|
else {
|
|
pair_97X = *((long *) (((char *) (-3 + alist_93X))));
|
|
x_98X = s48_extantP((*((long *) (((char *) (-3 + pair_97X))))));
|
|
if (x_98X) {
|
|
goto L5326;}
|
|
else {
|
|
s48_trace_stob_contentsB((*((long *) (((char *) (-3 + pair_97X))))));
|
|
goto L5326;}}}
|
|
L5895: {
|
|
a_99X = arg1K0;
|
|
if ((252645135 == (*((long *) a_99X)))) {
|
|
arg1K0 = (a_99X + 4);
|
|
goto L5895;}
|
|
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 L5928;}
|
|
else {
|
|
goto L5928;}}}
|
|
L5928: {
|
|
arg1K0 = ((SstackS) + 4);
|
|
arg0K1 = 0;
|
|
goto L5993;}
|
|
L5326: {
|
|
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 L5301;}
|
|
L5993: {
|
|
p_103X = arg1K0;
|
|
i_104X = arg0K1;
|
|
if ((2 == (3 & (*((long *) p_103X))))) {
|
|
if ((22 == (*((long *) p_103X)))) {
|
|
arg0K0 = (-1 + i_104X);
|
|
goto L5930;}
|
|
else {
|
|
arg0K0 = i_104X;
|
|
goto L5930;}}
|
|
else {
|
|
arg1K0 = (p_103X + 4);
|
|
arg0K1 = (1 + i_104X);
|
|
goto L5993;}}
|
|
L5930: {
|
|
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 L5946;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_106X)) {
|
|
goto L5946;}
|
|
else {
|
|
env_107X = SenvS;
|
|
arg0K0 = env_107X;
|
|
goto L6106;}}}
|
|
else {
|
|
goto L5946;}}
|
|
L5946: {
|
|
v_108X = s48_trace_value((SenvS));
|
|
SenvS = v_108X;
|
|
goto L5951;}
|
|
L6106: {
|
|
env_109X = arg0K0;
|
|
if ((3 == (3 & env_109X))) {
|
|
if ((env_109X < (((long) (Sstack_beginS))))) {
|
|
goto L5951;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < env_109X)) {
|
|
goto L5951;}
|
|
else {
|
|
s48_trace_stob_contentsB(env_109X);
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_109X)))));
|
|
goto L6106;}}}
|
|
else {
|
|
goto L5951;}}
|
|
L5951: {
|
|
arg0K0 = (ScontS);
|
|
arg0K1 = 0;
|
|
goto L5956;}
|
|
L5956: {
|
|
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 L5974;}
|
|
else {
|
|
arg0K0 = env_112X;
|
|
goto L6061;}}
|
|
L5974: {
|
|
if ((cont_110X == (Sbottom_of_stackS))) {
|
|
return;}
|
|
else {
|
|
arg0K0 = (*((long *) (((char *) (-3 + cont_110X)))));
|
|
arg0K1 = env_112X;
|
|
goto L5956;}}
|
|
L6061: {
|
|
env_113X = arg0K0;
|
|
if ((3 == (3 & env_113X))) {
|
|
if ((env_113X < (((long) (Sstack_beginS))))) {
|
|
goto L5974;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < env_113X)) {
|
|
goto L5974;}
|
|
else {
|
|
s48_trace_stob_contentsB(env_113X);
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_113X)))));
|
|
goto L6061;}}}
|
|
else {
|
|
goto L5974;}}
|
|
}
|
|
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 L13096;}
|
|
L13096: {
|
|
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 L13096;}
|
|
else {
|
|
index_120X = 1023 & h_119X;
|
|
bucket_121X = *((long *) ((((char *) (-3 + table_114X))) + (((index_120X)<<2))));
|
|
arg0K0 = bucket_121X;
|
|
goto L13064;}}
|
|
L13064: {
|
|
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 L13080;}}
|
|
else {
|
|
goto L13080;}}}
|
|
L13080: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + foo_122X))) + 12)));
|
|
goto L13064;}
|
|
}
|
|
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 L13221;}
|
|
L13221: {
|
|
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 L13221;}
|
|
else {
|
|
index_134X = 1023 & h_133X;
|
|
bucket_135X = *((long *) ((((char *) (-3 + table_128X))) + (((index_134X)<<2))));
|
|
arg0K0 = bucket_135X;
|
|
goto L13189;}}
|
|
L13189: {
|
|
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 L13205;}}
|
|
else {
|
|
goto L13205;}}}
|
|
L13205: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + foo_136X))) + 12)));
|
|
goto L13189;}
|
|
}
|
|
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 L7734;}
|
|
L7734: {
|
|
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 L7742;}
|
|
else {
|
|
arg0K0 = goners_147X;
|
|
goto L7795;}}
|
|
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 L7734;}
|
|
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 L7734;}}}
|
|
L7742: {
|
|
v_159X = arg0K0;
|
|
Sfinalize_theseS = v_159X;
|
|
arg0K0 = 0;
|
|
goto L12528;}
|
|
L7795: {
|
|
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 L7742;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + l_160X))) + 4)));
|
|
goto L7795;}}
|
|
L12528: {
|
|
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 L12564;}
|
|
else {
|
|
header_164X = *((long *) ((((char *) (-3 + channel_163X))) + -4));
|
|
if ((3 == (3 & header_164X))) {
|
|
arg0K0 = header_164X;
|
|
goto L12557;}
|
|
else {
|
|
if ((0 == (*((long *) (((char *) (-3 + channel_163X))))))) {
|
|
arg0K0 = 1;
|
|
goto L12557;}
|
|
else {
|
|
id_165X = *((long *) ((((char *) (-3 + channel_163X))) + 4));
|
|
if ((0 == (3 & id_165X))) {
|
|
arg0K0 = id_165X;
|
|
goto L12240;}
|
|
else {
|
|
if ((3 == (3 & (*((long *) ((((char *) (-3 + id_165X))) + -4)))))) {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + id_165X))) + -4)));
|
|
goto L12240;}
|
|
else {
|
|
arg0K0 = id_165X;
|
|
goto L12240;}}}}}}}
|
|
L12564: {
|
|
arg0K0 = (1 + i_162X);
|
|
goto L12528;}
|
|
L12557: {
|
|
new_166X = arg0K0;
|
|
*((Svm_channelsS) + i_162X) = new_166X;
|
|
goto L12564;}
|
|
L12240: {
|
|
id_167X = arg0K0;
|
|
status_168X = close_channelB(channel_163X);
|
|
if ((status_168X == NO_ERRORS)) {
|
|
goto L12255;}
|
|
else {
|
|
channel_close_error(status_168X, (*((long *) ((((char *) (-3 + channel_163X))) + 8))), id_167X);
|
|
goto L12255;}}
|
|
L12255: {
|
|
ps_write_string("Channel closed: ", (stderr));
|
|
if ((0 == (3 & id_167X))) {
|
|
ps_write_integer((((id_167X)>>2)), (stderr));
|
|
goto L12273;}
|
|
else {
|
|
ps_write_string((((char *)(((char *) (-3 + id_167X))))), (stderr));
|
|
goto L12273;}}
|
|
L12273: {
|
|
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 L12557;}
|
|
}
|
|
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(void)
|
|
{
|
|
char * old_base_176X;
|
|
{ old_base_176X = Sexternal_root_stack_baseS;
|
|
Sexternal_root_stack_baseS = (Sexternal_root_stackS);
|
|
return old_base_176X;}
|
|
}
|
|
char s48_release_gc_roots_baseB(char * old_base_177X)
|
|
{
|
|
char okayP_178X;
|
|
{ okayP_178X = (Sexternal_root_stackS) == (Sexternal_root_stack_baseS);
|
|
Sexternal_root_stack_baseS = old_base_177X;
|
|
Sexternal_root_stackS = old_base_177X;
|
|
return okayP_178X;}
|
|
}
|
|
void s48_disable_interruptsB(void)
|
|
{
|
|
|
|
{ s48_Spending_interruptPS = 0;
|
|
Senabled_interruptsS = 0;
|
|
return;}
|
|
}
|
|
void s48_push_gc_rootsB(char * frame_179X, long n_180X)
|
|
{
|
|
|
|
{ *((long *) frame_179X) = n_180X;
|
|
*((long *) (frame_179X + 4)) = (((long) (Sexternal_root_stackS)));
|
|
Sexternal_root_stackS = frame_179X;
|
|
return;}
|
|
}
|
|
void s48_register_gc_rootB(char * loc_addr_181X)
|
|
{
|
|
char * frame_182X;
|
|
{ frame_182X = (char *)malloc(8);
|
|
if ((frame_182X == NULL)) {
|
|
ps_error("out of memory registering a global root", 0);
|
|
goto L3187;}
|
|
else {
|
|
goto L3187;}}
|
|
L3187: {
|
|
*((long *) frame_182X) = (((long) (Spermanent_external_rootsS)));
|
|
*((long *) (frame_182X + 4)) = (((long) loc_addr_181X));
|
|
Spermanent_external_rootsS = frame_182X;
|
|
return;}
|
|
}
|
|
void s48_stack_setB(long x_183X, long value_184X)
|
|
{
|
|
|
|
{ *((long *) ((SstackS) + (4 + (((x_183X)<<2))))) = value_184X;
|
|
return;}
|
|
}
|
|
long s48_stack_ref(long i_185X)
|
|
{
|
|
|
|
{ return (*((long *) ((SstackS) + (4 + (((i_185X)<<2))))));}
|
|
}
|
|
void s48_push(long x_186X)
|
|
{
|
|
|
|
{ *((long *) (SstackS)) = x_186X;
|
|
SstackS = ((SstackS) + -4);
|
|
return;}
|
|
}
|
|
long s48_resetup_external_exception(long new_why_187X, long additional_nargs_188X)
|
|
{
|
|
long old_why_190X;
|
|
long old_nargs_189X;
|
|
{ old_nargs_189X = Sexternal_exception_nargsS;
|
|
old_why_190X = *((long *) ((SstackS) + (4 + (((old_nargs_189X)<<2)))));
|
|
*((long *) ((SstackS) + (4 + (((old_nargs_189X)<<2))))) = (((new_why_187X)<<2));
|
|
Sexternal_exception_nargsS = (old_nargs_189X + additional_nargs_188X);
|
|
return old_why_190X;}
|
|
}
|
|
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_196X;
|
|
char * addr_195X;
|
|
long descriptor_194X;
|
|
long header_193X;
|
|
long channel_192X;
|
|
long i_191X;
|
|
{ arg0K0 = 0;
|
|
goto L6344;}
|
|
L6344: {
|
|
i_191X = arg0K0;
|
|
if ((i_191X == (Snumber_of_channelsS))) {
|
|
return;}
|
|
else {
|
|
channel_192X = *((Svm_channelsS) + i_191X);
|
|
if ((1 == channel_192X)) {
|
|
goto L6404;}
|
|
else {
|
|
header_193X = *((long *) ((((char *) (-3 + channel_192X))) + -4));
|
|
if ((3 == (3 & header_193X))) {
|
|
ps_write_string("Channel closed in dumped image: ", (stderr));
|
|
descriptor_194X = *((long *) ((((char *) (-3 + channel_192X))) + 4));
|
|
if ((0 == (3 & descriptor_194X))) {
|
|
ps_write_integer(((((*((long *) ((((char *) (-3 + channel_192X))) + 4))))>>2)), (stderr));
|
|
goto L6390;}
|
|
else {
|
|
ps_write_string((((char *)(((char *) (-3 + (*((long *) ((((char *) (-3 + channel_192X))) + 4)))))))), (stderr));
|
|
goto L6390;}}
|
|
else {
|
|
goto L6404;}}}}
|
|
L6404: {
|
|
arg0K0 = (1 + i_191X);
|
|
goto L6344;}
|
|
L6390: {
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
addr_195X = ((char *) (-3 + header_193X));
|
|
S48_WRITE_BARRIER(header_193X, addr_195X, 0);
|
|
*((long *) addr_195X) = 0;
|
|
addr_196X = (((char *) (-3 + header_193X))) + 8;
|
|
S48_WRITE_BARRIER(header_193X, addr_196X, -4);
|
|
*((long *) addr_196X) = -4;
|
|
goto L6404;}
|
|
}
|
|
long s48_set_channel_os_index(long channel_197X, long os_index_198X)
|
|
{
|
|
char * addr_205X;
|
|
long val_204X;
|
|
long v_203X;
|
|
long x_202X;
|
|
long old_index_201X;
|
|
char x_200X;
|
|
char temp_199X;
|
|
{ temp_199X = os_index_198X < (Snumber_of_channelsS);
|
|
if (temp_199X) {
|
|
goto L7913;}
|
|
else {
|
|
x_200X = add_more_channels(os_index_198X);
|
|
if (x_200X) {
|
|
goto L7913;}
|
|
else {
|
|
return 36;}}}
|
|
L7913: {
|
|
if ((1 == (*((Svm_channelsS) + os_index_198X)))) {
|
|
old_index_201X = (((*((long *) ((((char *) (-3 + channel_197X))) + 8))))>>2);
|
|
x_202X = *((long *) ((((char *) (-3 + channel_197X))) + 16));
|
|
if ((5 == x_202X)) {
|
|
v_203X = ps_abort_fd_op(old_index_201X);
|
|
enqueue_channelB(old_index_201X, v_203X);
|
|
goto L7899;}
|
|
else {
|
|
goto L7899;}}
|
|
else {
|
|
return 44;}}
|
|
L7899: {
|
|
*((Svm_channelsS) + old_index_201X) = 1;
|
|
*((Svm_channelsS) + os_index_198X) = channel_197X;
|
|
val_204X = ((os_index_198X)<<2);
|
|
addr_205X = (((char *) (-3 + channel_197X))) + 8;
|
|
S48_WRITE_BARRIER(channel_197X, addr_205X, val_204X);
|
|
*((long *) addr_205X) = val_204X;
|
|
return 5;}
|
|
}
|
|
long s48_cleaned_imported_bindings(void)
|
|
{
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long v_219X;
|
|
char * addr_218X;
|
|
long entry_217X;
|
|
char * addr_216X;
|
|
long new_foo_215X;
|
|
char v_214X;
|
|
char * addr_213X;
|
|
long okay_212X;
|
|
long foo_211X;
|
|
long i_210X;
|
|
long foo_209X;
|
|
long i_208X;
|
|
long table_207X;
|
|
long table_206X;
|
|
{ table_206X = s48_trace_value((Simported_bindingsS));
|
|
table_207X = s48_trace_value(table_206X);
|
|
arg0K0 = 0;
|
|
goto L8590;}
|
|
L8590: {
|
|
i_208X = arg0K0;
|
|
if ((1024 == i_208X)) {
|
|
arg0K0 = 0;
|
|
goto L9679;}
|
|
else {
|
|
foo_209X = *((long *) ((((char *) (-3 + table_207X))) + (((i_208X)<<2))));
|
|
arg0K0 = foo_209X;
|
|
arg0K1 = 1;
|
|
goto L8610;}}
|
|
L9679: {
|
|
i_210X = arg0K0;
|
|
if ((1024 == i_210X)) {
|
|
return table_206X;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + table_206X))) + (((i_210X)<<2)))));
|
|
goto L9687;}}
|
|
L8610: {
|
|
foo_211X = arg0K0;
|
|
okay_212X = arg0K1;
|
|
if ((1 == foo_211X)) {
|
|
addr_213X = (((char *) (-3 + table_207X))) + (((i_208X)<<2));
|
|
S48_WRITE_BARRIER(table_207X, addr_213X, okay_212X);
|
|
*((long *) addr_213X) = okay_212X;
|
|
arg0K0 = (1 + i_208X);
|
|
goto L8590;}
|
|
else {
|
|
v_214X = s48_extantP(foo_211X);
|
|
if (v_214X) {
|
|
new_foo_215X = s48_trace_value(foo_211X);
|
|
addr_216X = (((char *) (-3 + new_foo_215X))) + 12;
|
|
S48_WRITE_BARRIER(new_foo_215X, addr_216X, okay_212X);
|
|
*((long *) addr_216X) = okay_212X;
|
|
arg0K0 = new_foo_215X;
|
|
goto L8615;}
|
|
else {
|
|
arg0K0 = okay_212X;
|
|
goto L8615;}}}
|
|
L9687: {
|
|
entry_217X = arg0K0;
|
|
if ((1 == entry_217X)) {
|
|
arg0K0 = (1 + i_210X);
|
|
goto L9679;}
|
|
else {
|
|
addr_218X = (((char *) (-3 + entry_217X))) + 8;
|
|
S48_WRITE_BARRIER(entry_217X, addr_218X, 529);
|
|
*((long *) addr_218X) = 529;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + entry_217X))) + 12)));
|
|
goto L9687;}}
|
|
L8615: {
|
|
v_219X = arg0K0;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + foo_211X))) + 12)));
|
|
arg0K1 = v_219X;
|
|
goto L8610;}
|
|
}
|
|
long s48_copy_symbol_table(void)
|
|
{
|
|
long new_220X;
|
|
{ new_220X = s48_trace_value((Sthe_symbol_tableS));
|
|
HcleanerB2170(new_220X);
|
|
return new_220X;}
|
|
}
|
|
void s48_setup_external_exception(long why_221X, long nargs_222X)
|
|
{
|
|
|
|
{ push_exception_continuationB(why_221X, 1);
|
|
if ((10 < nargs_222X)) {
|
|
ps_error("too many arguments from external exception", 0);
|
|
goto L11031;}
|
|
else {
|
|
goto L11031;}}
|
|
L11031: {
|
|
Sexternal_exception_nargsS = nargs_222X;
|
|
Sexternal_exceptionPS = 1;
|
|
return;}
|
|
}
|
|
void s48_close_channel(long os_index_223X)
|
|
{
|
|
long obj_224X;
|
|
{ if ((os_index_223X < 0)) {
|
|
return;}
|
|
else {
|
|
if ((os_index_223X < (Snumber_of_channelsS))) {
|
|
obj_224X = *((Svm_channelsS) + os_index_223X);
|
|
if ((3 == (3 & obj_224X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_224X))) + -4))))>>2))))) {
|
|
close_channelB((*((Svm_channelsS) + os_index_223X)));
|
|
return;}
|
|
else {
|
|
return;}}
|
|
else {
|
|
return;}}
|
|
else {
|
|
return;}}}
|
|
}
|
|
char s48_warn_about_undefined_imported_bindings(void)
|
|
{
|
|
long arg0K0;
|
|
long name_230X;
|
|
long entry_229X;
|
|
char temp_228X;
|
|
long i_227X;
|
|
long table_226X;
|
|
FILE * out_225X;
|
|
{ out_225X = stderr;
|
|
table_226X = Simported_bindingsS;
|
|
arg0K0 = 0;
|
|
goto L11571;}
|
|
L11571: {
|
|
i_227X = arg0K0;
|
|
temp_228X = 1024 == i_227X;
|
|
if (temp_228X) {
|
|
return temp_228X;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + table_226X))) + (((i_227X)<<2)))));
|
|
goto L11579;}}
|
|
L11579: {
|
|
entry_229X = arg0K0;
|
|
if ((1 == entry_229X)) {
|
|
arg0K0 = (1 + i_227X);
|
|
goto L11571;}
|
|
else {
|
|
if ((17 == (255 & (*((long *) ((((char *) (-3 + entry_229X))) + 8)))))) {
|
|
name_230X = *((long *) (((char *) (-3 + entry_229X))));
|
|
ps_write_string("undefined imported name ", out_225X);
|
|
if ((3 == (3 & name_230X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + name_230X))) + -4))))>>2))))) {
|
|
ps_write_string((((char *)(((char *) (-3 + name_230X))))), out_225X);
|
|
goto L11559;}
|
|
else {
|
|
goto L11557;}}
|
|
else {
|
|
goto L11557;}}
|
|
else {
|
|
goto L11582;}}}
|
|
L11559: {
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, out_225X, ignoreXX) }
|
|
goto L11582;}
|
|
L11557: {
|
|
ps_write_string("<invalid name>", out_225X);
|
|
goto L11559;}
|
|
L11582: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + entry_229X))) + 12)));
|
|
goto L11579;}
|
|
}
|
|
void s48_define_exported_binding(char *name_231X, long value_232X)
|
|
{
|
|
char arg2K0;
|
|
long arg0K2;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
char * addr_245X;
|
|
long x_244X;
|
|
long name_243X;
|
|
long value_242X;
|
|
long key_241X;
|
|
long temp_240X;
|
|
long key_239X;
|
|
char okayP_238X;
|
|
char v_237X;
|
|
long temp1_236X;
|
|
long temp0_235X;
|
|
char v_234X;
|
|
long space_233X;
|
|
{ space_233X = 6 + ((((4 + (strlen((char *) name_231X))))>>2));
|
|
v_234X = AVAILABLEp(space_233X);
|
|
if (v_234X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
arg0K2 = value_232X;
|
|
goto L14351;}
|
|
else {
|
|
temp0_235X = collect_saving_temps(value_232X, 1, &temp1_236X);
|
|
v_237X = AVAILABLEp(space_233X);
|
|
if (v_237X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
arg0K2 = temp0_235X;
|
|
goto L14351;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
arg0K2 = temp0_235X;
|
|
goto L14351;}}}
|
|
L14351: {
|
|
okayP_238X = arg2K0;
|
|
key_239X = arg0K1;
|
|
temp_240X = arg0K2;
|
|
if (okayP_238X) {
|
|
arg0K0 = key_239X;
|
|
arg0K1 = temp_240X;
|
|
goto L14332;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_239X;
|
|
arg0K1 = temp_240X;
|
|
goto L14332;}}
|
|
L14332: {
|
|
key_241X = arg0K0;
|
|
value_242X = arg0K1;
|
|
name_243X = enter_string(name_231X, key_241X);
|
|
x_244X = Hlookup2093((Simported_bindingsS), name_243X, key_241X);
|
|
addr_245X = (((char *) (-3 + x_244X))) + 8;
|
|
S48_WRITE_BARRIER(x_244X, addr_245X, value_242X);
|
|
*((long *) addr_245X) = value_242X;
|
|
return;}
|
|
}
|
|
long s48_add_channel(long mode_246X, long id_247X, long os_index_248X)
|
|
{
|
|
char arg2K0;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long status_256X;
|
|
long channel_255X;
|
|
long v_254X;
|
|
long key_253X;
|
|
char okayP_252X;
|
|
char v_251X;
|
|
long temp1_250X;
|
|
char v_249X;
|
|
{ v_249X = AVAILABLEp(6);
|
|
if (v_249X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L14740;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_250X);
|
|
v_251X = AVAILABLEp(6);
|
|
if (v_251X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L14740;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L14740;}}}
|
|
L14740: {
|
|
okayP_252X = arg2K0;
|
|
key_253X = arg0K1;
|
|
if (okayP_252X) {
|
|
arg0K0 = key_253X;
|
|
goto L14723;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_253X;
|
|
goto L14723;}}
|
|
L14723: {
|
|
v_254X = arg0K0;
|
|
channel_255X = make_registered_channel((((mode_246X)>>2)), id_247X, os_index_248X, v_254X, &status_256X);
|
|
if ((3 == (3 & channel_255X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + channel_255X))) + -4))))>>2))))) {
|
|
return channel_255X;}
|
|
else {
|
|
goto L14734;}}
|
|
else {
|
|
goto L14734;}}
|
|
L14734: {
|
|
return (((status_256X)<<2));}
|
|
}
|
|
long s48_get_imported_binding(char *name_257X)
|
|
{
|
|
char arg2K0;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long name_265X;
|
|
long key_264X;
|
|
long key_263X;
|
|
char okayP_262X;
|
|
char v_261X;
|
|
long temp1_260X;
|
|
char v_259X;
|
|
long space_258X;
|
|
{ space_258X = 6 + ((((4 + (strlen((char *) name_257X))))>>2));
|
|
v_259X = AVAILABLEp(space_258X);
|
|
if (v_259X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15429;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_260X);
|
|
v_261X = AVAILABLEp(space_258X);
|
|
if (v_261X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15429;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L15429;}}}
|
|
L15429: {
|
|
okayP_262X = arg2K0;
|
|
key_263X = arg0K1;
|
|
if (okayP_262X) {
|
|
arg0K0 = key_263X;
|
|
goto L15416;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_263X;
|
|
goto L15416;}}
|
|
L15416: {
|
|
key_264X = arg0K0;
|
|
name_265X = enter_string(name_257X, key_264X);
|
|
return Hlookup2112((Sexported_bindingsS), name_265X, key_264X);}
|
|
}
|
|
long s48_allocate_stob(long type_266X, long size_267X)
|
|
{
|
|
char * addr_271X;
|
|
char v_270X;
|
|
long temp1_269X;
|
|
char v_268X;
|
|
{ v_268X = AVAILABLEp(size_267X);
|
|
if (v_268X) {
|
|
goto L15724;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_269X);
|
|
v_270X = AVAILABLEp(size_267X);
|
|
if (v_270X) {
|
|
goto L15724;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L15724;}}}
|
|
L15724: {
|
|
addr_271X = ALLOCATE_SPACE(type_266X, (4 + size_267X));
|
|
*((long *) addr_271X) = (2 + (((((((size_267X)<<6)) + type_266X))<<2)));
|
|
return (3 + (((long) (addr_271X + 4))));}
|
|
}
|
|
void s48_initialize_vm(char * stack_begin_272X, long stack_size_273X)
|
|
{
|
|
char arg2K0;
|
|
char * arg1K0;
|
|
long arg0K2;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
char * addr_344X;
|
|
long code_343X;
|
|
long temp_342X;
|
|
char * addr_341X;
|
|
char * addr_340X;
|
|
char * addr_339X;
|
|
long code_338X;
|
|
long temp_337X;
|
|
char * addr_336X;
|
|
char * addr_335X;
|
|
char v_334X;
|
|
long temp1_333X;
|
|
char v_332X;
|
|
long cont_331X;
|
|
char * addr_330X;
|
|
long code_329X;
|
|
long temp_328X;
|
|
char * addr_327X;
|
|
char * addr_326X;
|
|
char v_325X;
|
|
long temp1_324X;
|
|
char v_323X;
|
|
char * a_322X;
|
|
long size_321X;
|
|
char * start_320X;
|
|
char * stack_319X;
|
|
long v_318X;
|
|
char * addr_317X;
|
|
long i_316X;
|
|
char * addr_315X;
|
|
char * addr_314X;
|
|
long val_313X;
|
|
long index_312X;
|
|
long h_311X;
|
|
long i_310X;
|
|
long table_309X;
|
|
char * addr_308X;
|
|
long v_307X;
|
|
char * addr_306X;
|
|
long i_305X;
|
|
long n_304X;
|
|
long string_303X;
|
|
long foo_302X;
|
|
long table_301X;
|
|
long i_300X;
|
|
long table_299X;
|
|
char * addr_298X;
|
|
long exported_bindings_297X;
|
|
long imported_bindings_296X;
|
|
long n_295X;
|
|
long symbols_294X;
|
|
long temp1_293X;
|
|
long temp0_292X;
|
|
char okayP_291X;
|
|
char * addr_290X;
|
|
long maybe_289X;
|
|
long v_288X;
|
|
long maybe_287X;
|
|
long i_286X;
|
|
char v_285X;
|
|
long temp1_284X;
|
|
long temp0_283X;
|
|
char v_282X;
|
|
long imported_bindings_281X;
|
|
long exported_bindings_280X;
|
|
long table_279X;
|
|
char * addr_278X;
|
|
char v_277X;
|
|
long temp1_276X;
|
|
char v_275X;
|
|
long symbol_table_274X;
|
|
{ symbol_table_274X = s48_initial_symbols();
|
|
if ((symbol_table_274X == 1)) {
|
|
v_275X = AVAILABLEp(1025);
|
|
if (v_275X) {
|
|
goto L15455;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_276X);
|
|
v_277X = AVAILABLEp(1025);
|
|
if (v_277X) {
|
|
goto L15455;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L15455;}}}
|
|
else {
|
|
Sthe_symbol_tableS = symbol_table_274X;
|
|
goto L15847;}}
|
|
L15455: {
|
|
addr_278X = ALLOCATE_SPACE(2, 4100);
|
|
*((long *) addr_278X) = 1048586;
|
|
table_279X = 3 + (((long) (addr_278X + 4)));
|
|
arg0K0 = 0;
|
|
goto L15530;}
|
|
L15847: {
|
|
exported_bindings_280X = s48_initial_exported_bindings();
|
|
imported_bindings_281X = s48_initial_imported_bindings();
|
|
v_282X = AVAILABLEp(2050);
|
|
if (v_282X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = imported_bindings_281X;
|
|
arg0K2 = exported_bindings_280X;
|
|
goto L14433;}
|
|
else {
|
|
temp0_283X = collect_saving_temps(imported_bindings_281X, exported_bindings_280X, &temp1_284X);
|
|
v_285X = AVAILABLEp(2050);
|
|
if (v_285X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_283X;
|
|
arg0K2 = temp1_284X;
|
|
goto L14433;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_283X;
|
|
arg0K2 = temp1_284X;
|
|
goto L14433;}}}
|
|
L15530: {
|
|
i_286X = arg0K0;
|
|
if ((1024 == i_286X)) {
|
|
Sthe_symbol_tableS = table_279X;
|
|
maybe_287X = s48_find_all(1);
|
|
if ((maybe_287X == 1)) {
|
|
collect_saving_temps(0, 0, &v_288X);
|
|
maybe_289X = s48_find_all(1);
|
|
if ((maybe_289X == 1)) {
|
|
ps_error("insufficient heap space to build symbol table", 0);
|
|
arg0K0 = maybe_289X;
|
|
goto L15484;}
|
|
else {
|
|
arg0K0 = maybe_289X;
|
|
goto L15484;}}
|
|
else {
|
|
arg0K0 = maybe_287X;
|
|
goto L15484;}}
|
|
else {
|
|
addr_290X = (((char *) (-3 + table_279X))) + (((i_286X)<<2));
|
|
S48_WRITE_BARRIER(table_279X, addr_290X, 1);
|
|
*((long *) addr_290X) = 1;
|
|
arg0K0 = (1 + i_286X);
|
|
goto L15530;}}
|
|
L14433: {
|
|
okayP_291X = arg2K0;
|
|
temp0_292X = arg0K1;
|
|
temp1_293X = arg0K2;
|
|
if (okayP_291X) {
|
|
arg0K0 = temp0_292X;
|
|
arg0K1 = temp1_293X;
|
|
goto L14394;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = temp0_292X;
|
|
arg0K1 = temp1_293X;
|
|
goto L14394;}}
|
|
L15484: {
|
|
symbols_294X = arg0K0;
|
|
n_295X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + symbols_294X))) + -4))))>>8))))>>2);
|
|
arg0K0 = 0;
|
|
goto L15551;}
|
|
L14394: {
|
|
imported_bindings_296X = arg0K0;
|
|
exported_bindings_297X = arg0K1;
|
|
if ((1 == imported_bindings_296X)) {
|
|
addr_298X = ALLOCATE_SPACE(2, 4100);
|
|
*((long *) addr_298X) = 1048586;
|
|
table_299X = 3 + (((long) (addr_298X + 4)));
|
|
arg0K0 = 0;
|
|
goto L14495;}
|
|
else {
|
|
arg0K0 = imported_bindings_296X;
|
|
goto L14409;}}
|
|
L15551: {
|
|
i_300X = arg0K0;
|
|
if ((i_300X == n_295X)) {
|
|
goto L15847;}
|
|
else {
|
|
table_301X = Sthe_symbol_tableS;
|
|
foo_302X = *((long *) ((((char *) (-3 + symbols_294X))) + (((i_300X)<<2))));
|
|
string_303X = *((long *) (((char *) (-3 + foo_302X))));
|
|
n_304X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_303X))) + -4))))>>8));
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L13018;}}
|
|
L14495: {
|
|
i_305X = arg0K0;
|
|
if ((1024 == i_305X)) {
|
|
arg0K0 = table_299X;
|
|
goto L14409;}
|
|
else {
|
|
addr_306X = (((char *) (-3 + table_299X))) + (((i_305X)<<2));
|
|
S48_WRITE_BARRIER(table_299X, addr_306X, 1);
|
|
*((long *) addr_306X) = 1;
|
|
arg0K0 = (1 + i_305X);
|
|
goto L14495;}}
|
|
L14409: {
|
|
v_307X = arg0K0;
|
|
Simported_bindingsS = v_307X;
|
|
if ((1 == exported_bindings_297X)) {
|
|
addr_308X = ALLOCATE_SPACE(2, 4100);
|
|
*((long *) addr_308X) = 1048586;
|
|
table_309X = 3 + (((long) (addr_308X + 4)));
|
|
arg0K0 = 0;
|
|
goto L14472;}
|
|
else {
|
|
arg0K0 = exported_bindings_297X;
|
|
goto L14422;}}
|
|
L13018: {
|
|
i_310X = arg0K0;
|
|
h_311X = arg0K1;
|
|
if ((i_310X < n_304X)) {
|
|
arg0K0 = (1 + i_310X);
|
|
arg0K1 = (h_311X + (((*((unsigned char *) ((((char *) (-3 + string_303X))) + i_310X))))));
|
|
goto L13018;}
|
|
else {
|
|
index_312X = 1023 & h_311X;
|
|
val_313X = *((long *) ((((char *) (-3 + table_301X))) + (((index_312X)<<2))));
|
|
addr_314X = (((char *) (-3 + foo_302X))) + 4;
|
|
S48_WRITE_BARRIER(foo_302X, addr_314X, val_313X);
|
|
*((long *) addr_314X) = val_313X;
|
|
addr_315X = (((char *) (-3 + table_301X))) + (((index_312X)<<2));
|
|
S48_WRITE_BARRIER(table_301X, addr_315X, foo_302X);
|
|
*((long *) addr_315X) = foo_302X;
|
|
arg0K0 = (1 + i_300X);
|
|
goto L15551;}}
|
|
L14472: {
|
|
i_316X = arg0K0;
|
|
if ((1024 == i_316X)) {
|
|
arg0K0 = table_309X;
|
|
goto L14422;}
|
|
else {
|
|
addr_317X = (((char *) (-3 + table_309X))) + (((i_316X)<<2));
|
|
S48_WRITE_BARRIER(table_309X, addr_317X, 1);
|
|
*((long *) addr_317X) = 1;
|
|
arg0K0 = (1 + i_316X);
|
|
goto L14472;}}
|
|
L14422: {
|
|
v_318X = arg0K0;
|
|
Sexported_bindingsS = v_318X;
|
|
if ((stack_size_273X < 8131)) {
|
|
stack_319X = (char *)malloc(32524);
|
|
if ((stack_319X == NULL)) {
|
|
ps_error("out of memory, unable to continue", 0);
|
|
arg1K0 = stack_319X;
|
|
arg0K1 = 8131;
|
|
goto L14941;}
|
|
else {
|
|
arg1K0 = stack_319X;
|
|
arg0K1 = 8131;
|
|
goto L14941;}}
|
|
else {
|
|
arg1K0 = stack_begin_272X;
|
|
arg0K1 = stack_size_273X;
|
|
goto L14941;}}
|
|
L14941: {
|
|
start_320X = arg1K0;
|
|
size_321X = arg0K1;
|
|
Sstack_beginS = start_320X;
|
|
Sstack_endS = (start_320X + (((size_321X)<<2)));
|
|
Sstack_limitS = ((Sstack_beginS) + 524);
|
|
SstackS = ((Sstack_endS) + -4);
|
|
ScontS = 1;
|
|
SenvS = 17;
|
|
arg1K0 = start_320X;
|
|
goto L14973;}
|
|
L14973: {
|
|
a_322X = arg1K0;
|
|
if ((a_322X == (Sstack_endS))) {
|
|
v_323X = AVAILABLEp(5);
|
|
if (v_323X) {
|
|
goto L14990;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_324X);
|
|
v_325X = AVAILABLEp(5);
|
|
if (v_325X) {
|
|
goto L14990;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L14990;}}}
|
|
else {
|
|
*((long *) a_322X) = 252645135;
|
|
arg1K0 = (a_322X + 4);
|
|
goto L14973;}}
|
|
L14990: {
|
|
addr_326X = ALLOCATE_SPACE(17, 6);
|
|
*((long *) addr_326X) = 582;
|
|
addr_327X = ALLOCATE_SPACE(11, 12);
|
|
*((long *) addr_327X) = 2094;
|
|
temp_328X = 3 + (((long) (addr_327X + 4)));
|
|
code_329X = 3 + (((long) (addr_326X + 4)));
|
|
addr_330X = ((char *) (-3 + temp_328X));
|
|
S48_WRITE_BARRIER(temp_328X, addr_330X, code_329X);
|
|
*((long *) addr_330X) = code_329X;
|
|
*((unsigned char *) (((char *) (-3 + code_329X)))) = 23;
|
|
*((unsigned char *) ((((char *) (-3 + code_329X))) + 1)) = 31;
|
|
SstackS = ((SstackS) + -20);
|
|
*((long *) ((SstackS) + 4)) = 4262;
|
|
cont_331X = 3 + (((long) ((SstackS) + 8)));
|
|
*((long *) ((((char *) (-3 + cont_331X))) + 4)) = 0;
|
|
*((long *) ((((char *) (-3 + cont_331X))) + 8)) = temp_328X;
|
|
*((long *) ((((char *) (-3 + cont_331X))) + 12)) = (SenvS);
|
|
*((long *) (((char *) (-3 + cont_331X)))) = (ScontS);
|
|
ScontS = cont_331X;
|
|
Sbottom_of_stackS = (ScontS);
|
|
v_332X = AVAILABLEp(5);
|
|
if (v_332X) {
|
|
goto L15169;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_333X);
|
|
v_334X = AVAILABLEp(5);
|
|
if (v_334X) {
|
|
goto L15169;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L15169;}}}
|
|
L15169: {
|
|
addr_335X = ALLOCATE_SPACE(17, 6);
|
|
*((long *) addr_335X) = 582;
|
|
addr_336X = ALLOCATE_SPACE(11, 12);
|
|
*((long *) addr_336X) = 2094;
|
|
temp_337X = 3 + (((long) (addr_336X + 4)));
|
|
code_338X = 3 + (((long) (addr_335X + 4)));
|
|
addr_339X = ((char *) (-3 + temp_337X));
|
|
S48_WRITE_BARRIER(temp_337X, addr_339X, code_338X);
|
|
*((long *) addr_339X) = code_338X;
|
|
*((unsigned char *) (((char *) (-3 + code_338X)))) = 34;
|
|
*((unsigned char *) ((((char *) (-3 + code_338X))) + 1)) = 141;
|
|
Sinterrupt_templateS = temp_337X;
|
|
addr_340X = ALLOCATE_SPACE(17, 6);
|
|
*((long *) addr_340X) = 582;
|
|
addr_341X = ALLOCATE_SPACE(11, 12);
|
|
*((long *) addr_341X) = 2094;
|
|
temp_342X = 3 + (((long) (addr_341X + 4)));
|
|
code_343X = 3 + (((long) (addr_340X + 4)));
|
|
addr_344X = ((char *) (-3 + temp_342X));
|
|
S48_WRITE_BARRIER(temp_342X, addr_344X, code_343X);
|
|
*((long *) addr_344X) = code_343X;
|
|
*((unsigned char *) (((char *) (-3 + code_343X)))) = 138;
|
|
*((unsigned char *) ((((char *) (-3 + code_343X))) + 1)) = 124;
|
|
Sexception_templateS = temp_342X;
|
|
return;}
|
|
}
|
|
long s48_restart(long proc_345X, long nargs_346X)
|
|
{
|
|
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_347X;
|
|
long list_348X;
|
|
long marker_349X;
|
|
long cont_350X;
|
|
long list_351X;
|
|
long length_352X;
|
|
long start_353X;
|
|
long count_354X;
|
|
long env_355X;
|
|
long cont_356X;
|
|
long key_357X;
|
|
long reason_358X;
|
|
long env_359X;
|
|
long key_360X;
|
|
long reason_361X;
|
|
long key_362X;
|
|
long list_363X;
|
|
long count_364X;
|
|
long wants_stack_args_365X;
|
|
long stack_arg_count_366X;
|
|
long list_args_367X;
|
|
long list_arg_count_368X;
|
|
char *message_369X;
|
|
long pc_1296X;
|
|
long tem_1295X;
|
|
long cont_1294X;
|
|
long i_1293X;
|
|
long string_1292X;
|
|
char * addr_1291X;
|
|
long len_1290X;
|
|
long len_1289X;
|
|
long x_1288X;
|
|
char *string_1287X;
|
|
char move_slowP_1286X;
|
|
long slow_1285X;
|
|
long len_1284X;
|
|
long fast_1283X;
|
|
long v_1282X;
|
|
char *v_1281X;
|
|
long v_1280X;
|
|
long v_1279X;
|
|
long obj_1278X;
|
|
long env_1277X;
|
|
long thread_1276X;
|
|
long v_1275X;
|
|
long new_cont_1274X;
|
|
char * top_1273X;
|
|
char * addr_1272X;
|
|
long x_1271X;
|
|
char * addr_1270X;
|
|
long a_1269X;
|
|
long last_1268X;
|
|
long l_1267X;
|
|
long x_1266X;
|
|
char * addr_1265X;
|
|
long a_1264X;
|
|
long list_1263X;
|
|
long temp_1262X;
|
|
char okayP_1261X;
|
|
char v_1260X;
|
|
long temp1_1259X;
|
|
long temp0_1258X;
|
|
char v_1257X;
|
|
long space_1256X;
|
|
long x_1255X;
|
|
char * addr_1254X;
|
|
long a_1253X;
|
|
long count_1252X;
|
|
long args_1251X;
|
|
long start_1250X;
|
|
long temp_1249X;
|
|
char okayP_1248X;
|
|
char v_1247X;
|
|
long temp1_1246X;
|
|
long temp0_1245X;
|
|
char v_1244X;
|
|
long space_1243X;
|
|
long env_1242X;
|
|
long cont_1241X;
|
|
char * addr_1240X;
|
|
long new_1239X;
|
|
long p_1238X;
|
|
long env_1237X;
|
|
long top_1236X;
|
|
char * addr_1235X;
|
|
long new_1234X;
|
|
char * data_addr_1233X;
|
|
char * addr_1232X;
|
|
long header_1231X;
|
|
long new_1230X;
|
|
char * data_addr_1229X;
|
|
char * addr_1228X;
|
|
long header_1227X;
|
|
long p_1226X;
|
|
long previous_1225X;
|
|
long cont_1224X;
|
|
long end_1223X;
|
|
long v_1222X;
|
|
long p_1221X;
|
|
char * arg_1220X;
|
|
char * loc_1219X;
|
|
long stob_1218X;
|
|
char * top_1217X;
|
|
long arg_count_1216X;
|
|
long i_1215X;
|
|
char * p_1214X;
|
|
long v_1213X;
|
|
long l_1212X;
|
|
long i_1211X;
|
|
long key_1210X;
|
|
char okayP_1209X;
|
|
long list_1208X;
|
|
char v_1207X;
|
|
long temp1_1206X;
|
|
char v_1205X;
|
|
long space_1204X;
|
|
long x_1203X;
|
|
long v_1202X;
|
|
long x_1201X;
|
|
long v_1200X;
|
|
long count_1199X;
|
|
long x_1198X;
|
|
long v_1197X;
|
|
long status_1196X;
|
|
long channel_1195X;
|
|
long type_1194X;
|
|
char v_1193X;
|
|
long template_1192X;
|
|
char not_firstP_1191X;
|
|
long cont_1190X;
|
|
char not_firstP_1189X;
|
|
FILE * out_1188X;
|
|
long current_template_1187X;
|
|
long why_1186X;
|
|
long x_1185X;
|
|
long x_1184X;
|
|
long x_1183X;
|
|
char * addr_1182X;
|
|
long status_1181X;
|
|
char pendingP_1180X;
|
|
char eofP_1179X;
|
|
long got_1178X;
|
|
long length_1177X;
|
|
long v_1176X;
|
|
long obj_1175X;
|
|
long reason_1174X;
|
|
long status_1173X;
|
|
long v_1172X;
|
|
long v_1171X;
|
|
long key_1170X;
|
|
char okayP_1169X;
|
|
char v_1168X;
|
|
char * addr_1167X;
|
|
long value_1166X;
|
|
long offset_1165X;
|
|
long i_1164X;
|
|
long count_1163X;
|
|
long y_1162X;
|
|
char * addr_1161X;
|
|
long val_1160X;
|
|
char * addr_1159X;
|
|
long value_1158X;
|
|
long len_1157X;
|
|
long s2_1156X;
|
|
long foo_1155X;
|
|
long previous_foo_1154X;
|
|
long val_1153X;
|
|
long x_1152X;
|
|
char * addr_1151X;
|
|
long status_1150X;
|
|
char pendingP_1149X;
|
|
long got_1148X;
|
|
long length_1147X;
|
|
long count_1146X;
|
|
long start_1145X;
|
|
char waitP_1144X;
|
|
long x_1143X;
|
|
long status_1142X;
|
|
long channel_1141X;
|
|
long v_1140X;
|
|
long v_1139X;
|
|
long v_1138X;
|
|
long reason_1137X;
|
|
long channel_1136X;
|
|
long index_1135X;
|
|
long val_1134X;
|
|
long final_stack_arg_count_1133X;
|
|
char v_1132X;
|
|
long temp1_1131X;
|
|
char v_1130X;
|
|
long space_1129X;
|
|
long stack_arg_count_1128X;
|
|
long stack_slots_1127X;
|
|
char x_1126X;
|
|
long channel_1125X;
|
|
long obj_1124X;
|
|
long arg_count_1123X;
|
|
long count_1122X;
|
|
long i_1121X;
|
|
long env_1120X;
|
|
long value_1119X;
|
|
char *v_1118X;
|
|
long y_1117X;
|
|
long i_1116X;
|
|
long l_1115X;
|
|
long bucket_1114X;
|
|
long index_1113X;
|
|
long h_1112X;
|
|
long i_1111X;
|
|
long v_1110X;
|
|
long v_1109X;
|
|
long x_1108X;
|
|
long status_1107X;
|
|
long reason_1106X;
|
|
long v_1105X;
|
|
long val_1104X;
|
|
long reason_1103X;
|
|
long x_1102X;
|
|
long obj_1101X;
|
|
long v_1100X;
|
|
long v_1099X;
|
|
long len_1098X;
|
|
long s2_1097X;
|
|
char * addr_1096X;
|
|
long x_1095X;
|
|
char * addr_1094X;
|
|
long foo_1093X;
|
|
long rest_list_1092X;
|
|
long i_1091X;
|
|
long n_1090X;
|
|
long args_1089X;
|
|
long skip_1088X;
|
|
long template_1087X;
|
|
long stack_arg_count_1086X;
|
|
long skip_1085X;
|
|
long skip_1084X;
|
|
long template_1083X;
|
|
long stack_arg_count_1082X;
|
|
long skip_1081X;
|
|
char * addr_1080X;
|
|
long next_1079X;
|
|
long channel_1078X;
|
|
long m_1077X;
|
|
long i_1076X;
|
|
long value_1075X;
|
|
long back_1074X;
|
|
long env_1073X;
|
|
long offset_1072X;
|
|
long i_1071X;
|
|
long x_1070X;
|
|
char * addr_1069X;
|
|
long a_1068X;
|
|
long env_1067X;
|
|
long v_1066X;
|
|
long p_1065X;
|
|
long key_1064X;
|
|
long string_1063X;
|
|
char * addr_1062X;
|
|
long len_1061X;
|
|
long n_1060X;
|
|
long table_1059X;
|
|
long x_1058X;
|
|
long arg2_1057X;
|
|
long key_1056X;
|
|
char temp_1055X;
|
|
char minutesP_1054X;
|
|
long status_1053X;
|
|
long status_1052X;
|
|
long undumpable_count_1051X;
|
|
long undumpables_1050X;
|
|
long status_1049X;
|
|
long status_1048X;
|
|
long status_1047X;
|
|
long status_1046X;
|
|
FILE * port_1045X;
|
|
char x_1044X;
|
|
long comment_string_1043X;
|
|
long obj_1042X;
|
|
long arg3_1041X;
|
|
long arg2_1040X;
|
|
long key_1039X;
|
|
long x_1038X;
|
|
char * addr_1037X;
|
|
long channel_1036X;
|
|
long res_1035X;
|
|
long i_1034X;
|
|
char * addr_1033X;
|
|
char * addr_1032X;
|
|
long val_1031X;
|
|
long x_1030X;
|
|
long status_1029X;
|
|
char readyP_1028X;
|
|
long channel_1027X;
|
|
long obj_1026X;
|
|
long key_1025X;
|
|
char v_1024X;
|
|
long channel_1023X;
|
|
long count_1022X;
|
|
long start_1021X;
|
|
long obj_1020X;
|
|
long arg4_1019X;
|
|
long arg3_1018X;
|
|
long arg2_1017X;
|
|
long key_1016X;
|
|
long arg5_1015X;
|
|
long arg4_1014X;
|
|
long arg3_1013X;
|
|
long arg2_1012X;
|
|
long key_1011X;
|
|
long x_1010X;
|
|
long status_1009X;
|
|
long channel_1008X;
|
|
long obj_1007X;
|
|
long key_1006X;
|
|
long mode_1005X;
|
|
long arg2_1004X;
|
|
long key_1003X;
|
|
long bucket_1002X;
|
|
long index_1001X;
|
|
long h_1000X;
|
|
long i_999X;
|
|
long i_998X;
|
|
long i_997X;
|
|
char * addr_996X;
|
|
long i_995X;
|
|
long i_994X;
|
|
long i_993X;
|
|
long c_992X;
|
|
long b_991X;
|
|
long c_990X;
|
|
long b_989X;
|
|
char x_988X;
|
|
long c_987X;
|
|
long b_986X;
|
|
long c_985X;
|
|
long mid_c_984X;
|
|
long v_983X;
|
|
long v_982X;
|
|
long lo_c_981X;
|
|
long hi_b_980X;
|
|
long hi_a_979X;
|
|
long lo_b_978X;
|
|
long lo_a_977X;
|
|
long b_976X;
|
|
long v_975X;
|
|
long v_974X;
|
|
long args_973X;
|
|
long next_972X;
|
|
long next_op_971X;
|
|
long cont_970X;
|
|
long index_969X;
|
|
long length_968X;
|
|
long wants_stack_args_967X;
|
|
long skip_966X;
|
|
long skip_965X;
|
|
long stack_space_964X;
|
|
long protocol_963X;
|
|
long index_962X;
|
|
long length_961X;
|
|
long wants_stack_args_960X;
|
|
long skip_959X;
|
|
long skip_958X;
|
|
long stack_space_957X;
|
|
long protocol_956X;
|
|
long n_955X;
|
|
long tem_954X;
|
|
long stack_arg_count_953X;
|
|
long v_952X;
|
|
long v_951X;
|
|
long key_950X;
|
|
long start_i_949X;
|
|
long temp_948X;
|
|
char okayP_947X;
|
|
long key_946X;
|
|
char okayP_945X;
|
|
long obj_944X;
|
|
long obj_943X;
|
|
long type_942X;
|
|
long thing_941X;
|
|
long stuff_940X;
|
|
char * addr_939X;
|
|
long val_938X;
|
|
long x_937X;
|
|
long i_936X;
|
|
long b_935X;
|
|
long p_934X;
|
|
long port_933X;
|
|
long Kchar_932X;
|
|
long x_931X;
|
|
long i_930X;
|
|
long b_929X;
|
|
long p_928X;
|
|
long p_927X;
|
|
long port_926X;
|
|
char * addr_925X;
|
|
long val_924X;
|
|
long x_923X;
|
|
long i_922X;
|
|
long b_921X;
|
|
long p_920X;
|
|
long p_919X;
|
|
long port_918X;
|
|
long list_917X;
|
|
long head_916X;
|
|
char move_slowP_915X;
|
|
long slow_914X;
|
|
long list_913X;
|
|
long n_912X;
|
|
long arg2_911X;
|
|
long val_910X;
|
|
long mseconds_909X;
|
|
long seconds_908X;
|
|
long option_907X;
|
|
long key_906X;
|
|
char okayP_905X;
|
|
long result_904X;
|
|
char * args_903X;
|
|
long name_902X;
|
|
long proc_901X;
|
|
long rest_list_900X;
|
|
long x_899X;
|
|
long tem_898X;
|
|
long pc_897X;
|
|
long v_896X;
|
|
long value_895X;
|
|
long vector_894X;
|
|
long type_893X;
|
|
char firstP_892X;
|
|
long v_891X;
|
|
long vector_890X;
|
|
char firstP_889X;
|
|
long x_888X;
|
|
char * addr_887X;
|
|
long b_886X;
|
|
long x_885X;
|
|
char * addr_884X;
|
|
long proc_883X;
|
|
long stob_882X;
|
|
long h_881X;
|
|
long i_880X;
|
|
long key_879X;
|
|
char okayP_878X;
|
|
long y_877X;
|
|
long n_876X;
|
|
char * addr_875X;
|
|
long prev_874X;
|
|
long ch_873X;
|
|
long val_872X;
|
|
long key_871X;
|
|
char okayP_870X;
|
|
long key_869X;
|
|
char okayP_868X;
|
|
long key_867X;
|
|
char okayP_866X;
|
|
long key_865X;
|
|
char okayP_864X;
|
|
long key_863X;
|
|
char okayP_862X;
|
|
long val_861X;
|
|
char * addr_860X;
|
|
char * addr_859X;
|
|
long val_858X;
|
|
long n_857X;
|
|
long string_856X;
|
|
long table_855X;
|
|
long obj_854X;
|
|
long string_853X;
|
|
char * addr_852X;
|
|
long len_851X;
|
|
long vector_850X;
|
|
char * addr_849X;
|
|
long value_848X;
|
|
char * addr_847X;
|
|
long len_846X;
|
|
long init_845X;
|
|
char okayP_844X;
|
|
long rest_list_843X;
|
|
long stack_nargs_842X;
|
|
long new_841X;
|
|
char * addr_840X;
|
|
long len_839X;
|
|
long type_838X;
|
|
long new_837X;
|
|
char * addr_836X;
|
|
long len_835X;
|
|
long type_834X;
|
|
long value_833X;
|
|
long val_832X;
|
|
long val_831X;
|
|
long val_830X;
|
|
long val_829X;
|
|
long r_828X;
|
|
long n_827X;
|
|
long a_826X;
|
|
long a_825X;
|
|
long val_824X;
|
|
long val_823X;
|
|
long val_822X;
|
|
long val_821X;
|
|
long val_820X;
|
|
long a_819X;
|
|
long a_818X;
|
|
long val_817X;
|
|
long val_816X;
|
|
long delta_815X;
|
|
long delta_814X;
|
|
long offset_813X;
|
|
long key_812X;
|
|
char okayP_811X;
|
|
char v_810X;
|
|
long tem_809X;
|
|
long key_808X;
|
|
char okayP_807X;
|
|
long list_arg_count_806X;
|
|
long list_args_805X;
|
|
long stack_nargs_804X;
|
|
long obj_803X;
|
|
char * addr_802X;
|
|
long list_args_801X;
|
|
long follower_800X;
|
|
long list_799X;
|
|
long args_798X;
|
|
long list_arg_count_797X;
|
|
char okayP_796X;
|
|
long stack_nargs_795X;
|
|
long list_args_794X;
|
|
long total_arg_count_793X;
|
|
long code_792X;
|
|
long obj_791X;
|
|
long obj_790X;
|
|
long list_arg_count_789X;
|
|
long list_args_788X;
|
|
long stack_arg_count_787X;
|
|
long obj_786X;
|
|
char * arg_785X;
|
|
char * loc_784X;
|
|
long args_783X;
|
|
long v_782X;
|
|
long v_781X;
|
|
long v_780X;
|
|
long list_arg_count_779X;
|
|
long list_args_778X;
|
|
long stack_arg_count_777X;
|
|
long exception_776X;
|
|
long code_775X;
|
|
long stack_arg_count_774X;
|
|
char v_773X;
|
|
long key_772X;
|
|
char okayP_771X;
|
|
long key_770X;
|
|
char okayP_769X;
|
|
char * addr_768X;
|
|
long value_767X;
|
|
long v_766X;
|
|
long new_env_765X;
|
|
char * addr_764X;
|
|
long len_763X;
|
|
char v_762X;
|
|
long temp1_761X;
|
|
long temp0_760X;
|
|
char v_759X;
|
|
long env_758X;
|
|
char v_757X;
|
|
long temp1_756X;
|
|
char v_755X;
|
|
long space_754X;
|
|
char * addr_753X;
|
|
long value_752X;
|
|
long index_751X;
|
|
long i_750X;
|
|
long env_749X;
|
|
long i_748X;
|
|
long env_747X;
|
|
long i_746X;
|
|
long env_745X;
|
|
long obj_744X;
|
|
long opcode_743X;
|
|
long nargs_742X;
|
|
FILE * out_741X;
|
|
long x_740X;
|
|
long v_739X;
|
|
long v_738X;
|
|
long v_737X;
|
|
long v_736X;
|
|
long v_735X;
|
|
long v_734X;
|
|
long v_733X;
|
|
long count_732X;
|
|
long to_index_731X;
|
|
long from_index_730X;
|
|
long arg5_729X;
|
|
long arg4_728X;
|
|
long arg3_727X;
|
|
long arg2_726X;
|
|
char * addr_725X;
|
|
long len_724X;
|
|
long value_723X;
|
|
long index_722X;
|
|
long arg4_721X;
|
|
long arg3_720X;
|
|
long arg2_719X;
|
|
long len_718X;
|
|
long index_717X;
|
|
long arg3_716X;
|
|
long arg2_715X;
|
|
long list_714X;
|
|
long thing_713X;
|
|
char v_712X;
|
|
long temp1_711X;
|
|
char v_710X;
|
|
long space_709X;
|
|
long len_708X;
|
|
long x_707X;
|
|
long obj_706X;
|
|
long arg2_705X;
|
|
long x_704X;
|
|
long arg2_703X;
|
|
long status_702X;
|
|
long value_701X;
|
|
long key_700X;
|
|
long arg2_699X;
|
|
long mseconds_698X;
|
|
long seconds_697X;
|
|
long mseconds_696X;
|
|
long seconds_695X;
|
|
long x_694X;
|
|
long other_693X;
|
|
long option_692X;
|
|
long arg2_691X;
|
|
long x_690X;
|
|
long arg2_689X;
|
|
char v_688X;
|
|
long temp1_687X;
|
|
char v_686X;
|
|
long rest_list_685X;
|
|
long p_684X;
|
|
long nargs_683X;
|
|
long x_682X;
|
|
long arg2_681X;
|
|
long p_680X;
|
|
long p_679X;
|
|
long p_678X;
|
|
long old_677X;
|
|
long temp_676X;
|
|
long obj_675X;
|
|
long p_674X;
|
|
long template_673X;
|
|
long p_672X;
|
|
long temp_671X;
|
|
long obj_670X;
|
|
long x_669X;
|
|
long type_668X;
|
|
long x_667X;
|
|
long bytes_666X;
|
|
long x_665X;
|
|
long other_664X;
|
|
long key_663X;
|
|
long arg2_662X;
|
|
char v_661X;
|
|
long temp1_660X;
|
|
char v_659X;
|
|
long n_658X;
|
|
long x_657X;
|
|
long obj_656X;
|
|
long v_655X;
|
|
char v_654X;
|
|
long temp1_653X;
|
|
char v_652X;
|
|
long x_651X;
|
|
char v_650X;
|
|
long temp1_649X;
|
|
char v_648X;
|
|
long space_647X;
|
|
char * addr_646X;
|
|
long next_645X;
|
|
long channel_644X;
|
|
long n_643X;
|
|
char * addr_642X;
|
|
long head_641X;
|
|
long channel_640X;
|
|
long obj_639X;
|
|
char v_638X;
|
|
long temp1_637X;
|
|
char v_636X;
|
|
char v_635X;
|
|
long temp1_634X;
|
|
char v_633X;
|
|
char v_632X;
|
|
long temp1_631X;
|
|
char v_630X;
|
|
char v_629X;
|
|
long temp1_628X;
|
|
char v_627X;
|
|
char v_626X;
|
|
long temp1_625X;
|
|
char v_624X;
|
|
long x_623X;
|
|
long x_622X;
|
|
long x_621X;
|
|
long arg2_620X;
|
|
long descriptor_619X;
|
|
long x_618X;
|
|
long obj_617X;
|
|
char v_616X;
|
|
long temp1_615X;
|
|
char v_614X;
|
|
long len_613X;
|
|
char Kchar_612X;
|
|
long index_611X;
|
|
long arg3_610X;
|
|
long arg2_609X;
|
|
long len_608X;
|
|
long index_607X;
|
|
long arg2_606X;
|
|
long obj_605X;
|
|
char v_604X;
|
|
long temp1_603X;
|
|
char v_602X;
|
|
long size_601X;
|
|
char init_600X;
|
|
long len_599X;
|
|
long arg2_598X;
|
|
long len_597X;
|
|
long Kchar_596X;
|
|
long index_595X;
|
|
long arg3_594X;
|
|
long arg2_593X;
|
|
long len_592X;
|
|
long index_591X;
|
|
long arg2_590X;
|
|
long obj_589X;
|
|
char v_588X;
|
|
long temp1_587X;
|
|
char v_586X;
|
|
long size_585X;
|
|
long init_584X;
|
|
long len_583X;
|
|
long arg2_582X;
|
|
char * addr_581X;
|
|
long index_580X;
|
|
long len_579X;
|
|
long type_578X;
|
|
long value_577X;
|
|
long stob_576X;
|
|
long arg2_575X;
|
|
long index_574X;
|
|
long len_573X;
|
|
long type_572X;
|
|
long index_571X;
|
|
long stob_570X;
|
|
char v_569X;
|
|
long temp1_568X;
|
|
long temp0_567X;
|
|
char v_566X;
|
|
long size_565X;
|
|
long len_564X;
|
|
long type_563X;
|
|
long init_562X;
|
|
long len_561X;
|
|
char * addr_560X;
|
|
long type_559X;
|
|
long offset_558X;
|
|
long value_557X;
|
|
long stob_556X;
|
|
long type_555X;
|
|
long offset_554X;
|
|
long stob_553X;
|
|
char v_552X;
|
|
long temp1_551X;
|
|
char v_550X;
|
|
long space_549X;
|
|
long len_548X;
|
|
char v_547X;
|
|
long temp1_546X;
|
|
char v_545X;
|
|
long space_544X;
|
|
long len_543X;
|
|
long type_542X;
|
|
long stob_541X;
|
|
long type_540X;
|
|
long x_539X;
|
|
long x_538X;
|
|
long x_537X;
|
|
long x_536X;
|
|
long arg2_535X;
|
|
long x_534X;
|
|
long arg2_533X;
|
|
long x_532X;
|
|
long x_531X;
|
|
long result_530X;
|
|
long x_529X;
|
|
long x_528X;
|
|
long count_527X;
|
|
long value_526X;
|
|
long y_525X;
|
|
long x_524X;
|
|
long x_523X;
|
|
long arg2_522X;
|
|
long x_521X;
|
|
long arg2_520X;
|
|
long x_519X;
|
|
long arg2_518X;
|
|
long x_517X;
|
|
long x_516X;
|
|
long arg2_515X;
|
|
long x_514X;
|
|
long arg2_513X;
|
|
long x_512X;
|
|
long arg2_511X;
|
|
long n_510X;
|
|
long n_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 x_495X;
|
|
long a_494X;
|
|
long y_493X;
|
|
long x_492X;
|
|
long b_491X;
|
|
long a_490X;
|
|
long x_489X;
|
|
long arg2_488X;
|
|
long x_487X;
|
|
long arg2_486X;
|
|
long x_485X;
|
|
long arg2_484X;
|
|
long x_483X;
|
|
long arg2_482X;
|
|
long x_481X;
|
|
long arg2_480X;
|
|
long x_479X;
|
|
long arg2_478X;
|
|
long b_477X;
|
|
long a_476X;
|
|
long x_475X;
|
|
long arg2_474X;
|
|
long z_473X;
|
|
long y_472X;
|
|
long x_471X;
|
|
long b_470X;
|
|
long a_469X;
|
|
long x_468X;
|
|
long arg2_467X;
|
|
long z_466X;
|
|
long y_465X;
|
|
long x_464X;
|
|
long x_463X;
|
|
long x_462X;
|
|
long x_461X;
|
|
long n_460X;
|
|
long n_459X;
|
|
long n_458X;
|
|
long n_457X;
|
|
long x_456X;
|
|
long x_455X;
|
|
long arg2_454X;
|
|
long rest_list_453X;
|
|
long x_452X;
|
|
long rest_list_451X;
|
|
long stack_nargs_450X;
|
|
long arg0_449X;
|
|
long arg1_448X;
|
|
long rest_list_447X;
|
|
long arg0_446X;
|
|
long stack_nargs_445X;
|
|
long index_444X;
|
|
long val_443X;
|
|
long max_442X;
|
|
long p_441X;
|
|
char v_440X;
|
|
long temp1_439X;
|
|
char v_438X;
|
|
long space_437X;
|
|
long space_436X;
|
|
long index_435X;
|
|
long v_434X;
|
|
char v_433X;
|
|
long temp1_432X;
|
|
char v_431X;
|
|
long space_430X;
|
|
long code_429X;
|
|
long tem_428X;
|
|
long stack_nargs_427X;
|
|
long p_426X;
|
|
long obj_425X;
|
|
long consumer_424X;
|
|
long cont_423X;
|
|
long rest_list_422X;
|
|
long proc_421X;
|
|
long stack_nargs_420X;
|
|
long args_419X;
|
|
long length_418X;
|
|
char okayP_417X;
|
|
long list_args_416X;
|
|
long stob_415X;
|
|
char * top_of_args_414X;
|
|
long nargs_413X;
|
|
long obj_412X;
|
|
long stack_arg_count_411X;
|
|
char v_410X;
|
|
long temp1_409X;
|
|
char v_408X;
|
|
long space_407X;
|
|
long code_406X;
|
|
long template_405X;
|
|
long obj_404X;
|
|
long stack_arg_count_403X;
|
|
long cont_402X;
|
|
char v_401X;
|
|
long temp1_400X;
|
|
char v_399X;
|
|
long space_398X;
|
|
char v_397X;
|
|
long temp1_396X;
|
|
char v_395X;
|
|
long space_394X;
|
|
long total_count_393X;
|
|
long p_392X;
|
|
long v_391X;
|
|
char * addr_390X;
|
|
long val_389X;
|
|
long location_388X;
|
|
long location_387X;
|
|
long env_386X;
|
|
long back_385X;
|
|
long env_384X;
|
|
long back_383X;
|
|
long env_382X;
|
|
long back_381X;
|
|
long count_380X;
|
|
char * code_pointer_379X;
|
|
long code_378X;
|
|
char * addr_377X;
|
|
long proc_376X;
|
|
long temp_375X;
|
|
char okayP_374X;
|
|
char v_373X;
|
|
long temp1_372X;
|
|
long temp0_371X;
|
|
char v_370X;
|
|
{ v_370X = AVAILABLEp(2);
|
|
if (v_370X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = proc_345X;
|
|
goto L19388;}
|
|
else {
|
|
temp0_371X = collect_saving_temps(proc_345X, 1, &temp1_372X);
|
|
v_373X = AVAILABLEp(2);
|
|
if (v_373X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_371X;
|
|
goto L19388;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_371X;
|
|
goto L19388;}}}
|
|
L19388: {
|
|
okayP_374X = arg2K0;
|
|
temp_375X = arg0K1;
|
|
if (okayP_374X) {
|
|
arg0K0 = temp_375X;
|
|
goto L19359;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = temp_375X;
|
|
goto L19359;}}
|
|
L19359: {
|
|
proc_376X = arg0K0;
|
|
addr_377X = ALLOCATE_SPACE(17, 6);
|
|
*((long *) addr_377X) = 582;
|
|
code_378X = 3 + (((long) (addr_377X + 4)));
|
|
*((unsigned char *) (((char *) (-3 + code_378X)))) = 24;
|
|
*((unsigned char *) ((((char *) (-3 + code_378X))) + 1)) = nargs_346X;
|
|
Scode_pointerS = (((char *) (-3 + code_378X)));
|
|
SvalS = proc_376X;
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L18451: {
|
|
code_pointer_379X = arg1K0;
|
|
switch ((*((unsigned char *) code_pointer_379X))) {
|
|
case 0 :
|
|
case 146 : {
|
|
push_exception_continuationB(15, 1);
|
|
arg0K0 = 0;
|
|
goto L16678;}
|
|
break;
|
|
case 1 : {
|
|
count_380X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
|
|
*((long *) (SstackS)) = (SenvS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (1034 + (((count_380X)<<10)));
|
|
SstackS = ((SstackS) + -4);
|
|
SenvS = (3 + (((long) ((SstackS) + 8))));
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
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 L18451;}
|
|
break;
|
|
case 3 : {
|
|
SvalS = (*((long *) ((((char *) (-3 + (StemplateS)))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 4 : {
|
|
back_381X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
env_382X = SenvS;
|
|
arg0K0 = env_382X;
|
|
arg0K1 = back_381X;
|
|
goto L23845;}
|
|
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 L16678;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
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 L16678;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
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 L16678;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
break;
|
|
case 8 : {
|
|
back_383X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
|
|
env_384X = SenvS;
|
|
arg0K0 = env_384X;
|
|
arg0K1 = back_383X;
|
|
goto L20260;}
|
|
break;
|
|
case 9 : {
|
|
back_385X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
|
|
env_386X = SenvS;
|
|
arg0K0 = env_386X;
|
|
arg0K1 = back_385X;
|
|
goto L20198;}
|
|
break;
|
|
case 10 : {
|
|
location_387X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
|
|
SvalS = (*((long *) ((((char *) (-3 + location_387X))) + 4)));
|
|
if ((17 == (255 & (SvalS)))) {
|
|
push_exception_continuationB(1, 3);
|
|
*((long *) (SstackS)) = location_387X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
break;
|
|
case 11 : {
|
|
location_388X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
|
|
if ((273 == (*((long *) ((((char *) (-3 + location_388X))) + 4))))) {
|
|
push_exception_continuationB(1, 3);
|
|
*((long *) (SstackS)) = location_388X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
val_389X = SvalS;
|
|
addr_390X = (((char *) (-3 + location_388X))) + 4;
|
|
S48_WRITE_BARRIER(location_388X, addr_390X, val_389X);
|
|
*((long *) addr_390X) = val_389X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
break;
|
|
case 12 : {
|
|
v_391X = *((unsigned char *) ((Scode_pointerS) + 3));
|
|
if ((0 == v_391X)) {
|
|
p_392X = SenvS;
|
|
if ((3 == (3 & p_392X))) {
|
|
if ((p_392X < (((long) (Sstack_beginS))))) {
|
|
arg0K0 = 0;
|
|
goto L20977;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_392X)) {
|
|
arg0K0 = 0;
|
|
goto L20977;}
|
|
else {
|
|
arg0K0 = ((Sstack_endS) - (Sstack_beginS));
|
|
goto L20977;}}}
|
|
else {
|
|
arg0K0 = 0;
|
|
goto L20977;}}
|
|
else {
|
|
arg0K0 = (SvalS);
|
|
goto L20984;}}
|
|
break;
|
|
case 13 : {
|
|
total_count_393X = *((unsigned char *) ((Scode_pointerS) + 2));
|
|
space_394X = 1 + total_count_393X;
|
|
v_395X = AVAILABLEp(space_394X);
|
|
if (v_395X) {
|
|
goto L20779;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_396X);
|
|
v_397X = AVAILABLEp(space_394X);
|
|
if (v_397X) {
|
|
goto L20779;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L20779;}}}
|
|
break;
|
|
case 14 : {
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
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 L16678;}
|
|
else {
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
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 L16678;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
break;
|
|
case 17 : {
|
|
SstackS = ((SstackS) + 4);
|
|
SvalS = (*((long *) (SstackS)));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 18 : {
|
|
SvalS = (*((long *) ((SstackS) + (4 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))))));
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 19 : {
|
|
*((long *) ((SstackS) + (4 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))))) = (SvalS);
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
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 L18451;}
|
|
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 L18451;}
|
|
break;
|
|
case 22 : {
|
|
space_398X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_399X = AVAILABLEp(space_398X);
|
|
if (v_399X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L20705;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_400X);
|
|
v_401X = AVAILABLEp(space_398X);
|
|
if (v_401X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L20705;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L20705;}}}
|
|
break;
|
|
case 23 : {
|
|
cont_402X = *((long *) (((char *) (-3 + (Sbottom_of_stackS)))));
|
|
if ((3 == (3 & cont_402X))) {
|
|
if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_402X))) + -4))))>>2))))) {
|
|
if ((3 == (3 & cont_402X))) {
|
|
if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_402X))) + -4))))>>2))))) {
|
|
merged_arg0K0 = cont_402X;
|
|
copy_continuation_from_heapB_return_tag = 0;
|
|
goto copy_continuation_from_heapB;
|
|
copy_continuation_from_heapB_return_0:
|
|
goto L19860;}
|
|
else {
|
|
goto L19895;}}
|
|
else {
|
|
goto L19895;}}
|
|
else {
|
|
goto L19861;}}
|
|
else {
|
|
goto L19861;}}
|
|
break;
|
|
case 24 : {
|
|
stack_arg_count_403X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
obj_404X = SvalS;
|
|
if ((3 == (3 & obj_404X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_404X))) + -4))))>>2))))) {
|
|
template_405X = *((long *) (((char *) (-3 + (SvalS)))));
|
|
code_406X = *((long *) (((char *) (-3 + template_405X))));
|
|
if ((stack_arg_count_403X == (*((unsigned char *) ((((char *) (-3 + code_406X))) + 1))))) {
|
|
StemplateS = template_405X;
|
|
SenvS = (*((long *) ((((char *) (-3 + (SvalS)))) + 4)));
|
|
Scode_pointerS = ((((char *) (-3 + code_406X))) + 2);
|
|
if (((SstackS) < (Sstack_limitS))) {
|
|
space_407X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_408X = AVAILABLEp(space_407X);
|
|
if (v_408X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L19221;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_409X);
|
|
v_410X = AVAILABLEp(space_407X);
|
|
if (v_410X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L19221;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L19221;}}}
|
|
else {
|
|
goto L19133;}}
|
|
else {
|
|
arg0K0 = stack_arg_count_403X;
|
|
goto L16079;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_403X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_403X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
break;
|
|
case 25 : {
|
|
stack_arg_count_411X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
|
|
obj_412X = SvalS;
|
|
if ((3 == (3 & obj_412X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_412X))) + -4))))>>2))))) {
|
|
arg0K0 = stack_arg_count_411X;
|
|
goto L16079;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_411X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_411X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
break;
|
|
case 26 : {
|
|
nargs_413X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
top_of_args_414X = SstackS;
|
|
stob_415X = ScontS;
|
|
arg1K0 = ((((char *) (-3 + stob_415X))) + -8);
|
|
arg1K1 = (top_of_args_414X + (((nargs_413X)<<2)));
|
|
goto L17641;}
|
|
break;
|
|
case 27 : {
|
|
SstackS = ((SstackS) + 4);
|
|
list_args_416X = *((long *) (SstackS));
|
|
merged_arg0K0 = list_args_416X;
|
|
okay_argument_list_return_tag = 0;
|
|
goto okay_argument_list;
|
|
okay_argument_list_return_0:
|
|
okayP_417X = okay_argument_list0_return_value;
|
|
length_418X = okay_argument_list1_return_value;
|
|
if (okayP_417X) {
|
|
arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
|
|
arg0K1 = list_args_416X;
|
|
arg0K2 = length_418X;
|
|
goto L17679;}
|
|
else {
|
|
*((long *) (SstackS)) = list_args_416X;
|
|
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_419X = pop_args_GlistS0_return_value;
|
|
push_exception_continuationB(5, 0);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = args_419X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 28 : {
|
|
SstackS = ((SstackS) + 4);
|
|
SstackS = ((SstackS) + 4);
|
|
stack_nargs_420X = (((*((long *) (SstackS))))>>2);
|
|
proc_421X = *((long *) ((SstackS) + (4 + (((stack_nargs_420X)<<2)))));
|
|
*((long *) ((SstackS) + (4 + (((stack_nargs_420X)<<2))))) = 1;
|
|
SstackS = ((SstackS) + 4);
|
|
rest_list_422X = *((long *) (SstackS));
|
|
if ((25 == rest_list_422X)) {
|
|
SstackS = ((SstackS) + 4);
|
|
arg0K0 = (*((long *) (SstackS)));
|
|
arg0K1 = (-2 + stack_nargs_420X);
|
|
goto L11286;}
|
|
else {
|
|
if ((25 == (*((long *) ((((char *) (-3 + rest_list_422X))) + 4))))) {
|
|
arg0K0 = (*((long *) (((char *) (-3 + rest_list_422X)))));
|
|
arg0K1 = (-1 + stack_nargs_420X);
|
|
goto L11286;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + rest_list_422X))) + 4)))))) + 4)));
|
|
arg0K1 = rest_list_422X;
|
|
goto L11327;}}}
|
|
break;
|
|
case 29 : {
|
|
SstackS = ((SstackS) + 4);
|
|
cont_423X = *((long *) (SstackS));
|
|
if ((3 == (3 & cont_423X))) {
|
|
if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_423X))) + -4))))>>2))))) {
|
|
merged_arg0K0 = cont_423X;
|
|
copy_continuation_from_heapB_return_tag = 1;
|
|
goto copy_continuation_from_heapB;
|
|
copy_continuation_from_heapB_return_1:
|
|
goto L17584;}
|
|
else {
|
|
goto L17591;}}
|
|
else {
|
|
goto L17591;}}
|
|
break;
|
|
case 30 : {
|
|
SstackS = ((SstackS) + 4);
|
|
consumer_424X = *((long *) (SstackS));
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
SvalS = consumer_424X;
|
|
obj_425X = SvalS;
|
|
if ((3 == (3 & obj_425X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_425X))) + -4))))>>2))))) {
|
|
arg0K0 = 1;
|
|
goto L16079;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = 1;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = 1;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
break;
|
|
case 31 : {
|
|
pop_continuationB_return_tag = 0;
|
|
goto pop_continuationB;
|
|
pop_continuationB_return_0:
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 32 : {
|
|
arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
|
|
arg0K1 = 25;
|
|
arg0K2 = 0;
|
|
goto L20440;}
|
|
break;
|
|
case 33 : {
|
|
SstackS = ((SstackS) + 4);
|
|
p_426X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
stack_nargs_427X = (((*((long *) (SstackS))))>>2);
|
|
SstackS = ((SstackS) + 4);
|
|
arg0K0 = stack_nargs_427X;
|
|
arg0K1 = (*((long *) (SstackS)));
|
|
arg0K2 = ((((p_426X)>>2)) - stack_nargs_427X);
|
|
goto L20440;}
|
|
break;
|
|
case 34 : {
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 35 : {
|
|
tem_428X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
|
|
StemplateS = tem_428X;
|
|
Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_428X))))))));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 36 : {
|
|
code_429X = *((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_429X))) + 1))))) {
|
|
if (((SstackS) < (Sstack_limitS))) {
|
|
space_430X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_431X = AVAILABLEp(space_430X);
|
|
if (v_431X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L18957;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_432X);
|
|
v_433X = AVAILABLEp(space_430X);
|
|
if (v_433X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L18957;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L18957;}}}
|
|
else {
|
|
goto L18830;}}
|
|
else {
|
|
v_434X = *((unsigned char *) ((((char *) (-3 + code_429X))) + 1));
|
|
if ((66 == v_434X)) {
|
|
if ((0 == (*((unsigned char *) ((((char *) (-3 + code_429X))) + (-3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_429X))) + -4))))>>8)))))))) {
|
|
index_435X = -2 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_429X))) + -4))))>>8));
|
|
space_436X = ((((*((unsigned char *) ((((char *) (-3 + code_429X))) + index_435X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_429X))) + (1 + index_435X))));
|
|
if ((space_436X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L18830;}
|
|
else {
|
|
space_437X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_438X = AVAILABLEp(space_437X);
|
|
if (v_438X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L19013;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_439X);
|
|
v_440X = AVAILABLEp(space_437X);
|
|
if (v_440X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L19013;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L19013;}}}}
|
|
else {
|
|
goto L18875;}}
|
|
else {
|
|
goto L18875;}}}
|
|
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 L18451;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
break;
|
|
case 38 : {
|
|
Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 39 : {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
p_441X = SvalS;
|
|
max_442X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
val_443X = ((p_441X)>>2);
|
|
if ((val_443X < 0)) {
|
|
goto L18731;}
|
|
else {
|
|
if ((val_443X < max_442X)) {
|
|
index_444X = 1 + (((val_443X)<<1));
|
|
arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + index_444X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_444X)))));
|
|
goto L18733;}
|
|
else {
|
|
goto L18731;}}}
|
|
else {
|
|
push_exception_continuationB(5, 0);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 40 : {
|
|
stack_nargs_445X = (((*((long *) ((SstackS) + 4))))>>2);
|
|
if ((0 == stack_nargs_445X)) {
|
|
arg0_446X = *((long *) ((SstackS) + 12));
|
|
rest_list_447X = *((long *) ((SstackS) + 8));
|
|
*((long *) (SstackS)) = arg0_446X;
|
|
SstackS = ((SstackS) + -4);
|
|
SvalS = (*((long *) (((char *) (-3 + rest_list_447X)))));
|
|
goto L19763;}
|
|
else {
|
|
arg1_448X = *((long *) ((SstackS) + (4 + (((stack_nargs_445X)<<2)))));
|
|
arg0_449X = *((long *) ((SstackS) + (8 + (((stack_nargs_445X)<<2)))));
|
|
*((long *) ((SstackS) + (8 + (((stack_nargs_445X)<<2))))) = 1;
|
|
*((long *) ((SstackS) + 4)) = (-4 + (((stack_nargs_445X)<<2)));
|
|
*((long *) (SstackS)) = arg0_449X;
|
|
SstackS = ((SstackS) + -4);
|
|
SvalS = arg1_448X;
|
|
goto L19763;}}
|
|
break;
|
|
case 41 : {
|
|
stack_nargs_450X = (((*((long *) ((SstackS) + 4))))>>2);
|
|
if ((stack_nargs_450X == 0)) {
|
|
rest_list_451X = *((long *) ((SstackS) + 8));
|
|
if ((25 == (*((long *) ((((char *) (-3 + rest_list_451X))) + 4))))) {
|
|
arg0K0 = 1;
|
|
goto L18629;}
|
|
else {
|
|
*((long *) ((SstackS) + 8)) = (*((long *) ((((char *) (-3 + rest_list_451X))) + 4)));
|
|
*((long *) ((SstackS) + 12)) = (SvalS);
|
|
arg0K0 = -2;
|
|
goto L18629;}}
|
|
else {
|
|
if ((stack_nargs_450X == 1)) {
|
|
if ((25 == (*((long *) ((SstackS) + 8))))) {
|
|
arg0K0 = 1;
|
|
goto L18629;}
|
|
else {
|
|
*((long *) ((SstackS) + 4)) = 0;
|
|
*((long *) ((SstackS) + 12)) = (SvalS);
|
|
arg0K0 = -2;
|
|
goto L18629;}}
|
|
else {
|
|
*((long *) ((SstackS) + (8 + (((stack_nargs_450X)<<2))))) = (SvalS);
|
|
arg0K0 = -2;
|
|
goto L18629;}}}
|
|
break;
|
|
case 42 : {
|
|
if ((1 == (SvalS))) {
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
x_452X = (((*((long *) ((SstackS) + 4))))>>2);
|
|
if ((x_452X == 0)) {
|
|
rest_list_453X = *((long *) ((SstackS) + 8));
|
|
if ((25 == (*((long *) ((((char *) (-3 + rest_list_453X))) + 4))))) {
|
|
arg0K0 = 1;
|
|
goto L19654;}
|
|
else {
|
|
*((long *) ((SstackS) + 8)) = (*((long *) ((((char *) (-3 + rest_list_453X))) + 4)));
|
|
*((long *) ((SstackS) + 12)) = (*((long *) (((char *) (-3 + rest_list_453X)))));
|
|
arg0K0 = -2;
|
|
goto L19654;}}
|
|
else {
|
|
if ((x_452X == 1)) {
|
|
if ((25 == (*((long *) ((SstackS) + 8))))) {
|
|
arg0K0 = 1;
|
|
goto L19654;}
|
|
else {
|
|
*((long *) ((SstackS) + 4)) = 0;
|
|
arg0K0 = -2;
|
|
goto L19654;}}
|
|
else {
|
|
arg0K0 = -2;
|
|
goto L19654;}}}}
|
|
break;
|
|
case 43 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_454X = *((long *) (SstackS));
|
|
x_455X = SvalS;
|
|
if ((arg2_454X == x_455X)) {
|
|
arg0K0 = 5;
|
|
goto L38236;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38236;}}
|
|
break;
|
|
case 44 : {
|
|
x_456X = SvalS;
|
|
if ((0 == (3 & x_456X))) {
|
|
arg0K0 = 5;
|
|
goto L38248;}
|
|
else {
|
|
if ((3 == (3 & x_456X))) {
|
|
if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_456X))) + -4))))>>2))))) {
|
|
arg0K0 = 5;
|
|
goto L38248;}
|
|
else {
|
|
goto L10634;}}
|
|
else {
|
|
goto L10634;}}}
|
|
break;
|
|
case 45 : {
|
|
n_457X = SvalS;
|
|
if ((0 == (3 & n_457X))) {
|
|
goto L28412;}
|
|
else {
|
|
if ((3 == (3 & n_457X))) {
|
|
if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_457X))) + -4))))>>2))))) {
|
|
goto L28412;}
|
|
else {
|
|
goto L28413;}}
|
|
else {
|
|
goto L28413;}}}
|
|
break;
|
|
case 46 : {
|
|
n_458X = SvalS;
|
|
if ((0 == (3 & n_458X))) {
|
|
goto L28569;}
|
|
else {
|
|
if ((3 == (3 & n_458X))) {
|
|
if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_458X))) + -4))))>>2))))) {
|
|
goto L28569;}
|
|
else {
|
|
goto L28544;}}
|
|
else {
|
|
goto L28544;}}}
|
|
break;
|
|
case 47 : {
|
|
n_459X = SvalS;
|
|
if ((0 == (3 & n_459X))) {
|
|
goto L28768;}
|
|
else {
|
|
if ((3 == (3 & n_459X))) {
|
|
if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) {
|
|
goto L28768;}
|
|
else {
|
|
goto L28743;}}
|
|
else {
|
|
goto L28743;}}}
|
|
break;
|
|
case 48 : {
|
|
n_460X = SvalS;
|
|
if ((0 == (3 & n_460X))) {
|
|
goto L28967;}
|
|
else {
|
|
if ((3 == (3 & n_460X))) {
|
|
if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) {
|
|
goto L28967;}
|
|
else {
|
|
goto L28942;}}
|
|
else {
|
|
goto L28942;}}}
|
|
break;
|
|
case 49 : {
|
|
x_461X = SvalS;
|
|
if ((0 == (3 & x_461X))) {
|
|
SvalS = 5;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_461X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 50 : {
|
|
x_462X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_462X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 51 : {
|
|
x_463X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_463X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 52 : {
|
|
SstackS = ((SstackS) + 4);
|
|
x_464X = *((long *) (SstackS));
|
|
y_465X = SvalS;
|
|
if ((0 == (3 & (x_464X | y_465X)))) {
|
|
z_466X = (((x_464X)>>2)) + (((y_465X)>>2));
|
|
if ((536870911 < z_466X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_464X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_465X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
if ((z_466X < -536870912)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_464X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_465X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
SvalS = (((z_466X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_464X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_465X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 53 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_467X = *((long *) (SstackS));
|
|
x_468X = SvalS;
|
|
if ((0 == (3 & (arg2_467X | x_468X)))) {
|
|
a_469X = ((arg2_467X)>>2);
|
|
b_470X = ((x_468X)>>2);
|
|
if ((a_469X < 0)) {
|
|
arg0K0 = (0 - a_469X);
|
|
goto L6787;}
|
|
else {
|
|
arg0K0 = a_469X;
|
|
goto L6787;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_467X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 54 : {
|
|
SstackS = ((SstackS) + 4);
|
|
x_471X = *((long *) (SstackS));
|
|
y_472X = SvalS;
|
|
if ((0 == (3 & (x_471X | y_472X)))) {
|
|
z_473X = (((x_471X)>>2)) - (((y_472X)>>2));
|
|
if ((536870911 < z_473X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_471X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_472X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
if ((z_473X < -536870912)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_471X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_472X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
SvalS = (((z_473X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_471X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_472X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 55 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_474X = *((long *) (SstackS));
|
|
x_475X = SvalS;
|
|
if ((0 == (3 & (arg2_474X | x_475X)))) {
|
|
if ((0 == x_475X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_474X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_475X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
a_476X = ((arg2_474X)>>2);
|
|
b_477X = ((x_475X)>>2);
|
|
if ((a_476X < 0)) {
|
|
arg0K0 = (0 - a_476X);
|
|
goto L7068;}
|
|
else {
|
|
arg0K0 = a_476X;
|
|
goto L7068;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_474X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_475X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 56 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_478X = *((long *) (SstackS));
|
|
x_479X = SvalS;
|
|
if ((0 == (3 & (arg2_478X | x_479X)))) {
|
|
if ((arg2_478X == x_479X)) {
|
|
arg0K0 = 5;
|
|
goto L31877;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L31877;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_478X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_479X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 57 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_480X = *((long *) (SstackS));
|
|
x_481X = SvalS;
|
|
if ((0 == (3 & (arg2_480X | x_481X)))) {
|
|
if ((arg2_480X < x_481X)) {
|
|
arg0K0 = 5;
|
|
goto L31955;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L31955;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_480X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_481X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 58 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_482X = *((long *) (SstackS));
|
|
x_483X = SvalS;
|
|
if ((0 == (3 & (arg2_482X | x_483X)))) {
|
|
if ((x_483X < arg2_482X)) {
|
|
arg0K0 = 5;
|
|
goto L32033;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L32033;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_482X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_483X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 59 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_484X = *((long *) (SstackS));
|
|
x_485X = SvalS;
|
|
if ((0 == (3 & (arg2_484X | x_485X)))) {
|
|
if ((x_485X < arg2_484X)) {
|
|
arg0K0 = 1;
|
|
goto L32111;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L32111;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_484X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_485X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 60 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_486X = *((long *) (SstackS));
|
|
x_487X = SvalS;
|
|
if ((0 == (3 & (arg2_486X | x_487X)))) {
|
|
if ((arg2_486X < x_487X)) {
|
|
arg0K0 = 1;
|
|
goto L32189;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L32189;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_486X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_487X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 61 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_488X = *((long *) (SstackS));
|
|
x_489X = SvalS;
|
|
if ((0 == (3 & (arg2_488X | x_489X)))) {
|
|
if ((0 == x_489X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_488X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_489X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
a_490X = ((arg2_488X)>>2);
|
|
b_491X = ((x_489X)>>2);
|
|
if ((a_490X < 0)) {
|
|
arg0K0 = (0 - a_490X);
|
|
goto L7245;}
|
|
else {
|
|
arg0K0 = a_490X;
|
|
goto L7245;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_488X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_489X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 62 : {
|
|
SstackS = ((SstackS) + 4);
|
|
x_492X = *((long *) (SstackS));
|
|
y_493X = SvalS;
|
|
if ((0 == (3 & (x_492X | y_493X)))) {
|
|
if ((0 == y_493X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_492X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_493X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
a_494X = ((x_492X)>>2);
|
|
if ((a_494X < 0)) {
|
|
arg0K0 = (0 - a_494X);
|
|
goto L25359;}
|
|
else {
|
|
arg0K0 = a_494X;
|
|
goto L25359;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_492X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_493X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 63 : {
|
|
x_495X = SvalS;
|
|
if ((0 == (3 & x_495X))) {
|
|
SvalS = x_495X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_495X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 64 : {
|
|
x_496X = SvalS;
|
|
if ((0 == (3 & x_496X))) {
|
|
SvalS = x_496X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_496X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 65 : {
|
|
x_497X = SvalS;
|
|
if ((0 == (3 & x_497X))) {
|
|
SvalS = 4;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_497X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 66 : {
|
|
x_498X = SvalS;
|
|
if ((0 == (3 & x_498X))) {
|
|
SvalS = x_498X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_498X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 67 : {
|
|
x_499X = SvalS;
|
|
if ((0 == (3 & x_499X))) {
|
|
SvalS = 0;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_499X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 68 : {
|
|
x_500X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_500X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 69 : {
|
|
x_501X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_501X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 70 : {
|
|
x_502X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_502X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 71 : {
|
|
x_503X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_503X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 72 : {
|
|
x_504X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_504X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 73 : {
|
|
x_505X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_505X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 74 : {
|
|
x_506X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_506X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 75 : {
|
|
x_507X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_507X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 76 : {
|
|
x_508X = SvalS;
|
|
if ((0 == (3 & x_508X))) {
|
|
if ((x_508X < 0)) {
|
|
goto L38505;}
|
|
else {
|
|
SvalS = 0;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
else {
|
|
goto L38505;}}
|
|
break;
|
|
case 77 : {
|
|
n_509X = SvalS;
|
|
if ((0 == (3 & n_509X))) {
|
|
n_510X = ((n_509X)>>2);
|
|
if ((n_510X < 0)) {
|
|
arg0K0 = (0 - n_510X);
|
|
goto L25645;}
|
|
else {
|
|
arg0K0 = n_510X;
|
|
goto L25645;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = n_509X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 78 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_511X = *((long *) (SstackS));
|
|
x_512X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_511X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_512X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
break;
|
|
case 79 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_513X = *((long *) (SstackS));
|
|
x_514X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_513X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_514X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
break;
|
|
case 80 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_515X = *((long *) (SstackS));
|
|
x_516X = SvalS;
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_515X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_516X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
break;
|
|
case 81 : {
|
|
x_517X = SvalS;
|
|
if ((0 == (3 & x_517X))) {
|
|
SvalS = (~ (3 | x_517X));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_517X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 82 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_518X = *((long *) (SstackS));
|
|
x_519X = SvalS;
|
|
if ((0 == (3 & (arg2_518X | x_519X)))) {
|
|
SvalS = (arg2_518X & x_519X);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_518X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_519X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 83 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_520X = *((long *) (SstackS));
|
|
x_521X = SvalS;
|
|
if ((0 == (3 & (arg2_520X | x_521X)))) {
|
|
SvalS = (arg2_520X | x_521X);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_520X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_521X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 84 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_522X = *((long *) (SstackS));
|
|
x_523X = SvalS;
|
|
if ((0 == (3 & (arg2_522X | x_523X)))) {
|
|
SvalS = (arg2_522X ^ x_523X);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_522X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_523X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 85 : {
|
|
SstackS = ((SstackS) + 4);
|
|
x_524X = *((long *) (SstackS));
|
|
y_525X = SvalS;
|
|
if ((0 == (3 & (x_524X | y_525X)))) {
|
|
value_526X = ((x_524X)>>2);
|
|
count_527X = ((y_525X)>>2);
|
|
if ((count_527X < 0)) {
|
|
PS_SHIFT_RIGHT(value_526X, (0 - count_527X), x_528X)
|
|
SvalS = (((x_528X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
PS_SHIFT_LEFT(value_526X, count_527X, x_529X)
|
|
result_530X = (((((x_529X)<<2)))>>2);
|
|
PS_SHIFT_RIGHT(result_530X, count_527X, x_531X)
|
|
if ((value_526X == x_531X)) {
|
|
if ((value_526X < 0)) {
|
|
if ((result_530X < 0)) {
|
|
goto L25924;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_524X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_525X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
else {
|
|
if ((result_530X < 0)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_524X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_525X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
goto L25924;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_524X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_525X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_524X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = y_525X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 86 : {
|
|
x_532X = SvalS;
|
|
if ((9 == (255 & x_532X))) {
|
|
arg0K0 = 5;
|
|
goto L38593;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38593;}}
|
|
break;
|
|
case 87 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_533X = *((long *) (SstackS));
|
|
if ((9 == (255 & arg2_533X))) {
|
|
if ((9 == (255 & (SvalS)))) {
|
|
x_534X = SvalS;
|
|
if ((arg2_533X == x_534X)) {
|
|
arg0K0 = 5;
|
|
goto L28187;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L28187;}}
|
|
else {
|
|
goto L28160;}}
|
|
else {
|
|
goto L28160;}}
|
|
break;
|
|
case 88 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_535X = *((long *) (SstackS));
|
|
if ((9 == (255 & arg2_535X))) {
|
|
if ((9 == (255 & (SvalS)))) {
|
|
x_536X = SvalS;
|
|
if ((arg2_535X < x_536X)) {
|
|
arg0K0 = 5;
|
|
goto L28097;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L28097;}}
|
|
else {
|
|
goto L28070;}}
|
|
else {
|
|
goto L28070;}}
|
|
break;
|
|
case 89 : {
|
|
if ((9 == (255 & (SvalS)))) {
|
|
SvalS = (((((((((SvalS))>>8)))))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 90 : {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
x_537X = (((SvalS))>>2);
|
|
if ((255 < x_537X)) {
|
|
goto L32881;}
|
|
else {
|
|
if ((x_537X < 0)) {
|
|
goto L32881;}
|
|
else {
|
|
SvalS = (9 + (((((x_537X)))<<8)));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 91 : {
|
|
x_538X = SvalS;
|
|
if ((21 == x_538X)) {
|
|
arg0K0 = 5;
|
|
goto L38622;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38622;}}
|
|
break;
|
|
case 92 : {
|
|
x_539X = SvalS;
|
|
type_540X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((3 == (3 & x_539X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + x_539X))) + -4))))>>2))) == type_540X)) {
|
|
arg0K0 = 5;
|
|
goto L38636;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38636;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38636;}}
|
|
break;
|
|
case 93 : {
|
|
stob_541X = SvalS;
|
|
type_542X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((3 == (3 & stob_541X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + stob_541X))) + -4))))>>2))) == type_542X)) {
|
|
SvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_541X))) + -4))))>>8))));
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L21242;}}
|
|
else {
|
|
goto L21242;}}
|
|
break;
|
|
case 94 : {
|
|
len_543X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
space_544X = 4 + (((len_543X)<<2));
|
|
v_545X = AVAILABLEp(space_544X);
|
|
if (v_545X) {
|
|
goto L21314;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_546X);
|
|
v_547X = AVAILABLEp(space_544X);
|
|
if (v_547X) {
|
|
goto L21314;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L21314;}}}
|
|
break;
|
|
case 95 : {
|
|
SstackS = ((SstackS) + 4);
|
|
len_548X = (((*((long *) (SstackS))))>>2);
|
|
space_549X = 4 + (((len_548X)<<2));
|
|
v_550X = AVAILABLEp(space_549X);
|
|
if (v_550X) {
|
|
goto L21496;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_551X);
|
|
v_552X = AVAILABLEp(space_549X);
|
|
if (v_552X) {
|
|
goto L21496;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L21496;}}}
|
|
break;
|
|
case 96 : {
|
|
stob_553X = SvalS;
|
|
offset_554X = *((unsigned char *) ((Scode_pointerS) + 2));
|
|
type_555X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((3 == (3 & stob_553X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + stob_553X))) + -4))))>>2))) == type_555X)) {
|
|
SvalS = (*((long *) ((((char *) (-3 + stob_553X))) + (((offset_554X)<<2)))));
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L21706;}}
|
|
else {
|
|
goto L21706;}}
|
|
break;
|
|
case 97 : {
|
|
SstackS = ((SstackS) + 4);
|
|
stob_556X = *((long *) (SstackS));
|
|
value_557X = SvalS;
|
|
offset_558X = *((unsigned char *) ((Scode_pointerS) + 2));
|
|
type_559X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((3 == (3 & stob_556X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + stob_556X))) + -4))))>>2))) == type_559X)) {
|
|
if ((3 == (3 & stob_556X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_556X))) + -4)))))) {
|
|
addr_560X = (((char *) (-3 + stob_556X))) + (((offset_558X)<<2));
|
|
S48_WRITE_BARRIER(stob_556X, addr_560X, value_557X);
|
|
*((long *) addr_560X) = value_557X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L21809;}}
|
|
else {
|
|
goto L21809;}}
|
|
else {
|
|
goto L21809;}}
|
|
else {
|
|
goto L21809;}}
|
|
break;
|
|
case 98 : {
|
|
SstackS = ((SstackS) + 4);
|
|
len_561X = *((long *) (SstackS));
|
|
init_562X = SvalS;
|
|
type_563X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == (3 & len_561X))) {
|
|
len_564X = ((len_561X)>>2);
|
|
size_565X = 1 + len_564X;
|
|
if ((len_564X < 0)) {
|
|
goto L21994;}
|
|
else {
|
|
if ((4194305 < size_565X)) {
|
|
goto L21994;}
|
|
else {
|
|
v_566X = AVAILABLEp(size_565X);
|
|
if (v_566X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = init_562X;
|
|
goto L22012;}
|
|
else {
|
|
temp0_567X = collect_saving_temps(init_562X, 1, &temp1_568X);
|
|
v_569X = AVAILABLEp(size_565X);
|
|
if (v_569X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_567X;
|
|
goto L22012;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_567X;
|
|
goto L22012;}}}}}
|
|
else {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = (((type_563X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = len_561X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = init_562X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}}
|
|
break;
|
|
case 99 : {
|
|
SstackS = ((SstackS) + 4);
|
|
stob_570X = *((long *) (SstackS));
|
|
index_571X = SvalS;
|
|
type_572X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == (3 & index_571X))) {
|
|
if ((3 == (3 & stob_570X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + stob_570X))) + -4))))>>2))) == type_572X)) {
|
|
len_573X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_570X))) + -4))))>>8))))>>2);
|
|
index_574X = ((index_571X)>>2);
|
|
if ((index_574X < 0)) {
|
|
goto L22290;}
|
|
else {
|
|
if ((index_574X < len_573X)) {
|
|
SvalS = (*((long *) ((((char *) (-3 + stob_570X))) + (-4 & index_571X))));
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L22290;}}}
|
|
else {
|
|
goto L22267;}}
|
|
else {
|
|
goto L22267;}}
|
|
else {
|
|
goto L22267;}}
|
|
break;
|
|
case 100 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_575X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
stob_576X = *((long *) (SstackS));
|
|
value_577X = SvalS;
|
|
type_578X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == (3 & arg2_575X))) {
|
|
if ((3 == (3 & stob_576X))) {
|
|
if (((31 & ((((*((long *) ((((char *) (-3 + stob_576X))) + -4))))>>2))) == type_578X)) {
|
|
if ((3 == (3 & stob_576X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_576X))) + -4)))))) {
|
|
len_579X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_576X))) + -4))))>>8))))>>2);
|
|
index_580X = ((arg2_575X)>>2);
|
|
if ((index_580X < 0)) {
|
|
goto L22530;}
|
|
else {
|
|
if ((index_580X < len_579X)) {
|
|
addr_581X = (((char *) (-3 + stob_576X))) + (-4 & arg2_575X);
|
|
S48_WRITE_BARRIER(stob_576X, addr_581X, value_577X);
|
|
*((long *) addr_581X) = value_577X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L22530;}}}
|
|
else {
|
|
goto L22505;}}
|
|
else {
|
|
goto L22505;}}
|
|
else {
|
|
goto L22505;}}
|
|
else {
|
|
goto L22505;}}
|
|
else {
|
|
goto L22505;}}
|
|
break;
|
|
case 101 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_582X = *((long *) (SstackS));
|
|
if ((0 == (3 & (arg2_582X | (SvalS))))) {
|
|
len_583X = ((arg2_582X)>>2);
|
|
init_584X = (((SvalS))>>2);
|
|
size_585X = 1 + ((((3 + len_583X))>>2));
|
|
if ((len_583X < 0)) {
|
|
goto L26095;}
|
|
else {
|
|
if ((4194305 < size_585X)) {
|
|
goto L26095;}
|
|
else {
|
|
v_586X = AVAILABLEp(size_585X);
|
|
if (v_586X) {
|
|
goto L26187;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_587X);
|
|
v_588X = AVAILABLEp(size_585X);
|
|
if (v_588X) {
|
|
goto L26187;}
|
|
else {
|
|
push_exception_continuationB(8, 1);
|
|
*((long *) (SstackS)) = (((len_583X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((init_584X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_582X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 102 : {
|
|
obj_589X = SvalS;
|
|
if ((3 == (3 & obj_589X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_589X))) + -4))))>>2))))) {
|
|
SvalS = (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L36448;}}
|
|
else {
|
|
goto L36448;}}
|
|
break;
|
|
case 103 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_590X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_590X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_590X))) + -4))))>>2))))) {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
index_591X = (((SvalS))>>2);
|
|
len_592X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_590X))) + -4))))>>8);
|
|
if ((index_591X < 0)) {
|
|
goto L32987;}
|
|
else {
|
|
if ((index_591X < len_592X)) {
|
|
SvalS = ((((*((unsigned char *) ((((char *) (-3 + arg2_590X))) + index_591X))))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L32987;}}}
|
|
else {
|
|
goto L36024;}}
|
|
else {
|
|
goto L36024;}}
|
|
else {
|
|
goto L36024;}}
|
|
break;
|
|
case 104 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_593X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_594X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg3_594X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_594X))) + -4))))>>2))))) {
|
|
if ((0 == (3 & (arg2_593X | (SvalS))))) {
|
|
index_595X = ((arg2_593X)>>2);
|
|
Kchar_596X = (((SvalS))>>2);
|
|
if ((3 == (3 & arg3_594X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_594X))) + -4)))))) {
|
|
len_597X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_594X))) + -4))))>>8);
|
|
if ((index_595X < 0)) {
|
|
goto L29935;}
|
|
else {
|
|
if ((index_595X < len_597X)) {
|
|
*((unsigned char *) ((((char *) (-3 + arg3_594X))) + index_595X)) = Kchar_596X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L29935;}}}
|
|
else {
|
|
goto L29914;}}
|
|
else {
|
|
goto L29914;}}
|
|
else {
|
|
goto L34436;}}
|
|
else {
|
|
goto L34436;}}
|
|
else {
|
|
goto L34436;}}
|
|
break;
|
|
case 105 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_598X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_598X))) {
|
|
if ((9 == (255 & (SvalS)))) {
|
|
len_599X = ((arg2_598X)>>2);
|
|
init_600X = ((((SvalS))>>8));
|
|
size_601X = 1 + ((((4 + len_599X))>>2));
|
|
if ((len_599X < 0)) {
|
|
goto L26329;}
|
|
else {
|
|
if ((4194305 < size_601X)) {
|
|
goto L26329;}
|
|
else {
|
|
v_602X = AVAILABLEp(size_601X);
|
|
if (v_602X) {
|
|
goto L26421;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_603X);
|
|
v_604X = AVAILABLEp(size_601X);
|
|
if (v_604X) {
|
|
goto L26421;}
|
|
else {
|
|
push_exception_continuationB(8, 1);
|
|
*((long *) (SstackS)) = (((len_599X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (9 + ((((init_600X))<<8)));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}}}
|
|
else {
|
|
goto L33068;}}
|
|
else {
|
|
goto L33068;}}
|
|
break;
|
|
case 106 : {
|
|
obj_605X = SvalS;
|
|
if ((3 == (3 & obj_605X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_605X))) + -4))))>>2))))) {
|
|
SvalS = (-4 + (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2)));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L36498;}}
|
|
else {
|
|
goto L36498;}}
|
|
break;
|
|
case 107 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_606X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_606X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_606X))) + -4))))>>2))))) {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
index_607X = (((SvalS))>>2);
|
|
len_608X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_606X))) + -4))))>>8));
|
|
if ((index_607X < 0)) {
|
|
goto L33131;}
|
|
else {
|
|
if ((index_607X < len_608X)) {
|
|
SvalS = (9 + ((((((*((unsigned char *) ((((char *) (-3 + arg2_606X))) + index_607X))))))<<8)));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L33131;}}}
|
|
else {
|
|
goto L36120;}}
|
|
else {
|
|
goto L36120;}}
|
|
else {
|
|
goto L36120;}}
|
|
break;
|
|
case 108 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_609X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_610X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg3_610X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_610X))) + -4))))>>2))))) {
|
|
if ((0 == (3 & arg2_609X))) {
|
|
if ((9 == (255 & (SvalS)))) {
|
|
index_611X = ((arg2_609X)>>2);
|
|
Kchar_612X = ((((SvalS))>>8));
|
|
if ((3 == (3 & arg3_610X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_610X))) + -4)))))) {
|
|
len_613X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_610X))) + -4))))>>8));
|
|
if ((index_611X < 0)) {
|
|
goto L30090;}
|
|
else {
|
|
if ((index_611X < len_613X)) {
|
|
*((unsigned char *) ((((char *) (-3 + arg3_610X))) + index_611X)) = (Kchar_612X);
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L30090;}}}
|
|
else {
|
|
goto L30069;}}
|
|
else {
|
|
goto L30069;}}
|
|
else {
|
|
goto L34562;}}
|
|
else {
|
|
goto L34562;}}
|
|
else {
|
|
goto L34562;}}
|
|
else {
|
|
goto L34562;}}
|
|
break;
|
|
case 109 : {
|
|
v_614X = AVAILABLEp(3);
|
|
if (v_614X) {
|
|
goto L24499;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_615X);
|
|
v_616X = AVAILABLEp(3);
|
|
if (v_616X) {
|
|
goto L24499;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L24499;}}}
|
|
break;
|
|
case 110 : {
|
|
obj_617X = SvalS;
|
|
if ((3 == (3 & obj_617X))) {
|
|
if ((4 == (31 & ((((*((long *) ((((char *) (-3 + obj_617X))) + -4))))>>2))))) {
|
|
x_618X = SvalS;
|
|
descriptor_619X = *((long *) ((((char *) (-3 + x_618X))) + 4));
|
|
if ((17 == (255 & descriptor_619X))) {
|
|
if ((529 == (*((long *) ((((char *) (-3 + x_618X))) + 4))))) {
|
|
arg0K0 = 5;
|
|
goto L34109;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L34109;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L34109;}}
|
|
else {
|
|
goto L34090;}}
|
|
else {
|
|
goto L34090;}}
|
|
break;
|
|
case 111 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_620X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_620X))) {
|
|
if ((4 == (31 & ((((*((long *) ((((char *) (-3 + arg2_620X))) + -4))))>>2))))) {
|
|
x_621X = SvalS;
|
|
if ((1 == x_621X)) {
|
|
goto L29677;}
|
|
else {
|
|
if ((5 == x_621X)) {
|
|
goto L29677;}
|
|
else {
|
|
goto L29684;}}}
|
|
else {
|
|
goto L29684;}}
|
|
else {
|
|
goto L29684;}}
|
|
break;
|
|
case 112 : {
|
|
x_622X = SvalS;
|
|
if ((3 == (3 & x_622X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + x_622X))) + -4)))))) {
|
|
arg0K0 = 1;
|
|
goto L38708;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L38708;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L38708;}}
|
|
break;
|
|
case 113 : {
|
|
x_623X = SvalS;
|
|
if ((3 == (3 & x_623X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + x_623X))) + -4)))))) {
|
|
*((long *) ((((char *) (-3 + x_623X))) + -4)) = (128 | (*((long *) ((((char *) (-3 + x_623X))) + -4))));
|
|
goto L33213;}
|
|
else {
|
|
goto L33213;}}
|
|
else {
|
|
goto L33213;}}
|
|
break;
|
|
case 114 : {
|
|
v_624X = AVAILABLEp(72);
|
|
if (v_624X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L33264;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_625X);
|
|
v_626X = AVAILABLEp(72);
|
|
if (v_626X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L33264;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L33264;}}}
|
|
break;
|
|
case 115 : {
|
|
v_627X = AVAILABLEp(66);
|
|
if (v_627X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34680;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_628X);
|
|
v_629X = AVAILABLEp(66);
|
|
if (v_629X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34680;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L34680;}}}
|
|
break;
|
|
case 116 : {
|
|
v_630X = AVAILABLEp(66);
|
|
if (v_630X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L37552;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_631X);
|
|
v_632X = AVAILABLEp(66);
|
|
if (v_632X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L37552;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L37552;}}}
|
|
break;
|
|
case 117 : {
|
|
v_633X = AVAILABLEp(66);
|
|
if (v_633X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L37812;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_634X);
|
|
v_635X = AVAILABLEp(66);
|
|
if (v_635X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L37812;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L37812;}}}
|
|
break;
|
|
case 118 : {
|
|
v_636X = AVAILABLEp(66);
|
|
if (v_636X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34165;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_637X);
|
|
v_638X = AVAILABLEp(66);
|
|
if (v_638X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34165;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L34165;}}}
|
|
break;
|
|
case 119 : {
|
|
obj_639X = SvalS;
|
|
if ((3 == (3 & obj_639X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_639X))) + -4))))>>2))))) {
|
|
channel_640X = SvalS;
|
|
head_641X = Spending_channels_headS;
|
|
if ((1 == head_641X)) {
|
|
addr_642X = (((char *) (-3 + channel_640X))) + 16;
|
|
S48_WRITE_BARRIER(channel_640X, addr_642X, 1);
|
|
*((long *) addr_642X) = 1;
|
|
n_643X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_640X))) + 8))))>>2)));
|
|
arg0K0 = (((n_643X)<<2));
|
|
goto L33335;}
|
|
else {
|
|
if ((channel_640X == head_641X)) {
|
|
channel_644X = Spending_channels_headS;
|
|
next_645X = *((long *) ((((char *) (-3 + channel_644X))) + 12));
|
|
Spending_channels_headS = next_645X;
|
|
addr_646X = (((char *) (-3 + channel_644X))) + 12;
|
|
S48_WRITE_BARRIER(channel_644X, addr_646X, 1);
|
|
*((long *) addr_646X) = 1;
|
|
if ((1 == next_645X)) {
|
|
Spending_channels_tailS = 1;
|
|
goto L8185;}
|
|
else {
|
|
goto L8185;}}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + head_641X))) + 12)));
|
|
arg0K1 = head_641X;
|
|
goto L8191;}}}
|
|
else {
|
|
goto L33318;}}
|
|
else {
|
|
goto L33318;}}
|
|
break;
|
|
case 120 : {
|
|
space_647X = 3 * (Snumber_of_channelsS);
|
|
v_648X = AVAILABLEp(space_647X);
|
|
if (v_648X) {
|
|
goto L14790;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_649X);
|
|
v_650X = AVAILABLEp(space_647X);
|
|
if (v_650X) {
|
|
goto L14790;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L14790;}}}
|
|
break;
|
|
case 121 : {
|
|
SvalS = 529;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 122 : {
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 123 : {
|
|
x_651X = SvalS;
|
|
push_exception_continuationB(16, 1);
|
|
*((long *) (SstackS)) = x_651X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
break;
|
|
case 124 : {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 125 : {
|
|
SvalS = 21;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 126 : {
|
|
v_652X = AVAILABLEp(66);
|
|
if (v_652X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34781;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_653X);
|
|
v_654X = AVAILABLEp(66);
|
|
if (v_654X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L34781;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L34781;}}}
|
|
break;
|
|
case 127 : {
|
|
SvalS = 13;
|
|
collect_saving_temps(0, 0, &v_655X);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 128 : {
|
|
obj_656X = SvalS;
|
|
if ((3 == (3 & obj_656X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_656X))) + -4))))>>2))))) {
|
|
x_657X = SvalS;
|
|
n_658X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_657X))) + -4))))>>8));
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L35613;}
|
|
else {
|
|
goto L35590;}}
|
|
else {
|
|
goto L35590;}}
|
|
break;
|
|
case 129 : {
|
|
v_659X = AVAILABLEp(6);
|
|
if (v_659X) {
|
|
goto L38776;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_660X);
|
|
v_661X = AVAILABLEp(6);
|
|
if (v_661X) {
|
|
goto L38776;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L38776;}}}
|
|
break;
|
|
case 130 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_662X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_662X))) {
|
|
key_663X = ((arg2_662X)>>2);
|
|
other_664X = SvalS;
|
|
if ((5 == key_663X)) {
|
|
SvalS = (-4 & other_664X);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if ((0 == key_663X)) {
|
|
x_665X = s48_available();
|
|
SvalS = (((x_665X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if ((1 == key_663X)) {
|
|
bytes_666X = s48_heap_size();
|
|
SvalS = (-4 & (3 + bytes_666X));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if ((2 == key_663X)) {
|
|
SvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if ((3 == key_663X)) {
|
|
x_667X = s48_gc_count();
|
|
SvalS = (((x_667X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if ((4 == key_663X)) {
|
|
push_exception_continuationB(15, 1);
|
|
*((long *) (SstackS)) = (((key_663X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = other_664X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
push_exception_continuationB(18, 1);
|
|
*((long *) (SstackS)) = (((key_663X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = other_664X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}}}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_662X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 131 : {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
type_668X = (((SvalS))>>2);
|
|
arg2K0 = 1;
|
|
goto L33426;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 132 : {
|
|
x_669X = SvalS;
|
|
arg2K0 = 1;
|
|
arg0K1 = x_669X;
|
|
goto L38826;}
|
|
break;
|
|
case 133 : {
|
|
SvalS = (Scurrent_threadS);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 134 : {
|
|
Scurrent_threadS = (SvalS);
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 135 : {
|
|
SvalS = (Ssession_dataS);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 136 : {
|
|
Ssession_dataS = (SvalS);
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 137 : {
|
|
obj_670X = SvalS;
|
|
if ((3 == (3 & obj_670X))) {
|
|
if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_670X))) + -4))))>>2))))) {
|
|
if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 161)) {
|
|
goto L20583;}
|
|
else {
|
|
temp_671X = Sexception_handlersS;
|
|
Sexception_handlersS = (SvalS);
|
|
SvalS = temp_671X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
else {
|
|
goto L20583;}}
|
|
else {
|
|
goto L20583;}}
|
|
break;
|
|
case 138 : {
|
|
SstackS = ((SstackS) + 4);
|
|
p_672X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
template_673X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
SstackS = ((SstackS) + 4);
|
|
p_674X = *((long *) (SstackS));
|
|
StemplateS = template_673X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + template_673X)))))))) + ((((((((((p_672X)>>2)) + (((p_674X)>>2))))<<2)))>>2)));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
break;
|
|
case 139 : {
|
|
obj_675X = SvalS;
|
|
if ((3 == (3 & obj_675X))) {
|
|
if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_675X))) + -4))))>>2))))) {
|
|
if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 5)) {
|
|
goto L19507;}
|
|
else {
|
|
temp_676X = Sinterrupt_handlersS;
|
|
Sinterrupt_handlersS = (SvalS);
|
|
SvalS = temp_676X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
else {
|
|
goto L19507;}}
|
|
else {
|
|
goto L19507;}}
|
|
break;
|
|
case 140 : {
|
|
old_677X = Senabled_interruptsS;
|
|
p_678X = SvalS;
|
|
Senabled_interruptsS = (((p_678X)>>2));
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L38867;}
|
|
else {
|
|
goto L38867;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L38867;}}
|
|
break;
|
|
case 141 : {
|
|
SstackS = ((SstackS) + 4);
|
|
p_679X = *((long *) (SstackS));
|
|
Senabled_interruptsS = (((p_679X)>>2));
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L18465;}
|
|
else {
|
|
goto L18465;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L18465;}}
|
|
break;
|
|
case 142 : {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
p_680X = 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 L37372;}
|
|
else {
|
|
goto L37372;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L37372;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
break;
|
|
case 143 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_681X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_681X))) {
|
|
x_682X = SvalS;
|
|
if ((1 == x_682X)) {
|
|
goto L34309;}
|
|
else {
|
|
if ((5 == x_682X)) {
|
|
goto L34309;}
|
|
else {
|
|
goto L34314;}}}
|
|
else {
|
|
goto L34314;}}
|
|
break;
|
|
case 144 : {
|
|
SstackS = ((SstackS) + 4);
|
|
nargs_683X = (((*((long *) (SstackS))))>>2);
|
|
SstackS = ((SstackS) + 4);
|
|
p_684X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
rest_list_685X = *((long *) (SstackS));
|
|
if ((14 < nargs_683X)) {
|
|
push_exception_continuationB(20, 1);
|
|
*((long *) (SstackS)) = (*((long *) ((SstackS) + (-4 & p_684X))));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = nargs_683X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
arg0K0 = rest_list_685X;
|
|
goto L22802;}}
|
|
break;
|
|
case 145 : {
|
|
v_686X = AVAILABLEp(5);
|
|
if (v_686X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L33535;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_687X);
|
|
v_688X = AVAILABLEp(5);
|
|
if (v_688X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L33535;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L33535;}}}
|
|
break;
|
|
case 147 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_689X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_689X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_689X))) + -4))))>>2))))) {
|
|
x_690X = SvalS;
|
|
if ((1 == x_690X)) {
|
|
goto L23926;}
|
|
else {
|
|
if ((5 == x_690X)) {
|
|
goto L23926;}
|
|
else {
|
|
goto L23931;}}}
|
|
else {
|
|
goto L23931;}}
|
|
else {
|
|
goto L23931;}}
|
|
break;
|
|
case 148 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_691X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_691X))) {
|
|
option_692X = ((arg2_691X)>>2);
|
|
other_693X = SvalS;
|
|
if ((2 == option_692X)) {
|
|
x_694X = CHEAP_TIME();
|
|
SvalS = (((x_694X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if ((0 == option_692X)) {
|
|
seconds_695X = s48_run_time(&mseconds_696X);
|
|
arg0K0 = option_692X;
|
|
arg0K1 = seconds_695X;
|
|
arg0K2 = mseconds_696X;
|
|
goto L35524;}
|
|
else {
|
|
if ((1 == option_692X)) {
|
|
seconds_697X = s48_real_time(&mseconds_698X);
|
|
arg0K0 = option_692X;
|
|
arg0K1 = seconds_697X;
|
|
arg0K2 = mseconds_698X;
|
|
goto L35524;}
|
|
else {
|
|
push_exception_continuationB(18, 1);
|
|
*((long *) (SstackS)) = (((option_692X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = other_693X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_691X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 149 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_699X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_699X))) {
|
|
key_700X = ((arg2_699X)>>2);
|
|
value_701X = SvalS;
|
|
status_702X = s48_extended_vm(key_700X, value_701X);
|
|
if ((0 == status_702X)) {
|
|
SvalS = (s48_Sextension_valueS);
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if ((1 == status_702X)) {
|
|
push_exception_continuationB(23, 1);
|
|
*((long *) (SstackS)) = (((key_700X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_701X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
push_exception_continuationB(24, 1);
|
|
*((long *) (SstackS)) = (((key_700X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_701X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_699X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
break;
|
|
case 150 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_703X = *((long *) (SstackS));
|
|
x_704X = SvalS;
|
|
Senabled_interruptsS = -1;
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L38927;}
|
|
else {
|
|
goto L38927;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L38927;}}
|
|
break;
|
|
case 151 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_705X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_705X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_705X))) + -4))))>>2))))) {
|
|
obj_706X = SvalS;
|
|
if ((3 == (3 & obj_706X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_706X))) + -4))))>>2))))) {
|
|
x_707X = SvalS;
|
|
len_708X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_705X))) + -4))))>>8);
|
|
if ((len_708X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_707X))) + -4))))>>8)))) {
|
|
if (((!memcmp((void *)(((char *) (-3 + x_707X))), (void *)(((char *) (-3 + arg2_705X))),len_708X)))) {
|
|
arg0K0 = 5;
|
|
goto L27863;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L27863;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L27863;}}
|
|
else {
|
|
goto L27830;}}
|
|
else {
|
|
goto L27830;}}
|
|
else {
|
|
goto L27830;}}
|
|
else {
|
|
goto L27830;}}
|
|
break;
|
|
case 152 : {
|
|
space_709X = 1 + ((((4 + ((((SvalS))>>2))))>>2));
|
|
v_710X = AVAILABLEp(space_709X);
|
|
if (v_710X) {
|
|
goto L33744;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_711X);
|
|
v_712X = AVAILABLEp(space_709X);
|
|
if (v_712X) {
|
|
goto L33744;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
goto L33744;}}}
|
|
break;
|
|
case 153 : {
|
|
SstackS = ((SstackS) + 4);
|
|
thing_713X = *((long *) (SstackS));
|
|
list_714X = SvalS;
|
|
arg0K0 = list_714X;
|
|
arg0K1 = list_714X;
|
|
arg2K2 = 1;
|
|
goto L29332;}
|
|
break;
|
|
case 154 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_715X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_716X = *((long *) (SstackS));
|
|
if ((0 == (3 & (SvalS)))) {
|
|
index_717X = (((SvalS))>>2);
|
|
if ((3 == (3 & arg3_716X))) {
|
|
if ((8 == (31 & ((((*((long *) ((((char *) (-3 + arg3_716X))) + -4))))>>2))))) {
|
|
if ((arg2_715X == (*((long *) (((char *) (-3 + arg3_716X))))))) {
|
|
len_718X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_716X))) + -4))))>>8))))>>2);
|
|
if ((index_717X < 0)) {
|
|
goto L27536;}
|
|
else {
|
|
if ((index_717X < len_718X)) {
|
|
SvalS = (*((long *) ((((char *) (-3 + arg3_716X))) + (((index_717X)<<2)))));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L27536;}}}
|
|
else {
|
|
goto L27556;}}
|
|
else {
|
|
goto L27556;}}
|
|
else {
|
|
goto L27556;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_716X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_715X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}}
|
|
break;
|
|
case 155 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_719X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_720X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg4_721X = *((long *) (SstackS));
|
|
if ((0 == (3 & arg2_719X))) {
|
|
index_722X = ((arg2_719X)>>2);
|
|
value_723X = SvalS;
|
|
if ((3 == (3 & arg4_721X))) {
|
|
if ((8 == (31 & ((((*((long *) ((((char *) (-3 + arg4_721X))) + -4))))>>2))))) {
|
|
if ((arg3_720X == (*((long *) (((char *) (-3 + arg4_721X))))))) {
|
|
if ((3 == (3 & arg4_721X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_721X))) + -4)))))) {
|
|
len_724X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_721X))) + -4))))>>8))))>>2);
|
|
if ((index_722X < 0)) {
|
|
goto L30837;}
|
|
else {
|
|
if ((index_722X < len_724X)) {
|
|
addr_725X = (((char *) (-3 + arg4_721X))) + (((index_722X)<<2));
|
|
S48_WRITE_BARRIER(arg4_721X, addr_725X, value_723X);
|
|
*((long *) addr_725X) = value_723X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L30837;}}}
|
|
else {
|
|
goto L30859;}}
|
|
else {
|
|
goto L30859;}}
|
|
else {
|
|
goto L30859;}}
|
|
else {
|
|
goto L30859;}}
|
|
else {
|
|
goto L30859;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg4_721X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_720X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_719X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16678;}}
|
|
break;
|
|
case 156 : {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_726X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_727X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg4_728X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg5_729X = *((long *) (SstackS));
|
|
if ((0 == (3 & ((arg4_728X | arg2_726X) | (SvalS))))) {
|
|
from_index_730X = ((arg4_728X)>>2);
|
|
to_index_731X = ((arg2_726X)>>2);
|
|
count_732X = (((SvalS))>>2);
|
|
if ((3 == (3 & arg5_729X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>2))))) {
|
|
goto L31088;}
|
|
else {
|
|
goto L31083;}}
|
|
else {
|
|
goto L31083;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg5_729X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg4_728X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_727X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_726X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16678;}}
|
|
break;
|
|
case 157 : {
|
|
v_733X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == v_733X)) {
|
|
arg0K0 = (SvalS);
|
|
goto L23058;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
get_current_port_return_tag = 0;
|
|
goto get_current_port;
|
|
get_current_port_return_0:
|
|
v_734X = get_current_port0_return_value;
|
|
arg0K0 = v_734X;
|
|
goto L23058;}}
|
|
break;
|
|
case 158 : {
|
|
v_735X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == v_735X)) {
|
|
arg0K0 = (SvalS);
|
|
goto L23278;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
get_current_port_return_tag = 1;
|
|
goto get_current_port;
|
|
get_current_port_return_1:
|
|
v_736X = get_current_port0_return_value;
|
|
arg0K0 = v_736X;
|
|
goto L23278;}}
|
|
break;
|
|
case 159 : {
|
|
v_737X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == v_737X)) {
|
|
v_738X = SvalS;
|
|
SstackS = ((SstackS) + 4);
|
|
arg0K0 = (*((long *) (SstackS)));
|
|
arg0K1 = v_738X;
|
|
goto L23491;}
|
|
else {
|
|
merged_arg0K0 = 4;
|
|
get_current_port_return_tag = 2;
|
|
goto get_current_port;
|
|
get_current_port_return_2:
|
|
v_739X = get_current_port0_return_value;
|
|
arg0K0 = (SvalS);
|
|
arg0K1 = v_739X;
|
|
goto L23491;}}
|
|
break;
|
|
case 160 : {
|
|
x_740X = SvalS;
|
|
out_741X = stderr;
|
|
arg0K0 = x_740X;
|
|
goto L29585;}
|
|
break;
|
|
}}
|
|
L16678: {
|
|
nargs_742X = arg0K0;
|
|
opcode_743X = (((*((long *) ((SstackS) + (8 + (((nargs_742X)<<2)))))))>>2);
|
|
obj_744X = Sexception_handlersS;
|
|
if ((3 == (3 & obj_744X))) {
|
|
if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_744X))) + -4))))>>2))))) {
|
|
goto L16737;}
|
|
else {
|
|
goto L16810;}}
|
|
else {
|
|
goto L16810;}}
|
|
L23845: {
|
|
env_745X = arg0K0;
|
|
i_746X = arg0K1;
|
|
if ((0 == i_746X)) {
|
|
SvalS = (*((long *) ((((char *) (-3 + env_745X))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
|
|
if ((529 == (SvalS))) {
|
|
push_exception_continuationB(0, 3);
|
|
arg0K0 = 0;
|
|
goto L16678;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
else {
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_745X)))));
|
|
arg0K1 = (-1 + i_746X);
|
|
goto L23845;}}
|
|
L20260: {
|
|
env_747X = arg0K0;
|
|
i_748X = arg0K1;
|
|
if ((0 == i_748X)) {
|
|
SvalS = (*((long *) ((((char *) (-3 + env_747X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))))<<2)))));
|
|
if ((529 == (SvalS))) {
|
|
push_exception_continuationB(0, 5);
|
|
arg0K0 = 0;
|
|
goto L16678;}
|
|
else {
|
|
Scode_pointerS = ((Scode_pointerS) + 5);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
else {
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_747X)))));
|
|
arg0K1 = (-1 + i_748X);
|
|
goto L20260;}}
|
|
L20198: {
|
|
env_749X = arg0K0;
|
|
i_750X = arg0K1;
|
|
if ((0 == i_750X)) {
|
|
index_751X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
|
|
value_752X = SvalS;
|
|
addr_753X = (((char *) (-3 + env_749X))) + (((index_751X)<<2));
|
|
S48_WRITE_BARRIER(env_749X, addr_753X, value_752X);
|
|
*((long *) addr_753X) = value_752X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 5);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_749X)))));
|
|
arg0K1 = (-1 + i_750X);
|
|
goto L20198;}}
|
|
L20977: {
|
|
space_754X = arg0K0;
|
|
v_755X = AVAILABLEp(space_754X);
|
|
if (v_755X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L21051;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_756X);
|
|
v_757X = AVAILABLEp(space_754X);
|
|
if (v_757X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L21051;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L21051;}}}
|
|
L20984: {
|
|
env_758X = arg0K0;
|
|
v_759X = AVAILABLEp(3);
|
|
if (v_759X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = env_758X;
|
|
goto L21009;}
|
|
else {
|
|
temp0_760X = collect_saving_temps(env_758X, 1, &temp1_761X);
|
|
v_762X = AVAILABLEp(3);
|
|
if (v_762X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_760X;
|
|
goto L21009;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_760X;
|
|
goto L21009;}}}
|
|
L20779: {
|
|
len_763X = ((total_count_393X)<<2);
|
|
addr_764X = ALLOCATE_SPACE(2, (4 + len_763X));
|
|
*((long *) addr_764X) = (10 + (((len_763X)<<8)));
|
|
new_env_765X = 3 + (((long) (addr_764X + 4)));
|
|
v_766X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
if ((0 == v_766X)) {
|
|
arg0K0 = 0;
|
|
goto L20793;}
|
|
else {
|
|
value_767X = SvalS;
|
|
addr_768X = ((char *) (-3 + new_env_765X));
|
|
S48_WRITE_BARRIER(new_env_765X, addr_768X, value_767X);
|
|
*((long *) addr_768X) = value_767X;
|
|
arg0K0 = 1;
|
|
goto L20793;}}
|
|
L20705: {
|
|
okayP_769X = arg2K0;
|
|
key_770X = arg0K1;
|
|
if (okayP_769X) {
|
|
arg0K0 = key_770X;
|
|
goto L20693;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_770X;
|
|
goto L20693;}}
|
|
L19860: {
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L19895: {
|
|
SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8);
|
|
*((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = cont_402X;
|
|
ScontS = (Sbottom_of_stackS);
|
|
goto L19860;}
|
|
L19861: {
|
|
if ((1 == cont_402X)) {
|
|
if ((0 == (3 & (SvalS)))) {
|
|
s48_Scallback_return_stack_blockS = 1;
|
|
return ((((SvalS))>>2));}
|
|
else {
|
|
goto L19876;}}
|
|
else {
|
|
goto L19876;}}
|
|
L19221: {
|
|
okayP_771X = arg2K0;
|
|
key_772X = arg0K1;
|
|
if (okayP_771X) {
|
|
arg0K0 = key_772X;
|
|
goto L19176;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_772X;
|
|
goto L19176;}}
|
|
L19133: {
|
|
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_773X = check_events0_return_value;
|
|
if (v_773X) {
|
|
arg0K0 = stack_arg_count_403X;
|
|
goto L16907;}
|
|
else {
|
|
goto L19137;}}
|
|
else {
|
|
arg0K0 = stack_arg_count_403X;
|
|
goto L16907;}}
|
|
else {
|
|
goto L19137;}}
|
|
L16079: {
|
|
stack_arg_count_774X = arg0K0;
|
|
code_775X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS))))))))));
|
|
arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_775X))) + 1)));
|
|
arg0K1 = 64;
|
|
goto L16093;}
|
|
L17174: {
|
|
exception_776X = arg0K0;
|
|
stack_arg_count_777X = arg0K1;
|
|
list_args_778X = arg0K2;
|
|
list_arg_count_779X = arg0K3;
|
|
if (((StemplateS) == (SvalS))) {
|
|
if ((0 < (Slosing_opcodeS))) {
|
|
ps_error("wrong number of arguments to exception handler", 1, (Slosing_opcodeS));
|
|
return v_780X;}
|
|
else {
|
|
ps_error("wrong number of arguments to interrupt handler", 1, (0 - (Slosing_opcodeS)));
|
|
return v_781X;}}
|
|
else {
|
|
merged_arg0K0 = list_args_778X;
|
|
merged_arg0K1 = list_arg_count_779X;
|
|
copy_listS_return_tag = 0;
|
|
goto copy_listS;
|
|
copy_listS_return_0:
|
|
v_782X = copy_listS0_return_value;
|
|
merged_arg0K0 = v_782X;
|
|
merged_arg0K1 = stack_arg_count_777X;
|
|
pop_args_GlistS_return_tag = 1;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_1:
|
|
args_783X = pop_args_GlistS0_return_value;
|
|
push_exception_continuationB(exception_776X, 0);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = args_783X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
L17641: {
|
|
loc_784X = arg1K0;
|
|
arg_785X = arg1K1;
|
|
if ((top_of_args_414X < arg_785X)) {
|
|
*((long *) loc_784X) = (*((long *) arg_785X));
|
|
arg1K0 = (loc_784X + -4);
|
|
arg1K1 = (arg_785X + -4);
|
|
goto L17641;}
|
|
else {
|
|
SstackS = loc_784X;
|
|
obj_786X = SvalS;
|
|
if ((3 == (3 & obj_786X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_786X))) + -4))))>>2))))) {
|
|
arg0K0 = nargs_413X;
|
|
goto L16079;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = nargs_413X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = nargs_413X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}}
|
|
L17679: {
|
|
stack_arg_count_787X = arg0K0;
|
|
list_args_788X = arg0K1;
|
|
list_arg_count_789X = arg0K2;
|
|
if ((0 == list_arg_count_789X)) {
|
|
obj_790X = SvalS;
|
|
if ((3 == (3 & obj_790X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_790X))) + -4))))>>2))))) {
|
|
arg0K0 = stack_arg_count_787X;
|
|
goto L16079;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
else {
|
|
obj_791X = SvalS;
|
|
if ((3 == (3 & obj_791X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_791X))) + -4))))>>2))))) {
|
|
code_792X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS))))))))));
|
|
total_arg_count_793X = stack_arg_count_787X + list_arg_count_789X;
|
|
arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_792X))) + 1)));
|
|
arg0K1 = 64;
|
|
goto L16370;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = list_args_788X;
|
|
arg0K3 = list_arg_count_789X;
|
|
goto L17174;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = list_args_788X;
|
|
arg0K3 = list_arg_count_789X;
|
|
goto L17174;}}}
|
|
L11286: {
|
|
list_args_794X = arg0K0;
|
|
stack_nargs_795X = arg0K1;
|
|
merged_arg0K0 = list_args_794X;
|
|
okay_argument_list_return_tag = 1;
|
|
goto okay_argument_list;
|
|
okay_argument_list_return_1:
|
|
okayP_796X = okay_argument_list0_return_value;
|
|
list_arg_count_797X = okay_argument_list1_return_value;
|
|
if (okayP_796X) {
|
|
SvalS = proc_421X;
|
|
arg0K0 = stack_nargs_795X;
|
|
arg0K1 = list_args_794X;
|
|
arg0K2 = list_arg_count_797X;
|
|
goto L17679;}
|
|
else {
|
|
*((long *) (SstackS)) = list_args_794X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = 25;
|
|
merged_arg0K1 = (1 + stack_nargs_795X);
|
|
pop_args_GlistS_return_tag = 2;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_2:
|
|
args_798X = pop_args_GlistS0_return_value;
|
|
SstackS = ((SstackS) + 4);
|
|
push_exception_continuationB(5, 0);
|
|
*((long *) (SstackS)) = proc_421X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = args_798X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
L11327: {
|
|
list_799X = arg0K0;
|
|
follower_800X = arg0K1;
|
|
if ((25 == list_799X)) {
|
|
list_args_801X = *((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + follower_800X))) + 4)))))));
|
|
addr_802X = (((char *) (-3 + follower_800X))) + 4;
|
|
S48_WRITE_BARRIER(follower_800X, addr_802X, list_args_801X);
|
|
*((long *) addr_802X) = list_args_801X;
|
|
arg0K0 = rest_list_422X;
|
|
arg0K1 = (-1 + stack_nargs_420X);
|
|
goto L11286;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + list_799X))) + 4)));
|
|
arg0K1 = (*((long *) ((((char *) (-3 + follower_800X))) + 4)));
|
|
goto L11327;}}
|
|
L17584: {
|
|
obj_803X = SvalS;
|
|
if ((3 == (3 & obj_803X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_803X))) + -4))))>>2))))) {
|
|
arg0K0 = 0;
|
|
goto L16079;}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = 0;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
else {
|
|
arg0K0 = 3;
|
|
arg0K1 = 0;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
L17591: {
|
|
SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8);
|
|
*((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = cont_423X;
|
|
ScontS = (Sbottom_of_stackS);
|
|
goto L17584;}
|
|
L20440: {
|
|
stack_nargs_804X = arg0K0;
|
|
list_args_805X = arg0K1;
|
|
list_arg_count_806X = arg0K2;
|
|
if ((1 == stack_nargs_804X)) {
|
|
SstackS = ((SstackS) + 4);
|
|
SvalS = (*((long *) (SstackS)));
|
|
pop_continuationB_return_tag = 1;
|
|
goto pop_continuationB;
|
|
pop_continuationB_return_1:
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if (((ScontS) == (Sbottom_of_stackS))) {
|
|
arg0K0 = (*((long *) (((char *) (-3 + (Sbottom_of_stackS))))));
|
|
goto L20451;}
|
|
else {
|
|
arg0K0 = (ScontS);
|
|
goto L20451;}}}
|
|
L18957: {
|
|
okayP_807X = arg2K0;
|
|
key_808X = arg0K1;
|
|
if (okayP_807X) {
|
|
arg0K0 = key_808X;
|
|
goto L18945;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_808X;
|
|
goto L18945;}}
|
|
L18830: {
|
|
tem_809X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
|
|
StemplateS = tem_809X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_809X)))))))) + 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_810X = check_events0_return_value;
|
|
if (v_810X) {
|
|
goto L18839;}
|
|
else {
|
|
goto L18842;}}
|
|
else {
|
|
goto L18839;}}
|
|
else {
|
|
goto L18842;}}
|
|
L19013: {
|
|
okayP_811X = arg2K0;
|
|
key_812X = arg0K1;
|
|
if (okayP_811X) {
|
|
arg0K0 = key_812X;
|
|
goto L19000;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_812X;
|
|
goto L19000;}}
|
|
L18875: {
|
|
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 L16678;}
|
|
L18731: {
|
|
arg0K0 = (2 + (((max_442X)<<1)));
|
|
goto L18733;}
|
|
L18733: {
|
|
offset_813X = arg0K0;
|
|
Scode_pointerS = ((Scode_pointerS) + offset_813X);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L19763: {
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L18629: {
|
|
delta_814X = arg0K0;
|
|
Scode_pointerS = ((Scode_pointerS) + delta_814X);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L19654: {
|
|
delta_815X = arg0K0;
|
|
Scode_pointerS = ((Scode_pointerS) + delta_815X);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L38236: {
|
|
val_816X = arg0K0;
|
|
SvalS = val_816X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L38248: {
|
|
val_817X = arg0K0;
|
|
SvalS = val_817X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L10634: {
|
|
if ((3 == (3 & x_456X))) {
|
|
if ((7 == (31 & ((((*((long *) ((((char *) (-3 + x_456X))) + -4))))>>2))))) {
|
|
arg0K0 = 5;
|
|
goto L38248;}
|
|
else {
|
|
goto L10640;}}
|
|
else {
|
|
goto L10640;}}
|
|
L28412: {
|
|
SvalS = 5;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L28413: {
|
|
if ((3 == (3 & n_457X))) {
|
|
if ((10 == (31 & ((((*((long *) ((((char *) (-3 + n_457X))) + -4))))>>2))))) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = n_457X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
else {
|
|
goto L28417;}}
|
|
else {
|
|
goto L28417;}}
|
|
L28569: {
|
|
SvalS = 5;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L28544: {
|
|
if ((3 == (3 & n_458X))) {
|
|
if ((7 == (31 & ((((*((long *) ((((char *) (-3 + n_458X))) + -4))))>>2))))) {
|
|
goto L28569;}
|
|
else {
|
|
goto L28558;}}
|
|
else {
|
|
goto L28558;}}
|
|
L28768: {
|
|
SvalS = 5;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L28743: {
|
|
if ((3 == (3 & n_459X))) {
|
|
if ((7 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) {
|
|
goto L28768;}
|
|
else {
|
|
goto L28757;}}
|
|
else {
|
|
goto L28757;}}
|
|
L28967: {
|
|
SvalS = 5;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L28942: {
|
|
if ((3 == (3 & n_460X))) {
|
|
if ((7 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) {
|
|
goto L28967;}
|
|
else {
|
|
goto L28956;}}
|
|
else {
|
|
goto L28956;}}
|
|
L6787: {
|
|
a_818X = arg0K0;
|
|
if ((b_470X < 0)) {
|
|
arg0K0 = (0 - b_470X);
|
|
goto L6791;}
|
|
else {
|
|
arg0K0 = b_470X;
|
|
goto L6791;}}
|
|
L7068: {
|
|
a_819X = arg0K0;
|
|
if ((b_477X < 0)) {
|
|
arg0K0 = (0 - b_477X);
|
|
goto L7072;}
|
|
else {
|
|
arg0K0 = b_477X;
|
|
goto L7072;}}
|
|
L31877: {
|
|
val_820X = arg0K0;
|
|
SvalS = val_820X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L31955: {
|
|
val_821X = arg0K0;
|
|
SvalS = val_821X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L32033: {
|
|
val_822X = arg0K0;
|
|
SvalS = val_822X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L32111: {
|
|
val_823X = arg0K0;
|
|
SvalS = val_823X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L32189: {
|
|
val_824X = arg0K0;
|
|
SvalS = val_824X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L7245: {
|
|
a_825X = arg0K0;
|
|
if ((b_491X < 0)) {
|
|
arg0K0 = (0 - b_491X);
|
|
goto L7249;}
|
|
else {
|
|
arg0K0 = b_491X;
|
|
goto L7249;}}
|
|
L25359: {
|
|
a_826X = arg0K0;
|
|
n_827X = ((y_493X)>>2);
|
|
if ((n_827X < 0)) {
|
|
arg0K0 = (0 - n_827X);
|
|
goto L25361;}
|
|
else {
|
|
arg0K0 = n_827X;
|
|
goto L25361;}}
|
|
L38505: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = x_508X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L25645: {
|
|
r_828X = arg0K0;
|
|
if ((536870911 < r_828X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = n_509X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
else {
|
|
SvalS = (((r_828X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L25924: {
|
|
SvalS = (((result_530X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L38593: {
|
|
val_829X = arg0K0;
|
|
SvalS = val_829X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L28187: {
|
|
val_830X = arg0K0;
|
|
SvalS = val_830X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L28160: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_533X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L28097: {
|
|
val_831X = arg0K0;
|
|
SvalS = val_831X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L28070: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_535X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L32881: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (((x_537X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L38622: {
|
|
val_832X = arg0K0;
|
|
SvalS = val_832X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L38636: {
|
|
value_833X = arg0K0;
|
|
SvalS = value_833X;
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L21242: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = stob_541X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_542X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L21314: {
|
|
type_834X = *((unsigned char *) ((Scode_pointerS) + 2));
|
|
len_835X = ((len_543X)<<2);
|
|
addr_836X = ALLOCATE_SPACE(type_834X, (4 + len_835X));
|
|
*((long *) addr_836X) = (2 + (((((((len_835X)<<6)) + type_834X))<<2)));
|
|
new_837X = 3 + (((long) (addr_836X + 4)));
|
|
if ((len_543X < 1)) {
|
|
goto L21349;}
|
|
else {
|
|
*((long *) ((((char *) (-3 + new_837X))) + (-4 + (((len_543X)<<2))))) = (SvalS);
|
|
arg0K0 = (-2 + len_543X);
|
|
goto L21333;}}
|
|
L21496: {
|
|
type_838X = *((unsigned char *) ((Scode_pointerS) + 1));
|
|
len_839X = ((len_548X)<<2);
|
|
addr_840X = ALLOCATE_SPACE(type_838X, (4 + len_839X));
|
|
*((long *) addr_840X) = (2 + (((((((len_839X)<<6)) + type_838X))<<2)));
|
|
new_841X = 3 + (((long) (addr_840X + 4)));
|
|
SstackS = ((SstackS) + 4);
|
|
stack_nargs_842X = (((*((long *) (SstackS))))>>2);
|
|
SstackS = ((SstackS) + 4);
|
|
rest_list_843X = *((long *) (SstackS));
|
|
arg0K0 = (-1 + stack_nargs_842X);
|
|
goto L21518;}
|
|
L21706: {
|
|
push_exception_continuationB(5, 3);
|
|
*((long *) (SstackS)) = stob_553X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_555X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((offset_554X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L21809: {
|
|
push_exception_continuationB(5, 3);
|
|
*((long *) (SstackS)) = stob_556X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_559X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((offset_558X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_557X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16678;}
|
|
L21994: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = (((type_563X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((len_564X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = init_562X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L22012: {
|
|
okayP_844X = arg2K0;
|
|
init_845X = arg0K1;
|
|
if (okayP_844X) {
|
|
len_846X = ((len_564X)<<2);
|
|
addr_847X = ALLOCATE_SPACE(type_563X, (4 + len_846X));
|
|
*((long *) addr_847X) = (2 + (((((((len_846X)<<6)) + type_563X))<<2)));
|
|
value_848X = 3 + (((long) (addr_847X + 4)));
|
|
arg0K0 = (-1 + len_564X);
|
|
goto L22041;}
|
|
else {
|
|
push_exception_continuationB(8, 2);
|
|
*((long *) (SstackS)) = (((type_563X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((len_564X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = init_845X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}}
|
|
L22290: {
|
|
push_exception_continuationB(7, 2);
|
|
*((long *) (SstackS)) = stob_570X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_572X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = index_571X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L22267: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = stob_570X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_572X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = index_571X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L22530: {
|
|
push_exception_continuationB(7, 2);
|
|
*((long *) (SstackS)) = stob_576X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_578X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_575X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_577X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16678;}
|
|
L22505: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = stob_576X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((type_578X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_575X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_577X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16678;}
|
|
L26095: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (((len_583X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((init_584X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L26187: {
|
|
addr_849X = ALLOCATE_SPACE(17, (4 + len_583X));
|
|
*((long *) addr_849X) = (70 + (((len_583X)<<8)));
|
|
vector_850X = 3 + (((long) (addr_849X + 4)));
|
|
arg0K0 = (-1 + len_583X);
|
|
goto L26136;}
|
|
L36448: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L32987: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg2_590X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_591X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L36024: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_590X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L29935: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg3_594X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_595X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((Kchar_596X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L29914: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_594X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_595X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((Kchar_596X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L34436: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_594X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_593X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L26329: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (((len_599X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (9 + ((((init_600X))<<8)));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L26421: {
|
|
len_851X = 1 + len_599X;
|
|
addr_852X = ALLOCATE_SPACE(16, (4 + len_851X));
|
|
*((long *) addr_852X) = (66 + (((len_851X)<<8)));
|
|
string_853X = 3 + (((long) (addr_852X + 4)));
|
|
*((unsigned char *) ((((char *) (-3 + string_853X))) + len_599X)) = 0;
|
|
arg0K0 = (-1 + len_599X);
|
|
goto L26370;}
|
|
L33068: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_598X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L36498: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L33131: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg2_606X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_607X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L36120: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_606X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L30090: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg3_610X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_611X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (9 + ((((Kchar_612X))<<8)));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L30069: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_610X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_611X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (9 + ((((Kchar_612X))<<8)));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L34562: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_610X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_609X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L24499: {
|
|
obj_854X = SvalS;
|
|
if ((3 == (3 & obj_854X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_854X))) + -4))))>>2))))) {
|
|
table_855X = Sthe_symbol_tableS;
|
|
string_856X = SvalS;
|
|
n_857X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_856X))) + -4))))>>8));
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L13346;}
|
|
else {
|
|
goto L24509;}}
|
|
else {
|
|
goto L24509;}}
|
|
L34109: {
|
|
val_858X = arg0K0;
|
|
SvalS = val_858X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L34090: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L29677: {
|
|
if ((1 == (SvalS))) {
|
|
addr_859X = (((char *) (-3 + arg2_620X))) + 4;
|
|
S48_WRITE_BARRIER(arg2_620X, addr_859X, 273);
|
|
*((long *) addr_859X) = 273;
|
|
goto L29683;}
|
|
else {
|
|
if ((17 == (255 & (*((long *) ((((char *) (-3 + arg2_620X))) + 4)))))) {
|
|
addr_860X = (((char *) (-3 + arg2_620X))) + 4;
|
|
S48_WRITE_BARRIER(arg2_620X, addr_860X, 529);
|
|
*((long *) addr_860X) = 529;
|
|
goto L29683;}
|
|
else {
|
|
goto L29683;}}}
|
|
L29684: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_620X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L38708: {
|
|
val_861X = arg0K0;
|
|
SvalS = val_861X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L33213: {
|
|
SvalS = x_623X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L33264: {
|
|
okayP_862X = arg2K0;
|
|
key_863X = arg0K1;
|
|
if (okayP_862X) {
|
|
arg0K0 = key_863X;
|
|
goto L33230;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_863X;
|
|
goto L33230;}}
|
|
L34680: {
|
|
okayP_864X = arg2K0;
|
|
key_865X = arg0K1;
|
|
if (okayP_864X) {
|
|
arg0K0 = key_865X;
|
|
goto L34662;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_865X;
|
|
goto L34662;}}
|
|
L37552: {
|
|
okayP_866X = arg2K0;
|
|
key_867X = arg0K1;
|
|
if (okayP_866X) {
|
|
arg0K0 = key_867X;
|
|
goto L37482;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_867X;
|
|
goto L37482;}}
|
|
L37812: {
|
|
okayP_868X = arg2K0;
|
|
key_869X = arg0K1;
|
|
if (okayP_868X) {
|
|
arg0K0 = key_869X;
|
|
goto L37754;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_869X;
|
|
goto L37754;}}
|
|
L34165: {
|
|
okayP_870X = arg2K0;
|
|
key_871X = arg0K1;
|
|
if (okayP_870X) {
|
|
arg0K0 = key_871X;
|
|
goto L34147;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_871X;
|
|
goto L34147;}}
|
|
L33335: {
|
|
val_872X = arg0K0;
|
|
SvalS = val_872X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L8185: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + channel_640X))) + 16)));
|
|
goto L33335;}
|
|
L8191: {
|
|
ch_873X = arg0K0;
|
|
prev_874X = arg0K1;
|
|
if ((1 == ch_873X)) {
|
|
addr_875X = (((char *) (-3 + channel_640X))) + 16;
|
|
S48_WRITE_BARRIER(channel_640X, addr_875X, 1);
|
|
*((long *) addr_875X) = 1;
|
|
n_876X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_640X))) + 8))))>>2)));
|
|
arg0K0 = (((n_876X)<<2));
|
|
goto L33335;}
|
|
else {
|
|
if ((ch_873X == channel_640X)) {
|
|
y_877X = Spending_channels_tailS;
|
|
if ((ch_873X == y_877X)) {
|
|
Spending_channels_tailS = prev_874X;
|
|
goto L8215;}
|
|
else {
|
|
goto L8215;}}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + ch_873X))) + 12)));
|
|
arg0K1 = ch_873X;
|
|
goto L8191;}}}
|
|
L33318: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L14790: {
|
|
arg0K0 = (-1 + (Snumber_of_channelsS));
|
|
arg0K1 = 25;
|
|
goto L14797;}
|
|
L34781: {
|
|
okayP_878X = arg2K0;
|
|
key_879X = arg0K1;
|
|
if (okayP_878X) {
|
|
arg0K0 = key_879X;
|
|
goto L34735;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_879X;
|
|
goto L34735;}}
|
|
L35613: {
|
|
i_880X = arg0K0;
|
|
h_881X = arg0K1;
|
|
if ((i_880X < n_658X)) {
|
|
arg0K0 = (1 + i_880X);
|
|
arg0K1 = (h_881X + (((*((unsigned char *) ((((char *) (-3 + x_657X))) + i_880X))))));
|
|
goto L35613;}
|
|
else {
|
|
SvalS = (((h_881X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L35590: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L38776: {
|
|
SstackS = ((SstackS) + 4);
|
|
stob_882X = *((long *) (SstackS));
|
|
proc_883X = SvalS;
|
|
if ((3 == (3 & stob_882X))) {
|
|
if ((3 == (3 & proc_883X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_883X))) + -4))))>>2))))) {
|
|
addr_884X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_884X) = 2050;
|
|
x_885X = 3 + (((long) (addr_884X + 4)));
|
|
*((long *) (((char *) (-3 + x_885X)))) = stob_882X;
|
|
*((long *) ((((char *) (-3 + x_885X))) + 4)) = proc_883X;
|
|
b_886X = Sfinalizer_alistS;
|
|
addr_887X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_887X) = 2050;
|
|
x_888X = 3 + (((long) (addr_887X + 4)));
|
|
*((long *) (((char *) (-3 + x_888X)))) = x_885X;
|
|
*((long *) ((((char *) (-3 + x_888X))) + 4)) = b_886X;
|
|
Sfinalizer_alistS = x_888X;
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
goto L30696;}}
|
|
else {
|
|
goto L30696;}}
|
|
else {
|
|
goto L30696;}}
|
|
L33426: {
|
|
firstP_889X = arg2K0;
|
|
vector_890X = s48_find_all(type_668X);
|
|
if ((1 == vector_890X)) {
|
|
if (firstP_889X) {
|
|
collect_saving_temps(0, 0, &v_891X);
|
|
arg2K0 = 0;
|
|
goto L33426;}
|
|
else {
|
|
push_exception_continuationB(8, 1);
|
|
*((long *) (SstackS)) = (((type_668X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
else {
|
|
SvalS = vector_890X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L38826: {
|
|
firstP_892X = arg2K0;
|
|
type_893X = arg0K1;
|
|
vector_894X = s48_find_all_records(type_893X);
|
|
if ((1 == vector_894X)) {
|
|
if (firstP_892X) {
|
|
value_895X = collect_saving_temps(type_893X, 0, &v_896X);
|
|
arg2K0 = 0;
|
|
arg0K1 = value_895X;
|
|
goto L38826;}
|
|
else {
|
|
push_exception_continuationB(8, 1);
|
|
*((long *) (SstackS)) = type_893X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}}
|
|
else {
|
|
SvalS = vector_894X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L20583: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L19507: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L38867: {
|
|
SvalS = (((old_677X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L18465: {
|
|
SstackS = ((SstackS) + 4);
|
|
pc_897X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
tem_898X = *((long *) (SstackS));
|
|
StemplateS = tem_898X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_898X)))))))) + (((pc_897X)>>2)));
|
|
SstackS = ((SstackS) + 4);
|
|
SvalS = (*((long *) (SstackS)));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L37372: {
|
|
x_899X = s48_schedule_alarm_interrupt((((p_680X)>>2)));
|
|
SvalS = (((x_899X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L34309: {
|
|
if ((1 == (SvalS))) {
|
|
arg2K0 = 0;
|
|
goto L34313;}
|
|
else {
|
|
arg2K0 = 1;
|
|
goto L34313;}}
|
|
L34314: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_681X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L22802: {
|
|
rest_list_900X = arg0K0;
|
|
if ((25 == rest_list_900X)) {
|
|
proc_901X = *((long *) ((SstackS) + (((nargs_683X)<<2))));
|
|
name_902X = *((long *) ((SstackS) + (-4 + (((nargs_683X)<<2)))));
|
|
args_903X = (SstackS) + 4;
|
|
*((long *) (SstackS)) = (10 + (((nargs_683X)<<10)));
|
|
SstackS = ((SstackS) + -4);
|
|
if ((3 == (3 & name_902X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + name_902X))) + -4))))>>2))))) {
|
|
if ((3 == (3 & proc_901X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + proc_901X))) + -4))))>>2))))) {
|
|
if ((4 == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proc_901X))) + -4))))>>8)))) {
|
|
result_904X = s48_external_call(proc_901X, name_902X, (-2 + nargs_683X), args_903X);
|
|
if ((Sexternal_exceptionPS)) {
|
|
Sexternal_exceptionPS = 0;
|
|
arg0K0 = (Sexternal_exception_nargsS);
|
|
goto L16678;}
|
|
else {
|
|
SvalS = result_904X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
else {
|
|
goto L22862;}}
|
|
else {
|
|
goto L22862;}}
|
|
else {
|
|
goto L22862;}}
|
|
else {
|
|
goto L22862;}}
|
|
else {
|
|
goto L22862;}}
|
|
else {
|
|
*((long *) (SstackS)) = (*((long *) (((char *) (-3 + rest_list_900X)))));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = (*((long *) ((((char *) (-3 + rest_list_900X))) + 4)));
|
|
goto L22802;}}
|
|
L33535: {
|
|
okayP_905X = arg2K0;
|
|
key_906X = arg0K1;
|
|
if (okayP_905X) {
|
|
arg0K0 = key_906X;
|
|
goto L33501;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_906X;
|
|
goto L33501;}}
|
|
L23926: {
|
|
if ((1 == (SvalS))) {
|
|
arg0K0 = (Sexported_bindingsS);
|
|
goto L23959;}
|
|
else {
|
|
arg0K0 = (Simported_bindingsS);
|
|
goto L23959;}}
|
|
L23931: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_689X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L35524: {
|
|
option_907X = arg0K0;
|
|
seconds_908X = arg0K1;
|
|
mseconds_909X = arg0K2;
|
|
if ((536869 < seconds_908X)) {
|
|
push_exception_continuationB(6, 1);
|
|
*((long *) (SstackS)) = (((option_907X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((seconds_908X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mseconds_909X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
else {
|
|
SvalS = (((((1000 * seconds_908X) + mseconds_909X))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L38927: {
|
|
s48_Scallback_return_stack_blockS = arg2_703X;
|
|
return x_704X;}
|
|
L27863: {
|
|
val_910X = arg0K0;
|
|
SvalS = val_910X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L27830: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_705X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L33744: {
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_911X = *((long *) (SstackS));
|
|
if ((0 == (3 & (SvalS)))) {
|
|
n_912X = (((SvalS))>>2);
|
|
if ((3 == (3 & arg2_911X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + arg2_911X))) + -4))))>>2))))) {
|
|
goto L27390;}
|
|
else {
|
|
goto L27342;}}
|
|
else {
|
|
goto L27342;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_911X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
L29332: {
|
|
list_913X = arg0K0;
|
|
slow_914X = arg0K1;
|
|
move_slowP_915X = arg2K2;
|
|
if ((25 == list_913X)) {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if ((3 == (3 & list_913X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + list_913X))) + -4))))>>2))))) {
|
|
head_916X = *((long *) (((char *) (-3 + list_913X))));
|
|
if ((3 == (3 & head_916X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + head_916X))) + -4))))>>2))))) {
|
|
if (((*((long *) (((char *) (-3 + head_916X))))) == thing_713X)) {
|
|
SvalS = head_916X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
list_917X = *((long *) ((((char *) (-3 + list_913X))) + 4));
|
|
if ((list_917X == slow_914X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = thing_713X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = list_714X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
if (move_slowP_915X) {
|
|
arg0K0 = list_917X;
|
|
arg0K1 = (*((long *) ((((char *) (-3 + slow_914X))) + 4)));
|
|
arg2K2 = 0;
|
|
goto L29332;}
|
|
else {
|
|
arg0K0 = list_917X;
|
|
arg0K1 = slow_914X;
|
|
arg2K2 = 1;
|
|
goto L29332;}}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = thing_713X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = list_714X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = thing_713X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = list_714X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = thing_713X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = list_714X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = thing_713X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = list_714X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}
|
|
L27536: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg3_716X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_715X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_717X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L27556: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_716X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_715X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_717X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L30837: {
|
|
push_exception_continuationB(7, 1);
|
|
*((long *) (SstackS)) = arg4_721X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_720X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_722X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_723X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16678;}
|
|
L30859: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg4_721X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_720X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((index_722X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = value_723X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16678;}
|
|
L31088: {
|
|
if ((3 == (3 & arg5_729X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>2))))) {
|
|
goto L31101;}
|
|
else {
|
|
goto L31096;}}
|
|
else {
|
|
goto L31096;}}
|
|
L31083: {
|
|
if ((3 == (3 & arg5_729X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>2))))) {
|
|
goto L31088;}
|
|
else {
|
|
goto L31155;}}
|
|
else {
|
|
goto L31155;}}
|
|
L23058: {
|
|
port_918X = arg0K0;
|
|
if ((3 == (3 & port_918X))) {
|
|
if ((6 == (31 & ((((*((long *) ((((char *) (-3 + port_918X))) + -4))))>>2))))) {
|
|
if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_918X))) + 4))))>>2))))) {
|
|
goto L23118;}
|
|
else {
|
|
p_919X = *((long *) ((((char *) (-3 + port_918X))) + 24));
|
|
p_920X = *((long *) ((((char *) (-3 + port_918X))) + 28));
|
|
b_921X = *((long *) ((((char *) (-3 + port_918X))) + 20));
|
|
i_922X = ((p_919X)>>2);
|
|
x_923X = *((long *) ((((char *) (-3 + port_918X))) + 12));
|
|
if ((5 == x_923X)) {
|
|
goto L23098;}
|
|
else {
|
|
if ((i_922X == (((p_920X)>>2)))) {
|
|
goto L23098;}
|
|
else {
|
|
val_924X = 4 + (((i_922X)<<2));
|
|
addr_925X = (((char *) (-3 + port_918X))) + 24;
|
|
S48_WRITE_BARRIER(port_918X, addr_925X, val_924X);
|
|
*((long *) addr_925X) = val_924X;
|
|
SvalS = (9 + ((((((*((unsigned char *) ((((char *) (-3 + b_921X))) + i_922X))))))<<8)));
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}}}
|
|
else {
|
|
goto L23118;}}
|
|
else {
|
|
goto L23118;}}
|
|
L23278: {
|
|
port_926X = arg0K0;
|
|
if ((3 == (3 & port_926X))) {
|
|
if ((6 == (31 & ((((*((long *) ((((char *) (-3 + port_926X))) + -4))))>>2))))) {
|
|
if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_926X))) + 4))))>>2))))) {
|
|
goto L23338;}
|
|
else {
|
|
p_927X = *((long *) ((((char *) (-3 + port_926X))) + 24));
|
|
p_928X = *((long *) ((((char *) (-3 + port_926X))) + 28));
|
|
b_929X = *((long *) ((((char *) (-3 + port_926X))) + 20));
|
|
i_930X = ((p_927X)>>2);
|
|
x_931X = *((long *) ((((char *) (-3 + port_926X))) + 12));
|
|
if ((5 == x_931X)) {
|
|
goto L23318;}
|
|
else {
|
|
if ((i_930X == (((p_928X)>>2)))) {
|
|
goto L23318;}
|
|
else {
|
|
SvalS = (9 + ((((((*((unsigned char *) ((((char *) (-3 + b_929X))) + i_930X))))))<<8)));
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}}}
|
|
else {
|
|
goto L23338;}}
|
|
else {
|
|
goto L23338;}}
|
|
L23491: {
|
|
Kchar_932X = arg0K0;
|
|
port_933X = arg0K1;
|
|
if ((9 == (255 & Kchar_932X))) {
|
|
if ((3 == (3 & port_933X))) {
|
|
if ((6 == (31 & ((((*((long *) ((((char *) (-3 + port_933X))) + -4))))>>2))))) {
|
|
if ((0 == (8 & ((((*((long *) ((((char *) (-3 + port_933X))) + 4))))>>2))))) {
|
|
goto L23552;}
|
|
else {
|
|
p_934X = *((long *) ((((char *) (-3 + port_933X))) + 24));
|
|
b_935X = *((long *) ((((char *) (-3 + port_933X))) + 20));
|
|
i_936X = ((p_934X)>>2);
|
|
x_937X = *((long *) ((((char *) (-3 + port_933X))) + 12));
|
|
if ((5 == x_937X)) {
|
|
goto L23534;}
|
|
else {
|
|
if ((i_936X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + b_935X))) + -4))))>>8)))) {
|
|
goto L23534;}
|
|
else {
|
|
val_938X = 4 + (((i_936X)<<2));
|
|
addr_939X = (((char *) (-3 + port_933X))) + 24;
|
|
S48_WRITE_BARRIER(port_933X, addr_939X, val_938X);
|
|
*((long *) addr_939X) = val_938X;
|
|
*((unsigned char *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + port_933X))) + 20)))))) + i_936X)) = (((((Kchar_932X)>>8))));
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}}}
|
|
else {
|
|
goto L23552;}}
|
|
else {
|
|
goto L23552;}}
|
|
else {
|
|
goto L23552;}}
|
|
L29585: {
|
|
stuff_940X = arg0K0;
|
|
if ((3 == (3 & stuff_940X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + stuff_940X))) + -4))))>>2))))) {
|
|
thing_941X = *((long *) (((char *) (-3 + stuff_940X))));
|
|
if ((0 == (3 & thing_941X))) {
|
|
ps_write_integer((((thing_941X)>>2)), out_741X);
|
|
goto L29591;}
|
|
else {
|
|
if ((9 == (255 & thing_941X))) {
|
|
ps_write_string("#\\", out_741X);
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(((((thing_941X)>>8))), out_741X, ignoreXX) }
|
|
goto L29591;}
|
|
else {
|
|
if ((3 == (3 & thing_941X))) {
|
|
if ((8 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) {
|
|
if ((0 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>8))))>>2)))) {
|
|
type_942X = *((long *) (((char *) (-3 + thing_941X))));
|
|
if ((3 == (3 & type_942X))) {
|
|
if ((8 == (31 & ((((*((long *) ((((char *) (-3 + type_942X))) + -4))))>>2))))) {
|
|
if ((2 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + type_942X))) + -4))))>>8))))>>2)))) {
|
|
obj_943X = *((long *) ((((char *) (-3 + type_942X))) + 8));
|
|
if ((3 == (3 & obj_943X))) {
|
|
if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_943X))) + -4))))>>2))))) {
|
|
ps_write_string("#{", out_741X);
|
|
ps_write_string((((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + thing_941X)))))))) + 8))))))))))))), out_741X);
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(125, out_741X, ignoreXX) }
|
|
goto L29591;}
|
|
else {
|
|
goto L11663;}}
|
|
else {
|
|
goto L11663;}}
|
|
else {
|
|
goto L11663;}}
|
|
else {
|
|
goto L11663;}}
|
|
else {
|
|
goto L11663;}}
|
|
else {
|
|
goto L11663;}}
|
|
else {
|
|
goto L11663;}}
|
|
else {
|
|
goto L11663;}}}}
|
|
else {
|
|
goto L29576;}}
|
|
else {
|
|
goto L29576;}}
|
|
L16737: {
|
|
SvalS = (*((long *) ((((char *) (-3 + (Sexception_handlersS)))) + (((opcode_743X)<<2)))));
|
|
obj_944X = SvalS;
|
|
if ((3 == (3 & obj_944X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_944X))) + -4))))>>2))))) {
|
|
goto L16754;}
|
|
else {
|
|
goto L16824;}}
|
|
else {
|
|
goto L16824;}}
|
|
L16810: {
|
|
merged_arg3K0 = "exception-handlers is not a vector";
|
|
loseD0_return_tag = 0;
|
|
goto loseD0;
|
|
loseD0_return_0:
|
|
goto L16737;}
|
|
L21051: {
|
|
okayP_945X = arg2K0;
|
|
key_946X = arg0K1;
|
|
if (okayP_945X) {
|
|
arg0K0 = key_946X;
|
|
goto L20979;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_946X;
|
|
goto L20979;}}
|
|
L21009: {
|
|
okayP_947X = arg2K0;
|
|
temp_948X = arg0K1;
|
|
if (okayP_947X) {
|
|
arg0K0 = temp_948X;
|
|
goto L20990;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = temp_948X;
|
|
goto L20990;}}
|
|
L20793: {
|
|
start_i_949X = arg0K0;
|
|
arg0K0 = start_i_949X;
|
|
arg0K1 = 2;
|
|
arg0K2 = (SenvS);
|
|
goto L20801;}
|
|
L20693: {
|
|
key_950X = arg0K0;
|
|
if ((1 == (ScontS))) {
|
|
arg0K0 = 1;
|
|
goto L20697;}
|
|
else {
|
|
merged_arg0K0 = key_950X;
|
|
merged_arg0K1 = 2;
|
|
really_preserve_continuation_return_tag = 0;
|
|
goto really_preserve_continuation;
|
|
really_preserve_continuation_return_0:
|
|
v_951X = really_preserve_continuation0_return_value;
|
|
arg0K0 = v_951X;
|
|
goto L20697;}}
|
|
L19876: {
|
|
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_402X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L19176: {
|
|
v_952X = arg0K0;
|
|
merged_arg0K0 = v_952X;
|
|
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 L19133;}
|
|
else {
|
|
goto L19133;}}
|
|
L16907: {
|
|
stack_arg_count_953X = 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_954X = Sinterrupt_templateS;
|
|
StemplateS = tem_954X;
|
|
Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_954X))))))));
|
|
push_continuationB((Scode_pointerS), (4 + stack_arg_count_953X));
|
|
n_955X = (Spending_interruptsS) & (Senabled_interruptsS);
|
|
arg0K0 = 0;
|
|
arg0K1 = 1;
|
|
goto L17012;}
|
|
L19137: {
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L16093: {
|
|
protocol_956X = arg0K0;
|
|
stack_space_957X = arg0K1;
|
|
if ((68 == protocol_956X)) {
|
|
if ((stack_arg_count_774X < 3)) {
|
|
skip_958X = *((unsigned char *) ((((char *) (-3 + code_775X))) + (2 + stack_arg_count_774X)));
|
|
if ((0 == skip_958X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_774X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}
|
|
else {
|
|
arg0K0 = skip_958X;
|
|
arg0K1 = stack_arg_count_774X;
|
|
goto L16097;}}
|
|
else {
|
|
skip_959X = *((unsigned char *) ((((char *) (-3 + code_775X))) + 5));
|
|
if ((0 == skip_959X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_774X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}
|
|
else {
|
|
arg0K0 = skip_959X;
|
|
goto L16120;}}}
|
|
else {
|
|
if ((67 == protocol_956X)) {
|
|
if ((stack_arg_count_774X < (*((unsigned char *) ((((char *) (-3 + code_775X))) + 2))))) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_774X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}
|
|
else {
|
|
arg0K0 = 3;
|
|
goto L16120;}}
|
|
else {
|
|
if ((65 == protocol_956X)) {
|
|
wants_stack_args_960X = ((((*((unsigned char *) ((((char *) (-3 + code_775X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_775X))) + 3)));
|
|
if ((stack_arg_count_774X < wants_stack_args_960X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_774X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}
|
|
else {
|
|
merged_arg0K0 = wants_stack_args_960X;
|
|
merged_arg0K1 = stack_arg_count_774X;
|
|
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_960X);
|
|
goto L16097;}}
|
|
else {
|
|
if ((63 < protocol_956X)) {
|
|
if ((64 == protocol_956X)) {
|
|
if (((((((*((unsigned char *) ((((char *) (-3 + code_775X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_775X))) + 3)))) == stack_arg_count_774X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_774X;
|
|
goto L16097;}
|
|
else {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_774X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}
|
|
else {
|
|
if ((66 == protocol_956X)) {
|
|
length_961X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_775X))) + -4))))>>8);
|
|
index_962X = -2 + length_961X;
|
|
arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_775X))) + (-3 + length_961X))));
|
|
arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_775X))) + index_962X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_775X))) + (1 + index_962X)))));
|
|
goto L16093;}
|
|
else {
|
|
ps_error("unknown protocol", 1, protocol_956X);
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_774X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}}
|
|
else {
|
|
if ((protocol_956X == stack_arg_count_774X)) {
|
|
arg0K0 = 2;
|
|
arg0K1 = stack_arg_count_774X;
|
|
goto L16097;}
|
|
else {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_774X;
|
|
arg0K2 = 25;
|
|
arg0K3 = 0;
|
|
goto L17174;}}}}}}
|
|
L16370: {
|
|
protocol_963X = arg0K0;
|
|
stack_space_964X = arg0K1;
|
|
if ((68 == protocol_963X)) {
|
|
if ((total_arg_count_793X < 3)) {
|
|
skip_965X = *((unsigned char *) ((((char *) (-3 + code_792X))) + (2 + total_arg_count_793X)));
|
|
if ((0 == skip_965X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = list_args_788X;
|
|
arg0K3 = list_arg_count_789X;
|
|
goto L17174;}
|
|
else {
|
|
merged_arg0K0 = list_args_788X;
|
|
merged_arg0K1 = list_arg_count_789X;
|
|
push_list_return_tag = 0;
|
|
goto push_list;
|
|
push_list_return_0:
|
|
arg0K0 = skip_965X;
|
|
arg0K1 = total_arg_count_793X;
|
|
goto L16374;}}
|
|
else {
|
|
skip_966X = *((unsigned char *) ((((char *) (-3 + code_792X))) + 5));
|
|
if ((0 == skip_966X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = list_args_788X;
|
|
arg0K3 = list_arg_count_789X;
|
|
goto L17174;}
|
|
else {
|
|
arg0K0 = skip_966X;
|
|
goto L16399;}}}
|
|
else {
|
|
if ((67 == protocol_963X)) {
|
|
if ((total_arg_count_793X < (*((unsigned char *) ((((char *) (-3 + code_792X))) + 2))))) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = list_args_788X;
|
|
arg0K3 = list_arg_count_789X;
|
|
goto L17174;}
|
|
else {
|
|
arg0K0 = 3;
|
|
goto L16399;}}
|
|
else {
|
|
if ((63 < protocol_963X)) {
|
|
if ((65 == protocol_963X)) {
|
|
wants_stack_args_967X = ((((*((unsigned char *) ((((char *) (-3 + code_792X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_792X))) + 3)));
|
|
if ((total_arg_count_793X < wants_stack_args_967X)) {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = list_args_788X;
|
|
arg0K3 = list_arg_count_789X;
|
|
goto L17174;}
|
|
else {
|
|
merged_arg0K0 = wants_stack_args_967X;
|
|
merged_arg0K1 = stack_arg_count_787X;
|
|
merged_arg0K2 = list_args_788X;
|
|
merged_arg0K3 = list_arg_count_789X;
|
|
rest_list_setup_return_tag = 1;
|
|
goto rest_list_setup;
|
|
rest_list_setup_return_1:
|
|
arg0K0 = 4;
|
|
arg0K1 = (1 + wants_stack_args_967X);
|
|
goto L16374;}}
|
|
else {
|
|
if ((64 == protocol_963X)) {
|
|
if (((((((*((unsigned char *) ((((char *) (-3 + code_792X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_792X))) + 3)))) == total_arg_count_793X)) {
|
|
merged_arg0K0 = list_args_788X;
|
|
merged_arg0K1 = list_arg_count_789X;
|
|
push_list_return_tag = 1;
|
|
goto push_list;
|
|
push_list_return_1:
|
|
arg0K0 = 4;
|
|
arg0K1 = total_arg_count_793X;
|
|
goto L16374;}
|
|
else {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = list_args_788X;
|
|
arg0K3 = list_arg_count_789X;
|
|
goto L17174;}}
|
|
else {
|
|
if ((66 == protocol_963X)) {
|
|
length_968X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_792X))) + -4))))>>8);
|
|
index_969X = -2 + length_968X;
|
|
arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_792X))) + (-3 + length_968X))));
|
|
arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_792X))) + index_969X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_792X))) + (1 + index_969X)))));
|
|
goto L16370;}
|
|
else {
|
|
ps_error("unknown protocol", 1, protocol_963X);
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = list_args_788X;
|
|
arg0K3 = list_arg_count_789X;
|
|
goto L17174;}}}}
|
|
else {
|
|
if ((protocol_963X == total_arg_count_793X)) {
|
|
merged_arg0K0 = list_args_788X;
|
|
merged_arg0K1 = list_arg_count_789X;
|
|
push_list_return_tag = 2;
|
|
goto push_list;
|
|
push_list_return_2:
|
|
arg0K0 = 2;
|
|
arg0K1 = total_arg_count_793X;
|
|
goto L16374;}
|
|
else {
|
|
arg0K0 = 4;
|
|
arg0K1 = stack_arg_count_787X;
|
|
arg0K2 = list_args_788X;
|
|
arg0K3 = list_arg_count_789X;
|
|
goto L17174;}}}}}
|
|
L20451: {
|
|
cont_970X = arg0K0;
|
|
if ((3 == (3 & cont_970X))) {
|
|
if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_970X))) + -4))))>>2))))) {
|
|
next_op_971X = *((unsigned char *) ((((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + cont_970X))) + 8))))))))))) + ((((*((long *) ((((char *) (-3 + cont_970X))) + 4))))>>2))));
|
|
if ((34 == next_op_971X)) {
|
|
pop_continuationB_return_tag = 2;
|
|
goto pop_continuationB;
|
|
pop_continuationB_return_2:
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if ((30 == next_op_971X)) {
|
|
next_972X = *((long *) (((char *) (-3 + (ScontS)))));
|
|
if (((ScontS) == (Sbottom_of_stackS))) {
|
|
*((long *) (((char *) (-3 + (ScontS))))) = (*((long *) (((char *) (-3 + next_972X)))));
|
|
goto L19295;}
|
|
else {
|
|
ScontS = next_972X;
|
|
goto L19295;}}
|
|
else {
|
|
merged_arg0K0 = list_args_805X;
|
|
merged_arg0K1 = stack_nargs_804X;
|
|
pop_args_GlistS_return_tag = 3;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_3:
|
|
args_973X = pop_args_GlistS0_return_value;
|
|
push_exception_continuationB(4, 0);
|
|
*((long *) (SstackS)) = 1;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = args_973X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}
|
|
else {
|
|
goto L20457;}}
|
|
else {
|
|
goto L20457;}}
|
|
L18945: {
|
|
v_974X = arg0K0;
|
|
merged_arg0K0 = v_974X;
|
|
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 L18830;}
|
|
else {
|
|
goto L18830;}}
|
|
L18839: {
|
|
arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 3)));
|
|
goto L16907;}
|
|
L18842: {
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L19000: {
|
|
v_975X = arg0K0;
|
|
merged_arg0K0 = v_975X;
|
|
copy_stack_into_heap_return_tag = 2;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_2:
|
|
if ((space_436X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L18830;}
|
|
else {
|
|
ps_error("VM's stack is too small (how can this happen?)", 0);
|
|
goto L18830;}}
|
|
L10640: {
|
|
if ((3 == (3 & x_456X))) {
|
|
if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_456X))) + -4))))>>2))))) {
|
|
arg0K0 = 5;
|
|
goto L38248;}
|
|
else {
|
|
goto L10646;}}
|
|
else {
|
|
goto L10646;}}
|
|
L28417: {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L28558: {
|
|
if ((3 == (3 & n_458X))) {
|
|
if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_458X))) + -4))))>>2))))) {
|
|
goto L28569;}
|
|
else {
|
|
goto L28570;}}
|
|
else {
|
|
goto L28570;}}
|
|
L28757: {
|
|
if ((3 == (3 & n_459X))) {
|
|
if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) {
|
|
goto L28768;}
|
|
else {
|
|
goto L28769;}}
|
|
else {
|
|
goto L28769;}}
|
|
L28956: {
|
|
if ((3 == (3 & n_460X))) {
|
|
if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) {
|
|
goto L28967;}
|
|
else {
|
|
goto L28968;}}
|
|
else {
|
|
goto L28968;}}
|
|
L6791: {
|
|
b_976X = arg0K0;
|
|
lo_a_977X = 65535 & a_818X;
|
|
lo_b_978X = 65535 & b_976X;
|
|
hi_a_979X = 65535 & (((a_818X)>>16));
|
|
hi_b_980X = 65535 & (((b_976X)>>16));
|
|
lo_c_981X = SMALL_MULTIPLY(lo_a_977X, lo_b_978X);
|
|
v_982X = SMALL_MULTIPLY(lo_b_978X, hi_a_979X);
|
|
v_983X = SMALL_MULTIPLY(lo_a_977X, hi_b_980X);
|
|
mid_c_984X = v_983X + v_982X;
|
|
c_985X = lo_c_981X + (((mid_c_984X)<<16));
|
|
if ((0 < hi_a_979X)) {
|
|
if ((0 < hi_b_980X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_467X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
goto L6833;}}
|
|
else {
|
|
goto L6833;}}
|
|
L7072: {
|
|
b_986X = arg0K0;
|
|
c_987X = a_819X / b_986X;
|
|
x_988X = 0 == (a_819X % b_986X);
|
|
if (x_988X) {
|
|
if ((a_476X < 0)) {
|
|
if ((b_477X < 0)) {
|
|
goto L7127;}
|
|
else {
|
|
goto L7126;}}
|
|
else {
|
|
if ((b_477X < 0)) {
|
|
goto L7126;}
|
|
else {
|
|
goto L7127;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_474X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_475X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
L7249: {
|
|
b_989X = arg0K0;
|
|
c_990X = a_825X / b_989X;
|
|
if ((a_490X < 0)) {
|
|
if ((b_491X < 0)) {
|
|
goto L7295;}
|
|
else {
|
|
goto L7294;}}
|
|
else {
|
|
if ((b_491X < 0)) {
|
|
goto L7294;}
|
|
else {
|
|
goto L7295;}}}
|
|
L25361: {
|
|
b_991X = arg0K0;
|
|
c_992X = a_826X % b_991X;
|
|
if ((a_494X < 0)) {
|
|
arg0K0 = (0 - c_992X);
|
|
goto L25365;}
|
|
else {
|
|
arg0K0 = c_992X;
|
|
goto L25365;}}
|
|
L21349: {
|
|
SvalS = new_837X;
|
|
Scode_pointerS = ((Scode_pointerS) + 3);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L21333: {
|
|
i_993X = arg0K0;
|
|
if ((i_993X < 0)) {
|
|
goto L21349;}
|
|
else {
|
|
SstackS = ((SstackS) + 4);
|
|
*((long *) ((((char *) (-3 + new_837X))) + (((i_993X)<<2)))) = (*((long *) (SstackS)));
|
|
arg0K0 = (-1 + i_993X);
|
|
goto L21333;}}
|
|
L21518: {
|
|
i_994X = arg0K0;
|
|
if ((i_994X < 0)) {
|
|
arg0K0 = stack_nargs_842X;
|
|
arg0K1 = rest_list_843X;
|
|
goto L21536;}
|
|
else {
|
|
SstackS = ((SstackS) + 4);
|
|
*((long *) ((((char *) (-3 + new_841X))) + (((i_994X)<<2)))) = (*((long *) (SstackS)));
|
|
arg0K0 = (-1 + i_994X);
|
|
goto L21518;}}
|
|
L22041: {
|
|
i_995X = arg0K0;
|
|
if ((i_995X < 0)) {
|
|
SvalS = value_848X;
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
addr_996X = (((char *) (-3 + value_848X))) + (((i_995X)<<2));
|
|
S48_WRITE_BARRIER(value_848X, addr_996X, init_845X);
|
|
*((long *) addr_996X) = init_845X;
|
|
arg0K0 = (-1 + i_995X);
|
|
goto L22041;}}
|
|
L26136: {
|
|
i_997X = arg0K0;
|
|
if ((i_997X < 0)) {
|
|
SvalS = vector_850X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
*((unsigned char *) ((((char *) (-3 + vector_850X))) + i_997X)) = init_584X;
|
|
arg0K0 = (-1 + i_997X);
|
|
goto L26136;}}
|
|
L26370: {
|
|
i_998X = arg0K0;
|
|
if ((i_998X < 0)) {
|
|
SvalS = string_853X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
*((unsigned char *) ((((char *) (-3 + string_853X))) + i_998X)) = (init_600X);
|
|
arg0K0 = (-1 + i_998X);
|
|
goto L26370;}}
|
|
L13346: {
|
|
i_999X = arg0K0;
|
|
h_1000X = arg0K1;
|
|
if ((i_999X < n_857X)) {
|
|
arg0K0 = (1 + i_999X);
|
|
arg0K1 = (h_1000X + (((*((unsigned char *) ((((char *) (-3 + string_856X))) + i_999X))))));
|
|
goto L13346;}
|
|
else {
|
|
index_1001X = 1023 & h_1000X;
|
|
bucket_1002X = *((long *) ((((char *) (-3 + table_855X))) + (((index_1001X)<<2))));
|
|
arg0K0 = bucket_1002X;
|
|
goto L13314;}}
|
|
L24509: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L29683: {
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L33230: {
|
|
key_1003X = arg0K0;
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_1004X = *((long *) (SstackS));
|
|
if ((0 == (3 & (SvalS)))) {
|
|
mode_1005X = (((SvalS))>>2);
|
|
if ((1 == mode_1005X)) {
|
|
goto L26794;}
|
|
else {
|
|
if ((2 == mode_1005X)) {
|
|
goto L26794;}
|
|
else {
|
|
if ((3 == mode_1005X)) {
|
|
goto L26794;}
|
|
else {
|
|
if ((4 == mode_1005X)) {
|
|
goto L26794;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1005X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
L34662: {
|
|
key_1006X = arg0K0;
|
|
obj_1007X = SvalS;
|
|
if ((3 == (3 & obj_1007X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1007X))) + -4))))>>2))))) {
|
|
channel_1008X = SvalS;
|
|
if ((0 == (*((long *) (((char *) (-3 + channel_1008X))))))) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = channel_1008X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
else {
|
|
status_1009X = close_channelB(channel_1008X);
|
|
if ((status_1009X == NO_ERRORS)) {
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(25, 1);
|
|
*((long *) (SstackS)) = channel_1008X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1009X;
|
|
merged_arg0K1 = key_1006X;
|
|
get_error_string_return_tag = 0;
|
|
goto get_error_string;
|
|
get_error_string_return_0:
|
|
x_1010X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1010X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}
|
|
else {
|
|
goto L34670;}}
|
|
else {
|
|
goto L34670;}}
|
|
L37482: {
|
|
key_1011X = arg0K0;
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_1012X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_1013X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg4_1014X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg5_1015X = *((long *) (SstackS));
|
|
if ((0 == (3 & (arg4_1014X | arg3_1013X)))) {
|
|
if ((1 == arg2_1012X)) {
|
|
goto L37514;}
|
|
else {
|
|
if ((5 == arg2_1012X)) {
|
|
goto L37514;}
|
|
else {
|
|
goto L37534;}}}
|
|
else {
|
|
goto L37534;}}
|
|
L37754: {
|
|
key_1016X = arg0K0;
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_1017X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_1018X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg4_1019X = *((long *) (SstackS));
|
|
if ((0 == (3 & (arg3_1018X | arg2_1017X)))) {
|
|
obj_1020X = SvalS;
|
|
if ((3 == (3 & obj_1020X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1020X))) + -4))))>>2))))) {
|
|
start_1021X = ((arg3_1018X)>>2);
|
|
count_1022X = ((arg2_1017X)>>2);
|
|
channel_1023X = SvalS;
|
|
v_1024X = 8 == (*((long *) (((char *) (-3 + channel_1023X)))));
|
|
if (v_1024X) {
|
|
if ((3 == (3 & arg4_1019X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1019X))) + -4))))>>2))))) {
|
|
goto L37065;}
|
|
else {
|
|
goto L37057;}}
|
|
else {
|
|
goto L37057;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36948;}}
|
|
else {
|
|
goto L37796;}}
|
|
else {
|
|
goto L37796;}}
|
|
else {
|
|
goto L37796;}}
|
|
L34147: {
|
|
key_1025X = arg0K0;
|
|
obj_1026X = SvalS;
|
|
if ((3 == (3 & obj_1026X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1026X))) + -4))))>>2))))) {
|
|
channel_1027X = SvalS;
|
|
if ((0 == (*((long *) (((char *) (-3 + channel_1027X))))))) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = channel_1027X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
else {
|
|
readyP_1028X = ps_check_fd(((((*((long *) ((((char *) (-3 + channel_1027X))) + 8))))>>2)), (4 == (*((long *) (((char *) (-3 + channel_1027X)))))), &status_1029X);
|
|
if ((status_1029X == NO_ERRORS)) {
|
|
if (readyP_1028X) {
|
|
arg0K0 = 5;
|
|
goto L29269;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L29269;}}
|
|
else {
|
|
push_exception_continuationB(25, 1);
|
|
*((long *) (SstackS)) = channel_1027X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1029X;
|
|
merged_arg0K1 = key_1025X;
|
|
get_error_string_return_tag = 1;
|
|
goto get_error_string;
|
|
get_error_string_return_1:
|
|
x_1030X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1030X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}
|
|
else {
|
|
goto L34155;}}
|
|
else {
|
|
goto L34155;}}
|
|
L8215: {
|
|
val_1031X = *((long *) ((((char *) (-3 + ch_873X))) + 12));
|
|
addr_1032X = (((char *) (-3 + prev_874X))) + 12;
|
|
S48_WRITE_BARRIER(prev_874X, addr_1032X, val_1031X);
|
|
*((long *) addr_1032X) = val_1031X;
|
|
addr_1033X = (((char *) (-3 + ch_873X))) + 12;
|
|
S48_WRITE_BARRIER(ch_873X, addr_1033X, 1);
|
|
*((long *) addr_1033X) = 1;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + ch_873X))) + 16)));
|
|
goto L33335;}
|
|
L14797: {
|
|
i_1034X = arg0K0;
|
|
res_1035X = arg0K1;
|
|
if ((-1 == i_1034X)) {
|
|
SvalS = res_1035X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
channel_1036X = *((Svm_channelsS) + i_1034X);
|
|
if ((3 == (3 & channel_1036X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + channel_1036X))) + -4))))>>2))))) {
|
|
addr_1037X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_1037X) = 2050;
|
|
x_1038X = 3 + (((long) (addr_1037X + 4)));
|
|
*((long *) (((char *) (-3 + x_1038X)))) = channel_1036X;
|
|
*((long *) ((((char *) (-3 + x_1038X))) + 4)) = res_1035X;
|
|
arg0K0 = x_1038X;
|
|
goto L14811;}
|
|
else {
|
|
arg0K0 = res_1035X;
|
|
goto L14811;}}
|
|
else {
|
|
arg0K0 = res_1035X;
|
|
goto L14811;}}}
|
|
L34735: {
|
|
key_1039X = arg0K0;
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_1040X = *((long *) (SstackS));
|
|
SstackS = ((SstackS) + 4);
|
|
arg3_1041X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg3_1041X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1041X))) + -4))))>>2))))) {
|
|
obj_1042X = SvalS;
|
|
if ((3 == (3 & obj_1042X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1042X))) + -4))))>>2))))) {
|
|
comment_string_1043X = SvalS;
|
|
x_1044X = s48_image_writing_okayP();
|
|
if (x_1044X) {
|
|
port_1045X = ps_open_output_file((((char *)(((char *) (-3 + arg3_1041X))))), &status_1046X);
|
|
if ((status_1046X == NO_ERRORS)) {
|
|
status_1047X = ps_write_string((((char *)(((char *) (-3 + comment_string_1043X))))), port_1045X);
|
|
if ((status_1047X == NO_ERRORS)) {
|
|
status_1048X = s48_write_image(arg2_1040X, port_1045X);
|
|
if ((status_1048X == NO_ERRORS)) {
|
|
status_1049X = ps_close(port_1045X);
|
|
if ((status_1049X == NO_ERRORS)) {
|
|
undumpables_1050X = s48_undumpable_records(&undumpable_count_1051X);
|
|
if ((0 == undumpable_count_1051X)) {
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
push_exception_continuationB(26, 1);
|
|
*((long *) (SstackS)) = arg3_1041X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1040X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = comment_string_1043X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = undumpables_1050X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((undumpable_count_1051X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16678;}}
|
|
else {
|
|
arg0K0 = 25;
|
|
arg0K1 = status_1049X;
|
|
goto L30317;}}
|
|
else {
|
|
status_1052X = ps_close(port_1045X);
|
|
if ((status_1052X == NO_ERRORS)) {
|
|
arg0K0 = 25;
|
|
arg0K1 = status_1048X;
|
|
goto L30317;}
|
|
else {
|
|
ps_write_string("Unable to close image file", (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
arg0K0 = 25;
|
|
arg0K1 = status_1048X;
|
|
goto L30317;}}}
|
|
else {
|
|
status_1053X = ps_close(port_1045X);
|
|
if ((status_1053X == NO_ERRORS)) {
|
|
arg0K0 = 25;
|
|
arg0K1 = status_1047X;
|
|
goto L30317;}
|
|
else {
|
|
ps_write_string("Unable to close image file", (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
arg0K0 = 25;
|
|
arg0K1 = status_1047X;
|
|
goto L30317;}}}
|
|
else {
|
|
arg0K0 = 10;
|
|
arg0K1 = status_1046X;
|
|
goto L30317;}}
|
|
else {
|
|
push_exception_continuationB(15, 1);
|
|
*((long *) (SstackS)) = arg3_1041X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1040X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = comment_string_1043X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}}
|
|
else {
|
|
goto L34767;}}
|
|
else {
|
|
goto L34767;}}
|
|
else {
|
|
goto L34767;}}
|
|
else {
|
|
goto L34767;}}
|
|
L30696: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = stob_882X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = proc_883X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L34313: {
|
|
minutesP_1054X = 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_1055X = check_events0_return_value;
|
|
if (temp_1055X) {
|
|
goto L34339;}
|
|
else {
|
|
goto L34344;}}
|
|
else {
|
|
goto L34339;}}
|
|
else {
|
|
goto L34344;}}
|
|
L22862: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = proc_901X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = name_902X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L33501: {
|
|
key_1056X = arg0K0;
|
|
SstackS = ((SstackS) + 4);
|
|
arg2_1057X = *((long *) (SstackS));
|
|
if ((3 == (3 & arg2_1057X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1057X))) + -4))))>>2))))) {
|
|
x_1058X = SvalS;
|
|
if ((1 == x_1058X)) {
|
|
goto L33518;}
|
|
else {
|
|
if ((5 == x_1058X)) {
|
|
goto L33518;}
|
|
else {
|
|
goto L33523;}}}
|
|
else {
|
|
goto L33523;}}
|
|
else {
|
|
goto L33523;}}
|
|
L23959: {
|
|
table_1059X = arg0K0;
|
|
n_1060X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_689X))) + -4))))>>8));
|
|
arg0K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L12893;}
|
|
L27390: {
|
|
len_1061X = 1 + n_912X;
|
|
addr_1062X = ALLOCATE_SPACE(16, (4 + len_1061X));
|
|
*((long *) addr_1062X) = (66 + (((len_1061X)<<8)));
|
|
string_1063X = 3 + (((long) (addr_1062X + 4)));
|
|
*((unsigned char *) ((((char *) (-3 + string_1063X))) + n_912X)) = 0;
|
|
arg0K0 = arg2_911X;
|
|
arg0K1 = (-1 + n_912X);
|
|
goto L27367;}
|
|
L27342: {
|
|
if ((25 == arg2_911X)) {
|
|
goto L27390;}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_911X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((n_912X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
L31101: {
|
|
if ((from_index_730X < 0)) {
|
|
goto L31155;}
|
|
else {
|
|
if ((to_index_731X < 0)) {
|
|
goto L31155;}
|
|
else {
|
|
if ((count_732X < 0)) {
|
|
goto L31155;}
|
|
else {
|
|
if ((3 == (3 & arg5_729X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>2))))) {
|
|
arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>8)));
|
|
goto L31122;}
|
|
else {
|
|
goto L31118;}}
|
|
else {
|
|
goto L31118;}}}}}
|
|
L31096: {
|
|
if ((3 == (3 & arg5_729X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>2))))) {
|
|
goto L31101;}
|
|
else {
|
|
goto L31155;}}
|
|
else {
|
|
goto L31155;}}
|
|
L31155: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg5_729X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((from_index_730X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_727X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((to_index_731X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((count_732X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16678;}
|
|
L23118: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = port_918X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L23098: {
|
|
push_exception_continuationB(14, 2);
|
|
*((long *) (SstackS)) = port_918X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L23338: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = port_926X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L23318: {
|
|
push_exception_continuationB(14, 2);
|
|
*((long *) (SstackS)) = port_926X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L23552: {
|
|
push_exception_continuationB(5, 2);
|
|
*((long *) (SstackS)) = Kchar_932X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = port_933X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L23534: {
|
|
push_exception_continuationB(14, 2);
|
|
*((long *) (SstackS)) = Kchar_932X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = port_933X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L29591: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + stuff_940X))) + 4)));
|
|
goto L29585;}
|
|
L11663: {
|
|
if ((3 == (3 & thing_941X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) {
|
|
arg3K0 = (((char *)(((char *) (-3 + thing_941X)))));
|
|
goto L11705;}
|
|
else {
|
|
goto L11671;}}
|
|
else {
|
|
goto L11671;}}
|
|
L29576: {
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, out_741X, ignoreXX) }
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L16754: {
|
|
StemplateS = (SvalS);
|
|
Slosing_opcodeS = opcode_743X;
|
|
arg0K0 = (2 + nargs_742X);
|
|
goto L16079;}
|
|
L16824: {
|
|
merged_arg3K0 = "exception handler is not a closure";
|
|
loseD0_return_tag = 1;
|
|
goto loseD0;
|
|
loseD0_return_1:
|
|
goto L16754;}
|
|
L20979: {
|
|
key_1064X = arg0K0;
|
|
p_1065X = SenvS;
|
|
if ((3 == (3 & p_1065X))) {
|
|
if ((p_1065X < (((long) (Sstack_beginS))))) {
|
|
goto L21074;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_1065X)) {
|
|
goto L21074;}
|
|
else {
|
|
merged_arg0K0 = (SenvS);
|
|
merged_arg0K1 = (ScontS);
|
|
merged_arg0K2 = key_1064X;
|
|
merged_arg0K3 = 0;
|
|
save_env_in_heap_return_tag = 0;
|
|
goto save_env_in_heap;
|
|
save_env_in_heap_return_0:
|
|
v_1066X = save_env_in_heap0_return_value;
|
|
SenvS = v_1066X;
|
|
goto L21074;}}}
|
|
else {
|
|
goto L21074;}}
|
|
L20990: {
|
|
env_1067X = arg0K0;
|
|
a_1068X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
|
|
addr_1069X = ALLOCATE_SPACE(3, 12);
|
|
*((long *) addr_1069X) = 2062;
|
|
x_1070X = 3 + (((long) (addr_1069X + 4)));
|
|
*((long *) (((char *) (-3 + x_1070X)))) = a_1068X;
|
|
*((long *) ((((char *) (-3 + x_1070X))) + 4)) = env_1067X;
|
|
if ((3 == (3 & x_1070X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + x_1070X))) + -4)))))) {
|
|
*((long *) ((((char *) (-3 + x_1070X))) + -4)) = (128 | (*((long *) ((((char *) (-3 + x_1070X))) + -4))));
|
|
arg0K0 = x_1070X;
|
|
goto L20998;}
|
|
else {
|
|
arg0K0 = x_1070X;
|
|
goto L20998;}}
|
|
else {
|
|
arg0K0 = x_1070X;
|
|
goto L20998;}}
|
|
L20801: {
|
|
i_1071X = arg0K0;
|
|
offset_1072X = arg0K1;
|
|
env_1073X = arg0K2;
|
|
if ((i_1071X == total_count_393X)) {
|
|
SvalS = new_env_765X;
|
|
Scode_pointerS = ((Scode_pointerS) + (1 + offset_1072X));
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
back_1074X = *((unsigned char *) ((Scode_pointerS) + (1 + offset_1072X)));
|
|
arg0K0 = env_1073X;
|
|
arg0K1 = back_1074X;
|
|
goto L20897;}}
|
|
L20697: {
|
|
value_1075X = arg0K0;
|
|
SvalS = value_1075X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L17012: {
|
|
i_1076X = arg0K0;
|
|
m_1077X = arg0K1;
|
|
if ((0 == (n_955X & m_1077X))) {
|
|
arg0K0 = (1 + i_1076X);
|
|
arg0K1 = (((m_1077X)<<1));
|
|
goto L17012;}
|
|
else {
|
|
Spending_interruptsS = ((Spending_interruptsS) & (~ m_1077X));
|
|
if ((i_1076X == 0)) {
|
|
*((long *) (SstackS)) = (Sinterrupted_templateS);
|
|
SstackS = ((SstackS) + -4);
|
|
Sinterrupted_templateS = 1;
|
|
*((long *) (SstackS)) = ((((Senabled_interruptsS))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16931;}
|
|
else {
|
|
if ((i_1076X == 2)) {
|
|
*((long *) (SstackS)) = (Sfinalize_theseS);
|
|
SstackS = ((SstackS) + -4);
|
|
Sfinalize_theseS = 25;
|
|
*((long *) (SstackS)) = ((((Senabled_interruptsS))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16931;}
|
|
else {
|
|
if ((i_1076X == 3)) {
|
|
channel_1078X = Spending_channels_headS;
|
|
next_1079X = *((long *) ((((char *) (-3 + channel_1078X))) + 12));
|
|
Spending_channels_headS = next_1079X;
|
|
addr_1080X = (((char *) (-3 + channel_1078X))) + 12;
|
|
S48_WRITE_BARRIER(channel_1078X, addr_1080X, 1);
|
|
*((long *) addr_1080X) = 1;
|
|
if ((1 == next_1079X)) {
|
|
Spending_channels_tailS = 1;
|
|
arg0K0 = channel_1078X;
|
|
goto L8376;}
|
|
else {
|
|
arg0K0 = channel_1078X;
|
|
goto L8376;}}
|
|
else {
|
|
if ((i_1076X == 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 L16931;}
|
|
else {
|
|
*((long *) (SstackS)) = ((((Senabled_interruptsS))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16931;}}}}}}
|
|
L16097: {
|
|
skip_1081X = arg0K0;
|
|
stack_arg_count_1082X = arg0K1;
|
|
template_1083X = *((long *) (((char *) (-3 + (SvalS)))));
|
|
StemplateS = template_1083X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + template_1083X)))))))) + skip_1081X);
|
|
SenvS = (*((long *) ((((char *) (-3 + (SvalS)))) + 4)));
|
|
arg0K0 = stack_space_957X;
|
|
arg0K1 = stack_arg_count_1082X;
|
|
goto L15987;}
|
|
L16120: {
|
|
skip_1084X = arg0K0;
|
|
*((long *) (SstackS)) = 25;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((stack_arg_count_774X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((stack_arg_count_774X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = skip_1084X;
|
|
arg0K1 = (3 + stack_arg_count_774X);
|
|
goto L16097;}
|
|
L16374: {
|
|
skip_1085X = arg0K0;
|
|
stack_arg_count_1086X = arg0K1;
|
|
template_1087X = *((long *) (((char *) (-3 + (SvalS)))));
|
|
StemplateS = template_1087X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + template_1087X)))))))) + skip_1085X);
|
|
SenvS = (*((long *) ((((char *) (-3 + (SvalS)))) + 4)));
|
|
arg0K0 = stack_space_964X;
|
|
arg0K1 = stack_arg_count_1086X;
|
|
goto L15987;}
|
|
L16399: {
|
|
skip_1088X = arg0K0;
|
|
if ((total_arg_count_793X < 3)) {
|
|
arg0K0 = total_arg_count_793X;
|
|
goto L16407;}
|
|
else {
|
|
if ((2 < stack_arg_count_787X)) {
|
|
arg0K0 = stack_arg_count_787X;
|
|
goto L16407;}
|
|
else {
|
|
arg0K0 = 2;
|
|
goto L16407;}}}
|
|
L19295: {
|
|
SvalS = (*((long *) ((((char *) (-3 + cont_970X))) + 16)));
|
|
arg0K0 = stack_nargs_804X;
|
|
arg0K1 = list_args_805X;
|
|
arg0K2 = list_arg_count_806X;
|
|
goto L17679;}
|
|
L20457: {
|
|
merged_arg0K0 = list_args_805X;
|
|
merged_arg0K1 = stack_nargs_804X;
|
|
pop_args_GlistS_return_tag = 4;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_4:
|
|
args_1089X = pop_args_GlistS0_return_value;
|
|
push_exception_continuationB(4, 0);
|
|
*((long *) (SstackS)) = 1;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = args_1089X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L10646: {
|
|
if ((3 == (3 & x_456X))) {
|
|
if ((10 == (31 & ((((*((long *) ((((char *) (-3 + x_456X))) + -4))))>>2))))) {
|
|
arg0K0 = 5;
|
|
goto L38248;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38248;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L38248;}}
|
|
L28570: {
|
|
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 L16678;}
|
|
else {
|
|
goto L28574;}}
|
|
else {
|
|
goto L28574;}}
|
|
L28769: {
|
|
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 L16678;}
|
|
else {
|
|
goto L28773;}}
|
|
else {
|
|
goto L28773;}}
|
|
L28968: {
|
|
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 L16678;}
|
|
else {
|
|
goto L28972;}}
|
|
else {
|
|
goto L28972;}}
|
|
L6833: {
|
|
if ((536870911 < lo_c_981X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_467X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
if ((lo_c_981X < 0)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_467X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
if ((8192 < mid_c_984X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_467X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
if ((a_469X < 0)) {
|
|
if ((b_470X < 0)) {
|
|
goto L6860;}
|
|
else {
|
|
goto L6867;}}
|
|
else {
|
|
if ((b_470X < 0)) {
|
|
goto L6867;}
|
|
else {
|
|
goto L6860;}}}}}}
|
|
L7127: {
|
|
if ((536870911 < c_987X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_474X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_475X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
SvalS = (((c_987X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L7126: {
|
|
SvalS = ((((0 - c_987X))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L7295: {
|
|
if ((536870911 < c_990X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_488X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_489X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
SvalS = (((c_990X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L7294: {
|
|
SvalS = ((((0 - c_990X))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L25365: {
|
|
n_1090X = arg0K0;
|
|
SvalS = (((n_1090X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L21536: {
|
|
i_1091X = arg0K0;
|
|
rest_list_1092X = arg0K1;
|
|
if ((25 == rest_list_1092X)) {
|
|
SvalS = new_841X;
|
|
Scode_pointerS = ((Scode_pointerS) + 2);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
*((long *) ((((char *) (-3 + new_841X))) + (((i_1091X)<<2)))) = (*((long *) (((char *) (-3 + rest_list_1092X)))));
|
|
arg0K0 = (1 + i_1091X);
|
|
arg0K1 = (*((long *) ((((char *) (-3 + rest_list_1092X))) + 4)));
|
|
goto L21536;}}
|
|
L13314: {
|
|
foo_1093X = arg0K0;
|
|
if ((1 == foo_1093X)) {
|
|
addr_1094X = ALLOCATE_SPACE(1, 12);
|
|
*((long *) addr_1094X) = 2054;
|
|
x_1095X = 3 + (((long) (addr_1094X + 4)));
|
|
*((long *) (((char *) (-3 + x_1095X)))) = string_856X;
|
|
*((long *) ((((char *) (-3 + x_1095X))) + 4)) = bucket_1002X;
|
|
addr_1096X = (((char *) (-3 + table_855X))) + (((index_1001X)<<2));
|
|
S48_WRITE_BARRIER(table_855X, addr_1096X, x_1095X);
|
|
*((long *) addr_1096X) = x_1095X;
|
|
arg0K0 = x_1095X;
|
|
goto L24550;}
|
|
else {
|
|
s2_1097X = *((long *) (((char *) (-3 + foo_1093X))));
|
|
len_1098X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_856X))) + -4))))>>8);
|
|
if ((len_1098X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1097X))) + -4))))>>8)))) {
|
|
if (((!memcmp((void *)(((char *) (-3 + s2_1097X))), (void *)(((char *) (-3 + string_856X))),len_1098X)))) {
|
|
arg0K0 = foo_1093X;
|
|
goto L24550;}
|
|
else {
|
|
goto L13330;}}
|
|
else {
|
|
goto L13330;}}}
|
|
L26794: {
|
|
if ((0 == (3 & arg2_1004X))) {
|
|
if (((((arg2_1004X)>>2)) < 0)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1005X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
arg0K0 = (((arg2_1004X)>>2));
|
|
goto L26614;}}
|
|
else {
|
|
if ((3 == (3 & arg2_1004X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1004X))) + -4))))>>2))))) {
|
|
if ((1 == mode_1005X)) {
|
|
goto L26672;}
|
|
else {
|
|
if ((3 == mode_1005X)) {
|
|
goto L26672;}
|
|
else {
|
|
v_1099X = ps_open_fd((((char *)(((char *) (-3 + arg2_1004X))))), 0, &v_1100X);
|
|
arg0K0 = v_1099X;
|
|
arg0K1 = v_1100X;
|
|
goto L26685;}}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1005X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
else {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1005X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}}
|
|
L34670: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L37514: {
|
|
obj_1101X = SvalS;
|
|
if ((3 == (3 & obj_1101X))) {
|
|
if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1101X))) + -4))))>>2))))) {
|
|
x_1102X = SvalS;
|
|
if ((1 == arg2_1012X)) {
|
|
arg2K0 = 0;
|
|
goto L37531;}
|
|
else {
|
|
arg2K0 = 1;
|
|
goto L37531;}}
|
|
else {
|
|
goto L37534;}}
|
|
else {
|
|
goto L37534;}}
|
|
L37534: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg5_1015X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg4_1014X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_1013X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1012X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16678;}
|
|
L37065: {
|
|
if ((3 == (3 & arg4_1019X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1019X))) + -4))))>>2))))) {
|
|
arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1019X))) + -4))))>>8)));
|
|
goto L37077;}
|
|
else {
|
|
goto L37073;}}
|
|
else {
|
|
goto L37073;}}
|
|
L37057: {
|
|
if ((3 == (3 & arg4_1019X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1019X))) + -4))))>>2))))) {
|
|
goto L37065;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36948;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36948;}}
|
|
L36948: {
|
|
reason_1103X = arg0K0;
|
|
push_exception_continuationB(reason_1103X, 1);
|
|
*((long *) (SstackS)) = arg4_1019X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((start_1021X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((count_1022X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = channel_1023X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16678;}
|
|
L37796: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg4_1019X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg3_1018X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1017X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16678;}
|
|
L29269: {
|
|
val_1104X = arg0K0;
|
|
SvalS = val_1104X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L34155: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 1;
|
|
goto L16678;}
|
|
L14811: {
|
|
v_1105X = arg0K0;
|
|
arg0K0 = (-1 + i_1034X);
|
|
arg0K1 = v_1105X;
|
|
goto L14797;}
|
|
L30317: {
|
|
reason_1106X = arg0K0;
|
|
status_1107X = arg0K1;
|
|
push_exception_continuationB(reason_1106X, 1);
|
|
*((long *) (SstackS)) = arg3_1041X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1040X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = comment_string_1043X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1107X;
|
|
merged_arg0K1 = key_1039X;
|
|
get_error_string_return_tag = 2;
|
|
goto get_error_string;
|
|
get_error_string_return_2:
|
|
x_1108X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1108X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 4;
|
|
goto L16678;}
|
|
L34767: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg3_1041X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = arg2_1040X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}
|
|
L34339: {
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L34344: {
|
|
if ((0 == (Spending_interruptsS))) {
|
|
s48_wait_for_event((((arg2_681X)>>2)), minutesP_1054X);
|
|
goto L34339;}
|
|
else {
|
|
goto L34339;}}
|
|
L33518: {
|
|
if ((1 == (SvalS))) {
|
|
v_1109X = Hlookup2112((Sexported_bindingsS), arg2_1057X, key_1056X);
|
|
arg0K0 = v_1109X;
|
|
goto L33575;}
|
|
else {
|
|
v_1110X = Hlookup2093((Simported_bindingsS), arg2_1057X, key_1056X);
|
|
arg0K0 = v_1110X;
|
|
goto L33575;}}
|
|
L33523: {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_1057X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (SvalS);
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
L12893: {
|
|
i_1111X = arg0K0;
|
|
h_1112X = arg0K1;
|
|
if ((i_1111X < n_1060X)) {
|
|
arg0K0 = (1 + i_1111X);
|
|
arg0K1 = (h_1112X + (((*((unsigned char *) ((((char *) (-3 + arg2_689X))) + i_1111X))))));
|
|
goto L12893;}
|
|
else {
|
|
index_1113X = 1023 & h_1112X;
|
|
bucket_1114X = *((long *) ((((char *) (-3 + table_1059X))) + (((index_1113X)<<2))));
|
|
arg0K0 = 1;
|
|
arg0K1 = bucket_1114X;
|
|
goto L12857;}}
|
|
L27367: {
|
|
l_1115X = arg0K0;
|
|
i_1116X = arg0K1;
|
|
if ((i_1116X < 0)) {
|
|
SvalS = string_1063X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
*((unsigned char *) ((((char *) (-3 + string_1063X))) + i_1116X)) = ((((((*((long *) (((char *) (-3 + l_1115X))))))>>8))));
|
|
arg0K0 = (*((long *) ((((char *) (-3 + l_1115X))) + 4)));
|
|
arg0K1 = (-1 + i_1116X);
|
|
goto L27367;}}
|
|
L31122: {
|
|
y_1117X = arg0K0;
|
|
if ((y_1117X < (from_index_730X + count_732X))) {
|
|
goto L31155;}
|
|
else {
|
|
if ((3 == (3 & arg3_727X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_727X))) + -4))))>>2))))) {
|
|
arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_727X))) + -4))))>>8)));
|
|
goto L31137;}
|
|
else {
|
|
goto L31133;}}
|
|
else {
|
|
goto L31133;}}}
|
|
L31118: {
|
|
arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>8));
|
|
goto L31122;}
|
|
L11705: {
|
|
v_1118X = arg3K0;
|
|
ps_write_string(v_1118X, out_741X);
|
|
goto L29591;}
|
|
L11671: {
|
|
if ((3 == (3 & thing_941X))) {
|
|
if ((1 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) {
|
|
arg3K0 = (((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + thing_941X))))))))));
|
|
goto L11705;}
|
|
else {
|
|
goto L11679;}}
|
|
else {
|
|
goto L11679;}}
|
|
L21074: {
|
|
arg0K0 = (SenvS);
|
|
goto L20984;}
|
|
L20998: {
|
|
value_1119X = arg0K0;
|
|
SvalS = value_1119X;
|
|
Scode_pointerS = ((Scode_pointerS) + 4);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L20897: {
|
|
env_1120X = arg0K0;
|
|
i_1121X = arg0K1;
|
|
if ((0 == i_1121X)) {
|
|
count_1122X = *((unsigned char *) ((Scode_pointerS) + (2 + offset_1072X)));
|
|
arg0K0 = count_1122X;
|
|
arg0K1 = i_1071X;
|
|
arg0K2 = (2 + offset_1072X);
|
|
goto L20818;}
|
|
else {
|
|
arg0K0 = (*((long *) (((char *) (-3 + env_1120X)))));
|
|
arg0K1 = (-1 + i_1121X);
|
|
goto L20897;}}
|
|
L16931: {
|
|
arg_count_1123X = arg0K0;
|
|
obj_1124X = Sinterrupt_handlersS;
|
|
if ((3 == (3 & obj_1124X))) {
|
|
if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1124X))) + -4))))>>2))))) {
|
|
goto L16945;}
|
|
else {
|
|
goto L17025;}}
|
|
else {
|
|
goto L17025;}}
|
|
L8376: {
|
|
channel_1125X = arg0K0;
|
|
x_1126X = 1 == (Spending_channels_headS);
|
|
if (x_1126X) {
|
|
goto L8390;}
|
|
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 L8390;}
|
|
else {
|
|
goto L8390;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L8390;}}}
|
|
L15987: {
|
|
stack_slots_1127X = arg0K0;
|
|
stack_arg_count_1128X = arg0K1;
|
|
if ((stack_slots_1127X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L15989;}
|
|
else {
|
|
space_1129X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_1130X = AVAILABLEp(space_1129X);
|
|
if (v_1130X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L16046;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_1131X);
|
|
v_1132X = AVAILABLEp(space_1129X);
|
|
if (v_1132X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L16046;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L16046;}}}}
|
|
L16407: {
|
|
final_stack_arg_count_1133X = arg0K0;
|
|
if ((stack_arg_count_787X < final_stack_arg_count_1133X)) {
|
|
arg0K0 = final_stack_arg_count_1133X;
|
|
goto L16411;}
|
|
else {
|
|
arg0K0 = stack_arg_count_787X;
|
|
goto L16411;}}
|
|
L28574: {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L28773: {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L28972: {
|
|
SvalS = 1;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L6860: {
|
|
if ((536870911 < c_985X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_467X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
SvalS = (((c_985X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L6867: {
|
|
if ((536870912 < c_985X)) {
|
|
push_exception_continuationB(5, 1);
|
|
*((long *) (SstackS)) = arg2_467X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_468X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
SvalS = ((((0 - c_985X))<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L24550: {
|
|
val_1134X = arg0K0;
|
|
SvalS = val_1134X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L13330: {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + foo_1093X))) + 4)));
|
|
goto L13314;}
|
|
L26614: {
|
|
index_1135X = arg0K0;
|
|
channel_1136X = make_registered_channel(mode_1005X, arg2_1004X, index_1135X, key_1003X, &reason_1137X);
|
|
if ((1 == channel_1136X)) {
|
|
if ((3 == (3 & arg2_1004X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1004X))) + -4))))>>2))))) {
|
|
if ((1 == mode_1005X)) {
|
|
goto L26729;}
|
|
else {
|
|
if ((3 == mode_1005X)) {
|
|
goto L26729;}
|
|
else {
|
|
v_1138X = ps_close_fd(index_1135X);
|
|
arg0K0 = v_1138X;
|
|
goto L26724;}}}
|
|
else {
|
|
push_exception_continuationB(reason_1137X, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1005X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
else {
|
|
push_exception_continuationB(reason_1137X, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1005X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
else {
|
|
SvalS = channel_1136X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L26672: {
|
|
v_1139X = ps_open_fd((((char *)(((char *) (-3 + arg2_1004X))))), 1, &v_1140X);
|
|
arg0K0 = v_1139X;
|
|
arg0K1 = v_1140X;
|
|
goto L26685;}
|
|
L26685: {
|
|
channel_1141X = arg0K0;
|
|
status_1142X = arg0K1;
|
|
if ((status_1142X == NO_ERRORS)) {
|
|
arg0K0 = channel_1141X;
|
|
goto L26614;}
|
|
else {
|
|
if ((status_1142X == ENOENT)) {
|
|
push_exception_continuationB(10, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1005X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
push_exception_continuationB(25, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1005X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1142X;
|
|
merged_arg0K1 = key_1003X;
|
|
get_error_string_return_tag = 3;
|
|
goto get_error_string;
|
|
get_error_string_return_3:
|
|
x_1143X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1143X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16678;}}}
|
|
L37531: {
|
|
waitP_1144X = arg2K0;
|
|
start_1145X = ((arg4_1014X)>>2);
|
|
count_1146X = ((arg3_1013X)>>2);
|
|
if ((4 == (*((long *) (((char *) (-3 + x_1102X))))))) {
|
|
if ((3 == (3 & arg5_1015X))) {
|
|
if ((0 == (128 & (*((long *) ((((char *) (-3 + arg5_1015X))) + -4)))))) {
|
|
if ((3 == (3 & arg5_1015X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1015X))) + -4))))>>2))))) {
|
|
goto L36667;}
|
|
else {
|
|
goto L36659;}}
|
|
else {
|
|
goto L36659;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36550;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36550;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36550;}}
|
|
L37077: {
|
|
length_1147X = arg0K0;
|
|
if ((length_1147X < (start_1021X + count_1022X))) {
|
|
arg0K0 = 7;
|
|
goto L36948;}
|
|
else {
|
|
got_1148X = ps_write_fd(((((*((long *) ((((char *) (-3 + channel_1023X))) + 8))))>>2)), ((((char *) (-3 + arg4_1019X))) + start_1021X), count_1022X, &pendingP_1149X, &status_1150X);
|
|
if ((status_1150X == NO_ERRORS)) {
|
|
if (pendingP_1149X) {
|
|
addr_1151X = (((char *) (-3 + channel_1023X))) + 16;
|
|
S48_WRITE_BARRIER(channel_1023X, addr_1151X, 5);
|
|
*((long *) addr_1151X) = 5;
|
|
s48_Spending_interruptPS = 0;
|
|
Senabled_interruptsS = 0;
|
|
arg0K0 = 13;
|
|
goto L36948;}
|
|
else {
|
|
SvalS = (((got_1148X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
else {
|
|
push_exception_continuationB(25, 1);
|
|
*((long *) (SstackS)) = arg4_1019X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((start_1021X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((count_1022X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = channel_1023X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1150X;
|
|
merged_arg0K1 = key_1016X;
|
|
get_error_string_return_tag = 4;
|
|
goto get_error_string;
|
|
get_error_string_return_4:
|
|
x_1152X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1152X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16678;}}}
|
|
L37073: {
|
|
arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1019X))) + -4))))>>8));
|
|
goto L37077;}
|
|
L33575: {
|
|
val_1153X = arg0K0;
|
|
SvalS = val_1153X;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L12857: {
|
|
previous_foo_1154X = arg0K0;
|
|
foo_1155X = arg0K1;
|
|
if ((1 == foo_1155X)) {
|
|
goto L23961;}
|
|
else {
|
|
s2_1156X = *((long *) (((char *) (-3 + foo_1155X))));
|
|
len_1157X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_689X))) + -4))))>>8);
|
|
if ((len_1157X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1156X))) + -4))))>>8)))) {
|
|
if (((!memcmp((void *)(((char *) (-3 + s2_1156X))), (void *)(((char *) (-3 + arg2_689X))),len_1157X)))) {
|
|
if ((1 == previous_foo_1154X)) {
|
|
value_1158X = *((long *) ((((char *) (-3 + foo_1155X))) + 12));
|
|
addr_1159X = (((char *) (-3 + table_1059X))) + (((index_1113X)<<2));
|
|
S48_WRITE_BARRIER(table_1059X, addr_1159X, value_1158X);
|
|
*((long *) addr_1159X) = value_1158X;
|
|
goto L23961;}
|
|
else {
|
|
val_1160X = *((long *) ((((char *) (-3 + foo_1155X))) + 12));
|
|
addr_1161X = (((char *) (-3 + previous_foo_1154X))) + 12;
|
|
S48_WRITE_BARRIER(previous_foo_1154X, addr_1161X, val_1160X);
|
|
*((long *) addr_1161X) = val_1160X;
|
|
goto L23961;}}
|
|
else {
|
|
goto L12919;}}
|
|
else {
|
|
goto L12919;}}}
|
|
L31137: {
|
|
y_1162X = arg0K0;
|
|
if ((y_1162X < (to_index_731X + count_732X))) {
|
|
goto L31155;}
|
|
else {
|
|
memcpy((void *)((((char *) (-3 + arg3_727X))) + to_index_731X), (void *)((((char *) (-3 + arg5_729X))) + from_index_730X),count_732X);
|
|
SvalS = 13;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}
|
|
L31133: {
|
|
arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_727X))) + -4))))>>8));
|
|
goto L31137;}
|
|
L11679: {
|
|
if ((1 == thing_941X)) {
|
|
goto L11682;}
|
|
else {
|
|
if ((5 == thing_941X)) {
|
|
goto L11682;}
|
|
else {
|
|
if ((25 == thing_941X)) {
|
|
arg3K0 = "()";
|
|
goto L11705;}
|
|
else {
|
|
if ((3 == (3 & thing_941X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) {
|
|
arg3K0 = "(...)";
|
|
goto L11705;}
|
|
else {
|
|
goto L11695;}}
|
|
else {
|
|
goto L11695;}}}}}
|
|
L20818: {
|
|
count_1163X = arg0K0;
|
|
i_1164X = arg0K1;
|
|
offset_1165X = arg0K2;
|
|
if ((0 == count_1163X)) {
|
|
arg0K0 = i_1164X;
|
|
arg0K1 = offset_1165X;
|
|
arg0K2 = env_1120X;
|
|
goto L20801;}
|
|
else {
|
|
value_1166X = *((long *) ((((char *) (-3 + env_1120X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1165X)))))<<2))));
|
|
addr_1167X = (((char *) (-3 + new_env_765X))) + (((i_1164X)<<2));
|
|
S48_WRITE_BARRIER(new_env_765X, addr_1167X, value_1166X);
|
|
*((long *) addr_1167X) = value_1166X;
|
|
arg0K0 = (-1 + count_1163X);
|
|
arg0K1 = (1 + i_1164X);
|
|
arg0K2 = (1 + offset_1165X);
|
|
goto L20818;}}
|
|
L16945: {
|
|
Senabled_interruptsS = 0;
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L16947;}
|
|
else {
|
|
goto L16947;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L16947;}}
|
|
L17025: {
|
|
ps_error("interrupt handler is not a vector", 0);
|
|
goto L16945;}
|
|
L8390: {
|
|
*((long *) (SstackS)) = channel_1125X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (*((long *) ((((char *) (-3 + channel_1125X))) + 16)));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = ((((Senabled_interruptsS))<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 3;
|
|
goto L16931;}
|
|
L15989: {
|
|
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_1168X = check_events0_return_value;
|
|
if (v_1168X) {
|
|
arg0K0 = stack_arg_count_1128X;
|
|
goto L16907;}
|
|
else {
|
|
goto L15993;}}
|
|
else {
|
|
arg0K0 = stack_arg_count_1128X;
|
|
goto L16907;}}
|
|
else {
|
|
goto L15993;}}
|
|
L16046: {
|
|
okayP_1169X = arg2K0;
|
|
key_1170X = arg0K1;
|
|
if (okayP_1169X) {
|
|
arg0K0 = key_1170X;
|
|
goto L16000;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_1170X;
|
|
goto L16000;}}
|
|
L16411: {
|
|
v_1171X = arg0K0;
|
|
merged_arg0K0 = v_1171X;
|
|
merged_arg0K1 = stack_arg_count_787X;
|
|
merged_arg0K2 = list_args_788X;
|
|
merged_arg0K3 = list_arg_count_789X;
|
|
rest_list_setup_return_tag = 2;
|
|
goto rest_list_setup;
|
|
rest_list_setup_return_2:
|
|
*((long *) (SstackS)) = (((final_stack_arg_count_1133X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((total_arg_count_793X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = skip_1088X;
|
|
arg0K1 = (3 + final_stack_arg_count_1133X);
|
|
goto L16374;}
|
|
L26729: {
|
|
v_1172X = ps_close_fd(index_1135X);
|
|
arg0K0 = v_1172X;
|
|
goto L26724;}
|
|
L26724: {
|
|
status_1173X = arg0K0;
|
|
if ((status_1173X == NO_ERRORS)) {
|
|
push_exception_continuationB(reason_1137X, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1005X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}
|
|
else {
|
|
channel_close_error(status_1173X, index_1135X, arg2_1004X);
|
|
push_exception_continuationB(reason_1137X, 1);
|
|
*((long *) (SstackS)) = arg2_1004X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((mode_1005X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 2;
|
|
goto L16678;}}
|
|
L36667: {
|
|
if ((3 == (3 & arg5_1015X))) {
|
|
if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1015X))) + -4))))>>2))))) {
|
|
arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_1015X))) + -4))))>>8)));
|
|
goto L36679;}
|
|
else {
|
|
goto L36675;}}
|
|
else {
|
|
goto L36675;}}
|
|
L36659: {
|
|
if ((3 == (3 & arg5_1015X))) {
|
|
if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1015X))) + -4))))>>2))))) {
|
|
goto L36667;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36550;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L36550;}}
|
|
L36550: {
|
|
reason_1174X = arg0K0;
|
|
push_exception_continuationB(reason_1174X, 1);
|
|
*((long *) (SstackS)) = arg5_1015X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((start_1145X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((count_1146X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
if (waitP_1144X) {
|
|
arg0K0 = 5;
|
|
goto L36565;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L36565;}}
|
|
L23961: {
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L12919: {
|
|
arg0K0 = foo_1155X;
|
|
arg0K1 = (*((long *) ((((char *) (-3 + foo_1155X))) + 12)));
|
|
goto L12857;}
|
|
L11682: {
|
|
if ((1 == thing_941X)) {
|
|
arg3K0 = "#f";
|
|
goto L11705;}
|
|
else {
|
|
arg3K0 = "#t";
|
|
goto L11705;}}
|
|
L11695: {
|
|
if ((3 == (3 & thing_941X))) {
|
|
if ((2 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) {
|
|
arg3K0 = "#(...)";
|
|
goto L11705;}
|
|
else {
|
|
goto L11699;}}
|
|
else {
|
|
goto L11699;}}
|
|
L16947: {
|
|
SvalS = (*((long *) ((((char *) (-3 + (Sinterrupt_handlersS)))) + (((i_1076X)<<2)))));
|
|
obj_1175X = SvalS;
|
|
if ((3 == (3 & obj_1175X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1175X))) + -4))))>>2))))) {
|
|
goto L16964;}
|
|
else {
|
|
goto L17050;}}
|
|
else {
|
|
goto L17050;}}
|
|
L15993: {
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
L16000: {
|
|
v_1176X = arg0K0;
|
|
merged_arg0K0 = v_1176X;
|
|
copy_stack_into_heap_return_tag = 3;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_3:
|
|
if ((stack_slots_1127X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L15989;}
|
|
else {
|
|
ps_error("VM's stack is too small (how can this happen?)", 0);
|
|
goto L15989;}}
|
|
L36679: {
|
|
length_1177X = arg0K0;
|
|
if ((length_1177X < (start_1145X + count_1146X))) {
|
|
arg0K0 = 7;
|
|
goto L36550;}
|
|
else {
|
|
got_1178X = ps_read_fd(((((*((long *) ((((char *) (-3 + x_1102X))) + 8))))>>2)), ((((char *) (-3 + arg5_1015X))) + start_1145X), count_1146X, waitP_1144X, &eofP_1179X, &pendingP_1180X, &status_1181X);
|
|
if ((status_1181X == NO_ERRORS)) {
|
|
if (eofP_1179X) {
|
|
SvalS = 21;
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}
|
|
else {
|
|
if (pendingP_1180X) {
|
|
addr_1182X = (((char *) (-3 + x_1102X))) + 16;
|
|
S48_WRITE_BARRIER(x_1102X, addr_1182X, 5);
|
|
*((long *) addr_1182X) = 5;
|
|
s48_Spending_interruptPS = 0;
|
|
Senabled_interruptsS = 0;
|
|
arg0K0 = 13;
|
|
goto L36550;}
|
|
else {
|
|
SvalS = (((got_1178X)<<2));
|
|
Scode_pointerS = ((Scode_pointerS) + 1);
|
|
arg1K0 = (Scode_pointerS);
|
|
goto L18451;}}}
|
|
else {
|
|
push_exception_continuationB(25, 1);
|
|
*((long *) (SstackS)) = arg5_1015X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((start_1145X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = (((count_1146X)<<2));
|
|
SstackS = ((SstackS) + -4);
|
|
if (waitP_1144X) {
|
|
arg0K0 = 5;
|
|
goto L36602;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L36602;}}}}
|
|
L36675: {
|
|
arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_1015X))) + -4))))>>8));
|
|
goto L36679;}
|
|
L36565: {
|
|
x_1183X = arg0K0;
|
|
*((long *) (SstackS)) = x_1183X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_1102X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 5;
|
|
goto L16678;}
|
|
L11699: {
|
|
if ((3 == (3 & thing_941X))) {
|
|
if ((3 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) {
|
|
arg3K0 = "#{procedure}";
|
|
goto L11705;}
|
|
else {
|
|
arg3K0 = "???";
|
|
goto L11705;}}
|
|
else {
|
|
arg3K0 = "???";
|
|
goto L11705;}}
|
|
L16964: {
|
|
StemplateS = (SvalS);
|
|
Slosing_opcodeS = (0 - i_1076X);
|
|
arg0K0 = arg_count_1123X;
|
|
goto L16079;}
|
|
L17050: {
|
|
ps_error("interrupt handler is not a closure", 1, i_1076X);
|
|
goto L16964;}
|
|
L36602: {
|
|
x_1184X = arg0K0;
|
|
*((long *) (SstackS)) = x_1184X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_1102X;
|
|
SstackS = ((SstackS) + -4);
|
|
merged_arg0K0 = status_1181X;
|
|
merged_arg0K1 = key_1011X;
|
|
get_error_string_return_tag = 5;
|
|
goto get_error_string;
|
|
get_error_string_return_5:
|
|
x_1185X = get_error_string0_return_value;
|
|
*((long *) (SstackS)) = x_1185X;
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = 6;
|
|
goto L16678;}
|
|
loseD0: {
|
|
message_369X = merged_arg3K0;{
|
|
why_1186X = (((*((long *) ((SstackS) + (4 + (((nargs_742X)<<2)))))))>>2);
|
|
ps_write_string("Template UIDs: ", (stderr));
|
|
current_template_1187X = StemplateS;
|
|
out_1188X = stderr;
|
|
if ((0 == (3 & (*((long *) ((((char *) (-3 + current_template_1187X))) + 4)))))) {
|
|
if ((current_template_1187X == (*((long *) ((((char *) (-3 + (Sbottom_of_stackS)))) + 8))))) {
|
|
arg2K0 = 0;
|
|
goto L10530;}
|
|
else {
|
|
ps_write_integer(((((*((long *) ((((char *) (-3 + current_template_1187X))) + 4))))>>2)), out_1188X);
|
|
arg2K0 = 1;
|
|
goto L10530;}}
|
|
else {
|
|
arg2K0 = 0;
|
|
goto L10530;}}
|
|
L10530: {
|
|
not_firstP_1189X = arg2K0;
|
|
arg0K0 = (ScontS);
|
|
arg2K1 = not_firstP_1189X;
|
|
goto L10537;}
|
|
L10537: {
|
|
cont_1190X = arg0K0;
|
|
not_firstP_1191X = arg2K1;
|
|
if ((3 == (3 & cont_1190X))) {
|
|
if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_1190X))) + -4))))>>2))))) {
|
|
template_1192X = *((long *) ((((char *) (-3 + cont_1190X))) + 8));
|
|
if ((0 == (3 & (*((long *) ((((char *) (-3 + template_1192X))) + 4)))))) {
|
|
if ((template_1192X == (*((long *) ((((char *) (-3 + (Sbottom_of_stackS)))) + 8))))) {
|
|
arg2K0 = not_firstP_1191X;
|
|
goto L10546;}
|
|
else {
|
|
if (not_firstP_1191X) {
|
|
ps_write_string(" <- ", out_1188X);
|
|
goto L10585;}
|
|
else {
|
|
goto L10585;}}}
|
|
else {
|
|
arg2K0 = not_firstP_1191X;
|
|
goto L10546;}}
|
|
else {
|
|
goto L16697;}}
|
|
else {
|
|
goto L16697;}}
|
|
L10546: {
|
|
v_1193X = arg2K0;
|
|
arg0K0 = (*((long *) (((char *) (-3 + cont_1190X)))));
|
|
arg2K1 = v_1193X;
|
|
goto L10537;}
|
|
L10585: {
|
|
ps_write_integer(((((*((long *) ((((char *) (-3 + template_1192X))) + 4))))>>2)), out_1188X);
|
|
arg2K0 = 1;
|
|
goto L10546;}
|
|
L16697: {
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
if ((why_1186X == 1)) {
|
|
if ((0 == (3 & (*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (((nargs_742X)<<2))))))))))))) {
|
|
ps_error(message_369X, 3, opcode_743X, why_1186X, ((((*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (((nargs_742X)<<2)))))))))))>>2)));
|
|
goto loseD0_return;}
|
|
else {
|
|
goto L16721;}}
|
|
else {
|
|
goto L16721;}}
|
|
L16721: {
|
|
ps_error(message_369X, 2, opcode_743X, why_1186X);
|
|
goto loseD0_return;}
|
|
loseD0_return:
|
|
switch (loseD0_return_tag) {
|
|
case 0: goto loseD0_return_0;
|
|
default: goto loseD0_return_1;
|
|
}}
|
|
|
|
check_events: {
|
|
{ goto L40005;}
|
|
L40005: {
|
|
type_1194X = s48_get_next_event(&channel_1195X, &status_1196X);
|
|
if ((type_1194X == ALARM_EVENT)) {
|
|
if ((1 == (Sinterrupted_templateS))) {
|
|
Sinterrupted_templateS = (StemplateS);
|
|
arg0K0 = 1;
|
|
goto L15882;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L15882;}}
|
|
else {
|
|
if ((type_1194X == KEYBOARD_INTERRUPT_EVENT)) {
|
|
arg0K0 = 2;
|
|
goto L15882;}
|
|
else {
|
|
if ((type_1194X == IO_COMPLETION_EVENT)) {
|
|
enqueue_channelB(channel_1195X, status_1196X);
|
|
arg0K0 = 8;
|
|
goto L15882;}
|
|
else {
|
|
if ((type_1194X == OS_SIGNAL_EVENT)) {
|
|
arg0K0 = 16;
|
|
goto L15882;}
|
|
else {
|
|
if ((type_1194X == NO_EVENT)) {
|
|
arg0K0 = 0;
|
|
goto L15882;}
|
|
else {
|
|
if ((type_1194X == 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_1196X)), (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
arg0K0 = 0;
|
|
goto L15882;}
|
|
else {
|
|
ps_write_string("unknown type of event", (stderr));
|
|
{ long ignoreXX;
|
|
PS_WRITE_CHAR(10, (stderr), ignoreXX) }
|
|
arg0K0 = 0;
|
|
goto L15882;}}}}}}}
|
|
L15882: {
|
|
v_1197X = arg0K0;
|
|
Spending_interruptsS = (v_1197X | (Spending_interruptsS));
|
|
if ((type_1194X == NO_EVENT)) {
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
s48_Spending_interruptPS = 0;
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L15909;}
|
|
else {
|
|
goto L15909;}}
|
|
else {
|
|
s48_Spending_interruptPS = 1;
|
|
goto L15909;}}
|
|
else {
|
|
goto L40005;}}
|
|
L15909: {
|
|
if ((s48_Spending_interruptPS)) {
|
|
if ((s48_Spending_eventsPS)) {
|
|
s48_Spending_eventsPS = 0;
|
|
goto L40005;}
|
|
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_365X = merged_arg0K0;
|
|
stack_arg_count_366X = merged_arg0K1;
|
|
list_args_367X = merged_arg0K2;
|
|
list_arg_count_368X = merged_arg0K3;{
|
|
if ((stack_arg_count_366X == wants_stack_args_365X)) {
|
|
merged_arg0K0 = list_args_367X;
|
|
merged_arg0K1 = list_arg_count_368X;
|
|
copy_listS_return_tag = 1;
|
|
goto copy_listS;
|
|
copy_listS_return_1:
|
|
x_1198X = copy_listS0_return_value;
|
|
*((long *) (SstackS)) = x_1198X;
|
|
SstackS = ((SstackS) + -4);
|
|
goto rest_list_setup_return;}
|
|
else {
|
|
if ((stack_arg_count_366X < wants_stack_args_365X)) {
|
|
count_1199X = wants_stack_args_365X - stack_arg_count_366X;
|
|
merged_arg0K0 = list_args_367X;
|
|
merged_arg0K1 = count_1199X;
|
|
push_list_return_tag = 3;
|
|
goto push_list;
|
|
push_list_return_3:
|
|
v_1200X = push_list0_return_value;
|
|
merged_arg0K0 = v_1200X;
|
|
merged_arg0K1 = (list_arg_count_368X - count_1199X);
|
|
copy_listS_return_tag = 2;
|
|
goto copy_listS;
|
|
copy_listS_return_2:
|
|
x_1201X = copy_listS0_return_value;
|
|
*((long *) (SstackS)) = x_1201X;
|
|
SstackS = ((SstackS) + -4);
|
|
goto rest_list_setup_return;}
|
|
else {
|
|
merged_arg0K0 = list_args_367X;
|
|
merged_arg0K1 = list_arg_count_368X;
|
|
copy_listS_return_tag = 3;
|
|
goto copy_listS;
|
|
copy_listS_return_3:
|
|
v_1202X = copy_listS0_return_value;
|
|
merged_arg0K0 = v_1202X;
|
|
merged_arg0K1 = (stack_arg_count_366X - wants_stack_args_365X);
|
|
pop_args_GlistS_return_tag = 5;
|
|
goto pop_args_GlistS;
|
|
pop_args_GlistS_return_5:
|
|
x_1203X = pop_args_GlistS0_return_value;
|
|
*((long *) (SstackS)) = x_1203X;
|
|
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_363X = merged_arg0K0;
|
|
count_364X = merged_arg0K1;{
|
|
*((long *) (SstackS)) = list_363X;
|
|
SstackS = ((SstackS) + -4);
|
|
if ((count_364X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L15298;}
|
|
else {
|
|
space_1204X = 1 + (((((Sstack_endS) - (SstackS)))>>2));
|
|
v_1205X = AVAILABLEp(space_1204X);
|
|
if (v_1205X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15382;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_1206X);
|
|
v_1207X = AVAILABLEp(space_1204X);
|
|
if (v_1207X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15382;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L15382;}}}}
|
|
L15298: {
|
|
SstackS = ((SstackS) + 4);
|
|
list_1208X = *((long *) (SstackS));
|
|
arg0K0 = count_364X;
|
|
arg0K1 = list_1208X;
|
|
goto L15307;}
|
|
L15382: {
|
|
okayP_1209X = arg2K0;
|
|
key_1210X = arg0K1;
|
|
if (okayP_1209X) {
|
|
arg0K0 = key_1210X;
|
|
goto L15333;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_1210X;
|
|
goto L15333;}}
|
|
L15307: {
|
|
i_1211X = arg0K0;
|
|
l_1212X = arg0K1;
|
|
if ((0 < i_1211X)) {
|
|
*((long *) (SstackS)) = (*((long *) (((char *) (-3 + l_1212X)))));
|
|
SstackS = ((SstackS) + -4);
|
|
arg0K0 = (-1 + i_1211X);
|
|
arg0K1 = (*((long *) ((((char *) (-3 + l_1212X))) + 4)));
|
|
goto L15307;}
|
|
else {
|
|
push_list0_return_value = l_1212X;
|
|
goto push_list_return;}}
|
|
L15333: {
|
|
v_1213X = arg0K0;
|
|
merged_arg0K0 = v_1213X;
|
|
copy_stack_into_heap_return_tag = 4;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_4:
|
|
if ((count_364X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) {
|
|
goto L15298;}
|
|
else {
|
|
ps_error("VM's stack is too small (how can this happen?)", 0);
|
|
goto L15298;}}
|
|
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_362X = merged_arg0K0;{
|
|
arg1K0 = ((SstackS) + 4);
|
|
arg0K1 = 0;
|
|
goto L13527;}
|
|
L13527: {
|
|
p_1214X = arg1K0;
|
|
i_1215X = arg0K1;
|
|
if ((2 == (3 & (*((long *) p_1214X))))) {
|
|
if ((22 == (*((long *) p_1214X)))) {
|
|
arg0K0 = (-1 + i_1215X);
|
|
goto L13514;}
|
|
else {
|
|
arg0K0 = i_1215X;
|
|
goto L13514;}}
|
|
else {
|
|
arg1K0 = (p_1214X + 4);
|
|
arg0K1 = (1 + i_1215X);
|
|
goto L13527;}}
|
|
L13514: {
|
|
arg_count_1216X = arg0K0;
|
|
top_1217X = SstackS;
|
|
if ((1 == (ScontS))) {
|
|
goto L13519;}
|
|
else {
|
|
merged_arg0K0 = key_362X;
|
|
merged_arg0K1 = 1;
|
|
really_preserve_continuation_return_tag = 1;
|
|
goto really_preserve_continuation;
|
|
really_preserve_continuation_return_1:
|
|
goto L13519;}}
|
|
L13519: {
|
|
stob_1218X = ScontS;
|
|
arg1K0 = ((((char *) (-3 + stob_1218X))) + -8);
|
|
arg1K1 = (top_1217X + (((arg_count_1216X)<<2)));
|
|
goto L13552;}
|
|
L13552: {
|
|
loc_1219X = arg1K0;
|
|
arg_1220X = arg1K1;
|
|
if ((top_1217X < arg_1220X)) {
|
|
*((long *) loc_1219X) = (*((long *) arg_1220X));
|
|
arg1K0 = (loc_1219X + -4);
|
|
arg1K1 = (arg_1220X + -4);
|
|
goto L13552;}
|
|
else {
|
|
SstackS = loc_1219X;
|
|
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_360X = merged_arg0K0;
|
|
reason_361X = merged_arg0K1;{
|
|
p_1221X = SenvS;
|
|
if ((3 == (3 & p_1221X))) {
|
|
if ((p_1221X < (((long) (Sstack_beginS))))) {
|
|
goto L12703;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_1221X)) {
|
|
goto L12703;}
|
|
else {
|
|
merged_arg0K0 = (SenvS);
|
|
merged_arg0K1 = (ScontS);
|
|
merged_arg0K2 = key_360X;
|
|
merged_arg0K3 = reason_361X;
|
|
save_env_in_heap_return_tag = 1;
|
|
goto save_env_in_heap;
|
|
save_env_in_heap_return_1:
|
|
v_1222X = save_env_in_heap0_return_value;
|
|
SenvS = v_1222X;
|
|
goto L12703;}}}
|
|
else {
|
|
goto L12703;}}
|
|
L12703: {
|
|
end_1223X = *((long *) (((char *) (-3 + (Sbottom_of_stackS)))));
|
|
arg0K0 = (ScontS);
|
|
arg0K1 = (Sbottom_of_stackS);
|
|
goto L12656;}
|
|
L12656: {
|
|
cont_1224X = arg0K0;
|
|
previous_1225X = arg0K1;
|
|
if ((cont_1224X == (Sbottom_of_stackS))) {
|
|
*((long *) (((char *) (-3 + previous_1225X)))) = end_1223X;
|
|
ScontS = (Sbottom_of_stackS);
|
|
really_preserve_continuation0_return_value = (*((long *) (((char *) (-3 + (Sbottom_of_stackS))))));
|
|
goto really_preserve_continuation_return;}
|
|
else {
|
|
p_1226X = *((long *) ((((char *) (-3 + cont_1224X))) + 12));
|
|
if ((3 == (3 & p_1226X))) {
|
|
if ((p_1226X < (((long) (Sstack_beginS))))) {
|
|
goto L12674;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_1226X)) {
|
|
goto L12674;}
|
|
else {
|
|
merged_arg0K0 = (*((long *) ((((char *) (-3 + cont_1224X))) + 12)));
|
|
merged_arg0K1 = cont_1224X;
|
|
merged_arg0K2 = key_360X;
|
|
merged_arg0K3 = reason_361X;
|
|
save_env_in_heap_return_tag = 2;
|
|
goto save_env_in_heap;
|
|
save_env_in_heap_return_2:
|
|
goto L12674;}}}
|
|
else {
|
|
goto L12674;}}}
|
|
L12674: {
|
|
header_1227X = *((long *) ((((char *) (-3 + cont_1224X))) + -4));
|
|
addr_1228X = ALLOCATE_SPACE((31 & (((header_1227X)>>2))), (4 + ((long)(((unsigned long)header_1227X)>>8))));
|
|
data_addr_1229X = addr_1228X + 4;
|
|
*((long *) addr_1228X) = header_1227X;
|
|
memcpy((void *)data_addr_1229X, (void *)(((char *) (-3 + cont_1224X))),((long)(((unsigned long)header_1227X)>>8)));
|
|
new_1230X = 3 + (((long) data_addr_1229X));
|
|
*((long *) (((char *) (-3 + previous_1225X)))) = new_1230X;
|
|
arg0K0 = (*((long *) (((char *) (-3 + new_1230X)))));
|
|
arg0K1 = new_1230X;
|
|
goto L12656;}
|
|
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_359X = merged_arg0K0;{
|
|
header_1231X = *((long *) ((((char *) (-3 + env_359X))) + -4));
|
|
addr_1232X = ALLOCATE_SPACE((31 & (((header_1231X)>>2))), (4 + ((long)(((unsigned long)header_1231X)>>8))));
|
|
data_addr_1233X = addr_1232X + 4;
|
|
*((long *) addr_1232X) = header_1231X;
|
|
memcpy((void *)data_addr_1233X, (void *)(((char *) (-3 + env_359X))),((long)(((unsigned long)header_1231X)>>8)));
|
|
new_1234X = 3 + (((long) data_addr_1233X));
|
|
addr_1235X = ((char *) (-3 + env_359X));
|
|
S48_WRITE_BARRIER(env_359X, addr_1235X, 22);
|
|
*((long *) addr_1235X) = 22;
|
|
*((long *) ((((char *) (-3 + env_359X))) + -4)) = new_1234X;
|
|
copy_env0_return_value = new_1234X;
|
|
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_355X = merged_arg0K0;
|
|
cont_356X = merged_arg0K1;
|
|
key_357X = merged_arg0K2;
|
|
reason_358X = merged_arg0K3;{
|
|
merged_arg0K0 = env_355X;
|
|
merged_arg0K1 = key_357X;
|
|
merged_arg0K2 = reason_358X;
|
|
copy_env_return_tag = 0;
|
|
goto copy_env;
|
|
copy_env_return_0:
|
|
top_1236X = copy_env0_return_value;
|
|
arg0K0 = top_1236X;
|
|
goto L11935;}
|
|
L11935: {
|
|
env_1237X = arg0K0;
|
|
p_1238X = *((long *) (((char *) (-3 + env_1237X))));
|
|
if ((3 == (3 & p_1238X))) {
|
|
if ((p_1238X < (((long) (Sstack_beginS))))) {
|
|
goto L11954;}
|
|
else {
|
|
if (((((long) (Sstack_endS))) < p_1238X)) {
|
|
goto L11954;}
|
|
else {
|
|
merged_arg0K0 = (*((long *) (((char *) (-3 + env_1237X)))));
|
|
merged_arg0K1 = key_357X;
|
|
merged_arg0K2 = reason_358X;
|
|
copy_env_return_tag = 1;
|
|
goto copy_env;
|
|
copy_env_return_1:
|
|
new_1239X = copy_env0_return_value;
|
|
addr_1240X = ((char *) (-3 + env_1237X));
|
|
S48_WRITE_BARRIER(env_1237X, addr_1240X, new_1239X);
|
|
*((long *) addr_1240X) = new_1239X;
|
|
arg0K0 = new_1239X;
|
|
goto L11935;}}}
|
|
else {
|
|
goto L11954;}}
|
|
L11954: {
|
|
arg0K0 = cont_356X;
|
|
goto L11958;}
|
|
L11958: {
|
|
cont_1241X = arg0K0;
|
|
env_1242X = *((long *) ((((char *) (-3 + cont_1241X))) + 12));
|
|
if ((3 == (3 & env_1242X))) {
|
|
if ((3 == (3 & (*((long *) ((((char *) (-3 + env_1242X))) + -4)))))) {
|
|
*((long *) ((((char *) (-3 + cont_1241X))) + 12)) = (*((long *) ((((char *) (-3 + env_1242X))) + -4)));
|
|
arg0K0 = (*((long *) (((char *) (-3 + cont_1241X)))));
|
|
goto L11958;}
|
|
else {
|
|
save_env_in_heap0_return_value = top_1236X;
|
|
goto save_env_in_heap_return;}}
|
|
else {
|
|
save_env_in_heap0_return_value = top_1236X;
|
|
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_353X = merged_arg0K0;
|
|
count_354X = merged_arg0K1;{
|
|
space_1243X = 3 * count_354X;
|
|
v_1244X = AVAILABLEp(space_1243X);
|
|
if (v_1244X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = start_353X;
|
|
goto L14273;}
|
|
else {
|
|
temp0_1245X = collect_saving_temps(start_353X, 1, &temp1_1246X);
|
|
v_1247X = AVAILABLEp(space_1243X);
|
|
if (v_1247X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_1245X;
|
|
goto L14273;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_1245X;
|
|
goto L14273;}}}
|
|
L14273: {
|
|
okayP_1248X = arg2K0;
|
|
temp_1249X = arg0K1;
|
|
if (okayP_1248X) {
|
|
arg0K0 = temp_1249X;
|
|
goto L14247;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = temp_1249X;
|
|
goto L14247;}}
|
|
L14247: {
|
|
start_1250X = arg0K0;
|
|
arg0K0 = start_1250X;
|
|
arg0K1 = count_354X;
|
|
goto L14256;}
|
|
L14256: {
|
|
args_1251X = arg0K0;
|
|
count_1252X = arg0K1;
|
|
if ((0 == count_1252X)) {
|
|
pop_args_GlistS0_return_value = args_1251X;
|
|
goto pop_args_GlistS_return;}
|
|
else {
|
|
SstackS = ((SstackS) + 4);
|
|
a_1253X = *((long *) (SstackS));
|
|
addr_1254X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_1254X) = 2050;
|
|
x_1255X = 3 + (((long) (addr_1254X + 4)));
|
|
*((long *) (((char *) (-3 + x_1255X)))) = a_1253X;
|
|
*((long *) ((((char *) (-3 + x_1255X))) + 4)) = args_1251X;
|
|
arg0K0 = x_1255X;
|
|
arg0K1 = (-1 + count_1252X);
|
|
goto L14256;}}
|
|
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_351X = merged_arg0K0;
|
|
length_352X = merged_arg0K1;{
|
|
if ((0 == length_352X)) {
|
|
copy_listS0_return_value = 25;
|
|
goto copy_listS_return;}
|
|
else {
|
|
space_1256X = 3 * length_352X;
|
|
v_1257X = AVAILABLEp(space_1256X);
|
|
if (v_1257X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = list_351X;
|
|
goto L14152;}
|
|
else {
|
|
temp0_1258X = collect_saving_temps(list_351X, 1, &temp1_1259X);
|
|
v_1260X = AVAILABLEp(space_1256X);
|
|
if (v_1260X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = temp0_1258X;
|
|
goto L14152;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = temp0_1258X;
|
|
goto L14152;}}}}
|
|
L14152: {
|
|
okayP_1261X = arg2K0;
|
|
temp_1262X = arg0K1;
|
|
if (okayP_1261X) {
|
|
arg0K0 = temp_1262X;
|
|
goto L14110;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = temp_1262X;
|
|
goto L14110;}}
|
|
L14110: {
|
|
list_1263X = arg0K0;
|
|
a_1264X = *((long *) (((char *) (-3 + list_1263X))));
|
|
addr_1265X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_1265X) = 2050;
|
|
x_1266X = 3 + (((long) (addr_1265X + 4)));
|
|
*((long *) (((char *) (-3 + x_1266X)))) = a_1264X;
|
|
*((long *) ((((char *) (-3 + x_1266X))) + 4)) = 25;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + list_1263X))) + 4)));
|
|
arg0K1 = x_1266X;
|
|
goto L14125;}
|
|
L14125: {
|
|
l_1267X = arg0K0;
|
|
last_1268X = arg0K1;
|
|
if ((25 == l_1267X)) {
|
|
copy_listS0_return_value = x_1266X;
|
|
goto copy_listS_return;}
|
|
else {
|
|
a_1269X = *((long *) (((char *) (-3 + l_1267X))));
|
|
addr_1270X = ALLOCATE_SPACE(0, 12);
|
|
*((long *) addr_1270X) = 2050;
|
|
x_1271X = 3 + (((long) (addr_1270X + 4)));
|
|
*((long *) (((char *) (-3 + x_1271X)))) = a_1269X;
|
|
*((long *) ((((char *) (-3 + x_1271X))) + 4)) = 25;
|
|
addr_1272X = (((char *) (-3 + last_1268X))) + 4;
|
|
S48_WRITE_BARRIER(last_1268X, addr_1272X, x_1271X);
|
|
*((long *) addr_1272X) = x_1271X;
|
|
arg0K0 = (*((long *) ((((char *) (-3 + l_1267X))) + 4)));
|
|
arg0K1 = x_1271X;
|
|
goto L14125;}}
|
|
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_350X = merged_arg0K0;{
|
|
top_1273X = (((char *) (-3 + (Sbottom_of_stackS)))) + (-8 - (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_350X))) + -4))))>>8)))));
|
|
new_cont_1274X = 3 + (((long) (top_1273X + 4)));
|
|
SstackS = (top_1273X + -4);
|
|
ScontS = new_cont_1274X;
|
|
v_1275X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_350X))) + -4))))>>8))))>>2);
|
|
memcpy((void *)top_1273X, (void *)((((char *) (-3 + cont_350X))) + -4),(4 + (((v_1275X)<<2))));
|
|
*((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = (*((long *) (((char *) (-3 + new_cont_1274X)))));
|
|
*((long *) (((char *) (-3 + new_cont_1274X)))) = (Sbottom_of_stackS);
|
|
copy_continuation_from_heapB0_return_value = new_cont_1274X;
|
|
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_349X = merged_arg0K0;{
|
|
thread_1276X = Scurrent_threadS;
|
|
if ((3 == (3 & thread_1276X))) {
|
|
if ((8 == (31 & ((((*((long *) ((((char *) (-3 + thread_1276X))) + -4))))>>2))))) {
|
|
if ((1 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thread_1276X))) + -4))))>>8))))>>2)))) {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + thread_1276X))) + 4)));
|
|
goto L10226;}
|
|
else {
|
|
goto L10276;}}
|
|
else {
|
|
goto L10276;}}
|
|
else {
|
|
goto L10276;}}
|
|
L10226: {
|
|
env_1277X = arg0K0;
|
|
if ((3 == (3 & env_1277X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + env_1277X))) + -4))))>>2))))) {
|
|
obj_1278X = *((long *) (((char *) (-3 + env_1277X))));
|
|
if ((3 == (3 & obj_1278X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + obj_1278X))) + -4))))>>2))))) {
|
|
if ((marker_349X == (*((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + env_1277X)))))))))))) {
|
|
get_current_port0_return_value = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + env_1277X)))))))) + 4)));
|
|
goto get_current_port_return;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + env_1277X))) + 4)));
|
|
goto L10226;}}
|
|
else {
|
|
goto L10298;}}
|
|
else {
|
|
goto L10298;}}
|
|
else {
|
|
goto L10298;}}
|
|
else {
|
|
goto L10298;}}
|
|
L10276: {
|
|
ps_error("current thread is not a record", 0);
|
|
get_current_port0_return_value = v_1279X;
|
|
goto get_current_port_return;}
|
|
L10298: {
|
|
if ((25 == env_1277X)) {
|
|
if (((((marker_349X)>>2)) == 1)) {
|
|
arg3K0 = "dynamic environment doesn't have current-output-port";
|
|
goto L10252;}
|
|
else {
|
|
arg3K0 = "dynamic environment doesn't have current-input-port";
|
|
goto L10252;}}
|
|
else {
|
|
ps_error("dynamic environment is not a proper list", 0);
|
|
get_current_port0_return_value = v_1280X;
|
|
goto get_current_port_return;}}
|
|
L10252: {
|
|
v_1281X = arg3K0;
|
|
ps_error(v_1281X, 0);
|
|
get_current_port0_return_value = v_1282X;
|
|
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_348X = merged_arg0K0;{
|
|
arg0K0 = list_348X;
|
|
arg0K1 = 0;
|
|
arg0K2 = list_348X;
|
|
arg2K3 = 0;
|
|
goto L10093;}
|
|
L10093: {
|
|
fast_1283X = arg0K0;
|
|
len_1284X = arg0K1;
|
|
slow_1285X = arg0K2;
|
|
move_slowP_1286X = arg2K3;
|
|
if ((25 == fast_1283X)) {
|
|
okay_argument_list0_return_value = 1;
|
|
okay_argument_list1_return_value = len_1284X;
|
|
goto okay_argument_list_return;}
|
|
else {
|
|
if ((3 == (3 & fast_1283X))) {
|
|
if ((0 == (31 & ((((*((long *) ((((char *) (-3 + fast_1283X))) + -4))))>>2))))) {
|
|
if (move_slowP_1286X) {
|
|
if ((fast_1283X == slow_1285X)) {
|
|
okay_argument_list0_return_value = 0;
|
|
okay_argument_list1_return_value = 0;
|
|
goto okay_argument_list_return;}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + fast_1283X))) + 4)));
|
|
arg0K1 = (1 + len_1284X);
|
|
arg0K2 = (*((long *) ((((char *) (-3 + slow_1285X))) + 4)));
|
|
arg2K3 = 0;
|
|
goto L10093;}}
|
|
else {
|
|
arg0K0 = (*((long *) ((((char *) (-3 + fast_1283X))) + 4)));
|
|
arg0K1 = (1 + len_1284X);
|
|
arg0K2 = slow_1285X;
|
|
arg2K3 = 1;
|
|
goto L10093;}}
|
|
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_347X = merged_arg0K0;{
|
|
string_1287X = ps_error_string(status_347X);
|
|
x_1288X = strlen((char *) string_1287X);
|
|
if ((x_1288X < 256)) {
|
|
arg0K0 = x_1288X;
|
|
goto L9601;}
|
|
else {
|
|
arg0K0 = 256;
|
|
goto L9601;}}
|
|
L9601: {
|
|
len_1289X = arg0K0;
|
|
len_1290X = 1 + len_1289X;
|
|
addr_1291X = ALLOCATE_SPACE(16, (4 + len_1290X));
|
|
*((long *) addr_1291X) = (66 + (((len_1290X)<<8)));
|
|
string_1292X = 3 + (((long) (addr_1291X + 4)));
|
|
*((unsigned char *) ((((char *) (-3 + string_1292X))) + len_1289X)) = 0;
|
|
arg0K0 = 0;
|
|
goto L9611;}
|
|
L9611: {
|
|
i_1293X = arg0K0;
|
|
if ((i_1293X == len_1289X)) {
|
|
get_error_string0_return_value = string_1292X;
|
|
goto get_error_string_return;}
|
|
else {
|
|
*((unsigned char *) ((((char *) (-3 + string_1292X))) + i_1293X)) = ((*(string_1287X + i_1293X)));
|
|
arg0K0 = (1 + i_1293X);
|
|
goto L9611;}}
|
|
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_1294X = ScontS;
|
|
tem_1295X = *((long *) ((((char *) (-3 + cont_1294X))) + 8));
|
|
pc_1296X = *((long *) ((((char *) (-3 + cont_1294X))) + 4));
|
|
StemplateS = tem_1295X;
|
|
Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_1295X)))))))) + (((pc_1296X)>>2)));
|
|
SenvS = (*((long *) ((((char *) (-3 + cont_1294X))) + 12)));
|
|
ScontS = (*((long *) (((char *) (-3 + cont_1294X)))));
|
|
SstackS = ((((char *) (-3 + cont_1294X))) + 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_1297X, long startup_vector_length_1298X)
|
|
{
|
|
char arg2K0;
|
|
long arg0K1;
|
|
long arg0K0;
|
|
long v_1347X;
|
|
long x_1346X;
|
|
long x_1345X;
|
|
char * addr_1344X;
|
|
long b_1343X;
|
|
long channel_1342X;
|
|
long x_1341X;
|
|
char * addr_1340X;
|
|
long b_1339X;
|
|
long channel_1338X;
|
|
long x_1337X;
|
|
char * addr_1336X;
|
|
long b_1335X;
|
|
long channel_1334X;
|
|
long key_1333X;
|
|
long key_1332X;
|
|
char okayP_1331X;
|
|
char v_1330X;
|
|
long temp1_1329X;
|
|
char v_1328X;
|
|
long space_1327X;
|
|
long i_1326X;
|
|
long length_1325X;
|
|
long *v_1324X;
|
|
long v_1323X;
|
|
long v_1322X;
|
|
long y_1321X;
|
|
long x_1320X;
|
|
long v_1319X;
|
|
long x_1318X;
|
|
long y_1317X;
|
|
char * addr_1316X;
|
|
long value_1315X;
|
|
long x_1314X;
|
|
long y_1313X;
|
|
long i_1312X;
|
|
long vector_1311X;
|
|
char * addr_1310X;
|
|
long len_1309X;
|
|
long key_1308X;
|
|
long key_1307X;
|
|
char okayP_1306X;
|
|
char v_1305X;
|
|
long temp1_1304X;
|
|
char v_1303X;
|
|
long space_1302X;
|
|
long size_1301X;
|
|
long i_1300X;
|
|
long tem_1299X;
|
|
{ SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8);
|
|
*((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = 1;
|
|
ScontS = (Sbottom_of_stackS);
|
|
SenvS = 13;
|
|
tem_1299X = Sinterrupt_templateS;
|
|
StemplateS = tem_1299X;
|
|
Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_1299X))))))));
|
|
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 L15616;}
|
|
L15616: {
|
|
i_1300X = arg0K0;
|
|
size_1301X = arg0K1;
|
|
if ((i_1300X == startup_vector_length_1298X)) {
|
|
space_1302X = 1 + (size_1301X + startup_vector_length_1298X);
|
|
v_1303X = AVAILABLEp(space_1302X);
|
|
if (v_1303X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15653;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_1304X);
|
|
v_1305X = AVAILABLEp(space_1302X);
|
|
if (v_1305X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L15653;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L15653;}}}
|
|
else {
|
|
arg0K0 = (1 + i_1300X);
|
|
arg0K1 = (1 + (size_1301X + ((((4 + (strlen((char *) (*(startup_vector_1297X + i_1300X))))))>>2))));
|
|
goto L15616;}}
|
|
L15653: {
|
|
okayP_1306X = arg2K0;
|
|
key_1307X = arg0K1;
|
|
if (okayP_1306X) {
|
|
arg0K0 = key_1307X;
|
|
goto L15631;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_1307X;
|
|
goto L15631;}}
|
|
L15631: {
|
|
key_1308X = arg0K0;
|
|
len_1309X = ((startup_vector_length_1298X)<<2);
|
|
addr_1310X = ALLOCATE_SPACE(2, (4 + len_1309X));
|
|
*((long *) addr_1310X) = (10 + (((len_1309X)<<8)));
|
|
vector_1311X = 3 + (((long) (addr_1310X + 4)));
|
|
arg0K0 = 0;
|
|
goto L15689;}
|
|
L15689: {
|
|
i_1312X = arg0K0;
|
|
if ((i_1312X == startup_vector_length_1298X)) {
|
|
*((long *) (SstackS)) = vector_1311X;
|
|
SstackS = ((SstackS) + -4);
|
|
y_1313X = fileno((stderr));
|
|
x_1314X = fileno((stdout));
|
|
if ((x_1314X < y_1313X)) {
|
|
arg0K0 = y_1313X;
|
|
goto L14525;}
|
|
else {
|
|
arg0K0 = x_1314X;
|
|
goto L14525;}}
|
|
else {
|
|
value_1315X = enter_string((*(startup_vector_1297X + i_1312X)), key_1308X);
|
|
addr_1316X = (((char *) (-3 + vector_1311X))) + (((i_1312X)<<2));
|
|
S48_WRITE_BARRIER(vector_1311X, addr_1316X, value_1315X);
|
|
*((long *) addr_1316X) = value_1315X;
|
|
arg0K0 = (1 + i_1312X);
|
|
goto L15689;}}
|
|
L14525: {
|
|
y_1317X = arg0K0;
|
|
x_1318X = fileno((stdin));
|
|
if ((x_1318X < y_1317X)) {
|
|
arg0K0 = y_1317X;
|
|
goto L14527;}
|
|
else {
|
|
arg0K0 = x_1318X;
|
|
goto L14527;}}
|
|
L14527: {
|
|
v_1319X = arg0K0;
|
|
x_1320X = Snumber_of_channelsS;
|
|
y_1321X = 1 + v_1319X;
|
|
if ((x_1320X < y_1321X)) {
|
|
arg0K0 = y_1321X;
|
|
goto L14529;}
|
|
else {
|
|
arg0K0 = x_1320X;
|
|
goto L14529;}}
|
|
L14529: {
|
|
v_1322X = arg0K0;
|
|
Snumber_of_channelsS = v_1322X;
|
|
v_1323X = 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 L14551;}
|
|
else {
|
|
goto L14551;}}
|
|
L14551: {
|
|
v_1324X = Svm_channelsS;
|
|
length_1325X = Snumber_of_channelsS;
|
|
arg0K0 = 0;
|
|
goto L14599;}
|
|
L14599: {
|
|
i_1326X = arg0K0;
|
|
if ((i_1326X < length_1325X)) {
|
|
*(v_1324X + i_1326X) = 1;
|
|
arg0K0 = (1 + i_1326X);
|
|
goto L14599;}
|
|
else {
|
|
space_1327X = 3 * (7 + ((((4 + (strlen((char *) "standard output"))))>>2)));
|
|
v_1328X = AVAILABLEp(space_1327X);
|
|
if (v_1328X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L14613;}
|
|
else {
|
|
collect_saving_temps(1, 1, &temp1_1329X);
|
|
v_1330X = AVAILABLEp(space_1327X);
|
|
if (v_1330X) {
|
|
arg2K0 = 1;
|
|
arg0K1 = 0;
|
|
goto L14613;}
|
|
else {
|
|
arg2K0 = 0;
|
|
arg0K1 = 0;
|
|
goto L14613;}}}}
|
|
L14613: {
|
|
okayP_1331X = arg2K0;
|
|
key_1332X = arg0K1;
|
|
if (okayP_1331X) {
|
|
arg0K0 = key_1332X;
|
|
goto L14557;}
|
|
else {
|
|
ps_error("Scheme48 heap overflow", 0);
|
|
arg0K0 = key_1332X;
|
|
goto L14557;}}
|
|
L14557: {
|
|
key_1333X = arg0K0;
|
|
channel_1334X = fileno((stdin));
|
|
b_1335X = enter_string("standard input", key_1333X);
|
|
addr_1336X = ALLOCATE_SPACE(5, 24);
|
|
*((long *) addr_1336X) = 5142;
|
|
x_1337X = 3 + (((long) (addr_1336X + 4)));
|
|
*((long *) (((char *) (-3 + x_1337X)))) = 4;
|
|
*((long *) ((((char *) (-3 + x_1337X))) + 4)) = b_1335X;
|
|
*((long *) ((((char *) (-3 + x_1337X))) + 8)) = (((channel_1334X)<<2));
|
|
*((long *) ((((char *) (-3 + x_1337X))) + 12)) = 1;
|
|
*((long *) ((((char *) (-3 + x_1337X))) + 16)) = 1;
|
|
*((Svm_channelsS) + channel_1334X) = x_1337X;
|
|
channel_1338X = fileno((stderr));
|
|
b_1339X = enter_string("standard error", key_1333X);
|
|
addr_1340X = ALLOCATE_SPACE(5, 24);
|
|
*((long *) addr_1340X) = 5142;
|
|
x_1341X = 3 + (((long) (addr_1340X + 4)));
|
|
*((long *) (((char *) (-3 + x_1341X)))) = 8;
|
|
*((long *) ((((char *) (-3 + x_1341X))) + 4)) = b_1339X;
|
|
*((long *) ((((char *) (-3 + x_1341X))) + 8)) = (((channel_1338X)<<2));
|
|
*((long *) ((((char *) (-3 + x_1341X))) + 12)) = 1;
|
|
*((long *) ((((char *) (-3 + x_1341X))) + 16)) = 1;
|
|
*((Svm_channelsS) + channel_1338X) = x_1341X;
|
|
channel_1342X = fileno((stdout));
|
|
b_1343X = enter_string("standard output", key_1333X);
|
|
addr_1344X = ALLOCATE_SPACE(5, 24);
|
|
*((long *) addr_1344X) = 5142;
|
|
x_1345X = 3 + (((long) (addr_1344X + 4)));
|
|
*((long *) (((char *) (-3 + x_1345X)))) = 8;
|
|
*((long *) ((((char *) (-3 + x_1345X))) + 4)) = b_1343X;
|
|
*((long *) ((((char *) (-3 + x_1345X))) + 8)) = (((channel_1342X)<<2));
|
|
*((long *) ((((char *) (-3 + x_1345X))) + 12)) = 1;
|
|
*((long *) ((((char *) (-3 + x_1345X))) + 16)) = 1;
|
|
*((Svm_channelsS) + channel_1342X) = x_1345X;
|
|
*((long *) (SstackS)) = x_1337X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_1345X;
|
|
SstackS = ((SstackS) + -4);
|
|
*((long *) (SstackS)) = x_1341X;
|
|
SstackS = ((SstackS) + -4);
|
|
x_1346X = s48_resumer_records();
|
|
*((long *) (SstackS)) = x_1346X;
|
|
SstackS = ((SstackS) + -4);
|
|
s48_initialization_completeB();
|
|
v_1347X = s48_startup_procedure();
|
|
return s48_restart(v_1347X, 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;
|
|
}
|