mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-14 15:40:19 +02:00
inline frame replacement in tail-call
* libguile/programs.c (program_print): Only try to lookup write-program if the module system is booted. * libguile/vm-engine.h (FREE_FRAME): Remove, it's now inlined everywhere. * libguile/vm-i-system.c (tail-call): Inline FREE_FRAME, and implement the calling bits here. Will make things more hackable.
This commit is contained in:
parent
1dc8f8517c
commit
28106f547d
3 changed files with 48 additions and 35 deletions
|
@ -131,7 +131,7 @@ program_print (SCM program, SCM port, scm_print_state *pstate)
|
|||
{
|
||||
static int print_error = 0;
|
||||
|
||||
if (SCM_FALSEP (write_program))
|
||||
if (SCM_FALSEP (write_program) && scm_module_system_booted_p)
|
||||
write_program = scm_module_local_variable
|
||||
(scm_c_resolve_module ("system vm program"),
|
||||
scm_from_locale_symbol ("write-program"));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue