I have been reading the source code of he virtual machine a bit and found some
confusing things and other stuff that imho should change.
Most of this patches are merely stupid, so they are easy to fix and will reflect
on a clenaer and reduced source code.
I will probably submit other similar mails, because some of these patches can
require a little discussion.
Here it is my NOTES file:
exec.c:37 -- confusing comment.
remove it and use a enum to clarify
src/exec.c:217 -- strange hack, looks ugly
#if defined(EXEC_A_OUT) || defined(EXEC_COFF)
/* for the trailing "_" */
obj->symbol_list_size++;
#endif
Can this code be removed?
src/packout.c:336 -- better error message. show:
"unsupported constant type (type=%d)", self->type)
Question:
- what's the binary format going to be used for
floating point values?
src/dynext.c:456 -- 2 in 1. no need to define lib_pmc var.
lib_pmc = run_init_lib(interp, handle, lib_name, wo_ext);
return lib_pmc;
src/inter_cb.c:70 -- no need for pointers.
the 'sig_str' variable can be removed.
accessign directly to [1] and [2] chars of the
cb_signature->strstart variable should be
faster because it executes less steps and the
stack size will be 4 bytes less
--pancake