Remove support for 'full tval' init. It was never enabled, and there was no
'full tval' support for non-packed duk_tval anyway.
Add fastint marker to Duktape.env.
- Feature detection.
- Commented out shuffle torture flag to Makefile.
- Compiler fixes to support shuffle torture: must flag even small values
with shuffle prevention flags so that they don't get shuffled forcibly.
These are not bugs as such because small flags fields are never shuffled
in normal operation. But it's cleaner to flag fields semantically anyway.
- Need as variant of loadint helper to avoid shuffling when duk__emit_xxx()
functions emit loadint for indirect opcodes like MPUTOBJI.
- Use negative "no shuffle" marker for output shuffle registers; when
shuffle torture is enabled even a zero register is shuffled.
- Other minor fixes
- Endianness for pointers and IEEE doubles
- Add DUK_OPT_DEBUGGER_DUMPHEAP feature option
- Add DUK_OPT_DEBUGGER_DUMPHEAP to Makefile
- Refactor executor and executor interrupt debugger handling to separate
functions to make them easier to read
- Explicit peek, read flush, and write flush callbacks
- Remove brkpt_dirty, easier and perhaps more robust to recheck breakpoints
whenever any debug commands have been executed
- Bug fixes, FIXME resolutions, trivia
Also remove mostly unused old debug code.
Debug code doesn't have access to 'heap' so it cannot decode pointers.
Cause an #error for now if both debug prints and pointer compression
are enabled at the same time.
Remove duk_debug_hobject.c from make and dist. It was out of date and
not used in practice anymore.
Reimplement matrix testing to support proper combination structure like
Select, Combine, Subset, etc. Avoid enumerating the matrix explicitly,
and change testing to use random sampling of the (very large) matrix space.
Improve the testing matrix to include a lot more option combinations. The
set is still not complete and output is not yet warning free with all options
so '-Werror' is not yet enabled in the matrix.
Add convenience Makefile targets like 'matrix10', 'matrix100', etc so that
small matrix tests can be easily run while developing.
Currently, it saves the output as `v20140814`, not `v20140814.tar.gz`.
And it causes build failures.
This change fixes it by specifying the output name explicitly.