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)
|
||||
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>
|
||||
|
||||
* sort.c (closureless): Use scm_eval_body.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue