From: Matt Birkholz Date: Wed, 25 Feb 2015 15:49:08 +0000 (-0700) Subject: smp: without-interrupts: intrpt.scm X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=49a34c71604b218f8c106a2a1055dc9f1230fad9;p=mit-scheme.git smp: without-interrupts: intrpt.scm --- diff --git a/README.txt b/README.txt index 8564a84e0..62a486328 100644 --- a/README.txt +++ b/README.txt @@ -1224,13 +1224,28 @@ The hits with accompanying analysis: The latter is hopefully unnecessary on modern machinery. intrpt.scm:60: (clear-interrupts! 1) + Definition. intrpt.scm:88: (clear-interrupts! interrupt-bit/timer) + Caller: timer-interrupt-handler intrpt.scm:96: (clear-interrupts! interrupt-bit/suspend) + Caller: suspend-interrupt-handler intrpt.scm:124: (clear-interrupts! interrupt-bit/after-gc)) + Caller: after-gc-interrupt-handler intrpt.scm:133: (clear-interrupts! interrupt-bit/global-3) + Caller: console-resize-handler intrpt.scm:142: (clear-interrupts! interrupt-bit) + Caller: value of illegal-interrupt-handler intrpt.scm:157: (clear-interrupts! interrupt-bit/kbd) + Caller: external-interrupt-handler intrpt.scm:200: (without-interrupts + Caller: install + initialize-package! + + OK. Clear-interrupts! is used during the servicing of each + interrupt. Without-interrupts is used for atomic access when + installing the handlers but is unnecessary assuming + initialize-package! is called during a single-threaded cold + load. io.scm:96: (without-interrupts io.scm:176: (let ((n (without-interrupts diff --git a/src/runtime/intrpt.scm b/src/runtime/intrpt.scm index f8eddfc66..622ee7688 100644 --- a/src/runtime/intrpt.scm +++ b/src/runtime/intrpt.scm @@ -197,8 +197,6 @@ USA. (interrupt))))))) (define (install) - (without-interrupts - (lambda () (let ((system-interrupt-vector (vector-ref (get-fixed-objects-vector) index:interrupt-vector)) (old-interrupt-mask-vector @@ -280,4 +278,4 @@ USA. index:termination-vector termination-vector) - (set-fixed-objects-vector! (get-fixed-objects-vector))))))) \ No newline at end of file + (set-fixed-objects-vector! (get-fixed-objects-vector))))) \ No newline at end of file