1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
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
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
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
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
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
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
|
2008-06-03 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: using debug_msg macro everywhere instead of debugmsg.
* warm-basilys-0.c: regenerated.
* melt-cc-script.proto: do not compile anymore the *-n.so without line numbering.
2008-06-03 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: added debug_msg macro, and error
messages for unresolved forward references.
2008-06-03 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: removed some debugmsg.
* warm-basilys-0.c: regenerated.
2008-06-03 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: added MELTBASILYSCC1 variable & warm-basilys-4.c target
* melt/warm-basilys.bysl: added handling of cppif
* melt/test0.bysl: added test of cppif
2008-06-02 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.c: (mulsort_cmp) removed debugprintf...s
(skipspace_getc) added comment handling argument.
(readsimplelong) removed many +% magic escapes.
(makesexpr, readstring) correct handling of spaces.
(basilys_output_cfile_decl_impl) avoid appending .c to a unitname
already ending by it.
* warm-basilys-0.c: regenerated.
* melt/warm-basilys.bysl: added handling of comment.
added copyright comment in generated file.
added (void*) to many primitives to avoid warnings.
(compile_list_sexpr) handle specially toplevel (comment)s.
* Makefile.in: better upgrade-warm-basilys target. the
warm-basilys-?.c (in build dir) are removed before regeneration.
2008-06-02 Basile Starynkevitch <basile@starynkevitch.net>
MELT bootstrapped, ie the generated warm-basilys-0.c is selfgenerated from warm-basilys.bysl & viceversa.
* warm-basilys-0.c: new file, bootstrapped from melt/warm-basilys.bysl
* Makefile.in: removed all the crap with cold-basilys.lisp and added warm-basilys-[0123] handling
added new phony target upgrade-warm-basilys
2008-06-02 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r136272
2008-06-02 Basile Starynkevitch <basile@starynkevitch.net>
[bootstrapped: warm-basilys-2,3,4,5 are same, but strangely warm-basilys-1&2 differ]
* melt/warm-basilys.bysl: (normexp_ifelse) does not
set the type to void when only one of then or else is void!
* Makefile.in: continue when diff of warmbasilys is nonempty
2008-06-02 Basile Starynkevitch <basile@starynkevitch.net>
[metabuggy: test0c & test0w differ]
* melt/warm-basilys.bysl: added several return-s.
2008-06-01 Basile Starynkevitch <basile@starynkevitch.net>
[still metabuggy warmbasilys1 fails on test0]
* melt/warm-basilys.bysl: added several (void) to avoid conditional type mismatch.
(replace_last_by_return) more robust because of added (void) calls.
2008-05-29 Basile Starynkevitch <basile@starynkevitch.net>
[still metabuggy; warm-basilys-1 fails on test0]
* melt/warm-basilys.bysl: added more explicit return & some more debugmsg.
2008-05-29 Basile Starynkevitch <basile@starynkevitch.net>
[still metabuggy; warm-basilys-1 miscompile test0 -its testandsetq function]
* melt/warm-basilys.bysl: added putobjdest catchall for anydiscr,
and putobjdest methhods for null and discr_integer.
2008-05-28 Basile Starynkevitch <basile@starynkevitch.net>
[still metabuggy; the function pairlist_to_multiple is incorrectly
compiled in warm-basilys-1.c by coldbuild-warm-basilys.c]
* melt/warm-basilys.bysl: added debugmsg
2008-05-28 Basile Starynkevitch <basile@starynkevitch.net>
[still metabuggy]
* basilys.h: added better location flocs in BASILYS_INITFRAME_AT
by doing a snprintf.
* melt/warm-basilys.bysl: more debug messages...
* melt/testrun1.bysl: added nested test...
2008-05-28 Basile Starynkevitch <basile@starynkevitch.net>
[still metabuggy; debug output is now sorted]
* basilys.c: (mulsort_cmp, basilysgc_sort_multiple) added debugeprintf...
* basilys.h: (basilys_string_less) new function.
* melt/warm-basilys.bysl: dbgout for mapstring & mapobjects are
giving sorted output [which is more canonical and should be easier
to compare with other runs]
2008-05-28 Basile Starynkevitch <basile@starynkevitch.net>
[still a metabug; adding sort of multiple to ease debug messages]
* basilys.h: (basilysgc_sort_multiple) new function declared.
(basilys_multiple_put_nth) corrected test on magic of discr.
* basilys.c: (basilysgc_sort_multiple) added.
* melt/warm-basilys.bysl: mexpand_if seems badly compiled by
warm-basilys.bysl when xthen not debugmsg-ed.
(multiple_sort) new primitive.
2008-05-27 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r136046
2008-05-27 Basile Starynkevitch <basile@starynkevitch.net>
[**** before putting the generated warm-basilys.c into SVN ***
the bootstrap is buggy. warm-basilys-1 probably fails to compile
the testandsetq function of test0.bysl
perhaps a meta-bug related to if or and...]
* Makefile.in: all indent-ations removed. the test0c.c & test0w.c
file should be identical (but are not yet!).
* run-basilys.h: added declaration of basilys_compiled_timestamp &
basilys_md5 which are generated by *melt-cc-script
* melt/warm-basilys.bysl: added class_src_ifelse and its
normalization. Avoid using (return) or (return ()) -
prefer (return (the_null)) which is better handled by
cold-basilys.lisp.
* melt/test0.bysl: (testandsetq) enhanced.
* melt/testrun1.bysl: added tests on lists.
2008-05-27 Basile Starynkevitch <basile@starynkevitch.net>
[**** before putting the generated warm-basilys.c into SVN ***]
* melt/warm-basilys.bysl: reverted changes, back to rev.135845
* Makefile.in: reverted changes, back to rev.135845
* basilys.c: (basilys_dbgbacktrace, basilys_dbgshortbacktrace)
show the flocs field of frame [runtime line information].
* basilys.h: removed unused struct framloc_basilys_st.
2008-05-26 Basile Starynkevitch <basile@starynkevitch.net>
[**** before putting the generated warm-basilys.c into SVN - DID NOT basilysbootstrap ***]
* melt/warm-basilys.bysl: compileseq command renamed as compilefile
* Makefile.in: using compilefile command before putting the generated warm-basilys.c
2008-05-24 Basile Starynkevitch <basile@starynkevitch.net>
[**** warm-basilys bootstrapped successfully: warm-basilys-2 &
warm-basilys-3 are identical!!! ****]
* melt/warm-basilys.bysl: (scan_defclass) replaced and by if,
because probably cold-basilys.lisp mishandle it...
* Makefile.in: added generation of warm-basilys-3
2008-05-23 Basile Starynkevitch <basile@starynkevitch.net>
[warm-basilys-1 works for test0, test1, not testrun1]
* melt/warm-basilys.bysl: (normexp_return) forgot to put the normalized return expr in its bindings.
* melt/warm-basilys.bysl: every instance of class_nrep_locsymocc should have its :nocc_bind set
2008-05-23 Basile Starynkevitch <basile@starynkevitch.net>
[warm-basilys-1 still buggy for test0]
* melt/warm-basilys.bysl: every instance of class_nrep_locsymocc should have its :nocc_bind set
2008-05-23 Basile Starynkevitch <basile@starynkevitch.net>
MERGED with trunk rev135793
2008-05-23 Basile Starynkevitch <basile@starynkevitch.net>
[the skipped unsafe_put_fields bug was because
normexp_unsafe_put_fields should, like every other side-effecting
expression, returns a simple local occurrence of ctype_void;;
warm-basilys-1 still buggy for test0!]
* melt/warm-basilys.bysl: (add2sbuf_indent) lowered column threshold.
(dbgout_fields) less wide output.
(dbgout_anybinding_method) nicer output.
(normal_exp) selector - better comment.
(normexp_return) always return a locsymocc.
(normexp_unsafe_get_field) returns a locsymocc.
(outpucod_objlocv) shorter comments in generated code.
(compilobj_nrep_forever) added useless *99bis stuff & extra asserts.
* melt/test0.bysl: added more tests.
* melt/README-MELT: added explanation about bug.
* melt-cc-script.proto: minor typos & outputs.
2008-05-22 Basile Starynkevitch <basile@starynkevitch.net>
[some unsafe_put_fields but not all are skipped .. we have to find
a pattern for them to find the bug]
* basilys.h: (basilys_dbgtracefile) new variable.
(basilys_trace_start, basilys_trace_end) new macros [useful only
when ENABLE_CHECKING]
* basilys.c: (basilys_initialize) deal with basilys_dbgtracefile
using BASILYSTRACE environment variable [ugly!]
* melt/warm-basilys.bysl: generate calls to basilys_trace_start,
basilys_trace_end./ Closures are better dbgout-ed.
* melt/test0.bysl: added more unsafe_put_fields tests.
* melt-cc-script.proto: more verbose [using ls]
2008-05-21 Basile Starynkevitch <basile@starynkevitch.net>
[perhaps a metabug: the (unsafe_put_fields nbind :labind_res
oresv) in compilobj_nrep_forever is not compiled in warm-basilys-1
which fails on compiling test0; some OR are perhaps badly
cold-compiled!]
* melt/warm-basilys.bysl: (mexpand_defun) uses a COND not an OR to
parse formal arguments.
(scan_defclass) uses COND not OR; also better error messages.
(normexp_definstance) likewise.
(compilobj_nrep_forever) added debugmsg....
2008-05-21 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy, but less for OR]
* melt/warm-basilys.bysl: (normexp_or) works correctly [at least for simple cases].
corrected various OR occurrences [detected by warm-basilys-1!]
2008-05-21 Basile Starynkevitch <basile@starynkevitch.net>
merged with trunk rev135714
* basilys.h: explicit [re-]declaration of fatal_error.
2008-05-21 Basile Starynkevitch <basile@starynkevitch.net>
[handling of OR might be incorrect in cold and improved in warm]
* melt/warm-basilys.bysl: (normexp_or) rewritten.
[many occurrences of OR replaced by IF because contrib/cold-basilys.lisp might be wrong]
2008-05-20 Basile Starynkevitch <basile@starynkevitch.net>
[added pregetting & interning of symbols & keywords - still buggy warmbasilys2]
* basilys.h: (basilys_is_string_const) new function.
* melt/warm-basilys.bysl: (macroexpand_1) check for not DEFUN when unbound.
(output_code_getsymkw, output_code_internsymkw) new functions called in ...
(outpucod_initialroutine) added pregetting & interning of symbols & keywords...
2008-05-20 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy warmbasilys2]
* melt/warm-basilys.bysl: (normexp_keyword) handling correctly
keyword at toplevel. This affects initialization of our ctype_value
etc...
2008-05-20 Basile Starynkevitch <basile@starynkevitch.net>
[****important issue about GGC & basilys full collection when
creating new GGC data e.g. tree-s***]
* basilys.h: added an important TODO comment for explanation.
2008-05-20 Basile Starynkevitch <basile@starynkevitch.net>
[cond was buggy because of progn; testrun1 running ok; warmbasilys2 still bad]
* melt/warm-basilys.bysl: (normexp_progn) recoded function, using normalize_tuple...
2008-05-19 Basile Starynkevitch <basile@starynkevitch.net>
[stillbuggy cond & testrun1 bad; perhaps progn sometimes badly
handled, 'or' badly normalized?]
* melt/testrun1.bysl: added better testcommand & install_method.
* melt/warm-basilys.bysl: betteer handling of multiple return.
(outpucod_objputxtraresult) new function.
better normalization & compilation of return.
(mexpand_cond) rewritten expansion of cond using sometimes or.
2008-05-17 Basile Starynkevitch <basile@starynkevitch.net>
[stillbuggy multiapply incorrectly compiled see testrun1]
* melt/testrun1.bysl: added test command.
* Makefile.in: added testrun1x production by cold-basilys.lisp to
compare with warmcompiled testrun1c
2008-05-17 Basile Starynkevitch <basile@starynkevitch.net>
[warmcompilation of test0 better for multisend but warm-basilys-1 runs badly on test0]
* melt/warm-basilys.bysl: better normalization & compilation of
multisend & multiapply. The body is actually compiled and the
localvars are bound and allocated.
* Makefile.in: added MELTINDENT variable for coldtest-warm-basilys target
2008-05-17 Basile Starynkevitch <basile@starynkevitch.net>
[warmcompilation of test0 better for multisend but warm-basilys-1 fails
should add a predicate obj_without_sideeffects better than testing if in class_objpurevalue]
* melt/warm-basilys.bysl: better output of objmultimsend & objmultiapply
2008-05-16 Basile Starynkevitch <basile@starynkevitch.net>
[warmcompilation of test0 still buggy for multisend]
* melt/warm-basilys.bysl: (normexp_multicall) generates a local & bindings.
2008-05-16 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy elsewhere, find_env seems to be warmcompiled ok.]
* basilys.h: added flocs field instead of [removed] floc in frames.
(BASILYS_LOCATION) new macro to set the flocs.
(BASILYS_INITFRAME, BASILYS_INITFRAME_AT) sets the flocs.
* basilys.c: (basilysgc_add_strbuf_cidentprefix) avoid adding many _
* run-basilys.h: added ENABLE_BASILYSMELT check.
(curfptr, curfnum, curfclos, curfrout) new macros to shorten
generated code when accessing current frame curfram__.
* Makefile.in: reordered various melt tests. Added calls to indent
on generated C files.
* melt/warm-basilys.bysl: replaced field floc by flocs in generated frames.
(output_raw_location): new function.
(output_location) calls output_raw_location and also emits BASILYS_LOCATION
(class_objnil): new class.
(putobjdest_objvalue): verbose message when type mismatch.
(normexp_exit) returns a localoccv.
(normexp_let) likewise.
(normexp_forever) likewise.
(minor_garbcoll,full_garbcoll,is_not_object,is_not_a): new primitives.
* melt/testrun1.bysl: added is_not_a is_not_object primitives & more message_dbg in find_env
2008-05-15 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy: find_env in testrun1.bysl or warm-basilys.bysl is
not correctly compiled. The output instructions are in wrong
order!]
* melt/warm-basilys.bysl: (is_not_a) new primitive.
(find_env) use is_not_a. (get_free_objlocptr) added
useless... variables to circumvent a cold-basilys.lisp bug.
* melt/testrun1.bysl: added is_not_a
2008-05-15 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy but return better handled in exit or forever]
* melt/warm-basilys.bysl: (putobjdest_objdestinstr) check that
last destination is not the new one to avoid duplicates.
(get_free_objlocptr, get_free_objloclong, get_free_objloctyped)
reuses the offset but not the objlocv of freed variables.
(putobjdest_objloop) bug corrected: the destlist should be a list!
2008-05-14 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy - exit is better, but return is not well handled when
propagated into an exit or a forever...]
* melt/warm-basilys.bysl: class_objexit is simpler (no more
:obexit_prolog) nrep_exit is compiled into a block. all tests for
not is_a class_objpurevalue also test for non-null.
* melt/test0.bysl: (testforeverif) added but not compiled correctly.
2008-05-14 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy]
* basilys.h: (basilys_getfield_object_at) new function, called by
macro basilys_getfield_object when ENABLE_CHECKING
* melt/warm-basilys.bysl: find_env indented better.
added more empty lines in generated output for procedures.
(outpucod_objputclosurout) added check of routine.
(compilobj_dataclosure) buggy putclosrout generation...
2008-05-14 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy - first generation of warm-basilys-1.c which does not
behave correctly]
* melt/warm-basilys.bysl: all (return ()) replaced
by (return (the_null)) because of a cold-basilys.lisp possible bug
(compilobj_nrep_let) don't test for objcomp objectness. It could
be a non object when source is nil, an integer, a verbatim string, ..
* Makefile.in: fixed typos for warmcompilation. added generation
of warm-basilys-2.c and compare to warm-basilys-1.c
2008-05-14 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy]
* melt/warm-basilys.bysl: (putobjdest_objvalue) handles specially
a void reciever by making an objblock with an
objclear. (compilobj_nrep_unsafe_put_fields) adds the touched
locvar to the generated block. (compil_data_and_slots_fill) adds
the initialized data to the generated block.
2008-05-13 Basile Starynkevitch <basile@starynkevitch.net>
[hurt another bug: check typcomp in PUTOBJDEST_OBJVALUE]
* melt/warm-basilys.bysl: corrected normalization of progn
2008-05-13 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy - incorrectly calling output_code on discr_list from
outpucod_objblock so some objblock is incorrectly built]
* basilys.c: (do_initial_command) added check for closure to
invoke for command & moved "exit" builtin command handling.
* Makefile.in: added testrun1c run to say hello.
* melt/warm-basilys.bysl: added class_objpurevalue superclass to
avoid outputting it. Other values such as class_objexpv should
always be output - otherwise some primitive invocations are
disappearing. All tests in outpucod* are testing unless is_a
class_objpurevalue to avoid outputting.
* melt/testrun1.bysl: added say command...
2008-05-12 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy]
* melt/warm-basilys.bysl: generated code has a named frame structure.
generation of initial routine without clos field in curfram to catch bad access to closures.
added compilobj_*_binding methods for compile_obj of class*binding-s.
compilobj_dataroutine handle constant occurrences.
2008-05-07 Basile Starynkevitch <basile@starynkevitch.net>
[another bug; the previous one is probably related to too early disposal of locals]
* common.opt: all basilys options are only when ENABLE_BASILYSMELT.
* basilys.c: (basilys_initialize) force exit_after_options for builtin command exit
and detect command without dispatcher.
* melt/warm-basilys.bysl: compil_data_and_slots_fill is disposing
local bindings too early.
[TODO:] It should return a tuple of bindings to be disposed by the
caller. outcinitfill_objinitobject does not set the predef
anymore. This is done in outcinitpredef_objinitobject.
* Makefile.in: the empty runs have -fbasilys-command=exit
2008-05-07 Basile Starynkevitch <basile@starynkevitch.net>
[still buggy]
* basilys.c: (basilysgc_add_strbuf_cident) always clear current bytedest.
* Makefile.in: added testrun1 runs
* melt/testrun1.bysl: new file.
* melt/warm-basilys.bysl: added generations of checks in putupl & putclosv
* melt-cc-script.prot: added more echo-s.
2008-05-06 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.h: renamed FDISCR_SENDCLOSURE as FDISCR_SENDER.
* basilys.c: renamed FDISCR_SENDCLOSURE as FDISCR_SENDER.
(basilysgc_put_mapobjects, basilysgc_put_mapstrings)
(basilysgc_raw_put_mappointers) threshold to grow softened.
* melt/warm-basilys.bysl: *****shameful hack******** [bug not found!]
to call outpucod_verbatimstring from outpucod_string
2008-05-06 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: still buggy.
Maybe should avoid circularity on discr_namestring name discr.
added ninst_objnum initialization to propagate objnum from src to normexp.
added inipredef.
2008-05-06 Basile Starynkevitch <basile@starynkevitch.net>
* tree-passes.h: MERGED WITH TRUNK r134973
* passes.c: MERGED WITH TRUNK r134973
2008-05-05 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: (create_normcontext) fill the initial
predefmap with symbols using (fill_initial_predefmap). Added the
output_c_initpredef selector to set the predefined values very
early. Added generation of obj_num in initial objects. Added
generation of asserts in putslots. Still buggy, perhaps because of
late setting of predefined values.
* Makefile.in: added empty run of warmbasilys1
2008-04-22 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.c: (basilysgc_add_strbuf_cident) avoid adding several
consecutive '_' underscores.
* basilys.h: added comment about updating warm-basilys.bysl when
adding new predefs
* Makefile.in: generates test0c.c etc...
* melt-cc-script.proto: removed -x flag.
* melt/warm-basilys.bysl: still buggy. Start adding some
global_DISCR* etc primitives to register predef by
names. Corrected wrong argument order to error_plain. More
locations in output of getarg. Should add more global_* stuff, or
generate it by some script (& also in basilys.h)
2008-04-21 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: added compilation of test0 by warm-basilys1.c itself
2008-04-21 Basile Starynkevitch <basile@starynkevitch.net>
[warm-basilys1 still fail by crashing to compile test1, but is syntactically correct C code]
* Makefile.in: added compilation of test1 by warm-basilys1.c itself produced by coldbuild-warm-basilys.c
on warm-basilys.bysl
* melt-cc-script.proto: added [temporarily?] the build of foo-n.so from foo.c
* melt/warm-basilys.bysl: quoted string constants are with make_stringconst.
in normalization of progn unsafe_get_field setq generate a variable for the result.
various output_c_code routines avoid outputing non objinstr code hence less generation of useless code.
2008-04-21 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: added warm-basilys1 & warm-basilys2 & cleaning
* melt/warm-basilys.bysl: normalization of lambda should introduce a binding.
still buggy : test1.bysl hits new assert compilobj_nrep_apply check ocomp not objinstr
* melt-cc-script.proto: added quick -fsyntax-only run without linenumbering
2008-04-21 Basile Starynkevitch <basile@starynkevitch.net>
[first sucessful compilation of warm-basilys.bysl by a
cold-compiled version of itself; but the generated C code is
syntactically incorrect]
* params.def: increased PARAM_BASILYS_MINOR_ZONE
* basilys.c: (basilysgc_new_raw_object) uses sizeof(struct basilysobject_st) for readability
* Makefile.in: added time to ./cc1-melt runs
* melt/warm-basilys.bysl: various debugmsg commented.
(compilobj_nrep_constant) should compile the data for initrout.
2008-04-20 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: The runtime bug below is a bug in
cold-basilys.lisp generator. Still having an "output_c_code of
CLASS_NREP_DATAKEYWORD" bug in warm bootstrap.
2008-04-20 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.h: (basilys_checked_assignmsg_at) better message.
* melt/warm-basilys.bysl: better handling of if/then/else typing.
got a runtime bug on warm bootstrap.
2008-04-19 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: Added handling of arbitrary other ctypes
such as cstring tree etc... But bootstrap still buggy in putobjdest_objvalue
2008-04-19 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.h: (basilys_discr) return BASILYSGOB(DISCR_NULLRECV) for
null pointer.
* melt/warm-basilys.bysl: normalization of binding constructs like
let or multiapply or multisend should remove the locally bound
symbols from the symbol cachemap in the normalization
context. This fix the bug for several homonymous let inside same
function. dbgout_ routines are better for bindings. nil is
dbgoutput-ed a la Lisp. several dbgout_ routines do not bother
testing for need_dbg. arbitrary ctypes are still not handled
correctly.
2008-04-18 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.c: (bailys_apply) print a short backtrace when too deep recursion with ENABLE_CHECKING
* melt/warm-basilys.bysl: (pairlist_to_progn, mexpand_progn...)
correct progn expansion & compilobj... Added class_objdestinstr
superclass so removed many putobjdest* methods. warm-basilys does
not bootstrap itself yet [assertfailure compilocsy null ovar with
ctype_void]
2008-04-18 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: implemented put fields generation &
output. Still missing progn generation.
2008-04-18 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.h: (basilys_getfield_object) new function (when ENABLE_CHECKING) or macro
* melt/warm-basilys.bysl: (parse_field_assignment) displays an
error when non keyword fieldname. (class_objgetslot) new
class. (outpucod_root) better error output.
implemented get field generation & output. Still missing put field generation & output.
2008-04-18 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: uses | for both install & build of melt gcc script
2008-04-17 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: (displaydebugmsg) new function - not working yet.
added output to stderr.
(compilobj_nrep_nil) installed as method.
* Makefile.in: using cc1-melt to make more readable the output of
the top command
* basilys.c: (basilysgc_send) correctly handled null reciever.
2008-04-17 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: (output_location) new string argument,
better #line output. added class_nrep_nil & some methods for it.
added debugmsg for unbound symbol in primitive expansion which
still incorrectly happens. (normexp_quote) both initrout and
normalrout cases. still buggy on self compilation
2008-04-17 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r134362
2008-04-16 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.c: (basilys_caught_assign_at) added msg 4th argument
* basilys.h: ditto. added basilys_checked_assignmsg macro.
* melt/warm-basilys.bysl: added debugmg in wrap_normal_let1
to catch a bug still there [assert_msg check cbind wrapnormlet1]
2008-04-16 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: target install-melt-cc-script uses | in sed per
suggestion of Nicolas Vigier
2008-04-16 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: (create_normcontext) set both :nctx_initproc
and :nctx_curproc to the shared inipro to handle keywords [e.g. inside ctype* def_instance-s.]
this exposes a basilys runtime bug in forwarded_copy
2008-04-15 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: added $(BASILYSDEBUG) for -fdebug-basilys
and added compilation of warm-basilys by itself (still buggy)
* melt/warm-basilys.bysl: debug_msg changed to debugmsg which has
a cstring second argument.
2008-04-15 Basile Starynkevitch <basile@starynkevitch.net>
* gengtype.c: (open_base_files) handles basilys.c only when ENABLE_BASILYSMELT
* tree-pass.h: declare basilys_pass only when ENABLE_BASILYSMELT
* toplev.c: (toplev_main) do basilys* init & final only when ENABLE_BASILYSMELT
* passes.c: (init_optimization_passes) do basilys_pass only when ENABLE_BASILYSMELT
2008-04-15 Basile Starynkevitch <basile@starynkevitch.net>
* configure.ac: added --enable-basilysmelt flag
* basilys.h: check ENABLE_BASILYSMELT
* Makefile.in: added conditionals on BASILSMELT_OBJ and COMPILER_PROBE_OBJ
* configure, config.in: regenerated
2008-04-14 Basile Starynkevitch <basile@starynkevitch.net>
corrected below bug;
* tree-pass.h: pass_basilys is a simple IPA pass.
* basilys.c: likewise.
2008-04-14 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r134275
stilly buggy for libgcc muldi3: internal compiler error: in
execute_ipa_pass_list, at passes.c:1235
2008-04-14 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: adding pamater passing capacity to
constant cstrings in ctype_cstring. This requires a change in
contrib/cold-basilys.lisp which is not yet implemented.
2008-04-14 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.h: (basilys_allocatereserved) removed the call
fatal_error and wrapped it into
basilys_reserved_allocation_failure.
* basilys.c: (basilys_reserved_allocation_failure) new function
which should never be called.
2008-04-05 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r133937
2008-04-05 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r133930
* Makefile.in: merged with trunk.
2008-04-04 Basile Starynkevitch <basile@starynkevitch.net>
[tried warm bootstrap which is still buggy]
* melt/warm-basilys.bysl: various tiny bugfixes.
(scan_defclass) handles correctly :obj_num or :predef.
(parse_field_assignment) cla can be null.
(wrap_normal_let1, compilobj_dataroutine) removed debugging backtraces.
* basilys.h: basilys_list_length (nil) is 0.
* basilys.c: (basilys_list_length) likewise.
2008-04-02 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: multiresult apply & send outpucod not tested.
2008-04-01 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: multiresult apply & send support nearly
completed but untested.
2008-04-01 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: simple message send support ok.
2008-03-31 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: adding message send support (stilly buggy).
2008-03-29 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: all defselector-s without explicit :named_name.
implemented defselector macro & normalization.
argument pointer passing ok for null argument.
2008-03-28 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: all *_iterate functions duplicated into
a *_every function (iterating fully) and a
_iterate_test (iterating while...).
(normexp_msend) new stub function [incomplete].
(check_ctype_nargs) new function used in normexp_apply...
* melt-cc-script.proto: remove all temporary files.
2008-03-28 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl:
(lambda_arg_bindings) check valid argument type.
(getctype_objvalue) returns the correct :obv_type field.
(compilobj_nrep_makeinst) compiles the class data.
2008-03-27 Basile Starynkevitch <basile@starynkevitch.net>
merged with trunk r133654
* Makefile.in: reverted auto dependencies (as did the trunk)
2008-03-27 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.c: (unsafe_index_mapobject, unsafe_index_mapstring)
(unsafe_index_mappointer) returns a free index for tables which
have mostly deleted entries. (basilysgc_send) Added naughty dirty
trick to avoid eating a callframe on every send. (basilys_apply)
new name of basilysgc_apply since it has no frame and do not
perform any allocation. (basilysgc_new_mult6, basilysgc_new_mult7)
new functions.
* basilys.h: (basilys_curframdepth) new
function. (basilysgc_new_mult6, basilysgc_new_mult7) new
functions.
* melt/warm-basilys.bysl: (the_framedepth) new primitive.
(debug_msg) displays the call depth. Added output of semicolon
before goto-s. (compilobj_nrep_multacc, compilobj_nrep_fieldacc)
working. (compil_data_and_slots_fill) Handles correctly the
ndata_locbind field. Uses basilys_apply in generated code.
* melt-cc-script.proto: added output of generated timestamp file for
debugging.
* melt/test0.bysl: more tests.
* melt/test1.bysl: more tests.
2008-03-27 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: the newer [from trunk] Makefile.in did not work. Added use of LTDL_LDFLAGS, PPLLIBS, ...
2008-03-26 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r133612. In particular better Makefile.in with auto dependencies...
2008-03-26 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: adding compilation of multiapply and of (compile-time) field access...
2008-03-24 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warm-basilys.bysl: Start adding message sending & multicall.
2008-03-24 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.c: (basilysgc_add_strbuf_raw) assigned the argument into
framevar.
* melt/warm-basilys.bysl: (dbgout_list_method) better typed if.
(normexp_symbol) handling correctly constant (function, class,
primitive, field...) symbol at toplevel.
* melt/test0.bysl: added test of toplevel function & primitive bindings.
2008-03-22 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.c: (basilysgc_add_strbuf_raw) when growing young strbuf,
call basilysgc_reserve and basilys_allocatereserved to avoid
growing a buffer which has just been promoted to old by the zone
reallocation. (basilysgc_add_strbuf_raw) use a basilys frame.
(basilysgc_put_mapobjects, basilysgc_remove_mapobjects)
(basilysgc_put_mapstrings, basilysgc_remove_mapstrings)
(basilysgc_raw_put_mappointers, basilysgc_raw_remove_mappointers)
call basilysgc_reserve and basilys_allocatereserved likewise.
* basilys.h: (basilysgc_reserve, basilys_allocatereserved) new functions.
added frameloc when ENABLE_CHECKING in basilys frames.
* melt/warm-basilys.bysl: added (empty) support for framloe when
ENABLE_CHECKING in generated basilys frames.
* Makefile.in: remove T_CFLAGS from MELT_CFLAGS.
2008-03-21 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.c: (basilysgc_read_file) added second argument locnam.
(do_initial_command) uses basilys_secondargument_string. !!!!! A
BUG REMAINS AND CRASHES our cc1 for test0 !!!!!!!
* basilys.h: (basilysgc_read_file) added second argument locnam.
* melt/test0.bysl: added file.
* melt/test1.bysl: added file.
* melt/warm-basilys.bysl: replaced some call to or .. with if (not
..) to avoid some warnings from cold-basilys.lisp
nctx_symbcachemap filled even in create_normcontext to handle MELT
variables at toplevel. compileseq_command takes an optional second
string.
* common.opt: added fbasilys-secondarg for
basilys_secondargument_string.
* melt-cc-script.proto: corrected dynstuff computation. added echo
messages and set -x.
* Makefile.in: added coldtest-warm-basilys HORRIBLE KLUDGE
which still crashes because of a basilys.c? bug
2008-03-20 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: added @DEFS@ to MELT_CFLAGS. Better run-basilys.d
target (still specific to some systems like linux; depcomp should
be used...). Added ugly temporary kludge to build
coldbuilt-warm-basilys.c & coldbuilt-warm-basilys.so on Linux thru
clisp & contrib/coldbasilys.lisp. built-melt-cc-script better built.
* melt-cc-script.proto: corrected typos.
* run-basilys.h: working at last.
2008-03-20 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r133366.
* basilys.c: pass_basilys is now a gimple_opt_pass.
* tree-pass.h: pass_basilys is now a gimple_opt_pass.
pass_compiler_probe now declared here.
* passes.c: using new struct-s for passes.
* compiler-probe.h: moved pass_compiler_probe from here to tree-pass.h
* compiler-probe.c: pass_compiler_probe is a gimple_opt_pass.
2008-03-18 Basile Starynkevitch <basile@starynkevitch.net>
* melt-cc-script.prot: added generation of date & md5sum.
2008-03-18 Basile Starynkevitch <basile@starynkevitch.net>
* melt-cc-script.prot: new file.
* Makefile.in: added install-melt-cc-script and built-melt-cc-script targets
2008-03-17 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.h (basilys_finalize, basilys_tempdir_path): added
declarations.
* basilys.c : added inclusion of md5.h & filenames.h.
(basilys_tempdir_path, load_checked_dylib) new functions.
(basilysgc_compile_dyn) scan various directories for
generated C source file and dynamically loaded stuff.
* toplevel.c (toplev_main): added declaration and call to
basilys_finalize.
* common.opt: added -fbasilys-arg= -fbasilys-command=
-fbasilys-compile-script= -fbasilys-dynlibdir= -fbasilys-tempdir=
options
2008-03-16 Basile Starynkevitch <basile@starynkevitch.net>
new changelog for the Melt Branch
* Makefile.in: added melt_source_dir melt_generated_dir melt_dynlib_dir melt_compile_script
& corrected typos. (basilys.o) transmit them as C constants.
* common.opt: added -fbasilys-compile-script= option.
* basilys.c (compile_to_dyl): uses melt_compile_script.
added melt_source_dir melt_generated_dir melt_dynlib_dir melt_compile_script as constants.
Better comments. still incomplete.
2008-03-11 Basile Starynkevitch <basile@starynkevitch.net>
merged with trunk r133107
2008-03-11 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: removed compile-basilys-defs completely. Corrected
typ in comment for run-basilys-deps.
2008-03-05 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: added targets for installation of melt includes.
2008-03-02 Basile Starynkevitch <basile@starynkevitch.net>
merged with trunk 132817
2008-02-26 Basile Starynkevitch <basile@starynkevitch.net>
* Makefile.in: adding melt-private-include/ thing
* melt/ : subdirectory moved here (was in ..)
2008-02-26 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r132671
Merged revisions 132452-132671 via svnmerge from
svn+ssh://bstarynk@gcc.gnu.org/svn/gcc/trunk
* toplev.c (toplev_main): comprobe_finish() called before the print_ignored_options()
2008-02-19 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk.
removed debug hack in basilys.c; added code to be able to init with a *.so in basilys.c.
added our (forgotten) Makefile.in and most of
my (Basile Starynkevitch's) files
Created MELT branch. This gcc/ChangeLog.melt added afterwards.
|