FIXME Wrong register (EBX) allocated after call of GetCommandLineA()
Bug fixed in array decl. TODO win32 version not work (access violation)
Bug found/test added
Minor changes
Register usage analysys - NOT FINISHED
Register usage analysys - NOT WORK
Two tests added
Parsing expressions like @a[] added for testing
Two tests added. TODO refs must me right-assoc?
Workaround for wrong register xchg (XchgWithByteReg)
Bug fixed in CheckForMovs() function, reformatting
FIXME Register allocatoion depends on previous functions
Register allocation refactoring TODO Not work correctly
Registers allocation moved to function AllocRegsIfPossible()
Minor changes (clear regs)
Changed flag for local variables added
Minor changes
Bug fixed in mul/div/mod register xchg
Existing tests passed. TODO Wrong code for expressions like A / B + C / D
TODO Check usage of EBX register
Some dependencies analysis - seems wrong register usage in mul/div/mod operations - NOT FINISHED
Some dependencies analysis - NOT FINISHED
char&byte register varialbes
Unchanged register variables not stored after while loop
fMOVS flag calculation added
checkForMovs() function - not finished
Code for div/mod changes. TODO Check code for mul, simplify
Code for mul fixed
Minor refactoring
Some unnecessary mov's removed. TODO Wrong code when mul/div present
switch/cases reordered in Walk() function
Omitted iLOOP & iEXIT nodes added to Walk() function
fMULDIV bug fixed
Some bugs fixed. TODO mul/div not detected
Some bugs fixed
Register allocator - not finished
Indirect access to local variable info implemented (to separate different variables with equal indexes)
iSTORE node type added
Index scale implemented
Minor changes in inc/dec code generation
Minor changes in index calculation
Pred and post condition evaluation in while loop
Temporary solution for index value reusage
Bug fixed in index scaling --TODO wrong use of str() function
Index scale test --TODO Wrong offset in some cases
While loop condition moved to the end of loop
Unnecessary high 24 bits clearing removed
DumpTree() function added, TODO what means Value field in iLOAD node?
Special code for local var increment - no effect
Bug fixed in iINDEX2 processing and some other changes
Possible UpdtRegState() wrong
Bug fixed in XchgWithByteReg() function, some ClrAllRegs() calls enabled
Registers state functions added - not work correctly and disabled
All existing tests passed
Two tests added
Test added, TODO returned struct fiend cannot be used as index
Some ClrAllRegs() calls commented
Bug fixed - old-style array reference
All existing tests passed, need to review all changes
Test added
Bug fixed in iINDEX2
iINDEX2 - NOT FINISHED
Bug fixed FindRegByNode() function - pop command added, self-compilation possible, not all tests passed
Temporary extra ClrAllRegs() calls added
Large objects assignment changed
Some bugs fixed
Bug fixed in XchgRegs() function
Bug fixed in ref to array size calulation
Bug fixed in iLPTR of iPARAM/iLOCAL with index
iCAST changed
All fEAX occurences commented
iINDEX2 - NOT FINISHED
iINDEX2 - Minor bug fixed - NOT FINISHED
iINDEX2 - five tests successful - NOT FINISHED
Test script now print list of successful tests
iINDEX2 - NOT FINISHED
mul/div/mod operations - NOT FINISHED
Cmp operations always 32-bit
Old-style nim game may be compiled
Changes in cast and assignment operations
Index calculation - NOT FINISHED
Minor changes
Parameters passing - not correct
Assign and arithmetic operations partially changed
Minor changes
Initial steps
Initial steps
Creating branch for optimizing code generator
Bug fixed in win32 version (close function must return result code)
Lost struct declaration tests added
TODO Check GetObjSize for zero result
Structure size and fields offsets calculation moved to parsing block
Forward structure declaration/test not passed
Bug fixed in registers enumetation and some minor changes
Initial steps
Initial steps
Creating branch for llvm testing
Creating directory for branches
Write local ref to ref to array field test updated
Flushing text disabled when error occurs at parsing phase