6950 lines
190 KiB
C
6950 lines
190 KiB
C
#include <stdio.h>
|
|
#include "prescheme.h"
|
|
long goto_arg1K0;
|
|
long goto_arg1K4;
|
|
long goto_arg1K3;
|
|
long goto_arg1K2;
|
|
long goto_arg1K1;
|
|
unsigned char goto_arg0K0;
|
|
long Sminimum_recovered_spaceS;
|
|
long Sinterrupt_templateS;
|
|
long Spending_interruptsS;
|
|
long Sdynamic_stateS;
|
|
long Sinterrupt_handlersS;
|
|
long Sexception_handlerS;
|
|
long Senabled_interruptsS;
|
|
long SvalS;
|
|
long SnargsS;
|
|
long Scode_pointerS;
|
|
long StemplateS;
|
|
long SenvS;
|
|
unsigned char Sexception_space_usedPS;
|
|
long ScontS;
|
|
long Sbottom_of_stackS;
|
|
long Sstack_limitS;
|
|
long SstackS;
|
|
long Sstack_endS;
|
|
long Sstack_beginS;
|
|
long *Sopen_vm_portsS;
|
|
FILE * *Sopen_portsS;
|
|
long Snumber_of_portsS;
|
|
long Sweak_pointer_limitS;
|
|
long Sweak_pointer_hpS;
|
|
long Ssaved_limitS;
|
|
long Ssaved_hpS;
|
|
long Sgc_countS;
|
|
unsigned char Simpure_area_countS;
|
|
unsigned char Spure_area_countS;
|
|
long *Simpure_sizesS;
|
|
long *Spure_sizesS;
|
|
long *Simpure_areasS;
|
|
long *Spure_areasS;
|
|
long Soldspace_endS;
|
|
long Soldspace_beginS;
|
|
long Snewspace_endS;
|
|
long Snewspace_beginS;
|
|
long SlimitS;
|
|
long ShpS;
|
|
FILE * Scurrent_output_portS;
|
|
FILE * Scurrent_input_portS;
|
|
|
|
unsigned char hoistD0(long start_0X, long end_1X, long type_2X)
|
|
{
|
|
extern FILE * Scurrent_output_portS;
|
|
extern long SlimitS;
|
|
extern long ShpS;
|
|
long arg1K0;
|
|
long addr_3X;
|
|
long d_4X;
|
|
|
|
{arg1K0 = start_0X;
|
|
goto L10156;}
|
|
L10156: {
|
|
addr_3X = arg1K0;
|
|
if ((addr_3X < end_1X)) {
|
|
d_4X = *((long *) addr_3X);
|
|
if ((2 == (3 & d_4X))) {
|
|
if ((type_2X == (31 & (((d_4X)>>2))))) {
|
|
if (((16 + (ShpS)) < (SlimitS))) {
|
|
*((long *) (ShpS)) = (7 + addr_3X);
|
|
ShpS = (4 + (ShpS));
|
|
arg1K0 = (4 + (addr_3X + (-4 & (3 + ((long)(((unsigned long)d_4X)>>8))))));
|
|
goto L10156;}
|
|
else {
|
|
return(0);}}
|
|
else {
|
|
arg1K0 = (4 + (addr_3X + (-4 & (3 + ((long)(((unsigned long)d_4X)>>8))))));
|
|
goto L10156;}}
|
|
else {
|
|
fputs("heap is in an inconsistent state.", (Scurrent_output_portS));
|
|
return(0);}}
|
|
else {
|
|
return(1);}}}
|
|
|
|
unsigned char hoistD1(long start_5X, long end_6X, long x_7X)
|
|
{
|
|
extern FILE * Scurrent_output_portS;
|
|
extern long SlimitS;
|
|
extern long ShpS;
|
|
long arg1K1;
|
|
long arg1K0;
|
|
long i_8X;
|
|
long h_9X;
|
|
long bucket_10X;
|
|
long index_11X;
|
|
long b_12X;
|
|
long new_13X;
|
|
long addr_14X;
|
|
long d_15X;
|
|
long obj_16X;
|
|
long v_17X;
|
|
long s_18X;
|
|
long n_19X;
|
|
|
|
{arg1K0 = start_5X;
|
|
goto L17328;}
|
|
L13673: {
|
|
i_8X = arg1K0;
|
|
h_9X = arg1K1;
|
|
if ((i_8X < n_19X)) {
|
|
arg1K0 = (1 + i_8X);
|
|
arg1K1 = (h_9X + ((long)((((long)(*((unsigned char *) ((-3 + s_18X) + i_8X))))))));
|
|
goto L13673;}
|
|
else {
|
|
index_11X = h_9X & (-1 + v_17X);
|
|
bucket_10X = *((long *) ((-3 + x_7X) + (((index_11X)<<2))));
|
|
arg1K0 = bucket_10X;
|
|
goto L13571;}}
|
|
L13571: {
|
|
b_12X = arg1K0;
|
|
if ((25 == b_12X)) {
|
|
*((long *) (ShpS)) = 2050;
|
|
ShpS = (4 + (ShpS));
|
|
new_13X = 3 + (ShpS);
|
|
ShpS = (8 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_13X)) = obj_16X;
|
|
*((long *) (1 + new_13X)) = bucket_10X;
|
|
*((long *) ((-3 + x_7X) + (((index_11X)<<2)))) = new_13X;
|
|
arg1K0 = (4 + (addr_14X + (-4 & (3 + ((long)(((unsigned long)d_15X)>>8))))));
|
|
goto L17328;}
|
|
else {
|
|
if ((obj_16X == (*((long *) (-3 + b_12X))))) {
|
|
arg1K0 = (4 + (addr_14X + (-4 & (3 + ((long)(((unsigned long)d_15X)>>8))))));
|
|
goto L17328;}
|
|
else {
|
|
arg1K0 = (*((long *) (1 + b_12X)));
|
|
goto L13571;}}}
|
|
L17328: {
|
|
addr_14X = arg1K0;
|
|
if ((addr_14X < end_6X)) {
|
|
d_15X = *((long *) addr_14X);
|
|
if ((2 == (3 & d_15X))) {
|
|
if ((1 == (31 & (((d_15X)>>2))))) {
|
|
if (((12 + (ShpS)) < (SlimitS))) {
|
|
obj_16X = 7 + addr_14X;
|
|
v_17X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + x_7X))))>>8))))>>2);
|
|
s_18X = *((long *) (-3 + obj_16X));
|
|
n_19X = -1 + ((long)(((unsigned long)(*((long *) (-7 + s_18X))))>>8));
|
|
arg1K0 = 0;
|
|
arg1K1 = 0;
|
|
goto L13673;}
|
|
else {
|
|
return(0);}}
|
|
else {
|
|
arg1K0 = (4 + (addr_14X + (-4 & (3 + ((long)(((unsigned long)d_15X)>>8))))));
|
|
goto L17328;}}
|
|
else {
|
|
fputs("heap is in an inconsistent state.", (Scurrent_output_portS));
|
|
return(0);}}
|
|
else {
|
|
return(1);}}}
|
|
|
|
long Tinterpret()
|
|
{
|
|
extern void really_write_number(long, FILE *);
|
|
extern FILE * Scurrent_output_portS;
|
|
extern long copy_weak_pointer(long);
|
|
extern long Sinterrupt_templateS;
|
|
extern unsigned char Sexception_space_usedPS;
|
|
extern long extended_vm(long, long);
|
|
extern long ps_real_time();
|
|
extern long ps_run_time();
|
|
extern long ps_ticks_per_second();
|
|
extern unsigned char lookup_external_name(long, long);
|
|
extern long ps_schedule_interrupt(long);
|
|
extern long Sinterrupt_handlersS;
|
|
extern long Sexception_handlerS;
|
|
extern long Sdynamic_stateS;
|
|
extern long *Simpure_sizesS;
|
|
extern long *Simpure_areasS;
|
|
extern unsigned char hoistD0(long, long, long);
|
|
extern long *Spure_sizesS;
|
|
extern long *Spure_areasS;
|
|
extern unsigned char hoistD1(long, long, long);
|
|
extern long Sgc_countS;
|
|
extern long Sminimum_recovered_spaceS;
|
|
extern unsigned char Spure_area_countS;
|
|
extern unsigned char Simpure_area_countS;
|
|
extern long Sweak_pointer_hpS;
|
|
extern void do_gc();
|
|
extern long Snewspace_endS;
|
|
extern long Ssaved_limitS;
|
|
extern long Ssaved_hpS;
|
|
extern long Snewspace_beginS;
|
|
extern long Soldspace_beginS;
|
|
extern long Soldspace_endS;
|
|
extern FILE * *Sopen_portsS;
|
|
extern long Snumber_of_portsS;
|
|
extern long *Sopen_vm_portsS;
|
|
extern long Senabled_interruptsS;
|
|
extern long Spending_interruptsS;
|
|
extern long Sbottom_of_stackS;
|
|
extern long ScontS;
|
|
extern long Sstack_beginS;
|
|
extern long StemplateS;
|
|
extern long SenvS;
|
|
extern long Sstack_limitS;
|
|
extern long SstackS;
|
|
extern long Sstack_endS;
|
|
extern long SlimitS;
|
|
extern long ShpS;
|
|
extern long SvalS;
|
|
extern long Scode_pointerS;
|
|
extern long SnargsS;
|
|
extern long Tinterpret();
|
|
unsigned char arg3K3;
|
|
unsigned char arg3K0;
|
|
FILE * arg2K0;
|
|
unsigned char arg0K0;
|
|
long arg1K2;
|
|
long arg1K1;
|
|
long arg1K0;
|
|
unsigned char merged_arg0K0;
|
|
unsigned char merged_arg0K1;
|
|
unsigned char merged_arg0K3;
|
|
FILE * merged_arg2K1;
|
|
long merged_arg1K4;
|
|
long merged_arg1K3;
|
|
long merged_arg1K2;
|
|
long merged_arg1K1;
|
|
long merged_arg1K0;
|
|
long RSenvS = SenvS;
|
|
long RSstackS = SstackS;
|
|
long RSvalS = SvalS;
|
|
long RScode_pointerS = Scode_pointerS;
|
|
|
|
int extract_string_return_tag;
|
|
unsigned char *extract_string_return_value;
|
|
int stob_equalP_return_tag;
|
|
unsigned char stob_equalP_return_value;
|
|
int write_number_return_tag;
|
|
int close_port_return_tag;
|
|
int close_untraced_portsB_return_tag;
|
|
unsigned char close_untraced_portsB_return_value;
|
|
int copy_object_return_tag;
|
|
long copy_object_return_value;
|
|
int copy_next_return_tag;
|
|
long copy_next_return_value;
|
|
int collect_saving_temp_return_tag;
|
|
long collect_saving_temp_return_value;
|
|
int pop_args_list_return_tag;
|
|
long pop_args_list_return_value;
|
|
int push_continuationB_return_tag;
|
|
int push_exception_continuationB_return_tag;
|
|
int copy_stob_return_tag;
|
|
long copy_stob_return_value;
|
|
int save_env_in_heap_return_tag;
|
|
long save_env_in_heap_return_value;
|
|
int copy_continuation_from_heap_return_tag;
|
|
long copy_continuation_from_heap_return_value;
|
|
int preserve_continuation_return_tag;
|
|
long preserve_continuation_return_value;
|
|
int copy_stack_into_heap_return_tag;
|
|
unsigned char b_20X;
|
|
unsigned char b_21X;
|
|
long space_22X;
|
|
long v_23X;
|
|
unsigned char b_24X;
|
|
long env_25X;
|
|
unsigned char b_26X;
|
|
long location_27X;
|
|
unsigned char b_28X;
|
|
long location_29X;
|
|
unsigned char b_30X;
|
|
unsigned char b_31X;
|
|
long space_32X;
|
|
long v_33X;
|
|
long cont_34X;
|
|
long list_35X;
|
|
long proc_36X;
|
|
long v_37X;
|
|
long cont_38X;
|
|
long pc_39X;
|
|
long tem_40X;
|
|
long cont_41X;
|
|
long tem_42X;
|
|
unsigned char b_43X;
|
|
long tem_44X;
|
|
unsigned char b_45X;
|
|
unsigned char b_46X;
|
|
unsigned char b_47X;
|
|
unsigned char b_48X;
|
|
unsigned char b_49X;
|
|
long val_50X;
|
|
long z_51X;
|
|
long x_52X;
|
|
long arg2_53X;
|
|
long arg2_54X;
|
|
long arg2_55X;
|
|
long x_56X;
|
|
long arg2_57X;
|
|
long arg2_58X;
|
|
long arg2_59X;
|
|
long x_60X;
|
|
long arg2_61X;
|
|
long arg2_62X;
|
|
long arg2_63X;
|
|
long arg2_64X;
|
|
long arg2_65X;
|
|
long arg2_66X;
|
|
long x_67X;
|
|
long result_68X;
|
|
long x_69X;
|
|
long value_70X;
|
|
long count_71X;
|
|
long x_72X;
|
|
long x_73X;
|
|
unsigned char b_74X;
|
|
long x_75X;
|
|
long space_76X;
|
|
unsigned char b_77X;
|
|
unsigned char b_78X;
|
|
long x_79X;
|
|
long arg2_80X;
|
|
long temp_81X;
|
|
long size_82X;
|
|
unsigned char b_83X;
|
|
long len_84X;
|
|
long x_85X;
|
|
long len_86X;
|
|
unsigned char b_87X;
|
|
long index_88X;
|
|
long len_89X;
|
|
unsigned char b_90X;
|
|
long index_91X;
|
|
long x_92X;
|
|
long size_93X;
|
|
long len_94X;
|
|
long init_95X;
|
|
long obj_96X;
|
|
long arg2_97X;
|
|
long arg3_98X;
|
|
long arg2_99X;
|
|
long obj_100X;
|
|
long arg2_101X;
|
|
long descriptor_102X;
|
|
long x_103X;
|
|
long obj_104X;
|
|
long x_105X;
|
|
long p_106X;
|
|
unsigned char Kchar_107X;
|
|
long c_108X;
|
|
long x_109X;
|
|
unsigned char b_110X;
|
|
long p_111X;
|
|
long arg2_112X;
|
|
long p_113X;
|
|
long a_114X;
|
|
long old_115X;
|
|
long arg2_116X;
|
|
unsigned char v_117X;
|
|
long start_hp_118X;
|
|
long x_119X;
|
|
long obj_120X;
|
|
unsigned char v_121X;
|
|
long start_hp_122X;
|
|
long type_123X;
|
|
long obj_124X;
|
|
long obj_125X;
|
|
long tem_126X;
|
|
unsigned char v_127X;
|
|
long name_128X;
|
|
long value_129X;
|
|
long x_130X;
|
|
long obj_131X;
|
|
long n_132X;
|
|
long n_133X;
|
|
long arg2_134X;
|
|
long return_value_135X;
|
|
long key_136X;
|
|
long x_137X;
|
|
long n_138X;
|
|
long x_139X;
|
|
long obj_140X;
|
|
unsigned char b_141X;
|
|
long space_142X;
|
|
long arg2_143X;
|
|
long obj_144X;
|
|
unsigned char x_145X;
|
|
long arg2_146X;
|
|
long arg2_147X;
|
|
long x_148X;
|
|
long key_149X;
|
|
long n_150X;
|
|
long proc_151X;
|
|
long p_152X;
|
|
long n_153X;
|
|
long temp_154X;
|
|
long *areas_155X;
|
|
long *sizes_156X;
|
|
unsigned char count_157X;
|
|
long *areas_158X;
|
|
long *sizes_159X;
|
|
unsigned char count_160X;
|
|
long x_161X;
|
|
long key_162X;
|
|
long arg2_163X;
|
|
long arg3_164X;
|
|
long obj_165X;
|
|
long x_166X;
|
|
unsigned char *spec_167X;
|
|
FILE * port_168X;
|
|
long b_169X;
|
|
long e_170X;
|
|
long v_171X;
|
|
long arg2_172X;
|
|
long p_173X;
|
|
long p_174X;
|
|
long x_175X;
|
|
long x_176X;
|
|
long p_177X;
|
|
FILE * v_178X;
|
|
long x_179X;
|
|
long c_180X;
|
|
unsigned char Kchar_181X;
|
|
long x_182X;
|
|
long x_183X;
|
|
long obj_184X;
|
|
long x_185X;
|
|
long arg2_186X;
|
|
long x_187X;
|
|
long arg2_188X;
|
|
long arg3_189X;
|
|
unsigned char Kchar_190X;
|
|
long index_191X;
|
|
long len_192X;
|
|
long index_193X;
|
|
long len_194X;
|
|
long arg2_195X;
|
|
unsigned char init_196X;
|
|
long len_197X;
|
|
long size_198X;
|
|
long value_199X;
|
|
long index_200X;
|
|
long len_201X;
|
|
long index_202X;
|
|
long len_203X;
|
|
long arg2_204X;
|
|
long arg2_205X;
|
|
long arg3_206X;
|
|
long arg2_207X;
|
|
long arg2_208X;
|
|
long x_209X;
|
|
unsigned char b_210X;
|
|
unsigned char b_211X;
|
|
long x_212X;
|
|
unsigned char b_213X;
|
|
long x_214X;
|
|
long arg2_215X;
|
|
long x_216X;
|
|
long arg2_217X;
|
|
long x_218X;
|
|
long x_219X;
|
|
long arg2_220X;
|
|
long x_221X;
|
|
long x_222X;
|
|
long x_223X;
|
|
long a_224X;
|
|
long b_225X;
|
|
long x_226X;
|
|
long a_227X;
|
|
long b_228X;
|
|
long x_229X;
|
|
long arg2_230X;
|
|
long x_231X;
|
|
long a_232X;
|
|
long b_233X;
|
|
long x_234X;
|
|
long z_235X;
|
|
long x_236X;
|
|
long a_237X;
|
|
long b_238X;
|
|
long arg2_239X;
|
|
long x_240X;
|
|
long x_241X;
|
|
long x_242X;
|
|
long x_243X;
|
|
long x_244X;
|
|
long arg2_245X;
|
|
long x_246X;
|
|
unsigned char b_247X;
|
|
unsigned char b_248X;
|
|
unsigned char b_249X;
|
|
unsigned char b_250X;
|
|
long consumer_251X;
|
|
long start_arg_252X;
|
|
long start_loc_253X;
|
|
unsigned char b_254X;
|
|
unsigned char b_255X;
|
|
unsigned char b_256X;
|
|
long space_257X;
|
|
unsigned char b_258X;
|
|
long p_259X;
|
|
long env_260X;
|
|
unsigned char b_261X;
|
|
long env_262X;
|
|
unsigned char b_263X;
|
|
long env_264X;
|
|
unsigned char b_265X;
|
|
unsigned char b_266X;
|
|
long env_267X;
|
|
unsigned char b_268X;
|
|
long v_269X;
|
|
unsigned char count_270X;
|
|
long space_271X;
|
|
long vector_272X;
|
|
long i_273X;
|
|
unsigned char v_274X;
|
|
long *areas_275X;
|
|
long *sizes_276X;
|
|
unsigned char count_277X;
|
|
long i_278X;
|
|
unsigned char v_279X;
|
|
long h_280X;
|
|
long addr_281X;
|
|
long h_282X;
|
|
long d_283X;
|
|
long sym_284X;
|
|
long v_285X;
|
|
long val_286X;
|
|
long i_287X;
|
|
long h_288X;
|
|
long bucket_289X;
|
|
long index_290X;
|
|
long new_291X;
|
|
long new_292X;
|
|
long b_293X;
|
|
unsigned char v_294X;
|
|
long new_295X;
|
|
long stob_296X;
|
|
long from_297X;
|
|
long from_298X;
|
|
long to_299X;
|
|
long arg2_300X;
|
|
long obj_301X;
|
|
long table_302X;
|
|
long v_303X;
|
|
long n_304X;
|
|
long arg2_305X;
|
|
long n_306X;
|
|
long new_307X;
|
|
long len_308X;
|
|
long obj_309X;
|
|
long l_310X;
|
|
long i_311X;
|
|
long i_312X;
|
|
long h_313X;
|
|
unsigned char v_314X;
|
|
long i_315X;
|
|
unsigned char v_316X;
|
|
long resume_proc_317X;
|
|
long size_318X;
|
|
long b_319X;
|
|
long e_320X;
|
|
unsigned char v_321X;
|
|
long val_322X;
|
|
long c_323X;
|
|
long val_324X;
|
|
long key_325X;
|
|
long arg2_326X;
|
|
long mode_327X;
|
|
long i_328X;
|
|
long i_329X;
|
|
long i_330X;
|
|
long i_331X;
|
|
long index_332X;
|
|
long new_count_333X;
|
|
long old_count_334X;
|
|
FILE * *new_ports_335X;
|
|
long *new_vm_ports_336X;
|
|
FILE * port_337X;
|
|
long new_338X;
|
|
long index_339X;
|
|
long filename_340X;
|
|
unsigned char *spec_341X;
|
|
unsigned char *spec_342X;
|
|
long filename_343X;
|
|
unsigned char v_344X;
|
|
long new_345X;
|
|
long len_346X;
|
|
long string_347X;
|
|
long i_348X;
|
|
long new_349X;
|
|
long code_vector_350X;
|
|
long i_351X;
|
|
long val_352X;
|
|
long i_353X;
|
|
unsigned char okayP_354X;
|
|
long init_355X;
|
|
long new_356X;
|
|
long len_357X;
|
|
long new_358X;
|
|
long len_359X;
|
|
unsigned char b_360X;
|
|
unsigned char b_361X;
|
|
long new_362X;
|
|
long i_363X;
|
|
long n_364X;
|
|
long b_365X;
|
|
long c_366X;
|
|
long a_367X;
|
|
long b_368X;
|
|
long c_369X;
|
|
long a_370X;
|
|
long n_371X;
|
|
long b_372X;
|
|
long c_373X;
|
|
long a_374X;
|
|
long q_375X;
|
|
long a_376X;
|
|
long b_377X;
|
|
long b_378X;
|
|
long c_379X;
|
|
long a_380X;
|
|
long b_381X;
|
|
long lo_a_382X;
|
|
long lo_b_383X;
|
|
long hi_a_384X;
|
|
long hi_b_385X;
|
|
long lo_c_386X;
|
|
long mid_c_387X;
|
|
long c_388X;
|
|
long a_389X;
|
|
long offset_390X;
|
|
long list_391X;
|
|
long a_392X;
|
|
long new_393X;
|
|
long l_394X;
|
|
long last_395X;
|
|
long new_396X;
|
|
long a_397X;
|
|
long i_398X;
|
|
long l_399X;
|
|
long space_400X;
|
|
long overflow_401X;
|
|
long args_402X;
|
|
long fast_403X;
|
|
long len_404X;
|
|
long slow_405X;
|
|
unsigned char move_slowP_406X;
|
|
long nargs_407X;
|
|
long args_408X;
|
|
long args_409X;
|
|
long loc_410X;
|
|
long arg_411X;
|
|
long v_412X;
|
|
long key_413X;
|
|
long v_414X;
|
|
long space_415X;
|
|
long key_416X;
|
|
long p_417X;
|
|
long v_418X;
|
|
long env_419X;
|
|
unsigned char b_420X;
|
|
long a_421X;
|
|
long new_422X;
|
|
long env_423X;
|
|
long i_424X;
|
|
unsigned char b_425X;
|
|
long env_426X;
|
|
long i_427X;
|
|
unsigned char b_428X;
|
|
long args_429X;
|
|
long new_430X;
|
|
long len_431X;
|
|
unsigned char b_432X;
|
|
unsigned char b_433X;
|
|
long v_434X;
|
|
unsigned char v_435X;
|
|
unsigned char v_436X;
|
|
unsigned char v_437X;
|
|
unsigned char v_438X;
|
|
unsigned char v_439X;
|
|
unsigned char v_440X;
|
|
unsigned char v_441X;
|
|
unsigned char v_442X;
|
|
long r_443X;
|
|
unsigned char v_444X;
|
|
unsigned char v_445X;
|
|
unsigned char v_446X;
|
|
unsigned char v_447X;
|
|
long v_448X;
|
|
long key_449X;
|
|
long v_450X;
|
|
long cont_451X;
|
|
long tem_452X;
|
|
long pc_453X;
|
|
long args_454X;
|
|
long v_455X;
|
|
long v_456X;
|
|
long cont_457X;
|
|
long v_458X;
|
|
unsigned char next_op_459X;
|
|
long v_460X;
|
|
long next_461X;
|
|
long cont_462X;
|
|
long tem_463X;
|
|
long pc_464X;
|
|
long args_465X;
|
|
long v_466X;
|
|
long v_467X;
|
|
long args_468X;
|
|
long a1_469X;
|
|
long obj_470X;
|
|
long space_471X;
|
|
long v_472X;
|
|
unsigned char x_473X;
|
|
long tem_474X;
|
|
long obj_475X;
|
|
long space_476X;
|
|
long obj_477X;
|
|
long i_478X;
|
|
long m_479X;
|
|
long obj_480X;
|
|
long tem_481X;
|
|
long v_482X;
|
|
long key_483X;
|
|
long n_484X;
|
|
long i_485X;
|
|
long i_486X;
|
|
long vec_487X;
|
|
long p_488X;
|
|
long i_489X;
|
|
long new_490X;
|
|
long len_491X;
|
|
long p_492X;
|
|
long v_493X;
|
|
long cont_494X;
|
|
long previous_495X;
|
|
long v_496X;
|
|
long cont_497X;
|
|
long p_498X;
|
|
long new_499X;
|
|
long v_500X;
|
|
long end_501X;
|
|
long top_502X;
|
|
long new_cont_503X;
|
|
long v_504X;
|
|
long from_505X;
|
|
long from_506X;
|
|
long to_507X;
|
|
long new_508X;
|
|
long env_509X;
|
|
long p_510X;
|
|
long env_511X;
|
|
long new_512X;
|
|
long cont_513X;
|
|
long env_514X;
|
|
long new_515X;
|
|
long len_516X;
|
|
long from_517X;
|
|
long to_518X;
|
|
long new_519X;
|
|
long bytes_520X;
|
|
long from_521X;
|
|
long p_522X;
|
|
long i_523X;
|
|
long key_524X;
|
|
long pc_525X;
|
|
long template_526X;
|
|
long cont_527X;
|
|
long space_528X;
|
|
long args_529X;
|
|
long count_530X;
|
|
long a_531X;
|
|
long new_532X;
|
|
long v_533X;
|
|
long value_534X;
|
|
long pc_535X;
|
|
long e_536X;
|
|
long b_537X;
|
|
long a_538X;
|
|
long value_539X;
|
|
long i_540X;
|
|
long a_541X;
|
|
long v_542X;
|
|
long start_543X;
|
|
long end_544X;
|
|
long addr_545X;
|
|
long v_546X;
|
|
long cont_547X;
|
|
long last_env_548X;
|
|
long env_549X;
|
|
long end_550X;
|
|
long *areas_551X;
|
|
long *sizes_552X;
|
|
unsigned char count_553X;
|
|
long env_554X;
|
|
long end_555X;
|
|
long addr_556X;
|
|
long v_557X;
|
|
long addr_558X;
|
|
long v_559X;
|
|
long addr_560X;
|
|
long v_561X;
|
|
long env_562X;
|
|
long start_563X;
|
|
long end_564X;
|
|
long v_565X;
|
|
long v_566X;
|
|
long value_567X;
|
|
long a_568X;
|
|
long v_569X;
|
|
long v_570X;
|
|
long value_571X;
|
|
long a_572X;
|
|
long v_573X;
|
|
long v_574X;
|
|
long value_575X;
|
|
long a_576X;
|
|
long v_577X;
|
|
long v_578X;
|
|
long value_579X;
|
|
long a_580X;
|
|
long v_581X;
|
|
long v_582X;
|
|
long value_583X;
|
|
long a_584X;
|
|
long tem_585X;
|
|
long v_586X;
|
|
long value_587X;
|
|
long a_588X;
|
|
long next_589X;
|
|
long thing_590X;
|
|
long value_591X;
|
|
long a_592X;
|
|
long a_593X;
|
|
long h_594X;
|
|
long descriptor_595X;
|
|
long v_596X;
|
|
long o_597X;
|
|
long new_598X;
|
|
long x1_599X;
|
|
long i_600X;
|
|
long port_601X;
|
|
long header_602X;
|
|
long header_603X;
|
|
long new_604X;
|
|
long string_605X;
|
|
FILE * port_606X;
|
|
long mode_607X;
|
|
long index_608X;
|
|
|
|
long v_609X;
|
|
long z1_610X;
|
|
long z2_611X;
|
|
long i_612X;
|
|
long z_613X;
|
|
unsigned char *v_614X;
|
|
long i_615X;
|
|
unsigned char *c_616X;
|
|
long string_617X;
|
|
unsigned char c_618X;
|
|
long stob1_619X;
|
|
long stob2_620X;
|
|
long x_621X;
|
|
FILE * port_622X;
|
|
long vm_port_623X;
|
|
unsigned char c_624X;
|
|
long c_625X;
|
|
long thing_626X;
|
|
long c_627X;
|
|
long addr_628X;
|
|
long c_629X;
|
|
long value_630X;
|
|
long c_631X;
|
|
long start_632X;
|
|
long count_633X;
|
|
long code_pointer_634X;
|
|
long size_635X;
|
|
long c_636X;
|
|
long old_stob_637X;
|
|
long c_638X;
|
|
long env_639X;
|
|
long cont_640X;
|
|
long key_641X;
|
|
long c_642X;
|
|
long cont_643X;
|
|
long c_644X;
|
|
long key_645X;
|
|
unsigned char reason_646X;
|
|
long key_647X;
|
|
unsigned char c_648X;
|
|
unsigned char c_649X;
|
|
unsigned char bytes_consumed_650X;
|
|
unsigned char c_651X;
|
|
unsigned char nargs_652X;
|
|
unsigned char c_653X;
|
|
unsigned char byte_args_654X;
|
|
unsigned char c_655X;
|
|
unsigned char args_656X;
|
|
long a1_657X;
|
|
long a2_658X;
|
|
long a3_659X;
|
|
long a4_660X;
|
|
unsigned char c_661X;
|
|
unsigned char args_662X;
|
|
long a1_663X;
|
|
long a2_664X;
|
|
long a3_665X;
|
|
unsigned char c_666X;
|
|
unsigned char args_667X;
|
|
long a1_668X;
|
|
long a2_669X;
|
|
unsigned char c_670X;
|
|
unsigned char args_671X;
|
|
long a1_672X;
|
|
unsigned char c_673X;
|
|
long nargs_674X;
|
|
unsigned char c_675X;
|
|
unsigned char args_676X;
|
|
START: {
|
|
b_141X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
switch (b_141X) {
|
|
case 0 : {
|
|
b_20X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if (((SnargsS) == ((long)b_20X))) {
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 1;
|
|
goto application_exception;}}
|
|
break;
|
|
case 1 : {
|
|
b_21X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if (((SnargsS) < ((long)b_21X))) {
|
|
merged_arg0K0 = 1;
|
|
goto application_exception;}
|
|
else {
|
|
goto START;}}
|
|
break;
|
|
case 2 : {
|
|
RSvalS = ((((SnargsS))<<2));
|
|
goto START;}
|
|
break;
|
|
case 3 : {
|
|
count_270X = *((unsigned char *) (RScode_pointerS));
|
|
if (((Sstack_limitS) < (-8 + ((RSstackS) - (((((long)count_270X))<<2)))))) {
|
|
goto L27800;}
|
|
else {
|
|
space_271X = 1 + (((((Sstack_endS) - (RSstackS)))>>2));
|
|
if ((((ShpS) + (((space_271X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L27833;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 0;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_0:
|
|
if ((((ShpS) + (((space_271X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L27833;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
arg1K0 = 0;
|
|
goto L27833;}}}}
|
|
break;
|
|
case 4 : {
|
|
space_22X = 2 + ((long)(*((unsigned char *) (RScode_pointerS))));
|
|
if ((((ShpS) + (((space_22X)<<2))) < (SlimitS))) {
|
|
goto L27866;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 1;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_1:
|
|
if ((((ShpS) + (((space_22X)<<2))) < (SlimitS))) {
|
|
goto L27866;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
goto L27866;}}}
|
|
break;
|
|
case 5 : {
|
|
RSenvS = (*((long *) (-3 + (RSenvS))));
|
|
goto START;}
|
|
break;
|
|
case 6 : {
|
|
b_268X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if ((64 == (SnargsS))) {
|
|
RSstackS = (4 + (RSstackS));
|
|
merged_arg1K0 = (*((long *) (RSstackS)));
|
|
merged_arg1K1 = ((-1 + (SnargsS)) - ((long)b_268X));
|
|
pop_args_list_return_tag = 0;
|
|
goto pop_args_list;
|
|
pop_args_list_return_0:
|
|
v_23X = pop_args_list_return_value;
|
|
arg1K0 = v_23X;
|
|
goto L27934;}
|
|
else {
|
|
merged_arg1K0 = 25;
|
|
merged_arg1K1 = ((SnargsS) - ((long)b_268X));
|
|
pop_args_list_return_tag = 1;
|
|
goto pop_args_list;
|
|
pop_args_list_return_1:
|
|
v_269X = pop_args_list_return_value;
|
|
arg1K0 = v_269X;
|
|
goto L27934;}}
|
|
break;
|
|
case 7 : {
|
|
b_24X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
RSvalS = (*((long *) ((-3 + (StemplateS)) + (((((long)b_24X))<<2)))));
|
|
goto START;}
|
|
break;
|
|
case 8 : {
|
|
b_266X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
env_267X = RSenvS;
|
|
arg1K0 = env_267X;
|
|
arg1K1 = ((long)b_266X);
|
|
goto L27698;}
|
|
break;
|
|
case 9 : {
|
|
env_264X = RSenvS;
|
|
b_265X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
RSvalS = (*((long *) ((-3 + env_264X) + (((((long)b_265X))<<2)))));
|
|
if ((529 == (RSvalS))) {
|
|
merged_arg0K0 = 1;
|
|
goto raise_exception;}
|
|
else {
|
|
goto START;}}
|
|
break;
|
|
case 10 : {
|
|
env_262X = *((long *) (-3 + (RSenvS)));
|
|
b_263X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
RSvalS = (*((long *) ((-3 + env_262X) + (((((long)b_263X))<<2)))));
|
|
if ((529 == (RSvalS))) {
|
|
merged_arg0K0 = 1;
|
|
goto raise_exception;}
|
|
else {
|
|
goto START;}}
|
|
break;
|
|
case 11 : {
|
|
env_260X = *((long *) (-3 + (*((long *) (-3 + (RSenvS))))));
|
|
b_261X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
RSvalS = (*((long *) ((-3 + env_260X) + (((((long)b_261X))<<2)))));
|
|
if ((529 == (RSvalS))) {
|
|
merged_arg0K0 = 1;
|
|
goto raise_exception;}
|
|
else {
|
|
goto START;}}
|
|
break;
|
|
case 12 : {
|
|
b_26X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
env_25X = RSenvS;
|
|
arg1K0 = env_25X;
|
|
arg1K1 = ((long)b_26X);
|
|
goto L28006;}
|
|
break;
|
|
case 13 : {
|
|
b_28X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
location_27X = *((long *) ((-3 + (StemplateS)) + (((((long)b_28X))<<2))));
|
|
RSvalS = (*((long *) (-3 + location_27X)));
|
|
if ((17 == (255 & (RSvalS)))) {
|
|
merged_arg0K0 = 1;
|
|
merged_arg1K1 = location_27X;
|
|
goto raise_exception1;}
|
|
else {
|
|
goto START;}}
|
|
break;
|
|
case 14 : {
|
|
b_30X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
location_29X = *((long *) ((-3 + (StemplateS)) + (((((long)b_30X))<<2))));
|
|
if ((273 == (*((long *) (-3 + location_29X))))) {
|
|
merged_arg0K0 = 1;
|
|
merged_arg1K1 = location_29X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
else {
|
|
*((long *) (-3 + location_29X)) = (RSvalS);
|
|
RSvalS = 13;
|
|
goto START;}}
|
|
break;
|
|
case 15 : {
|
|
p_259X = RSenvS;
|
|
if ((p_259X < (Sstack_beginS))) {
|
|
arg1K0 = 0;
|
|
goto L28104;}
|
|
else {
|
|
if (((Sstack_endS) < p_259X)) {
|
|
arg1K0 = 0;
|
|
goto L28104;}
|
|
else {
|
|
arg1K0 = ((Sstack_endS) - (Sstack_beginS));
|
|
goto L28104;}}}
|
|
break;
|
|
case 16 : {
|
|
*((long *) (RSstackS)) = (RSvalS);
|
|
RSstackS = (-4 + (RSstackS));
|
|
goto START;}
|
|
break;
|
|
case 17 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
RSvalS = (*((long *) (RSstackS)));
|
|
goto START;}
|
|
break;
|
|
case 18 : {
|
|
b_31X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
RSvalS = (*((long *) (4 + ((RSstackS) + (((((long)b_31X))<<2))))));
|
|
goto START;}
|
|
break;
|
|
case 19 : {
|
|
b_258X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
*((long *) (4 + ((RSstackS) + (((((long)b_258X))<<2))))) = (RSvalS);
|
|
goto START;}
|
|
break;
|
|
case 20 : {
|
|
b_254X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
b_255X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
b_256X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if (((Sstack_limitS) < (-276 + (RSstackS)))) {
|
|
arg1K0 = 0;
|
|
goto L28247;}
|
|
else {
|
|
space_257X = 1 + (((((Sstack_endS) - (RSstackS)))>>2));
|
|
if ((((ShpS) + (((space_257X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L28264;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 2;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_2:
|
|
if ((((ShpS) + (((space_257X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L28264;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
arg1K0 = 0;
|
|
goto L28264;}}}}
|
|
break;
|
|
case 21 : {
|
|
space_32X = 1 + (((((Sstack_endS) - (RSstackS)))>>2));
|
|
if ((((ShpS) + (((space_32X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L29948;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 3;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_3:
|
|
if ((((ShpS) + (((space_32X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L29948;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
arg1K0 = 0;
|
|
goto L29948;}}}
|
|
break;
|
|
case 22 : {
|
|
cont_34X = *((long *) (-3 + (Sbottom_of_stackS)));
|
|
if ((1 == cont_34X)) {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
RSvalS = ((((RSvalS))>>2));
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
TTreturn_value = 0;
|
|
return(0L);}
|
|
else {
|
|
RSstackS = (-11 + (Sbottom_of_stackS));
|
|
*((long *) (-3 + (Sbottom_of_stackS))) = 1;
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
else {
|
|
if ((1 == cont_34X)) {
|
|
RSstackS = (-11 + (Sbottom_of_stackS));
|
|
*((long *) (-3 + (Sbottom_of_stackS))) = 1;
|
|
arg1K0 = (Sbottom_of_stackS);
|
|
goto L28365;}
|
|
else {
|
|
merged_arg1K0 = cont_34X;
|
|
copy_continuation_from_heap_return_tag = 0;
|
|
goto copy_continuation_from_heap;
|
|
copy_continuation_from_heap_return_0:
|
|
v_33X = copy_continuation_from_heap_return_value;
|
|
arg1K0 = v_33X;
|
|
goto L28365;}}}
|
|
break;
|
|
case 23 : {
|
|
SnargsS = ((long)(*((unsigned char *) (RScode_pointerS))));
|
|
merged_arg0K0 = 0;
|
|
goto perform_application;}
|
|
break;
|
|
case 24 : {
|
|
SnargsS = ((long)(*((unsigned char *) (RScode_pointerS))));
|
|
start_arg_252X = (RSstackS) + ((((SnargsS))<<2));
|
|
start_loc_253X = -11 + (ScontS);
|
|
if ((start_arg_252X < start_loc_253X)) {
|
|
arg1K0 = start_loc_253X;
|
|
arg1K1 = start_arg_252X;
|
|
goto L15929;}
|
|
else {
|
|
goto L15912;}}
|
|
break;
|
|
case 25 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
proc_36X = *((long *) (RSstackS));
|
|
list_35X = RSvalS;
|
|
arg1K0 = list_35X;
|
|
arg1K1 = 0;
|
|
arg1K2 = list_35X;
|
|
arg3K3 = 0;
|
|
goto L25376;}
|
|
break;
|
|
case 26 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
cont_38X = *((long *) (RSstackS));
|
|
if ((1 == cont_38X)) {
|
|
RSstackS = (-11 + (Sbottom_of_stackS));
|
|
*((long *) (-3 + (Sbottom_of_stackS))) = 1;
|
|
arg1K0 = (Sbottom_of_stackS);
|
|
goto L29978;}
|
|
else {
|
|
merged_arg1K0 = cont_38X;
|
|
copy_continuation_from_heap_return_tag = 1;
|
|
goto copy_continuation_from_heap;
|
|
copy_continuation_from_heap_return_1:
|
|
v_37X = copy_continuation_from_heap_return_value;
|
|
arg1K0 = v_37X;
|
|
goto L29978;}}
|
|
break;
|
|
case 27 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
consumer_251X = *((long *) (RSstackS));
|
|
*((long *) (RSstackS)) = (RSvalS);
|
|
RSstackS = (-4 + (RSstackS));
|
|
RSvalS = consumer_251X;
|
|
SnargsS = 1;
|
|
merged_arg0K0 = 0;
|
|
goto perform_application;}
|
|
break;
|
|
case 28 : {
|
|
cont_41X = ScontS;
|
|
tem_40X = *((long *) (5 + cont_41X));
|
|
pc_39X = *((long *) (1 + cont_41X));
|
|
StemplateS = tem_40X;
|
|
RScode_pointerS = ((-3 + (*((long *) (-3 + tem_40X)))) + (((pc_39X)>>2)));
|
|
RSenvS = (*((long *) (9 + cont_41X)));
|
|
ScontS = (*((long *) (-3 + cont_41X)));
|
|
RSstackS = (9 + cont_41X);
|
|
goto START;}
|
|
break;
|
|
case 29 : {
|
|
merged_arg1K0 = (SnargsS);
|
|
goto return_values;}
|
|
break;
|
|
case 30 : {
|
|
merged_arg1K0 = ((long)(*((unsigned char *) (RScode_pointerS))));
|
|
goto return_values;}
|
|
break;
|
|
case 31 : {
|
|
goto START;}
|
|
break;
|
|
case 32 : {
|
|
b_43X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
tem_42X = *((long *) ((-3 + (StemplateS)) + (((((long)b_43X))<<2))));
|
|
StemplateS = tem_42X;
|
|
RScode_pointerS = (-3 + (*((long *) (-3 + tem_42X))));
|
|
goto START;}
|
|
break;
|
|
case 33 : {
|
|
b_46X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
SnargsS = ((long)b_46X);
|
|
b_45X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
tem_44X = *((long *) ((-3 + (StemplateS)) + (((((long)b_45X))<<2))));
|
|
StemplateS = tem_44X;
|
|
RScode_pointerS = (-3 + (*((long *) (-3 + tem_44X))));
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
goto START;}
|
|
else {
|
|
goto handle_interrupt;}}
|
|
break;
|
|
case 34 : {
|
|
b_48X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
b_47X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if ((1 == (RSvalS))) {
|
|
RScode_pointerS = ((RScode_pointerS) + ((((((long)b_48X))<<8)) + ((long)b_47X)));
|
|
goto START;}
|
|
else {
|
|
goto START;}}
|
|
break;
|
|
case 35 : {
|
|
b_249X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
b_250X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
RScode_pointerS = ((RScode_pointerS) + ((((((long)b_249X))<<8)) + ((long)b_250X)));
|
|
goto START;}
|
|
break;
|
|
case 36 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
val_50X = (((RSvalS))>>2);
|
|
b_49X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if ((val_50X < 0)) {
|
|
arg1K0 = (((((long)b_49X))<<1));
|
|
goto L28572;}
|
|
else {
|
|
if ((val_50X < ((long)b_49X))) {
|
|
RScode_pointerS = ((RScode_pointerS) + (((val_50X)<<1)));
|
|
b_247X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
b_248X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
arg1K0 = ((((((long)b_247X))<<8)) + ((long)b_248X));
|
|
goto L28572;}
|
|
else {
|
|
arg1K0 = (((((long)b_49X))<<1));
|
|
goto L28572;}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 37 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_245X = *((long *) (RSstackS));
|
|
x_246X = RSvalS;
|
|
if ((arg2_245X == x_246X)) {
|
|
arg0K0 = 5;
|
|
goto L30099;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30099;}}
|
|
break;
|
|
case 38 : {
|
|
x_244X = RSvalS;
|
|
if ((0 == (3 & x_244X))) {
|
|
arg0K0 = 5;
|
|
goto L30113;}
|
|
else {
|
|
if ((3 == (3 & x_244X))) {
|
|
if ((9 == (31 & ((((*((long *) (-7 + x_244X))))>>2))))) {
|
|
arg0K0 = 5;
|
|
goto L30113;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30113;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30113;}}}
|
|
break;
|
|
case 39 : {
|
|
x_243X = RSvalS;
|
|
if ((0 == (3 & x_243X))) {
|
|
RSvalS = 5;
|
|
goto START;}
|
|
else {
|
|
if ((3 == (3 & x_243X))) {
|
|
if ((9 == (31 & ((((*((long *) (-7 + x_243X))))>>2))))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = x_243X;
|
|
goto raise_exception1;}
|
|
else {
|
|
goto L30131;}}
|
|
else {
|
|
goto L30131;}}}
|
|
break;
|
|
case 40 : {
|
|
x_242X = RSvalS;
|
|
if ((0 == (3 & x_242X))) {
|
|
RSvalS = 5;
|
|
goto START;}
|
|
else {
|
|
if ((3 == (3 & x_242X))) {
|
|
if ((9 == (31 & ((((*((long *) (-7 + x_242X))))>>2))))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = x_242X;
|
|
goto raise_exception1;}
|
|
else {
|
|
goto L30158;}}
|
|
else {
|
|
goto L30158;}}}
|
|
break;
|
|
case 41 : {
|
|
x_241X = RSvalS;
|
|
if ((0 == (3 & x_241X))) {
|
|
RSvalS = 5;
|
|
goto START;}
|
|
else {
|
|
if ((3 == (3 & x_241X))) {
|
|
if ((9 == (31 & ((((*((long *) (-7 + x_241X))))>>2))))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = x_241X;
|
|
goto raise_exception1;}
|
|
else {
|
|
goto L30185;}}
|
|
else {
|
|
goto L30185;}}}
|
|
break;
|
|
case 42 : {
|
|
x_240X = RSvalS;
|
|
if ((0 == (3 & x_240X))) {
|
|
RSvalS = 5;
|
|
goto START;}
|
|
else {
|
|
if ((3 == (3 & x_240X))) {
|
|
if ((9 == (31 & ((((*((long *) (-7 + x_240X))))>>2))))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = x_240X;
|
|
goto raise_exception1;}
|
|
else {
|
|
goto L30212;}}
|
|
else {
|
|
goto L30212;}}}
|
|
break;
|
|
case 43 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
RSvalS = 5;
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 44 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 45 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 46 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_239X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_239X | (RSvalS))))) {
|
|
x_52X = RSvalS;
|
|
z_51X = (((arg2_239X)>>2)) + (((x_52X)>>2));
|
|
if ((536870911 < z_51X)) {
|
|
goto L24263;}
|
|
else {
|
|
if ((z_51X < -536870912)) {
|
|
goto L24263;}
|
|
else {
|
|
RSvalS = (((z_51X)<<2));
|
|
goto START;}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_239X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 47 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_53X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_53X | (RSvalS))))) {
|
|
x_236X = RSvalS;
|
|
a_237X = ((arg2_53X)>>2);
|
|
b_238X = ((x_236X)>>2);
|
|
if ((a_237X < 0)) {
|
|
arg1K0 = (0 - a_237X);
|
|
goto L24057;}
|
|
else {
|
|
arg1K0 = a_237X;
|
|
goto L24057;}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_53X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 48 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_54X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_54X | (RSvalS))))) {
|
|
x_234X = RSvalS;
|
|
z_235X = (((arg2_54X)>>2)) - (((x_234X)>>2));
|
|
if ((536870911 < z_235X)) {
|
|
goto L23940;}
|
|
else {
|
|
if ((z_235X < -536870912)) {
|
|
goto L23940;}
|
|
else {
|
|
RSvalS = (((z_235X)<<2));
|
|
goto START;}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_54X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 49 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_55X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_55X | (RSvalS))))) {
|
|
x_231X = RSvalS;
|
|
if ((0 == x_231X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_55X;
|
|
merged_arg1K2 = x_231X;
|
|
goto raise_exception2;}
|
|
else {
|
|
a_232X = ((arg2_55X)>>2);
|
|
b_233X = ((x_231X)>>2);
|
|
if ((a_232X < 0)) {
|
|
arg1K0 = (0 - a_232X);
|
|
goto L23734;}
|
|
else {
|
|
arg1K0 = a_232X;
|
|
goto L23734;}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_55X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 50 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_230X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_230X | (RSvalS))))) {
|
|
x_56X = RSvalS;
|
|
if ((arg2_230X == x_56X)) {
|
|
arg0K0 = 5;
|
|
goto L30295;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30295;}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_230X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 51 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_57X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_57X | (RSvalS))))) {
|
|
x_229X = RSvalS;
|
|
if ((arg2_57X < x_229X)) {
|
|
arg0K0 = 5;
|
|
goto L30319;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30319;}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_57X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 52 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_58X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_58X | (RSvalS))))) {
|
|
x_226X = RSvalS;
|
|
if ((0 == x_226X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_58X;
|
|
merged_arg1K2 = x_226X;
|
|
goto raise_exception2;}
|
|
else {
|
|
a_227X = ((arg2_58X)>>2);
|
|
b_228X = ((x_226X)>>2);
|
|
if ((a_227X < 0)) {
|
|
arg1K0 = (0 - a_227X);
|
|
goto L23399;}
|
|
else {
|
|
arg1K0 = a_227X;
|
|
goto L23399;}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_58X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 53 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_59X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_59X | (RSvalS))))) {
|
|
x_223X = RSvalS;
|
|
if ((0 == x_223X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_59X;
|
|
merged_arg1K2 = x_223X;
|
|
goto raise_exception2;}
|
|
else {
|
|
a_224X = ((arg2_59X)>>2);
|
|
b_225X = ((x_223X)>>2);
|
|
if ((a_224X < 0)) {
|
|
arg1K0 = (0 - a_224X);
|
|
goto L23268;}
|
|
else {
|
|
arg1K0 = a_224X;
|
|
goto L23268;}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_59X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 54 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
RSvalS = (RSvalS);
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 55 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
RSvalS = (RSvalS);
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 56 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
RSvalS = 4;
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 57 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
RSvalS = (RSvalS);
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 58 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
RSvalS = 0;
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 59 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 60 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 61 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 62 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 63 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 64 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 65 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 66 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 67 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
x_60X = RSvalS;
|
|
if ((x_60X < 0)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = x_60X;
|
|
goto raise_exception1;}
|
|
else {
|
|
RSvalS = 0;
|
|
goto START;}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 68 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
x_222X = RSvalS;
|
|
if ((x_222X < 0)) {
|
|
arg1K0 = (0 - x_222X);
|
|
goto L30507;}
|
|
else {
|
|
arg1K0 = x_222X;
|
|
goto L30507;}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 69 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_61X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_61X | (RSvalS))))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_61X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_61X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 70 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_62X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_62X | (RSvalS))))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_62X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_62X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 71 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_63X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_63X | (RSvalS))))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_63X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_63X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 72 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
RSvalS = ((((~ ((((RSvalS))>>2))))<<2));
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 73 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_64X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_64X | (RSvalS))))) {
|
|
RSvalS = (((((((arg2_64X)>>2)) & ((((RSvalS))>>2))))<<2));
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_64X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 74 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_65X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_65X | (RSvalS))))) {
|
|
RSvalS = (((((((arg2_65X)>>2)) | ((((RSvalS))>>2))))<<2));
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_65X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 75 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_66X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_66X | (RSvalS))))) {
|
|
RSvalS = (((((((arg2_66X)>>2)) ^ ((((RSvalS))>>2))))<<2));
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_66X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 76 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_220X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_220X | (RSvalS))))) {
|
|
x_72X = RSvalS;
|
|
count_71X = ((x_72X)>>2);
|
|
value_70X = ((arg2_220X)>>2);
|
|
if ((count_71X < 0)) {
|
|
PS_SHIFT_RIGHT(value_70X, (0 - count_71X), x_221X)
|
|
RSvalS = (((x_221X)<<2));
|
|
goto START;}
|
|
else {
|
|
PS_SHIFT_LEFT(value_70X, count_71X, x_69X)
|
|
result_68X = (((((x_69X)<<2)))>>2);
|
|
PS_SHIFT_RIGHT(result_68X, count_71X, x_67X)
|
|
if ((value_70X == x_67X)) {
|
|
if ((value_70X < 0)) {
|
|
if ((result_68X < 0)) {
|
|
goto L22717;}
|
|
else {
|
|
goto L22714;}}
|
|
else {
|
|
if ((result_68X < 0)) {
|
|
goto L22714;}
|
|
else {
|
|
goto L22717;}}}
|
|
else {
|
|
goto L22714;}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_220X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 77 : {
|
|
x_219X = RSvalS;
|
|
if ((9 == (255 & x_219X))) {
|
|
arg0K0 = 5;
|
|
goto L30635;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30635;}}
|
|
break;
|
|
case 78 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_217X = *((long *) (RSstackS));
|
|
if ((9 == (255 & arg2_217X))) {
|
|
if ((9 == (255 & (RSvalS)))) {
|
|
x_218X = RSvalS;
|
|
if ((arg2_217X == x_218X)) {
|
|
arg0K0 = 5;
|
|
goto L30662;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30662;}}
|
|
else {
|
|
goto L30650;}}
|
|
else {
|
|
goto L30650;}}
|
|
break;
|
|
case 79 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_215X = *((long *) (RSstackS));
|
|
if ((9 == (255 & arg2_215X))) {
|
|
if ((9 == (255 & (RSvalS)))) {
|
|
x_216X = RSvalS;
|
|
if ((arg2_215X < x_216X)) {
|
|
arg0K0 = 5;
|
|
goto L30691;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30691;}}
|
|
else {
|
|
goto L30679;}}
|
|
else {
|
|
goto L30679;}}
|
|
break;
|
|
case 80 : {
|
|
if ((9 == (255 & (RSvalS)))) {
|
|
RSvalS = (((((long)((((((RSvalS))>>8))))))<<2));
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 81 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
x_73X = (((RSvalS))>>2);
|
|
if ((255 < x_73X)) {
|
|
goto L30722;}
|
|
else {
|
|
if ((x_73X < 0)) {
|
|
goto L30722;}
|
|
else {
|
|
RSvalS = (9 + (((((long)((x_73X))))<<8)));
|
|
goto START;}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 82 : {
|
|
x_214X = RSvalS;
|
|
if ((21 == x_214X)) {
|
|
arg0K0 = 5;
|
|
goto L30744;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30744;}}
|
|
break;
|
|
case 83 : {
|
|
x_75X = RSvalS;
|
|
b_74X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if ((3 == (3 & x_75X))) {
|
|
if (((31 & ((((*((long *) (-7 + x_75X))))>>2))) == ((long)b_74X))) {
|
|
arg0K0 = 5;
|
|
goto L30762;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30762;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30762;}}
|
|
break;
|
|
case 84 : {
|
|
x_212X = RSvalS;
|
|
b_213X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if ((3 == (3 & x_212X))) {
|
|
if (((31 & ((((*((long *) (-7 + x_212X))))>>2))) == ((long)b_213X))) {
|
|
RSvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + x_212X))))>>8))));
|
|
goto START;}
|
|
else {
|
|
goto L22430;}}
|
|
else {
|
|
goto L22430;}}
|
|
break;
|
|
case 85 : {
|
|
space_76X = 4 + (((((long)(*((unsigned char *) (RScode_pointerS)))))<<2));
|
|
if ((((ShpS) + (((space_76X)<<2))) < (SlimitS))) {
|
|
goto L16631;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 4;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_4:
|
|
if ((((ShpS) + (((space_76X)<<2))) < (SlimitS))) {
|
|
goto L16631;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
goto L16631;}}}
|
|
break;
|
|
case 86 : {
|
|
x_209X = RSvalS;
|
|
b_210X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
b_211X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if ((3 == (3 & x_209X))) {
|
|
if (((31 & ((((*((long *) (-7 + x_209X))))>>2))) == ((long)b_210X))) {
|
|
RSvalS = (*((long *) ((-3 + x_209X) + (((((long)b_211X))<<2)))));
|
|
goto START;}
|
|
else {
|
|
goto L25259;}}
|
|
else {
|
|
goto L25259;}}
|
|
break;
|
|
case 87 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_80X = *((long *) (RSstackS));
|
|
x_79X = RSvalS;
|
|
b_78X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
b_77X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if ((3 == (3 & arg2_80X))) {
|
|
if (((31 & ((((*((long *) (-7 + arg2_80X))))>>2))) == ((long)b_78X))) {
|
|
if ((3 == (3 & arg2_80X))) {
|
|
if ((0 == (128 & (*((long *) (-7 + arg2_80X)))))) {
|
|
*((long *) ((-3 + arg2_80X) + (((((long)b_77X))<<2)))) = x_79X;
|
|
RSvalS = 13;
|
|
goto START;}
|
|
else {
|
|
goto L25732;}}
|
|
else {
|
|
goto L25732;}}
|
|
else {
|
|
goto L25732;}}
|
|
else {
|
|
goto L25732;}}
|
|
break;
|
|
case 88 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_208X = *((long *) (RSstackS));
|
|
if ((0 == (3 & arg2_208X))) {
|
|
x_85X = RSvalS;
|
|
len_84X = ((arg2_208X)>>2);
|
|
b_83X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
size_82X = 1 + len_84X;
|
|
if ((len_84X < 0)) {
|
|
goto L25022;}
|
|
else {
|
|
if ((4194304 < size_82X)) {
|
|
goto L25022;}
|
|
else {
|
|
if ((((ShpS) + (((size_82X)<<2))) < (SlimitS))) {
|
|
arg3K0 = 1;
|
|
arg1K1 = x_85X;
|
|
goto L25027;}
|
|
else {
|
|
merged_arg1K0 = x_85X;
|
|
collect_saving_temp_return_tag = 5;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_5:
|
|
temp_81X = collect_saving_temp_return_value;
|
|
arg3K0 = (((ShpS) + (((size_82X)<<2))) < (SlimitS));
|
|
arg1K1 = temp_81X;
|
|
goto L25027;}}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_208X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 89 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_207X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
index_88X = (((RSvalS))>>2);
|
|
b_87X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if ((3 == (3 & arg2_207X))) {
|
|
if (((31 & ((((*((long *) (-7 + arg2_207X))))>>2))) == ((long)b_87X))) {
|
|
len_86X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + arg2_207X))))>>8))))>>2);
|
|
if ((index_88X < 0)) {
|
|
goto L24845;}
|
|
else {
|
|
if ((index_88X < len_86X)) {
|
|
RSvalS = (*((long *) ((-3 + arg2_207X) + (((index_88X)<<2)))));
|
|
goto START;}
|
|
else {
|
|
goto L24845;}}}
|
|
else {
|
|
goto L24845;}}
|
|
else {
|
|
goto L24845;}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_207X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 90 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_205X = *((long *) (RSstackS));
|
|
RSstackS = (4 + (RSstackS));
|
|
arg3_206X = *((long *) (RSstackS));
|
|
if ((0 == (3 & arg2_205X))) {
|
|
x_92X = RSvalS;
|
|
index_91X = ((arg2_205X)>>2);
|
|
b_90X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
if ((3 == (3 & arg3_206X))) {
|
|
if (((31 & ((((*((long *) (-7 + arg3_206X))))>>2))) == ((long)b_90X))) {
|
|
len_89X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + arg3_206X))))>>8))))>>2);
|
|
if ((index_91X < 0)) {
|
|
goto L25476;}
|
|
else {
|
|
if ((index_91X < len_89X)) {
|
|
if ((3 == (3 & arg3_206X))) {
|
|
if ((0 == (128 & (*((long *) (-7 + arg3_206X)))))) {
|
|
*((long *) ((-3 + arg3_206X) + (((index_91X)<<2)))) = x_92X;
|
|
RSvalS = 13;
|
|
goto START;}
|
|
else {
|
|
goto L25476;}}
|
|
else {
|
|
goto L25476;}}
|
|
else {
|
|
goto L25476;}}}
|
|
else {
|
|
goto L25476;}}
|
|
else {
|
|
goto L25476;}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg3_206X;
|
|
merged_arg1K2 = arg2_205X;
|
|
merged_arg1K3 = (RSvalS);
|
|
goto raise_exception3;}}
|
|
break;
|
|
case 91 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_204X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (arg2_204X | (RSvalS))))) {
|
|
init_95X = (((RSvalS))>>2);
|
|
len_94X = ((arg2_204X)>>2);
|
|
size_93X = 1 + ((((3 + len_94X))>>2));
|
|
if ((len_94X < 0)) {
|
|
goto L22178;}
|
|
else {
|
|
if ((4194304 < size_93X)) {
|
|
goto L22178;}
|
|
else {
|
|
if ((((ShpS) + (((size_93X)<<2))) < (SlimitS))) {
|
|
goto L22270;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 6;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_6:
|
|
if ((((ShpS) + (((size_93X)<<2))) < (SlimitS))) {
|
|
goto L22270;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (((len_94X)<<2));
|
|
merged_arg1K2 = (((init_95X)<<2));
|
|
goto raise_exception2;}}}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_204X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 92 : {
|
|
obj_96X = RSvalS;
|
|
if ((3 == (3 & obj_96X))) {
|
|
if ((16 == (31 & ((((*((long *) (-7 + obj_96X))))>>2))))) {
|
|
RSvalS = (((((long)(((unsigned long)(*((long *) (-7 + (RSvalS)))))>>8)))<<2));
|
|
goto START;}
|
|
else {
|
|
goto L30809;}}
|
|
else {
|
|
goto L30809;}}
|
|
break;
|
|
case 93 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_97X = *((long *) (RSstackS));
|
|
if ((3 == (3 & arg2_97X))) {
|
|
if ((16 == (31 & ((((*((long *) (-7 + arg2_97X))))>>2))))) {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
index_202X = (((RSvalS))>>2);
|
|
len_203X = (long)(((unsigned long)(*((long *) (-7 + arg2_97X))))>>8);
|
|
if ((index_202X < 0)) {
|
|
goto L22028;}
|
|
else {
|
|
if ((index_202X < len_203X)) {
|
|
RSvalS = (((((long)(*((unsigned char *) ((-3 + arg2_97X) + index_202X)))))<<2));
|
|
goto START;}
|
|
else {
|
|
goto L22028;}}}
|
|
else {
|
|
goto L22033;}}
|
|
else {
|
|
goto L22033;}}
|
|
else {
|
|
goto L22033;}}
|
|
break;
|
|
case 94 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_99X = *((long *) (RSstackS));
|
|
RSstackS = (4 + (RSstackS));
|
|
arg3_98X = *((long *) (RSstackS));
|
|
if ((3 == (3 & arg3_98X))) {
|
|
if ((16 == (31 & ((((*((long *) (-7 + arg3_98X))))>>2))))) {
|
|
if ((0 == (3 & (arg2_99X | (RSvalS))))) {
|
|
value_199X = (((RSvalS))>>2);
|
|
index_200X = ((arg2_99X)>>2);
|
|
len_201X = (long)(((unsigned long)(*((long *) (-7 + arg3_98X))))>>8);
|
|
if ((index_200X < 0)) {
|
|
goto L24671;}
|
|
else {
|
|
if ((index_200X < len_201X)) {
|
|
*((unsigned char *) ((-3 + arg3_98X) + index_200X)) = ((unsigned char)value_199X);
|
|
RSvalS = 13;
|
|
goto START;}
|
|
else {
|
|
goto L24671;}}}
|
|
else {
|
|
goto L24678;}}
|
|
else {
|
|
goto L24678;}}
|
|
else {
|
|
goto L24678;}}
|
|
break;
|
|
case 95 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_195X = *((long *) (RSstackS));
|
|
if ((0 == (3 & arg2_195X))) {
|
|
if ((9 == (255 & (RSvalS)))) {
|
|
init_196X = ((((RSvalS))>>8));
|
|
len_197X = ((arg2_195X)>>2);
|
|
size_198X = 1 + ((((4 + len_197X))>>2));
|
|
if ((len_197X < 0)) {
|
|
goto L21763;}
|
|
else {
|
|
if ((4194304 < size_198X)) {
|
|
goto L21763;}
|
|
else {
|
|
if ((((ShpS) + (((size_198X)<<2))) < (SlimitS))) {
|
|
goto L21857;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 7;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_7:
|
|
if ((((ShpS) + (((size_198X)<<2))) < (SlimitS))) {
|
|
goto L21857;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (((len_197X)<<2));
|
|
merged_arg1K2 = (9 + (((((long)(init_196X)))<<8)));
|
|
goto raise_exception2;}}}}}
|
|
else {
|
|
goto L21806;}}
|
|
else {
|
|
goto L21806;}}
|
|
break;
|
|
case 96 : {
|
|
obj_100X = RSvalS;
|
|
if ((3 == (3 & obj_100X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + obj_100X))))>>2))))) {
|
|
RSvalS = (-4 + (((((long)(((unsigned long)(*((long *) (-7 + (RSvalS)))))>>8)))<<2)));
|
|
goto START;}
|
|
else {
|
|
goto L30840;}}
|
|
else {
|
|
goto L30840;}}
|
|
break;
|
|
case 97 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_101X = *((long *) (RSstackS));
|
|
if ((3 == (3 & arg2_101X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + arg2_101X))))>>2))))) {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
index_193X = (((RSvalS))>>2);
|
|
len_194X = -1 + ((long)(((unsigned long)(*((long *) (-7 + arg2_101X))))>>8));
|
|
if ((index_193X < 0)) {
|
|
goto L21613;}
|
|
else {
|
|
if ((index_193X < len_194X)) {
|
|
RSvalS = (9 + (((((long)((((long)(*((unsigned char *) ((-3 + arg2_101X) + index_193X))))))))<<8)));
|
|
goto START;}
|
|
else {
|
|
goto L21613;}}}
|
|
else {
|
|
goto L21618;}}
|
|
else {
|
|
goto L21618;}}
|
|
else {
|
|
goto L21618;}}
|
|
break;
|
|
case 98 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_188X = *((long *) (RSstackS));
|
|
RSstackS = (4 + (RSstackS));
|
|
arg3_189X = *((long *) (RSstackS));
|
|
if ((3 == (3 & arg3_189X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + arg3_189X))))>>2))))) {
|
|
if ((0 == (3 & arg2_188X))) {
|
|
if ((9 == (255 & (RSvalS)))) {
|
|
Kchar_190X = ((((RSvalS))>>8));
|
|
index_191X = ((arg2_188X)>>2);
|
|
len_192X = -1 + ((long)(((unsigned long)(*((long *) (-7 + arg3_189X))))>>8));
|
|
if ((index_191X < 0)) {
|
|
goto L24497;}
|
|
else {
|
|
if ((index_191X < len_192X)) {
|
|
*((unsigned char *) ((-3 + arg3_189X) + index_191X)) = ((unsigned char)((long)(Kchar_190X)));
|
|
RSvalS = 13;
|
|
goto START;}
|
|
else {
|
|
goto L24497;}}}
|
|
else {
|
|
goto L24504;}}
|
|
else {
|
|
goto L24504;}}
|
|
else {
|
|
goto L24504;}}
|
|
else {
|
|
goto L24504;}}
|
|
break;
|
|
case 99 : {
|
|
obj_104X = RSvalS;
|
|
if ((3 == (3 & obj_104X))) {
|
|
if ((4 == (31 & ((((*((long *) (-7 + obj_104X))))>>2))))) {
|
|
x_103X = RSvalS;
|
|
descriptor_102X = *((long *) (-3 + x_103X));
|
|
if ((17 == (255 & descriptor_102X))) {
|
|
if ((529 == (*((long *) (-3 + x_103X))))) {
|
|
arg0K0 = 5;
|
|
goto L18264;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L18264;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L18264;}}
|
|
else {
|
|
goto L18255;}}
|
|
else {
|
|
goto L18255;}}
|
|
break;
|
|
case 100 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_186X = *((long *) (RSstackS));
|
|
if ((3 == (3 & arg2_186X))) {
|
|
if ((4 == (31 & ((((*((long *) (-7 + arg2_186X))))>>2))))) {
|
|
x_187X = RSvalS;
|
|
if ((1 == x_187X)) {
|
|
goto L21413;}
|
|
else {
|
|
if ((5 == x_187X)) {
|
|
goto L21413;}
|
|
else {
|
|
goto L21441;}}}
|
|
else {
|
|
goto L21441;}}
|
|
else {
|
|
goto L21441;}}
|
|
break;
|
|
case 101 : {
|
|
x_105X = RSvalS;
|
|
if ((3 == (3 & x_105X))) {
|
|
if ((0 == (128 & (*((long *) (-7 + x_105X)))))) {
|
|
arg0K0 = 1;
|
|
goto L30876;}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L30876;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L30876;}}
|
|
break;
|
|
case 102 : {
|
|
x_185X = RSvalS;
|
|
if ((3 == (3 & x_185X))) {
|
|
if ((0 == (128 & (*((long *) (-7 + x_185X)))))) {
|
|
*((long *) (-7 + x_185X)) = (128 | (*((long *) (-7 + x_185X))));
|
|
goto L30891;}
|
|
else {
|
|
goto L30891;}}
|
|
else {
|
|
goto L30891;}}
|
|
break;
|
|
case 103 : {
|
|
if (((20 + (ShpS)) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L21131;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 8;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_8:
|
|
if (((20 + (ShpS)) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L21131;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
arg1K0 = 0;
|
|
goto L21131;}}}
|
|
break;
|
|
case 104 : {
|
|
obj_184X = RSvalS;
|
|
if ((3 == (3 & obj_184X))) {
|
|
if ((5 == (31 & ((((*((long *) (-7 + obj_184X))))>>2))))) {
|
|
merged_arg1K0 = (RSvalS);
|
|
close_port_return_tag = 0;
|
|
goto close_port;
|
|
close_port_return_0:
|
|
RSvalS = 13;
|
|
goto START;}
|
|
else {
|
|
goto L30912;}}
|
|
else {
|
|
goto L30912;}}
|
|
break;
|
|
case 105 : {
|
|
x_183X = RSvalS;
|
|
if ((3 == (3 & x_183X))) {
|
|
if ((5 == (31 & ((((*((long *) (-7 + x_183X))))>>2))))) {
|
|
if ((4 == (*((long *) (-3 + x_183X))))) {
|
|
arg0K0 = 5;
|
|
goto L30934;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30934;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30934;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30934;}}
|
|
break;
|
|
case 106 : {
|
|
x_182X = RSvalS;
|
|
if ((3 == (3 & x_182X))) {
|
|
if ((5 == (31 & ((((*((long *) (-7 + x_182X))))>>2))))) {
|
|
if ((8 == (*((long *) (-3 + x_182X))))) {
|
|
arg0K0 = 5;
|
|
goto L30952;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30952;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30952;}}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L30952;}}
|
|
break;
|
|
case 107 : {
|
|
p_106X = RSvalS;
|
|
if ((3 == (3 & p_106X))) {
|
|
if ((5 == (31 & ((((*((long *) (-7 + p_106X))))>>2))))) {
|
|
if ((4 == (*((long *) (-3 + p_106X))))) {
|
|
if (((*((long *) (1 + p_106X))) < 0)) {
|
|
goto L17836;}
|
|
else {
|
|
x_179X = RSvalS;
|
|
c_180X = *((long *) (5 + x_179X));
|
|
if ((1 == c_180X)) {
|
|
{ int TTchar;
|
|
PS_GETC((*((Sopen_portsS) + ((((*((long *) (1 + x_179X))))>>2)))), TTchar);
|
|
if (EOF == TTchar) {
|
|
arg1K0 = 21;
|
|
goto L17833;}
|
|
else {
|
|
unsigned char Kchar_181X = TTchar;
|
|
arg1K0 = (9 + (((((long)(Kchar_181X)))<<8)));
|
|
goto L17833;}}}
|
|
else {
|
|
*((long *) (5 + x_179X)) = 1;
|
|
arg1K0 = c_180X;
|
|
goto L17833;}}}
|
|
else {
|
|
goto L17836;}}
|
|
else {
|
|
goto L17836;}}
|
|
else {
|
|
goto L17836;}}
|
|
break;
|
|
case 108 : {
|
|
p_177X = RSvalS;
|
|
if ((3 == (3 & p_177X))) {
|
|
if ((5 == (31 & ((((*((long *) (-7 + p_177X))))>>2))))) {
|
|
if ((4 == (*((long *) (-3 + p_177X))))) {
|
|
if (((*((long *) (1 + p_177X))) < 0)) {
|
|
goto L17718;}
|
|
else {
|
|
x_109X = RSvalS;
|
|
c_108X = *((long *) (5 + x_109X));
|
|
if ((1 == c_108X)) {
|
|
v_178X = *((Sopen_portsS) + ((((*((long *) (1 + x_109X))))>>2)));
|
|
{ int TTchar;
|
|
PS_GETC(v_178X, TTchar);
|
|
if (EOF == TTchar) {
|
|
arg1K0 = 21;
|
|
goto L17710;}
|
|
else {
|
|
unsigned char Kchar_107X = TTchar;
|
|
arg1K0 = (9 + (((((long)(Kchar_107X)))<<8)));
|
|
goto L17710;}}}
|
|
else {
|
|
arg1K0 = c_108X;
|
|
goto L17715;}}}
|
|
else {
|
|
goto L17718;}}
|
|
else {
|
|
goto L17718;}}
|
|
else {
|
|
goto L17718;}}
|
|
break;
|
|
case 109 : {
|
|
p_111X = RSvalS;
|
|
if ((3 == (3 & p_111X))) {
|
|
if ((5 == (31 & ((((*((long *) (-7 + p_111X))))>>2))))) {
|
|
if ((4 == (*((long *) (-3 + p_111X))))) {
|
|
if (((*((long *) (1 + p_111X))) < 0)) {
|
|
goto L17565;}
|
|
else {
|
|
x_175X = RSvalS;
|
|
x_176X = *((long *) (5 + x_175X));
|
|
if ((1 == x_176X)) {
|
|
b_110X = char_ready_p((*((Sopen_portsS) + ((((*((long *) (1 + x_175X))))>>2)))));
|
|
if (b_110X) {
|
|
arg0K0 = 5;
|
|
goto L17562;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L17562;}}
|
|
else {
|
|
arg0K0 = 5;
|
|
goto L17562;}}}
|
|
else {
|
|
goto L17565;}}
|
|
else {
|
|
goto L17565;}}
|
|
else {
|
|
goto L17565;}}
|
|
break;
|
|
case 110 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_112X = *((long *) (RSstackS));
|
|
if ((9 == (255 & arg2_112X))) {
|
|
p_174X = RSvalS;
|
|
if ((3 == (3 & p_174X))) {
|
|
if ((5 == (31 & ((((*((long *) (-7 + p_174X))))>>2))))) {
|
|
if ((8 == (*((long *) (-3 + p_174X))))) {
|
|
if (((*((long *) (1 + p_174X))) < 0)) {
|
|
goto L21040;}
|
|
else {
|
|
putc(((((arg2_112X)>>8))), (*((Sopen_portsS) + ((((*((long *) (1 + (RSvalS)))))>>2)))));
|
|
RSvalS = 13;
|
|
goto START;}}
|
|
else {
|
|
goto L21040;}}
|
|
else {
|
|
goto L21040;}}
|
|
else {
|
|
goto L21040;}}
|
|
else {
|
|
goto L21040;}}
|
|
break;
|
|
case 111 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_172X = *((long *) (RSstackS));
|
|
if ((3 == (3 & arg2_172X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + arg2_172X))))>>2))))) {
|
|
p_173X = RSvalS;
|
|
if ((3 == (3 & p_173X))) {
|
|
if ((5 == (31 & ((((*((long *) (-7 + p_173X))))>>2))))) {
|
|
if ((8 == (*((long *) (-3 + p_173X))))) {
|
|
if (((*((long *) (1 + p_173X))) < 0)) {
|
|
goto L20904;}
|
|
else {
|
|
fwrite((void *)(-3 + arg2_172X), sizeof(char), (-1 + ((long)(((unsigned long)(*((long *) (-7 + arg2_172X))))>>8))), (*((Sopen_portsS) + ((((*((long *) (1 + (RSvalS)))))>>2)))));
|
|
RSvalS = 13;
|
|
goto START;}}
|
|
else {
|
|
goto L20904;}}
|
|
else {
|
|
goto L20904;}}
|
|
else {
|
|
goto L20904;}}
|
|
else {
|
|
goto L20904;}}
|
|
else {
|
|
goto L20904;}}
|
|
break;
|
|
case 112 : {
|
|
p_113X = RSvalS;
|
|
if ((3 == (3 & p_113X))) {
|
|
if ((5 == (31 & ((((*((long *) (-7 + p_113X))))>>2))))) {
|
|
if ((8 == (*((long *) (-3 + p_113X))))) {
|
|
if (((*((long *) (1 + p_113X))) < 0)) {
|
|
goto L17473;}
|
|
else {
|
|
fflush((*((Sopen_portsS) + ((((*((long *) (1 + (RSvalS)))))>>2)))));
|
|
RSvalS = 13;
|
|
goto START;}}
|
|
else {
|
|
goto L17473;}}
|
|
else {
|
|
goto L17473;}}
|
|
else {
|
|
goto L17473;}}
|
|
break;
|
|
case 113 : {
|
|
RSvalS = 529;
|
|
goto START;}
|
|
break;
|
|
case 114 : {
|
|
RSvalS = 13;
|
|
goto START;}
|
|
break;
|
|
case 115 : {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
break;
|
|
case 116 : {
|
|
RSvalS = 1;
|
|
goto START;}
|
|
break;
|
|
case 117 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_163X = *((long *) (RSstackS));
|
|
RSstackS = (4 + (RSstackS));
|
|
arg3_164X = *((long *) (RSstackS));
|
|
if ((3 == (3 & arg3_164X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + arg3_164X))))>>2))))) {
|
|
obj_165X = RSvalS;
|
|
if ((3 == (3 & obj_165X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + obj_165X))))>>2))))) {
|
|
x_166X = RSvalS;
|
|
if ((0 == ((long)(Spure_area_countS)))) {
|
|
if ((0 == ((long)(Simpure_area_countS)))) {
|
|
merged_arg1K0 = arg3_164X;
|
|
extract_string_return_tag = 0;
|
|
goto extract_string;
|
|
extract_string_return_0:
|
|
spec_167X = extract_string_return_value;
|
|
port_168X = ps_open(spec_167X, "wb");
|
|
if ((NULL == port_168X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg3_164X;
|
|
merged_arg1K2 = arg2_163X;
|
|
goto raise_exception2;}
|
|
else {
|
|
fwrite((void *)(-3 + x_166X), sizeof(char), (-1 + ((long)(((unsigned long)(*((long *) (-7 + x_166X))))>>8))), port_168X);
|
|
b_169X = Snewspace_beginS;
|
|
Snewspace_beginS = (Soldspace_beginS);
|
|
Soldspace_beginS = b_169X;
|
|
e_170X = Snewspace_endS;
|
|
Snewspace_endS = (Soldspace_endS);
|
|
Soldspace_endS = e_170X;
|
|
Ssaved_limitS = (SlimitS);
|
|
Ssaved_hpS = (ShpS);
|
|
SlimitS = (Snewspace_endS);
|
|
ShpS = (Snewspace_beginS);
|
|
Sweak_pointer_hpS = -1;
|
|
if ((3 == (3 & arg2_163X))) {
|
|
a_114X = -3 + arg2_163X;
|
|
if ((a_114X < (Soldspace_beginS))) {
|
|
arg1K0 = arg2_163X;
|
|
goto L28742;}
|
|
else {
|
|
if ((a_114X < (Soldspace_endS))) {
|
|
merged_arg1K0 = arg2_163X;
|
|
copy_object_return_tag = 0;
|
|
goto copy_object;
|
|
copy_object_return_0:
|
|
v_171X = copy_object_return_value;
|
|
arg1K0 = v_171X;
|
|
goto L28742;}
|
|
else {
|
|
arg1K0 = arg2_163X;
|
|
goto L28742;}}}
|
|
else {
|
|
arg1K0 = arg2_163X;
|
|
goto L28742;}}}
|
|
else {
|
|
goto L28827;}}
|
|
else {
|
|
goto L28827;}}
|
|
else {
|
|
goto L28758;}}
|
|
else {
|
|
goto L28758;}}
|
|
else {
|
|
goto L28758;}}
|
|
else {
|
|
goto L28758;}}
|
|
break;
|
|
case 118 : {
|
|
RSvalS = 13;
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 9;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_9:
|
|
RSvalS = 13;
|
|
goto START;}
|
|
break;
|
|
case 119 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_116X = *((long *) (RSstackS));
|
|
if ((0 == (3 & arg2_116X))) {
|
|
x_161X = RSvalS;
|
|
key_162X = ((arg2_116X)>>2);
|
|
if ((0 == key_162X)) {
|
|
RSvalS = (-4 & ((SlimitS) - (ShpS)));
|
|
goto START;}
|
|
else {
|
|
if ((1 == key_162X)) {
|
|
RSvalS = (-4 & (3 + ((Snewspace_endS) - (Snewspace_beginS))));
|
|
goto START;}
|
|
else {
|
|
if ((2 == key_162X)) {
|
|
RSvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2));
|
|
goto START;}
|
|
else {
|
|
if ((3 == key_162X)) {
|
|
if ((0 == (3 & x_161X))) {
|
|
old_115X = Sminimum_recovered_spaceS;
|
|
Sminimum_recovered_spaceS = (((x_161X)>>2));
|
|
RSvalS = (((old_115X)<<2));
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (((key_162X)<<2));
|
|
merged_arg1K2 = x_161X;
|
|
goto raise_exception2;}}
|
|
else {
|
|
if ((4 == key_162X)) {
|
|
RSvalS = ((((Sgc_countS))<<2));
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (((key_162X)<<2));
|
|
merged_arg1K2 = x_161X;
|
|
goto raise_exception2;}}}}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_116X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 120 : {
|
|
obj_120X = RSvalS;
|
|
if ((3 == (3 & obj_120X))) {
|
|
if ((2 == (31 & ((((*((long *) (-7 + obj_120X))))>>2))))) {
|
|
x_119X = RSvalS;
|
|
start_hp_118X = ShpS;
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
v_117X = hoistD1((Snewspace_beginS), (ShpS), x_119X);
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
if (v_117X) {
|
|
areas_158X = Spure_areasS;
|
|
sizes_159X = Spure_sizesS;
|
|
count_160X = Spure_area_countS;
|
|
arg1K0 = 0;
|
|
goto L17365;}
|
|
else {
|
|
goto L17350;}}
|
|
else {
|
|
goto L17297;}}
|
|
else {
|
|
goto L17297;}}
|
|
break;
|
|
case 121 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
type_123X = (((RSvalS))>>2);
|
|
start_hp_122X = ShpS;
|
|
*((long *) (ShpS)) = 0;
|
|
ShpS = (4 + (ShpS));
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
v_121X = hoistD0((Snewspace_beginS), start_hp_122X, type_123X);
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
if (v_121X) {
|
|
areas_155X = Simpure_areasS;
|
|
sizes_156X = Simpure_sizesS;
|
|
count_157X = Simpure_area_countS;
|
|
arg1K0 = 0;
|
|
goto L10089;}
|
|
else {
|
|
goto L10027;}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 122 : {
|
|
RSvalS = (Sdynamic_stateS);
|
|
goto START;}
|
|
break;
|
|
case 123 : {
|
|
Sdynamic_stateS = (RSvalS);
|
|
RSvalS = 13;
|
|
goto START;}
|
|
break;
|
|
case 124 : {
|
|
obj_124X = RSvalS;
|
|
if ((3 == (3 & obj_124X))) {
|
|
if ((3 == (31 & ((((*((long *) (-7 + obj_124X))))>>2))))) {
|
|
Sexception_handlerS = (RSvalS);
|
|
goto START;}
|
|
else {
|
|
goto L31073;}}
|
|
else {
|
|
goto L31073;}}
|
|
break;
|
|
case 125 : {
|
|
obj_125X = RSvalS;
|
|
if ((3 == (3 & obj_125X))) {
|
|
if ((2 == (31 & ((((*((long *) (-7 + obj_125X))))>>2))))) {
|
|
if ((((((3 + ((long)(((unsigned long)(*((long *) (-7 + (RSvalS)))))>>8))))>>2)) < 3)) {
|
|
goto L31092;}
|
|
else {
|
|
Sinterrupt_handlersS = (RSvalS);
|
|
goto START;}}
|
|
else {
|
|
goto L31092;}}
|
|
else {
|
|
goto L31092;}}
|
|
break;
|
|
case 126 : {
|
|
temp_154X = Senabled_interruptsS;
|
|
Senabled_interruptsS = ((((RSvalS))>>2));
|
|
RSvalS = (((temp_154X)<<2));
|
|
goto START;}
|
|
break;
|
|
case 127 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
Senabled_interruptsS = ((((*((long *) (RSstackS))))>>2));
|
|
RSstackS = (4 + (RSstackS));
|
|
SnargsS = ((((*((long *) (RSstackS))))>>2));
|
|
RSstackS = (4 + (RSstackS));
|
|
RSenvS = (*((long *) (RSstackS)));
|
|
RSstackS = (4 + (RSstackS));
|
|
tem_126X = *((long *) (RSstackS));
|
|
StemplateS = tem_126X;
|
|
RScode_pointerS = (-3 + (*((long *) (-3 + tem_126X))));
|
|
RSstackS = (4 + (RSstackS));
|
|
RSvalS = (*((long *) (RSstackS)));
|
|
goto START;}
|
|
break;
|
|
case 128 : {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
p_152X = RSvalS;
|
|
Spending_interruptsS = (-2 & (Spending_interruptsS));
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
n_153X = ps_schedule_interrupt((((p_152X)>>2)));
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
RSvalS = (((n_153X)<<2));
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}}
|
|
break;
|
|
case 129 : {
|
|
obj_131X = RSvalS;
|
|
if ((3 == (3 & obj_131X))) {
|
|
if ((12 == (31 & ((((*((long *) (-7 + obj_131X))))>>2))))) {
|
|
x_130X = RSvalS;
|
|
value_129X = *((long *) (1 + x_130X));
|
|
name_128X = *((long *) (-3 + x_130X));
|
|
if ((3 == (3 & name_128X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + name_128X))))>>2))))) {
|
|
if ((3 == (3 & value_129X))) {
|
|
if ((16 == (31 & ((((*((long *) (-7 + value_129X))))>>2))))) {
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
v_127X = lookup_external_name((-3 + name_128X), (-3 + value_129X));
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
if (v_127X) {
|
|
RSvalS = 13;
|
|
goto START;}
|
|
else {
|
|
goto L16974;}}
|
|
else {
|
|
goto L16974;}}
|
|
else {
|
|
goto L16974;}}
|
|
else {
|
|
goto L16974;}}
|
|
else {
|
|
goto L16974;}}
|
|
else {
|
|
goto L16977;}}
|
|
else {
|
|
goto L16977;}}
|
|
break;
|
|
case 130 : {
|
|
proc_151X = *((long *) ((RSstackS) + ((((SnargsS))<<2))));
|
|
if ((3 == (3 & proc_151X))) {
|
|
if ((12 == (31 & ((((*((long *) (-7 + proc_151X))))>>2))))) {
|
|
SnargsS = (-1 + (SnargsS));
|
|
RSvalS = proc_151X;
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
TTreturn_value = 1;
|
|
return(0L);}
|
|
else {
|
|
goto L31145;}}
|
|
else {
|
|
goto L31145;}}
|
|
break;
|
|
case 131 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_134X = *((long *) (RSstackS));
|
|
if ((0 == (3 & arg2_134X))) {
|
|
x_148X = RSvalS;
|
|
key_149X = ((arg2_134X)>>2);
|
|
if ((0 == key_149X)) {
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
n_132X = ps_ticks_per_second();
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
RSvalS = (((n_132X)<<2));
|
|
goto START;}
|
|
else {
|
|
if ((1 == key_149X)) {
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
n_150X = ps_run_time();
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
RSvalS = (((n_150X)<<2));
|
|
goto START;}
|
|
else {
|
|
if ((2 == key_149X)) {
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
n_133X = ps_real_time();
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
RSvalS = (((n_133X)<<2));
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (((key_149X)<<2));
|
|
merged_arg1K2 = x_148X;
|
|
goto raise_exception2;}}}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_134X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 132 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_147X = *((long *) (RSstackS));
|
|
if ((0 == (3 & arg2_147X))) {
|
|
x_137X = RSvalS;
|
|
key_136X = ((arg2_147X)>>2);
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
return_value_135X = extended_vm(key_136X, x_137X);
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
if ((17 == (255 & return_value_135X))) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (((key_136X)<<2));
|
|
merged_arg1K2 = x_137X;
|
|
goto raise_exception2;}
|
|
else {
|
|
RSvalS = return_value_135X;
|
|
goto START;}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_147X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 133 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_146X = *((long *) (RSstackS));
|
|
if ((0 == (3 & arg2_146X))) {
|
|
RSvalS = (RSvalS);
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
TTreturn_value = 0;
|
|
return(0L);}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_146X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
break;
|
|
case 134 : {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_143X = *((long *) (RSstackS));
|
|
if ((3 == (3 & arg2_143X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + arg2_143X))))>>2))))) {
|
|
obj_144X = RSvalS;
|
|
if ((3 == (3 & obj_144X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + obj_144X))))>>2))))) {
|
|
merged_arg1K0 = arg2_143X;
|
|
merged_arg1K1 = (RSvalS);
|
|
stob_equalP_return_tag = 0;
|
|
goto stob_equalP;
|
|
stob_equalP_return_0:
|
|
x_145X = stob_equalP_return_value;
|
|
if (x_145X) {
|
|
arg0K0 = 5;
|
|
goto L20298;}
|
|
else {
|
|
arg0K0 = 1;
|
|
goto L20298;}}
|
|
else {
|
|
goto L20289;}}
|
|
else {
|
|
goto L20289;}}
|
|
else {
|
|
goto L20289;}}
|
|
else {
|
|
goto L20289;}}
|
|
break;
|
|
case 135 : {
|
|
obj_140X = RSvalS;
|
|
if ((3 == (3 & obj_140X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + obj_140X))))>>2))))) {
|
|
x_139X = RSvalS;
|
|
n_138X = -1 + ((long)(((unsigned long)(*((long *) (-7 + x_139X))))>>8));
|
|
arg1K0 = 0;
|
|
arg1K1 = 0;
|
|
goto L16824;}
|
|
else {
|
|
goto L16802;}}
|
|
else {
|
|
goto L16802;}}
|
|
break;
|
|
case 136 : {
|
|
space_142X = 1 + ((((4 + (RSvalS)))>>2));
|
|
if ((((ShpS) + (((space_142X)<<2))) < (SlimitS))) {
|
|
goto L20018;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 10;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_10:
|
|
if ((((ShpS) + (((space_142X)<<2))) < (SlimitS))) {
|
|
goto L20018;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
goto L20018;}}}
|
|
break;
|
|
case 137 : {
|
|
if (((20 + (ShpS)) < (SlimitS))) {
|
|
goto L19900;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 11;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_11:
|
|
if (((20 + (ShpS)) < (SlimitS))) {
|
|
goto L19900;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
goto L19900;}}}
|
|
break;
|
|
}}
|
|
L31042: {
|
|
vector_272X = arg1K0;
|
|
if ((1 == vector_272X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (((type_123X)<<2));
|
|
goto raise_exception1;}
|
|
else {
|
|
RSvalS = vector_272X;
|
|
goto START;}}
|
|
L10027: {
|
|
ShpS = start_hp_122X;
|
|
arg1K0 = 1;
|
|
goto L31042;}
|
|
L10089: {
|
|
i_273X = arg1K0;
|
|
if ((i_273X < ((long)count_157X))) {
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
v_274X = hoistD0((*(areas_155X + i_273X)), ((*(areas_155X + i_273X)) + (*(sizes_156X + i_273X))), type_123X);
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
if (v_274X) {
|
|
arg1K0 = (1 + i_273X);
|
|
goto L10089;}
|
|
else {
|
|
goto L10027;}}
|
|
else {
|
|
areas_275X = Spure_areasS;
|
|
sizes_276X = Spure_sizesS;
|
|
count_277X = Spure_area_countS;
|
|
arg1K0 = 0;
|
|
goto L10068;}}
|
|
L10068: {
|
|
i_278X = arg1K0;
|
|
if ((i_278X < ((long)count_277X))) {
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
v_279X = hoistD0((*(areas_275X + i_278X)), ((*(areas_275X + i_278X)) + (*(sizes_276X + i_278X))), type_123X);
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
if (v_279X) {
|
|
arg1K0 = (1 + i_278X);
|
|
goto L10068;}
|
|
else {
|
|
goto L10027;}}
|
|
else {
|
|
*((long *) start_hp_122X) = (-1014 + (((((ShpS) - start_hp_122X))<<8)));
|
|
arg1K0 = (7 + start_hp_122X);
|
|
goto L31042;}}
|
|
L8859: {
|
|
h_280X = arg1K0;
|
|
arg1K0 = (4 + (addr_281X + (-4 & (3 + ((long)(((unsigned long)h_280X)>>8))))));
|
|
goto L8837;}
|
|
L8837: {
|
|
addr_281X = arg1K0;
|
|
if ((addr_281X < (ShpS))) {
|
|
d_283X = *((long *) addr_281X);
|
|
if ((2 == (3 & d_283X))) {
|
|
arg1K0 = d_283X;
|
|
goto L8859;}
|
|
else {
|
|
h_282X = *((long *) (-7 + d_283X));
|
|
*((long *) addr_281X) = h_282X;
|
|
arg1K0 = h_282X;
|
|
goto L8859;}}
|
|
else {
|
|
RSvalS = (((size_318X)<<2));
|
|
goto START;}}
|
|
L13271: {
|
|
sym_284X = arg1K0;
|
|
if ((3 == (3 & sym_284X))) {
|
|
if ((0 == (128 & (*((long *) (-7 + sym_284X)))))) {
|
|
*((long *) (-7 + sym_284X)) = (128 | (*((long *) (-7 + sym_284X))));
|
|
arg1K0 = sym_284X;
|
|
goto L13213;}
|
|
else {
|
|
arg1K0 = sym_284X;
|
|
goto L13213;}}
|
|
else {
|
|
arg1K0 = sym_284X;
|
|
goto L13213;}}
|
|
L28114: {
|
|
v_285X = arg1K0;
|
|
RSvalS = v_285X;
|
|
goto START;}
|
|
L19922: {
|
|
val_286X = arg1K0;
|
|
RSvalS = val_286X;
|
|
goto START;}
|
|
L13315: {
|
|
i_287X = arg1K0;
|
|
h_288X = arg1K1;
|
|
if ((i_287X < n_304X)) {
|
|
arg1K0 = (1 + i_287X);
|
|
arg1K1 = (h_288X + ((long)((((long)(*((unsigned char *) ((-3 + arg2_300X) + i_287X))))))));
|
|
goto L13315;}
|
|
else {
|
|
index_290X = h_288X & (-1 + v_303X);
|
|
bucket_289X = *((long *) ((-3 + table_302X) + (((index_290X)<<2))));
|
|
arg1K0 = bucket_289X;
|
|
goto L13205;}}
|
|
L13213: {
|
|
new_291X = arg1K0;
|
|
*((long *) (ShpS)) = 2050;
|
|
ShpS = (4 + (ShpS));
|
|
new_292X = 3 + (ShpS);
|
|
ShpS = (8 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_292X)) = new_291X;
|
|
*((long *) (1 + new_292X)) = bucket_289X;
|
|
*((long *) ((-3 + table_302X) + (((index_290X)<<2)))) = new_292X;
|
|
arg1K0 = new_291X;
|
|
goto L19922;}
|
|
L13205: {
|
|
b_293X = arg1K0;
|
|
if ((25 == b_293X)) {
|
|
*((long *) (ShpS)) = 1030;
|
|
ShpS = (4 + (ShpS));
|
|
new_295X = 3 + (ShpS);
|
|
ShpS = (4 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_295X)) = arg2_300X;
|
|
if ((3 == (3 & new_295X))) {
|
|
if ((0 == (128 & (*((long *) (-7 + new_295X)))))) {
|
|
*((long *) (-7 + new_295X)) = (128 | (*((long *) (-7 + new_295X))));
|
|
arg1K0 = new_295X;
|
|
goto L13271;}
|
|
else {
|
|
arg1K0 = new_295X;
|
|
goto L13271;}}
|
|
else {
|
|
arg1K0 = new_295X;
|
|
goto L13271;}}
|
|
else {
|
|
merged_arg1K0 = arg2_300X;
|
|
merged_arg1K1 = (*((long *) (-3 + (*((long *) (-3 + b_293X))))));
|
|
stob_equalP_return_tag = 1;
|
|
goto stob_equalP;
|
|
stob_equalP_return_1:
|
|
v_294X = stob_equalP_return_value;
|
|
if (v_294X) {
|
|
arg1K0 = (*((long *) (-3 + b_293X)));
|
|
goto L19922;}
|
|
else {
|
|
arg1K0 = (*((long *) (1 + b_293X)));
|
|
goto L13205;}}}
|
|
L9754: {
|
|
stob_296X = arg1K0;
|
|
from_297X = 4 + (RSstackS);
|
|
arg1K0 = from_297X;
|
|
arg1K1 = (1 + stob_296X);
|
|
goto L9793;}
|
|
L9793: {
|
|
from_298X = arg1K0;
|
|
to_299X = arg1K1;
|
|
if ((from_298X < (from_297X + (((((long)b_432X))<<2))))) {
|
|
*((long *) to_299X) = (*((long *) from_298X));
|
|
arg1K0 = (4 + from_298X);
|
|
arg1K1 = (4 + to_299X);
|
|
goto L9793;}
|
|
else {
|
|
RSstackS = ((RSstackS) - ((((0 - ((long)b_432X)))<<2)));
|
|
*((long *) (-3 + stob_296X)) = (RSenvS);
|
|
RSenvS = stob_296X;
|
|
goto START;}}
|
|
L19900: {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_300X = *((long *) (RSstackS));
|
|
if ((3 == (3 & arg2_300X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + arg2_300X))))>>2))))) {
|
|
obj_301X = RSvalS;
|
|
if ((3 == (3 & obj_301X))) {
|
|
if ((2 == (31 & ((((*((long *) (-7 + obj_301X))))>>2))))) {
|
|
table_302X = RSvalS;
|
|
v_303X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + table_302X))))>>8))))>>2);
|
|
n_304X = -1 + ((long)(((unsigned long)(*((long *) (-7 + arg2_300X))))>>8));
|
|
arg1K0 = 0;
|
|
arg1K1 = 0;
|
|
goto L13315;}
|
|
else {
|
|
goto L19925;}}
|
|
else {
|
|
goto L19925;}}
|
|
else {
|
|
goto L19925;}}
|
|
else {
|
|
goto L19925;}}
|
|
L19925: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_300X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L20018: {
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_305X = *((long *) (RSstackS));
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
n_306X = (((RSvalS))>>2);
|
|
if ((3 == (3 & arg2_305X))) {
|
|
if ((0 == (31 & ((((*((long *) (-7 + arg2_305X))))>>2))))) {
|
|
goto L20144;}
|
|
else {
|
|
goto L20046;}}
|
|
else {
|
|
goto L20046;}}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_305X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}}
|
|
L20046: {
|
|
if ((25 == arg2_305X)) {
|
|
goto L20144;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_305X;
|
|
merged_arg1K2 = (((n_306X)<<2));
|
|
goto raise_exception2;}}
|
|
L20144: {
|
|
len_308X = 1 + n_306X;
|
|
*((long *) (ShpS)) = (62 + (((len_308X)<<8)));
|
|
ShpS = (4 + (ShpS));
|
|
new_307X = 3 + (ShpS);
|
|
ShpS = ((ShpS) + (-4 & (3 + len_308X)));
|
|
if ((0 < len_308X)) {
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
arg1K0 = new_307X;
|
|
goto L20063;}
|
|
else {
|
|
arg1K0 = new_307X;
|
|
goto L20063;}}
|
|
L20063: {
|
|
obj_309X = arg1K0;
|
|
arg1K0 = arg2_305X;
|
|
arg1K1 = (-1 + n_306X);
|
|
goto L20065;}
|
|
L20065: {
|
|
l_310X = arg1K0;
|
|
i_311X = arg1K1;
|
|
if ((i_311X < 0)) {
|
|
RSvalS = obj_309X;
|
|
goto START;}
|
|
else {
|
|
*((unsigned char *) ((-3 + obj_309X) + i_311X)) = ((unsigned char)((long)((((((*((long *) (-3 + l_310X))))>>8))))));
|
|
arg1K0 = (*((long *) (1 + l_310X)));
|
|
arg1K1 = (-1 + i_311X);
|
|
goto L20065;}}
|
|
L16802: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L16824: {
|
|
i_312X = arg1K0;
|
|
h_313X = arg1K1;
|
|
if ((i_312X < n_138X)) {
|
|
arg1K0 = (1 + i_312X);
|
|
arg1K1 = (h_313X + ((long)((((long)(*((unsigned char *) ((-3 + x_139X) + i_312X))))))));
|
|
goto L16824;}
|
|
else {
|
|
RSvalS = (((h_313X)<<2));
|
|
goto START;}}
|
|
L20289: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_143X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L20298: {
|
|
v_314X = arg0K0;
|
|
RSvalS = ((long)v_314X);
|
|
goto START;}
|
|
L16977: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L16974: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = x_130X;
|
|
goto raise_exception1;}
|
|
L17297: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L17365: {
|
|
i_315X = arg1K0;
|
|
if ((i_315X < ((long)count_160X))) {
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
v_316X = hoistD1((*(areas_158X + i_315X)), ((*(areas_158X + i_315X)) + (*(sizes_159X + i_315X))), x_119X);
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
if (v_316X) {
|
|
arg1K0 = (1 + i_315X);
|
|
goto L17365;}
|
|
else {
|
|
goto L17350;}}
|
|
else {
|
|
RSvalS = 13;
|
|
goto START;}}
|
|
L17350: {
|
|
ShpS = start_hp_118X;
|
|
merged_arg0K0 = 0;
|
|
goto raise_exception;}
|
|
L28758: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg3_164X;
|
|
merged_arg1K2 = arg2_163X;
|
|
merged_arg1K3 = (RSvalS);
|
|
goto raise_exception3;}
|
|
L28827: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg3_164X;
|
|
merged_arg1K2 = arg2_163X;
|
|
goto raise_exception2;}
|
|
L28742: {
|
|
resume_proc_317X = arg1K0;
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
do_gc();
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
/* Do NOT put a call to the scsh I/O gc hook post_gc_fdports() here.
|
|
** This GC is not for real -- it's for writing images, and will be
|
|
** aborted. But the part of post_gc_fdports that updates the fdports[]
|
|
** elements to point into new-space *won't* be aborted, and oops, we're
|
|
** pointing into hyperspace. This whole thing is a mess; we need to port
|
|
** to a newer Scheme 48 release that gives us structured GC hooks.
|
|
** -Olin
|
|
*/
|
|
close_untraced_portsB_return_tag = 0;
|
|
goto close_untraced_portsB;
|
|
close_untraced_portsB_return_0:
|
|
fputs("This is a Scheme48 heap image file.", port_168X);
|
|
putc(10, port_168X);
|
|
putc(12, port_168X);
|
|
putc(10, port_168X);
|
|
merged_arg1K0 = 15;
|
|
merged_arg2K1 = port_168X;
|
|
write_number_return_tag = 0;
|
|
goto write_number;
|
|
write_number_return_0:
|
|
merged_arg1K0 = 4;
|
|
merged_arg2K1 = port_168X;
|
|
write_number_return_tag = 1;
|
|
goto write_number;
|
|
write_number_return_1:
|
|
merged_arg1K0 = ((((Snewspace_beginS))>>2));
|
|
merged_arg2K1 = port_168X;
|
|
write_number_return_tag = 2;
|
|
goto write_number;
|
|
write_number_return_2:
|
|
merged_arg1K0 = ((((ShpS))>>2));
|
|
merged_arg2K1 = port_168X;
|
|
write_number_return_tag = 3;
|
|
goto write_number;
|
|
write_number_return_3:
|
|
merged_arg1K0 = resume_proc_317X;
|
|
merged_arg2K1 = port_168X;
|
|
write_number_return_tag = 4;
|
|
goto write_number;
|
|
write_number_return_4:
|
|
putc(12, port_168X);
|
|
*((long *) (ShpS)) = 1;
|
|
fwrite((void *)(ShpS), sizeof(char), ((4 + (ShpS)) - (ShpS)), port_168X);
|
|
fwrite((void *)(Snewspace_beginS), sizeof(char), ((ShpS) - (Snewspace_beginS)), port_168X);
|
|
size_318X = (ShpS) - (Snewspace_beginS);
|
|
fclose(port_168X);
|
|
b_319X = Snewspace_beginS;
|
|
Snewspace_beginS = (Soldspace_beginS);
|
|
Soldspace_beginS = b_319X;
|
|
e_320X = Snewspace_endS;
|
|
Snewspace_endS = (Soldspace_endS);
|
|
Soldspace_endS = e_320X;
|
|
SlimitS = (Ssaved_limitS);
|
|
ShpS = (Ssaved_hpS);
|
|
arg1K0 = (Snewspace_beginS);
|
|
goto L8837;}
|
|
L17473: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L20904: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_172X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L21040: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_112X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L17565: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L17562: {
|
|
v_321X = arg0K0;
|
|
RSvalS = ((long)v_321X);
|
|
goto START;}
|
|
L17718: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L17715: {
|
|
val_322X = arg1K0;
|
|
RSvalS = val_322X;
|
|
goto START;}
|
|
L17710: {
|
|
c_323X = arg1K0;
|
|
*((long *) (5 + x_109X)) = c_323X;
|
|
arg1K0 = c_323X;
|
|
goto L17715;}
|
|
L17836: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L17833: {
|
|
val_324X = arg1K0;
|
|
RSvalS = val_324X;
|
|
goto START;}
|
|
L21131: {
|
|
key_325X = arg1K0;
|
|
RSstackS = (4 + (RSstackS));
|
|
arg2_326X = *((long *) (RSstackS));
|
|
if ((3 == (3 & arg2_326X))) {
|
|
if ((15 == (31 & ((((*((long *) (-7 + arg2_326X))))>>2))))) {
|
|
if ((0 == (3 & (RSvalS)))) {
|
|
mode_327X = (((RSvalS))>>2);
|
|
arg1K0 = 0;
|
|
goto L21318;}
|
|
else {
|
|
goto L21169;}}
|
|
else {
|
|
goto L21169;}}
|
|
else {
|
|
goto L21169;}}
|
|
L21169: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_326X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L21318: {
|
|
i_328X = arg1K0;
|
|
if ((i_328X < (Snumber_of_portsS))) {
|
|
if ((1 == (*((Sopen_vm_portsS) + i_328X)))) {
|
|
arg1K0 = i_328X;
|
|
arg1K1 = arg2_326X;
|
|
goto L21205;}
|
|
else {
|
|
arg1K0 = (1 + i_328X);
|
|
goto L21318;}}
|
|
else {
|
|
arg1K0 = -1;
|
|
arg1K1 = arg2_326X;
|
|
goto L21205;}}
|
|
L21307: {
|
|
i_329X = arg1K0;
|
|
if ((i_329X < (Snumber_of_portsS))) {
|
|
if ((1 == (*((Sopen_vm_portsS) + i_329X)))) {
|
|
arg1K0 = i_329X;
|
|
goto L21249;}
|
|
else {
|
|
arg1K0 = (1 + i_329X);
|
|
goto L21307;}}
|
|
else {
|
|
arg1K0 = -1;
|
|
goto L21249;}}
|
|
L21277: {
|
|
i_330X = arg1K0;
|
|
if ((i_330X < (Snumber_of_portsS))) {
|
|
*(new_ports_335X + i_330X) = (*((Sopen_portsS) + i_330X));
|
|
*(new_vm_ports_336X + i_330X) = (*((Sopen_vm_portsS) + i_330X));
|
|
arg1K0 = (1 + i_330X);
|
|
goto L21277;}
|
|
else {
|
|
free((Sopen_portsS));
|
|
free((Sopen_vm_portsS));
|
|
Sopen_portsS = new_ports_335X;
|
|
Sopen_vm_portsS = new_vm_ports_336X;
|
|
Snumber_of_portsS = new_count_333X;
|
|
arg1K0 = old_count_334X;
|
|
arg1K1 = filename_343X;
|
|
goto L21205;}}
|
|
L21271: {
|
|
i_331X = arg1K0;
|
|
if ((i_331X < new_count_333X)) {
|
|
*(new_vm_ports_336X + i_331X) = 1;
|
|
arg1K0 = (1 + i_331X);
|
|
goto L21271;}
|
|
else {
|
|
arg1K0 = 0;
|
|
goto L21277;}}
|
|
L21260: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = filename_343X;
|
|
merged_arg1K2 = (((key_325X)<<2));
|
|
goto raise_exception2;}
|
|
L21249: {
|
|
index_332X = arg1K0;
|
|
if ((index_332X < 0)) {
|
|
new_count_333X = 8 + (Snumber_of_portsS);
|
|
old_count_334X = Snumber_of_portsS;
|
|
new_ports_335X = (FILE **)malloc(sizeof(FILE *) * new_count_333X);
|
|
new_vm_ports_336X = (long*)malloc(sizeof(long) * new_count_333X);
|
|
if ((NULL == new_ports_335X)) {
|
|
goto L21260;}
|
|
else {
|
|
if ((NULL == new_vm_ports_336X)) {
|
|
goto L21260;}
|
|
else {
|
|
arg1K0 = 0;
|
|
goto L21271;}}}
|
|
else {
|
|
arg1K0 = index_332X;
|
|
arg1K1 = filename_343X;
|
|
goto L21205;}}
|
|
L21208: {
|
|
port_337X = arg2K0;
|
|
if ((NULL == port_337X)) {
|
|
RSvalS = 1;
|
|
goto START;}
|
|
else {
|
|
*((long *) (ShpS)) = 4118;
|
|
ShpS = (4 + (ShpS));
|
|
new_338X = 3 + (ShpS);
|
|
ShpS = (16 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_338X)) = (((mode_327X)<<2));
|
|
*((long *) (1 + new_338X)) = (((index_339X)<<2));
|
|
*((long *) (5 + new_338X)) = 1;
|
|
*((long *) (9 + new_338X)) = filename_340X;
|
|
*((Sopen_portsS) + index_339X) = port_337X;
|
|
*((Sopen_vm_portsS) + index_339X) = new_338X;
|
|
RSvalS = new_338X;
|
|
goto START;}}
|
|
L21205: {
|
|
index_339X = arg1K0;
|
|
filename_340X = arg1K1;
|
|
if ((index_339X < 0)) {
|
|
merged_arg1K0 = filename_340X;
|
|
collect_saving_temp_return_tag = 12;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_12:
|
|
filename_343X = collect_saving_temp_return_value;
|
|
arg1K0 = 0;
|
|
goto L21307;}
|
|
else {
|
|
if ((2 == mode_327X)) {
|
|
merged_arg1K0 = filename_340X;
|
|
extract_string_return_tag = 1;
|
|
goto extract_string;
|
|
extract_string_return_1:
|
|
spec_341X = extract_string_return_value;
|
|
arg2K0 = (ps_open(spec_341X, "wb"));
|
|
goto L21208;}
|
|
else {
|
|
merged_arg1K0 = filename_340X;
|
|
extract_string_return_tag = 2;
|
|
goto extract_string;
|
|
extract_string_return_2:
|
|
spec_342X = extract_string_return_value;
|
|
arg2K0 = (ps_open(spec_342X, "rb"));
|
|
goto L21208;}}}
|
|
L21413: {
|
|
if ((1 == (RSvalS))) {
|
|
*((long *) (-3 + arg2_186X)) = 273;
|
|
goto L21438;}
|
|
else {
|
|
if ((17 == (255 & (*((long *) (-3 + arg2_186X)))))) {
|
|
*((long *) (-3 + arg2_186X)) = 529;
|
|
goto L21438;}
|
|
else {
|
|
goto L21438;}}}
|
|
L21441: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_186X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L21438: {
|
|
RSvalS = 13;
|
|
goto START;}
|
|
L18255: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L18264: {
|
|
v_344X = arg0K0;
|
|
RSvalS = ((long)v_344X);
|
|
goto START;}
|
|
L24504: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg3_189X;
|
|
merged_arg1K2 = arg2_188X;
|
|
merged_arg1K3 = (RSvalS);
|
|
goto raise_exception3;}
|
|
L24497: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg3_189X;
|
|
merged_arg1K2 = (((index_191X)<<2));
|
|
merged_arg1K3 = (9 + (((((long)(Kchar_190X)))<<8)));
|
|
goto raise_exception3;}
|
|
L21618: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_101X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L21613: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_101X;
|
|
merged_arg1K2 = (((index_193X)<<2));
|
|
goto raise_exception2;}
|
|
L21857: {
|
|
len_346X = 1 + len_197X;
|
|
*((long *) (ShpS)) = (62 + (((len_346X)<<8)));
|
|
ShpS = (4 + (ShpS));
|
|
new_345X = 3 + (ShpS);
|
|
ShpS = ((ShpS) + (-4 & (3 + len_346X)));
|
|
if ((0 < len_346X)) {
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
arg1K0 = new_345X;
|
|
goto L21781;}
|
|
else {
|
|
arg1K0 = new_345X;
|
|
goto L21781;}}
|
|
L21806: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_195X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L21763: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (((len_197X)<<2));
|
|
merged_arg1K2 = (9 + (((((long)(init_196X)))<<8)));
|
|
goto raise_exception2;}
|
|
L21781: {
|
|
string_347X = arg1K0;
|
|
arg1K0 = (-1 + len_197X);
|
|
goto L21783;}
|
|
L21783: {
|
|
i_348X = arg1K0;
|
|
if ((i_348X < 0)) {
|
|
RSvalS = string_347X;
|
|
goto START;}
|
|
else {
|
|
*((unsigned char *) ((-3 + string_347X) + i_348X)) = ((unsigned char)((long)(init_196X)));
|
|
arg1K0 = (-1 + i_348X);
|
|
goto L21783;}}
|
|
L24678: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg3_98X;
|
|
merged_arg1K2 = arg2_99X;
|
|
merged_arg1K3 = (RSvalS);
|
|
goto raise_exception3;}
|
|
L24671: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg3_98X;
|
|
merged_arg1K2 = (((index_200X)<<2));
|
|
merged_arg1K3 = (((value_199X)<<2));
|
|
goto raise_exception3;}
|
|
L22033: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_97X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L22028: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_97X;
|
|
merged_arg1K2 = (((index_202X)<<2));
|
|
goto raise_exception2;}
|
|
L22270: {
|
|
*((long *) (ShpS)) = (66 + (((len_94X)<<8)));
|
|
ShpS = (4 + (ShpS));
|
|
new_349X = 3 + (ShpS);
|
|
ShpS = ((ShpS) + (-4 & (3 + len_94X)));
|
|
if ((0 < len_94X)) {
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
arg1K0 = new_349X;
|
|
goto L22196;}
|
|
else {
|
|
arg1K0 = new_349X;
|
|
goto L22196;}}
|
|
L22178: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (((len_94X)<<2));
|
|
merged_arg1K2 = (((init_95X)<<2));
|
|
goto raise_exception2;}
|
|
L22196: {
|
|
code_vector_350X = arg1K0;
|
|
arg1K0 = (-1 + len_94X);
|
|
goto L22198;}
|
|
L22198: {
|
|
i_351X = arg1K0;
|
|
if ((i_351X < 0)) {
|
|
RSvalS = code_vector_350X;
|
|
goto START;}
|
|
else {
|
|
*((unsigned char *) ((-3 + code_vector_350X) + i_351X)) = ((unsigned char)init_95X);
|
|
arg1K0 = (-1 + i_351X);
|
|
goto L22198;}}
|
|
L25476: {
|
|
merged_arg0K0 = 1;
|
|
merged_arg1K1 = arg3_206X;
|
|
merged_arg1K2 = (((((long)b_90X))<<2));
|
|
merged_arg1K3 = (((index_91X)<<2));
|
|
merged_arg1K4 = x_92X;
|
|
goto raise_exception4;}
|
|
L24845: {
|
|
merged_arg0K0 = 1;
|
|
merged_arg1K1 = arg2_207X;
|
|
merged_arg1K2 = (((((long)b_87X))<<2));
|
|
merged_arg1K3 = (((index_88X)<<2));
|
|
goto raise_exception3;}
|
|
L25022: {
|
|
merged_arg0K0 = 1;
|
|
merged_arg1K1 = (((((long)b_83X))<<2));
|
|
merged_arg1K2 = (((len_84X)<<2));
|
|
merged_arg1K3 = x_85X;
|
|
goto raise_exception3;}
|
|
L25038: {
|
|
val_352X = arg1K0;
|
|
arg1K0 = (-1 + len_84X);
|
|
goto L25040;}
|
|
L25040: {
|
|
i_353X = arg1K0;
|
|
if ((i_353X < 0)) {
|
|
RSvalS = val_352X;
|
|
goto START;}
|
|
else {
|
|
*((long *) ((-3 + val_352X) + (((i_353X)<<2)))) = init_355X;
|
|
arg1K0 = (-1 + i_353X);
|
|
goto L25040;}}
|
|
L25027: {
|
|
okayP_354X = arg3K0;
|
|
init_355X = arg1K1;
|
|
if (okayP_354X) {
|
|
len_357X = ((len_84X)<<2);
|
|
*((long *) (ShpS)) = (2 + (((((((len_357X)<<6)) + ((long)b_83X)))<<2)));
|
|
ShpS = (4 + (ShpS));
|
|
new_356X = 3 + (ShpS);
|
|
ShpS = ((ShpS) + (-4 & (3 + len_357X)));
|
|
if ((0 < len_357X)) {
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
arg1K0 = new_356X;
|
|
goto L25038;}
|
|
else {
|
|
arg1K0 = new_356X;
|
|
goto L25038;}}
|
|
else {
|
|
merged_arg0K0 = 1;
|
|
merged_arg1K1 = (((((long)b_83X))<<2));
|
|
merged_arg1K2 = (((len_84X)<<2));
|
|
merged_arg1K3 = init_355X;
|
|
goto raise_exception3;}}
|
|
L25732: {
|
|
merged_arg0K0 = 2;
|
|
merged_arg1K1 = arg2_80X;
|
|
merged_arg1K2 = (((((long)b_78X))<<2));
|
|
merged_arg1K3 = (((((long)b_77X))<<2));
|
|
merged_arg1K4 = x_79X;
|
|
goto raise_exception4;}
|
|
L25259: {
|
|
merged_arg0K0 = 2;
|
|
merged_arg1K1 = x_209X;
|
|
merged_arg1K2 = (((((long)b_210X))<<2));
|
|
merged_arg1K3 = (((((long)b_211X))<<2));
|
|
goto raise_exception3;}
|
|
L16631: {
|
|
b_361X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
b_360X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
len_359X = ((((long)b_361X))<<2);
|
|
*((long *) (ShpS)) = (2 + (((((((len_359X)<<6)) + ((long)b_360X)))<<2)));
|
|
ShpS = (4 + (ShpS));
|
|
new_358X = 3 + (ShpS);
|
|
ShpS = ((ShpS) + (-4 & (3 + len_359X)));
|
|
if ((0 < len_359X)) {
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
arg1K0 = new_358X;
|
|
goto L16639;}
|
|
else {
|
|
arg1K0 = new_358X;
|
|
goto L16639;}}
|
|
L16639: {
|
|
new_362X = arg1K0;
|
|
if ((((long)b_361X) < 1)) {
|
|
goto L16670;}
|
|
else {
|
|
*((long *) (-7 + (new_362X + (((((long)b_361X))<<2))))) = (RSvalS);
|
|
arg1K0 = (-2 + ((long)b_361X));
|
|
goto L16648;}}
|
|
L16670: {
|
|
RSvalS = new_362X;
|
|
goto START;}
|
|
L16648: {
|
|
i_363X = arg1K0;
|
|
if ((i_363X < 0)) {
|
|
goto L16670;}
|
|
else {
|
|
RSstackS = (4 + (RSstackS));
|
|
*((long *) ((-3 + new_362X) + (((i_363X)<<2)))) = (*((long *) (RSstackS)));
|
|
arg1K0 = (-1 + i_363X);
|
|
goto L16648;}}
|
|
L22430: {
|
|
merged_arg0K0 = 1;
|
|
merged_arg1K1 = x_212X;
|
|
merged_arg1K2 = (((((long)b_213X))<<2));
|
|
goto raise_exception2;}
|
|
L22717: {
|
|
RSvalS = (((result_68X)<<2));
|
|
goto START;}
|
|
L22714: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_220X;
|
|
merged_arg1K2 = x_72X;
|
|
goto raise_exception2;}
|
|
L23274: {
|
|
n_364X = arg1K0;
|
|
RSvalS = (((n_364X)<<2));
|
|
goto START;}
|
|
L23270: {
|
|
b_365X = arg1K0;
|
|
c_366X = a_367X % b_365X;
|
|
if ((a_224X < 0)) {
|
|
arg1K0 = (0 - c_366X);
|
|
goto L23274;}
|
|
else {
|
|
arg1K0 = c_366X;
|
|
goto L23274;}}
|
|
L23268: {
|
|
a_367X = arg1K0;
|
|
if ((b_225X < 0)) {
|
|
arg1K0 = (0 - b_225X);
|
|
goto L23270;}
|
|
else {
|
|
arg1K0 = b_225X;
|
|
goto L23270;}}
|
|
L23407: {
|
|
if ((536870911 < c_369X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_58X;
|
|
merged_arg1K2 = x_226X;
|
|
goto raise_exception2;}
|
|
else {
|
|
RSvalS = (((c_369X)<<2));
|
|
goto START;}}
|
|
L23404: {
|
|
RSvalS = ((((0 - c_369X))<<2));
|
|
goto START;}
|
|
L23401: {
|
|
b_368X = arg1K0;
|
|
c_369X = a_370X / b_368X;
|
|
if ((a_227X < 0)) {
|
|
if ((b_228X < 0)) {
|
|
goto L23407;}
|
|
else {
|
|
goto L23404;}}
|
|
else {
|
|
if ((b_228X < 0)) {
|
|
goto L23404;}
|
|
else {
|
|
goto L23407;}}}
|
|
L23399: {
|
|
a_370X = arg1K0;
|
|
if ((b_228X < 0)) {
|
|
arg1K0 = (0 - b_228X);
|
|
goto L23401;}
|
|
else {
|
|
arg1K0 = b_228X;
|
|
goto L23401;}}
|
|
L23777: {
|
|
if ((536870911 < c_379X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_55X;
|
|
merged_arg1K2 = x_231X;
|
|
goto raise_exception2;}
|
|
else {
|
|
arg1K0 = (((c_379X)<<2));
|
|
goto L23740;}}
|
|
L23753: {
|
|
n_371X = arg1K0;
|
|
if ((0 == (((n_371X)<<2)))) {
|
|
RSvalS = q_375X;
|
|
goto START;}
|
|
else {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_55X;
|
|
merged_arg1K2 = x_231X;
|
|
goto raise_exception2;}}
|
|
L23749: {
|
|
b_372X = arg1K0;
|
|
c_373X = a_374X % b_372X;
|
|
if ((a_376X < 0)) {
|
|
arg1K0 = (0 - c_373X);
|
|
goto L23753;}
|
|
else {
|
|
arg1K0 = c_373X;
|
|
goto L23753;}}
|
|
L23747: {
|
|
a_374X = arg1K0;
|
|
if ((b_377X < 0)) {
|
|
arg1K0 = (0 - b_377X);
|
|
goto L23749;}
|
|
else {
|
|
arg1K0 = b_377X;
|
|
goto L23749;}}
|
|
L23740: {
|
|
q_375X = arg1K0;
|
|
if ((0 == x_231X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_55X;
|
|
merged_arg1K2 = x_231X;
|
|
goto raise_exception2;}
|
|
else {
|
|
a_376X = ((arg2_55X)>>2);
|
|
b_377X = ((x_231X)>>2);
|
|
if ((a_376X < 0)) {
|
|
arg1K0 = (0 - a_376X);
|
|
goto L23747;}
|
|
else {
|
|
arg1K0 = a_376X;
|
|
goto L23747;}}}
|
|
L23736: {
|
|
b_378X = arg1K0;
|
|
c_379X = a_380X / b_378X;
|
|
if ((a_232X < 0)) {
|
|
if ((b_233X < 0)) {
|
|
goto L23777;}
|
|
else {
|
|
arg1K0 = ((((0 - c_379X))<<2));
|
|
goto L23740;}}
|
|
else {
|
|
if ((b_233X < 0)) {
|
|
arg1K0 = ((((0 - c_379X))<<2));
|
|
goto L23740;}
|
|
else {
|
|
goto L23777;}}}
|
|
L23734: {
|
|
a_380X = arg1K0;
|
|
if ((b_233X < 0)) {
|
|
arg1K0 = (0 - b_233X);
|
|
goto L23736;}
|
|
else {
|
|
arg1K0 = b_233X;
|
|
goto L23736;}}
|
|
L23940: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_54X;
|
|
merged_arg1K2 = x_234X;
|
|
goto raise_exception2;}
|
|
L24090: {
|
|
if ((536870911 < c_388X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_53X;
|
|
merged_arg1K2 = x_236X;
|
|
goto raise_exception2;}
|
|
else {
|
|
RSvalS = (((c_388X)<<2));
|
|
goto START;}}
|
|
L24083: {
|
|
if ((536870912 < c_388X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_53X;
|
|
merged_arg1K2 = x_236X;
|
|
goto raise_exception2;}
|
|
else {
|
|
RSvalS = ((((0 - c_388X))<<2));
|
|
goto START;}}
|
|
L24079: {
|
|
if ((536870911 < lo_c_386X)) {
|
|
goto L24074;}
|
|
else {
|
|
if ((lo_c_386X < 0)) {
|
|
goto L24074;}
|
|
else {
|
|
if ((8192 < mid_c_387X)) {
|
|
goto L24074;}
|
|
else {
|
|
if ((a_237X < 0)) {
|
|
if ((b_238X < 0)) {
|
|
goto L24090;}
|
|
else {
|
|
goto L24083;}}
|
|
else {
|
|
if ((b_238X < 0)) {
|
|
goto L24083;}
|
|
else {
|
|
goto L24090;}}}}}}
|
|
L24074: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_53X;
|
|
merged_arg1K2 = x_236X;
|
|
goto raise_exception2;}
|
|
L24059: {
|
|
b_381X = arg1K0;
|
|
lo_a_382X = 65535 & a_389X;
|
|
lo_b_383X = 65535 & b_381X;
|
|
hi_a_384X = 65535 & (((a_389X)>>16));
|
|
hi_b_385X = 65535 & (((b_381X)>>16));
|
|
lo_c_386X = PS_SMALL_MULTIPLY(lo_a_382X, lo_b_383X);
|
|
mid_c_387X = (PS_SMALL_MULTIPLY(lo_a_382X, hi_b_385X)) + (PS_SMALL_MULTIPLY(lo_b_383X, hi_a_384X));
|
|
c_388X = lo_c_386X + (((mid_c_387X)<<16));
|
|
if ((0 < hi_a_384X)) {
|
|
if ((0 < hi_b_385X)) {
|
|
goto L24074;}
|
|
else {
|
|
goto L24079;}}
|
|
else {
|
|
goto L24079;}}
|
|
L24057: {
|
|
a_389X = arg1K0;
|
|
if ((b_238X < 0)) {
|
|
arg1K0 = (0 - b_238X);
|
|
goto L24059;}
|
|
else {
|
|
arg1K0 = b_238X;
|
|
goto L24059;}}
|
|
L24263: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_239X;
|
|
merged_arg1K2 = x_52X;
|
|
goto raise_exception2;}
|
|
L28572: {
|
|
offset_390X = arg1K0;
|
|
RScode_pointerS = ((RScode_pointerS) + offset_390X);
|
|
goto START;}
|
|
L25344: {
|
|
RSvalS = proc_36X;
|
|
merged_arg0K0 = 0;
|
|
goto perform_application;}
|
|
L15148: {
|
|
RSstackS = (4 + (RSstackS));
|
|
list_391X = *((long *) (RSstackS));
|
|
a_392X = *((long *) (-3 + list_391X));
|
|
*((long *) (ShpS)) = 2050;
|
|
ShpS = (4 + (ShpS));
|
|
new_393X = 3 + (ShpS);
|
|
ShpS = (8 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_393X)) = a_392X;
|
|
*((long *) (1 + new_393X)) = 25;
|
|
arg1K0 = (*((long *) (1 + list_391X)));
|
|
arg1K1 = new_393X;
|
|
goto L15158;}
|
|
L15158: {
|
|
l_394X = arg1K0;
|
|
last_395X = arg1K1;
|
|
if ((25 == l_394X)) {
|
|
*((long *) (RSstackS)) = new_393X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
SnargsS = 64;
|
|
goto L25344;}
|
|
else {
|
|
a_397X = *((long *) (-3 + l_394X));
|
|
*((long *) (ShpS)) = 2050;
|
|
ShpS = (4 + (ShpS));
|
|
new_396X = 3 + (ShpS);
|
|
ShpS = (8 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_396X)) = a_397X;
|
|
*((long *) (1 + new_396X)) = 25;
|
|
*((long *) (1 + last_395X)) = new_396X;
|
|
arg1K0 = (*((long *) (1 + l_394X)));
|
|
arg1K1 = new_396X;
|
|
goto L15158;}}
|
|
L15374: {
|
|
i_398X = arg1K0;
|
|
l_399X = arg1K1;
|
|
if ((0 < i_398X)) {
|
|
*((long *) (RSstackS)) = (*((long *) (-3 + l_399X)));
|
|
RSstackS = (-4 + (RSstackS));
|
|
arg1K0 = (-1 + i_398X);
|
|
arg1K1 = (*((long *) (1 + l_399X)));
|
|
goto L15374;}
|
|
else {
|
|
if ((0 == overflow_401X)) {
|
|
SnargsS = nargs_407X;
|
|
goto L25344;}
|
|
else {
|
|
*((long *) (RSstackS)) = l_399X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
space_400X = 3 * overflow_401X;
|
|
if ((((ShpS) + (((space_400X)<<2))) < (SlimitS))) {
|
|
goto L15148;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 13;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_13:
|
|
if ((((ShpS) + (((space_400X)<<2))) < (SlimitS))) {
|
|
goto L15148;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
goto L15148;}}}}}
|
|
L15338: {
|
|
overflow_401X = arg1K0;
|
|
arg1K0 = (len_404X - overflow_401X);
|
|
arg1K1 = args_408X;
|
|
goto L15374;}
|
|
L25378: {
|
|
merged_arg1K0 = 25;
|
|
merged_arg1K1 = ((long)(*((unsigned char *) (RScode_pointerS))));
|
|
pop_args_list_return_tag = 2;
|
|
goto pop_args_list;
|
|
pop_args_list_return_2:
|
|
args_402X = pop_args_list_return_value;
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = proc_36X;
|
|
merged_arg1K2 = args_402X;
|
|
merged_arg1K3 = (RSvalS);
|
|
goto raise_exception3;}
|
|
L25376: {
|
|
fast_403X = arg1K0;
|
|
len_404X = arg1K1;
|
|
slow_405X = arg1K2;
|
|
move_slowP_406X = arg3K3;
|
|
if ((25 == fast_403X)) {
|
|
args_408X = RSvalS;
|
|
nargs_407X = len_404X + ((long)(*((unsigned char *) (RScode_pointerS))));
|
|
if ((63 < nargs_407X)) {
|
|
arg1K0 = (-63 + nargs_407X);
|
|
goto L15338;}
|
|
else {
|
|
arg1K0 = 0;
|
|
goto L15338;}}
|
|
else {
|
|
if ((3 == (3 & fast_403X))) {
|
|
if ((0 == (31 & ((((*((long *) (-7 + fast_403X))))>>2))))) {
|
|
if (move_slowP_406X) {
|
|
if ((fast_403X == slow_405X)) {
|
|
merged_arg1K0 = 25;
|
|
merged_arg1K1 = ((long)(*((unsigned char *) (RScode_pointerS))));
|
|
pop_args_list_return_tag = 3;
|
|
goto pop_args_list;
|
|
pop_args_list_return_3:
|
|
args_409X = pop_args_list_return_value;
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = proc_36X;
|
|
merged_arg1K2 = args_409X;
|
|
merged_arg1K3 = (RSvalS);
|
|
goto raise_exception3;}
|
|
else {
|
|
arg1K0 = (*((long *) (1 + fast_403X)));
|
|
arg1K1 = (1 + len_404X);
|
|
arg1K2 = (*((long *) (1 + slow_405X)));
|
|
arg3K3 = 0;
|
|
goto L25376;}}
|
|
else {
|
|
arg1K0 = (*((long *) (1 + fast_403X)));
|
|
arg1K1 = (1 + len_404X);
|
|
arg1K2 = slow_405X;
|
|
arg3K3 = 1;
|
|
goto L25376;}}
|
|
else {
|
|
goto L25378;}}
|
|
else {
|
|
goto L25378;}}}
|
|
L15912: {
|
|
merged_arg0K0 = 0;
|
|
goto perform_application;}
|
|
L15929: {
|
|
loc_410X = arg1K0;
|
|
arg_411X = arg1K1;
|
|
if (((RSstackS) < arg_411X)) {
|
|
*((long *) loc_410X) = (*((long *) arg_411X));
|
|
arg1K0 = (-4 + loc_410X);
|
|
arg1K1 = (-4 + arg_411X);
|
|
goto L15929;}
|
|
else {
|
|
RSstackS = loc_410X;
|
|
goto L15912;}}
|
|
L28365: {
|
|
v_412X = arg1K0;
|
|
ScontS = v_412X;
|
|
goto START;}
|
|
L28247: {
|
|
key_413X = arg1K0;
|
|
merged_arg1K0 = ((RScode_pointerS) + ((((((long)b_254X))<<8)) + ((long)b_255X)));
|
|
merged_arg1K1 = ((long)b_256X);
|
|
merged_arg1K2 = key_413X;
|
|
push_continuationB_return_tag = 0;
|
|
goto push_continuationB;
|
|
push_continuationB_return_0:
|
|
goto START;}
|
|
L28264: {
|
|
v_414X = arg1K0;
|
|
merged_arg1K0 = v_414X;
|
|
copy_stack_into_heap_return_tag = 0;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_0:
|
|
arg1K0 = 0;
|
|
goto L28247;}
|
|
L28104: {
|
|
space_415X = arg1K0;
|
|
if ((((ShpS) + (((space_415X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L28106;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 14;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_14:
|
|
if ((((ShpS) + (((space_415X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L28106;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
arg1K0 = 0;
|
|
goto L28106;}}}
|
|
L28106: {
|
|
key_416X = arg1K0;
|
|
p_417X = RSenvS;
|
|
if ((p_417X < (Sstack_beginS))) {
|
|
arg1K0 = (RSenvS);
|
|
goto L28108;}
|
|
else {
|
|
if (((Sstack_endS) < p_417X)) {
|
|
arg1K0 = (RSenvS);
|
|
goto L28108;}
|
|
else {
|
|
merged_arg1K0 = (RSenvS);
|
|
merged_arg1K1 = (ScontS);
|
|
merged_arg1K2 = key_416X;
|
|
merged_arg0K3 = 0;
|
|
save_env_in_heap_return_tag = 0;
|
|
goto save_env_in_heap;
|
|
save_env_in_heap_return_0:
|
|
v_418X = save_env_in_heap_return_value;
|
|
RSenvS = v_418X;
|
|
arg1K0 = (RSenvS);
|
|
goto L28108;}}}
|
|
L28108: {
|
|
env_419X = arg1K0;
|
|
if (((12 + (ShpS)) < (SlimitS))) {
|
|
goto L28110;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 15;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_15:
|
|
if (((12 + (ShpS)) < (SlimitS))) {
|
|
goto L28110;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
goto L28110;}}}
|
|
L28110: {
|
|
b_420X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
a_421X = *((long *) ((-3 + (StemplateS)) + (((((long)b_420X))<<2))));
|
|
*((long *) (ShpS)) = 2062;
|
|
ShpS = (4 + (ShpS));
|
|
new_422X = 3 + (ShpS);
|
|
ShpS = (8 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_422X)) = a_421X;
|
|
*((long *) (1 + new_422X)) = env_419X;
|
|
if ((3 == (3 & new_422X))) {
|
|
if ((0 == (128 & (*((long *) (-7 + new_422X)))))) {
|
|
*((long *) (-7 + new_422X)) = (128 | (*((long *) (-7 + new_422X))));
|
|
arg1K0 = new_422X;
|
|
goto L28114;}
|
|
else {
|
|
arg1K0 = new_422X;
|
|
goto L28114;}}
|
|
else {
|
|
arg1K0 = new_422X;
|
|
goto L28114;}}
|
|
L28006: {
|
|
env_423X = arg1K0;
|
|
i_424X = arg1K1;
|
|
if ((0 == i_424X)) {
|
|
b_425X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
*((long *) ((-3 + env_423X) + (((((long)b_425X))<<2)))) = (RSvalS);
|
|
RSvalS = 13;
|
|
goto START;}
|
|
else {
|
|
arg1K0 = (*((long *) (-3 + env_423X)));
|
|
arg1K1 = (-1 + i_424X);
|
|
goto L28006;}}
|
|
L27698: {
|
|
env_426X = arg1K0;
|
|
i_427X = arg1K1;
|
|
if ((0 == i_427X)) {
|
|
b_428X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
RSvalS = (*((long *) ((-3 + env_426X) + (((((long)b_428X))<<2)))));
|
|
if ((529 == (RSvalS))) {
|
|
merged_arg0K0 = 2;
|
|
goto raise_exception;}
|
|
else {
|
|
goto START;}}
|
|
else {
|
|
arg1K0 = (*((long *) (-3 + env_426X)));
|
|
arg1K1 = (-1 + i_427X);
|
|
goto L27698;}}
|
|
L27934: {
|
|
args_429X = arg1K0;
|
|
RSvalS = args_429X;
|
|
SnargsS = (1 + ((long)b_268X));
|
|
goto START;}
|
|
L27866: {
|
|
b_432X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
len_431X = 4 + (((((long)b_432X))<<2));
|
|
*((long *) (ShpS)) = (10 + (((len_431X)<<8)));
|
|
ShpS = (4 + (ShpS));
|
|
new_430X = 3 + (ShpS);
|
|
ShpS = ((ShpS) + (-4 & (3 + len_431X)));
|
|
if ((0 < len_431X)) {
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
arg1K0 = new_430X;
|
|
goto L9754;}
|
|
else {
|
|
arg1K0 = new_430X;
|
|
goto L9754;}}
|
|
L27800: {
|
|
b_433X = *((unsigned char *) (RScode_pointerS));
|
|
RScode_pointerS = (1 + (RScode_pointerS));
|
|
*((long *) (RSstackS)) = (RSenvS);
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = (1034 + (((((long)b_433X))<<10)));
|
|
RSstackS = (-4 + (RSstackS));
|
|
RSenvS = (11 + (RSstackS));
|
|
goto START;}
|
|
L27833: {
|
|
v_434X = arg1K0;
|
|
merged_arg1K0 = v_434X;
|
|
copy_stack_into_heap_return_tag = 1;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_1:
|
|
goto L27800;}
|
|
L31145: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = proc_151X;
|
|
goto raise_exception1;}
|
|
L31092: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L31073: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L30952: {
|
|
v_435X = arg0K0;
|
|
RSvalS = ((long)v_435X);
|
|
goto START;}
|
|
L30934: {
|
|
v_436X = arg0K0;
|
|
RSvalS = ((long)v_436X);
|
|
goto START;}
|
|
L30912: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L30891: {
|
|
RSvalS = x_185X;
|
|
goto START;}
|
|
L30876: {
|
|
v_437X = arg0K0;
|
|
RSvalS = ((long)v_437X);
|
|
goto START;}
|
|
L30840: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L30809: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (RSvalS);
|
|
goto raise_exception1;}
|
|
L30762: {
|
|
v_438X = arg0K0;
|
|
RSvalS = ((long)v_438X);
|
|
goto START;}
|
|
L30744: {
|
|
v_439X = arg0K0;
|
|
RSvalS = ((long)v_439X);
|
|
goto START;}
|
|
L30722: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = (((x_73X)<<2));
|
|
goto raise_exception1;}
|
|
L30691: {
|
|
v_440X = arg0K0;
|
|
RSvalS = ((long)v_440X);
|
|
goto START;}
|
|
L30679: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_215X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L30662: {
|
|
v_441X = arg0K0;
|
|
RSvalS = ((long)v_441X);
|
|
goto START;}
|
|
L30650: {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = arg2_217X;
|
|
merged_arg1K2 = (RSvalS);
|
|
goto raise_exception2;}
|
|
L30635: {
|
|
v_442X = arg0K0;
|
|
RSvalS = ((long)v_442X);
|
|
goto START;}
|
|
L30507: {
|
|
r_443X = arg1K0;
|
|
if ((536870911 < r_443X)) {
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = x_222X;
|
|
goto raise_exception1;}
|
|
else {
|
|
RSvalS = (((r_443X)<<2));
|
|
goto START;}}
|
|
L30319: {
|
|
v_444X = arg0K0;
|
|
RSvalS = ((long)v_444X);
|
|
goto START;}
|
|
L30295: {
|
|
v_445X = arg0K0;
|
|
RSvalS = ((long)v_445X);
|
|
goto START;}
|
|
L30212: {
|
|
RSvalS = 1;
|
|
goto START;}
|
|
L30185: {
|
|
RSvalS = 1;
|
|
goto START;}
|
|
L30158: {
|
|
RSvalS = 1;
|
|
goto START;}
|
|
L30131: {
|
|
RSvalS = 1;
|
|
goto START;}
|
|
L30113: {
|
|
v_446X = arg0K0;
|
|
RSvalS = ((long)v_446X);
|
|
goto START;}
|
|
L30099: {
|
|
v_447X = arg0K0;
|
|
RSvalS = ((long)v_447X);
|
|
goto START;}
|
|
L29978: {
|
|
v_448X = arg1K0;
|
|
ScontS = v_448X;
|
|
SnargsS = 0;
|
|
merged_arg0K0 = 0;
|
|
goto perform_application;}
|
|
L29948: {
|
|
key_449X = arg1K0;
|
|
merged_arg1K0 = key_449X;
|
|
merged_arg0K1 = 2;
|
|
preserve_continuation_return_tag = 0;
|
|
goto preserve_continuation;
|
|
preserve_continuation_return_0:
|
|
v_450X = preserve_continuation_return_value;
|
|
RSvalS = v_450X;
|
|
goto START;}
|
|
raise_exception: {
|
|
args_676X = merged_arg0K0;{
|
|
push_exception_continuationB_return_tag = 0;
|
|
goto push_exception_continuationB;
|
|
push_exception_continuationB_return_0:
|
|
*((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_676X)))))))<<2));
|
|
RSstackS = (-4 + (RSstackS));
|
|
merged_arg0K0 = 0;
|
|
goto raise;}}
|
|
|
|
return_values: {
|
|
nargs_674X = merged_arg1K0;{
|
|
if ((1 == nargs_674X)) {
|
|
RSstackS = (4 + (RSstackS));
|
|
RSvalS = (*((long *) (RSstackS)));
|
|
cont_451X = ScontS;
|
|
tem_452X = *((long *) (5 + cont_451X));
|
|
pc_453X = *((long *) (1 + cont_451X));
|
|
StemplateS = tem_452X;
|
|
RScode_pointerS = ((-3 + (*((long *) (-3 + tem_452X)))) + (((pc_453X)>>2)));
|
|
RSenvS = (*((long *) (9 + cont_451X)));
|
|
ScontS = (*((long *) (-3 + cont_451X)));
|
|
RSstackS = (9 + cont_451X);
|
|
goto START;}
|
|
else {
|
|
if (((ScontS) == (Sbottom_of_stackS))) {
|
|
arg1K0 = (*((long *) (-3 + (Sbottom_of_stackS))));
|
|
goto L27410;}
|
|
else {
|
|
arg1K0 = (ScontS);
|
|
goto L27410;}}}
|
|
L27360: {
|
|
args_465X = arg1K0;
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = args_465X;
|
|
goto raise_exception1;}
|
|
L27307: {
|
|
SnargsS = nargs_674X;
|
|
RSvalS = (*((long *) (13 + cont_457X)));
|
|
merged_arg0K0 = 0;
|
|
goto perform_application;}
|
|
L27410: {
|
|
cont_457X = arg1K0;
|
|
if ((3 == (3 & cont_457X))) {
|
|
if ((8 == (31 & ((((*((long *) (-7 + cont_457X))))>>2))))) {
|
|
next_op_459X = *((unsigned char *) ((-3 + (*((long *) (-3 + (*((long *) (5 + cont_457X))))))) + ((((*((long *) (1 + cont_457X))))>>2))));
|
|
if ((31 == ((long)next_op_459X))) {
|
|
cont_462X = ScontS;
|
|
tem_463X = *((long *) (5 + cont_462X));
|
|
pc_464X = *((long *) (1 + cont_462X));
|
|
StemplateS = tem_463X;
|
|
RScode_pointerS = ((-3 + (*((long *) (-3 + tem_463X)))) + (((pc_464X)>>2)));
|
|
RSenvS = (*((long *) (9 + cont_462X)));
|
|
ScontS = (*((long *) (-3 + cont_462X)));
|
|
RSstackS = (9 + cont_462X);
|
|
goto START;}
|
|
else {
|
|
if ((27 == ((long)next_op_459X))) {
|
|
next_461X = *((long *) (-3 + (ScontS)));
|
|
if (((ScontS) == (Sbottom_of_stackS))) {
|
|
*((long *) (-3 + (ScontS))) = (*((long *) (-3 + next_461X)));
|
|
goto L27307;}
|
|
else {
|
|
ScontS = next_461X;
|
|
goto L27307;}}
|
|
else {
|
|
if ((64 == nargs_674X)) {
|
|
RSstackS = (4 + (RSstackS));
|
|
merged_arg1K0 = (*((long *) (RSstackS)));
|
|
merged_arg1K1 = 63;
|
|
pop_args_list_return_tag = 4;
|
|
goto pop_args_list;
|
|
pop_args_list_return_4:
|
|
v_458X = pop_args_list_return_value;
|
|
arg1K0 = v_458X;
|
|
goto L27360;}
|
|
else {
|
|
merged_arg1K0 = 25;
|
|
merged_arg1K1 = nargs_674X;
|
|
pop_args_list_return_tag = 5;
|
|
goto pop_args_list;
|
|
pop_args_list_return_5:
|
|
v_460X = pop_args_list_return_value;
|
|
arg1K0 = v_460X;
|
|
goto L27360;}}}}
|
|
else {
|
|
goto L27418;}}
|
|
else {
|
|
goto L27418;}}
|
|
L27418: {
|
|
if ((64 == nargs_674X)) {
|
|
RSstackS = (4 + (RSstackS));
|
|
merged_arg1K0 = (*((long *) (RSstackS)));
|
|
merged_arg1K1 = 63;
|
|
pop_args_list_return_tag = 6;
|
|
goto pop_args_list;
|
|
pop_args_list_return_6:
|
|
v_456X = pop_args_list_return_value;
|
|
arg1K0 = v_456X;
|
|
goto L27448;}
|
|
else {
|
|
merged_arg1K0 = 25;
|
|
merged_arg1K1 = nargs_674X;
|
|
pop_args_list_return_tag = 7;
|
|
goto pop_args_list;
|
|
pop_args_list_return_7:
|
|
v_455X = pop_args_list_return_value;
|
|
arg1K0 = v_455X;
|
|
goto L27448;}}
|
|
L27448: {
|
|
args_454X = arg1K0;
|
|
merged_arg0K0 = 0;
|
|
merged_arg1K1 = args_454X;
|
|
goto raise_exception1;}}
|
|
|
|
raise_exception1: {
|
|
args_671X = merged_arg0K0;
|
|
a1_672X = merged_arg1K1;{
|
|
push_exception_continuationB_return_tag = 1;
|
|
goto push_exception_continuationB;
|
|
push_exception_continuationB_return_1:
|
|
*((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_671X)))))))<<2));
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a1_672X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
merged_arg0K0 = 1;
|
|
goto raise;}}
|
|
|
|
raise_exception2: {
|
|
args_667X = merged_arg0K0;
|
|
a1_668X = merged_arg1K1;
|
|
a2_669X = merged_arg1K2;{
|
|
push_exception_continuationB_return_tag = 2;
|
|
goto push_exception_continuationB;
|
|
push_exception_continuationB_return_2:
|
|
*((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_667X)))))))<<2));
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a1_668X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a2_669X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
merged_arg0K0 = 2;
|
|
goto raise;}}
|
|
|
|
raise_exception3: {
|
|
args_662X = merged_arg0K0;
|
|
a1_663X = merged_arg1K1;
|
|
a2_664X = merged_arg1K2;
|
|
a3_665X = merged_arg1K3;{
|
|
push_exception_continuationB_return_tag = 3;
|
|
goto push_exception_continuationB;
|
|
push_exception_continuationB_return_3:
|
|
*((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_662X)))))))<<2));
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a1_663X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a2_664X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a3_665X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
merged_arg0K0 = 3;
|
|
goto raise;}}
|
|
|
|
raise_exception4: {
|
|
args_656X = merged_arg0K0;
|
|
a1_657X = merged_arg1K1;
|
|
a2_658X = merged_arg1K2;
|
|
a3_659X = merged_arg1K3;
|
|
a4_660X = merged_arg1K4;{
|
|
push_exception_continuationB_return_tag = 4;
|
|
goto push_exception_continuationB;
|
|
push_exception_continuationB_return_4:
|
|
*((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_656X)))))))<<2));
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a1_657X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a2_658X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a3_659X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a4_660X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
merged_arg0K0 = 4;
|
|
goto raise;}}
|
|
|
|
application_exception: {
|
|
byte_args_654X = merged_arg0K0;{
|
|
if ((64 == (SnargsS))) {
|
|
RSstackS = (4 + (RSstackS));
|
|
merged_arg1K0 = (*((long *) (RSstackS)));
|
|
merged_arg1K1 = 63;
|
|
pop_args_list_return_tag = 8;
|
|
goto pop_args_list;
|
|
pop_args_list_return_8:
|
|
v_467X = pop_args_list_return_value;
|
|
arg1K0 = v_467X;
|
|
goto L24425;}
|
|
else {
|
|
merged_arg1K0 = 25;
|
|
merged_arg1K1 = (SnargsS);
|
|
pop_args_list_return_tag = 9;
|
|
goto pop_args_list;
|
|
pop_args_list_return_9:
|
|
v_466X = pop_args_list_return_value;
|
|
arg1K0 = v_466X;
|
|
goto L24425;}}
|
|
L24425: {
|
|
args_468X = arg1K0;
|
|
a1_469X = RSvalS;
|
|
*((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)byte_args_654X)))))))<<2));
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = a1_469X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = args_468X;
|
|
RSstackS = (-4 + (RSstackS));
|
|
merged_arg0K0 = 2;
|
|
goto raise;}}
|
|
|
|
raise: {
|
|
nargs_652X = merged_arg0K0;{
|
|
SnargsS = (1 + ((long)nargs_652X));
|
|
RSvalS = (Sexception_handlerS);
|
|
obj_470X = RSvalS;
|
|
if ((3 == (3 & obj_470X))) {
|
|
if ((3 == (31 & ((((*((long *) (-7 + obj_470X))))>>2))))) {
|
|
goto L15972;}
|
|
else {
|
|
goto L16034;}}
|
|
else {
|
|
goto L16034;}}
|
|
L16034: {
|
|
TTerror("exception handler is not a closure", 0, 0, 0, 0);
|
|
goto L15972;}
|
|
L15974: {
|
|
if ((Sexception_space_usedPS)) {
|
|
x_473X = (Sstack_limitS) < (-296 + (RSstackS));
|
|
if (x_473X) {
|
|
goto L15987;}
|
|
else {
|
|
TTerror("no space on stack to reserve exception space", 0, 0, 0, 0);
|
|
goto L15987;}}
|
|
else {
|
|
goto L15976;}}
|
|
L16008: {
|
|
v_472X = arg1K0;
|
|
merged_arg1K0 = v_472X;
|
|
copy_stack_into_heap_return_tag = 2;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_2:
|
|
goto L15974;}
|
|
L15976: {
|
|
merged_arg0K0 = 0;
|
|
goto perform_application;}
|
|
L15987: {
|
|
Sstack_limitS = (296 + (Sstack_beginS));
|
|
Sexception_space_usedPS = 0;
|
|
goto L15976;}
|
|
L15972: {
|
|
if (((Sstack_limitS) < (-296 + (RSstackS)))) {
|
|
goto L15974;}
|
|
else {
|
|
space_471X = 1 + (((((Sstack_endS) - (RSstackS)))>>2));
|
|
if ((((ShpS) + (((space_471X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L16008;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 16;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_16:
|
|
if ((((ShpS) + (((space_471X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L16008;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
arg1K0 = 0;
|
|
goto L16008;}}}}}
|
|
|
|
perform_application: {
|
|
bytes_consumed_650X = merged_arg0K0;{
|
|
obj_475X = RSvalS;
|
|
if ((3 == (3 & obj_475X))) {
|
|
if ((3 == (31 & ((((*((long *) (-7 + obj_475X))))>>2))))) {
|
|
RSenvS = (*((long *) (1 + (RSvalS))));
|
|
tem_474X = *((long *) (-3 + (RSvalS)));
|
|
StemplateS = tem_474X;
|
|
RScode_pointerS = (-3 + (*((long *) (-3 + tem_474X))));
|
|
if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
|
|
goto START;}
|
|
else {
|
|
goto handle_interrupt;}}
|
|
else {
|
|
goto L15787;}}
|
|
else {
|
|
goto L15787;}}
|
|
L15787: {
|
|
merged_arg0K0 = bytes_consumed_650X;
|
|
goto application_exception;}}
|
|
|
|
handle_interrupt: {
|
|
{ if (((Sstack_limitS) < (-276 + (RSstackS)))) {
|
|
arg1K0 = 0;
|
|
goto L16076;}
|
|
else {
|
|
space_476X = 1 + (((((Sstack_endS) - (RSstackS)))>>2));
|
|
if ((((ShpS) + (((space_476X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L16316;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 17;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_17:
|
|
if ((((ShpS) + (((space_476X)<<2))) < (SlimitS))) {
|
|
arg1K0 = 0;
|
|
goto L16316;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
arg1K0 = 0;
|
|
goto L16316;}}}}
|
|
L16076: {
|
|
key_483X = arg1K0;
|
|
n_484X = (Spending_interruptsS) & (Senabled_interruptsS);
|
|
arg1K0 = 0;
|
|
arg1K1 = 1;
|
|
goto L16304;}
|
|
L16316: {
|
|
v_482X = arg1K0;
|
|
merged_arg1K0 = v_482X;
|
|
copy_stack_into_heap_return_tag = 3;
|
|
goto copy_stack_into_heap;
|
|
copy_stack_into_heap_return_3:
|
|
arg1K0 = 0;
|
|
goto L16076;}
|
|
L16304: {
|
|
i_478X = arg1K0;
|
|
m_479X = arg1K1;
|
|
if ((0 == (n_484X & m_479X))) {
|
|
arg1K0 = (1 + i_478X);
|
|
arg1K1 = (((m_479X)<<1));
|
|
goto L16304;}
|
|
else {
|
|
Spending_interruptsS = (n_484X & (~ m_479X));
|
|
*((long *) (RSstackS)) = (RSvalS);
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = (StemplateS);
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = (RSenvS);
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = ((((SnargsS))<<2));
|
|
RSstackS = (-4 + (RSstackS));
|
|
*((long *) (RSstackS)) = ((((Senabled_interruptsS))<<2));
|
|
RSstackS = (-4 + (RSstackS));
|
|
tem_481X = Sinterrupt_templateS;
|
|
StemplateS = tem_481X;
|
|
RScode_pointerS = (-3 + (*((long *) (-3 + tem_481X))));
|
|
merged_arg1K0 = (RScode_pointerS);
|
|
merged_arg1K1 = (5 + (SnargsS));
|
|
merged_arg1K2 = key_483X;
|
|
push_continuationB_return_tag = 1;
|
|
goto push_continuationB;
|
|
push_continuationB_return_1:
|
|
*((long *) (RSstackS)) = ((((Senabled_interruptsS))<<2));
|
|
RSstackS = (-4 + (RSstackS));
|
|
SnargsS = 1;
|
|
obj_480X = Sinterrupt_handlersS;
|
|
if ((3 == (3 & obj_480X))) {
|
|
if ((2 == (31 & ((((*((long *) (-7 + obj_480X))))>>2))))) {
|
|
goto L16118;}
|
|
else {
|
|
goto L16194;}}
|
|
else {
|
|
goto L16194;}}}
|
|
L16194: {
|
|
TTerror("interrupt handler is not a vector", 0, 0, 0, 0);
|
|
goto L16118;}
|
|
L16146: {
|
|
TTerror("interrupt handler is not a closure", 1, i_478X, 0, 0);
|
|
goto L16136;}
|
|
L16136: {
|
|
merged_arg0K0 = 0;
|
|
goto perform_application;}
|
|
L16118: {
|
|
RSvalS = (*((long *) ((-3 + (Sinterrupt_handlersS)) + (((i_478X)<<2)))));
|
|
Senabled_interruptsS = 0;
|
|
obj_477X = RSvalS;
|
|
if ((3 == (3 & obj_477X))) {
|
|
if ((3 == (31 & ((((*((long *) (-7 + obj_477X))))>>2))))) {
|
|
goto L16136;}
|
|
else {
|
|
goto L16146;}}
|
|
else {
|
|
goto L16146;}}}
|
|
|
|
copy_stack_into_heap: {
|
|
key_647X = merged_arg1K0;{
|
|
arg1K0 = (4 + (RSstackS));
|
|
arg1K1 = 0;
|
|
goto L15036;}
|
|
L15036: {
|
|
p_488X = arg1K0;
|
|
i_489X = arg1K1;
|
|
if ((2 == (3 & (*((long *) p_488X))))) {
|
|
len_491X = ((i_489X)<<2);
|
|
*((long *) (ShpS)) = (10 + (((len_491X)<<8)));
|
|
ShpS = (4 + (ShpS));
|
|
new_490X = 3 + (ShpS);
|
|
ShpS = ((ShpS) + (-4 & (3 + len_491X)));
|
|
if ((0 < len_491X)) {
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
arg1K0 = new_490X;
|
|
goto L14900;}
|
|
else {
|
|
arg1K0 = new_490X;
|
|
goto L14900;}}
|
|
else {
|
|
arg1K0 = (4 + p_488X);
|
|
arg1K1 = (1 + i_489X);
|
|
goto L15036;}}
|
|
L14900: {
|
|
vec_487X = arg1K0;
|
|
arg1K0 = (-1 + i_489X);
|
|
goto L14902;}
|
|
L14926: {
|
|
i_486X = arg1K0;
|
|
if ((i_486X < i_489X)) {
|
|
*((long *) (RSstackS)) = (*((long *) ((-3 + vec_487X) + (((i_486X)<<2)))));
|
|
RSstackS = (-4 + (RSstackS));
|
|
arg1K0 = (1 + i_486X);
|
|
goto L14926;}
|
|
else {
|
|
goto copy_stack_into_heap_return;}}
|
|
L14902: {
|
|
i_485X = arg1K0;
|
|
if ((-1 < i_485X)) {
|
|
RSstackS = (4 + (RSstackS));
|
|
*((long *) ((-3 + vec_487X) + (((i_485X)<<2)))) = (*((long *) (RSstackS)));
|
|
arg1K0 = (-1 + i_485X);
|
|
goto L14902;}
|
|
else {
|
|
merged_arg1K0 = key_647X;
|
|
merged_arg0K1 = 1;
|
|
preserve_continuation_return_tag = 1;
|
|
goto preserve_continuation;
|
|
preserve_continuation_return_1:
|
|
arg1K0 = 0;
|
|
goto L14926;}}
|
|
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;
|
|
}}
|
|
|
|
preserve_continuation: {
|
|
key_645X = merged_arg1K0;
|
|
reason_646X = merged_arg0K1;{
|
|
p_492X = RSenvS;
|
|
if ((p_492X < (Sstack_beginS))) {
|
|
goto L14645;}
|
|
else {
|
|
if (((Sstack_endS) < p_492X)) {
|
|
goto L14645;}
|
|
else {
|
|
merged_arg1K0 = (RSenvS);
|
|
merged_arg1K1 = (ScontS);
|
|
merged_arg1K2 = key_645X;
|
|
merged_arg0K3 = reason_646X;
|
|
save_env_in_heap_return_tag = 1;
|
|
goto save_env_in_heap;
|
|
save_env_in_heap_return_1:
|
|
v_493X = save_env_in_heap_return_value;
|
|
RSenvS = v_493X;
|
|
goto L14645;}}}
|
|
L14645: {
|
|
end_501X = *((long *) (-3 + (Sbottom_of_stackS)));
|
|
arg1K0 = (ScontS);
|
|
arg1K1 = (Sbottom_of_stackS);
|
|
goto L14650;}
|
|
L14703: {
|
|
v_500X = arg1K0;
|
|
ScontS = v_500X;
|
|
preserve_continuation_return_value = cont_497X;
|
|
goto preserve_continuation_return;}
|
|
L14672: {
|
|
merged_arg1K0 = cont_494X;
|
|
merged_arg1K1 = key_645X;
|
|
copy_stob_return_tag = 0;
|
|
goto copy_stob;
|
|
copy_stob_return_0:
|
|
new_499X = copy_stob_return_value;
|
|
*((long *) (-3 + previous_495X)) = new_499X;
|
|
arg1K0 = (*((long *) (-3 + new_499X)));
|
|
arg1K1 = new_499X;
|
|
goto L14650;}
|
|
L14650: {
|
|
cont_494X = arg1K0;
|
|
previous_495X = arg1K1;
|
|
if ((cont_494X == (Sbottom_of_stackS))) {
|
|
*((long *) (-3 + previous_495X)) = end_501X;
|
|
cont_497X = *((long *) (-3 + (Sbottom_of_stackS)));
|
|
if ((1 == cont_497X)) {
|
|
arg1K0 = (Sbottom_of_stackS);
|
|
goto L14703;}
|
|
else {
|
|
merged_arg1K0 = cont_497X;
|
|
copy_continuation_from_heap_return_tag = 2;
|
|
goto copy_continuation_from_heap;
|
|
copy_continuation_from_heap_return_2:
|
|
v_496X = copy_continuation_from_heap_return_value;
|
|
arg1K0 = v_496X;
|
|
goto L14703;}}
|
|
else {
|
|
p_498X = *((long *) (9 + cont_494X));
|
|
if ((p_498X < (Sstack_beginS))) {
|
|
goto L14672;}
|
|
else {
|
|
if (((Sstack_endS) < p_498X)) {
|
|
goto L14672;}
|
|
else {
|
|
merged_arg1K0 = (*((long *) (9 + cont_494X)));
|
|
merged_arg1K1 = cont_494X;
|
|
merged_arg1K2 = key_645X;
|
|
merged_arg0K3 = reason_646X;
|
|
save_env_in_heap_return_tag = 2;
|
|
goto save_env_in_heap;
|
|
save_env_in_heap_return_2:
|
|
goto L14672;}}}}
|
|
preserve_continuation_return:
|
|
switch (preserve_continuation_return_tag) {
|
|
case 0: goto preserve_continuation_return_0;
|
|
case 1: goto preserve_continuation_return_1;
|
|
}}
|
|
|
|
copy_continuation_from_heap: {
|
|
cont_643X = merged_arg1K0;{
|
|
top_502X = (-11 + (Sbottom_of_stackS)) - (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + cont_643X))))>>8))));
|
|
new_cont_503X = 7 + top_502X;
|
|
RSstackS = (-4 + top_502X);
|
|
v_504X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + cont_643X))))>>8))))>>2);
|
|
from_505X = -7 + cont_643X;
|
|
arg1K0 = from_505X;
|
|
arg1K1 = top_502X;
|
|
goto L12892;}
|
|
L12892: {
|
|
from_506X = arg1K0;
|
|
to_507X = arg1K1;
|
|
if ((from_506X < (4 + (from_505X + (((v_504X)<<2)))))) {
|
|
*((long *) to_507X) = (*((long *) from_506X));
|
|
arg1K0 = (4 + from_506X);
|
|
arg1K1 = (4 + to_507X);
|
|
goto L12892;}
|
|
else {
|
|
*((long *) (-3 + (Sbottom_of_stackS))) = (*((long *) (-3 + new_cont_503X)));
|
|
*((long *) (-3 + new_cont_503X)) = (Sbottom_of_stackS);
|
|
copy_continuation_from_heap_return_value = new_cont_503X;
|
|
goto copy_continuation_from_heap_return;}}
|
|
copy_continuation_from_heap_return:
|
|
switch (copy_continuation_from_heap_return_tag) {
|
|
case 0: goto copy_continuation_from_heap_return_0;
|
|
case 1: goto copy_continuation_from_heap_return_1;
|
|
case 2: goto copy_continuation_from_heap_return_2;
|
|
}}
|
|
|
|
save_env_in_heap: {
|
|
env_639X = merged_arg1K0;
|
|
cont_640X = merged_arg1K1;
|
|
key_641X = merged_arg1K2;{
|
|
merged_arg1K0 = env_639X;
|
|
merged_arg1K1 = key_641X;
|
|
copy_stob_return_tag = 1;
|
|
goto copy_stob;
|
|
copy_stob_return_1:
|
|
new_508X = copy_stob_return_value;
|
|
*((long *) (-7 + env_639X)) = new_508X;
|
|
arg1K0 = new_508X;
|
|
goto L14174;}
|
|
L14198: {
|
|
arg1K0 = cont_640X;
|
|
goto L14200;}
|
|
L14200: {
|
|
cont_513X = arg1K0;
|
|
env_514X = *((long *) (9 + cont_513X));
|
|
if ((3 == (3 & env_514X))) {
|
|
if ((3 == (3 & (*((long *) (-7 + env_514X)))))) {
|
|
*((long *) (9 + cont_513X)) = (*((long *) (-7 + env_514X)));
|
|
arg1K0 = (*((long *) (-3 + cont_513X)));
|
|
goto L14200;}
|
|
else {
|
|
save_env_in_heap_return_value = new_508X;
|
|
goto save_env_in_heap_return;}}
|
|
else {
|
|
save_env_in_heap_return_value = new_508X;
|
|
goto save_env_in_heap_return;}}
|
|
L14174: {
|
|
env_509X = arg1K0;
|
|
p_510X = *((long *) (-3 + env_509X));
|
|
if ((p_510X < (Sstack_beginS))) {
|
|
goto L14198;}
|
|
else {
|
|
if (((Sstack_endS) < p_510X)) {
|
|
goto L14198;}
|
|
else {
|
|
env_511X = *((long *) (-3 + env_509X));
|
|
merged_arg1K0 = env_511X;
|
|
merged_arg1K1 = key_641X;
|
|
copy_stob_return_tag = 2;
|
|
goto copy_stob;
|
|
copy_stob_return_2:
|
|
new_512X = copy_stob_return_value;
|
|
*((long *) (-7 + env_511X)) = new_512X;
|
|
*((long *) (-3 + env_509X)) = new_512X;
|
|
arg1K0 = new_512X;
|
|
goto L14174;}}}
|
|
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;
|
|
case 2: goto save_env_in_heap_return_2;
|
|
}}
|
|
|
|
copy_stob: {
|
|
old_stob_637X = merged_arg1K0;{
|
|
len_516X = (long)(((unsigned long)(*((long *) (-7 + old_stob_637X))))>>8);
|
|
*((long *) (ShpS)) = (66 + (((len_516X)<<8)));
|
|
ShpS = (4 + (ShpS));
|
|
new_515X = 3 + (ShpS);
|
|
ShpS = ((ShpS) + (-4 & (3 + len_516X)));
|
|
if ((0 < len_516X)) {
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
arg1K0 = new_515X;
|
|
goto L9136;}
|
|
else {
|
|
arg1K0 = new_515X;
|
|
goto L9136;}}
|
|
L9136: {
|
|
new_519X = arg1K0;
|
|
*((long *) (-7 + new_519X)) = (*((long *) (-7 + old_stob_637X)));
|
|
bytes_520X = (long)(((unsigned long)(*((long *) (-7 + old_stob_637X))))>>8);
|
|
from_521X = -3 + old_stob_637X;
|
|
arg1K0 = from_521X;
|
|
arg1K1 = (-3 + new_519X);
|
|
goto L9161;}
|
|
L9161: {
|
|
from_517X = arg1K0;
|
|
to_518X = arg1K1;
|
|
if ((from_517X < (from_521X + (-4 & (3 + bytes_520X))))) {
|
|
*((long *) to_518X) = (*((long *) from_517X));
|
|
arg1K0 = (4 + from_517X);
|
|
arg1K1 = (4 + to_518X);
|
|
goto L9161;}
|
|
else {
|
|
copy_stob_return_value = new_519X;
|
|
goto copy_stob_return;}}
|
|
copy_stob_return:
|
|
switch (copy_stob_return_tag) {
|
|
case 0: goto copy_stob_return_0;
|
|
case 1: goto copy_stob_return_1;
|
|
case 2: goto copy_stob_return_2;
|
|
}}
|
|
|
|
push_exception_continuationB: {
|
|
{ if (((Sstack_limitS) < (-296 + (RSstackS)))) {
|
|
arg1K0 = 0;
|
|
goto L14138;}
|
|
else {
|
|
Sstack_limitS = (Sstack_beginS);
|
|
Sexception_space_usedPS = 1;
|
|
if (((Sstack_limitS) < (-296 + (RSstackS)))) {
|
|
arg1K0 = 0;
|
|
goto L14138;}
|
|
else {
|
|
TTerror("insufficient space on stack for exception frame", 0, 0, 0, 0);
|
|
arg1K0 = 0;
|
|
goto L14138;}}}
|
|
L14138: {
|
|
key_524X = arg1K0;
|
|
arg1K0 = (4 + (RSstackS));
|
|
arg1K1 = 0;
|
|
goto L14150;}
|
|
L14150: {
|
|
p_522X = arg1K0;
|
|
i_523X = arg1K1;
|
|
if ((2 == (3 & (*((long *) p_522X))))) {
|
|
merged_arg1K0 = (RScode_pointerS);
|
|
merged_arg1K1 = i_523X;
|
|
merged_arg1K2 = key_524X;
|
|
push_continuationB_return_tag = 2;
|
|
goto push_continuationB;
|
|
push_continuationB_return_2:
|
|
goto push_exception_continuationB_return;}
|
|
else {
|
|
arg1K0 = (4 + p_522X);
|
|
arg1K1 = (1 + i_523X);
|
|
goto L14150;}}
|
|
push_exception_continuationB_return:
|
|
switch (push_exception_continuationB_return_tag) {
|
|
case 0: goto push_exception_continuationB_return_0;
|
|
case 1: goto push_exception_continuationB_return_1;
|
|
case 2: goto push_exception_continuationB_return_2;
|
|
case 3: goto push_exception_continuationB_return_3;
|
|
case 4: goto push_exception_continuationB_return_4;
|
|
}}
|
|
|
|
push_continuationB: {
|
|
code_pointer_634X = merged_arg1K0;
|
|
size_635X = merged_arg1K1;{
|
|
pc_525X = 12 + ((((code_pointer_634X - (*((long *) (-3 + (StemplateS))))))<<2));
|
|
template_526X = StemplateS;
|
|
RSstackS = (-20 + (RSstackS));
|
|
*((long *) (4 + (RSstackS))) = (128 | (4130 + (((size_635X)<<10))));
|
|
cont_527X = 11 + (RSstackS);
|
|
*((long *) (1 + cont_527X)) = pc_525X;
|
|
*((long *) (5 + cont_527X)) = template_526X;
|
|
*((long *) (9 + cont_527X)) = (RSenvS);
|
|
*((long *) (-3 + cont_527X)) = (ScontS);
|
|
ScontS = cont_527X;
|
|
goto push_continuationB_return;}
|
|
push_continuationB_return:
|
|
switch (push_continuationB_return_tag) {
|
|
case 0: goto push_continuationB_return_0;
|
|
case 1: goto push_continuationB_return_1;
|
|
case 2: goto push_continuationB_return_2;
|
|
}}
|
|
|
|
pop_args_list: {
|
|
start_632X = merged_arg1K0;
|
|
count_633X = merged_arg1K1;{
|
|
space_528X = 3 * (SnargsS);
|
|
if ((((ShpS) + (((space_528X)<<2))) < (SlimitS))) {
|
|
goto L15054;}
|
|
else {
|
|
merged_arg1K0 = 0;
|
|
collect_saving_temp_return_tag = 18;
|
|
goto collect_saving_temp;
|
|
collect_saving_temp_return_18:
|
|
if ((((ShpS) + (((space_528X)<<2))) < (SlimitS))) {
|
|
goto L15054;}
|
|
else {
|
|
TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
|
|
goto L15054;}}}
|
|
L15054: {
|
|
arg1K0 = start_632X;
|
|
arg1K1 = count_633X;
|
|
goto L15056;}
|
|
L15056: {
|
|
args_529X = arg1K0;
|
|
count_530X = arg1K1;
|
|
if ((0 < count_530X)) {
|
|
RSstackS = (4 + (RSstackS));
|
|
a_531X = *((long *) (RSstackS));
|
|
*((long *) (ShpS)) = 2050;
|
|
ShpS = (4 + (ShpS));
|
|
new_532X = 3 + (ShpS);
|
|
ShpS = (8 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_532X)) = a_531X;
|
|
*((long *) (1 + new_532X)) = args_529X;
|
|
arg1K0 = new_532X;
|
|
arg1K1 = (-1 + count_530X);
|
|
goto L15056;}
|
|
else {
|
|
pop_args_list_return_value = args_529X;
|
|
goto pop_args_list_return;}}
|
|
pop_args_list_return:
|
|
switch (pop_args_list_return_tag) {
|
|
case 0: goto pop_args_list_return_0;
|
|
case 1: goto pop_args_list_return_1;
|
|
case 2: goto pop_args_list_return_2;
|
|
case 3: goto pop_args_list_return_3;
|
|
case 4: goto pop_args_list_return_4;
|
|
case 5: goto pop_args_list_return_5;
|
|
case 6: goto pop_args_list_return_6;
|
|
case 7: goto pop_args_list_return_7;
|
|
case 8: goto pop_args_list_return_8;
|
|
case 9: goto pop_args_list_return_9;
|
|
}}
|
|
|
|
collect_saving_temp: {
|
|
value_630X = merged_arg1K0;{
|
|
b_537X = Snewspace_beginS;
|
|
Snewspace_beginS = (Soldspace_beginS);
|
|
Soldspace_beginS = b_537X;
|
|
e_536X = Snewspace_endS;
|
|
Snewspace_endS = (Soldspace_endS);
|
|
Soldspace_endS = e_536X;
|
|
Ssaved_limitS = (SlimitS);
|
|
Ssaved_hpS = (ShpS);
|
|
SlimitS = (Snewspace_endS);
|
|
ShpS = (Snewspace_beginS);
|
|
Sweak_pointer_hpS = -1;
|
|
pc_535X = 12 + (((((RScode_pointerS) - (*((long *) (-3 + (StemplateS))))))<<2));
|
|
value_534X = StemplateS;
|
|
if ((3 == (3 & value_534X))) {
|
|
a_538X = -3 + value_534X;
|
|
if ((a_538X < (Soldspace_beginS))) {
|
|
arg1K0 = value_534X;
|
|
goto L13915;}
|
|
else {
|
|
if ((a_538X < (Soldspace_endS))) {
|
|
merged_arg1K0 = value_534X;
|
|
copy_object_return_tag = 1;
|
|
goto copy_object;
|
|
copy_object_return_1:
|
|
v_533X = copy_object_return_value;
|
|
arg1K0 = v_533X;
|
|
goto L13915;}
|
|
else {
|
|
arg1K0 = value_534X;
|
|
goto L13915;}}}
|
|
else {
|
|
arg1K0 = value_534X;
|
|
goto L13915;}}
|
|
L13915: {
|
|
tem_585X = arg1K0;
|
|
StemplateS = tem_585X;
|
|
RScode_pointerS = ((-3 + (*((long *) (-3 + tem_585X)))) + (((pc_535X)>>2)));
|
|
value_587X = RSvalS;
|
|
if ((3 == (3 & value_587X))) {
|
|
a_588X = -3 + value_587X;
|
|
if ((a_588X < (Soldspace_beginS))) {
|
|
arg1K0 = value_587X;
|
|
goto L13919;}
|
|
else {
|
|
if ((a_588X < (Soldspace_endS))) {
|
|
merged_arg1K0 = value_587X;
|
|
copy_object_return_tag = 2;
|
|
goto copy_object;
|
|
copy_object_return_2:
|
|
v_586X = copy_object_return_value;
|
|
arg1K0 = v_586X;
|
|
goto L13919;}
|
|
else {
|
|
arg1K0 = value_587X;
|
|
goto L13919;}}}
|
|
else {
|
|
arg1K0 = value_587X;
|
|
goto L13919;}}
|
|
L13919: {
|
|
v_581X = arg1K0;
|
|
RSvalS = v_581X;
|
|
value_583X = Sdynamic_stateS;
|
|
if ((3 == (3 & value_583X))) {
|
|
a_584X = -3 + value_583X;
|
|
if ((a_584X < (Soldspace_beginS))) {
|
|
arg1K0 = value_583X;
|
|
goto L13923;}
|
|
else {
|
|
if ((a_584X < (Soldspace_endS))) {
|
|
merged_arg1K0 = value_583X;
|
|
copy_object_return_tag = 3;
|
|
goto copy_object;
|
|
copy_object_return_3:
|
|
v_582X = copy_object_return_value;
|
|
arg1K0 = v_582X;
|
|
goto L13923;}
|
|
else {
|
|
arg1K0 = value_583X;
|
|
goto L13923;}}}
|
|
else {
|
|
arg1K0 = value_583X;
|
|
goto L13923;}}
|
|
L13923: {
|
|
v_577X = arg1K0;
|
|
Sdynamic_stateS = v_577X;
|
|
value_579X = Sexception_handlerS;
|
|
if ((3 == (3 & value_579X))) {
|
|
a_580X = -3 + value_579X;
|
|
if ((a_580X < (Soldspace_beginS))) {
|
|
arg1K0 = value_579X;
|
|
goto L13927;}
|
|
else {
|
|
if ((a_580X < (Soldspace_endS))) {
|
|
merged_arg1K0 = value_579X;
|
|
copy_object_return_tag = 4;
|
|
goto copy_object;
|
|
copy_object_return_4:
|
|
v_578X = copy_object_return_value;
|
|
arg1K0 = v_578X;
|
|
goto L13927;}
|
|
else {
|
|
arg1K0 = value_579X;
|
|
goto L13927;}}}
|
|
else {
|
|
arg1K0 = value_579X;
|
|
goto L13927;}}
|
|
L13927: {
|
|
v_573X = arg1K0;
|
|
Sexception_handlerS = v_573X;
|
|
value_575X = Sinterrupt_handlersS;
|
|
if ((3 == (3 & value_575X))) {
|
|
a_576X = -3 + value_575X;
|
|
if ((a_576X < (Soldspace_beginS))) {
|
|
arg1K0 = value_575X;
|
|
goto L13931;}
|
|
else {
|
|
if ((a_576X < (Soldspace_endS))) {
|
|
merged_arg1K0 = value_575X;
|
|
copy_object_return_tag = 5;
|
|
goto copy_object;
|
|
copy_object_return_5:
|
|
v_574X = copy_object_return_value;
|
|
arg1K0 = v_574X;
|
|
goto L13931;}
|
|
else {
|
|
arg1K0 = value_575X;
|
|
goto L13931;}}}
|
|
else {
|
|
arg1K0 = value_575X;
|
|
goto L13931;}}
|
|
L13931: {
|
|
v_569X = arg1K0;
|
|
Sinterrupt_handlersS = v_569X;
|
|
value_571X = Sinterrupt_templateS;
|
|
if ((3 == (3 & value_571X))) {
|
|
a_572X = -3 + value_571X;
|
|
if ((a_572X < (Soldspace_beginS))) {
|
|
arg1K0 = value_571X;
|
|
goto L13935;}
|
|
else {
|
|
if ((a_572X < (Soldspace_endS))) {
|
|
merged_arg1K0 = value_571X;
|
|
copy_object_return_tag = 6;
|
|
goto copy_object;
|
|
copy_object_return_6:
|
|
v_570X = copy_object_return_value;
|
|
arg1K0 = v_570X;
|
|
goto L13935;}
|
|
else {
|
|
arg1K0 = value_571X;
|
|
goto L13935;}}}
|
|
else {
|
|
arg1K0 = value_571X;
|
|
goto L13935;}}
|
|
L13935: {
|
|
v_565X = arg1K0;
|
|
Sinterrupt_templateS = v_565X;
|
|
value_567X = RSenvS;
|
|
if ((3 == (3 & value_567X))) {
|
|
a_568X = -3 + value_567X;
|
|
if ((a_568X < (Soldspace_beginS))) {
|
|
arg1K0 = value_567X;
|
|
goto L13941;}
|
|
else {
|
|
if ((a_568X < (Soldspace_endS))) {
|
|
merged_arg1K0 = value_567X;
|
|
copy_object_return_tag = 7;
|
|
goto copy_object;
|
|
copy_object_return_7:
|
|
v_566X = copy_object_return_value;
|
|
arg1K0 = v_566X;
|
|
goto L13941;}
|
|
else {
|
|
arg1K0 = value_567X;
|
|
goto L13941;}}}
|
|
else {
|
|
arg1K0 = value_567X;
|
|
goto L13941;}}
|
|
L13941: {
|
|
env_562X = arg1K0;
|
|
RSenvS = env_562X;
|
|
start_563X = 4 + (RSstackS);
|
|
end_564X = -7 + (ScontS);
|
|
arg1K0 = start_563X;
|
|
goto L14017;}
|
|
L14017: {
|
|
addr_560X = arg1K0;
|
|
if ((addr_560X < end_564X)) {
|
|
merged_arg1K0 = addr_560X;
|
|
copy_next_return_tag = 0;
|
|
goto copy_next;
|
|
copy_next_return_0:
|
|
v_561X = copy_next_return_value;
|
|
arg1K0 = v_561X;
|
|
goto L14017;}
|
|
else {
|
|
arg1K0 = (ScontS);
|
|
arg1K1 = 0;
|
|
goto L13956;}}
|
|
L14003: {
|
|
addr_558X = arg1K0;
|
|
if ((addr_558X < end_550X)) {
|
|
merged_arg1K0 = addr_558X;
|
|
copy_next_return_tag = 1;
|
|
goto copy_next;
|
|
copy_next_return_1:
|
|
v_559X = copy_next_return_value;
|
|
arg1K0 = v_559X;
|
|
goto L14003;}
|
|
else {
|
|
if ((env_549X == last_env_548X)) {
|
|
goto L13961;}
|
|
else {
|
|
arg1K0 = env_549X;
|
|
goto L13971;}}}
|
|
L13989: {
|
|
addr_556X = arg1K0;
|
|
if ((addr_556X < end_555X)) {
|
|
merged_arg1K0 = addr_556X;
|
|
copy_next_return_tag = 2;
|
|
goto copy_next;
|
|
copy_next_return_2:
|
|
v_557X = copy_next_return_value;
|
|
arg1K0 = v_557X;
|
|
goto L13989;}
|
|
else {
|
|
arg1K0 = (*((long *) (-3 + env_554X)));
|
|
goto L13971;}}
|
|
L13971: {
|
|
env_554X = arg1K0;
|
|
if ((env_554X < (Sstack_beginS))) {
|
|
goto L13961;}
|
|
else {
|
|
if (((Sstack_endS) < env_554X)) {
|
|
goto L13961;}
|
|
else {
|
|
end_555X = (-3 + env_554X) + (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + env_554X))))>>8))));
|
|
arg1K0 = (-3 + env_554X);
|
|
goto L13989;}}}
|
|
L13961: {
|
|
if ((cont_547X == (Sbottom_of_stackS))) {
|
|
areas_551X = Simpure_areasS;
|
|
sizes_552X = Simpure_sizesS;
|
|
count_553X = Simpure_area_countS;
|
|
arg1K0 = 0;
|
|
goto L14490;}
|
|
else {
|
|
arg1K0 = (*((long *) (-3 + cont_547X)));
|
|
arg1K1 = env_549X;
|
|
goto L13956;}}
|
|
L13956: {
|
|
cont_547X = arg1K0;
|
|
last_env_548X = arg1K1;
|
|
env_549X = *((long *) (9 + cont_547X));
|
|
end_550X = (-3 + cont_547X) + (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + cont_547X))))>>8))));
|
|
arg1K0 = (-3 + cont_547X);
|
|
goto L14003;}
|
|
L14500: {
|
|
addr_545X = arg1K0;
|
|
if ((addr_545X < end_544X)) {
|
|
merged_arg1K0 = addr_545X;
|
|
copy_next_return_tag = 3;
|
|
goto copy_next;
|
|
copy_next_return_3:
|
|
v_546X = copy_next_return_value;
|
|
arg1K0 = v_546X;
|
|
goto L14500;}
|
|
else {
|
|
arg1K0 = (1 + i_540X);
|
|
goto L14490;}}
|
|
L14490: {
|
|
i_540X = arg1K0;
|
|
if ((i_540X < ((long)count_553X))) {
|
|
start_543X = *(areas_551X + i_540X);
|
|
end_544X = (*(areas_551X + i_540X)) + (*(sizes_552X + i_540X));
|
|
arg1K0 = start_543X;
|
|
goto L14500;}
|
|
else {
|
|
if ((3 == (3 & value_630X))) {
|
|
a_541X = -3 + value_630X;
|
|
if ((a_541X < (Soldspace_beginS))) {
|
|
arg1K0 = value_630X;
|
|
goto L14416;}
|
|
else {
|
|
if ((a_541X < (Soldspace_endS))) {
|
|
merged_arg1K0 = value_630X;
|
|
copy_object_return_tag = 8;
|
|
goto copy_object;
|
|
copy_object_return_8:
|
|
v_542X = copy_object_return_value;
|
|
arg1K0 = v_542X;
|
|
goto L14416;}
|
|
else {
|
|
arg1K0 = value_630X;
|
|
goto L14416;}}}
|
|
else {
|
|
arg1K0 = value_630X;
|
|
goto L14416;}}}
|
|
L14416: {
|
|
value_539X = arg1K0;
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
do_gc();
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
post_gc_fdports(); /* Hack for scsh's i/o system. Olin. */
|
|
Sgc_countS = (1 + (Sgc_countS));
|
|
close_untraced_portsB_return_tag = 1;
|
|
goto close_untraced_portsB;
|
|
close_untraced_portsB_return_1:
|
|
if ((((ShpS) + ((((Sminimum_recovered_spaceS))<<2))) < (SlimitS))) {
|
|
collect_saving_temp_return_value = value_539X;
|
|
goto collect_saving_temp_return;}
|
|
else {
|
|
Spending_interruptsS = (4 | (Spending_interruptsS));
|
|
collect_saving_temp_return_value = value_539X;
|
|
goto collect_saving_temp_return;}}
|
|
collect_saving_temp_return:
|
|
switch (collect_saving_temp_return_tag) {
|
|
case 0: goto collect_saving_temp_return_0;
|
|
case 1: goto collect_saving_temp_return_1;
|
|
case 2: goto collect_saving_temp_return_2;
|
|
case 3: goto collect_saving_temp_return_3;
|
|
case 4: goto collect_saving_temp_return_4;
|
|
case 5: goto collect_saving_temp_return_5;
|
|
case 6: goto collect_saving_temp_return_6;
|
|
case 7: goto collect_saving_temp_return_7;
|
|
case 8: goto collect_saving_temp_return_8;
|
|
case 9: goto collect_saving_temp_return_9;
|
|
case 10: goto collect_saving_temp_return_10;
|
|
case 11: goto collect_saving_temp_return_11;
|
|
case 12: goto collect_saving_temp_return_12;
|
|
case 13: goto collect_saving_temp_return_13;
|
|
case 14: goto collect_saving_temp_return_14;
|
|
case 15: goto collect_saving_temp_return_15;
|
|
case 16: goto collect_saving_temp_return_16;
|
|
case 17: goto collect_saving_temp_return_17;
|
|
case 18: goto collect_saving_temp_return_18;
|
|
}}
|
|
|
|
copy_next: {
|
|
addr_628X = merged_arg1K0;{
|
|
next_589X = 4 + addr_628X;
|
|
thing_590X = *((long *) addr_628X);
|
|
if ((2 == (3 & thing_590X))) {
|
|
if (((31 & (((thing_590X)>>2))) < 15)) {
|
|
goto L11536;}
|
|
else {
|
|
copy_next_return_value = (next_589X + (-4 & (3 + ((long)(((unsigned long)thing_590X)>>8)))));
|
|
goto copy_next_return;}}
|
|
else {
|
|
goto L11536;}}
|
|
L11536: {
|
|
if ((3 == (3 & thing_590X))) {
|
|
a_592X = -3 + thing_590X;
|
|
if ((a_592X < (Soldspace_beginS))) {
|
|
copy_next_return_value = next_589X;
|
|
goto copy_next_return;}
|
|
else {
|
|
if ((a_592X < (Soldspace_endS))) {
|
|
merged_arg1K0 = thing_590X;
|
|
copy_object_return_tag = 9;
|
|
goto copy_object;
|
|
copy_object_return_9:
|
|
value_591X = copy_object_return_value;
|
|
*((long *) addr_628X) = value_591X;
|
|
copy_next_return_value = next_589X;
|
|
goto copy_next_return;}
|
|
else {
|
|
copy_next_return_value = next_589X;
|
|
goto copy_next_return;}}}
|
|
else {
|
|
copy_next_return_value = next_589X;
|
|
goto copy_next_return;}}
|
|
copy_next_return:
|
|
switch (copy_next_return_tag) {
|
|
case 0: goto copy_next_return_0;
|
|
case 1: goto copy_next_return_1;
|
|
case 2: goto copy_next_return_2;
|
|
case 3: goto copy_next_return_3;
|
|
}}
|
|
|
|
copy_object: {
|
|
thing_626X = merged_arg1K0;{
|
|
h_594X = *((long *) (-7 + thing_626X));
|
|
if ((3 == (3 & h_594X))) {
|
|
copy_object_return_value = h_594X;
|
|
goto copy_object_return;}
|
|
else {
|
|
if ((1070 == h_594X)) {
|
|
descriptor_595X = *((long *) (-3 + thing_626X));
|
|
if ((3 == (3 & descriptor_595X))) {
|
|
a_593X = -3 + descriptor_595X;
|
|
if ((a_593X < (Soldspace_beginS))) {
|
|
goto L9586;}
|
|
else {
|
|
if ((a_593X < (Soldspace_endS))) {
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
v_596X = copy_weak_pointer(thing_626X);
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
copy_object_return_value = v_596X;
|
|
goto copy_object_return;}
|
|
else {
|
|
goto L9586;}}}
|
|
else {
|
|
goto L9586;}}
|
|
else {
|
|
goto L9586;}}}
|
|
L9586: {
|
|
*((long *) (ShpS)) = h_594X;
|
|
ShpS = (4 + (ShpS));
|
|
new_598X = 3 + (ShpS);
|
|
*((long *) (-7 + thing_626X)) = new_598X;
|
|
x1_599X = ShpS;
|
|
arg1K0 = (-3 + thing_626X);
|
|
goto L9600;}
|
|
L9600: {
|
|
o_597X = arg1K0;
|
|
if (((ShpS) < (x1_599X + (-4 & (3 + ((long)(((unsigned long)h_594X)>>8))))))) {
|
|
*((long *) (ShpS)) = (*((long *) o_597X));
|
|
ShpS = (4 + (ShpS));
|
|
arg1K0 = (4 + o_597X);
|
|
goto L9600;}
|
|
else {
|
|
copy_object_return_value = new_598X;
|
|
goto copy_object_return;}}
|
|
copy_object_return:
|
|
switch (copy_object_return_tag) {
|
|
case 0: goto copy_object_return_0;
|
|
case 1: goto copy_object_return_1;
|
|
case 2: goto copy_object_return_2;
|
|
case 3: goto copy_object_return_3;
|
|
case 4: goto copy_object_return_4;
|
|
case 5: goto copy_object_return_5;
|
|
case 6: goto copy_object_return_6;
|
|
case 7: goto copy_object_return_7;
|
|
case 8: goto copy_object_return_8;
|
|
case 9: goto copy_object_return_9;
|
|
}}
|
|
|
|
close_untraced_portsB: {
|
|
{ arg1K0 = 2;
|
|
goto L13688;}
|
|
L13734: {
|
|
merged_arg1K0 = port_601X;
|
|
close_port_return_tag = 1;
|
|
goto close_port;
|
|
close_port_return_1:
|
|
fputs("Port closed: ", (Scurrent_output_portS));
|
|
string_605X = *((long *) (9 + port_601X));
|
|
fwrite((void *)(-3 + string_605X), sizeof(char), (-1 + ((long)(((unsigned long)(*((long *) (-7 + string_605X))))>>8))), (Scurrent_output_portS));
|
|
putc(10, (Scurrent_output_portS));
|
|
arg1K0 = 1;
|
|
goto L13714;}
|
|
L13719: {
|
|
arg1K0 = (1 + i_600X);
|
|
goto L13688;}
|
|
L13714: {
|
|
new_604X = arg1K0;
|
|
*((Sopen_vm_portsS) + i_600X) = new_604X;
|
|
goto L13719;}
|
|
L13688: {
|
|
i_600X = arg1K0;
|
|
if ((i_600X == (Snumber_of_portsS))) {
|
|
close_untraced_portsB_return_value = 0;
|
|
goto close_untraced_portsB_return;}
|
|
else {
|
|
port_601X = *((Sopen_vm_portsS) + i_600X);
|
|
if ((1 == port_601X)) {
|
|
goto L13719;}
|
|
else {
|
|
header_602X = *((long *) (-7 + port_601X));
|
|
if ((3 == (3 & header_602X))) {
|
|
arg1K0 = header_602X;
|
|
goto L13714;}
|
|
else {
|
|
header_603X = *((long *) (-7 + (*((long *) (9 + port_601X)))));
|
|
if ((3 == (3 & header_603X))) {
|
|
goto L13734;}
|
|
else {
|
|
goto L13734;}}}}}
|
|
close_untraced_portsB_return:
|
|
switch (close_untraced_portsB_return_tag) {
|
|
case 0: goto close_untraced_portsB_return_0;
|
|
case 1: goto close_untraced_portsB_return_1;
|
|
}}
|
|
|
|
close_port: {
|
|
vm_port_623X = merged_arg1K0;{
|
|
if (((*((long *) (1 + vm_port_623X))) < 0)) {
|
|
goto close_port_return;}
|
|
else {
|
|
index_608X = (((*((long *) (1 + vm_port_623X))))>>2);
|
|
if ((0 == index_608X)) {
|
|
goto close_port_return;}
|
|
else {
|
|
if ((1 == index_608X)) {
|
|
goto close_port_return;}
|
|
else {
|
|
mode_607X = (((*((long *) (-3 + vm_port_623X))))>>2);
|
|
port_606X = *((Sopen_portsS) + ((((*((long *) (1 + vm_port_623X))))>>2)));
|
|
if ((1 == mode_607X)) {
|
|
fclose(port_606X);
|
|
goto L11193;}
|
|
else {
|
|
if ((2 == mode_607X)) {
|
|
fclose(port_606X);
|
|
goto L11193;}
|
|
else {
|
|
TTerror("this shouldn't happen when closing a port", 0, 0, 0, 0);
|
|
goto L11193;}}}}}}
|
|
L11193: {
|
|
*((long *) (-3 + vm_port_623X)) = 0;
|
|
*((long *) (1 + vm_port_623X)) = -4;
|
|
*((Sopen_vm_portsS) + index_608X) = 1;
|
|
goto close_port_return;}
|
|
close_port_return:
|
|
switch (close_port_return_tag) {
|
|
case 0: goto close_port_return_0;
|
|
case 1: goto close_port_return_1;
|
|
}}
|
|
|
|
write_number: {
|
|
x_621X = merged_arg1K0;
|
|
port_622X = merged_arg2K1;{
|
|
if ((x_621X < 0)) {
|
|
putc(45, port_622X);
|
|
arg1K0 = (0 - x_621X);
|
|
goto L29338;}
|
|
else {
|
|
arg1K0 = x_621X;
|
|
goto L29338;}}
|
|
L29338: {
|
|
v_609X = arg1K0;
|
|
SvalS = RSvalS;
|
|
SstackS = RSstackS;
|
|
Scode_pointerS = RScode_pointerS;
|
|
SenvS = RSenvS;
|
|
really_write_number(v_609X, port_622X);
|
|
RSvalS = SvalS;
|
|
RSstackS = SstackS;
|
|
RScode_pointerS = Scode_pointerS;
|
|
RSenvS = SenvS;
|
|
putc(10, port_622X);
|
|
goto write_number_return;}
|
|
write_number_return:
|
|
switch (write_number_return_tag) {
|
|
case 0: goto write_number_return_0;
|
|
case 1: goto write_number_return_1;
|
|
case 2: goto write_number_return_2;
|
|
case 3: goto write_number_return_3;
|
|
case 4: goto write_number_return_4;
|
|
}}
|
|
|
|
stob_equalP: {
|
|
stob1_619X = merged_arg1K0;
|
|
stob2_620X = merged_arg1K1;{
|
|
z2_611X = *((long *) (-7 + stob2_620X));
|
|
z1_610X = *((long *) (-7 + stob1_619X));
|
|
if (((128 | z1_610X) == (128 | z2_611X))) {
|
|
arg1K0 = 0;
|
|
goto L8355;}
|
|
else {
|
|
stob_equalP_return_value = 0;
|
|
goto stob_equalP_return;}}
|
|
L8355: {
|
|
i_612X = arg1K0;
|
|
if ((i_612X < ((((3 + ((long)(((unsigned long)z1_610X)>>8))))>>2)))) {
|
|
if (((*((long *) ((-3 + stob1_619X) + (((i_612X)<<2))))) == (*((long *) ((-3 + stob2_620X) + (((i_612X)<<2))))))) {
|
|
arg1K0 = (1 + i_612X);
|
|
goto L8355;}
|
|
else {
|
|
stob_equalP_return_value = 0;
|
|
goto stob_equalP_return;}}
|
|
else {
|
|
stob_equalP_return_value = 1;
|
|
goto stob_equalP_return;}}
|
|
stob_equalP_return:
|
|
switch (stob_equalP_return_tag) {
|
|
case 0: goto stob_equalP_return_0;
|
|
case 1: goto stob_equalP_return_1;
|
|
}}
|
|
|
|
extract_string: {
|
|
string_617X = merged_arg1K0;{
|
|
z_613X = -1 + ((long)(((unsigned long)(*((long *) (-7 + string_617X))))>>8));
|
|
v_614X = (unsigned char *)calloc( 1, 1 + z_613X);
|
|
arg1K0 = 0;
|
|
goto L10873;}
|
|
L10873: {
|
|
i_615X = arg1K0;
|
|
if ((i_615X < z_613X)) {
|
|
*(v_614X + i_615X) = (((long)(*((unsigned char *) ((-3 + string_617X) + i_615X)))));
|
|
arg1K0 = (1 + i_615X);
|
|
goto L10873;}
|
|
else {
|
|
extract_string_return_value = v_614X;
|
|
goto extract_string_return;}}
|
|
extract_string_return:
|
|
switch (extract_string_return_tag) {
|
|
case 0: goto extract_string_return_0;
|
|
case 1: goto extract_string_return_1;
|
|
case 2: goto extract_string_return_2;
|
|
}}
|
|
}
|
|
|
|
long enter_string(unsigned char *string_677X)
|
|
{
|
|
extern long ShpS;
|
|
long arg1K0;
|
|
long new_678X;
|
|
long len_679X;
|
|
long z_680X;
|
|
long s_681X;
|
|
long i_682X;
|
|
|
|
{z_680X = strlen(string_677X);
|
|
len_679X = 1 + z_680X;
|
|
*((long *) (ShpS)) = (62 + (((len_679X)<<8)));
|
|
ShpS = (4 + (ShpS));
|
|
new_678X = 3 + (ShpS);
|
|
ShpS = ((ShpS) + (-4 & (3 + len_679X)));
|
|
if ((0 < len_679X)) {
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
arg1K0 = new_678X;
|
|
goto L11945;}
|
|
else {
|
|
arg1K0 = new_678X;
|
|
goto L11945;}}
|
|
L11945: {
|
|
s_681X = arg1K0;
|
|
arg1K0 = 0;
|
|
goto L11947;}
|
|
L11947: {
|
|
i_682X = arg1K0;
|
|
if ((i_682X < z_680X)) {
|
|
*((unsigned char *) ((-3 + s_681X) + i_682X)) = ((unsigned char)((long)((*(string_677X + i_682X)))));
|
|
arg1K0 = (1 + i_682X);
|
|
goto L11947;}
|
|
else {
|
|
return(s_681X);}}}
|
|
|
|
long copy_weak_pointer(long weak_683X)
|
|
{
|
|
extern long ShpS;
|
|
extern long Sweak_pointer_limitS;
|
|
extern long Sweak_pointer_hpS;
|
|
unsigned char tempWW552_684X;
|
|
long old_685X;
|
|
long new_686X;
|
|
|
|
{tempWW552_684X = -1 == (Sweak_pointer_hpS);
|
|
if (tempWW552_684X) {
|
|
goto L8005;}
|
|
else {
|
|
if (((Sweak_pointer_hpS) < (Sweak_pointer_limitS))) {
|
|
goto L8010;}
|
|
else {
|
|
goto L8005;}}}
|
|
L8005: {
|
|
old_685X = Sweak_pointer_hpS;
|
|
Sweak_pointer_hpS = (ShpS);
|
|
ShpS = (1024 + (ShpS));
|
|
Sweak_pointer_limitS = (ShpS);
|
|
*((long *) (Sweak_pointer_hpS)) = 261186;
|
|
*((long *) (8 + (Sweak_pointer_hpS))) = old_685X;
|
|
goto L8010;}
|
|
L8010: {
|
|
new_686X = 7 + (Sweak_pointer_hpS);
|
|
*((long *) (4 + (Sweak_pointer_hpS))) = (*((long *) (-3 + weak_683X)));
|
|
Sweak_pointer_hpS = (8 + (Sweak_pointer_hpS));
|
|
*((long *) (-7 + weak_683X)) = new_686X;
|
|
return(new_686X);}}
|
|
|
|
void really_write_number(long x_687X, FILE * port_688X)
|
|
{
|
|
extern void really_write_number(long, FILE *);
|
|
long v_689X;
|
|
long v_690X;
|
|
|
|
{if ((x_687X < 10)) {
|
|
goto L29300;}
|
|
else {
|
|
v_689X = x_687X / 10;
|
|
really_write_number(v_689X, port_688X);
|
|
goto L29300;}}
|
|
L29300: {
|
|
v_690X = x_687X % 10;
|
|
putc(((48 + v_690X)), port_688X);
|
|
return;}}
|
|
|
|
long read_number(FILE * port_691X)
|
|
{
|
|
long arg1K0;
|
|
unsigned char arg4K1;
|
|
unsigned char arg4K0;
|
|
unsigned char ch_692X;
|
|
long r_693X;
|
|
unsigned char ch_694X;
|
|
long r_695X;
|
|
unsigned char Kchar_696X;
|
|
unsigned char ch_697X;
|
|
unsigned char Kchar_698X;
|
|
unsigned char ch_699X;
|
|
|
|
{goto L4913;}
|
|
L4942: {
|
|
ch_692X = arg4K0;
|
|
arg1K0 = 0;
|
|
arg4K1 = ch_692X;
|
|
goto L4944;}
|
|
L4944: {
|
|
r_693X = arg1K0;
|
|
ch_694X = arg4K1;
|
|
r_695X = (-48 + ((long)(ch_694X))) + (10 * r_693X);
|
|
{ int TTchar;
|
|
PS_GETC(port_691X, TTchar);
|
|
if (EOF == TTchar) {
|
|
return(r_695X);}
|
|
else {
|
|
unsigned char Kchar_696X = TTchar;
|
|
ch_697X = Kchar_696X;
|
|
if ((((long)ch_697X) < 48)) {
|
|
return(r_695X);}
|
|
else {
|
|
if ((57 < ((long)ch_697X))) {
|
|
return(r_695X);}
|
|
else {
|
|
arg1K0 = r_695X;
|
|
arg4K1 = Kchar_696X;
|
|
goto L4944;}}}}}
|
|
L4913: {
|
|
{ int TTchar;
|
|
PS_GETC(port_691X, TTchar);
|
|
if (EOF == TTchar) {
|
|
arg4K0 = -1;
|
|
goto L4942;}
|
|
else {
|
|
unsigned char Kchar_698X = TTchar;
|
|
ch_699X = Kchar_698X;
|
|
if ((((long)ch_699X) < 48)) {
|
|
goto L4913;}
|
|
else {
|
|
if ((57 < ((long)ch_699X))) {
|
|
goto L4913;}
|
|
else {
|
|
arg4K0 = Kchar_698X;
|
|
goto L4942;}}}}}}
|
|
|
|
long call_startup_procedure(long startup_proc_700X, unsigned char **startup_vector_701X, long startup_vector_length_702X)
|
|
{
|
|
extern long Sbottom_of_stackS;
|
|
extern long SenvS;
|
|
extern long Sinterrupt_templateS;
|
|
extern long StemplateS;
|
|
extern long Sdynamic_stateS;
|
|
extern long Sexception_handlerS;
|
|
extern long Sinterrupt_handlersS;
|
|
extern long Senabled_interruptsS;
|
|
extern long Spending_interruptsS;
|
|
extern long *Sopen_vm_portsS;
|
|
extern long Scode_pointerS;
|
|
extern long Tinterpret();
|
|
extern long SnargsS;
|
|
extern long SvalS;
|
|
extern long SstackS;
|
|
extern long Sstack_beginS;
|
|
extern long Sstack_limitS;
|
|
extern unsigned char Sexception_space_usedPS;
|
|
extern long enter_string(unsigned char*);
|
|
extern long ShpS;
|
|
long arg1K0;
|
|
long new_703X;
|
|
long len_704X;
|
|
long tem_705X;
|
|
long new_706X;
|
|
long v_707X;
|
|
unsigned char option_708X;
|
|
long vector_709X;
|
|
long i_710X;
|
|
unsigned char x_711X;
|
|
long val_712X;
|
|
|
|
{len_704X = ((startup_vector_length_702X)<<2);
|
|
*((long *) (ShpS)) = (10 + (((len_704X)<<8)));
|
|
ShpS = (4 + (ShpS));
|
|
new_703X = 3 + (ShpS);
|
|
ShpS = ((ShpS) + (-4 & (3 + len_704X)));
|
|
if ((0 < len_704X)) {
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
arg1K0 = new_703X;
|
|
goto L15473;}
|
|
else {
|
|
arg1K0 = new_703X;
|
|
goto L15473;}}
|
|
L12652: {
|
|
SenvS = 13;
|
|
tem_705X = Sinterrupt_templateS;
|
|
StemplateS = tem_705X;
|
|
Scode_pointerS = (-3 + (*((long *) (-3 + tem_705X))));
|
|
SnargsS = 0;
|
|
SvalS = 13;
|
|
Sdynamic_stateS = 25;
|
|
Sexception_handlerS = 25;
|
|
Sinterrupt_handlersS = 25;
|
|
Senabled_interruptsS = 0;
|
|
Spending_interruptsS = 0;
|
|
*((long *) (SstackS)) = vector_709X;
|
|
SstackS = (-4 + (SstackS));
|
|
*((long *) (SstackS)) = (*((Sopen_vm_portsS) + 0));
|
|
SstackS = (-4 + (SstackS));
|
|
*((long *) (SstackS)) = (*((Sopen_vm_portsS) + 1));
|
|
SstackS = (-4 + (SstackS));
|
|
*((long *) (ShpS)) = 578;
|
|
ShpS = (4 + (ShpS));
|
|
new_706X = 3 + (ShpS);
|
|
ShpS = (4 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((unsigned char *) (-3 + new_706X)) = 23;
|
|
*((unsigned char *) (-2 + new_706X)) = 3;
|
|
Scode_pointerS = (-3 + new_706X);
|
|
SvalS = startup_proc_700X;
|
|
goto L15407;}
|
|
L12697: {
|
|
Sstack_limitS = (296 + (Sstack_beginS));
|
|
Sexception_space_usedPS = 0;
|
|
goto L12652;}
|
|
L15407: {
|
|
option_708X = TTrun_machine((long)Tinterpret);
|
|
if ((0 == ((long)option_708X))) {
|
|
return((SvalS));}
|
|
else {
|
|
if ((1 == ((long)option_708X))) {
|
|
v_707X = ((long(*)())(*((long *) (-3 + (*((long *) (1 + (SvalS))))))))((SnargsS), (4 + (SstackS)));
|
|
SvalS = v_707X;
|
|
SstackS = ((SstackS) - ((((-1 - (SnargsS)))<<2)));
|
|
goto L15407;}
|
|
else {
|
|
TTerror("unkown VM return option", 1, ((long)option_708X), 0, 0);
|
|
return(-1);}}}
|
|
L15473: {
|
|
vector_709X = arg1K0;
|
|
arg1K0 = 0;
|
|
goto L15475;}
|
|
L15475: {
|
|
i_710X = arg1K0;
|
|
if ((i_710X < startup_vector_length_702X)) {
|
|
val_712X = enter_string((*(startup_vector_701X + i_710X)));
|
|
*((long *) ((-3 + vector_709X) + (((i_710X)<<2)))) = val_712X;
|
|
arg1K0 = (1 + i_710X);
|
|
goto L15475;}
|
|
else {
|
|
SstackS = (-11 + (Sbottom_of_stackS));
|
|
*((long *) (-3 + (Sbottom_of_stackS))) = 1;
|
|
if ((Sexception_space_usedPS)) {
|
|
x_711X = (Sstack_limitS) < (-296 + (SstackS));
|
|
if (x_711X) {
|
|
goto L12697;}
|
|
else {
|
|
TTerror("no space on stack to reserve exception space", 0, 0, 0, 0);
|
|
goto L12697;}}
|
|
else {
|
|
goto L12652;}}}}
|
|
|
|
void initialize_vm(long memory_begin_713X, long memory_size_714X, long stack_begin_715X, long stack_size_716X)
|
|
{
|
|
extern long Soldspace_beginS;
|
|
extern long Soldspace_endS;
|
|
extern long Snewspace_beginS;
|
|
extern long Snewspace_endS;
|
|
extern long SlimitS;
|
|
extern long Snumber_of_portsS;
|
|
extern FILE * Scurrent_input_portS;
|
|
extern FILE * Scurrent_output_portS;
|
|
extern FILE * *Sopen_portsS;
|
|
extern long enter_string(unsigned char*);
|
|
extern long ShpS;
|
|
extern long Sstack_beginS;
|
|
extern long Sstack_limitS;
|
|
extern long Sstack_endS;
|
|
extern long SstackS;
|
|
extern long SenvS;
|
|
extern long ScontS;
|
|
extern long Sbottom_of_stackS;
|
|
extern long Sinterrupt_templateS;
|
|
extern long *Sopen_vm_portsS;
|
|
long arg1K0;
|
|
unsigned char merged_arg0K1;
|
|
unsigned char merged_arg0K0;
|
|
|
|
int make_template_containing_ops_return_tag;
|
|
long make_template_containing_ops_return_value;
|
|
long semisize_717X;
|
|
unsigned char tempWW560_718X;
|
|
long i_719X;
|
|
long v_720X;
|
|
long cont_721X;
|
|
long template_722X;
|
|
long new_723X;
|
|
long d_724X;
|
|
long new_725X;
|
|
long d_726X;
|
|
long *v_727X;
|
|
long length_728X;
|
|
long new_729X;
|
|
long new_730X;
|
|
long c_731X;
|
|
unsigned char op1_732X;
|
|
unsigned char op2_733X;
|
|
{semisize_717X = (((-2 & memory_size_714X))<<1);
|
|
Snewspace_beginS = memory_begin_713X;
|
|
Snewspace_endS = ((Snewspace_beginS) + semisize_717X);
|
|
Soldspace_beginS = (Snewspace_endS);
|
|
Soldspace_endS = ((Soldspace_beginS) + semisize_717X);
|
|
ShpS = (Snewspace_beginS);
|
|
SlimitS = (Snewspace_endS);
|
|
Sopen_portsS = ((FILE **)malloc(sizeof(FILE *) * (Snumber_of_portsS)));
|
|
Sopen_vm_portsS = ((long*)malloc(sizeof(long) * (Snumber_of_portsS)));
|
|
tempWW560_718X = NULL == (Sopen_portsS);
|
|
if (tempWW560_718X) {
|
|
goto L12952;}
|
|
else {
|
|
if ((NULL == (Sopen_vm_portsS))) {
|
|
goto L12952;}
|
|
else {
|
|
goto L12957;}}}
|
|
L12952: {
|
|
TTerror("out of memory, unable to continue", 0, 0, 0, 0);
|
|
goto L12957;}
|
|
L13064: {
|
|
i_719X = arg1K0;
|
|
if ((i_719X < length_728X)) {
|
|
*(v_727X + i_719X) = 1;
|
|
arg1K0 = (1 + i_719X);
|
|
goto L13064;}
|
|
else {
|
|
*((Sopen_portsS) + 0) = (Scurrent_input_portS);
|
|
*((Sopen_portsS) + 1) = (Scurrent_output_portS);
|
|
d_726X = enter_string("so");
|
|
*((long *) (ShpS)) = 4118;
|
|
ShpS = (4 + (ShpS));
|
|
new_725X = 3 + (ShpS);
|
|
ShpS = (16 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_725X)) = 8;
|
|
*((long *) (1 + new_725X)) = 4;
|
|
*((long *) (5 + new_725X)) = 1;
|
|
*((long *) (9 + new_725X)) = d_726X;
|
|
d_724X = enter_string("si");
|
|
*((long *) (ShpS)) = 4118;
|
|
ShpS = (4 + (ShpS));
|
|
new_723X = 3 + (ShpS);
|
|
ShpS = (16 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_723X)) = 4;
|
|
*((long *) (1 + new_723X)) = 0;
|
|
*((long *) (5 + new_723X)) = 1;
|
|
*((long *) (9 + new_723X)) = d_724X;
|
|
*((Sopen_vm_portsS) + 0) = new_723X;
|
|
*((Sopen_vm_portsS) + 1) = new_725X;
|
|
Sstack_beginS = stack_begin_715X;
|
|
Sstack_endS = (stack_begin_715X + (((stack_size_716X)<<2)));
|
|
Sstack_limitS = (Sstack_beginS);
|
|
SstackS = (-4 + (Sstack_endS));
|
|
ScontS = 1;
|
|
SenvS = 17;
|
|
merged_arg0K0 = 22;
|
|
merged_arg0K1 = 28;
|
|
make_template_containing_ops_return_tag = 0;
|
|
goto make_template_containing_ops;
|
|
make_template_containing_ops_return_0:
|
|
template_722X = make_template_containing_ops_return_value;
|
|
SstackS = (-20 + (SstackS));
|
|
*((long *) (4 + (SstackS))) = 4258;
|
|
cont_721X = 11 + (SstackS);
|
|
*((long *) (1 + cont_721X)) = 0;
|
|
*((long *) (5 + cont_721X)) = template_722X;
|
|
*((long *) (9 + cont_721X)) = (SenvS);
|
|
*((long *) (-3 + cont_721X)) = (ScontS);
|
|
ScontS = cont_721X;
|
|
Sbottom_of_stackS = (ScontS);
|
|
merged_arg0K0 = 31;
|
|
merged_arg0K1 = 127;
|
|
make_template_containing_ops_return_tag = 1;
|
|
goto make_template_containing_ops;
|
|
make_template_containing_ops_return_1:
|
|
v_720X = make_template_containing_ops_return_value;
|
|
Sinterrupt_templateS = v_720X;
|
|
return;}}
|
|
L12957: {
|
|
v_727X = Sopen_vm_portsS;
|
|
length_728X = Snumber_of_portsS;
|
|
arg1K0 = 0;
|
|
goto L13064;}
|
|
make_template_containing_ops: {
|
|
op1_732X = merged_arg0K0;
|
|
op2_733X = merged_arg0K1;{
|
|
*((long *) (ShpS)) = 578;
|
|
ShpS = (4 + (ShpS));
|
|
new_729X = 3 + (ShpS);
|
|
ShpS = (4 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (ShpS)) = 2090;
|
|
ShpS = (4 + (ShpS));
|
|
new_730X = 3 + (ShpS);
|
|
ShpS = (8 + (ShpS));
|
|
*((long *) (-4 + (ShpS))) = 0;
|
|
*((long *) (-3 + new_730X)) = new_729X;
|
|
*((unsigned char *) (-3 + new_729X)) = ((unsigned char)((long)op1_732X));
|
|
*((unsigned char *) (-2 + new_729X)) = ((unsigned char)((long)op2_733X));
|
|
make_template_containing_ops_return_value = new_730X;
|
|
goto make_template_containing_ops_return;}
|
|
make_template_containing_ops_return:
|
|
switch (make_template_containing_ops_return_tag) {
|
|
case 0: goto make_template_containing_ops_return_0;
|
|
case 1: goto make_template_containing_ops_return_1;
|
|
}}
|
|
}
|
|
|
|
long required_init_space(unsigned char **startup_vector_734X, long startup_vector_length_735X)
|
|
{
|
|
long arg1K1;
|
|
long arg1K0;
|
|
long i_736X;
|
|
long s_737X;
|
|
|
|
{arg1K0 = 0;
|
|
arg1K1 = 0;
|
|
goto L5373;}
|
|
L5373: {
|
|
i_736X = arg1K0;
|
|
s_737X = arg1K1;
|
|
if ((i_736X < startup_vector_length_735X)) {
|
|
arg1K0 = (1 + i_736X);
|
|
arg1K1 = (1 + (s_737X + ((((4 + (strlen((*(startup_vector_734X + i_736X))))))>>2))));
|
|
goto L5373;}
|
|
else {
|
|
return((22 + s_737X));}}}
|
|
|
|
void note_interruptB(unsigned char interrupt_738X)
|
|
{
|
|
extern long Spending_interruptsS;
|
|
long x_739X;
|
|
|
|
{PS_SHIFT_LEFT(1, ((long)interrupt_738X), x_739X)
|
|
Spending_interruptsS = ((Spending_interruptsS) | x_739X);
|
|
return;}}
|
|
|
|
void do_gc()
|
|
{
|
|
extern long Sweak_pointer_hpS;
|
|
extern long Sweak_pointer_limitS;
|
|
extern long SlimitS;
|
|
extern long ShpS;
|
|
extern long Soldspace_beginS;
|
|
extern long Soldspace_endS;
|
|
extern long copy_weak_pointer(long);
|
|
extern long Snewspace_beginS;
|
|
long arg1K1;
|
|
long arg1K0;
|
|
long RShpS = ShpS;
|
|
long value_740X;
|
|
long scan_741X;
|
|
long value_742X;
|
|
long a_743X;
|
|
long h_744X;
|
|
long start_745X;
|
|
long end_746X;
|
|
long next_747X;
|
|
long value_748X;
|
|
long o_749X;
|
|
long new_750X;
|
|
long x1_751X;
|
|
long v_752X;
|
|
long descriptor_753X;
|
|
long a_754X;
|
|
long h_755X;
|
|
long a_756X;
|
|
long end_757X;
|
|
long x1_758X;
|
|
long addr_759X;
|
|
long next_760X;
|
|
long thing_761X;
|
|
long start_762X;
|
|
long end_763X;
|
|
|
|
{arg1K0 = (Snewspace_beginS);
|
|
goto L13830;}
|
|
L7761: {
|
|
arg1K0 = (8 + scan_741X);
|
|
goto L7716;}
|
|
L7756: {
|
|
value_740X = arg1K0;
|
|
*((long *) (4 + scan_741X)) = value_740X;
|
|
goto L7761;}
|
|
L7716: {
|
|
scan_741X = arg1K0;
|
|
if ((scan_741X < end_746X)) {
|
|
*((long *) scan_741X) = 1070;
|
|
value_742X = *((long *) (4 + scan_741X));
|
|
if ((3 == (3 & value_742X))) {
|
|
a_743X = -3 + value_742X;
|
|
if ((a_743X < (Soldspace_beginS))) {
|
|
goto L7761;}
|
|
else {
|
|
if ((a_743X < (Soldspace_endS))) {
|
|
if ((3 == (3 & value_742X))) {
|
|
h_744X = *((long *) (-7 + value_742X));
|
|
if ((3 == (3 & h_744X))) {
|
|
arg1K0 = h_744X;
|
|
goto L7756;}
|
|
else {
|
|
arg1K0 = 1;
|
|
goto L7756;}}
|
|
else {
|
|
goto L7761;}}
|
|
else {
|
|
goto L7761;}}}
|
|
else {
|
|
goto L7761;}}
|
|
else {
|
|
if ((-1 == next_747X)) {
|
|
if ((end_757X < (Sweak_pointer_limitS))) {
|
|
*((long *) end_757X) = (66 + ((((-4 & (-4 + ((Sweak_pointer_limitS) - end_757X))))<<8)));
|
|
ShpS = RShpS;
|
|
return;}
|
|
else {
|
|
ShpS = RShpS;
|
|
return;}}
|
|
else {
|
|
arg1K0 = (-1024 + next_747X);
|
|
arg1K1 = next_747X;
|
|
goto L11112;}}}
|
|
L11112: {
|
|
start_745X = arg1K0;
|
|
end_746X = arg1K1;
|
|
next_747X = *((long *) (8 + start_745X));
|
|
arg1K0 = start_745X;
|
|
goto L7716;}
|
|
L31642: {
|
|
value_748X = arg1K0;
|
|
*((long *) addr_759X) = value_748X;
|
|
arg1K0 = next_760X;
|
|
goto L13896;}
|
|
L31695: {
|
|
o_749X = arg1K0;
|
|
if (((RShpS) < (x1_751X + (-4 & (3 + ((long)(((unsigned long)h_755X)>>8))))))) {
|
|
*((long *) (RShpS)) = (*((long *) o_749X));
|
|
RShpS = (4 + (RShpS));
|
|
arg1K0 = (4 + o_749X);
|
|
goto L31695;}
|
|
else {
|
|
arg1K0 = new_750X;
|
|
goto L31642;}}
|
|
L31679: {
|
|
*((long *) (RShpS)) = h_755X;
|
|
RShpS = (4 + (RShpS));
|
|
new_750X = 3 + (RShpS);
|
|
*((long *) (-7 + thing_761X)) = new_750X;
|
|
x1_751X = RShpS;
|
|
arg1K0 = (-3 + thing_761X);
|
|
goto L31695;}
|
|
L31634: {
|
|
if ((3 == (3 & thing_761X))) {
|
|
a_754X = -3 + thing_761X;
|
|
if ((a_754X < (Soldspace_beginS))) {
|
|
arg1K0 = next_760X;
|
|
goto L13896;}
|
|
else {
|
|
if ((a_754X < (Soldspace_endS))) {
|
|
h_755X = *((long *) (-7 + thing_761X));
|
|
if ((3 == (3 & h_755X))) {
|
|
arg1K0 = h_755X;
|
|
goto L31642;}
|
|
else {
|
|
if ((1070 == h_755X)) {
|
|
descriptor_753X = *((long *) (-3 + thing_761X));
|
|
if ((3 == (3 & descriptor_753X))) {
|
|
a_756X = -3 + descriptor_753X;
|
|
if ((a_756X < (Soldspace_beginS))) {
|
|
goto L31679;}
|
|
else {
|
|
if ((a_756X < (Soldspace_endS))) {
|
|
ShpS = RShpS;
|
|
v_752X = copy_weak_pointer(thing_761X);
|
|
RShpS = ShpS;
|
|
arg1K0 = v_752X;
|
|
goto L31642;}
|
|
else {
|
|
goto L31679;}}}
|
|
else {
|
|
goto L31679;}}
|
|
else {
|
|
goto L31679;}}}
|
|
else {
|
|
arg1K0 = next_760X;
|
|
goto L13896;}}}
|
|
else {
|
|
arg1K0 = next_760X;
|
|
goto L13896;}}
|
|
L13856: {
|
|
if ((-1 == (Sweak_pointer_hpS))) {
|
|
ShpS = RShpS;
|
|
return;}
|
|
else {
|
|
x1_758X = Sweak_pointer_limitS;
|
|
end_757X = Sweak_pointer_hpS;
|
|
arg1K0 = (-1024 + x1_758X);
|
|
arg1K1 = end_757X;
|
|
goto L11112;}}
|
|
L13896: {
|
|
addr_759X = arg1K0;
|
|
if ((addr_759X < end_763X)) {
|
|
next_760X = 4 + addr_759X;
|
|
thing_761X = *((long *) addr_759X);
|
|
if ((2 == (3 & thing_761X))) {
|
|
if (((31 & (((thing_761X)>>2))) < 15)) {
|
|
goto L31634;}
|
|
else {
|
|
arg1K0 = (next_760X + (-4 & (3 + ((long)(((unsigned long)thing_761X)>>8)))));
|
|
goto L13896;}}
|
|
else {
|
|
goto L31634;}}
|
|
else {
|
|
if (((RShpS) < (SlimitS))) {
|
|
if ((end_763X < (RShpS))) {
|
|
arg1K0 = end_763X;
|
|
goto L13830;}
|
|
else {
|
|
goto L13856;}}
|
|
else {
|
|
TTerror("GC error: ran out of space in new heap", 0, 0, 0, 0);
|
|
goto L13856;}}}
|
|
L13830: {
|
|
start_762X = arg1K0;
|
|
end_763X = RShpS;
|
|
arg1K0 = start_762X;
|
|
goto L13896;}}
|
|
|
|
long read_image(unsigned char *filename_764X, long startup_space_765X)
|
|
{
|
|
extern long read_number(FILE *);
|
|
extern long Snewspace_endS;
|
|
extern FILE * Scurrent_output_portS;
|
|
extern long ShpS;
|
|
long arg1K0;
|
|
unsigned char arg3K0;
|
|
FILE * port_766X;
|
|
unsigned char reverseP_767X;
|
|
long v_768X;
|
|
long ptr_769X;
|
|
long value_770X;
|
|
unsigned char x_771X;
|
|
unsigned char x_772X;
|
|
long d_773X;
|
|
long v_774X;
|
|
long ptr_775X;
|
|
long descriptor_776X;
|
|
long result_777X;
|
|
long old_level_778X;
|
|
long old_bytes_per_cell_779X;
|
|
long cells_780X;
|
|
long old_begin_781X;
|
|
long cells_782X;
|
|
long old_hp_783X;
|
|
long startup_proc_784X;
|
|
unsigned char Kchar_785X;
|
|
unsigned char Kchar_786X;
|
|
long addr_787X;
|
|
unsigned char x_788X;
|
|
unsigned char x_789X;
|
|
long start_790X;
|
|
long new_limit_791X;
|
|
long new_hp_792X;
|
|
long delta_793X;
|
|
|
|
{port_766X = ps_open(filename_764X, "rb");
|
|
if ((NULL == port_766X)) {
|
|
TTerror("Can't open heap image file", 0, 0, 0, 0);
|
|
goto L10206;}
|
|
else {
|
|
goto L10206;}}
|
|
L10266: {
|
|
reverseP_767X = arg3K0;
|
|
fread((void *)(ShpS), sizeof(char), (old_hp_783X - old_begin_781X), port_766X);
|
|
if (reverseP_767X) {
|
|
fputs("Correcting byte order of resumed image.", (Scurrent_output_portS));
|
|
putc(10, (Scurrent_output_portS));
|
|
arg1K0 = start_790X;
|
|
goto L8611;}
|
|
else {
|
|
goto L10276;}}
|
|
L8637: {
|
|
v_768X = arg1K0;
|
|
arg1K0 = v_768X;
|
|
goto L8611;}
|
|
L8611: {
|
|
ptr_769X = arg1K0;
|
|
x_772X = *((unsigned char *) ptr_769X);
|
|
*((unsigned char *) ptr_769X) = ((unsigned char)((long)(*((unsigned char *) (3 + ptr_769X)))));
|
|
*((unsigned char *) (3 + ptr_769X)) = ((unsigned char)((long)x_772X));
|
|
x_771X = *((unsigned char *) (1 + ptr_769X));
|
|
*((unsigned char *) (1 + ptr_769X)) = ((unsigned char)((long)(*((unsigned char *) (2 + ptr_769X)))));
|
|
*((unsigned char *) (2 + ptr_769X)) = ((unsigned char)((long)x_771X));
|
|
value_770X = *((long *) ptr_769X);
|
|
if ((ptr_769X < new_hp_792X)) {
|
|
if ((2 == (3 & value_770X))) {
|
|
if (((31 & (((value_770X)>>2))) < 15)) {
|
|
arg1K0 = (4 + ptr_769X);
|
|
goto L8637;}
|
|
else {
|
|
arg1K0 = ((4 + ptr_769X) + (-4 & (3 + ((long)(((unsigned long)value_770X)>>8)))));
|
|
goto L8637;}}
|
|
else {
|
|
arg1K0 = (4 + ptr_769X);
|
|
goto L8637;}}
|
|
else {
|
|
goto L10276;}}
|
|
L8736: {
|
|
d_773X = arg1K0;
|
|
*((long *) ptr_775X) = d_773X;
|
|
if ((2 == (3 & d_773X))) {
|
|
if (((31 & (((d_773X)>>2))) < 15)) {
|
|
arg1K0 = (4 + ptr_775X);
|
|
goto L8754;}
|
|
else {
|
|
arg1K0 = ((4 + ptr_775X) + (-4 & (3 + ((long)(((unsigned long)d_773X)>>8)))));
|
|
goto L8754;}}
|
|
else {
|
|
arg1K0 = (4 + ptr_775X);
|
|
goto L8754;}}
|
|
L8754: {
|
|
v_774X = arg1K0;
|
|
arg1K0 = v_774X;
|
|
goto L8726;}
|
|
L8726: {
|
|
ptr_775X = arg1K0;
|
|
if ((ptr_775X < new_hp_792X)) {
|
|
descriptor_776X = *((long *) ptr_775X);
|
|
if ((3 == (3 & descriptor_776X))) {
|
|
arg1K0 = (3 + ((-3 + descriptor_776X) + delta_793X));
|
|
goto L8736;}
|
|
else {
|
|
arg1K0 = descriptor_776X;
|
|
goto L8736;}}
|
|
else {
|
|
goto L10286;}}
|
|
L10456: {
|
|
result_777X = arg1K0;
|
|
fclose(port_766X);
|
|
return(result_777X);}
|
|
L10208: {
|
|
old_level_778X = read_number(port_766X);
|
|
old_bytes_per_cell_779X = read_number(port_766X);
|
|
cells_780X = read_number(port_766X);
|
|
old_begin_781X = ((cells_780X)<<2);
|
|
cells_782X = read_number(port_766X);
|
|
old_hp_783X = ((cells_782X)<<2);
|
|
startup_proc_784X = read_number(port_766X);
|
|
goto L10407;}
|
|
L10432: {
|
|
{ int TTchar;
|
|
PS_GETC(port_766X, TTchar);
|
|
if (EOF == TTchar) {
|
|
TTerror("end of file while looking for page break", 0, 0, 0, 0);
|
|
goto L10208;}
|
|
else {
|
|
unsigned char Kchar_785X = TTchar;
|
|
if ((12 == ((long)Kchar_785X))) {
|
|
goto L10208;}
|
|
else {
|
|
goto L10432;}}}}
|
|
L10229: {
|
|
if ((15 == old_level_778X)) {
|
|
goto L10239;}
|
|
else {
|
|
TTerror("format of image is incompatible with this version of system", 2, old_level_778X, 15, 0);
|
|
goto L10239;}}
|
|
L10407: {
|
|
{ int TTchar;
|
|
PS_GETC(port_766X, TTchar);
|
|
if (EOF == TTchar) {
|
|
TTerror("end of file while looking for page break", 0, 0, 0, 0);
|
|
goto L10229;}
|
|
else {
|
|
unsigned char Kchar_786X = TTchar;
|
|
if ((12 == ((long)Kchar_786X))) {
|
|
goto L10229;}
|
|
else {
|
|
goto L10407;}}}}
|
|
L10286: {
|
|
ShpS = new_hp_792X;
|
|
if ((3 == (3 & startup_proc_784X))) {
|
|
arg1K0 = (3 + ((-3 + startup_proc_784X) + delta_793X));
|
|
goto L10456;}
|
|
else {
|
|
arg1K0 = startup_proc_784X;
|
|
goto L10456;}}
|
|
L10276: {
|
|
if ((0 == delta_793X)) {
|
|
goto L10286;}
|
|
else {
|
|
arg1K0 = start_790X;
|
|
goto L8726;}}
|
|
L10263: {
|
|
fread((void *)(ShpS), sizeof(char), 4, port_766X);
|
|
if ((1 == (*((long *) (ShpS))))) {
|
|
arg3K0 = 0;
|
|
goto L10266;}
|
|
else {
|
|
addr_787X = ShpS;
|
|
x_788X = *((unsigned char *) addr_787X);
|
|
*((unsigned char *) addr_787X) = ((unsigned char)((long)(*((unsigned char *) (3 + addr_787X)))));
|
|
*((unsigned char *) (3 + addr_787X)) = ((unsigned char)((long)x_788X));
|
|
x_789X = *((unsigned char *) (1 + addr_787X));
|
|
*((unsigned char *) (1 + addr_787X)) = ((unsigned char)((long)(*((unsigned char *) (2 + addr_787X)))));
|
|
*((unsigned char *) (2 + addr_787X)) = ((unsigned char)((long)x_789X));
|
|
if ((1 == (*((long *) (ShpS))))) {
|
|
arg3K0 = 1;
|
|
goto L10266;}
|
|
else {
|
|
TTerror("unable to correct byte order", 1, (*((long *) (ShpS))), 0, 0);
|
|
arg3K0 = 0;
|
|
goto L10266;}}}
|
|
L10249: {
|
|
delta_793X = (ShpS) - old_begin_781X;
|
|
new_hp_792X = old_hp_783X + delta_793X;
|
|
new_limit_791X = Snewspace_endS;
|
|
start_790X = ShpS;
|
|
if (((startup_space_765X + new_hp_792X) < new_limit_791X)) {
|
|
goto L10263;}
|
|
else {
|
|
TTerror("heap not big enough to restore this image", 2, new_hp_792X, new_limit_791X, 0);
|
|
goto L10263;}}
|
|
L10239: {
|
|
if ((4 == old_bytes_per_cell_779X)) {
|
|
goto L10249;}
|
|
else {
|
|
TTerror("incompatible bytes-per-cell", 2, old_bytes_per_cell_779X, 4, 0);
|
|
goto L10249;}}
|
|
L10206: {
|
|
goto L10432;}}
|
|
|
|
long check_image_header(unsigned char *filename_794X)
|
|
{
|
|
extern long read_number(FILE *);
|
|
extern FILE * Scurrent_output_portS;
|
|
long arg1K0;
|
|
FILE * port_795X;
|
|
FILE * out_796X;
|
|
long result_797X;
|
|
FILE * out_798X;
|
|
long old_level_799X;
|
|
long old_bytes_per_cell_800X;
|
|
long cells_801X;
|
|
long cells_802X;
|
|
FILE * out_803X;
|
|
unsigned char Kchar_804X;
|
|
|
|
{port_795X = ps_open(filename_794X, "rb");
|
|
if ((NULL == port_795X)) {
|
|
out_796X = Scurrent_output_portS;
|
|
fputs("Can't open heap image file", out_796X);
|
|
putc(10, out_796X);
|
|
arg1K0 = -1;
|
|
goto L6547;}
|
|
else {
|
|
goto L6503;}}
|
|
L6547: {
|
|
result_797X = arg1K0;
|
|
fclose(port_795X);
|
|
return(result_797X);}
|
|
L6409: {
|
|
old_level_799X = read_number(port_795X);
|
|
old_bytes_per_cell_800X = read_number(port_795X);
|
|
cells_801X = read_number(port_795X);
|
|
cells_802X = read_number(port_795X);
|
|
if ((15 == old_level_799X)) {
|
|
if ((4 == old_bytes_per_cell_800X)) {
|
|
arg1K0 = ((((cells_802X)<<2)) - (((cells_801X)<<2)));
|
|
goto L6547;}
|
|
else {
|
|
out_798X = Scurrent_output_portS;
|
|
fputs("incompatible bytes-per-cell in image", out_798X);
|
|
putc(10, out_798X);
|
|
arg1K0 = -1;
|
|
goto L6547;}}
|
|
else {
|
|
out_803X = Scurrent_output_portS;
|
|
fputs("format of image is incompatible with this version of system", out_803X);
|
|
putc(10, out_803X);
|
|
arg1K0 = -1;
|
|
goto L6547;}}
|
|
L6503: {
|
|
{ int TTchar;
|
|
PS_GETC(port_795X, TTchar);
|
|
if (EOF == TTchar) {
|
|
TTerror("end of file while looking for page break", 0, 0, 0, 0);
|
|
goto L6409;}
|
|
else {
|
|
unsigned char Kchar_804X = TTchar;
|
|
if ((12 == ((long)Kchar_804X))) {
|
|
goto L6409;}
|
|
else {
|
|
goto L6503;}}}}}
|
|
|
|
void register_static_areas(unsigned char pure_count_805X, long *pure_areas_806X, long *pure_sizes_807X, unsigned char impure_count_808X, long *impure_areas_809X, long *impure_sizes_810X)
|
|
{
|
|
extern unsigned char Spure_area_countS;
|
|
extern long *Spure_areasS;
|
|
extern long *Spure_sizesS;
|
|
extern unsigned char Simpure_area_countS;
|
|
extern long *Simpure_areasS;
|
|
extern long *Simpure_sizesS;
|
|
|
|
{Spure_area_countS = pure_count_805X;
|
|
Spure_areasS = pure_areas_806X;
|
|
Spure_sizesS = pure_sizes_807X;
|
|
Simpure_area_countS = impure_count_808X;
|
|
Simpure_areasS = impure_areas_809X;
|
|
Simpure_sizesS = impure_sizes_810X;
|
|
return;}}
|
|
scheme48_init()
|
|
{
|
|
Sminimum_recovered_spaceS = 0;
|
|
Sexception_space_usedPS = 1;
|
|
Snumber_of_portsS = 100;
|
|
Sweak_pointer_limitS = 0;
|
|
Sweak_pointer_hpS = -1;
|
|
Ssaved_limitS = 0;
|
|
Ssaved_hpS = 0;
|
|
Sgc_countS = 0;
|
|
Simpure_area_countS = 0;
|
|
Spure_area_countS = 0;
|
|
SlimitS = 0;
|
|
ShpS = 0;
|
|
Scurrent_output_portS = stdout;
|
|
Scurrent_input_portS = stdin;
|
|
}
|