// Last updated : 07.24.2002 // who: marco, kristine, peter & kai // summary: - this is the final up date for MTevaluator Virtual machine for Summer 2002 // - stackmem_LRU bug fixed // - renamed header files for easier access.. commented in vm.cpp // - this version is tested for Linux rename vm.cpp to vm.cc to run in lunux, // add linux path to all change all the neccessary headers declaired in the begining of the file // // // Last updated : 07.10.2002 // summary: - MTEVM has been changed to support Linux and windows, just make changes to the linux version, // then change the file name for MS // // Last updated : 06.30.2002 // summery: - MTSRA for stack is working. see stackmem3.h // -PL LRU for heap is working see heapmem2.h // - added LRUTS to PageTableEntry in MTdeclaration.h to support LRU time stamp // -PL updated new code space stuff DLLLRUcodeinfo.h, FIFOcodeinfo.h, LRUcodeinfo.h // * Ok, here are the 3 versions of Code space. Simply change the #include // "codeinfo.h" to the file you wish to use. To use the data collection stuff // about how many faults and other cool info add code->getinfo(); to // the end of MTmachine::run() function. // // Last updated : 06.09.2002 // summery: - number() and symbol() could now return false to flag, and return true to vm; // - MTconstant.h SETCONT op_code to 400, SCONT op_code to 510 // - function add_instr() opcode range increased to 400 // - added primitive to RestoreFlag to Flag register // - heapmem.h error message correction : heap page -> heap space // - primitives atom(), nil() now return true // - primitive eq() error message correction // - primitive numEQ() now support REALTAG // - added Function ArgPop to help poping in Primitives // - all the POPing in primitives are done by ArgPop() // // Last updated : 06.09.2002 // by KF, all changes commented.. // summery: - changed logic buggies related to the flag register in Boolean ops, Relational ops, // FL relational, Flow control. // - added primitive to SaveFlag to stack // - change lable addresses used in random list to actual lable names // - change all stackmem to stackmem2 to run LRU // - change all heapmem to heapmem2 to run LRU // - change all stack mem to stackmem to run marco's LRU (doesn't work :P ) // problems: * unable to change label address (195) to labelname "DONELABEL" // * unable to change label address (731) to labelname "mkListAccum" // * for primitive number() and symbol(), should be able to return false to flag, // and true to VM // Last updated : 05.2002 // NOT LASTED VERSION OF HEAP AND STACK!! DOES NOT WORK!!