1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-19 11:31:57 +00:00
Commit Graph

1526 Commits

Author SHA1 Message Date
jespergravgaard
624c27686c Added underscores to compiler-generated ASM-symbols to avoid clashes with C-symbols. Closes #329 2019-09-29 23:13:42 +02:00
jespergravgaard
198f4ee55f Optimized constant handling in pass 1. 2019-09-29 22:42:37 +02:00
jespergravgaard
bfdd2fb0a5 Optimizing constant detection - avoiding versions. 2019-09-29 22:36:02 +02:00
jespergravgaard
032f9d079e Completed refactoring of Variable class to use StorageStrategy. 2019-09-29 21:53:44 +02:00
jespergravgaard
f09e4da4d4 Fixed struct tests 2019-09-29 20:59:38 +02:00
jespergravgaard
587027397d Variable storage strategy implementation almost done. 2019-09-29 20:57:28 +02:00
jespergravgaard
688a36b6d7 Added fragment synths for Travis Fisher and Clay Cowgill. 2019-09-29 17:48:20 +02:00
Jesper Gravgaard
d88789ab27 Added fragment for Clay Cowgill 2019-09-29 11:12:52 +02:00
Jesper Gravgaard
c6604e1d75 Added fragment for Clay Cowgill 2019-09-29 10:57:20 +02:00
jespergravgaard
bf01ce2f50 master commit 2019-09-29 10:43:42 +02:00
jespergravgaard
e5e57aa714 PHI-version and INTERMEDIATE working on storage strategy! 2019-09-29 09:30:22 +02:00
Jesper Gravgaard
97b83a929a Working on storage strategy replacing booleans. #328 2019-09-29 09:19:31 +02:00
jespergravgaard
5d0fe66906 Eliminated VariableUnversioned. 2019-09-28 08:44:04 +02:00
jespergravgaard
51d3d8e7d5 Eliminated VariableVersion. 2019-09-27 23:37:24 +02:00
jespergravgaard
dd2b23bc33 Eliminated VariableIntermediate. 2019-09-27 22:31:46 +02:00
jespergravgaard
a749cce83d Added test with a memory variable pointer. Illustrates how it would be better to make "real" memory variables instead of pointers to ... #328 2019-09-27 19:51:26 +02:00
Jesper Gravgaard
a450da9123 Fixed tests. #328 2019-09-26 15:05:50 +02:00
Jesper Gravgaard
b83ab7d402 Added another test. #328 2019-09-26 14:53:33 +02:00
Jesper Gravgaard
5652a11131 Implemented memory variable data output. Initialization can still be optimized. #328 2019-09-26 14:35:02 +02:00
jespergravgaard
5ddb1e9507 Added pointify step. Still need to output the var to memory. #328 2019-09-26 10:01:48 +02:00
jespergravgaard
3ede41bab1 Added pointify step. Still need to output the var to memory. #328 2019-09-26 10:01:27 +02:00
jespergravgaard
f696f8db18 Added test declaring a memory-variables. #328 2019-09-24 08:55:06 +02:00
jespergravgaard
d312edf024 Added keyword for declaring memory-variables and properties on variable type. #328 2019-09-24 07:58:48 +02:00
jespergravgaard
7a59390644 Fixed recursion checking in loop depth analysis. #316 2019-09-23 23:06:55 +02:00
jespergravgaard
bf9a414099 Java no long does infinite recursion if the C-code does. #316 2019-09-23 22:42:07 +02:00
Jesper Gravgaard
665b9adbfb Added constant for return value offset on stack. Added padding when return value is larger than parameters. Improved calculations of stack frame sizes. #316 2019-09-23 17:53:23 +02:00
jespergravgaard
2b36c5c18b Fixed parameter push type sizes. #316 2019-09-23 08:30:18 +02:00
jespergravgaard
a11929dbd3 Renamed stack pull/push/idx - including fragments. #316 2019-09-23 07:42:13 +02:00
jespergravgaard
cbec257332 Results are now pushed. #316 2019-09-23 00:10:44 +02:00
jespergravgaard
6540d60e60 Fixed clobber-problem with stack-parameter-passing return-values. Results are still not pushed. #316 2019-09-22 23:12:19 +02:00
jespergravgaard
dc08f86302 Working on stack-parameter-passing. Split calls into prepare/execute/finalize. Still some clobber problems and results are not pushed. #316 2019-09-22 22:20:45 +02:00
jespergravgaard
bcddd821ff Renamed stack-manipulating fragments. Added fragment-based stack clean-up. #316 2019-09-20 16:27:50 +02:00
Jesper Gravgaard
5e1c05dc2e Added stack clean-up. Added parameter stack fetch type. #316 2019-09-20 14:19:43 +02:00
jespergravgaard
c6a5c54909 Added test data. 2019-09-20 08:34:51 +02:00
jespergravgaard
4ed3621d9e Added STACK parameter push. #316 2019-09-20 08:18:32 +02:00
jespergravgaard
dfcc4beab2 Added first stack fragment. #316 2019-09-19 08:24:10 +02:00
jespergravgaard
25742f1654 Implemented most of stack based parameter fetching inside procedures. #316 2019-09-19 08:22:54 +02:00
jespergravgaard
51d1e6f41f Changed control flow graph to print procedure signatures. 2019-09-18 23:00:34 +02:00
jespergravgaard
6e767862e8 Added ParamValue RValue for retrieving parameter values in procedures. #316 2019-09-18 22:41:46 +02:00
jespergravgaard
70435aec30 Added tests for different reported problems & fixes. 2019-09-18 21:53:32 +02:00
jespergravgaard
caf8ac6421 Working on stack calling convention. #316 2019-09-18 08:55:18 +02:00
jespergravgaard
9d8a2482ea Fixed fragment for Danny Spijksma 2019-09-17 23:34:24 +02:00
jespergravgaard
a50f614d6a Added missing fragment for Danny Spijksma 2019-09-17 23:28:09 +02:00
jespergravgaard
b70ccac9fa Removed extra assignment for return value. #316 2019-09-17 09:12:34 +02:00
jespergravgaard
e83e44675a Removed extra assignment for return value 2019-09-17 09:11:46 +02:00
jespergravgaard
95f97d842a Added syntax for procedure calling conventions - and a pragma changing the current calling convention. Added two tests. Changed Pass1 procedure-stuff to only handle the PHI calling convention. #316 2019-09-17 01:11:51 +02:00
jespergravgaard
63dbe9bc5e Added fragment for ‎Clay Cowgill‎. 2019-09-16 01:09:25 +02:00
jespergravgaard
f16a29f5f7 Added commandline options for disabling uplift and outputting SIZE info. 2019-09-16 00:51:03 +02:00
jespergravgaard
0ce718371e Fixed problem with adding ints to literal string pointers. Closes #315 2019-09-14 11:21:29 +02:00
jespergravgaard
bc1bb7d2e5 Fixed test 2019-09-14 08:09:34 +02:00