2003-07-29 Benoît Perrot * dev/mipsy-builder-gen.py, * src/parse/libparse.hh, src/parse/libparse.cc, * src/parse/parse-tasks.hh, src/parse/parse-tasks.cc: Fill delay slot of native branch instructions with NOP. * NEWS: Update. 2003-07-29 Benoît Perrot * configure.ac: Bump to 0.4. 2003-07-29 Benoît Perrot * src/task/task_register.cc: Fix usage display. 2003-07-29 Benoît Perrot * dev/mipsy.xml, dev/mips.py: Specify instruction kind. 2003-07-29 Benoît Perrot * dev/mipsy-scanner-gen.py, * src/parse/libparse.hh, src/parse/libparse.cc, * src/parse/parse-tasks.hh, src/parse/parse-tasks.cc: Make unlimited registers optional. 2003-07-29 Benoît Perrot * src/task/task_register.hh (parse_args): Do not search beyond map's end. 2003-07-28 Benoît Perrot * NEWS: Describe main version changes. 2003-07-27 Benoît Perrot * src/task/task_register.hh, src/task/task_register.cc: Disambiguate uncomplete options. Clean usage display. * src/mipsy.cc: Launch "--execute" if no option is specified. 2003-07-26 Benoît Perrot * dev/mipsy-mk-inst-gen.py: Distribute section.hh. 2003-07-20 Benoît Perrot * src/vm/virtual_machine.hh, src/vm/virtual_machine.cc, * src/vm/vm-tasks.hh, src/vm/vm-tasks.cc: Check preservation of callee save registers on demand. * src/parse/parse-tasks.cc: Remove useless includes. * TODO: Update. 2003-07-18 Benoît Perrot * src/inst/register.hh, src/vm/cpu.hh: Move general register indices from Register.hh into Cpu. * src/inst/program_builder.cc, * dev/mipsy.xml, dev/mipsy-parser-gen.py, dev/mipsy-scanner-gen.py: Adjust. 2003-07-18 Benoît Perrot * src/vm/cpu.hh: Add a checker for unlimited register existence. 2003-07-17 Benoît Perrot * src/vm/memory.hh: stack_size is an argument of Memory constructor. 2003-07-17 Benoît Perrot * src/vm/virtual_machine.hh: (step) Return a boolean that indicates the end of the execution. 2003-07-17 Benoît Perrot * src/vm/memory.hh: Add accessors for heap and stack sizes. 2003-07-17 Benoît Perrot * src/inst/section.hh: Export types. * src/vm/virtual_machine.cc, src/vm/virtual_machine.hh: Use variable input and output streams. 2003-07-17 Benoît Perrot * src/inst/section.hh: Add a const accessor to Section's labels. 2003-07-12 Benoît Perrot * src/inst/section.hh, * src/inst/data_section.hh, src/inst/text_section.hh: Factor Section code. 2003-07-11 Benoît Perrot * config/depcomp, config/install-sh, config/missing, * config/mkinstalldirs: Remove auto-generated files. 2003-07-11 Benoît Perrot * configure.ac: Bump to 0.3. 2003-07-11 Benoît Perrot * src/vm/virtual_machine.cc: Set exit_status to exit_runtime when an exception occurs. 2003-07-11 Benoît Perrot * src/vm/virtual_machine.hh, src/vm/virtual_machine.cc: Define and use a step of execution. * src/common.hh, src/vm/vm-tasks.cc: Adjust. 2003-07-11 Benoît Perrot * dev/mipsy-scanner-gen.py, * src/inst/register.hh, src/vm/cpu.hh: Use a register vector for general purpose registers. * src/vm/virtual_machine.cc: Adjust. 2003-07-10 Benoît Perrot * dev/mipsy.xml, src/inst/program_solver.hh, src/vm/virtual_machine.hh: Normalize nop to sll zero, zero, 0. 2003-07-07 Benoît Perrot * bootstrap, dev/mipsy-mk-inst-gen.py: Generate src/inst/Makefile.am at bootstrap. 2003-07-07 Benoît Perrot * src/task/task.hh: Remove useless ";" at end of macro definitions. 2003-07-07 Benoît Perrot * dev/mipsy.xml, * src/inst/program_builder.cc, * src/inst/program_solver.hh, * src/vm/cpu.hh, * src/vm/virtual_machine.hh, src/vm/virtual_machine.cc: Use HI and LO register to execute div, divu, rem, remu. 2003-07-06 Benoît Perrot * src/vm/virtual_machine.cc: read_string stops after an OEF or a newline; if a newline is read, it is stored into the buffer. 2003-07-05 Benoît Perrot * dev/mipsy.xml, * src/inst/program_builder.cc, src/inst/program_solver.hh, * src/vm/virtual_machine.hh, src/vm/virtual_machine.cc: Support more comparison instructions. Implement shift (logical and arithmetical) and rotate. Add some syntaxes to branch instructions. 2003-06-29 Benoît Perrot * dev/mipsy.xml, src/inst/program_builder.cc: Use gcc's expansion of complex and pseudo instructions. * src/vm/virtual_machine.cc: Check overflow in Sub. 2003-06-29 Benoît Perrot * dev/mipsy-parser-gen.py: Allow expression for destination of branch instructions. * dev/mipsy-inst-gen.py: Generate an Exp& variable for a label. * src/inst/program_builder.cc, src/inst/program_solver.hh, * src/vm/virtual_machine.cc, Adjust. 2003-06-29 Benoît Perrot * doc/mipsy.texi: Add some comments on internal. 2003-06-29 Benoît Perrot * src/vm/virtual_machine.hh: Display a dedicated error message when the main label can not be found. 2003-06-29 Benoît Perrot * dev/mipsy.xml, dev/mipsy.py: Allow level of instruction override in syntax. Rename "neg" as "negu". * dev/mipsy-builder-gen.py: Adjust. * src/inst/program_builder.cc: Support more syntaxes on branch instructions, support neg. * src/vm/virtual_machine.cc: Adjust overflow detection. 2003-06-29 Benoît Perrot * dev/mipsy-parser-gen.py, dev/mipsy-scanner-gen.py, * dev/mipsy-builder-gen.py, dev/mipsy.py, dev/mipsy.xml * src/common.hh, src/modules.hh, * src/mipsy-tasks.hh, src/mipsy-tasks.cc, src/mipsy.cc, * src/inst/data_section.hh, * src/inst/exp-visitor.hh, * src/inst/exp.hh, * src/inst/inst.hh, * src/inst/program.hh, * src/inst/program_builder.cc, * src/inst/program_solver.hh, * src/inst/register.hh, * src/inst/text_section.hh, * src/parse/asm-scan.hh, * src/parse/libparse.hh, src/parse/libparse.hh, * src/parse/parse-tasks.hh, src/parse/parse-tasks.cc, * src/task/task-tasks.hh, src/task/task-tasks.cc, * src/task/task.cc, src/task/task.hh, * src/task/task_register.hh, src/task/task_register.cc, * src/vm/cpu.hh, * src/vm/memory.hh, * src/vm/segment.hh, * src/vm/table.hh, * src/vm/virtual_machine.hh, src/vm/virtual_machine.cc, * src/vm/vm-tasks.hh, src/vm/vm-tasks.cc: Add license. 2003-06-29 Benoît Perrot * doc/mipsy.texi, doc/fdl.texi, doc/Makefile.am, * configure.ac: Begin documentation effort. 2003-06-29 Benoît Perrot * Makefile.am, src/Makefile.am, src/misc/Makefile.am, * src/parse/Makefile.am, src/task/Makefile.am, src/vm/Makefile.am: Support automatic generation. * README: Document it. 2003-06-29 Benoît Perrot * vm/table.hh, cpu.hh: Allow unlimited registers. * vm/memory.hh: New. * vm/segment.hh: New. * vm/virtual_machine.{hh, cc}: Implement instructions. 2003-06-29 Benoît Perrot * dev/mipsy-builder-gen.py: Use MIPS instruction set to generate ProgramBuilder. * src/inst/program_builder.cc: Implement complex opcodes expansion. * dev/mipsy-parser-gen.py: Use ProgramBuilder. 2003-06-28 Benoît Perrot * src/inst/{data, text}_section.hh: New. * src/inst/program.hh: New. * src/inst/visitor.hh: New. * src/inst/program_solver.hh: New. 2003-06-28 Benoît Perrot * src/inst/inst.hh: New. * dev/mipsy-inst-gen.py: Use MIPS instruction set to generate Inst class declarations. 2003-06-28 Benoît Perrot * src/inst/register.hh: New. * src/inst/Makefile.am, src/Makefile.am Distribute and compile 'inst' module. * src/inst/label.{hh, cc}: New. * src/inst/Makefile.am, src/Makefile.am: Distribute and compile labels. * src/parse/asm-{scan.ll, parse.yy}: Use labels and registers. 2003-06-27 Benoît Perrot * src/misc/: Add miscellaneous helpers. * src/misc/Makefile.am, src/Makefile.am: Distribute and compile 'misc' module. * src/parse/asm-{scan.ll, parse.yy}: Use misc helpers. 2003-06-27 Benoît Perrot * dev/mipsy.xml: Add MIPS instruction set xml file. * dev/mipsy.py: Add MIPS instruction set xml parser. * dev/mipsy-{scanner, parser}-gen.py: Use MIPS instruction set to generate flex and bison files. * src/parse/Makefile.am, src/Makefile.am: Distribute and compile 'parse' module. 2003-06-27 Benoît Perrot * ./, ./dev/, ./src/, ./src/parse/: Create development tree. * ./config/, configure.ac, Makefile.am: Use autotools. * src/mipsy.cc: Add dummy driver.