~ chicken-core (chicken-5) bff0472a148dee1f600557423240b32a07b46eda
commit bff0472a148dee1f600557423240b32a07b46eda Author: unknown <felix@.(none)> AuthorDate: Fri Oct 30 12:43:17 2009 +0100 Commit: unknown <felix@.(none)> CommitDate: Fri Oct 30 12:43:17 2009 +0100 removed remaining references and support code for breakpoints; removed uses of NOAPPLYHOOK in makefiles diff --git a/Makefile.bsd b/Makefile.bsd index 57ee1b1e..84307e27 100644 --- a/Makefile.bsd +++ b/Makefile.bsd @@ -97,9 +97,6 @@ endif ifdef SYMBOLGC echo "#define C_COLLECT_ALL_SYMBOLS" >>$@ endif -ifdef NOAPPLYHOOK - echo "#define C_NO_APPLY_HOOK" >>$@ -endif ifneq ($(HACKED_APPLY),) echo "#define C_HACKED_APPLY" >>$@ endif diff --git a/Makefile.cross-linux-mingw b/Makefile.cross-linux-mingw index 5bcb014a..1f246059 100644 --- a/Makefile.cross-linux-mingw +++ b/Makefile.cross-linux-mingw @@ -129,9 +129,6 @@ ifdef GCHOOKS endif ifdef SYMBOLGC echo "#define C_COLLECT_ALL_SYMBOLS" >>$@ -endif -ifdef NOAPPLYHOOK - echo "#define C_NO_APPLY_HOOK" >>$@ endif echo "#define C_HACKED_APPLY" >>$@ cat chicken-defaults.h >>$@ diff --git a/Makefile.cygwin b/Makefile.cygwin index 9ec8c867..5c693c4c 100644 --- a/Makefile.cygwin +++ b/Makefile.cygwin @@ -123,9 +123,6 @@ endif ifdef SYMBOLGC echo "#define C_COLLECT_ALL_SYMBOLS" >>$@ endif -ifdef NOAPPLYHOOK - echo "#define C_NO_APPLY_HOOK" >>$@ -endif ifdef HACKED_APPLY echo "#define C_HACKED_APPLY" >>$@ endif diff --git a/Makefile.linux b/Makefile.linux index bc3b9e35..c8506b9c 100644 --- a/Makefile.linux +++ b/Makefile.linux @@ -94,9 +94,6 @@ endif ifdef SYMBOLGC echo "#define C_COLLECT_ALL_SYMBOLS" >>$@ endif -ifdef NOAPPLYHOOK - echo "#define C_NO_APPLY_HOOK" >>$@ -endif ifneq ($(HACKED_APPLY),) echo "#define C_HACKED_APPLY" >>$@ endif diff --git a/Makefile.macosx b/Makefile.macosx index 581b8d08..bf3f59ea 100644 --- a/Makefile.macosx +++ b/Makefile.macosx @@ -124,9 +124,6 @@ endif ifdef SYMBOLGC echo "#define C_COLLECT_ALL_SYMBOLS" >>$@ endif -ifdef NOAPPLYHOOK - echo "#define C_NO_APPLY_HOOK" >>$@ -endif ifneq ($(HACKED_APPLY),) echo "#define C_HACKED_APPLY" >>$@ endif diff --git a/Makefile.mingw b/Makefile.mingw index b7a75e05..45bc7fae 100644 --- a/Makefile.mingw +++ b/Makefile.mingw @@ -129,9 +129,6 @@ ifdef GCHOOKS endif ifdef SYMBOLGC echo #define C_COLLECT_ALL_SYMBOLS >>$@ -endif -ifdef NOAPPLYHOOK - echo #define C_NO_APPLY_HOOK >>$@ endif echo #define C_HACKED_APPLY >>$@ type chicken-defaults.h >>$@ diff --git a/Makefile.mingw-msys b/Makefile.mingw-msys index 7572c197..116b3d80 100644 --- a/Makefile.mingw-msys +++ b/Makefile.mingw-msys @@ -118,9 +118,6 @@ ifdef GCHOOKS endif ifdef SYMBOLGC echo "#define C_COLLECT_ALL_SYMBOLS" >>$@ -endif -ifdef NOAPPLYHOOK - echo "#define C_NO_APPLY_HOOK" >>$@ endif echo "#define C_HACKED_APPLY" >>$@ cat chicken-defaults.h >>$@ diff --git a/Makefile.solaris b/Makefile.solaris index 9dbb4d50..8987282a 100644 --- a/Makefile.solaris +++ b/Makefile.solaris @@ -89,9 +89,6 @@ endif ifdef SYMBOLGC echo "#define C_COLLECT_ALL_SYMBOLS" >>$@ endif -ifdef NOAPPLYHOOK - echo "#define C_NO_APPLY_HOOK" >>$@ -endif ifneq ($(HACKED_APPLY),) echo "#define C_HACKED_APPLY" >>$@ endif diff --git a/chicken.import.scm b/chicken.import.scm index 61bef7d8..db004ba8 100644 --- a/chicken.import.scm +++ b/chicken.import.scm @@ -40,7 +40,6 @@ blob-size blob? blob=? - breakpoint build-platform c-runtime call/cc diff --git a/scheduler.scm b/scheduler.scm index 69f1a603..af2ce503 100644 --- a/scheduler.scm +++ b/scheduler.scm @@ -479,55 +479,3 @@ EOF (loop (##sys#slot fdl 1)) ) ) ) ) ) (##sys#setislot t 12 '()) (##sys#thread-basic-unblock! t) ) ) - - -;;; Multithreaded breakpoints - -(define (##sys#break-entry name args) - (when (or (not ##sys#break-in-thread) (eq? ##sys#break-in-thread ##sys#current-thread)) - (##sys#call-with-current-continuation - (lambda (k) - (let* ((pk (if (eq? ##sys#current-thread ##sys#primordial-thread) - '() - (list '(exn . thread) ##sys#current-thread - '(exn . primordial-continuation) - (lambda _ ((##sys#slot ##sys#primordial-thread 1)))))) - (exn (##sys#make-structure - 'condition - '(exn breakpoint) - (append - (list '(exn . message) "*** breakpoint ***" - '(exn . arguments) (cons name args) - '(exn . location) name - '(exn . continuation) k) - pk) ) ) ) - (set! ##sys#last-breakpoint exn) - (cond ((eq? ##sys#current-thread ##sys#primordial-thread) - (##sys#signal exn) ) - (else - (##sys#setslot ##sys#current-thread 3 'suspended) - (##sys#setslot ##sys#current-thread 1 (lambda () (k (##core#undefined)))) - (let ([old (##sys#slot ##sys#primordial-thread 1)]) - (##sys#setslot - ##sys#primordial-thread 1 - (lambda () - (##sys#signal exn) - (old) ) ) - (##sys#thread-unblock! ##sys#primordial-thread) - (##sys#schedule) ) ) ) ) ) ) ) ) - -(define (##sys#break-resume exn) - ;; assumes current-thread is primordial - (let* ((props (##sys#slot exn 2)) - (a (member '(exn . continuation) props)) - (t (member '(exn . thread) props)) - (pk (or (member '(exn . primordial-continuation) props) a))) - (when t - (let ((t (cadr t))) - (if a - (##sys#setslot t 1 (lambda () ((cadr a) (##core#undefined)))) - (##sys#signal-hook #:type-error "condition has no continuation" exn) ) - (##sys#add-to-ready-queue t) ) ) - (if pk - ((cadr pk) (##core#undefined)) - (##sys#signal-hook #:type-error "condition has no continuation" exn) ) ) )Trap