--- rpl/src/analyse.c 2010/08/06 15:32:57 1.26 +++ rpl/src/analyse.c 2011/04/11 13:02:12 1.36.2.1 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.18 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.0.22 + Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -459,13 +459,16 @@ initialisation_instructions(struct_proce INSTRUCTION("INCR", instruction_incr); //INSTRUCTION("ISOL"); INSTRUCTION("ISWI", instruction_iswi); +# ifndef OS2 INSTRUCTION("KILL", instruction_kill); +# endif INSTRUCTION("KIND", instruction_kind); INSTRUCTION("LAST", instruction_last); INSTRUCTION("LEGV", instruction_legv); INSTRUCTION("LINE", instruction_line); INSTRUCTION("LNP1", instruction_lnp1); INSTRUCTION("LOCK", instruction_lock); + INSTRUCTION("L->T", instruction_l_vers_t); INSTRUCTION("MANT", instruction_mant); INSTRUCTION("MARK", instruction_mark); //INSTRUCTION("MAXR") @@ -486,7 +489,9 @@ initialisation_instructions(struct_proce INSTRUCTION("PLOT", instruction_plot); INSTRUCTION("PMAX", instruction_pmax); INSTRUCTION("PMIN", instruction_pmin); +# ifndef OS2 INSTRUCTION("POKE", instruction_poke); +# endif INSTRUCTION("PPAR", instruction_ppar); INSTRUCTION("PRMD", instruction_prmd); INSTRUCTION("PRST", instruction_prst); @@ -552,7 +557,9 @@ initialisation_instructions(struct_proce INSTRUCTION("STO-", instruction_sto_moins); INSTRUCTION("STO/", instruction_sto_division); INSTRUCTION("STOF", instruction_stof); +# ifndef OS2 INSTRUCTION("STOP", instruction_stop); +# endif INSTRUCTION("STOS", instruction_stos); INSTRUCTION("STWS", instruction_stws); INSTRUCTION("SWAP", instruction_swap); @@ -565,6 +572,7 @@ initialisation_instructions(struct_proce INSTRUCTION("TRNC", instruction_trnc); INSTRUCTION("TRUE", instruction_true); INSTRUCTION("TYPE", instruction_type); + INSTRUCTION("T->L", instruction_t_vers_l); INSTRUCTION("UTPC", instruction_utpc); INSTRUCTION("UTPF", instruction_utpf); INSTRUCTION("UTPN", instruction_utpn); @@ -685,7 +693,9 @@ initialisation_instructions(struct_proce INSTRUCTION("SLICE", instruction_slice); //INSTRUCTION("SLIST") //Instruction HP48 (somme des termes d'une liste) +# ifndef OS2 INSTRUCTION("SPAWN", instruction_spawn); +# endif INSTRUCTION("START", instruction_start); INSTRUCTION("STORE", instruction_store); INSTRUCTION("STR->", instruction_str_fleche); @@ -722,7 +732,9 @@ initialisation_instructions(struct_proce INSTRUCTION("CLRSWI", instruction_clrswi); INSTRUCTION("CREATE", instruction_create); INSTRUCTION("DELETE", instruction_delete); +# ifndef OS2 INSTRUCTION("DETACH", instruction_detach); +# endif INSTRUCTION("DIAG->", instruction_diag_fleche); //INSTRUCTION("DOLIST") //Instruction HP48 (application d'une fonction à une liste) @@ -816,7 +828,9 @@ initialisation_instructions(struct_proce INSTRUCTION("CLRCNTXT", instruction_clrcntxt); INSTRUCTION("CLRSMPHR", instruction_clrsmphr); +# ifndef OS2 INSTRUCTION("CONTINUE", instruction_continue); +# endif INSTRUCTION("DUPCNTXT", instruction_dupcntxt); INSTRUCTION("FUNCTION", instruction_function); INSTRUCTION("IMPLICIT", instruction_implicit); @@ -884,9 +898,6 @@ initialisation_instructions(struct_proce } -#ifndef OS2 -extern inline -#endif void * analyse_instruction(struct_processus *s_etat_processus, unsigned char *ptr) { @@ -960,6 +971,11 @@ analyse(struct_processus *s_etat_process void (*instruction)(); +# ifdef DMALLOC + BUG(dmalloc_verify(NULL) == DMALLOC_VERIFY_ERROR, + printf("HEAP CORRUPTION!")); +# endif + errno = 0; (*s_etat_processus).var_volatile_exception_gsl = 0; @@ -1147,6 +1163,7 @@ analyse(struct_processus *s_etat_process -------------------------------------------------------------------------------- */ +# ifndef OS2 if ((*s_etat_processus).pourcentage_maximal_cpu < 100) { getrusage(RUSAGE_SELF, &usage_final); @@ -1202,6 +1219,7 @@ analyse(struct_processus *s_etat_process usage_initial = usage_final; } } +# endif /* --------------------------------------------------------------------------------