Changeset 14939


Ignore:
Timestamp:
12/28/16 09:19:53 (5 years ago)
Author:
Mark Evenson
Message:

abcl-introspect: document new ABCL-CONTRIB

Location:
trunk/abcl
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/contrib/README.markdown

    r14885 r14939  
    4444   
    4545mvn
    46     A collection of various useful JVM artifacts downloaded and cached by
    47     the Aether Maven connector.  Requires the maven-3.0.3 executable "mvn"
    48     (or "mvn.bat" under MSFT Windows) to be in the current processes's
    49     path.
     46
     47    A collection of various useful JVM artifacts downloaded and cached
     48    by the Aether Maven connector.  Requires the maven-3.0.3
     49    executable "mvn" (or "mvn.bat" under MSFT Windows) to be in the
     50    current processes's path. These artifacts load the binary
     51    artifacts necessary in the current JVM process,
     52
    5053   
    51     mvn currently includes only the single artifact:
     54    mvn currently includes:
    5255   
    5356    jna
    54          Cache, from the network if necessary, the jna-4.2.2.jar binary
    55          artifact in the current JVM process, allowing the
    56          bootstrapping of dynamically linking to shared executables on
    57          the host platform.
     57        JNA provides an the ability to dynamically link to shared
     58        executables on the host platform, needed by CFFI.
     59
     60    log4j
     61        An example of a dependency without an explicit version.
     62
     63abcl-introspect
     64
     65    Advanced introspection of Java and Lisp runtime classes
     66    representation.
    5867
    5968# Colophon
     
    6170Mark <evenson.not.org@gmail.com>
    6271Created:  2011-09-11
    63 Revised:  2016-10-01
    64 <> abcl:documents <release#abcl-contrib.jar> .
     72Revised:  2016-12-28
     73<> abcl:documents <abcl.org/release/1.5.0/#abcl-contrib.jar> .
    6574
    6675
  • trunk/abcl/contrib/abcl-introspect/abcl-introspect.asd

    r14934 r14939  
    55  :author "Alan Ruttenberg"
    66  :version "1.0.0"
    7   :description "Introspection on compiled function to aid source location other debugging functions.ñ"
    8   :depends-on ()
    9   :components
    10   ((:file "abcl-introspect"))
    11   )
     7  :description "Introspection on compiled function to aid source location other debugging functions."
     8  :depends-on (jss)
     9  :components ((:file "abcl-introspect")))
  • trunk/abcl/doc/manual/abcl.tex

    r14900 r14939  
    1111\date{Version 1.5.0-dev\\
    1212\smallskip
    13 October 2016}
     13December 2016}
    1414\author{Mark Evenson \and Erik H\"{u}lsmann \and Rudolf Schlatte \and
    1515  Alessio Stalla \and Ville Voutilainen}
     
    12931293        symbols via the \code{SHARPSIGN-DOUBLE-QUOTE} macros as Java Syntax
    12941294        Sucks
     1295      \item \code{abcl-introspect} Provides a framework for
     1296        introspecting runtime Java and Lisp object values.
     1297       
    12951298\end{enumerate}
    12961299
     
    13121315\section{ASDF}
    13131316
    1314 asdf-3.1.7.27 (see \cite{asdf}) is packaged as core component of \textsc{ABCL},
     1317asdf-3.1.7.43 (see \cite{asdf}) is packaged as core component of \textsc{ABCL},
    13151318but not initialized by default, as it relies on the \textsc{CLOS} subsystem
    13161319which can take a bit of time to start \footnote{While this time is
     
    14731476\url{http://abcl.org/svn/tags/1.4.0/contrib/jfli/README}.
    14741477
     1478\section{abcl-introspect}
     1479
     1480A compiled function is an instance of a class - This class has
     1481multiple instances if it represents a closure, or a single instance if
     1482it represents a non-closed-over function.
     1483
     1484The ABCL compiler stores constants that are used in function execution
     1485as private java fields. This includes symbols used to invoke function,
     1486locally-defined functions (such as via labels or flet) and string and
     1487other literal
     1488
     1489ABCL-INTROSPECT provides access to those internal values, and
     1490uses them in at least two ways. First, to annotate locally defined
     1491functions with the top-level function they are defined within, and
     1492second to search for callers of a give function \footnote{ Since java
     1493  functions are strings, local fields also have these strings. In the
     1494  context of looking for callers of a function you can also give a
     1495  string that names a java method. Same caveat re: false positives.}
     1496. This may yield some false positives, such as when a symbol that
     1497names a function is also used for some other purpose. It can also have
     1498false negatives, as when a function is inlined. Still, it's pretty
     1499useful. The second use to to find source locations for frames in the
     1500debugger. If the source location for a local function is asked for the
     1501location of its 'owner' is instead returns.
     1502
     1503
     1504In order to record information about local functions, ABCL defines a
     1505function-plist, which is for the most part unused, but is used here
     1506with set of keys indicating where the local function was defined and
     1507in what manner, i.e. as normal local function, as a method function,
     1508or as an initarg function. There may be other places functions are
     1509stashed away (defstructs come to mind) and this file should be added
     1510to to take them into account as they are discovered.
     1511
     1512ABCL-INTROSPECT does not depend on jss, but provides a bit of
     1513jss-specific functionality if jss *is* loaded.
     1514
     1515\url{http://abcl.org/svn/abcl/contrib/abcl-introspect/}.
     1516
    14751517
    14761518\chapter{History}
Note: See TracChangeset for help on using the changeset viewer.