Estimated hours taken: 2
More cleanup of the bytecode stuff; in particular, add a `MB_' prefix
to most names.
bytecode/*:
- Prefix all names defined in header files with `MB_'
(except for `TRUE', `FALSE', `DEBUGGING', and `XXXdebug').
- Add macros `MB_new', `MB_new_array', and `MB_resize_array',
and use those instead of using `MB_malloc' and `MB_resize'
(formerly `mem_malloc' and `mem_resize') or malloc() and realloc()
directly. Uncomment the definition of MB_strdup() now that it
calls MB_malloc().
- Delete the definitions of `uchar', `uint', `ushort', `ulong'
(just spell them out, its clearer and more portable that way).
- Fix the indentation in a few places I missed on my previous pass.
- Add a `README' file.
Estimated hours taken: 3
A number of changes:
- Changes to support portable numeric constants in the
bytecode file.
- read_int() now returns a Mercury `Integer', which is platform
dependent. However it actually reads a portable, 64-bit,
big-endian, 2's complement integer from the bytecode stream.
- read_float() now returns a Mercury `Float', which is platform
dependent.
- Comment-style changed to agree with C coding standard.
- malloc and realloc are now used instead of mem_malloc and
mem_realloc. Need to look at memory-management in a lot
more depth when the bytecode interpreter starts linking
in Mercury shared objects.
- Removed Bytecode-doc since it's now an HTML file in
the developer documentation directory of the Mercury web pages.
- Removed the Makefile since we're now using an Mmakefile.
bytecode/
bytecode.c
bytecode.h
Changes to read_int(), read_float() and others.
disasm.c
disasm.h
machine.c
machine.h
mbi.c
mbi.h
mdis.c
mdis.h
mem.c
mem.h
static_data.c
static_data.h
template.c
template.h
util.c
util.h
Divers changes as described above.
Bytecode-doc
Mmakefile
Removed as described above.