History

Annotated the test further. Added more information to the string representation of Type objects. Fixed the order of the offsets in the string representation of offsets in double indirect operands. Updated the notes.

David Boddie committed 9 years ago

Commit a8c27d91 parent de9ef054 files · +63 −20Browse files

Showing the changes to docs (1 of 4 files). Show all

Unified · Split

docs/notes.txt+17−0
@@ -1,7 +1,13 @@
1Opcode definitions
2------------------
3
1Opcodes are defined in include/isa.h, limbo/optab.c and libinterp/xec.c.4Opcodes are defined in include/isa.h, limbo/optab.c and libinterp/xec.c.
2 5
3consc is documented but does not exist in the opcode definitions.6consc is documented but does not exist in the opcode definitions.
4 7
8Function signatures
9-------------------
10
5Function signatures will be output by the Limbo compiler if you pass it the11Function signatures will be output by the Limbo compiler if you pass it the
6"-D S" debug option.12"-D S" debug option.
7 13
@@ -45,3 +51,14 @@ endianness of the resulting value: · 37 unmodified lines
45The rtsign and idsign functions in the limbo/types.c file are responsible for51The rtsign and idsign functions in the limbo/types.c file are responsible for
46creating a signature for a function. The sigkind array contains the characters52creating a signature for a function. The sigkind array contains the characters
47used for each type of object that will be serialised.53used for each type of object that will be serialised.
54
55Operands
56--------
57
58The double indirect operands SO(SO(fp)) and SO(SO(mp)) are represented by two
59offsets in the encoded instruction. The first represents the "inner" offset,
60the second the "outer" offset. For example:
61
62 10(20(fp)) is represented as 20, 10 in the instruction.
63
64This was discovered by running the Limbo compiler with the -S option.