Skip to content

Latest commit

 

History

History
25 lines (25 loc) · 1.39 KB

notes.org

File metadata and controls

25 lines (25 loc) · 1.39 KB

Heap representation

clauses representation

unfolding algorithm

unification algorithm

matching algorithm

should have layered architecture with separation between reprentation and algorithms

… but what kind of representations?

there is a runtime representation (arrays of bytecodes)

there is a compilation representation (something with a decent syntax)

it would be a good idea to avoid creating separate unwind vector for each execution-stack-frame. It would be better to have just one big (and simple) vector in the execution-state and store just pointers to the end of the vector range corresponding to the end of the whole stack. Specialized simple-arrays are a lot faster in the SBCL and also this should increase the memory reuse.

Alter the definition of execution-state and the execution-stack-frame.

Adjust stack unwinding logic, frame copying, execution-state copying, alter-cell.

This actually did not improve performance, but it reduced memory footprint so it is worth it i guess.

move trivial stuff to a proper test files.