Next: , Previous: , Up: Software Evolution Library Index   [Contents][Index]


A.26 SOFTWARE-EVOLUTION-LIBRARY/SOFTWARE/ASM-HEAP

Structure: function-index-entry [sel/sw/asm-heap]

Class precedence list: function-index-entry, structure-object, slot-object, t

Entry into the index, which is a vector of all the functions in the file.

Class: asm-heap [sel/sw/asm-heap]

Class precedence list: asm-heap, asm, simple, software, oid-object, file-w-attributes, file, standard-object, slot-object, t

Slots:

Structured software object for assembler source.

Alternative to ASM software objects which should use less memory in many cases. Similar to range, but allows for adding and mutating lines, and should be able to handle any type of mutation we need. The genome is a vector of references into the asm-heap. Copying an asm-heap is shallow by default, to avoid a large performance penalty when making many copies. The line-heap holds the original lines of the program (before any mutations, along with any new or modified lines appended to the end of the heap. All elements of the genome are references into this line-heap.

Function: call-targets [sel/sw/asm-heap] asm-heap

Return the names of functions being called in the asm code. The format is: (:name <string> :library <string-library-name> :full-name <qualified name>).

Function: insert-new-line [sel/sw/asm-heap] asm-heap text &optional index

Insert a line of assembler code into the genome. Parses a new line of assembler, adds it to the heap, and inserts it at index in the genome. Returns the number of lines inserted. Note that one line may be split into multiple lines by the parser. If index is not supplied, defaults to the end of the genome.

Function: insert-new-lines [sel/sw/asm-heap] asm-heap line-list &optional index

Insert a list of asm lines into the genome. Inserts list of lines (calling insert-new-line). If index is not supplied, defaults to end of the genome.

Function: intel-syntax-p [sel/sw/asm-heap] x

True if syntax has been set to :intel. The argument should be an asm-heap instance or a symbol representing a valid asm-syntax slot value.

Function: vector-cut [sel/sw/asm-heap] a index

Destructively remove and return an element from a vector with a fill pointer.


Next: , Previous: , Up: Software Evolution Library Index   [Contents][Index]