From 34ef6951cd7243a4eaccf2efb10e6b3d2908e12b Mon Sep 17 00:00:00 2001 From: Alastair Bridgewater Date: Sat, 7 Aug 2010 15:19:51 +0000 Subject: [PATCH] 1.0.41.25: compiler: Create sb!vm::static-fdefn-offset. * Create sb!vm::static-fdefn-offset to provide the byte offset from NIL to the tagged form of the fdefinition. * Reimplement sb!vm:static-fun-offset (a misnomer) in terms of sb!vm::static-fdefn-offset. --- src/compiler/generic/utils.lisp | 11 +++++++++-- version.lisp-expr | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/compiler/generic/utils.lisp b/src/compiler/generic/utils.lisp index 7b433a2..3625f66 100644 --- a/src/compiler/generic/utils.lisp +++ b/src/compiler/generic/utils.lisp @@ -59,7 +59,7 @@ ;;; Return the (byte) offset from NIL to the start of the fdefn object ;;; for the static function NAME. -(defun static-fun-offset (name) +(defun static-fdefn-offset (name) (let ((static-syms (length *static-symbols*)) (static-fun-index (position name *static-funs*))) (unless static-fun-index @@ -68,7 +68,14 @@ (pad-data-block (1- symbol-size)) (- list-pointer-lowtag) (* static-fun-index (pad-data-block fdefn-size)) - (* fdefn-raw-addr-slot n-word-bytes)))) + other-pointer-lowtag))) + +;;; Return the (byte) offset from NIL to the raw-addr slot of the +;;; fdefn object for the static function NAME. +(defun static-fun-offset (name) + (+ (static-fdefn-offset name) + (- other-pointer-lowtag) + (* fdefn-raw-addr-slot n-word-bytes))) ;;; Various error-code generating helpers (defvar *adjustable-vectors* nil) diff --git a/version.lisp-expr b/version.lisp-expr index 3064229..88839c1 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.41.24" +"1.0.41.25" -- 1.7.10.4