mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-20 02:30:23 +02:00
*** empty log message ***
This commit is contained in:
parent
a9571599e7
commit
c5b738b500
2 changed files with 47 additions and 0 deletions
13
TODO
13
TODO
|
@ -39,3 +39,16 @@ Low-level things
|
||||||
|
|
||||||
* Use the SCM trick of tagging environments with immediates (see m_letrec1)
|
* Use the SCM trick of tagging environments with immediates (see m_letrec1)
|
||||||
to convert source correctly in unmemocopy.
|
to convert source correctly in unmemocopy.
|
||||||
|
|
||||||
|
|
||||||
|
Optimizations
|
||||||
|
|
||||||
|
* Eliminate argument checking for closures. One way to do it is to
|
||||||
|
set the cdr of application forms to an immediate representing the
|
||||||
|
arity of the call. If the closure contains a corresponding
|
||||||
|
immediate, these can be matched against eachother.
|
||||||
|
|
||||||
|
* Implement a thread-safe alternative to SCM's environment caches:
|
||||||
|
|
||||||
|
Add an extra argument to SCM_CEVAL: "evaluation context".
|
||||||
|
Evaluation contexts contain a stack of locations.
|
||||||
|
|
|
@ -1,3 +1,37 @@
|
||||||
|
1999-08-29 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
|
||||||
|
|
||||||
|
Cleanup and simplification of generic method dispatch.
|
||||||
|
Also, the quadruple representation of entity and operator
|
||||||
|
procedures has been replaced with single.
|
||||||
|
|
||||||
|
* tags.h (SCM_IM_HASH_DISPATCH): Removed.
|
||||||
|
|
||||||
|
* print.c (scm_isymnames): Removed #@hash-dispatch.
|
||||||
|
|
||||||
|
* objects.c, objects.h (scm_mcache_lookup_cmethod): Moved here
|
||||||
|
from eval.c; Support 0 arity methods.
|
||||||
|
(scm_set_object_procedure_x): Removed scm_sym_atdispatch;
|
||||||
|
(scm_apply_generic_env): Removed.
|
||||||
|
Replaced slots proc0-3 with procedure.
|
||||||
|
|
||||||
|
* objects.h (SCM_OPERATOR_PROC_0, SCM_OPERATOR_PROC_1,
|
||||||
|
SCM_OPERATOR_PROC_2, SCM_OPERATOR_PROC_3): Replaced by
|
||||||
|
SCM_OPERATOR_PROCEDURE.
|
||||||
|
(SCM_ENTITY_PROC_0, SCM_ENTITY_PROC_1, SCM_ENTITY_PROC_2,
|
||||||
|
SCM_ENTITY_PROC_3): Replaced by SCM_ENTITY_PROCEDURE.
|
||||||
|
|
||||||
|
* struct.c, struct.h: Replace 4 procedure slots with one.
|
||||||
|
(scm_struct_i_procedure): Replaces scm_struct_i_procedure.
|
||||||
|
|
||||||
|
* gc.c (scm_gc_mark): Mark 1 procedure slot in entities instead of
|
||||||
|
4.
|
||||||
|
|
||||||
|
* eval.c (scm_sym_args): Removed.
|
||||||
|
(SCM_CEVAL): Simplified entity application.
|
||||||
|
Moved dispatch code to objects.c.
|
||||||
|
|
||||||
|
* procprop.c (scm_i_procedure_arity): Bugfix: Handle generics.
|
||||||
|
|
||||||
1999-08-29 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
|
1999-08-29 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
|
||||||
|
|
||||||
* sort.c (closureless): Use scm_eval_body.
|
* sort.c (closureless): Use scm_eval_body.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue