From 11d196297a17be530f26142e84875ec6bff0315b Mon Sep 17 00:00:00 2001 From: Thiemo Seufer Date: Thu, 11 Dec 2008 20:26:00 +0000 Subject: [PATCH] 1.0.23.32: Flush icache for MIPS alien callback stub. --- src/compiler/mips/c-call.lisp | 16 ++++++++++++---- version.lisp-expr | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/compiler/mips/c-call.lisp b/src/compiler/mips/c-call.lisp index eae4850..01d6e55 100644 --- a/src/compiler/mips/c-call.lisp +++ b/src/compiler/mips/c-call.lisp @@ -452,7 +452,15 @@ and a pointer to the arguments." (finalize-segment segment) ;; Now that the segment is done, convert it to a static ;; vector we can point foreign code to. - (let ((buffer (sb!assem::segment-buffer segment))) - (make-static-vector (length buffer) - :element-type '(unsigned-byte 8) - :initial-contents buffer))))) + (let* ((buffer (sb!assem::segment-buffer segment)) + (vector (make-static-vector (length buffer) + :element-type '(unsigned-byte 8) + :initial-contents buffer)) + (sap (sb!sys:vector-sap vector))) + (sb!alien:alien-funcall + (sb!alien:extern-alien "os_flush_icache" + (function void + system-area-pointer + unsigned-long)) + sap (length buffer)) + vector)))) diff --git a/version.lisp-expr b/version.lisp-expr index a85d70e..cc4b0df 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.23.31" +"1.0.23.32" -- 1.7.10.4