The Lambda Lab
/
projects
/
scheme.forth.jl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed broken return stack restore implementation.
[scheme.forth.jl.git]
/
src
/
scheme.4th
diff --git
a/src/scheme.4th
b/src/scheme.4th
index
a360b47
..
135bdab
100644
(file)
--- a/
src/scheme.4th
+++ b/
src/scheme.4th
@@
-589,26
+589,13
@@
global-env obj!
;
: restore-return-stack ( continuation -- )
;
: restore-return-stack ( continuation -- )
- R> \ store top of return stack on PS
- continuation->rstack-list
- 2dup >R >R
-
- ( Allocate stack space first using rsp!,
- then copy objects from list. )
- car drop
- rsp0 + rsp!
+ R> -rot \ store top of return stack on PS
+ continuation->rstack-list
+ 2dup print 2dup
- R> R> 2dup cdr
- 2swap
- car drop 0 swap do
- 2dup car drop
- rsp0 i + 1 + !
- cdr
- 1- +loop
+ \ TODO: Implement body of return stack restoration
- 2drop
- trace
>R \ restore original top of return stack
;
>R \ restore original top of return stack
;
@@
-618,6
+605,10
@@
global-env obj!
2dup >R >R
restore-param-stack
2dup >R >R
restore-param-stack
+
+ ." ====== PARAM STACK RESTORED ======" cr
+ trace
+
R> R>
restore-return-stack
;
R> R>
restore-return-stack
;
@@
-2152,6
+2143,7
@@
parse-idx-stack parse-idx-sp !
\ }}}
\ }}}
+\ DEBUGGING
xxxx
\ ---- Loading files ---- {{{
xxxx
\ ---- Loading files ---- {{{