Activity: august 2008
Saturday 9
07:58 PM Revision 1284: - Fixed single static assignment form - Added constant propagation stage - Fixed r...
- Fixed single static assignment form - Added constant propagation stage - Fixed remaining bugs in the DominanceCalculationStage - Extended IDominanceProvider - Added x86 MoveInstruction - Renamed SameInstruction to PhiInstruction - Fixed a stack related bug in VariableOperand
09:47 AM Revision 1283: - FP support (add, mul) introduced (translated to SSE2 operations) - Supports FP c...
- FP support (add, mul) introduced (translated to SSE2 operations) - Supports FP constants - FP code not position independent on x86 yet - Modified RuntimeBase, AssemblyLoader and PortableExecutableImage to allow cltester to run multiple tests multiple times - Fixed StackLayoutStage stack offset calculation bug - Fixed calling convention to adjust for new stack offset
07:34 AM Revision 1282: - Added new IR return and x86 EpilogueInstruction - Rewrote code generation to use...
- Added new IR return and x86 EpilogueInstruction - Rewrote code generation to use PrologueInstruction/EpilogeInstruction to represent prologue/epilogue instructions - Fixed some issues in SSE instructions - Added more constructors for Add/Sub instructions - Extended IIrVisitor with new instructions and added them to classes implementing IIrVisitor - Made BasicBlockBuilderStage emit a real prologue Block - StackLayoutStage adds PrologueInstruction/EpilogueInstruction after it figures out stac...
05:47 AM Revision 1281: - Added more intermediate representation instruction types - Continuing refactorin...
- Added more intermediate representation instruction types - Continuing refactoring of code generation
Friday 8
05:55 PM Revision 1280: Added state storage, allows compilation stages to store additional state with a ba...
Added state storage, allows compilation stages to store additional state with a basic block
05:34 PM Revision 1279: - Added new IR instructions for method prologue, epilogue and data literals - Adde...
- Added new IR instructions for method prologue, epilogue and data literals - Added visitor interface IIrVisitor for IR instructions - Moved SameInstruction from IL to IR namespace - Added LabelOperand for literal references - Added ConstantRemovalStage, which is responsible for removing any constant operand from code that can't be represented as an immediate argument - Modified IInstructionsProvider definition - Cleaned up several other places - Added Operand.Replace Method - Fixed a bug in ...
03:02 PM Revision 1278: - Added stack layout compiler stage and IStackLayoutProvider interface - Fixed sta...
- Added stack layout compiler stage and IStackLayoutProvider interface - Fixed stack layout to work properly for any stack type - Extended ICallingConvention to provide appropriate stack requirements for operands - Removed StackFrameIndex from StackOperand - Made Offset settable in MemoryOperand in order to modify stack location of StackOperands - Added StackLayoutStage to TestCaseMethodCompiler
09:58 AM Revision 1277: - Removed old directories - One more step towards FP constants - Need a real stack...
- Removed old directories - One more step towards FP constants - Need a real stack layout - Need a register allocator and SSA!! - Need to remove some of the hacks applied to get the current code working
08:59 AM Revision 1276: - Started fixing FP constants - Modified stack layout to include method token and ...
- Started fixing FP constants - Modified stack layout to include method token and EIP for FP constants - Added IR folder for some intermediate representation instructions needed for JIT
08:18 AM Revision 1275: - Added IDisposable to code emitters - Made CodeGenerationStage dispose its code e...
- Added IDisposable to code emitters - Made CodeGenerationStage dispose its code emitter(s)
04:55 AM Revision 1274: - Removing old version of MOSA
- Removing old version of MOSA
04:54 AM Revision 1273: - Removing old version of MOSA
- Removing old version of MOSA
04:53 AM Revision 1272: - Removing old version of MOSA
- Removing old version of MOSA
03:58 AM Revision 1271: - Preparing Mov() for SSE2
- Preparing Mov() for SSE2
Thursday 7
11:08 PM Revision 1270: Changed license to New BSD only with permission from all contributing authors.
Changed license to New BSD only with permission from all contributing authors.
04:57 PM Revision 1269: - Renamed ILDecoder to ILDecodingStage - Removed IOperandStorage and related class...
- Renamed ILDecoder to ILDecodingStage - Removed IOperandStorage and related classes - Renamed MethodCompiler to MethodCompilerBase - Disconnected the method compiler from the assembly compiler - Assembly compiler will likely be removed, as its purposes are now taken over by Mosa.Runtime.Vm - Continued with trampoline building and a simple simple jit
08:57 AM Revision 1268: - Fixed some opcodes
- Fixed some opcodes
05:17 AM Revision 1267: - Shift() nearly working.
- Shift() nearly working.
03:29 AM Revision 1266: - Added SseDivInstruction - Added SseSubInstruction
- Added SseDivInstruction - Added SseSubInstruction
02:51 AM Revision 1265: - Added DivInstruction - Registered instructions at the architecture - Extended in...
- Added DivInstruction - Registered instructions at the architecture - Extended integer testcase
02:16 AM Revision 1264: - fixed small bug that prevented mosacor from compiling
- fixed small bug that prevented mosacor from compiling
01:53 AM Revision 1263: - Continued work the invoke instruction itself and appropriate calls. - Next up i...
- Continued work the invoke instruction itself and appropriate calls. - Next up is merging my trampoline code and actually invoking method compilers at runtime.
01:25 AM Revision 1262: - prepared x86.CallInstruction
- prepared x86.CallInstruction
Wednesday 6
07:04 PM Revision 1261: - Added SseAddInstruction and SubInstruction
- Added SseAddInstruction and SubInstruction
06:07 PM Revision 1260: - Added ShiftInstruction and implemented Shift in AsmEmitter and MachineCodeEmitte...
- Added ShiftInstruction and implemented Shift in AsmEmitter and MachineCodeEmitter - MulInstruction now optimizes to use shift if a power-of-two constant occurs. This'll work as soon as ConstantPropagation is implemented
05:54 PM Revision 1259: - Added architecture support for calling conventions - Adapted IL.InvokeInstructio...
- Added architecture support for calling conventions - Adapted IL.InvokeInstruction to make use of them
05:28 PM Revision 1258: - Changed a lot of runtime services to non-static implementations - Defined new st...
- Changed a lot of runtime services to non-static implementations - Defined new standard interfaces for jit, the type system and the assembly loader - Renamed Mosa.Runtime.Runtime to Mosa.Runtime.RuntimeBase and removed almost all static methods (except opcode helpers) - Renamed TypeLoader to DefaultTypeSystem - Changed DefaultTypeSystem to implement ITypeSystem and changed all static members to non-static - Changed all static members to non-static in AssemblyLoader - Introduced compiler spec...
03:04 PM Revision 1257: Moving old simple jit compiler
Moving old simple jit compiler
12:31 PM Revision 1256: Cleaned up the definition
Cleaned up the definition
12:02 PM Revision 1255: added missing SseMulInstruction
added missing SseMulInstruction
11:45 AM Revision 1254: Added a memory page manager interface roughly modelled after Win32 virtual memory ...
Added a memory page manager interface roughly modelled after Win32 virtual memory functions to discuss MOSA memory manager interfaces
05:51 AM Revision 1253: - Renamed Mulf() to SseMul() and corresponding classes like MulfInstruction -> Sse...
- Renamed Mulf() to SseMul() and corresponding classes like MulfInstruction -> SseMulInstruction
05:45 AM Revision 1252: - Mov() is finally working with floatingpoints
- Mov() is finally working with floatingpoints
Tuesday 5
11:57 PM Revision 1251: - Removed Mov() floatingoint fix because NASM couldn't compile it. Working on anot...
- Removed Mov() floatingoint fix because NASM couldn't compile it. Working on another solution.
11:41 PM Revision 1250: - Fixed floatingpoint issue within Mov() - Added generation of constant-labels for...
- Fixed floatingpoint issue within Mov() - Added generation of constant-labels for floatingpoint values because they are not allowed inside asm instructions
10:41 PM Revision 1249: - Added missing files
- Added missing files
07:05 PM Revision 1248: - Added MulInstruction and MulfInstruction to x86 and implemented Mulf in IX86Ins...
- Added MulInstruction and MulfInstruction to x86 and implemented Mulf in IX86InstructionVisitor and classes inheriting from it.
05:59 PM Revision 1247: Added MOSA copyright headers
Added MOSA copyright headers
05:42 PM Revision 1246: Changed Instruction.Expand to take an architecture for proper instruction creation
Changed Instruction.Expand to take an architecture for proper instruction creation
05:41 PM Revision 1245: - Removed old (wrong) dominance code from BasicBlock and BasicBlockBuilderStage - ...
- Removed old (wrong) dominance code from BasicBlock and BasicBlockBuilderStage - Fixed another bug in DominanceCalculationStage
05:11 PM Revision 1244: - Fixed basic block builder stage bug - Fixed bugs in DominanceCalculationStage - ...
- Fixed basic block builder stage bug - Fixed bugs in DominanceCalculationStage - Added DominanceCalculationStage to the TestCaseMethodCompiler
07:06 AM Revision 1243: Temporary checkin with a new dominance calculation stage and interface
Temporary checkin with a new dominance calculation stage and interface
06:24 AM Revision 1242: - Implemented missing Pop() emit - Fixed Cmp() - Fixed ConstantOperand resolving -...
- Implemented missing Pop() emit - Fixed Cmp() - Fixed ConstantOperand resolving - Fixed MemoryOperand error and added size attribute to output
Monday 4
07:36 PM Revision 1241: Fixed solution file
Fixed solution file
07:31 PM Revision 1240: - Added instruction expansion stage - Added InstructionExpansionStage to TestCaseM...
- Added instruction expansion stage - Added InstructionExpansionStage to TestCaseMethodCompiler and AotMethodCompiler - Added IL Add, Sub, Mul, Div and Rem instructions as derived classes for ArithmeticInstruction - Edited IILVisitor to include Add, Sub, Mul, Div and Rem instead of Arithmetic - Edited ILDecoder to request those types
06:58 PM Revision 1239: - Started EnterSSA compiler stage to enable further optimizations - Rewrote StackO...
- Started EnterSSA compiler stage to enable further optimizations - Rewrote StackOperand to include SSA Version - Rewrote Operand to support Def/Use lists and made Instruction maintain those - Made Operand arrays for results and operands in Instruction private, added method to set these - Removed EmitterSavePoint - Added AddInstruction in IL and x86 folders - Started runtime attribute support
06:39 PM Revision 1238: Added proper ToString outputs for SigType
Added proper ToString outputs for SigType
06:28 PM Revision 1237: - Included updates performed by rootnode - Removed EmitterSavePoint class - Remove...
- Included updates performed by rootnode - Removed EmitterSavePoint class - Removed GetSavePoint/SetSavePoint from ICodeEmitter - Rewrote jumps to pass labels to the code emitters - MachineCodeEmitter resolves jumps on its own
Sunday 3
08:12 PM Revision 1236: - Incomplete work for IN/OUTP instructions
- Incomplete work for IN/OUTP instructions
08:08 PM Revision 1235: - Added CLI/STI Instructions
- Added CLI/STI Instructions
10:03 AM Revision 1234: Sandbox update: * Incorporating MOSA device drivers * However, broken since AOT i...
Sandbox update: * Incorporating MOSA device drivers * However, broken since AOT invokes wrong method when using abstract methods.