Commit | Line | Data |
---|---|---|
07e56b27 AW |
1 | ;;; Guile VM core |
2 | ||
6f3b0cc2 | 3 | ;;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc. |
587cd3bf LC |
4 | ;;; |
5 | ;;; This library is free software; you can redistribute it and/or | |
6 | ;;; modify it under the terms of the GNU Lesser General Public | |
7 | ;;; License as published by the Free Software Foundation; either | |
8 | ;;; version 3 of the License, or (at your option) any later version. | |
9 | ;;; | |
10 | ;;; This library is distributed in the hope that it will be useful, | |
11 | ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 | ;;; Lesser General Public License for more details. | |
14 | ;;; | |
15 | ;;; You should have received a copy of the GNU Lesser General Public | |
16 | ;;; License along with this library; if not, write to the Free Software | |
17 | ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
07e56b27 AW |
18 | |
19 | ;;; Code: | |
20 | ||
21 | (define-module (system vm vm) | |
1a1a10d3 | 22 | #:use-module (system vm frame) |
53e28ed9 | 23 | #:use-module (system vm program) |
6f3b0cc2 | 24 | #:export (vm? the-vm make-vm vm-version vm-apply |
b1b942b7 | 25 | vm:ip vm:sp vm:fp vm:last-ip |
07e56b27 | 26 | |
6c20a0b3 | 27 | vm-load vm-option set-vm-option! vm-version |
b1b942b7 | 28 | vms:time vms:clock |
07e56b27 | 29 | |
7656f194 | 30 | vm-trace-level set-vm-trace-level! |
c45d4d77 AW |
31 | vm-push-continuation-hook vm-pop-continuation-hook |
32 | vm-apply-hook | |
f3120251 AW |
33 | vm-next-hook |
34 | vm-abort-continuation-hook vm-restore-continuation-hook)) | |
07e56b27 | 35 | |
44602b08 AW |
36 | (load-extension (string-append "libguile-" (effective-version)) |
37 | "scm_init_vm") | |
07e56b27 | 38 | |
07e56b27 AW |
39 | (define (vms:time stat) (vector-ref stat 0)) |
40 | (define (vms:clock stat) (vector-ref stat 1)) | |
41 | ||
42 | (define (vm-load vm objcode) | |
6f3b0cc2 | 43 | (vm-apply vm (make-program objcode) '())) |