forked from daveshields/jikes
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnews_v1.html
More file actions
executable file
·1337 lines (1090 loc) · 58.2 KB
/
news_v1.html
File metadata and controls
executable file
·1337 lines (1090 loc) · 58.2 KB
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
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<HTML>
<HEAD><TITLE>Jikes News: Volume 1</TITLE>
</HEAD>
<BODY>
<h2 align=center>Jikes News: 19 October 1999</h2>
<h3 align=center>by <a href="mailto:[email protected]">Dave Shields</a></h3>
<p>Many of the links that used to point to files on this site have been adjusted to point to our
<a href="http://www10.software.ibm.com/developerworks/opensource/jikes/project">new home on developerWorks</a>, including the FAQ,
contributors list, downloads, etc.
<h2 align=center>Jikes News: 24 September 1999</h2>
<h3 align=center>Glenn Kasten joins Jikes Project Core Team</h3>
The Jikes Core Team is pleased to announce that Glenn Kasten has
accepted our invitation to join the team.
<h3 align=center>Jikes on the move</h3>
Most of the files have been copied over to our new home at
<a href="http://ibm.com/developerworks/opensource">ibm.com/developerworks/opensource</a>,
including development and stable versions. I have started a new Jikes News file there.
<p>I hope to see you over at developerworks; look there for news of further developments.
The above URL is for the main entry point; the Jikes Project pages, similar in structure to our current pages,
can be found at
<a href="http://www10.software.ibm.com/developerworks/opensource/jikes/project">
http://www10.software.ibm.com/developerworks/opensource/jikes/project</a>.
<h3 align=center>Problems re <code>-d</code>, <code>-depend</code> <code>+F</code></h3>
To those who have encountered problems using the above options, or
who have followed the recent mail on the Jikes lists about this
topic, I have started a (hopefully) short-term project -- in our new
home -- to sort this out. The underlying issue that needs to be
resolved is the classpath search order, so I have named it CSO:
<a href="http://www10.software.ibm.com/developerworks/opensource/jikes/project/tasks/cso/index.html">CSO Project</a>
<h2 align=center>Jikes News: 21 September 1999</h2>
<h3 align=center>Roly Perera joins Core Team</h3>
The Jikes Core Team is pleased to announce that Roly Perera has accepted
our invitation to join the team.
<h3 align=center>FAQ explanation of <code>+F</code> and <code>-depend</code> revised</h3>
The FAQ (<code>jikes.htm</code>) has been revised to include an expanded
explanation of the <code>+F</code> and </code>-depend</code> options.
<p>The revised version is currently only available via our Research
web site, as we are moving the CVS tree over to our new home.
<h3 align=center><code>google.com</code> now available, good job for Jikes</h3>
<code>Slashdot</code> just ran a story that the new search-engine
<code>google.com</code> is now officially up. It seems to do a pretty
good job for Jikes.
<h3 align=center>Single multi-tier application using almost every version of Jikes</h3>
Brad Smith recently posted the following note to the Jikes alphaWorks' discussion area.
It's the first time I've seen mention a single project that was using Jikes on so many platforms,
and using so many versions of Jikes at once:
<blockquote>
We are designing and building a multi-tier java application in which we use
Jikes to compiled the sources. We recently ran into a problem that had us
baffled for several weeks but we finally solved last thursday.
<p>
Our development group uses NT, Windows 95, Linux and OS/2 PCs. We test the
middle tier components on OS/2 and AIX. Client components run mainly on
Windows 95, but we also test on Linux and OS/2 and NT.
<p>
The application would work smoothly on most of the developer's systems but
when we moved the middle tier to AIX, some clients were have problems with
messaging classes that were being shipped from the server to the client and
generating exceptions. We could not isolate the problem. When it did show up,
it was always there, but when it would show up was baffling.
<p>
Finally at the 11th hour before user training we found the problem: different
versions of Jikes were being used for different OS's and/or client vs middle
tier components. Once we used the same Jikes compiler across the board the
problem went away. Some of us had 0.55, other 1.02.
<p>
So, if you are having unusual problems with distributed applications, double
check to make sure the test code is all built with the same version of Jikes.
<p>
Jikes has been and continues to be a very useful and important tool. This is
just a caution based on our experience.
<p>
Brad Smith
</blockquote>
<h3 align=center><code>alt.sysadmin.recovery</code> thread re Jikes' error recovery and reporting</h3>
I recently discovered, courtesy of <code>deja.com</code>, the
following discussion about Jikes' error recovery and reporting. When
I showed it to Philippe, he remarked the main motivation for the
spell-checking is to help users who have forgotten the convention of
identifier names with an initial lower case letter; for example, to
note that <code>ToString</code> should be <code>toString</code>
<pre>
Forum: alt.sysadmin.recovery
Subject: Re: Buzzword Check
Date: 1999/09/20
Author: Paul Tomblin <[email protected]>
In a previous article, [email protected] said:
>Getting rid of the useless "there's a missing semicolon on line blah, aborting
>compilation" errors was reason enough to give up Pascal. Quickly. If the
>parser is "intelligent" enough to recognize *what* is missing, why doesn't
>it just *insert* the symbol (and warn me about it) instead of aborting
>compilation? Luser-language implemented luserish...
I've only seen two compilers that attempt to do that.
One of them I used 20 years ago, and it was called "SP/K", and it was
a subset of PL/1. Every attempt it made to "fix" the compiler errors
was guaranteed to cause billions more compilation errors further on.
Once it made an attempt to "fix" something, you couldn't trust any
more compiler messages in the rest of the file, because most of them
were caused by the "fix".
The second one is "jikes", the hyperfast java compiler from IBM. It
only attempts a fix when it's something trivial like a missing
semi-colon, and it does a pretty good job of figuring out where it
belongs. An even cooler feature is when it says something like "I
see you've used an undeclared variable `foob' on line 227. There is
a declared variable `food', maybe that's what you intended." The
amount of effort it goes through to find similar variables and
methods is startling.
>> Forum: alt.sysadmin.recovery
>> Thread: Buzzword Check
Subject: Re: Buzzword Check
Date: 1999/09/20
Author: Alan J Rosenthal <[email protected]>
ah, I used sp/k briefly, at about that time... say no more...
I switched to real pl/1 quickly, although I then had to do without
the "picture" formatting option (like BASIC's "PRINT USING").. I
remember sitting in the corner between keypunches with a pl/1 manual
borrowed from the consultants' desk trying to find its analogue,
before I concluded it was just not available... ok I'll admit I
learned pl/1 via sp/k, and so did you it sounds like...
>There is a declared variable `food',
You seem to think this is cool, but I think it's stupid.
Mostly I think that this whole concept of trying to compile what the
user might have meant instead of what they said is obsolete. The
only use for error recovery these days is to be able to give people
the full list of error messages in one go, or at least a big chunk of
them so that they don't have to type "make" once per error however
minor. So "undeclared variable" suffices in this case, and move on,
and stop trying to generate code because you're going to exit with a
fatal error anyway.
In the old days where that missing semicolon meant that after you
retyped the punch card you had to submit your deck and wait another
two hours (or even ten minutes), the "guessing" behaviour got us
something. I'm astonished that a modern compiler does it, although
given that a modern compiler does do it I'm not astonished that it's
something from IBM, which is not a company known for moving with the
times.
Subject: Re: Buzzword Check
Date: 1999/09/20
Author:Paul Tomblin <[email protected]>
Ah, but unlike sp/k jikes doesn't then try and generate code with
it's attempted fixups, it just generates messages. The second thing
I mentioned (finding close but not quite variable names) is just part
of the diagnostic message, it doesn't actually try and compile with
whatever it guessed. Which is fine, because if it did, you know that
would lead to 450 billion cascading messages because the types didn't
match, etc.
</pre>
<h2 align=center>Jikes News: 17 September 1999</h2>
<h3 align=center>Ken Coar joins Core Team</h3>
The Jikes Core Team is pleased to announce that Ken Coar has accepted
our invitation to join the team.
<h3 align=center>New Development Version, v1.06</h3>
<ul>Problem Reports Resolved:
<li>489 segfault on Linux
<li>490 bridge over troubled waters
<li>491 nested constructor error
</ul>
<p>This version adds the option <code>-Xdepend</code>. It does the same
thing as <code>-depend</code>, and was added for 1.2 JDK compatibility.
<p>
A bug uncovered navigating the troubled waters of PR 490 was of
sufficient severity to justify the release of a new version. We
also recently noted some erratic behavior using incremental
compilation, and so have temporarily disabled the '++' option
while we sort things out.
<h2 align=center>Jikes News: 16 September 1999</h2>
<h3 align=center>Jikes Project to move to developerWorks</h3>
IBM is providing a new home for its software licensed under the IBM
Public License, <a href="http://ibm.com/developerworks/opensource">
http://ibm.com/developerworks/opensource</a>, and hopes to encourage
increased participation in its open-source projects by providing
increased authority, resources, responsibility and support to companies
and individuals interested in collaborative development.
<p>
Though the new developerWorks open-source section will not be
officially announced for a couple of weeks, we are announcing it now
to the Jikes community -- to let you know what's going on, and to ask
for your help, patience and understanding while we work with the
developerWorks staff to bring up the Jikes portion of the site.
We would appreciate your discretion about spreading the news, as we
don't wish to steal any of the thunder that is undoubtedly being
planned by our PR people for the formal announcement.
<p>
The Jikes Project will be managed by the Core Team, which will be
responsible for the CVS source tree and other content of the Jikes
Project section of developerWorks. The current members are
<a HREF="mailto:[email protected]">Philippe Charles</a>,
<a HREF="mailto:[email protected]">Michael Ernst</a>,
<a HREF="mailto:[email protected]">David Shields</a>
and <a HREF="mailto:[email protected]">Vadim Zaliva</a>. The Core Team
elects Contributors and new members of the Core Team.
<p>
The project's new site will provide:
<ul>
<li>write-access to the CVS tree for the Core Team and Contributors,
<li>write-access via secure ftp for the Core Team and Contributors so they
can update the project's web content,
<li>read-only access to the CVS tree to all via the web using CVSWeb,
<li><a href="http://jitterbug.samba.org">JitterBug</a>
bug report/tracking system,
<li>mail lists.
</ul>
Other features under consideration include anonymous ftp and a
discussion capability.
<p>
Our "public address" -- the one to be used in documentation and in
informal discussion -- will be "Jikes Project at
http://ibm.com/developerworks/opensource". However, we will not be
using the primary developerWorks' server, but will share a separate
Linux-based machine with the other open-source projects. The main
page URL is
<a href="http://www10.software.ibm.com/developerworks/opensource/jikes/index.html">
http://www10.software.ibm.com/developerworks/opensource/jikes/index.html</a>
and the URL for the project-owned pages is
<a href="http://www10.software.ibm.com/developerworks/opensource/jikes/project/">
http://www10.software.ibm.com/developerworks/opensource/jikes/project/</a>.
I'm told these URLs should appear soon; as soon as they do, we will
start a "News" section there about the transition process.
<p>
You should continue to use our currrent site
(<a href="http://ibm.com/research/jikes">http://ibm.com/research/jikes)</a>
to obtain news, to download files, and to report bugs -- we don't
want to move all the work over until everything is in place. We plan
no further releases until the CVS tree has been moved, unless a real
"show-stopper" bug surfaces.
<p>
<h3 align=center>New Development Version, v1.05</h3>
<p>Problem Report Resolved:
<ul>
<li>484 another verify error in 1.01
</ul>
The URL's in the documentation files have been changed to point
to developerworks.
<h3 align=center>New Development Version, v1.05</h3>
<p>Problem Reports Resolved:
<ul>
<li>484 another verify error in 1.01
</ul>
The URL's in the documentation files have been changed to point
to developerworks. There is also a revised man page
(something I forgot to mention in the v1.04 release note).
<h2 align=center>Jikes News: 14 September 1999</h2>
<h3 align=center>New Development Version, v1.04</h3>
<p>Problem Reports Resolved:
<ul>
<li>434 line number wrong in exception traceback
<li>459 more problems with try/catch
<li>460 problems with line number for while statement
<li>465 use of super from inner classes
<li>469 possible bug with nested try/catch
<li>474 protected caution -- inappropriate for super class static method
<li>476 misrepresenting imports
<li>480 spurious error message
</ul>
Three problem reports (462, 463, 468) that suggested better error
messages for certain syntax errors have been closed out, as Jikes
uses tables generated by the Jikes Parser Generator to detect and
report syntax errors, and it is not possible to customize
syntax-related error messages.
<h2 align=center>Jikes News: 10 September 1999</h2>
<h3 align=center>New Development Version, v1.03</h3>
<p>Problem Reports Resolved:
<ul>
<li>470 fails on switch statement with large int values
<li>481 verify error in 1.01
<li>484 array clone problem
</ul>
<h2 align=center>Jikes News: 7 September 1999</h2>
<h3 align=center>Jikes now included in Red Hat distribution</h3>
Red Hat has added Jikes to their main source tree. V1.02 is included in the
<a href="http://linuxtoday.com/stories/9625.html">"Lorax" public beta</a> announced yesterday.
<p>Jikes is also included in the
<a href="http://debian.org/Packages/unstable/devel/jikes.html">Debian</a> and
<a href="http://www.freebsd.org/ports/java.html#jikes-0.47">FreeBSD</a> distributions.
<h3 align=center>CVSWeb access and CVS read-only mirror now available</h3>
<a href="mailto:[email protected]">Ken Coar</a>
(<a href="http://www.apache.org/">Apache Software Foundation</a>,
<a href="http://Apache-Server.Com/"
><cite>Apache Server for Dummies</cite></a>) writes:
<blockquote>
Whew! Finally! You should now be able to access a copy of
the master Jikes CVS repository and check stuff out from it
(though not check anything in). It's updated every six hours.
CVSWeb is also available on it.
Please send me mail if you encounter any problems; there may still
be a few glitches.
</blockquote>
<p>The site, <a href="http://Sourcery.Org/">Sourcery.Org</a>,
also includes an interesting free-source participation survey.
The URL's for Jikes-related features on his site are:
<br>
<a href="http://Sourcery.org/jikes">Sourcery Jikes Area</a>
<br>
<a href="http://Sourcery.org/jikes/cvsweb.cgi">Web view of Jikes CVS repository</a>
<br>
<a href="http://Sourcery.org/jikes/anoncvs.html">Read-only Jikes CVS Mirror Access</a>
<br>
<p>Ken also rendered early service to Jikes in setting up our mail-list server.
<h2 align=center>Jikes News: 1 September 1999</h2>
<h3 align=center>New Development Version, v1.02</h3>
<p>Problem Reports Resolved:
<ul>
<li>478 error compiling java/lang/Object
<li>479 Jikes 1.01 crashes due to bad delete[]
</ul>
<p>This version also
includes a new version of the FAQ (<code>jikes.htm</code>).
A "Provides: jikes" entry has been added to <code>jikes.spec</code>, at the suggestion of
<a href="mailto:[email protected]">Shane Owenby</a>, based on a recent
discussion in the <code>rpm</code> mailing list.
<h2 align=center>Jikes News: 25 August 1999</h2>
<h3 align=center>New Development Version, v1.01</h3>
<p>Problem Reports Resolved:
<ul>
<li>457 verification error with try/catch
<li>466 Jikes wrongly calls stat('/') if fully-specified directory in classpath
<li>467 method "null" bug
<li>471 problem with null constant and reachability
</ul>
This version also
<ul>
<li>fixes some problems with <code>clone()</code>.
<li>detects more cases where the <code>IINC</code> opcode can be used.
<li>provides better checking for cases where <code>WIDE</code>
instruction is needed
<li>provides a cleaner interface for tracking methods from the
standard library that may need to be be referenced, such as those
needed for string concatenation.
<li>uses a new scheme to track directories used in the classpath, one
which may fix some of the problems reported with <code>-d</code>.
<li>cleans up the code for 64-bit arithmetic, and does better job
handling divides by zero.
</ul>
<h3 align=center>Why V1.01?</h3>
<p>Alert readers will note that this version is <code>v1.01</code>
and not the <code>v0.56</code> that would be expected. We decided
that, having put out more than 50 releases since late 1996, this was
a good time to end the "early test phase".
<h3 align=center>Changes to build process, downloads</h3>
I had need lately to learn more about <code>RPM</code> (I found
Henner Zeller's spec file very helpful). This led to a review of the
current build/download process, and has resulted in the following
changes:
<ul>
<li>We will now provide both <code>RPM</code> (RedHat 5.2, glibc,
intel) and <code>SRPM</code> files for downloading. Note that these files
have suffix <code>.bin</code> appended, as our servers have already reserved the file type
<code>.rpm</code> for RealAudio files.
<li>Added file <code>news.htm</code> based on the "Jikes News"
document, and included it in the list of documentation files.
<li>Renamed the <code>README.TXT</code> files to be just <code>README</code>.
<li>Renamed former <code>Makefile</code> to <code>Makefile.hand</code> since
running <code>./configure</code> creates a file <code>Makefile</code>.
</ul>
<h3 align=center>Good news re Jikes license and Debian</h3>
<p>The following is from <a href="mailto:[email protected]">Mike Goldman</a>, a member of the
Debian team, in response to my query about their reaction to the new license:
<blockquote>
<p>
The consensus opinion seems to be that the new Jikes license is
DFSG-compliant, and consequently it is planned that Jikes *will* ship in the main
Debian distribution (rather than contrib or non-free). It is already in the main
"potato" archive. There has been some concern expressed that Jikes is
"incompatible" with the GPL (the GNU "General Public License") -- that is, GPL
source cannot be legally combined with Jikes source -- but that is not in and of
itself fatal.
</blockquote>
<h2 align=center>Jikes News: 28 July 1999</h2>
<h3 align=center>New Development Version, v0.55</h3>
<p>Problem Reports Resolved:
<ul>
<li>437 problem with AbstractMethod exception
<li>443 virtual methods from inner classes
<li>446 problem with SwingWorker
<li>449 inner class can't call overriden protected method
<li>453 problem with IncompatibleClassChangeError
<li>454 bad handling of nested try/catch
<li>455 fails to detect uninitialized variable
<li>456 problem with protected inner classes of superclasses in a different package
</ul>
<h3 align=center>New files <code>segment.cpp</code> and <code>segment.h</code></h3>
<p>This version includes two new files; the build-related files have been updated. If you are using your own makefile
then you will have to make the corresponding additions. These files support new function that does a better job avoiding
redundant entries in the constant pool.
<h2 align=center>Jikes News: 26 July 1999</h2>
<h3 align=center>New Development Version, v0.54</h3>
<p>Problem Reports Resolved:
<ul>
<li>303 cyclic dependence
<li>355 circularity problem
<li>356 try/catch
<li>359 crash with try/catch
<li>362 problem with exit code, plea re stderr
<li>373 problem with package-protected parent
<li>374 weird try/catch behavior
<li>379 try/catch problem on solaris
<li>386 verifier problem
<li>391 crash with inner class
<li>408 apparent bug with inner class constructors
<li>429 uninitialized variable in switch statement
<li>430 bug in static constructor initialization
<li>431 verifier error: expect uninitialized object on stack
<li>432 request for more terse -deprecation warnings
<li>435 problem with empty catch clauses
<li>439 expect error, not warning, if file not found
<li>441 constructor problem with anonymous class
<li>442 interface and toString; static calls
<li>445 constructor isn't called
<li>447 problem with protected method
</ul>
<p>This version includes revised code generation for <code>try/catch/finally</code> that more closely
follows the examples and description in the Java Virtual Machine Specification. Previous versions of Jikes generated
bytecode that in some cases included instructions that were unreachable. Even though they passed verification
on most platforms, problems with verification on the Solaris platform suggested a careful revision was in
order.
<h3 align=center>Files <code>bool.h</code> and <code>unicode.h</code> removed</h3>
<p>These files are no longer needed, and the build-related files have been updated. If you are using your own makefile
then you will have to remove any references to <code>bool.h</code> or <code>unicode.h</code>.
<h3 align=center>Support for option <code>-Xstdout</code></h3>
Jikes now recognizes the option <code>-Xstdout</code> to request
that error messages be written to the standard output file; by
default they are now written to the standard error file.
<h3 align=center>RPM file for Jikes</h3>
<a href="mailto:[email protected]">Henner Zeller</a> has made available
<a href="http://linux.fh-heilbronn.de/~zeller/download/jikes/">RPM file for Jikes Relocatable</a>.
We have added his file <code>jikes.spec</code> to the set of source
files to help those wishing to build their own RPM versions.
<h3 align=center>Auto-detect for <code>bool</code> when compiling Jikes</h3>
This version includes a patch
from <a href="mailto:[email protected]">Larry Gensch</a>
who wrote:
"I've added a test in your configure.in script in jikes-052 to
auto-detect the presence of the "bool" keyword (ANSI C++)."
<h3 align=center>Illegality of <code>"class C implements C.I"</code></h3>
We recently filed
<a href="http://domino.watson.ibm.com/syssftpr/JavaTech/Jikes.nsf/Named/SunQuery31">
Query #31 to Sun</a>. It relates in part to the legality of
the following construct found in some versions of <code>swing</code>:
<pre>
class C implements C.I {
...
interface I { ... }
...
}
</pre>
Sun's response agrees with our interpretation that this usage is illegal.
<h2 align=center>Jikes News: 24 June 1999</h2>
<h3 align=center>New Development Version, v0.53</h3>
<p>Problem Reports Resolved:
<ul>
<li>426: miscellaneous problems in v52 from Glenn Kasten
<li>427: jikes v52 crashes all the time on solaris
</ul>
<p>This version adds support for the <code>-deprecation</code> option.
<p>Applied patch to <code>configure.in</code> for <code>mips</code>
from <a href="mailto:[email protected]">Henner Zeller</a>.
<h3 align=center>Jikes and BeOS</h3>
<a href="mailto:[email protected]">Russ Blaisdell</a> writes (23 June 1999):
<blockquote>
I have been working with BeOS in my spare time and have found
that Jikes compiles and runs on BeOS (Intel version) without having
to change anything (neither makefile or source).
</blockquote>
<h2 align=center>Jikes News: 17 June 1999</h2>
<h3 align=center>IBM Public License Version 1.0</h3>
Beginning 17 June 1999 we are using the IBM Public License Version 1.0. This applies to versions of the compiler
starting with v0.52, and will be used when we next update the Jikes Test Suite and Jikes Parser Generator:
<a href="http://ibm.com/research/jikes/license/license3.htm">IBM Public License Version 1.0 - Jikes Compiler</a>.
<h3 align=center>IBM JDK for Linux available</h3>
IBM has just released
<a href="http://alphaworks.ibm.com/tech/linuxjvm">JDK 1.1.6 for
Linux/Intel</a>. This release requires 2.2 kernel, glibc 2.1,
LessTif 0.88, and uses native threads. It includes a good JIT.
<h3 align=center>New Development Version, v0.52</h3>
<p>Problem Reports Resolved:
<ul>
<li>246: problem with abstract method
<li>336: problem if same name for package and contained type
<li>360: problem with uninitialized final member
<li>361: extended classes not allowing access to superclass's inner class
<li>363: faulty handling of erroneous program
<li>364: jikes compiles source code even though it catches an unthrown exception
<li>371: compilation anomaly
<li>375: confusing error message
<li>376: improper setting of permissions when create directory
(applied patch sent in by <a href="mailto:[email protected]">Paul Michael Reilly</a>)
<li>378: bug related to use of .class operator
<li>383: improper directory permission (cf. 376)
<li>388: problem with slackware S_IFDIR
<li>389: suggest better error message if unknown directory in classpath
<li>398: problem in cyclic dependence, switch statements
<li>400: errors for forward reference
<li>406: static accessor problem
<li>416: different behavior accessing overloaded member
<li>419: duplicate static final definition makes jikes crash
<li>420: jikes core dumps if invalid jar file
<li>425: inheriting nested types from interfaces
</ul>
</ul>
<h3 align=center>A Jikes Documentation Project</h3>
<a href="mailto:[email protected]">Tim Daly</a> writes (11 June 1999)
that he has started a project to document Jikes internals.
You can download <code>jikesDoc.jar</code> from
<a href="http://www.idsi.net/~daly">http://www.idsi.net/~daly</a>.
He reports that Netscape wants to open this file by default so be
sure to right-click on the file and choose "Save link as".
<h2 align=center>Jikes News: 27 May 1999</h2>
<h3 align=center>New Development Version, v0.51</h3>
<ul>
<li>Revised the error message issued when <code>CLASSPATH</code>
contains non-existent file.</li>
<li>Fixed a few more bugs.</li>
<li>More source cleanup for code related to <code>switch</code>
statement.</li>
<li>Fixed problem with constant-folding of boolean expressions (for
code first added in v0.50).</li>
<li>Moved some of the template code since some <code>C++</code>
compilers object when see template definitions in the
<code>.cpp</code> file.
<li>Fixed a problem in the option scan.</li>
<li>Added a <code>man</code> page sent in by
<a href="mailto:<[email protected]">Pierpaolo Fumagalli</a>.
<li>Added code for <code>autoconf</code> support for Linux libc5 builds sent to Jikes-Patches back in March by
<a href="mailto:[email protected]">C. Scott Ananian</a>.
</ul>
<h3 align=center>Jikes at LinuxExpo</h3>
<p>I represented Jikes in the IBM booth at the just-concluded
LinuxExpo in Raleigh, NC. Several people expressed interest in using
Jikes once they saw its speed. One of the Java managers
from SGI mentioned they had ported Jikes as soon as the source came
out; the only complaint from their developers was that they now had less time
for coffee breaks.
<p>I gave two talks (one on the technical track, another on
the business track) with emphasis on our experiences after
releasing the source. About 70 people attended the first talk, about
30 the second.
<p>I understand about 4000 people attended the Expo. Rob Malda of
Slashdot stopped by to chat, and mentioned that IBM's booth was
bigger than the <em>entire</em> exhibit area at last year's expo.
<h3 align=center>Another Jikes for Amiga</h3>
<p><a href="mailto:[email protected]">Tim Corringham</a> writes
(24 May 1999) that he is provoding binary versions for another Amiga
version, this one using Unix style file notation, and requiring the
<code>ixemul</code> Unix compatibility library. Details in the Ports
Section.
<h3 align=center>Jikes for SCO UnixWare 7</h3>
<p><a href="mailto:[email protected]">Jerry Heyman</a> writes
(27 May 99): that SCO is providing a version for UnixWare 7
(currently v0.41). Details in the Ports section.
<h2 align=center>Jikes News: 9 May 1999</h2>
<h3 align=center>New Development Version, v0.50</h3>
<p>This version consists mainly of changes to the code generator, as
what began as a modest review turned into a major "spring cleaning".
The code generator was recomputing some information that had already
been computed by the front-end, and had otherwise not been updated to
reflect many of the front-end changes recently put in place. There
may be some regressions since we have touched parts of the code that
have been stable for some time.
<p>There are also a couple of bug fixes, consisting of some improved error messages, and a fix for a bad
assert in <code>ast.h</code> that was recently reported.
<h3 align=center>Version number now part of download file name for Jikes compiler</h3>
<p>In response to several user requests, the file names for downloading the
compiler now include the version number: <code>jikes-050_tar.gz</code>,
etc. We will put version numbers on file names for <code>jikestst</code>
and <code>jikespg</code> when they are next updated.
<h3 align=center>Jikes for Amiga</h3>
<p>Kriton Kyrimis is now producing binaries of Jikes for Amiga; see
the "Ports" section for details.
<h3 align=center>Jikes at LinuxExpo in Raleigh, May 18-22</h3>
<p>Jikes will be part of the IBM presence at the <a
href="http://linuxexpo.org">Linux Expo</a> at the Raleigh Convention
Center in Raleigh, NC, May 20-22. I will be at the IBM Booth, and
will also give a talk on our experience starting and running the
Jikes project, and plan to emphasize what has happened since we released
the source in December, 1998. I would like to include user feedback
in the talk, as noted below.
<h3 align=center>Request for User Feedback</h3>
<p>We have started a section
<a href="http://www.domino.watson.ibm.com/syssftpr/JavaTech/Jikes.nsf/Feedback">
Feedback</a> in the Jikes Discussion Database where you can make comments and suggestions about the
Jikes Project. Suggestions on how we can do a better job are especially
welcome.
<p>We plan to include a summary of the comments received in the talk to
be given at LinuxExpo.
<h2 align=center>Jikes News: 16 April 1999</h2>
<h3 align=center>New Development Version, v0.49</h3>
<p>This version fixes a bug (reported on jikes-bugs on 14 April) related to calling
a private method in an enclosing class that was introduced in v0.48.
<h2 align=center>Jikes News: 14 April 1999</h2>
<h3 align=center>New Development Version, v0.48</h3>
<ul>
<li>Several bug fixes.</li>
<li>Revised to use static methods to access private fields and methods of enclosing types</li>
<li>Better support for "international" character sets</li>
<li>Revised format for dependence report (<code>+M=filename</code>)
</ul>
<p>Bill Pugh of the University of Maryland pointed out that Jikes
should use static methods to enable access to private fields and
methods of enclosing types, and Jikes now generates static methods.
<p>Several readers sent in problem reports related to the handling of
"international" characters in the input source, and included
examples that demonstrated the problem was in a faulty table used to
represent the classification of Unicode characters. Instead of trying
to interpret the various descriptions of Java's interpretation of
Unicode, we have added a new program <code>gencode.java</code> that
probes the classification used by the Java library and writes
out the source for files <code>code.h</code> and <code>code.cpp</code>.
We obtained the same results running Sun's reference VM for Windows for JDK versions 1.1.6
and 1.2.
<p>This work also uncovered a problem in the handling of these
characters for Solaris Sparc. Turns out that the type <code>wchar_t</code> was
declared as a <code>long</code> and when a <code>char</code> value (even <code>unsigned char</code>)
was copied to a <code>wchar_t</code>, it was sign-extended. This problem used to cause Jikes to crash
on some inputs.
<h3 align=center>New option <code>+M=filename</code> to list direct dependences</h3>
<p>Jikes now supports a new form of the <code>+M</code> option,
<code>+M=filename</code>, to request a direct dependence report be written
to the specified file. Each clause begins with a line of the form
<pre>
file_specification : class_name
</pre>
which gives the file containg the definition of a class. The file
specification is either the name of a file or the name of a <code>jar</code> or
<code>zip</code> file followed by the name of a member of the file enclosed in
parentheses.
<p>A clause may be followed by zero or more lines containing the names
of classes directly referenced by the class; each such line begins with
whitespace. A reference introduced as the result of referencing the
value of a static final constant is preceded by an exclamation point
(!).
<p>Class names are given in the internal form for a fully qualified
name used by the Java virtual machine (section 4.2 of the JVM
specification).
<p>This option represents our first attempt to answer a number of
requests to provide a report of the dependence information in a form
other than a Makefile, and is based in part on recent discussions
with Roger Hoover of NaturalBridge. Note that the format may change, as this is
a work in progress.
<p>Our intent is to provide a format suitable for writing tools that analyze dependence, and not to
provide the tools as part of the compiler itself.
<h3 align=center>Jikes for Linux Power PC</h3>
<p>Keith Clayton is now producing binaries of Jikes for Power PC. The
URL can be found in the "Ports" section.
<h3 align=center>Status, Plans </h3>
<p>We have still not had time to add all the 1.2-related command-line
options; look for them in the next version.
<p>We are still working through the 1.2 JCK (Java Compatibility Kit)
tests. There remain a small number of discrepancies in the results
that need to be sorted out. We also hope to have this done by the
next release.
<p>We have fallen behind responding to some of the recent mail and
bug reports while getting this version ready, and plan to deal with
the backlog as soon as we work through the 1.2 tests.
<h3 align=center>Building Jikes with Microsoft's C++ compiler</h3>
<p> We have cautioned in the past about using Microsoft's compiler to
build Jikes since we had noted some different results in some of the
floating-point arithmetic tests in version 1.1.4 of Sun's JCK. We
recently re-ran these tests using a version of Jikes compiled with
version 6.0 of Microsoft's Visual C++ compiler, and found that while
this version failed one test that passed using our current (IBM)
compiler, it also passed another test that failed when using Jikes
built using the IBM C++ compiler. Both problems were in the fringe
area of floating-point support. In any event, we no longer see any
reason not to use VC++ to compile Jikes.
<p>We will also review the use of Microsoft's compiler after
completing the review of 1.2 test results, as this version of the JCK
contains a large amount (about 200,000 lines) of tests of
floating-point arithmetic.
<h2 align=center>Jikes News: 16 March 1999</h2>
<h3 align=center>New Stable Version, v0.47</h3>
<p>We have updated the stable version on alphaworks Jikes to v0.47.
Note that the URL for Jikes on alphaworks is now
<a href="http://www.alphaworks.ibm.com/tech/jikes">
http://www.alphaworks.ibm.com/tech/jikes</a>
<p>We're almost done adding the 1.2-related changes to Jikes.
Remaining work includes some new options, and some outstanding bug fixes; we expect to put this out soon.
<h3 align=center>Improved access to CVS tree</h3>
<p>Ken Coar is helping to provide better access to the CVS source
tree. We plan to make available a mailing list whose subscribers
will receive an e-mail in "patch" form for each source commit as it
is made, and plan also to offer "cvsweb" access, in the same form as
used by the Apache group; see for example
<a href="http://www.apache.org/websrc/cvsweb.cgi">Apache cvsweb server</a>
<p>We have also dropped the <code>latest-cvsjikes_tar.gz</code> file,
as we have found it more convenient and useful to provide new
versions in both binary and source form, rather than to provide just
a snapshot of the CVS tree, in a form only useful to those with CVS
and willing to compile the source.
<h2 align=center>Jikes News: 19 February 1999</h2>
<h3 align=center>Development V0.44 available</h3>
<ul>
<li>Bug fixes, including one for the problem using Swing reported by a number of users.</li>
<li>The <code>+$</code> option has been dropped.</li>
<li>The <code>+V</code> option is now <code>+P</code> (pedantic).</li>
<li>Improved Makefile support for HP-UX/gcc, FreeBSD.</li>
<li>New file <code>contrib.htm</code> to (eventually) include list of contributors to the code.</li>
</ul>
<h2 align=center>Jikes News: 12 February 1999</h2>
<h3 align=center>V0.43 available, adds support for Java 1.2</h3>
<p>Version 0.43 supports the Java 1.2 (aka Java 2) language changes.
<h3 align=center>"Development" and "Stable" versions</h3>
<p>Beginning with this release, we will distinguish the "development"
version of Jikes from a "stable" version. We will first publish
development versions on our Research web site, and will promote a
version to stable status by publishing it on the alphaworks site only
after it has survived a few days of use in the field.
<p>If you are just interested in using Jikes to compile your program
then you should
<a href="http://www.alphaworks.ibm.com/formula/jikes">Download the stable
version</a>. We will announce a new stable version only after
alphaWorks has published it, via our mailing lists; you can subscribe
via
<pre>
echo subscribe | mail [email protected]
</pre>
<p>We will also discontinue publishing the source for the test suite and
parser generator at alphaWorks, and only provide it from the Research
site.
<p>If you wish to live on the "bleeding edge" and work with
development versions as they appear, then you should
<a href="http://www.ibm.com/research/jikes/download">
Download the development version</a>.
You should also follow the relevant mail lists:
<pre>
echo subscribe | mail [email protected]
echo subscribe | mail [email protected]
echo subscribe | mail [email protected]
echo subscribe | mail [email protected]
</pre>
<h3 align=center>Ports for OS/2, FreeBSD available</h3>
<p>The Ports section now has links to these new distributions.
<h3 align=center>Jikes for Solaris</h3>
<p>We currently provide a binary version for Solaris Sparc built using IBM's C++ compiler.
<p>We understand some users working with the source use Sun's
compiler while others use gcc or egcs. We have gotten a number of
e-mails and patches related to the Solaris version, and have updated
the Makefile. We would like to clear up any outstanding issues soon
and ask our Solaris users to try to build the compiler on their
system and report any problems.
<p>Note that some users have reported problems relating to use of
"IFDIR", etc. If you have similar problems review file
<code>config.h</code> especially the section re
<code>STAT_POSIX</code> near the start, as you may need to specify
<code>-DSTAT_POSIX</code> in the Makefile.
<p>We would also appreciate a volunteer willing to build binary
versions for Solaris Intel and publish them on the web. Let us know
if you are interested and we will add the URL to the Ports section.
<h3 align=center>What is the Jikes Discussion Database? When do I need to use it?</h3>
<p>From time to time you may see mention of the "Jikes Discussion
Database", usually as part of a note about a problem report.
<p>We started the database about one year ago. It's a Lotus Notes
Database, published to the web using Lotus Domino. You can access it
via
<a href="http://domino.watson.ibm.com/syssftpr/JavaTech/Jikes.nsf">Jikes Discussion Database</a>.
There is also a link to it on the main Jikes page at Research.
<p> It was our main vehicle for communicating with our users before
releasing the source, and contains problem reports, suggestions,
comments, e-mail with Sun, etc.
<p>Though we now publish files and news on our web site, we continue
to use the Database for the following:
<ul>
<li>Filing problem reports and tracking their status.</li>
<li>Publishing queries to Sun about the language specification, and Sun's responses.</li>
<li>Occasional publication of pre-release source and binaries for checking out a bug
fix before we put up a new version.</li>
</ul>
<p>The user interface leaves much to be desired. You will be presented with an initial page
giving instructions. Click on "By Topic" to proceed.
<h2 align=center>Jikes News: 4 February 1999</h2>
<h3 align=center>Downloads now available from Jikes Web Page</h3>
<p>We will now publish new releases first on our web page. New
releases will include a snapshot of the CVS source tree at the time
of the release, flattened copies in "zip" and "gzip" form of the
sources for those who just want to work with particular parts or who
don't have CVS, and binaries that we have built from the sources.
Part of building a release is running the tests available to us.
<h3 align=center>"Latest CVS snapshot" section added</h3>
<p>We will try to publish snapshots of the CVS source tree at
frequent intervals. Note that we make no promises about the snapshots
-- the compiler might not even compile, we might not have done any
testing, etc.
<h3 align=center>Source for Jikes Parser Generator</h3>The source for the Jikes
Parser Generator Source is now available in the CVS source tree. It
is not included in the v0.42 snapshot (which we have already
prepared). It is included in the initial "latest" snapshot.
<h2 align=center>Jikes News: 2 February 1999</h2>
<h3 align=center>Revised license; separation of compiler source and test suite</h3>
<p>We are now using a revised license that we believe
answers many of the objections raised to the license released in
December, though we wouldn't be surprised to see more objections
raised about the "termination" clause. We are now using the same
language for "termination" as the SecureMailer source release
(available from alphaWorks). As always, address questions and
comments about licensing issues to the mail list
<code>[email protected]</code>. You must subscribe before
you can post; instructions on subscribing can be found on the Jikes home page.
<p>Since we anticipate that the compiler source and test suite source
will not always be updated at the same time, we have separated them.
This also avoids having the "60 per cent" rule apply to their
aggregation; it now applies to each separately. The same license is
used for each, except for the name: "Jikes Compiler" and "Jikes Test
Suite", respectively. The current release is v0.42 (CVS tag <code>v0-42</code>) for the compiler,
v1.0 (CVS tag <code>v1-0</code>) for the test suite.
<h3 align=center>Clarification of license terms for binary distributions</h3>
<p>Several users noted that the binaries on alphaWorks were still
governed by the standard alphaWorks license, one that does not allow
commercial use and expires after 90 days. We now use the same license
for binary distributions as for the source, since after all our
binary distributions are just a redistribution of the source in
binary form.
<h3 align=center>Version v0.42</h3>
<p>We have released a new version of the compiler. This includes a
number of bug fixes:
, for Problem Reports 270, 297, 298, 300, 302,
304, 306, 308, 309, 311, 312, 313, 315, 320, 321, 324, 326, 331, and 335.