- 06 Mar, 2005 2 commits
-
-
Benoit Perrot authored
Display the number of executed R,I and J-type instructions on profile. * src/vm/cpu.hh, src/vm/cpu.cc: Add an array of counters and update them for each executed instruction. * src/vm/virtual_machine.hh: Add accessor to CPU. * src/vm-tasks.cc: Print the counters on profile.
-
Benoit Perrot authored
Provide `--profile' option. * src/vm/virtual_machine.hh: Add accessor to control coprocessor. * src/vm-tasks.hh, src/vm-tasks.cc: Declare and define the `profile' task. For the moment, simply print on stderr the number of executed cyles at the end of the program's execution.
-
- 15 Feb, 2005 1 commit
-
-
Benoit Perrot authored
Implement print_err. * src/vm/cpu.c: Print buffer pointed to by $a0 on standard error stream on syscall when $v0 = 15.
-
- 27 Jan, 2005 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Make LabelExp independent from Label. * src/inst/exp.hh, src/inst/exp.cc: Make LabelExp aggregate a unique_string instead of a Label. * dev/parse-asm-scan-gen.py: Return a unique_string when scanning an identifier (instead of a Label). * dev/parse-asm-parse-gen.py: Update accordingly. * src/inst/section.hh (has_label, get_offset): Wait for a unique_string (instead of a Label). * dev/inst-builder-gen.py, dev/inst-solver-gen.py, * src/vm/virtual_machine.cc, src/shell/shell.cc: Update accordingly.
-
- 24 Jan, 2005 2 commits
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Copy the instruction list of text section when storing one. * src/inst/text_section.hh, dev/inst-solver-gen.py: Hide the concrete type of instruction list. * src/vm/mmu.hh: Aggregate the instructions instead of a text section. (inst_store) Copy the instruction pointers into a local vector. (inst_load) Access the local vector instead of text section.
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Hide the text section loaded in virtual machine's memory. * src/vm/mmu.hh (inst_has_label, inst_get_offset): Remove. * src/vm/virtual_machine.hh (has_label, get_offset): Remove. (add_breakpoint) Wait for an offset instead of a label. * src/vm/virtual_machine.cc: Update accordingly, move label translation into... * src/shell/shell.cc (do_break): ...this method.
-
- 11 Jan, 2005 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> 2005-01-08 Benoît Perrot <benoit@lrde.epita.fr> Migrate to bison2.0a. * dev/parse-asm-parse-gen.py: Call the parser with a filename and a program builder instead of using global variables. Use bison's builtin system to print token values. Remove global program builder. * dev/parse-asm-scan-gen.py: Remove global string for file name. Use yy::location instead of yy::Location. * src/parse/asm-scan.hh: Call the scanner with a trace flag. * src/parse/libparse.hh, src/parse/libparse.cc: Declare trace flags as booleans. * src/vm/cp0.hh: Include common.hh to get exit_set.
-
- 18 Dec, 2004 2 commits
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Kill (some) autotools warnings. Some m4 files from GNUlib still use deprecated autotools constructions. * src/vm/Makefile.am, src/misc/Makefile.am, * src/task/Makefile.am, src/shell/Makefile.am, * src/parse/Makefile.am, src/inst/Makefile.am, * src/Makefile.am: Use *_CPPFLAGS instead of obsoleted INCLUDES. * configure.ac: Run autoupdate.
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Move tasks to top level, to make libraries "side-effect free". * src/task/task-tasks.hh, src/task/task-tasks.cc, * src/parse/parse-tasks.hh, src/parse/parse-tasks.cc * src/inst/inst-tasks.hh, src/inst/inst-tasks.cc * src/vm/vm-tasks.hh, src/vm/vm-tasks.cc, * src/shell/shell-tasks.hh, src/shell/shell-tasks.cc: Move to... * src/task-tasks.hh, src/task-tasks.cc, * src/parse-tasks.hh, src/parse-tasks.cc * src/inst-tasks.hh, src/inst-tasks.cc * src/vm-tasks.hh, src/vm-tasks.cc, * src/shell-tasks.hh, src/shell-tasks.cc: These files. * src/task/Makefile.am, * src/parse/Makefile.am, * src/inst/Makefile.am, * src/vm/Makefile.am, * src/shell/Makefile.am, * src/Makefile.am, * src/modules.hh: Update accordingly.
-
- 28 Nov, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Use GNUlib as it shall be. Thanks to Akim Demaille and Paul Eggert for showing me the right way to do it. * bootstrap: Get gnulib files from CVS repository or local directory (extracted from GNU tar's bootstrap script, written by Paul Eggert and Sergey Poznyakoff). * lib/Makefile.am.tmpl: New. * Makefile.am: Add `lib' as subdirectory. * configure.ac: Use gnulib's automake snippets. * src/stdint_.h, config/stdint.m4, config/inttypes.m4: Remove, as deprecated by the correct use of gnulib. * src/Makefile.am, src/vm/Makefile.am, src/inst/Makefile.am: Update accordingly.
-
- 30 Oct, 2004 2 commits
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/vm/cpu.cc: Effectively use Cpu::register_type, and not system's register_t. cpu.cc did not compile on SunOS, where register_t is not defined.
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * config/stdint.m4, config/inttypes.m4: GNUlib's <stdint.h>/<inttypes.h> detection tools. * configure.ac: Use gl_HAVE_STDINT_H to check <stdint.h>/<inttypes.h> presence. Define __STDC_LIMIT_MACROS to access to some macros that the ISO C99 standard specifies to be explicitly requested in C++ implementation. * src/stdint_.h: GNUlib's "ISO C 99 <stdint.h> for platforms that lack it." * src/Makefile.am: Generate stdint.h from stdint_.h on platforms that lack it. * src/vm/cpu.hh, src/vm/memory.hh, src/inst/data_section.hh: Include config.h to get information on <stdint.h>/<inttypes.h> presence.
-
- 20 Sep, 2004 2 commits
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Emulate `lui' * dev/nolimips.xml: Add `lui' instruction. * src/vm/cpu.hh, src/vm/cpu.cc: Emulate `lui'.
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Li is not a native instruction * dev/nolimips.xml, src/int/program_builder.cc: Make `li' a pseudo instruction for `addiu'. * src/vm/cpu.hh, src/vm/cpu.cc: Remove emulation of `li'.
-
- 19 Sep, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Factor boolean tasks. * src/task/boolean_task.hh, src/task/boolean_task.cc: * src/task/Makefile.am: Distribute new files. * src/vm/vm-tasks.hh, src/vm/vm-tasks.cc, * src/task/libtask.hh: Use boolean tasks.
-
- 18 Sep, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/task/task.hh, src/task/task.cc: Split in... * src/task/function_task.hh, src/task/function_task.cc, * src/task/libtask.hh: These new files. * src/task/Makefile.am: Distribute new files. * src/task/task-tasks.hh, src/shell/shell-tasks.hh, * src/parse/parse-tasks.hh, src/nolimips-tasks.hh, * src/inst/inst-tasks.hh, src/vm/vm-tasks.hh: Include libtask.hh instead of task/task.hh
-
- 18 Jul, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Add the backtrace command to the shell. * src/vm/cpu.hh, src/vm/virtual_machine.hh: Add an accessor to call stack. * src/shell/cmd.hh, src/shell/shell.hh, src/shell/shell.cc: Parse and execute backtrace command.
-
- 15 Jul, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/vm/memory.hh, src/vm/mmu.hh, src/vm/virtual_machine.cc: Make the MMU responsible of address translation and exception raising. * src/vm/cp0.hh (raise_addr_load, raise_addr_store): Add address load and store exception. * src/vm/virtual_machine.hh (execute): Stop execution on fatal exceptions.
-
- 14 Jul, 2004 3 commits
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/vm/mmu.hh: Hide instructions' access behind MMU. * src/vm/cpu.hh, src/vm/cpu.cc, src/vm/virtual_machine.hh: Use the MMU to access instructions.
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/vm/memory.hh, src/vm/mmu.hh, src/vm/cpu.cc, * src/vm/virtual_machine.cc: Implement reset() method. * src/vm/virtual_machine.hh, src/vm/virtual_machine.hh: Keep and reload the main offset of loaded program.
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/vm/virtual_machine.hh: Move the implementation of rarely used methods to... * src/vm/virtual_machine.cc: This file.
-
- 08 Jul, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/vm/cpu.hh (get_unlimited): Print a lovely error message when an unlimited register is used before initialized. * tests/runtime/Makefile.am, tests/runtime/uninitialized-x.s: Test the case.
-
- 03 Jun, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Bump to nolimips-0.7 * INSTALL, README, TODO, * Makefile.am, bootstrap, * configure.ac, * dev/doc-inst-set-gen.py, dev/inst-builder-gen.py, * dev/inst-makefile-gen.py, dev/inst-nodes-gen.py, * dev/inst-solver-gen.py, dev/nolimips.py, * dev/nolimips.xml, dev/parse-asm-parse-gen.py, * dev/parse-asm-scan-gen.py, * doc/Makefile.am, doc/macros.texi, * src/Makefile.am, src/common.hh, src/modules.hh, * src/inst/section.hh, * src/inst/data_section.hh, src/inst/data_section.cc * src/inst/text_section.hh, src/inst/text_section.cc, * src/inst/program.hh, src/inst/program_builder.cc, * src/inst/exp-visitor.hh, src/inst/exp.hh, src/inst/exp.cc * src/inst/inst-tasks.cc, src/inst/inst-tasks.hh, * src/inst/inst.hh, src/inst/label.cc, src/inst/label.hh * src/inst/register.hh, * src/parse/Makefile.am, src/parse/asm-scan.hh, * src/parse/libparse.cc, src/parse/libparse.hh, * src/parse/parse-tasks.cc, src/parse/parse-tasks.hh, * src/shell/cmd.hh, * src/shell/shell-tasks.cc, src/shell/shell-tasks.hh, * src/shell/shell.cc, src/shell/shell.hh, * src/task/task-tasks.cc, src/task/task-tasks.hh, * src/task/task.cc, src/task/task.hh, * src/task/task_register.cc, src/task/task_register.hh, * src/vm/cp0.hh, src/vm/cpu.hh, src/vm/cpu.cc * src/vm/memory.hh, src/vm/mmu.hh, src/vm/segment.hh * src/vm/table.hh, src/vm/virtual_machine.hh * src/vm/vm-tasks.cc, src/vm/vm-tasks.hh * tests/Makefile.am, tests/generate-ref.mk, tests/good/check-good * tests/good/fact.s, tests/lexical/check-lexical, * tests/runtime/check-runtime, tests/solve/check-solve * tests/syntax/check-syntax, tests/unlimited/check-unlimited: Rename mipsy as nolimips. * dev/mipsy.py, dev/mipsy.xml, * doc/mipsy.texi, * src/mipsy.cc, src/mipsy-tasks.cc, src/mipsy-tasks.hh, * tests/mipsy-check: Move to... * dev/nolimips.py, dev/nolimips.xml, * doc/nolimips.texi, * src/nolimips.cc, src/nolimips-tasks.cc, src/nolimips-tasks.hh, * tests/nolimips-check: These new files. * NEWS, configure.ac: Bump to nolimips-0.7.
-
- 08 May, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/inst/register.hh: Add a copy constructor. * dev/inst-nodes-gen.py: Copy inst::Registers instead of keeping a pointer on them, avoiding hazardous memory manipulations. * dev/inst-builder-gen.py, src/inst/program_builder.cc, * src/vm/cpu.cc (bubble_): Prefer copy to reallocation of inst::Registers. * dev/parse-asm-parse-gen.py: Once they are copied, delete the inst::Registers created by the scanner.
-
- 25 Apr, 2004 2 commits
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Use coprocessor to raise exception. * src/vm/cp0.hh: (raise_overflow) Raise an arithmetic overflow exception. * src/vm/cpu.cc: Call raise_overflow when an arithmetic overflow occurs.
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/mipsy-tasks.hh, * src/vm/vm-tasks.hh, * src/shell/shell-tasks.hh: Add short options. * src/task/task_register.hh, src/task/task_register.cc: Support concatenated short options. * NEWS, doc/mipsy.texi: Document this.
-
- 24 Apr, 2004 1 commit
-
-
Benoit Perrot authored
Add an interactive shell. * src/vm/cpu.hh, src/vm/cpu.cc: Add a print operator. * src/vm/virtual_machine.hh: Add breakpoint suport and some shell entry points for step by step execution. * src/shell/cmd.hh, * src/shell/shell.cc, src/shell/shell.hh: Implement interactive shell, using readline. * src/shell/shell-tasks.cc, src/shell/shell-tasks.hh: Add shell's tasks. * src/shell/Makefile.am: Distribute shell. * src/modules.hh: Declare shell. * configure.ac: Check for readline library. Add shell directory. * src/Makefile.am: Add shell directory and link with readline.
-
- 04 Apr, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/vm/cp0.hh: Add control coprocessor. * src/vm/Makefile.am: Distribute it. * src/vm/cpu.hh, src/vm/cpu.cc, * src/vm/virtual_machine.hh: Use control coprocessor. * dev/mipsy.py, * dev/mipsy.xml: Add instructions to move registers to/from control coprocessor. * dev/inst-solver-gen.py, Check register identifiers for control coprocessor instructions.
-
- 03 Apr, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/common.hh, * src/mipsy.cc, * src/inst/exp.hh, * src/inst/register.hh, * src/vm/cpu.hh, src/vm/cpu.cc: Use STL type naming style on enumerations.
-
- 28 Mar, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Homogenize attribute names. * dev/inst-builder-gen.py, src/inst/program_builder.cc, * src/inst/data_section.hh, src/inst/data_section.cc, * src/inst/exp.hh, src/inst/exp.cc, * src/inst/label.cc, src/inst/label.hh, * src/inst/program.hh, * src/inst/program_solver.hh, * src/inst/register.hh, * src/inst/section.hh, * src/inst/text_section.hh, src/inst/text_section.cc, * src/misc/deref.hh, src/misc/escape.hh, * src/task/task.cc, src/task/task.hh * src/task/task_register.cc, src/task/task_register.hh * src/vm/cpu.hh, src/vm/cpu.cc * src/vm/memory.hh, src/vm/segment.hh, * src/vm/table.hh, * src/vm/virtual_machine.hh: Rename... (_program, fill_delay_slot_p, _size, bytes, immediate, integer) (label, kind, left, right, set, set_node, _text_section, _data_section) (_pc, _program, kind, index, labels, offsets, insts, postr, s) (print_delim, _long_opt, _short_opt, _module, _description) (dependencies, _execute, _modules, _tasks, _enabled_tasks, mmu, GPR) (hi, lo, pc, unlimited, halt, istr, ostr, call_stack) (check_callee_save_p, trace_p, bubble, pipeline, heap, stack) (stack_top, _size, _bytes, _scopes, memory, mmu, cpu) as... (program_, fill_delay_slot_p_, size_, bytes_, immediate_, integer_) (label_, kind_, left_, right_, set_, set_node_, text_section_) (data_section_, pc_, program_, kind_, index_, labels_, offsets_) (insts_, postr_, s_, print_delim_, long_opt_, short_opt_, module_) (description_, dependencies_, execute_, modules_, tasks_) (enabled_tasks_, mmu_, GPR_, hi_, lo_, pc_, unlimited_, halt_, istr_) (ostr_, call_stack_, check_callee_save_p_, trace_p_, bubble_) (pipeline_, heap_, stack_, stack_top_, size_, bytes_, scopes_) (memory_, mmu_, cpu_)
-
- 29 Feb, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Track memory leaks. * dev/inst-builder-gen.py, * dev/inst-nodes-gen.py, * dev/mipsy.xml, * dev/parse-asm-parse-gen.py, * src/inst/data_section.hh, * src/inst/exp.hh, * src/inst/program_builder.cc, * src/inst/section.hh, * src/inst/text_section.hh, * src/vm/cpu.hh, src/vm/cpu.cc * src/vm/segment.hh, * src/vm/vm-tasks.cc: Use pointers instead of references for each allocated attribute, and delete them.
-
- 24 Feb, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * dev/doc-inst-set-gen.py, * dev/inst-builder-gen.py, * dev/inst-makefile-gen.py, * dev/inst-nodes-gen.py, * dev/mipsy.py, * dev/mipsy.xml, * dev/parse-asm-parse-gen.py, * dev/parse-asm-scan-gen.py, * src/common.hh, * src/mipsy-tasks.cc, src/mipsy-tasks.hh, * src/mipsy.cc, * src/modules.hh, * src/inst/data_section.hh, * src/inst/exp-visitor.hh, * src/inst/exp.hh, * src/inst/inst-tasks.cc, src/inst/inst-tasks.hh, * src/inst/inst.hh, * src/inst/label.cc, src/inst/label.hh, * src/inst/program.hh, * src/inst/program_builder.cc, * src/inst/program_solver.hh, * src/inst/register.hh, * src/inst/section.hh, * src/inst/text_section.hh, * src/parse/asm-scan.hh, * src/parse/libparse.cc, src/parse/libparse.hh, * src/parse/parse-tasks.cc, src/parse/parse-tasks.hh, * src/task/task-tasks.cc, src/task/task-tasks.hh, * src/task/task.cc, src/task/task.hh, * src/task/task_register.cc, src/task/task_register.hh, * src/vm/cpu.hh, src/vm/cpu.cc, * src/vm/memory.hh, * src/vm/mmu.hh, * src/vm/segment.hh, * src/vm/table.hh, * src/vm/virtual_machine.hh, * src/vm/vm-tasks.cc, src/vm/vm-tasks.hh: Update Copyright. Suggested by Akim Demaille.
-
- 23 Feb, 2004 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> Use STL type naming style. * dev/inst-nodes-gen.py, * src/inst/section.hh, * src/inst/data_section.hh, * src/inst/text_section.hh, * src/inst/exp.hh, src/inst/exp-visitor.hh * src/inst/label.hh, src/inst/label.cc, * src/task/task.hh, * src/task/task_register.cc, * src/vm/cpu.hh, src/vm/cpu.cc, * src/vm/table.hh, * src/misc/select_const.hh (label_list_t, kind_t, string_set_t) (offset_label_t, label_offset_t, deps_t, register_t, uregister_t) (scope_t, scope_t, t): Rename as... (label_list_type, kind_type, string_set_type, offset_label_type) (label_offset_type, deps_type, register_type, uregister_type) (scope_type, scopes_type, type): these.
-
- 12 Jan, 2004 3 commits
-
-
Benoit Perrot authored
--- ChangeLog Mon, 12 Jan 2004 18:37:08 +0100 noe (mipsy/2_ChangeLog 1.60 604) +++ ChangeLog Mon, 12 Jan 2004 18:40:01 +0100 noe (mipsy/2_ChangeLog 1.60 604) @@ -1,5 +1,12 @@ 2004-01-12 Benoît Perrot <benoit@lrde.epita.fr> + * src/vm/cpu.hh, src/vm/cpu.cc: + Add delay slot support. + * tests/good/check-good, tests/runtime/check-runtime: + Test mipsy forcing NOPs after native branches. + +2004-01-12 Benoît Perrot <benoit@lrde.epita.fr> + * dev/inst-builder-gen.py, * src/inst/program_builder.cc: Prepare delay slots support by adding NOPs after native branches
-
Benoit Perrot authored
--- ChangeLog Mon, 12 Jan 2004 15:28:03 +0100 noe (mipsy/2_ChangeLog 1.58 604) +++ ChangeLog Mon, 12 Jan 2004 17:26:41 +0100 noe (mipsy/2_ChangeLog 1.58 604) @@ -1,5 +1,13 @@ 2004-01-12 Benoît Perrot <benoit@lrde.epita.fr> + * src/vm/cpu.hh, + * src/vm/memory.hh, + * src/vm/mmu.hh, + * src/vm/virtual_machine.hh: + Add some comments. + +2004-01-12 Benoît Perrot <benoit@lrde.epita.fr> + * src/vm/mmu.hh: * src/vm/Makefile.am: Distribute mmu.hh. * src/vm/cpu.hh, src/vm/cpu.cc,
-
Benoit Perrot authored
--- ChangeLog Sat, 10 Jan 2004 23:58:50 +0100 noe (mipsy/2_ChangeLog 1.57 604) +++ ChangeLog Mon, 12 Jan 2004 15:27:22 +0100 noe (mipsy/2_ChangeLog 1.57 604) @@ -1,3 +1,11 @@ +2004-01-12 Benoît Perrot <benoit@lrde.epita.fr> + + * src/vm/mmu.hh: + * src/vm/Makefile.am: Distribute mmu.hh. + * src/vm/cpu.hh, src/vm/cpu.cc, + * src/vm/virtual_machine.hh: + Use a Memory Management Unit to access memory. + 2004-01-10 Benoît Perrot <benoit@lrde.epita.fr> * dev/inst-nodes-gen.py: Generate interface of classes in
-
- 11 Oct, 2003 2 commits
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/vm/cpu.hh, src/vm/virtual_machine.hh, src/vm/vm-tasks.cc: Make the CPU responsible of its instruction flow.
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/vm/cpu.hh, src/vm/cpu.cc: Uniformize register accessors, removing deprecated ones.
-
- 08 Sep, 2003 1 commit
-
-
Benoit Perrot authored
from Benoît Perrot <benoit@lrde.epita.fr> * src/vm/memory.hh: Increase default stack size to 512 Ko.
-
- 21 Aug, 2003 1 commit
-
-
Benoit Perrot authored
-