1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-05 09:10:18 +02:00
guile/libguile/vm.h
Andy Wingo a7801c750f vm: BUILDING_LIBGUILE-guarded defs to internal headers
Also make "struct scm_vm" private, now that scm_thread is also private.

* libguile/vm-internal.h: New file.
* libguile/Makefile.am: Add new file.
* libguile/continuations.c:
* libguile/debug.c:
* libguile/frames.c:
* libguile/init.c:
* libguile/print.c:
* libguile/programs.c:
* libguile/script.c:
* libguile/stacks.c:
* libguile/threads-internal.h:
* libguile/threads.c:
* libguile/threads.h:
* libguile/throw.c:
* libguile/vm.c: Include new file.
* libguile/vm.h: Remove private defs.
2025-07-01 11:04:57 +02:00

40 lines
1.4 KiB
C

/* Copyright 2001,2009-2015,2017-2018,2025
Free Software Foundation, Inc.
This file is part of Guile.
Guile is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Guile is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
License along with Guile. If not, see
<https://www.gnu.org/licenses/>. */
#ifndef _SCM_VM_H_
#define _SCM_VM_H_
#include <libguile/gc.h>
SCM_API SCM scm_call_with_vm (SCM proc, SCM args);
SCM_API SCM scm_call_with_stack_overflow_handler (SCM limit, SCM thunk,
SCM handler);
SCM_API SCM scm_vm_trace_level (void);
SCM_API SCM scm_set_vm_trace_level_x (SCM level);
SCM_API SCM scm_vm_engine (void);
SCM_API SCM scm_set_vm_engine_x (SCM engine);
SCM_API SCM scm_set_default_vm_engine_x (SCM engine);
SCM_API void scm_c_set_vm_engine_x (int engine);
SCM_API void scm_c_set_default_vm_engine_x (int engine);
SCM_API SCM scm_load_compiled_with_vm (SCM file);
#endif /* _SCM_VM_H_ */