Justin Ethier
bf985615bc
Compile record marker objs
2020-12-20 22:51:49 -05:00
Justin Ethier
6e607f4788
Issue #377 - Compile void type
2020-05-19 22:50:22 -04:00
Justin Ethier
8fef2ec1ab
Fixup c-value to work with new macro
2020-05-04 22:59:51 -04:00
Justin Ethier
cdeeef8b27
WIP
2020-05-04 22:45:44 -04:00
Justin Ethier
d8ed752c9d
Remove boolean_f
2020-04-28 19:06:53 -04:00
Justin Ethier
4006ca560d
Proof-of-concept for Cyc-foreign-value
2020-04-14 18:57:36 -04:00
Justin Ethier
d345d71da9
Prototype code for Cyc-foreign-code
2020-04-13 18:51:16 -04:00
Justin Ethier
1daa593a03
Emit label for globals
2020-01-27 21:18:49 -05:00
Justin Ethier
95fcc2e787
Remove add_global2
2020-01-27 15:58:25 -05:00
Justin Ethier
7a48e046ad
Emit add_global2 calls
2020-01-27 15:33:05 -05:00
Justin Ethier
b838bf72a5
Added TODO
2020-01-24 17:45:19 -05:00
Justin Ethier
3d60211e67
Do not reassign the same var to itself
2019-12-23 16:26:07 -05:00
Justin Ethier
537e8bc975
Experimenting with unsafe prims
2019-11-26 15:37:52 -05:00
Justin Ethier
acb50614ee
Issue #305
2019-11-25 14:20:26 -05:00
Justin Ethier
5354fcb0bb
Check bignum return value
2019-10-28 15:49:20 -04:00
Justin Ethier
e98e35ee5b
Added -no-call-history
flag
...
Allow for faster executables at the expense of call history.
2019-10-14 13:01:16 -04:00
Justin Ethier
e099fe7860
Refactoring
...
Use a macro name that makes more sense, as we are trying to determine if obj is a closure.
2019-08-22 21:28:57 -04:00
Justin Ethier
c9ae6cdf97
Bug fixes
2019-05-16 13:35:51 -04:00
Justin Ethier
cb0d72a6df
Emit immutable bytevectors and strings when quoted
2019-05-16 13:03:28 -04:00
Justin Ethier
8c7bd7f96b
WIP, working through immutable objects
2019-05-15 22:57:40 -04:00
Justin Ethier
daa8f92f0c
Refactoring, stage new arg to c-compile-const
...
New signature is: (c-compile-const exp use-alloca immutable)
This will allow the compilation of immutable objects.
2019-05-15 13:35:08 -04:00
Justin Ethier
ba569882ea
Refactor code out to c-set-immutable-field
2019-05-15 13:28:17 -04:00
Justin Ethier
f2b9658b21
Set mutability for quoted pairs
2019-05-14 13:06:10 -04:00
Justin Ethier
38847f11cf
Add extra condition to (alloca?)
...
Make this match what is actually done in cgen for when a while statement is introduced, there was an older case not being handled.
2019-03-27 13:18:31 -04:00
Justin Ethier
e68fa56f94
Bugfix - account for the use-alloca flag
2019-03-22 12:26:10 -04:00
Justin Ethier
f13186ee17
Use static alloc for clo/vec, instead of alloca
...
This improves performance as the C compiler can better optimize the generated code.
2019-03-22 10:34:48 -04:00
arthurmaciel
a8cf5d9312
Previous try to correct semi-colon bug failed due to adding semi-colon to the end of a whole block and not each statement
2019-01-27 21:03:22 -02:00
Justin Ethier
402ae5dea0
Fix comment
2019-01-25 19:05:10 -05:00
arthurmaciel
40fbb91bc3
Converted improper semi-colons into double ones
2019-01-25 19:10:10 -02:00
arthurmaciel
c04c930c3e
Moved trailing parens into correct position -
...
only preserved those preceded by commented code
2019-01-25 17:43:09 -02:00
arthurmaciel
6dfb306cf1
Updated scheme/cyclone/cgen.sld to insert correct
2019-01-25 15:30:12 -02:00
Justin Ethier
c6aa29d7ab
Extend case for udf's
2018-12-14 13:28:37 -05:00
Justin Ethier
de5d83f21a
Added comment
2018-12-04 22:58:51 -05:00
Justin Ethier
f9d03342f2
Issue #282 - assign to temporary variables
...
Do this to prevent issues when one variable's value depends upon another's.
2018-12-02 22:21:27 -05:00
Justin Ethier
8ccd2b3525
WIP, seq safe allocation/assignment of pairs
2018-11-30 13:38:10 -05:00
Justin Ethier
a918f2cb2d
issue #282 - Put numeric operations in body
...
This avoids ordering issues. But I think we still have trouble with other primtives. Is there ever a legitimate need to declare a c var for a prim??? I am not seeing it, especially with our changes now for Cyc-seq.
2018-11-29 13:36:07 -05:00
Justin Ethier
931b449579
Extra cases for prim use-alloca and & operator
2018-11-22 17:40:46 -05:00
Justin Ethier
1f1b032641
Support alloca for all literals
2018-11-21 19:19:00 -05:00
Justin Ethier
e63349b830
Remove debug code
2018-11-21 19:13:32 -05:00
Justin Ethier
7a1b28db37
WIP
2018-11-21 19:08:45 -05:00
Justin Ethier
03b2dd7181
WIP
2018-11-21 18:53:50 -05:00
Justin Ethier
ab4f9ee7a4
WIP - alloca support for literals
2018-11-21 13:05:29 -05:00
Justin Ethier
16e1600662
Propagate use-alloca parameter for constants
2018-11-20 18:54:47 -05:00
Justin Ethier
bab9acd49e
Added c-compile-string
2018-11-20 18:07:29 -05:00
Justin Ethier
90c0d79887
Added TODO
2018-11-20 17:21:05 -05:00
Justin Ethier
4b0466f37b
Use alloca for any allocations with let/local-vars
...
This prevents situations where local variables are allocated within local scope blocks and then are assigned to pointers. This is necessary as those locals are not guaranteed to remain on the stack once the block ends, so the pointer can easily point to random memory, leading to GC corruption and/or undefined behavior.
2018-11-19 17:09:17 -05:00
Justin Ethier
8fa6513571
Fix parens
2018-11-14 19:01:34 -05:00
Justin Ethier
67071a1761
WIP
2018-11-13 18:02:12 -05:00
Justin Ethier
bad0d19424
WIP
2018-11-13 17:17:30 -05:00
Justin Ethier
8c033a7909
Added TODO
2018-11-13 13:37:03 -05:00