1. 05 Nov, 2005 1 commit
    • Benoit Perrot's avatar
      2005-11-05 Benoît Perrot <benoit@lrde.epita.fr> · 9c8e14bd
      Benoit Perrot authored
      	Rename config/ as build-aux/ to match with up-to-date coding
      	* config/Makefile.am, config/bison++.in,
      	* config/move-if-change, config/readline.m4:
      	Move to...
      	* build-aux/Makefile.am, build-aux/bison++.in,
      	* build-aux/move-if-change, build-aux/readline.m4:
      	... here.
      	* configure.ac, Makefile.am, src/parse/Makefile.am:
      	Adjust accordingly.
  2. 20 Oct, 2005 1 commit
    • Roland Levillain's avatar
      2005-10-20 Roland Levillain <roland@lrde.epita.fr> · 2d20d595
      Roland Levillain authored
      	Update bison++.
      	* configure.ac: Check for bison instead of yacc.
      	(AC_CONFIG_FILES): Generate config/bison++.
      	* config/bison++: Rename as...
      	* config/bison++.in: ...this.
      	Be robust to absolute srcdir paths.
      	* config/Makefile.am (dist_noinst_SCRIPTS): Move bison++...
      	(nodist_noinst_SCRIPTS): ...here (new variable).
      	* src/parse/Makefile.am (BISONXX, BISONXX_IN): New.
      	(BISONXX_IN): New rule.
      	(EXTRA_DIST): Add $(srcdir)/asm-parse.yy.
      	((srcdir)/bison++.stamp): Add $(srcdir)/asm-parse.yy as a
      	dependency and ensure bison++ is up-to-date.
      	(libparse_a_SOURCES): Remove asm-parse.yy.
      	Add asm-parse.cc.
  3. 16 Oct, 2005 1 commit
    • Benoit Perrot's avatar
      2005-10-16 Benoît Perrot <benoit@lrde.epita.fr> · 11416d95
      Benoit Perrot authored
      	Provide --system-library option.
      	* src/task/string_task.hh, src/task/string_task.cc:
      	* src/task/libtask.hh, src/task/Makefile.am:
      	Distribute them.
      	* src/vm-tasks.hh, src/vm-tasks.hh:
      	(select_system_library): Implement builtin system library
      	* NEWS: Update.
  4. 03 Oct, 2005 1 commit
  5. 01 Oct, 2005 1 commit
    • Benoit Perrot's avatar
      2005-10-01 Benoît Perrot <benoit@lrde.epita.fr> · 1fd5e72f
      Benoit Perrot authored
      	Introduce nolimips system library.
      	* src/vm/nolimips_system_library.hh,
      	* src/vm/nolimips_system_library.hxx,
      	* src/vm/nolimips_system_library.cc:
      	Provide a set of some libc functions as syscalls.
      	* src/vm/Makefile.am: Distribute these new files.
      	* src/vm-tasks.cc: Fix missing include.
  6. 28 Sep, 2005 1 commit
  7. 25 Sep, 2005 1 commit
    • Benoit Perrot's avatar
      2005-09-25 Benoît Perrot <benoit@lrde.epita.fr> · 4fbb0766
      Benoit Perrot authored
      	Reduce includes' dependencies.
      	* src/vm/cpu.hh, src/vm/cpu.cc
      	* src/vm/virtual_machine.hh, src/vm/virtual_machine.cc
      	* src/parse/asm-parse.yy.gen.py, src/parse/asm-scan.ll.gen.py,
      	* src/inst/register.hh,
      	* src/inst/op_exp.hh,
      	* src/inst/label_exp.hh,
      	* src/inst/exp.hh,
      	* src/inst/section.hh, src/inst/data_section.hh,
      	* src/inst/program.hh
      	* src/inst/nodes.gen.py
      	* src/inst/inst.hh
      	* src/inst/label.hh:
      	Remove unused includes, forward-declare classes.
  8. 24 Sep, 2005 1 commit
    • Benoit Perrot's avatar
      2005-09-24 Benoît Perrot <benoit@lrde.epita.fr> · 902282e4
      Benoit Perrot authored
      	Introduce system libraries.
      	* src/vm/cpu.hh, src/vm/cpu.cc:
      	Export mmu and cp0. Move syscalls' implementation to...
      	* src/vm/system_library.hh, src/vm/system_library.cc,
      	* src/vm/spim_system_library.hh, src/vm/spim_system_library.hxx,
      	* src/vm/spim_system_library.cc:
      	These new files.
      	* src/vm/cp0.hh: Export fatal_exception flag.
      	* src/vm/Makefile.am: Update accordingly.
      	* src/vm/virtual_machine.hh, src/vm/virtual_machine.cc:
      	Propagate system library to cpu.
      	* src/vm-tasks.cc: 
      	Give a default system library to virtual machine.
  9. 17 Sep, 2005 2 commits
  10. 03 Sep, 2005 2 commits
    • Benoit Perrot's avatar
      2005-09-03 Benoît Perrot <benoit@lrde.epita.fr> · c87d6b9a
      Benoit Perrot authored
      	Detect several definitions of the same label in a section.
      	* src/inst/section.hh (register_label):
      	Return false when label is already known in the section, true
      	otherwise. Move implementation to...
      	* src/inst/section.cc, src/inst/Makefile.am:
      	This new file.
      	* src/inst/data_section.hh, src/inst/data_section.cc,
      	* src/inst/text_section.hh, src/inst/text_section.cc (define_label):
      	Propagate status of register_label.
      	* src/inst/program_builder.hh.gen.py:
      	Generate an error when a label is defined more than once.
      	* tests/solve/data-label-already-defined.s,
      	* tests/solve/text-label-already-defined.s,
      	* tests/solve/Makefile.am:
      	Test it.
    • Benoit Perrot's avatar
      2005-09-03 Benoît Perrot <benoit@lrde.epita.fr> · cca2f866
      Benoit Perrot authored
      	* src/misc/unique_string.hh, src/misc/unique_string.cc: 
      	Introduce a constructor from a const char*. Factor string
      	insertion in pool.
      	Suggested by Akim Demaille: Use a set of strings instead of a set
      	of pointers as internal pool. Compose an iterator instead of a
      	* src/parse/asm-scan.ll.gen.py: 
      	Suggested by Akim Demaille: Don't be affraid to side-affect
  11. 01 Sep, 2005 2 commits
    • Benoit Perrot's avatar
      2005-09-01 Benoît Perrot <benoit@lrde.epita.fr> · 7e46b563
      Benoit Perrot authored
      	Shame on me.
      	* src/misc/unique_string.hh: Fix error: static member function cannot 
      	have const qualifier.
    • Benoit Perrot's avatar
      2005-09-01 Benoît Perrot <benoit@lrde.epita.fr> · 082b5c71
      Benoit Perrot authored
      	Simplify unique_string construction.
      	* src/misc/unique_string.hh, src/misc/unique_string.cc (create):
      	Remove. Move its implementation to unique_string's constructor,
      	hence make unique_string aggregate a pointer-to-string instead of a
      	* src/misc/test-unique_string.cc, src/vm/virtual_machine.cc, 
      	* src/shell/shell.cc, src/parse/asm-parse.yy.gen.py,
      	* src/parse/asm-scan.ll.gen.py, src/inst/label_exp.hh,
      	* src/inst/section.hh, src/inst/label.hh:
  12. 07 Aug, 2005 2 commits
  13. 31 Jul, 2005 2 commits
    • Benoit Perrot's avatar
      2005-07-31 Benoît Perrot <benoit@nostromo.lrde.epita.fr> · e7ae3852
      Benoit Perrot authored
      	Move generators to source directories.
      	* dev/parse-asm-parse-gen.py, dev/parse-asm-scan-gen.py,
      	* dev/inst-solver-gen.py, dev/inst-nodes-gen.py,
      	* dev/inst-builder-gen.py, dev/inst-nodes-mk-gen.py,
      	* dev/doc-inst-set-gen.py:
      	Move to...
      	* src/parse/asm-parse.yy.gen.py, src/parse/asm-scan.ll.gen.py,
      	* src/inst/program_solver.gen.py, src/inst/nodes.gen.py,
      	* src/inst/program_builder.hh.gen.py, src/inst/nodes.mk.gen.py,
      	* doc/inst-set.texi.gen.py:
      	These files (respectively).
      	* src/parse/Makefile.am, src/inst/Makefile.am, doc/Makefile.am,
      	* Makefile.am:
      	Update accordingly.
    • Benoit Perrot's avatar
      2005-07-31 Benoît Perrot <benoit@nostromo.lrde.epita.fr> · 50db7c36
      Benoit Perrot authored
      	* configure.ac: Bump to 0.8a
      	* NEWS: Fix release date.
  14. 11 Jul, 2005 1 commit
  15. 03 Jul, 2005 1 commit
  16. 21 Apr, 2005 1 commit
    • Benoit Perrot's avatar
      2005-04-21 Benoît Perrot <benoit@lrde.epita.fr> · 15962a44
      Benoit Perrot authored
      	* dec/parse-asm-scan-gen.py: Explicitely dispatch on signed
      	integer when reading one from a string, by checking its first
      	character (g++-3.4 considers converting "-1" into an "(unsigned&) i"
      	as an error, whereas g++-3.3 did not).
  17. 15 Apr, 2005 1 commit
  18. 02 Apr, 2005 3 commits
    • Benoit Perrot's avatar
      2005-04-02 Benoît Perrot <benoit@lrde.epita.fr> · dddbcfb9
      Benoit Perrot authored
      	Introduce `lockable' facility.
      	* src/misc/lockable.hh: New file.
      	* src/misc/Makefile.am: Distribute it.
      	* src/inst/text_label.hh, src/inst/exp.hh, src/inst/label.hh,
      	* src/inst/int_exp.hh, src/inst/int_exp.cc:
      	Use lockable.
      	* dev/inst-solver-gen.py: Update accordingly.
    • Benoit Perrot's avatar
      2005-04-02 Benoît Perrot <benoit@lrde.epita.fr> · 956e2a0e
      Benoit Perrot authored
      	Split `exp' files.
      	* src/inst/exp.hh, src/inst/exp.cc:
      	Split into...
      	* src/inst/label_exp.hh, src/inst/label_exp.cc,
      	* src/inst/op_exp.hh, src/inst/op_exp.cc,
      	* src/inst/int_exp.hh, src/inst/exp.hh:
      	These files.
      	* src/inst/Makefile.am:	Distribute them.
      	* src/vm/cpu.cc, dev/inst-builder-gen.py, dev/inst-solver-gen.py:
      	Update accordingly.
    • Benoit Perrot's avatar
      2005-04-02 Benoît Perrot <benoit@lrde.epita.fr> · 9c517382
      Benoit Perrot authored
      	Fix distcheck broken since 2005-03-08's patch.
      	* src/vm/Makefile.am: Do not distribute `table.hh' from here, but...
      	* src/misc/Makefile.am: From here.
  19. 17 Mar, 2005 1 commit
    • Benoit Perrot's avatar
      2005-03-17 Benoît Perrot <benoit@lrde.epita.fr> · 855cddf8
      Benoit Perrot authored
      	Introduce command identifier completion in shell.
      	* src/shell/shell.hh, src/shell-tasks.cc:
      	Make Shell a singleton.
      	* src/shell/shell.cc: Use readline's custom completers system 
      	to complete command identifiers.
  20. 08 Mar, 2005 3 commits
    • Benoit Perrot's avatar
      2005-03-08 Benoît Perrot <benoit@lrde.epita.fr> · 5298fb04
      Benoit Perrot authored
      	* src/vm/table.hh: Move to...
      	* src/misc/table.hh: This file.
      	* src/vm/cpu.hh: Update accordingly.
    • Benoit Perrot's avatar
      2005-03-08 Benoît Perrot <benoit@lrde.epita.fr> · d0a692ef
      Benoit Perrot authored
      	Prefer explicit function calls to constructor optional arguments
      	to set non-mandatory attributes (e.g. trace flags).
      	* src/vm/cpu.hh, src/vm/cpu.cc, src/vm/virtual_machine.hh,
      	* dev/inst-builder-gen.py (Cpu, VirtualMachine, ProgramBuilder): 
      	Remove uncomprehensible boolean arguments from constructor, add
      	corresponding switches.
      	* src/vm-tasks.cc, src/shell/shell.cc, src/parse/libparse.cc:
      	Update accordingly.
    • Benoit Perrot's avatar
      2005-03-08 Benoît Perrot <benoit@lrde.epita.fr> · 4f697717
      Benoit Perrot authored
      	Remove redundant accessors from virtual machine.
      	* src/vm/virtual_machine.hh (get_cpu_register, get_cpu_pc):
      	* src/shell/shell.hh: Use VirtualMachine::get_cpu() instead.
  21. 06 Mar, 2005 3 commits
    • Benoit Perrot's avatar
      2005-03-06 Benoît Perrot <benoit@lrde.epita.fr> · 2c970ea6
      Benoit Perrot authored
      	Display the number of executed R,I and J-type instructions on
      	* 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's avatar
      2005-03-06 Benoît Perrot <benoit@lrde.epita.fr> · c50f9289
      Benoit Perrot authored
      	Specify instruction format type to distinguish register, immediate
      	and jump instructions.
      	* src/inst/inst.hh: Add a format attribute.
      	* dev/nolimips.xml, dev/nolimips.py, dev/inst-nodes-gen.py: 
      	Fill it.
    • Benoit Perrot's avatar
      2005-03-06 Benoît Perrot <benoit@lrde.epita.fr> · 5bc23e86
      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.
  22. 15 Feb, 2005 1 commit
  23. 03 Feb, 2005 3 commits
    • Benoit Perrot's avatar
      2005-02-03 Benoît Perrot <benoit@lrde.epita.fr> · cf2790d6
      Benoit Perrot authored
      	* src/inst/data_section.hh, src/inst/data_section.cc,
      	* src/inst/text_section.hh, src/inst/text_section.cc:
      	Maintain a list of encountered (not sorted) labels. Use it to 
      	print the content of the sections.
      	* src/inst/section.hh: Remove deprecated attributes.
      	* src/inst/text_label.hh (get_iterator): Constify return value.
    • Benoit Perrot's avatar
      2005-02-03 Benoît Perrot <benoit@lrde.epita.fr> · 72081162
      Benoit Perrot authored
      	* src/inst/section.hh: Store the labels in a set. Use Labels to get 
      	the offset.
      	* src/inst/label.hh (deref_ptr_less): Declare and define a label 
      	pointer comparator.
    • Benoit Perrot's avatar
      2005-02-03 Benoît Perrot <benoit@lrde.epita.fr> · cbd0b70b
      Benoit Perrot authored
      	Store an iterator in TextLabels.
      	* src/inst/text_label.hh: Do it.
      	* src/inst/text_section.hh (define_label): Move its 
      	implementation into...
      	* src/inst/text_section.cc (define_label): This file, to solve 
      	inclusion cycle.
  24. 01 Feb, 2005 3 commits
    • Benoit Perrot's avatar
      2005-01-30 Benoît Perrot <benoit@lrde.epita.fr> · de204fcf
      Benoit Perrot authored
      	Prepare iterator in text_label storage.
      	* src/inst/text_section.hh: Maintain an iterator on the very last 
      	instruction slot.
    • Benoit Perrot's avatar
      2005-01-30 Benoît Perrot <benoit@lrde.epita.fr> · e467fceb
      Benoit Perrot authored
      	Store the instructions in a list to prepare future random insertions.
      	* src/inst/text_section.hh: Store the instructions in a list 
      	instead of a vector to ease random insertions.
      	* src/inst/text_section.cc (~TextSection, print): Use TextSection's 
      	typedefs and dedicated begin and end to iterate through the  
      	instruction container.
      	* dev/inst-solver-gen.py: Use operator!= instead of operator< to 
      	stop the iteration.
    • Benoit Perrot's avatar
      2005-01-29 Benoît Perrot <benoit@lrde.epita.fr> · 58ab9449
      Benoit Perrot authored
      	Make Label compose its associated offset.
      	* src/inst/label.hh: Protect default constructor. Compose its
      	associated offset. Add a constructor that waits for it.
      	* src/inst/section.hh (has_label, get_offset): Update accordingly.
      	(register_label): Wait for a Label only and use it to get its offset.
      	* src/inst/data_section.hh: Update accordingly.
      	* src/inst/text_label.hh: New.
      	* src/inst/Makefile.am: Update accordingly.
      	* src/inst/text_section.hh: Create TextLabels instead of Labels.
      	* src/inst/text_section.cc: Include inst.hh to gain access
      	to Inst's interface.
  25. 27 Jan, 2005 1 commit
    • Benoit Perrot's avatar
      Index: ChangeLog · 24ea94c9
      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.