X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdebug-var-io.lisp;h=36cbb443ab0ad066d3b54bdd359dcab739fff2e0;hb=0b5610d8a220a4b20cbeac958953ca4d67c00038;hp=055b4dfb1720852d653ebd9d9017992af9ab5a3b;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/code/debug-var-io.lisp b/src/code/debug-var-io.lisp index 055b4df..36cbb44 100644 --- a/src/code/debug-var-io.lisp +++ b/src/code/debug-var-io.lisp @@ -10,9 +10,6 @@ ;;;; files for more information. (in-package "SB!C") - -(file-comment - "$Header$") ;;;; reading variable length integers ;;;; @@ -22,8 +19,13 @@ ;;;; 254 => read next two bytes for integer ;;;; 255 => read next four bytes for integer -;;; Given a byte vector Vec and an index variable Index, read a variable -;;; length integer and advance index. +;;; Given a byte vector VEC and an index variable INDEX, read a +;;; variable length integer and advance index. +;;; +;;; FIXME: This is called O(20) times. It should be reimplemented +;;; with much of its logic in a single service function which can +;;; be called by the macro expansion: +;;; `(SETF ,INDEX (%READ-VAR-INTEGER ,VEC ,INDEX)). (defmacro read-var-integer (vec index) (once-only ((val `(aref ,vec ,index))) `(cond ((<= ,val 253)