ChangeLog 26.8 KB
Newer Older
Benoit Perrot's avatar
Benoit Perrot committed
1
2
3
4
5
6
7
8
9
10
2004-05-15  Benot Perrot  <benoit@lrde.epita.fr>

	* src/misc/counted_ptr.hh,
	* src/misc/Makefile.am:
	Add counted_ptr tool.
	* dev/inst-nodes-gen.py,
	* src/inst/exp.hh,
	* src/inst/program_builder.cc:
	Use counted pointers in expression trees.

Benoit Perrot's avatar
Benoit Perrot committed
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2004-05-08  Benot Perrot  <benoit@lrde.epita.fr>

	* NEWS,
	* dev/inst-builder-gen.py,
	* 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.cc, src/shell/shell.hh,
	* tests/good/Makefile.am, tests/good/check-good
	* tests/runtime/check-runtime,
	* tests/unlimited/Makefile.am, tests/unlimited/check-unlimited:
	Rename `--fill-delay-slots' to `--nop-after-branch', which is more
	accurate. Reserve `--fill-delay-slots' for optimal delay slots
	filling.
Benoit Perrot's avatar
Benoit Perrot committed
25
26
	* doc/mipsy.texi:
	Document it.
Benoit Perrot's avatar
Benoit Perrot committed
27

Benoit Perrot's avatar
Benoit Perrot committed
28
29
30
31
32
2004-05-08  Benot Perrot  <benoit@lrde.epita.fr>

	* tests/good/fact.s, tests/good/Makefile.am:
	Add new test.
	
Benoit Perrot's avatar
Benoit Perrot committed
33
34
35
36
37
38
39
40
41
42
43
44
45
46
2004-05-08  Benot 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.

Benoit Perrot's avatar
Benoit Perrot committed
47
48
49
50
51
2004-05-01  Benot Perrot  <benoit@lrde.epita.fr>

	* src/shell/shell.cc:
	Use std::cin when readline library cannot be used. Add history to
	readline.
Benoit Perrot's avatar
Benoit Perrot committed
52

Benoit Perrot's avatar
Benoit Perrot committed
53
54
55
56
57
58
2004-05-01  Benot Perrot  <benoit@lrde.epita.fr>

	* configure.ac, config/readline.m4,
	* src/Makefile.am, src/shell/Makefile.am:
	Improve readline detection and related information use.

Benoit Perrot's avatar
Benoit Perrot committed
59
2004-05-01  Benot Perrot  <benoit@lrde.epita.fr>
Benoit Perrot's avatar
Benoit Perrot committed
60

Benoit Perrot's avatar
Benoit Perrot committed
61
	* src/shell/cmd.hh,
Benoit Perrot's avatar
Benoit Perrot committed
62
	* src/shell/shell.hh, src/shell/shell.cc:
Benoit Perrot's avatar
Benoit Perrot committed
63
64
	Use std::string instead of char* or std::string*, avoiding 
	hazardous memory manipulations.
Benoit Perrot's avatar
Benoit Perrot committed
65

Benoit Perrot's avatar
Benoit Perrot committed
66
67
68
69
2004-04-25  Benot Perrot  <benoit@lrde.epita.fr>

	* src/shell/cmd.hh,
	* src/shell/shell.cc, src/shell/shell.hh:
Benoit Perrot's avatar
Benoit Perrot committed
70
71
	Use references for composed attributes, and pointers for aggregated
	attributes.
Benoit Perrot's avatar
Benoit Perrot committed
72

Benoit Perrot's avatar
Benoit Perrot committed
73
74
75
76
77
78
79
80
81
2004-04-25  Benot 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's avatar
Benoit Perrot committed
82
83
84
85
86
87
88
89
90
91
92
2004-04-25  Benot 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.

Benoit Perrot's avatar
Benoit Perrot committed
93
94
95
96
97
98
99
100
101
102
2004-04-24  Benot Perrot  <benoit@lrde.epita.fr>

	Enhance readline detection.

	* config/readline.m4:
	Provide AC_CHECK_READLINE.
	* configure.ac, src/Makefile.am:
	Use AC_CHECK_READLINE to check readline library presence and
	usability.

Benoit Perrot's avatar
Benoit Perrot committed
103
104
105
106
107
108
109
110
111
112
113
114
2004-04-24  Benot Perrot  <benoit@lrde.epita.fr>

	Restore distcheck with automake1.8
	
	* Makefile.am: Distribute inst-solver-gen.py.
	* dev/doc-inst-set-gen.py,
	* doc/mipsy.texi:
	Suggested by Akim Demaille: do not use commands in @node.
	The file texinfo.tex from automake1.8 does not handle it, leading to
	make dvi failure, leading to make distcheck failure. 
	* doc/Makefile.am: Do not distribute deprecated files anymore.

Benoit Perrot's avatar
Benoit Perrot committed
115
116
117
118
119
2004-04-24  Benot Perrot  <benoit@lrde.epita.fr>

	* AUTHORS: Add Jrmy Demeule as contributor.
	* NEWS: Update.

120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
2004-04-20  Jrmy Demeule  <demeul_j@epita.fr>

	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.

Benoit Perrot's avatar
Benoit Perrot committed
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
2004-04-05  Benot 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.

Benoit Perrot's avatar
Benoit Perrot committed
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
2004-04-05  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/inst-solver-gen.py,
	* dev/parse-asm-scan-gen.py,
	* src/inst/register.hh:
	Support generic register identifiers.
	* NEWS:
	Document it.
	* tests/lexical/unlimited-regs.s:
	Move to...
	* tests/solve/unlimited-regs.s:
	This file.
	* tests/lexical/Makefile.am,
	* tests/solve/Makefile.am:
	Update.

Benoit Perrot's avatar
Benoit Perrot committed
176
177
178
179
180
181
182
183
184
185
186
2004-04-05  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy.py:
	Add a C++ variable identifier writer.
	* dev/inst-solver-gen.py:
	Generate program solver (interface and implementation).
	* dev/inst-makefile-gen.py:
	Use the generator.
	* src/inst/program_solver.hh:
	Remove now generated file.

Benoit Perrot's avatar
Benoit Perrot committed
187
188
189
190
191
192
193
194
195
2004-04-03  Benot 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.

Benoit Perrot's avatar
Benoit Perrot committed
196
197
198
199
200
201
202
2004-04-03  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/inst-nodes-gen.py,
	* src/inst/exp.cc:
	Display the identifier of labels and registers instead of
	their address.

Benoit Perrot's avatar
Benoit Perrot committed
203
204
205
206
207
208
209
210
2004-03-28  Benot Perrot  <benoit@lrde.epita.fr>

	More documentation.

	* doc/copying.texi,
	* doc/internal.texi,
	* doc/invoking.texi,
	* doc/language.texi:
Benoit Perrot's avatar
Benoit Perrot committed
211
	Suggested by Akim Demaille: remove files, move their content to...
Benoit Perrot's avatar
Benoit Perrot committed
212
213
214
215
	* doc/mipsy.texi:
	... this file.
	Augment documentation on invocation.

Benoit Perrot's avatar
Benoit Perrot committed
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
2004-03-28  Benot 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_)

Benoit Perrot's avatar
Benoit Perrot committed
256
257
258
259
260
2004-03-21  Benot Perrot  <benoit@lrde.epita.fr>

	* INSTALL: New.
	* README, TODO: Update.

Benoit Perrot's avatar
Benoit Perrot committed
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
2004-03-18  Benot Perrot  <benoit@lrde.epita.fr>

	Inline definition of a virtual method is nonsense.

	* src/inst/exp.cc,
	* src/inst/data_section.cc,
	* src/inst/text_section.cc:
	New.
	* dev/inst-makefile-gen.py,
	* src/task/task.hh, src/task/task.cc
	* src/inst/exp.hh, 
	* src/inst/data_section.hh,
	* src/inst/text_section.hh:
	Move definitions of virtual methods in corresponding implementation
	file.
	
Benoit Perrot's avatar
Benoit Perrot committed
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
2004-02-29  Benot 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.

Benoit Perrot's avatar
Benoit Perrot committed
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
2004-02-24  Benot 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.
	
Benoit Perrot's avatar
Benoit Perrot committed
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
2004-02-23  Benot 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.

Benoit Perrot's avatar
Benoit Perrot committed
361
362
363
364
365
366
367
368
369
370
371
372
2004-01-15  Benot 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/parse-asm-parse-gen.py,
	* dev/parse-asm-scan-gen.py,
	* src/parse/Makefile.am,
	* bootstrap:
	Use lazy overwrite to limit file building.

Benoit Perrot's avatar
Benoit Perrot committed
373
374
375
376
377
378
379
380
381
382
383
2004-01-15  Benot Perrot  <benoit@lrde.epita.fr>
	
	* dev/mipsy.xml: Describe each instruction.
	* dev/doc-inst-set-gen.py: New file.
	* Makefile.am: Distribute it.
	* doc/Makefile.am,
	* doc/language.texi,
	* doc/mipsy.texi:
	Use doc-inst-set-gen.py and updated mipsy.xml to generate
	instruction set documentation.
	
Benoit Perrot's avatar
Benoit Perrot committed
384
385
386
387
388
389
390
391
392
393
394
395
2004-01-13  Benot Perrot  <benoit@lrde.epita.fr>

	* doc/fdl.texi,
	* doc/mipsy.texi,
	* doc/copying.texi,
	* doc/internal.texi,
	* doc/invoking.texi,
	* doc/language.texi,
	* doc/macros.texi:
	Organize texi files.
	* doc/Makefile.am: Distribute new files.

Benoit Perrot's avatar
Benoit Perrot committed
396
397
398
399
400
401
402
403
404
2004-01-12  Benot Perrot  <benoit@lrde.epita.fr>

	* configure.ac, NEWS: 
	Release 0.5, bump to 0.6.
	* tests/good/Makefile.am,
	* tests/unlimited/Makefile.am,
	* tests/unlimited/check-unlimited:
	Test mipsy forcing NOPs after native branches.	

Benoit Perrot's avatar
Benoit Perrot committed
405
406
407
408
409
410
411
2004-01-12  Benot 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.

Benoit Perrot's avatar
Benoit Perrot committed
412
413
414
415
416
417
418
2004-01-12  Benot 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
	of complex instructions.

Benoit Perrot's avatar
Benoit Perrot committed
419
420
421
422
423
424
425
426
2004-01-12  Benot 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.

Benoit Perrot's avatar
Benoit Perrot committed
427
428
429
430
431
432
433
434
2004-01-12  Benot 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.

Benoit Perrot's avatar
Benoit Perrot committed
435
436
437
438
439
440
441
442
2004-01-10  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/inst-nodes-gen.py: Generate interface of classes in
	.hh files, inline methods in .hxx files, implementation in .cc.
	* dev/inst-makefile-gen.py:
	Distribute .hh, .hxx, .cc files of each class.
	Use a stamp file to avoid useness launching of generators.

Benoit Perrot's avatar
Benoit Perrot committed
443
444
445
446
447
2004-01-10  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy.xml, dev/parse-asm-parse-gen.py:
	Use human readable identifiers to locate tokens.
	
Benoit Perrot's avatar
Benoit Perrot committed
448
449
450
451
452
453
454
455
456
457
2004-01-10  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy.xml: Use a better DTD.
	* dev/mipsy.py: Use new DTD.
	* dev/inst-builder-gen.py,
	* dev/inst-nodes-gen.py,
	* dev/parse-asm-parse-gen.py,
	* dev/parse-asm-scan-gen.py:
	Use new mipsy.py package.	

Benoit Perrot's avatar
Benoit Perrot committed
458
459
460
461
462
463
2004-01-08  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/parse-asm-scan.py: Simplify scanner register generation.
	* dev/mipsy.py: Remove useless accessors. Use a '__str__' method 
	instead of 'display'.

Benoit Perrot's avatar
Benoit Perrot committed
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
2004-01-08  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy-parser-gen.py: Move to...
	* dev/parse-asm-parse-gen.py: ... this file.	
	* dev/mipsy-scanner-gen.py: Move to...
	* dev/parse-asm-scan-gen.py: ... this file.
	* src/parse/Makefile.am: Use new files' names.

	* dev/mipsy-builder-gen.py: Move to...
	* dev/inst-builder-gen.py: ... this file.
	* dev/mipsy-inst-gen.py: Move to...
	* dev/inst-nodes-gen.py: ... this file.
	* dev/mipsy-mk-inst-gen.py: Move to...
	* dev/inst-makefile-gen.py: ... this file. Use new files' names.
	* bootstrap, Makefile.am: Use new files' names.

Benoit Perrot's avatar
Benoit Perrot committed
480
481
482
483
484
485
486
2004-01-06  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy.py: Add lazy_overwrite and comments.
	* dev/mipsy-builder-gen.py, dev/mipsy-mk-inst-gen.py,
	* dev/mipsy-parser-gen.py, dev/mipsy-scanner-gen.py:
	Limit function importations.

Benoit Perrot's avatar
Benoit Perrot committed
487
488
489
490
491
2003-10-11  Benot 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's avatar
Benoit Perrot committed
492
493
494
495
496
2003-10-11  Benot Perrot  <benoit@lrde.epita.fr>

	* src/vm/cpu.hh, src/vm/cpu.cc: Uniformize register accessors, 
	removing deprecated ones.

Benoit Perrot's avatar
Benoit Perrot committed
497
498
499
500
2003-09-08  Benot Perrot  <benoit@lrde.epita.fr>

	* src/vm/memory.hh: Increase default stack size to 512 Ko.

Benoit Perrot's avatar
Benoit Perrot committed
501
502
503
504
2003-09-04  Benot Perrot  <benoit@lrde.epita.fr>

	* Makefile.am: Do not distribute license.hh.

505
506
507
508
509
510
511
512
513
514
515
516
2003-08-21  Benot Perrot  <benoit@lrde.epita.fr>

	Make the Cpu responsible of the execution of instructions ; 
	the VirtualMachine must be seen as a motherboard that could 
	support more than one Cpu.
	
	* src/vm/virtual_machine.cc: Move to...
	* src/vm/cpu.cc: here.
	* src/vm/Makefile.am: Propagate it.
	* src/vm/virtual_machine.hh: Move execution interface to...
	* src/vm/cpu.hh: here.

517
518
519
520
521
2003-08-20  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy.xml: Add mul with immediate pseudo-instruction.
	* src/inst/program_builder.cc: Expand it.

Benoit Perrot's avatar
Benoit Perrot committed
522
523
524
525
526
2003-08-19  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy-scanner-gen.py: Accept a quoted character as an integer 
	value.

Benoit Perrot's avatar
Benoit Perrot committed
527
528
529
530
531
532
2003-08-14  Benot Perrot  <benoit@lrde.epita.fr>

	* configure.ac, NEWS: 
	Release 0.4, bump to 0.5.
	* Makefile.am: Distribute bootstrap.	

533
534
2003-08-13  Benot Perrot  <benoit@lrde.epita.fr>

Benoit Perrot's avatar
Benoit Perrot committed
535
536
537
538
539
540
541
542
543
544
	* tests/good/check-good,
	* tests/lexical/check-lexical,
	* tests/runtime/check-runtime,
	* tests/solve/check-solve,
	* tests/syntax/check-syntax,
	* tests/unlimited/check-unlimited:
	Distribute sub scripts.
		
2003-08-13  Benot Perrot  <benoit@lrde.epita.fr>	

545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
	* src/vm/virtual_machine.cc (syscall): Look for $a0 as argument of 
	exit syscall.
	* tests/good/add-sub.s,
	* tests/good/and-or-nor-xor.s,
	* tests/good/exit.s,
	* tests/good/extended-euclide.s,
	* tests/good/gtcd.s,
	* tests/good/modular-exponent.s,
	* tests/good/neg.s,
	* tests/good/not.s,
	* tests/good/print.s,
	* tests/good/print_int.s,
	* tests/good/read_int.s,
	* tests/good/seq-sne.s,
	* tests/good/shift.s,
	* tests/runtime/neg.s,
	* tests/runtime/no-main.s,
	* tests/solve/undefined-labels.s,
	* tests/syntax/asciiz-wrong-param.s,
	* tests/syntax/too-many-operands.s,
	* tests/unlimited/simple-exp.s:
	Use exit(0).
	
Benoit Perrot's avatar
Benoit Perrot committed
568
569
570
571
2003-08-11  Benot Perrot  <benoit@lrde.epita.fr>

	* tests/Makefile.am: Distribute tests machinery.

Benoit Perrot's avatar
Benoit Perrot committed
572
	* tests/common.mk: Distribute variables and rules used by
Benoit Perrot's avatar
Benoit Perrot committed
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
	the test suite.
	* tests/generate-ref.mk: Distribute reference output files generators.
	* tests/mipsy-check: Distribute main test script.

	* tests/lexical/invalid-string-hexa.s,
	* tests/lexical/invalid-string-octal.s,
	* tests/lexical/unlimited-regs.s,
	* tests/lexical/unrecognized-escape.s,
	* tests/lexical/unterminated-string.s,
	* tests/lexical/Makefile.am:
	Distribute tests that fail at scan level.

	* tests/syntax/too-many-operands.s,
	* tests/syntax/asciiz-wrong-param.s,
	* tests/syntax/Makefile.am:
	Distribute tests that fail at parse level.

	* tests/solve/undefined-labels.s,
	* tests/solve/Makefile.am:
	Distribute tests that fail at solve-time.
Benoit Perrot's avatar
Benoit Perrot committed
593

Benoit Perrot's avatar
Benoit Perrot committed
594
595
596
597
	* tests/runtime/abs.s,
	* tests/runtime/neg.s,
	* tests/runtime/no-main.s,
	* tests/runtime/Makefile.am:
Benoit Perrot's avatar
Benoit Perrot committed
598
	Distribute tests that fail at run-time.
Benoit Perrot's avatar
Benoit Perrot committed
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618

	* tests/unlimited/simple-exp.s,
	* tests/unlimited/Makefile.am:
	Distribute tests that use unlimited registers.

	* tests/good/add-sub.s,
	* tests/good/and-or-nor-xor.s,
	* tests/good/exit.s,
	* tests/good/extended-euclide.s,
	* tests/good/gtcd.s,
	* tests/good/modular-exponent.s,
	* tests/good/neg.s,
	* tests/good/not.s,
	* tests/good/print.s,
	* tests/good/print_int.s,
	* tests/good/read_int.s, tests/good/read_int.in,
	* tests/good/seq-sne.s,
	* tests/good/shift.s,
	* tests/good/Makefile.am:
	Distribute tests that execute normally.
Benoit Perrot's avatar
Benoit Perrot committed
619

Benoit Perrot's avatar
Benoit Perrot committed
620
621
622
	* configure.ac, Makefile.am:
	Distribute tests suite.

Benoit Perrot's avatar
Benoit Perrot committed
623
624
625
626
627
2003-07-29  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy.xml, src/inst/program_builder.cc:
	Normalize move to addu.

628
629
630
631
632
633
634
635
2003-07-29  Benot Perrot  <benoit@lrde.epita.fr>

	* 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.

Benoit Perrot's avatar
Benoit Perrot committed
636
637
638
639
640
2003-07-29  Benot Perrot  <benoit@lrde.epita.fr>

	* configure.ac:
	Bump to 0.4.

Benoit Perrot's avatar
Benoit Perrot committed
641
642
643
644
645
2003-07-29  Benot Perrot  <benoit@lrde.epita.fr>

	* src/task/task_register.cc:
	Fix usage display.

Benoit Perrot's avatar
Benoit Perrot committed
646
647
648
649
2003-07-29  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy.xml, dev/mips.py:
	Specify instruction kind.
Benoit Perrot's avatar
Benoit Perrot committed
650

651
652
653
654
655
656
657
2003-07-29  Benot Perrot  <benoit@lrde.epita.fr>

	* 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.

658
659
2003-07-29  Benot Perrot  <benoit@lrde.epita.fr>

Benoit Perrot's avatar
Benoit Perrot committed
660
	* src/task/task_register.hh (parse_args): Do not search beyond
661
662
	map's end.

Benoit Perrot's avatar
Benoit Perrot committed
663
664
665
666
2003-07-28  Benot Perrot  <benoit@lrde.epita.fr>

	* NEWS: Describe main version changes.

Benoit Perrot's avatar
Benoit Perrot committed
667
668
669
670
671
672
2003-07-27  Benot Perrot  <benoit@lrde.epita.fr>

	* 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.

673
674
675
676
2003-07-26  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy-mk-inst-gen.py: Distribute section.hh.

Benoit Perrot's avatar
Benoit Perrot committed
677
678
679
680
681
682
2003-07-20  Benot Perrot  <benoit@lrde.epita.fr>

	* 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.
Benoit Perrot's avatar
Benoit Perrot committed
683

Benoit Perrot's avatar
Benoit Perrot committed
684
685
	* TODO: Update.

686
687
688
689
2003-07-18  Benot Perrot  <benoit@lrde.epita.fr>

	* src/inst/register.hh, src/vm/cpu.hh:
	Move general register indices from Register.hh into Cpu.
Benoit Perrot's avatar
Benoit Perrot committed
690
	* src/inst/program_builder.cc,
691
	* dev/mipsy.xml, dev/mipsy-parser-gen.py, dev/mipsy-scanner-gen.py:
Benoit Perrot's avatar
Benoit Perrot committed
692
	Adjust.
693

694
695
696
697
2003-07-18  Benot Perrot  <benoit@lrde.epita.fr>

	* src/vm/cpu.hh: Add a checker for unlimited register existence.

Benoit Perrot's avatar
Benoit Perrot committed
698
699
700
701
2003-07-17  Benot Perrot  <benoit@lrde.epita.fr>

	* src/vm/memory.hh: stack_size is an argument of Memory constructor.

702
703
2003-07-17  Benot Perrot  <benoit@lrde.epita.fr>

Benoit Perrot's avatar
Benoit Perrot committed
704
	* src/vm/virtual_machine.hh: (step) Return a boolean that
705
706
	indicates the end of the execution.

707
708
709
710
2003-07-17  Benot Perrot  <benoit@lrde.epita.fr>

	* src/vm/memory.hh: Add accessors for heap and stack sizes.

711
712
2003-07-17  Benot Perrot  <benoit@lrde.epita.fr>

713
714
715
716
717
	* 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  Benot Perrot  <benoit@lrde.epita.fr>
Benoit Perrot's avatar
Benoit Perrot committed
718

719
720
	* src/inst/section.hh: Add a const accessor to Section's labels.

Benoit Perrot's avatar
Benoit Perrot committed
721
722
2003-07-12  Benot Perrot  <benoit@lrde.epita.fr>

Benoit Perrot's avatar
Benoit Perrot committed
723
	* src/inst/section.hh,
Benoit Perrot's avatar
Benoit Perrot committed
724
	* src/inst/data_section.hh, src/inst/text_section.hh:
725
	Factor Section code.
Benoit Perrot's avatar
Benoit Perrot committed
726

727
728
2003-07-11  Benot Perrot  <benoit@lrde.epita.fr>

Benoit Perrot's avatar
Benoit Perrot committed
729
	* config/depcomp, config/install-sh, config/missing,
730
731
	* config/mkinstalldirs:
	Remove auto-generated files.
732

Benoit Perrot's avatar
Benoit Perrot committed
733
734
735
736
737
2003-07-11  Benot Perrot  <benoit@lrde.epita.fr>

	* configure.ac:
	Bump to 0.3.

738
739
740
741
742
2003-07-11  Benot Perrot  <benoit@lrde.epita.fr>

	* src/vm/virtual_machine.cc:
	Set exit_status to exit_runtime when an exception occurs.

743
744
745
746
747
748
749
2003-07-11  Benot Perrot  <benoit@lrde.epita.fr>

	* 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.

750
751
2003-07-11  Benot Perrot  <benoit@lrde.epita.fr>

Benoit Perrot's avatar
Benoit Perrot committed
752
	* dev/mipsy-scanner-gen.py,
753
754
755
756
757
	* src/inst/register.hh, src/vm/cpu.hh:
	Use a register vector for general purpose registers.
	* src/vm/virtual_machine.cc:
	Adjust.

758
759
760
761
762
2003-07-10  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy.xml, src/inst/program_solver.hh, src/vm/virtual_machine.hh:
	Normalize nop to sll zero, zero, 0.

763
764
765
766
767
2003-07-07  Benot Perrot  <benoit@lrde.epita.fr>

	* bootstrap, dev/mipsy-mk-inst-gen.py:
	Generate src/inst/Makefile.am at bootstrap.

768
769
770
771
2003-07-07  Benot Perrot  <benoit@lrde.epita.fr>

	* src/task/task.hh: Remove useless ";" at end of macro definitions.

772
773
774
775
776
777
778
779
780
2003-07-07  Benot Perrot  <benoit@lrde.epita.fr>

	* 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.

Benoit Perrot's avatar
Benoit Perrot committed
781
782
783
2003-07-06  Benot Perrot  <benoit@lrde.epita.fr>

	* src/vm/virtual_machine.cc:
Benoit Perrot's avatar
Benoit Perrot committed
784
	read_string stops after an OEF or a newline; if a newline is read,
Benoit Perrot's avatar
Benoit Perrot committed
785
786
	it is stored into the buffer.

787
788
2003-07-05  Benot Perrot  <benoit@lrde.epita.fr>

Benoit Perrot's avatar
Benoit Perrot committed
789
	* dev/mipsy.xml,
790
791
792
793
794
795
	* 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.

796
797
798
799
800
801
2003-06-29  Benot Perrot  <benoit@lrde.epita.fr>

	* 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.
Benoit Perrot's avatar
Benoit Perrot committed
802

803
804
805
806
807
808
809
2003-06-29  Benot Perrot  <benoit@lrde.epita.fr>

	* 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,
Benoit Perrot's avatar
Benoit Perrot committed
810
	* src/vm/virtual_machine.cc,
811
	Adjust.
Benoit Perrot's avatar
Benoit Perrot committed
812

Benoit Perrot's avatar
Benoit Perrot committed
813
2003-06-29  Benot Perrot  <benoit@lrde.epita.fr>
Benoit Perrot's avatar
Benoit Perrot committed
814

Benoit Perrot's avatar
Benoit Perrot committed
815
	* doc/mipsy.texi: Add some comments on internal.
Benoit Perrot's avatar
Benoit Perrot committed
816

Benoit Perrot's avatar
Benoit Perrot committed
817
818
2003-06-29  Benot Perrot  <benoit@lrde.epita.fr>

Benoit Perrot's avatar
Benoit Perrot committed
819
	* src/vm/virtual_machine.hh: Display a dedicated error message
Benoit Perrot's avatar
Benoit Perrot committed
820
821
	when the main label can not be found.

Benoit Perrot's avatar
Benoit Perrot committed
822
823
824
825
826
827
828
2003-06-29  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy.xml, dev/mipsy.py:
	Allow level of instruction override in syntax.
	Rename "neg" as "negu".
	* dev/mipsy-builder-gen.py:
	Adjust.
Benoit Perrot's avatar
Benoit Perrot committed
829

Benoit Perrot's avatar
Benoit Perrot committed
830
831
832
833
	* src/inst/program_builder.cc:
	Support more syntaxes on branch instructions, support neg.
	* src/vm/virtual_machine.cc:
	Adjust overflow detection.
Benoit Perrot's avatar
Benoit Perrot committed
834

Benoit Perrot's avatar
Benoit Perrot committed
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
2003-06-29  Benot Perrot  <benoit@lrde.epita.fr>

	* 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.
Benoit Perrot's avatar
Benoit Perrot committed
863

Benoit Perrot's avatar
Benoit Perrot committed
864
865
866
867
868
869
2003-06-29  Benot Perrot  <benoit@lrde.epita.fr>

	* doc/mipsy.texi, doc/fdl.texi, doc/Makefile.am,
	* configure.ac:
	Begin documentation effort.

Benoit Perrot's avatar
Benoit Perrot committed
870
871
872
873
874
2003-06-29  Benot Perrot  <benoit@lrde.epita.fr>

	* Makefile.am, src/Makefile.am, src/misc/Makefile.am,
	* src/parse/Makefile.am, src/task/Makefile.am, src/vm/Makefile.am:
	Support automatic generation.
Benoit Perrot's avatar
Benoit Perrot committed
875

Benoit Perrot's avatar
Benoit Perrot committed
876
877
	* README:
	Document it.
Benoit Perrot's avatar
Benoit Perrot committed
878

879
880
881
882
2003-06-29  Benot Perrot  <benoit@lrde.epita.fr>

	* vm/table.hh, cpu.hh:
	Allow unlimited registers.
Benoit Perrot's avatar
Benoit Perrot committed
883

884
885
	* vm/memory.hh: New.
	* vm/segment.hh: New.
Benoit Perrot's avatar
Benoit Perrot committed
886

887
888
889
890
891
892
893
894
	* vm/virtual_machine.{hh, cc}: Implement instructions.

2003-06-29  Benot Perrot  <benoit@lrde.epita.fr>

	* dev/mipsy-builder-gen.py:
	Use MIPS instruction set to generate ProgramBuilder.
	* src/inst/program_builder.cc:
	Implement complex opcodes expansion.
Benoit Perrot's avatar
Benoit Perrot committed
895

896
897
898
899
900
901
902
903
904
905
	* dev/mipsy-parser-gen.py:
	Use ProgramBuilder.

2003-06-28  Benot Perrot  <benoit@lrde.epita.fr>

	* src/inst/{data, text}_section.hh: New.
	* src/inst/program.hh: New.

	* src/inst/visitor.hh: New.
	* src/inst/program_solver.hh: New.
Benoit Perrot's avatar
Benoit Perrot committed
906

907
908
909
910
911
912
913
2003-06-28  Benot Perrot  <benoit@lrde.epita.fr>

	* src/inst/inst.hh: New.
	* dev/mipsy-inst-gen.py:
	Use MIPS instruction set to generate Inst class declarations.

2003-06-28  Benot Perrot  <benoit@lrde.epita.fr>
Benoit Perrot's avatar
Benoit Perrot committed
914

915
916
917
918
919
920
921
922
923
924
	* 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  Benot Perrot  <benoit@lrde.epita.fr>
Benoit Perrot's avatar
Benoit Perrot committed
925

926
927
928
929
930
931
	* 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.
Benoit Perrot's avatar
Benoit Perrot committed
932

933
2003-06-27  Benot Perrot  <benoit@lrde.epita.fr>
Benoit Perrot's avatar
Benoit Perrot committed
934

935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
	* 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  Benot Perrot  <benoit@lrde.epita.fr>

	* ./, ./dev/, ./src/, ./src/parse/:
	Create development tree.
	* ./config/, configure.ac, Makefile.am:
	Use autotools.
	* src/mipsy.cc: Add dummy driver.