- 10 Jan, 2017 2 commits
- 09 Jan, 2017 2 commits
- 07 Jan, 2017 1 commit
-
-
qinsoon authored
-
- 05 Dec, 2016 1 commit
-
-
qinsoon authored
replacing most uses of HashMap with LinkedHashMap. This will reduce (if not eliminate) undeterminism in the compilation. Copied LinkedHashMap implementation to local so that I can implement encode/decode and other necessary methods
-
- 04 Dec, 2016 2 commits
- 29 Nov, 2016 1 commit
-
-
qinsoon authored
a jump that directly is directly followed by a label of its target can be removed.
-
- 24 Nov, 2016 3 commits
-
-
qinsoon authored
1. asm call do not use all argument registers (otherwise it will keep them alive) 2. spilling a register that is used and defined in one instruction will result in creating one new temporary, instead of two 3. spilling now deals with floating point 4. SELECT with int8 is implemented using conditional jump (cmov cannot take reg8) 5. postcall convention now deals correctly with fp return values 6. reg alloc conservative() was wrong in a few commits ago, fixed it 7. in liveness analysis, when finding a move between a temp and a register, find the color for the register (such as RAX for EAX)
-
qinsoon authored
-
qinsoon authored
-
- 23 Nov, 2016 2 commits
- 22 Nov, 2016 1 commit
-
-
qinsoon authored
changed a condition on coealescing. Fixed a bug in spilling rewrite. Currently test_extern_Func is broken
-
- 18 Nov, 2016 1 commit
-
-
qinsoon authored
1. see vm/vm_options.rs for usage and default values 2. added mu_fastimpl_new_with_opts under vm/api/api_impl/muvm.rs
-
- 17 Nov, 2016 1 commit
-
-
qinsoon authored
-
- 16 Nov, 2016 2 commits
- 15 Nov, 2016 2 commits
-
-
qinsoon authored
internally int1 is int8
-
qinsoon authored
1. compiler knows all the registers 2. but only 64bits register is a color (for reg alloc) 3. backend records the length of GPR for each operand during instruction selection 4. after reg alloc, when replacing temp with a color, find corresponding GPR for the length recorded before
-
- 14 Nov, 2016 2 commits
- 11 Nov, 2016 1 commit
-
-
qinsoon authored
-
- 10 Nov, 2016 1 commit
-
-
qinsoon authored
-
- 08 Nov, 2016 1 commit
-
-
qinsoon authored
-
- 04 Nov, 2016 1 commit
-
-
qinsoon authored
1. grow/shrink frame size in the pro/epilogue. Note: though we removed push/pop for unused callee saved registers, we still reserve frame space for them. Because we generate spill on frame before we know exactly how large a space is. The solution is to make spill locations patchable. 2. control flow will combine branches in switch instruction if they all target the same destination.
-
- 03 Nov, 2016 3 commits
- 02 Nov, 2016 2 commits
- 01 Nov, 2016 2 commits
- 31 Oct, 2016 3 commits
- 28 Oct, 2016 2 commits
- 27 Oct, 2016 1 commit
-
-
qinsoon authored
also fixed a bug related with exception block label
-