mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-18 18:40:22 +02:00
Got the VM up and running! Augmented the documentation.
* src/*.[ch]: Replaced the remaining `SCM_MAKINUM', and changed `SCM_VELTS' into `scm_vector_elements ()'. * src/vm_loader.c (link): Fixed so that it pushed a variable object on the stack. * src/vm_system.c (variable-ref): Fixed so that it uses `scm_variable_ref ()' and friends. * module/system/vm/assemble.scm (dump-object!): Fixed the string case. * src/vm_engine.h (CONS): Use `scm_cons' instead of `SCM_NEWCELL'. * doc/guile-vm.texi: Added actual instruction definitions, explanations of the program invocation mechanism, programs' object tables, etc., in the `Instruction Set' chapter. git-archimport-id: lcourtes@laas.fr--2004-libre/guile-vm--revival--0.6--patch-5
This commit is contained in:
parent
fa19602c28
commit
238e7a11a8
8 changed files with 213 additions and 40 deletions
4
src/vm.c
4
src/vm.c
|
@ -369,7 +369,7 @@ SCM_DEFINE (scm_vm_fp, "vm:fp", 1, 0, 0,
|
|||
SCM_VALIDATE_VM (1, vm); \
|
||||
vp = SCM_VM_DATA (vm); \
|
||||
if (SCM_FALSEP (vp->hooks[n])) \
|
||||
vp->hooks[n] = scm_make_hook (SCM_MAKINUM (1)); \
|
||||
vp->hooks[n] = scm_make_hook (SCM_I_MAKINUM (1)); \
|
||||
return vp->hooks[n]; \
|
||||
}
|
||||
|
||||
|
@ -528,7 +528,7 @@ SCM_DEFINE (scm_vm_fetch_code, "vm-fetch-code", 1, 0, 0,
|
|||
|
||||
list = SCM_LIST1 (scm_str2symbol (p->name));
|
||||
for (i = 1; i <= p->len; i++)
|
||||
list = scm_cons (SCM_MAKINUM (ip[i]), list);
|
||||
list = scm_cons (scm_from_uint8 (ip[i]), list);
|
||||
return scm_reverse_x (list, SCM_EOL);
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue