guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-vm module/system/base/compile.scm s...


From: Keisuke Nishida
Subject: guile/guile-vm module/system/base/compile.scm s...
Date: Wed, 02 May 2001 08:05:05 -0700

CVSROOT:        /cvs
Module name:    guile
Changes by:     Keisuke Nishida <address@hidden>        01/05/02 08:05:05

Modified files:
        guile-vm/module/system/base: compile.scm 
        guile-vm/src   : vm.c vm.h vm_engine.h vm_system.c 
Removed files:
        guile-vm/emacs : guile-scheme.el guile.el 
        guile-vm/module/guile: channel.scm 

Log message:
        

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-vm/module/system/base/compile.scm.diff?cvsroot=OldCVS&tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-vm/src/vm.c.diff?cvsroot=OldCVS&tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-vm/src/vm.h.diff?cvsroot=OldCVS&tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-vm/src/vm_engine.h.diff?cvsroot=OldCVS&tr1=1.23&tr2=1.24&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-vm/src/vm_system.c.diff?cvsroot=OldCVS&tr1=1.34&tr2=1.35&r1=text&r2=text

Patches:
Index: guile/guile-vm/module/system/base/compile.scm
diff -u guile/guile-vm/module/system/base/compile.scm:1.4 
guile/guile-vm/module/system/base/compile.scm:1.5
--- guile/guile-vm/module/system/base/compile.scm:1.4   Sat Apr 21 19:13:48 2001
+++ guile/guile-vm/module/system/base/compile.scm       Wed May  2 08:05:05 2001
@@ -89,6 +89,9 @@
   (let ((m (string-match "\\.[^.]*$" file)))
     (string-append (if m (match:prefix m) file) ".go")))
 
+(define-public (scheme-eval x e)
+  (vm-load (the-vm) (compile-in x e scheme)))
+
 
 ;;;
 ;;; Scheme compiler interface
Index: guile/guile-vm/src/vm.c
diff -u guile/guile-vm/src/vm.c:1.22 guile/guile-vm/src/vm.c:1.23
--- guile/guile-vm/src/vm.c:1.22        Sun Apr 22 23:17:52 2001
+++ guile/guile-vm/src/vm.c     Wed May  2 08:05:05 2001
@@ -395,6 +395,15 @@
 }
 #undef FUNC_NAME
 
+SCM_DEFINE (scm_vm_break_hook, "vm-break-hook", 1, 0, 0,
+           (SCM vm),
+           "")
+#define FUNC_NAME s_scm_vm_break_hook
+{
+  VM_DEFINE_HOOK (SCM_VM_BREAK_HOOK);
+}
+#undef FUNC_NAME
+
 SCM_DEFINE (scm_vm_enter_hook, "vm-enter-hook", 1, 0, 0,
            (SCM vm),
            "")
Index: guile/guile-vm/src/vm.h
diff -u guile/guile-vm/src/vm.h:1.13 guile/guile-vm/src/vm.h:1.14
--- guile/guile-vm/src/vm.h:1.13        Sun Apr 22 21:28:14 2001
+++ guile/guile-vm/src/vm.h     Wed May  2 08:05:05 2001
@@ -4,12 +4,12 @@
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2, or (at your option)
  * any later version.
- * 
+ *
  * This program 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 General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this software; see the file COPYING.  If not, write to
  * the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
@@ -48,11 +48,12 @@
 #define SCM_VM_BOOT_HOOK       0
 #define SCM_VM_HALT_HOOK       1
 #define SCM_VM_NEXT_HOOK       2
-#define SCM_VM_ENTER_HOOK      3
-#define SCM_VM_APPLY_HOOK      4
-#define SCM_VM_EXIT_HOOK       5
-#define SCM_VM_RETURN_HOOK     6
-#define SCM_VM_NUM_HOOKS       7
+#define SCM_VM_BREAK_HOOK      3
+#define SCM_VM_ENTER_HOOK      4
+#define SCM_VM_APPLY_HOOK      5
+#define SCM_VM_EXIT_HOOK       6
+#define SCM_VM_RETURN_HOOK     7
+#define SCM_VM_NUM_HOOKS       8
 
 struct scm_vm {
   scm_byte_t *ip;              /* instruction pointer */
Index: guile/guile-vm/src/vm_engine.h
diff -u guile/guile-vm/src/vm_engine.h:1.23 guile/guile-vm/src/vm_engine.h:1.24
--- guile/guile-vm/src/vm_engine.h:1.23 Tue Apr 24 18:55:46 2001
+++ guile/guile-vm/src/vm_engine.h      Wed May  2 08:05:05 2001
@@ -183,6 +183,7 @@
 #define BOOT_HOOK()    RUN_HOOK (SCM_VM_BOOT_HOOK)
 #define HALT_HOOK()    RUN_HOOK (SCM_VM_HALT_HOOK)
 #define NEXT_HOOK()    RUN_HOOK (SCM_VM_NEXT_HOOK)
+#define BREAK_HOOK()   RUN_HOOK (SCM_VM_BREAK_HOOK)
 #define ENTER_HOOK()   RUN_HOOK (SCM_VM_ENTER_HOOK)
 #define APPLY_HOOK()   RUN_HOOK (SCM_VM_APPLY_HOOK)
 #define EXIT_HOOK()    RUN_HOOK (SCM_VM_EXIT_HOOK)
Index: guile/guile-vm/src/vm_system.c
diff -u guile/guile-vm/src/vm_system.c:1.34 guile/guile-vm/src/vm_system.c:1.35
--- guile/guile-vm/src/vm_system.c:1.34 Tue Apr 24 18:55:46 2001
+++ guile/guile-vm/src/vm_system.c      Wed May  2 08:05:05 2001
@@ -63,6 +63,12 @@
   return ret;
 }
 
+VM_DEFINE_INSTRUCTION (break, "break", 0, 0, 0)
+{
+  BREAK_HOOK ();
+  NEXT;
+}
+
 VM_DEFINE_INSTRUCTION (drop, "drop", 0, 0, 0)
 {
   DROP ();



reply via email to

[Prev in Thread] Current Thread [Next in Thread]