Kill a warning on Ubuntu. * interactive.c (interactive_simulate): Explicitly ignore the return of scanf to kill a warning.
238 lines
7.6 KiB
Text
238 lines
7.6 KiB
Text
2010-01-21 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
|
|
|
Kill a warning on Ubuntu.
|
|
|
|
* interactive.c (interactive_simulate): Explicitly ignore the
|
|
return of scanf to kill a warning.
|
|
|
|
2007-03-27 Michael Weber <michaelw@foldr.org>
|
|
|
|
* Released version 1.2.7
|
|
|
|
2007-03-26 Michael Weber <michaelw@foldr.org>
|
|
|
|
* nipsvm.c (simple_error_cb): added, fixes segfault in
|
|
error callback which received the wrong context;
|
|
reported by <timo.lindfors@iki.fi>
|
|
|
|
2007-03-10 Michael Weber <michaelw@foldr.org>
|
|
|
|
* Released version 1.2.6
|
|
|
|
* search.c (search): silenced warning on MacOS X
|
|
|
|
* instr_step.c (instr_succ): code cleanup:
|
|
p_monitor
|
|
|
|
* Makefile (LDFLAGS_LIB): MacOS X support
|
|
|
|
2006-07-06 Michael Weber <michaelw@foldr.org>
|
|
|
|
* nips_disasm.pl: emit !modflags only of non-empty
|
|
|
|
* nips_asm.pl: if set, use NIPS_HOME to locate *.pl files
|
|
|
|
2006-06-27 Michael Weber <michaelw@foldr.org>
|
|
|
|
* main.c: adjusted version
|
|
* search.c: initialize n_atomic_steps to zero (lost in last commit)
|
|
|
|
2006-06-06 Michael Weber <michaelw@foldr.org>
|
|
|
|
* Released version 1.2.5
|
|
|
|
* search.c: count and print number of atomic steps.
|
|
|
|
2006-05-19 Michael Weber <michaelw@foldr.org>
|
|
|
|
* nipsvm.c (nipsvm_default_error_cb): removed extra comment
|
|
|
|
* tests/spin/pftp: commented out unused variable
|
|
|
|
* bytecode.h, bytecode.c (bytecode_str_inf): added interface to
|
|
query structure information.
|
|
TODO: use binary search to find record.
|
|
TODO: adapt interface for bytecode_src_loc
|
|
|
|
2006-03-14 Michael Weber <michaelw@foldr.org>
|
|
|
|
* instr.c (instr_load_special_timeout): renamed to instr_lds_timeout
|
|
(instr_load_special_pid): renamed to instr_lds_pid
|
|
(instr_load_special_nrpr): renamed to instr_lds_nrpr
|
|
(instr_load_special_last): renamed to instr_lds_last
|
|
(instr_load_special_np): renamed to instr_lds_np
|
|
(instr_lrun): fixed storage size bug
|
|
(instr_run_intern): fixed storage size bug
|
|
|
|
2006-03-13 Michael Weber <michaelw@foldr.org>
|
|
|
|
* Makefile (MACHINE): set MACHINE if compiler target
|
|
architecture cannot be worked out from ``gcc -dumpmachine'', e.g.
|
|
``make MACHINE=x86_64-linux''
|
|
(CFLAGS): use -m64 for x86_64
|
|
(CFLAGS_LIB): use -fPIC by default on x86, except for win32
|
|
|
|
2006-03-11 Michael Weber <michaelw@foldr.org>
|
|
|
|
* state.c (channel_to_str): more unsignedness fixes
|
|
* instr.c (instr_chnew): more unsignedness fixes
|
|
* hashtab.c (hashtab_get_pos): more unsignedness fixes
|
|
|
|
* Makefile: changed way to detect mingw32 compiler to make it work
|
|
with ming32 cross compiler, use -DSMALLSTACK by default in windows
|
|
(TARGET): set TARGET to cross compile, e.g.:
|
|
``make TARGET=i586-mingw32msvc all''
|
|
* search.c: use #ifdef WIN32 ... #endif for windows specific
|
|
sections
|
|
* timeval.h: shift platform specifics here, just include if needed
|
|
* instr_step.c: conditionalize on SMALLSTACK
|
|
|
|
2006-03-09 Michael Weber <michaelw@foldr.org>
|
|
|
|
* hashtab.c (hashtab_hash): fixed signedness oversight
|
|
|
|
2006-02-23 Michael Weber <michaelw@foldr.org>
|
|
|
|
* BUGS: Added Bug#2.
|
|
|
|
* instr_step.c (instr_succ): extension of finite paths only if
|
|
monitor is present.
|
|
|
|
* state_inline.h (global_state_compare): add type cast so that
|
|
C++ compilers don't choke. Note, that this function is
|
|
deprecated, still.
|
|
|
|
* nipsvm.h: comment cosmetics
|
|
|
|
2006-02-17 Michael Weber <michaelw@foldr.org>
|
|
|
|
* nips_disasm.pl: very simple bytecode-to-C stub generator.
|
|
The generated function must be inserted manually into the VM
|
|
currently. Also, giving such a specialized VM a different
|
|
bytecode file than was used for generating the C stub results
|
|
in hilarious behavior. Not recommended.
|
|
|
|
Speedup: yes, but not very large. Much is eaten by complicated
|
|
PC handling. Possible optimizations: move instruction decoding
|
|
out of execution loop (requires quite some surgery)
|
|
|
|
* nips_asm_instr.pl (get_instructions): tag instructions whether
|
|
they change control-flow or yield errors.
|
|
(instruction_cfun): bytecode to C-function name mapping
|
|
|
|
* instr.c (instr_ldc): renamed from instr_load_constant to match
|
|
functions names generated by disassembler script
|
|
(instr_trunc): renamed from instr_truncate
|
|
(instr_exec): replaced occurrences of renamed functions
|
|
|
|
2006-02-15 Michael Weber <michaelw@foldr.org>
|
|
|
|
* nips_asm.pl: collate flags for the same address instead of
|
|
emitting them individually. Happens, if the compiler generates
|
|
several labels for the same code address each of which has flags
|
|
set. I am not sure that was a real problem for the current VM
|
|
implementation.
|
|
|
|
2006-02-11 Michael Weber <michaelw@foldr.org>
|
|
|
|
* state.c (global_state_to_str): output flags (accepting,
|
|
terminated) if monitor is present
|
|
|
|
2006-02-06 Michael Weber <michaelw@foldr.org>
|
|
|
|
* search.c (search_succ_cb): fixed type of succ_sz (size_t)
|
|
|
|
* state.c (global_state_to_str): fixed format arg mismatch for
|
|
64-bit systems.
|
|
|
|
2006-02-03 Michael Weber <michaelw@foldr.org>
|
|
|
|
* Released version 1.2.3
|
|
|
|
2006-02-02 Michael Weber <michaelw@foldr.org>
|
|
|
|
* search.c (t_search_context, search, search_succ_cb): count
|
|
transitions
|
|
|
|
* nipsvm.h (nipsvm_state_monitor_accepting)
|
|
(nipsvm_state_monitor_terminated)
|
|
(nipsvm_state_monitor_acc_or_term): added
|
|
|
|
* state.c, state.h (global_state_monitor_accepting)
|
|
(global_state_monitor_terminated)
|
|
(global_state_monitor_acc_or_term): deprecated
|
|
|
|
2006-02-01 Michael Weber <michaelw@foldr.org>
|
|
|
|
* hashtab.c: faster hash collision resolution using (very simple)
|
|
double hashing, speeding up almost-filled hash table insertions.
|
|
I measured a speedup of 1.35 when filling hash table to 93%.
|
|
|
|
API CHANGES AHEAD
|
|
|
|
Old API functions are still there, but will be be phased out
|
|
eventually.
|
|
|
|
* nipsvm.c, nipsvm.h : beginnings of a new interface: nipsvm_*
|
|
equivalents of the most used global_* methods
|
|
|
|
* simpler and less fragile callback interface, all extra
|
|
information is stashed away in
|
|
nipsvm_transition_information_t (can be extended without visibly
|
|
changing the API)
|
|
|
|
* converted some of the internals to the new API (work in
|
|
progress)
|
|
|
|
* some state handling functions have grown an extra size_t
|
|
argument, instead of calculating the state size themselves
|
|
|
|
* search.c (search): added initial state to hash table to
|
|
eliminate off-by-one difference between visited states and
|
|
states in table
|
|
|
|
* Makefile: added -g option by default, removed rt_err.o from
|
|
libnips_vm (not needed)
|
|
|
|
|
|
2005-10-11, 2005-10-12
|
|
----------------------
|
|
added range errors in assembler
|
|
changed maximum size of global variables to 65535
|
|
- access to global variables 256..65535 not possible using LDVA / STVA
|
|
use LDC <address> ; LDV / STV instead
|
|
added instructions
|
|
- GLOBSZX <size of global variables (0..65535)>
|
|
set size of global variables using 2 byte constant
|
|
- LDB [L|G]
|
|
load bit from local / global memory
|
|
stack:<addr>:<bit> ---> stack:<value>
|
|
only last 3 bits of <bit> are used
|
|
- STB [L|G]
|
|
store bit into local / global memory
|
|
stack:<value>:<addr>:<bit> ---> stack
|
|
<value> must be 0 or 1 (other values are treated as 1)
|
|
- LDV / STV [L|G] [2u|2s|4] LE
|
|
load / store variable in little endian format
|
|
works as version without LE at end (but in little endian format)
|
|
- BGET /BSET r_i, b for bit access to registers
|
|
behaviour is as FGET b / FSET b (but for r_i instead of r_F)
|
|
|
|
1.2.2 2005-09-30
|
|
----------------
|
|
tried to fix unalign errors on alpha
|
|
tried to fix left unalign errors on alpha
|
|
fixed byte order bug in LVAR instructions (remote ref)
|
|
added global_state_initial_size
|
|
added string output of states
|
|
|
|
1.2.1 2005-09-21
|
|
----------------
|
|
now forcing cycle in case of blocking system
|
|
- needed in most LTL model checkers to recognize
|
|
invalid states in which system blocks
|
|
- added INSTR_SUCC_CB_FLAG_SYS_BLOCK flag (successor callback)
|
|
|
|
1.2 2005-09-06
|
|
--------------
|
|
first public release
|