mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-15 16:57:35 +02:00
Updated TODO section
This commit is contained in:
parent
6edbd8cd57
commit
5fa0fab2d6
1 changed files with 2 additions and 18 deletions
|
@ -167,22 +167,6 @@ TODO: Are there any complications in referencing vars from `args` rather than di
|
|||
|
||||
## TODO
|
||||
|
||||
- Cyc_apply of primitives
|
||||
|
||||
We currently rearrange the order of arguments when calling into a primitive (TBD: are other function types called this way too?):
|
||||
|
||||
#define closcall3(td, clo,a1,a2,a3) \
|
||||
if (obj_is_not_closure(clo)) { \
|
||||
Cyc_apply(td, 2, (closure)(a1), clo,a2,a3); \
|
||||
|
||||
This is not being done on cargs2-dev which leads to problems in the runtime:
|
||||
|
||||
#define closcall3(td, clo, buf) \
|
||||
if (obj_is_not_closure(clo)) { \
|
||||
Cyc_apply(td, clo, 3, buf ); \
|
||||
|
||||
The "easy" answer is just to modify `Cyc_apply` to deal with this, but is that good enough? Will we run into problems with evaluated lambda's and/or primitives? Is the right answer to modify the emitted closcall macros to do this re-arranging, even though it will be more work for C arrays?
|
||||
|
||||
Need to spend more time investigating this issue.
|
||||
|
||||
- Track down remaining warnings and fix them
|
||||
- Limits - will need to enforce a limit at some point to prevent segfaults due to actually running out of memory due to passing to many parameters. Will need to figure out what that limit might be and how to enforce that. Perhaps at 15,000 or more args????
|
||||
- Need to either remove `inline_function_type` or have a special compilation mode/flag so that we do not use it for compilers that are too strict to use it.
|
||||
|
|
Loading…
Add table
Reference in a new issue