2003-07-12 Benoît Perrot * src/inst/section.hh, * src/inst/data_section.hh, src/inst/text_section.hh: Factorize Section code. 2003-07-11 Benoît Perrot * config/{depcomp, install-sh, missing, mkinstalldirs}: Flush 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.