This repository has been archived by the owner on Sep 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
2185 lines (1626 loc) · 85.9 KB
/
ChangeLog
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
2017-06-10 Rich Coe <[email protected]>
* create LICENSE file from Sun JDK
2015-09-22 Rich Coe <[email protected]>
* use bison instead of jbison
2014-11-13 Paul Hilfinger <[email protected]>
Version 6.4.1
* lib/emacs/lisp/gjdb.el: Expand environment variables and leading ~
as originally intended.
2014-11-05 Paul Hilfinger <[email protected]>
Version 6.4.0
* src/ucb/gjdb/ExceptionSpec.java (toString): Add disabled and ignored
information.
* src/ucb/gjdb/BreakpointSpec.java (toString): Ditto.
* src/ucb/gjdb/WatchpointSpec.java (toString): Ditto.
* src/ucb/gjdb/CommandLexer.jf: Add "enable", "disable", catch" keywords.
* src/ucb/gjdb/CommandParser.y: Add "enable", "disable" command syntax.
* src/ucb/gjdb/GJDB.y: Add usage messages for "enable", "disable",
and "info catch".
* src/ucb/gjdb/EventRequestSpec.java (constructor): Initialize enabled.
(resolve): Check disabled status.
(resetCount): Enable event spec. Remove COUNT_MARKER when ignore count
at -1.
(ignored): New method.
(isEnabled): New method.
(setEnabled): New method.
* src/ucb/gjdb/Commands.java (commandEnable): New method.
Version 6.3.1
* src/ucb/gjdb/VMConnection.java (containsClass): Fix to properly
prefix with directories in path (currently ignores path).
2014-11-04 Paul Hilfinger <[email protected]>
* Version 6.3.0
Add 'set prefix' command.
* src/ucb/gjdb/GJDB.java (helpMsgs): Add documentation for
"set print prefix".
* src/ucb/gjdb/Env.java (printHeaderFormat): Add variable for print
prefix format.
* src/ucb/gjdb/Commands.java (commandSet): Add set print prefix
command.
(doPrint): Implement print prefix.
* src/ucb/gjdb/CommandParser.y: Add 'set print prefix' syntax.
* src/ucb/gjdb/CommandLexer.jf: Add 'set print prefix' keywords.
2014-09-09 Paul Hilfinger <[email protected]>
Fixes to long-standing assignment problem. Previously, the command
set var X = EXPR
would work only for EXPRs that did not involve restarting the thread.
If EXPR contained a method call or the 'new' operator, in particular,
the assignment would fail, because evaluation of the local variable
X into an lvalue would save the frame at the time of that evaluation
in the LValueLocal object representing the variable. Then EXPR would
be evaluated, invalidating the frame, and only then did the assignment
take place. The fix is to save the frame-getter (type GetFrame) instead
of the frame.
* Version 6.2.7
* src/ucb/gjdb/LValue.java: (LValueLocal.LValueLocal, .getValue, and
.setValue0): Save a GetFrame rather than a StackFrame and regenerate
the StackFrame for each use.
(makeName): Use new API for LValueLocal.
* Reindent most source files in ucb.gjdb.
2013-12-22 Paul Hilfinger <[email protected]>
* Version 6.2.6
* src/ucb/gjdb/CommandParser.y (file_specs): Correct error with
redirection in run command.
2013-09-15 Paul Hilfinger <[email protected]>
* configure: More on revision of apphome finding.
2013-09-14 Paul Hilfinger <[email protected]>
* Version 6.2.5
* configure (apphome): Try to find apphome from Java itself by
default.
* Javahome.java: New file.
2013-07-01 Paul Hilfinger <[email protected]>
* Version 6.2.4
* lib/emacs/lisp/gjdb.el: Rewrite goto-line use to avoid usage warning.
* Use #' to quote lambda.
2012-09-17 Paul Hilfinger <[email protected]>
* Version 6.2.3
* lib/emacs/lisp/gjdb.el (gjdb-init): Enable file completion.
2009-11-13 Paul Hilfinger <[email protected]>
* Version 6.2.2.
* src/ucb/gjdb/CommandException.java (CommandException): Add bullet-
proofing to exceptionless overloading.
2009-11-13 Paul Hilfinger <hilfingr@syracuse>
* src/ucb/gjdb/VMConnection.java: Try fetching only max available bytes
in dumpStream to avoid delaying printing.
2009-08-03 Paul Hilfinger <hilfingr@syracuse>
* Release version 6.2.1.
* src/ucb/gjdb/GJDB.java (usageError): Use noticeln properly.
2009-06-23 Paul Hilfinger <[email protected]>
* src/ucb/gjdb/Commands.java (shutdown): Clear the pendingStepRequests
so as not to use requests from old vms.
2009-06-22 Paul Hilfinger <[email protected]>
* src/ucb/gjdb/CommandLexer.jf: Add "return" keyword.
* src/ucb/gjdb/CommandParser.y: Add 'set print return on|off'.
(execute): Handle VMDisconnectedException.
* src/ucb/gjdb/GJDB.java (helpMsgs): Document 'set print return on|off'.
* src/ucb/gjdb/Commands.java (commandSet): Implement
'set print return'.
(commandStep): Ditto.
(methodExitEvent): Don't print void return values.
* src/ucb/gjdb/VMConnection.java (returnValue): New method.
(saveValue): Don't try to preserve values against GC. Update comments
accordingly.
(disposeVM): Synchronize, since there seem to be races.
(pruneHistory): Ditto.
(clearHistory): Ditto.
(preserve): Remove.
(retrieveHistory): Report when history value is GCed.
* src/ucb/gjdb/Env.java (printReturnValues): New parameter.
* src/ucb/gjdb/Commands.java (clearPreviousStep): Clean up.
(commandStep): Improve comment.
(commandMethods): Clean up.
(printThreadGroup, commandCommand, commandByteCodes):
StringBuffer => StringBuilder.
(clearPreviousStep): Remove thread argument and re-implement.
(commandStep): Add return-value capturing machinery.
(commandCond): Use printf style in call to ERROR.
(methodExitEvent): Capture and report return value, if possible.
(pendingStepRequests, stepTargetFrameCount): New fields for value
capturing.
* src/ucb/gjdb/Commands.java: Remove potential format insertions
in calls to notice, noticeln, error, errorln.
* src/ucb/gjdb/VMConnection.java: Ditto.
* src/ucb/gjdb/PatternReferenceTypeSpec.java: Ditto.
* src/ucb/gjdb/EventHandler.java: Ditto.
* src/ucb/gjdb/Env.java: Ditto.
(printReturnValues):
* src/ucb/gjdb/EventRequestSpecList.java: Ditto.
* src/ucb/gjdb/GJDB.java: Ditto.
* src/ucb/gjdb/CommandParser.y: Ditto.
2009-06-21 Paul Hilfinger <[email protected]>
* Release version 6.2.0.
* Update NEWS.
* src/ucb/gjdb/VMConnection.java: Move value history here:
(clearHistory, saveValue, retrieveHistory, getSaveKeys, preserve):
New functions.
* src/ucb/gjdb/Env.java: Remove value history from here:
(getSaveKeys, getSavedValue, setSavedValue): Remove.
(historyRetention): New parameter.
* src/ucb/gjdb/Commands.java (doPrint): Keep value history.
(doSave): Check for connectedness.
Use VMConnection.saveValue.
(commandSave): Check for connectedness.
Use VMConnection.retrieveHistory.
* src/ucb/gjdb/CommandParser.y: Check for connection in 'save'
commands.
Add "set history <n>"
* src/ucb/gjdb/CommandLexer.jf: Add "history" keyword.
* usr/ucb/gjdb/GJDB.java (helpMsgs): Document "set history <n>".
* src/ucb/gjdb/ExpressionParser.y: For INTERNALVAR, use
VMConnection.retrieveHistory.
Add HISTORYVAR.
* src/ucb/gjdb/ExpressionLexer.jf: Add HISTORYVAR.
* lib/emacs/lisp/gjdb.el: Change string-to-int => string-to-number.
* Makefile.in (VERSION): Bump to 6.2.0.
* src/ucb/gjdb/Env.java (description): Use standard Java
string-formatting methods.
(toHex,fromHex): Remove unused methods.
2008-12-10 Paul Hilfinger <[email protected]>
* Makefile.in (VERSION): Bump to 6.1.2.
* src/ucb/gjdb/CommandException.java (ERROR): Should return the
exception, not throw it.
* src/ucb/gjdb/CommandParser.y (execute): Split into two, one of which
allows for passing up CommandExceptions.
(syntax): Use check_connect in more places.
* src/ucb/gjdb/Commands.java (commandRepeat): Allow exception to halt
repetitions.
2008-11-17 Paul Hilfinger <[email protected]>
* Makefile.in (VERSION): Bump to 6.1.1.
* src/ucb/gjdb/CommandParser.y: Fix argument parsing for classpath,
sourcepath, source.
2008-03-12 Paul Hilfinger <[email protected]>
* Makefile.in (VERSION): Bump to 6.1.0.
Update NEWS.
* src/ucb/gjdb/CommandParser.y (tildeConvert): New function.
(shellConvert): New function.
(run_args, file_spec rules): Convert leading ~ notations, as for
shell.
2008-02-25 Paul Hilfinger <[email protected]>
* Makefile.in (VERSION): Make 5.12.4 into 6.0.0.
Update NEWS.
* Makefile.in (VERSION): Bump to 5.12.4.
* src/ucb/gjdb/CommandParser.y: Correct error that caused file_specs
to get thrown away.
2007-12-13 Paul Hilfinger <[email protected]>
* src/ucb/gjdb/EventHandler.java: Various changes in formatting
and coding style. Add comments.
2007-12-12 Paul Hilfinger <[email protected]>
* Makefile.in (VERSION): Bump to 5.12.3.
* src/ucb/gjdb/EventHandler.java (eventThread): Reformat.
(classPrepareEvent): Reformat and simplify.
* src/ucb/gjdb/EventRequestSpec.java (resolve): Remove ClassPrepare
request handling.
* src/ucb/gjdb/EventRequestSpecList.java (resolve): Check to see if
ClassPrepareRequest is no longer needed.
(resolveAll): Ditto.
(unresolveAll): Conservatively enable ClassPrepareRequest.
(addEagerlyResolve): Ditto.
(add): Ditto.
* src/ucb/gjdb/Env.java (setClassPrepareEnabled): New function.
* src/ucb/gjdb/VMConnection.java (setClassPrepareEnabled): New function.
(setEventRequests): Enable a ClassPrepareRequest.
* src/ucb/gjdb/PatternReferenceTypeSpec.java (createPrepareRequest):
Remove.
(checkClassName): Add check for name plausibility.
* src/ucb/gjdb/ReferenceTypeSpec.java (createPrepareRequest): Remove.
* Makefile.in (VERSION): Bump to 5.12.2.
* src/ucb/gjdb/CommandParser.y: Add 'set variable' command.
* src/ucb/gjdb/CommandLexer.jf: Add "variable" keyword.
Refactor keyword() out of command().
* src/ucb/gjdb/GJDB.java (helpMsgs): Document 'set variable'.
2007-12-10 Paul Hilfinger <[email protected]>
* Makefile.in (VERSION): Bump to 5.12.1.
* src/ucb/gjdb/VMConnection.java (notifyOutputComplete): Stylistic
change.
(waitForOutputComplete): Ditto.
* src/ucb/gjdb/Commands.java (trim): New method to trim Strings
properly (i.e., remove ONLY whitespace, not random control characters).
(TRIMMER): New constant used by trim.
(getUserSelections, run, commandCommand): Use new trim method.
(commandPrint): Remove waitValue.
2007-12-06 Paul Hilfinger <[email protected]>
* src/ucb/gjdb/EventRequestSpecList.java (createExceptionCatch):
Allow java.lang abbreviation.
* src/ucb/gjdb/PatternReferenceTypeSpec.java (<constructor>): Add
flag for checking for classes in java.lang.
(matches): Allow for abbreviation of types in java.lang.
2007-11-28 Paul Hilfinger <[email protected]>
* Makefile.in ($(JARFILE)): Add meta-gjdb.in installation, cleanup.
* configure: Add meta-gjdb.in configuration.
Add @builddir@ substitution.
* bin/meta-gjdb.in: New file.
2007-11-23 Paul Hilfinger <[email protected]>
* testing/test-01: Add tests for literals and printing formats.
* src/ucb/gjdb/ExpressionLexer.jf: Correct list of escape characters
for char literals.
* src/ucb/gjdb/LValue.java (formattedString): Correct typo to return
right string.
* src/ucb/gjdb/Commands.java (doPrint): Correct comment and improve
parameter name.
2007-11-22 Paul Hilfinger <[email protected]>
* src/ucb/gjdb/ExpressionLexer.jf: Add error case.
(unicodeConvert): New function.
(ExpressionLexer): Call unicodeConvert on input.
* src/ucb/gjdb/CommandLexer.jf: Add error case.
* src/ucb/gjdb/LValue.java (formattedInt): Add s, c cases.
(formattedString): New function.
(formattedInt): New function.
(toString(Value, char)): Format characters, strings.
(toString()): Produce some reasonable value.
* src/ucb/gjdb/GJDB.java (helpMsgs): Add new print format letters.
* src/ucb/gjdb/ExpressionParser.y (evaluate): Check for non-null VM.
(yylex): Pass on CommandExceptions.
* src/ucb/gjdb/CommandParser.y (yylex): Pass on CommandExceptions.
Allow more printing format characters.
* testing/Makefile: Spruce up.
* testing/test-01: Add tests for literals and formatted printing
of objects.
2007-11-22 Paul Hilfinger <[email protected]>
* src/ucb/gjdb/ExpressionParser.y: Remove unnecessary %token
definitions.
(LONGLIT,CAST): Remove unused terminals.
Add precedence to "^=" token.
Give syntax for ^=, &=, and |=.
Correct semantics of post-increment/decrement operators.
Replace use of DIM with "[]".
* testing/runscript.py: Close streams, just to be tidy.
* testing/makescript.py: Ditto.
Speed up getOutput using 'select'.
Pass through comments.
Add ??? and ?? markers to indicate expected output to makescript.
* testing/Prog1.java: Add boolean variable.
* testing/test-01: Add expected output indications as sanity check
for makescript.
Add assignment tests.
Add precedence tests.
Add structure-printing test.
2007-11-20 Paul Hilfinger <[email protected]>
* src/ucb/gjdb/Commands.java (ERROR_VALUE): Remove.
(doPrint,doSave): Remove test for ERROR_VALUE and handle
CommandException instead.
(evaluate): Add uncommentedSrc argument.
(doPrint): Print version of expression that has comments stripped.
* src/ucb/gjdb/LValue.java (toString): Change message.
(operation): Handle unary ops on floating-point types.
* src/ucb/gjdb/ExpressionLexer.jf: Replace license statement.
Modify comment handling to remove comments from source.
(uncommentedSource): New function.
(uncommentedSrc, charsRemoved): New fields to supported
uncommentedSource.
* src/ucb/gjdb/CommandLexer.jf: Ditto.
* src/ucb/gjdb/ExpressionParser.y:
Correct rule for parenthesized expression.
Correct code for && and ||.
Add comment explaining use of precedence to disambiguate names,
primaries, and postfixes.
Correct code for method calls.
Add syntax for simple call 'IDENT params'.
(evaluate): Add uncommentedSrc argument.
* testing/Prog1.java: New file
* testing/makescript.py: New file
* testing/runscript.py: New file
* testing/test-01: New file
* testing/Makefile: New file
2007-11-18 Paul Hilfinger <[email protected]>
* doc/gjdb.tex.in: Update documentation with new commands.
Adjust some formatting.
* src/ucb/gjdb/Commands.java (dump): Add new parameter to keep track
of what's already been printed and abbreviate, as for printing
circular structures in Lisp.
Use Java 1.5 for loops.
(commandLoadClass,doPrint): Use new dump interface.
* src/ucb/gjdb/CommandLexer.jf (lastCommand): New field.
(command): Save last command found.
* src/ucb/gjdb/CommandParser.y (yyerror): Produce more informative
error message.
* src/ucb/gjdb/GJDB.java (commandUsageMsgs): New function.
* cc-classes/ucb/tools/CommandParser.y:
Move to directory src/ucb/gjdb
* cc-classes/ucb/tools/CommandLexer.jf: Ditto.
* cc-classes/ucb/tools/ExpressionParser.y: Ditto.
* cc-classes/ucb/tools/ExpressionLexer.jf: Ditto.
* Makefile.in: Update to get rid of cc-classes, and substitute
directory src for classes.
* classes: Rename directory to src.
* configure: Update to use 'src' rather than 'classes'.
* All .java files: Change package to ucb.gjdb and move files
to src/ucb/gjdb accordingly.
2007-11-17 Paul Hilfinger <[email protected]>
* GJDB.LICENSES: New file.
* classes/ucb/tools/GJDB.java: Replace copyright notice
* classes/ucb/tools/CommandException.java: Ditto.
* classes/ucb/tools/Commands.java: Ditto.
* classes/ucb/tools/WatchpointSpec.java: Ditto.
* classes/ucb/tools/VMNotConnectedException.java: Ditto.
* classes/ucb/tools/ThreadIterator.java: Ditto.
* classes/ucb/tools/ThreadGroupIterator.java: Ditto.
* classes/ucb/tools/ReferenceTypeSpec.java: Ditto.
* classes/ucb/tools/SourceMapper.java: Ditto.
* classes/ucb/tools/PatternReferenceTypeSpec.java: Ditto.
* classes/ucb/tools/ModificationWatchpointSpec.java: Ditto.
* classes/ucb/tools/BadMemberNameException.java: Ditto.
* classes/ucb/tools/LineNotFoundException.java: Ditto.
* classes/ucb/tools/ExceptionSpec.java: Ditto.
* classes/ucb/tools/EventNotifier.java: Ditto.
* classes/ucb/tools/AmbiguousMethodException.java: Ditto.
* classes/ucb/tools/AccessWatchpointSpec.java: Ditto.
* classes/ucb/tools/VMConnection.java: Ditto.
* classes/ucb/tools/Env.java: Ditto.
* classes/ucb/tools/EventRequestSpecList.java: Ditto.
* classes/ucb/tools/EventRequestSpec.java: Ditto.
* classes/ucb/tools/BreakpointSpec.java: Ditto.
* classes/ucb/tools/EventHandler.java: Ditto.
* classes/ucb/tools/ThreadInfo.java: Ditto.
* classes/ucb/tools/LValue.java: Ditto.
* classes/ucb/tools/QuiescenceMonitor.java: Ditto.
* cc-classes/ucb/tools/CommandParser.y: Ditto.
* cc-classes/ucb/tools/CommandLexer.jf: Ditto.
* classes/ucb/tools/CommandLineSpec.java: Ditto.
* classes/ucb/tools/GetFrame.java: Ditto.
2007-11-17 Paul Hilfinger <[email protected]>
* classes/ucb/tools/GJDB.java: Rename old "delete" command to
"clear".
Use "delete" as a new command that deletes all kinds of stop request.
Rename old "ignore" command to "pass".
Use "ignore" as a new command that sets a skip counter on a breakpoint,
catch, or watchpoint (as in GDB).
* cc-classes/ucb/tools/CommandParser.y: Ditto.
* cc-classes/ucb/tools/CommandLexer.y: Ditto.
* classes/ucb/tools/Commands.java: Rewrite several places to
use 1.5 features.
Move code for event handlers.
(vmInterrupted): Add EventRequestSpec list argument.
(commandClear): Renamed from former commandDelete.
(commandDelete): New versions that handle request numbers only (of
all types).
(commandIgnore): New function.
(commandLoadClass): Make this print something reasonable and print
prompt when done.
(deleteRequestedEvents): Allow null argument.
* classes/ucb/tools/EventNotifier.java: New interface for
vmInterrupted.
* classes/ucb/tools/EventRequestSpecList.java (eventRequestSpecs):
Allow null argument.
* classes/ucb/tools/WatchpointSpec.java: Rewrite toString to use
Java 1.5 stuff.
* classes/ucb/tools/ExceptionSpec.java: Ditto.
* classes/ucb/tools/BreakpointSpec.java (condition, commands)
(getCondition,getCommands,setCommands,setCondition): Move to
EventRequestSpec.java.
(<constructor>): Change interface to use unerased types.
(toString): Use 1.5 features.
(conditionSatisfied): Use getCondition().
* classes/ucb/tools/EventRequestSpec.java (condition, commands)
(getCondition,getCommands,setCommands,setCondition): Move here from
BreakpointSpec.java.
(resetCount): New method.
* classes/ucb/tools/Env.java (noticeln): Pass the additional arguments
to printf also.
* classes/ucb/tools/EventHandler.java (setEnables): Update to use
1.5 features.
(run): Collect and pass additional argument to vmInterrupted.
(breakpointEvent): Use resetCount.
(watchpointEvent): Ditto.
(exceptionEvent): Ditto.
* cc-classes/ucb/tools/CommandParser.y: Remove unnecessary %token
declarations.
* lib/emacs/lisp/gjdb.el (gjdb-remove): Send "clear" to inferior
rather than "delete".
2007-11-13 Paul Hilfinger <[email protected]>
* classes/ucb/tools/GJDB.java (STOP_COMMAND,COMMAND_DELIMITERS): Remove
(handler,annotate,input,monitorCommands,monitorCount)
(inputLine,yorn,shutdown,vmStartEvent,breakpointEvent)
(fieldWatchEvent,stepEvent,exceptionEvent,methodEntryEvent)
(methodExitEvent,otherEvent,needsLoc,vmInterrupted,printPrompt)
(printCurrentLocation,checkConnect,monitorCommand,unmonitorCommand)
(readCommand,readCommandFile,readCommandStream,run,annotatePosn): Move
to Commands.java or Env.java.
(expandCommand): Remove
(executeCommand,makeCommandStream): Remove; now part of
CommandParser.y, CommandLexer.jf.
(findConnector): Move to VMConnection.java
* classes/ucb/tools/CommandException.java (ERROR): New functions,
centralized here.
(getThrowable): New function.
(CommandException): Add provisions for extended messages, additional
Throwable argument.
* classes/ucb/tools/Commands.java: Implements EventNotifier
Introduce some Java 1.5 syntax, generics.
(COMMA,COMMA_AND_WHITE,BREAK_SEP,ARGLIST,ARGLIST_SEP): Remove.
(ERROR): Move all function to CommandException.
(evaluate): Change error reporting.
Make all overloadings package private.
(infoCmds,commandSendInput): Remove.
(printCurrentLocation,checkConnect,monitorCommand,unmonitorCommand):
Move here from GJDB.java
(commandBreak,commandBytecodes,commandCatch,commandCatchException)
(commandClass,commandClasspath,commandClasspathInfo,commandCommand)
(commandCond,commandCont,commandDelete,commandDisableGC)
(commandEnableGC,commandExclude,commandExcludeClear)
(commandExcludeSet,commandFields,commandFinish,commandFrame)
(commandIgnore,commandIgnoreException,commandInfo,commandInterrupt)
(commandKill,commandLine,commandLines,commandList,commandLoadclass)
(commandLock,commandMethods,commandMonitor,commandNext)
(commandPrint,commandPtype,commandRead,commandResume,commandRun)
(commandSave,commandSendInput,commandSet,commandSetArgs)
(commandSetClass,commandStep,commandStepi,commandSuspend)
(commandThread,commandThreadGroup,commandThreadlocks)
(commandThreadlocksAll,commandThreads,commandTrace,commandUnmonitor)
(commandUntrace,commandUnwatch,commandUp,commandUse,commandVersion)
(commandWatch,commandWhere,doDisableGC,doSave,doPrint,doLock)
(doEnableGC):
Remove all Tokenizer arguments and parsing (now done in
CommandParser and CommandLexer).
(commandRun): Adjust message.
(commandStep): Add repetition argument.
(parseExceptionSpec,parseBreakpointSpec,parseWatchpointSpec): Remove.
Functionality is now in CommandParser.
(inputLine,yorn,shutdown,vmStartEvent,breakpointEvent)
(fieldWatchEvent,stepEvent,exceptionEvent,methodEntryEvent)
(methodExitEvent,otherEvent,needsLoc,vmInterrupted,printPrompt):
Move here from GJDB.
* classes/ucb/tools/GetFrame.java: Extract from parser.
* classes/ucb/tools/Tokenizer.java: Remove.
* classes/ucb/tools/ParseException.java: Remove.
* classes/ucb/tools/CommandLineSpec.java: New file
* cc-classes/ucb/tools/CommandLexer.jf: New file.
* cc-classes/ucb/tools/CommandParser.y: New file, containing
parsing from Commands.java.
Add count argument to next, step, stepi.
* cc-classes/ucb/tools/VMConnection.java (parseCommandLine): Remove.
(VMConnection): Change API to use CommandLineSpec.
* cc-classes/ucb/tools/Env.java: Various updates to Java 1.5
(annotate): Move here from GJDB.
(cmdArgs): Remove, and replace with
(commandLine): New field.
(lastBreakpointSet): Move to Commands.
(error,errorln,notice,noticeln): Add String.format-style arguments.
(splitToList): Remove.
(setExcludes,addExcludes): Change API.
* cc-classes/ucb/tools/EventRequestSpecList.java: Various
updates to Java 1.5
* cc-classes/ucb/tools/BreakpointSpec.java: Various
updates to Java 1.5
(evaluate): Remove reference to ParseException.
* cc-classes/ucb/tools/EventHandler.java: Moake more fields private.
* cc-classes/ucb/tools/LValue.java (invokeWith,setValue0,setValue)
(memberLValue,superLValue,interiorGetValue,arrayElementLValue)
(invokeMethod,newInstance,invokeWith,LValueInstanceMember,getValue)
(LValueStaticMember,make,makeInteger,makeString,makeNull,makeThisObject)
(JVM_typeName,arrayClass,classByName,instanceOf,makeNewObject)
(makeArray,makeSimpleArray,nFields,makeName,stringValue,doAssign)
(booleanOperation,castPrimitive,operation):
Remove mentions of ParseException and update error reporting.
(ERROR): Move to CommandException.
(PERIOD): Remove.
(formattedInt): Change interface.
(toString): Simplify, change interface of some overloadings.
* Makefile.in: Add new files.
Update 'clean' definitions.
2007-11-02 Paul Hilfinger <[email protected]>
* cc-classes/ucb/tools/ExpressionLexer.jf (symbol): New function.
(regexps): Use symbol to compute return value.
Use yycharat where applicable, rather than yytext().charAt.
Add newline at end of file.
* cc-classes/ucb/tools/ExpressionParser.y (tokenMap): New mapping
from token denotations to syntactic categories.
(findQuotedToken): Find category for given "..."-style token.
(<static initializer>): Initialize tokenMap.
* classes/ucb/tools/GJDB.java (helpMsgs): numerous corrections
for consistency in description of operands.
2007-10-31 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.11.1.
Redo expression parsing entirely.
* cc-classes/ucb/tools/expr.jj: Remove.
* cc-classes/ucb/tools/ExpressionParser.y: New file.
* cc-classes/ucb/tools/ExpressionLexer.jf: New file.
* classes/ucb/tools/ProgramException.java: New file.
* classes/ucb/tools/LValue.java: Remove all uses of old Token
class; use String instead.
* Makefile.in: Add new ExpressionParser and ExpressionLexer
files above, and remove expr.jj.
Change target 'all' to 'default'
Update *clean entries to be more robust.
* configure: Give srcdir full path name.
* doc/Makefile.in: Use srcdir instead of fsrcdir.
2007-10-26 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.10.2.
* configure: By default, install architecture-independent files
under PREFIX/share/gjdb.
* doc/pnhcolor.sty: Add file.
2007-10-25 Paul Hilfinger <[email protected]>
* README: Mention install-doc.
* configure: Update comment on --apphome.
Configure docdir.
* Makefile.in: Add install-doc target.
* doc/Makefile.in (gjdb.dvi): Change rm to rm -f.
Add install target.
Add .PHONY target.
Define DOCDIR.
* doc/handout.cls: Update to newer version.
* doc/programs1.sty: Ditto.
2007-10-25 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.10.1.
Changes for attach, listen, connect, detach commands.
* classes/ucb/tools/Env.java (relayInput): Make private.
(init): Augment spec with javaArgs and class path only when it is a
launch.
Use requestInputRelay.
(requestInputRelay): New method.
(shutdown): Use requestInputRelay.
* classes/ucb/tools/VMConnection.java (IOFromDebuggerPossible):
New field.
(allowsIO): New function.
(VMConnection constructor): Set IOFromDebuggerAllowed.
Set up arguments differently when launched vs. attached.
(disposeVM): Use .exit only for launched VMs.
(supportsSharedMemory,addressToSocketArgs): Moved here from
GJDB.java.
* classes/ucb/tools/Commands.java (getThread): Make private.
(typedName): Make private.
(checkPriorConnection): New function.
(commandRun): Use checkPriorConnection.
Remove handling of non-launching connectors.
(doAttach): New function refactored from code for -attach,
-listen[any], -connect for use in new attach, listen, connect
commands.
(commandAttach,commandListen,commandConnect,commandDetach): New
functions.
(commandSuspend,commandCont,commandStep,commandStepi,commandNext):
Use requestInputRelay.
* classes/ucb/tools/GJDB.java (helpMsgs): Document new attach,
listen, connect, and detach commands.
(vmInterrupted): Use requestInputRelay.
(allCmds): Add attach, listen, connect, detach.
(executeCommand): Add attach, listen, connect, detach.
(usage): Remove -attach, -listen[any], -connect.
(usageError): Use Env.noticeln.
(supportsSharedMemory, addressToSocketArgs): Move to VMConnection.
(main): Remove -attach, -listen[any], -connect.
Remove computation of connectSpec. This is now handled by run,
attach, listen, connect commands.
* doc/Makefile.in (.PHONY): Add target.
(docs): Change to doc. Modify to produce gjdb.tex in current
directory.
* doc/gjdb.tex: Rename to gjdb.tex.in.
Add subsection on attach, listen, connect.
* Makefile.in (DISTFILES): Change doc/*.tex to doc/*.tex.in.
2007-10-24 Paul Hilfinger <[email protected]>
* classes/ucb/tools/WatchpointSpec.java: Adjust indentation style
and remove tabs.
* classes/ucb/tools/AccessWatchpointSpec.java: Ditto.
* classes/ucb/tools/AmbiguousMethodException.java: Ditto.
* classes/ucb/tools/BadMemberNameException.java: Ditto.
* classes/ucb/tools/BreakpointSpec.java: Ditto.
* classes/ucb/tools/CommandException.java: Ditto.
* classes/ucb/tools/Commands.java: Ditto.
* classes/ucb/tools/Env.java: Ditto.
* classes/ucb/tools/EventHandler.java: Ditto.
* classes/ucb/tools/EventNotifier.java: Ditto.
* classes/ucb/tools/EventRequestSpec.java: Ditto.
* classes/ucb/tools/EventRequestSpecList.java: Ditto.
* classes/ucb/tools/ExceptionSpec.java: Ditto.
* classes/ucb/tools/GJDB.java: Ditto.
* classes/ucb/tools/LValue.java: Ditto.
* classes/ucb/tools/LineNotFoundException.java: Ditto.
* classes/ucb/tools/ModificationWatchpointSpec.java: Ditto.
* classes/ucb/tools/PatternReferenceTypeSpec.java: Ditto.
* classes/ucb/tools/QuiescenceMonitor.java: Ditto.
* classes/ucb/tools/ReferenceTypeSpec.java: Ditto.
* classes/ucb/tools/SourceMapper.java: Ditto.
* classes/ucb/tools/ThreadGroupIterator.java: Ditto.
* classes/ucb/tools/ThreadInfo.java: Ditto.
* classes/ucb/tools/ThreadIterator.java: Ditto.
* classes/ucb/tools/Tokenizer.java: Ditto.
* classes/ucb/tools/VMConnection.java: Ditto.
* classes/ucb/tools/VMNotConnectedException.java: Ditto.
* classes/ucb/tools/WatchpointSpec.java: Ditto.
2006-03-31 Paul Hilfinger <[email protected]>
* classes/ucb/tools/Env.java (insertExcludes, setIncludes)
(addExcludes, excludesString): Clean up and use Java 1.5 syntax.
(exclude): Remove method. Initialize class variable in
static block instead.
2006-03-29 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.9.3
* classes/ucb/tools/GJDB.java (usage): Add version ID to usage message
also.
* configure: Remove use of CONFIG_FILE environment variable and
document use as trailing configure parameter.
2006-03-19 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.9.2
* configure: Changes for Darwin.
* Makefile.in: Changes for Darwin
* bin/gjdb.in: Modify JDICLASSES to account for case on Darwin where
no library is needed.
2005-10-24 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.9.1
* classes/ucb/tools/LValue.java (toString): Handle null value
correctly.
2005-10-11 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.9
* classes/ucb/tools/GJDB.java (helpMsgs): Document new formatting
option on print.
(executeCommand): Add format option for calls to commandPrint.
* classes/ucb/tools/Commands.java (dump): Add format argument for
integer numeric formats.
(doPrint): Ditto.
(commandPrint): Ditto, and add parsing for format option after "/".
(PRINT_OPTIONS_PATN): Pattern for print options.
* classes/ucb/tools/LValue.java (makeInteger): Handle octal
and hexdecimal literals correctly.
(decode): New function.
(toString): New overloadings for printing formatted numeric values.
(formattedInt): New function.
2005-08-02 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.8
* lib/emacs/lisp/gjdb.el (gjdb-find-expr): Modify to look only for
surrounding variable or field selection when region is inactive.
(gjdb-locals): New function.
(gjdb-init): Add info locals to menu.
Correct label on Print Details menu entry.
Correct name of buffer when there are extra parameters.
* doc/gjdb.tex: Correction description of "Print" menu item.
* classes/ucb/tools/Env.java (classPath): New variable (separate from
connectSpec).
(javaArgs): Ditto.
(init): Add Java options now, rather than before constructing
VMConnection.
* classes/ucb/tools/Commands.java (commandClasspathInfo): Renamed
from old commandClasspath.
(commandInfo): Use renamed commandClasspathInfo.
(commandClasspath): New function (old function of same name renamed to
commandClasspathInfo).
(commandLoadclass): New function.
* classes/ucb/tools/GJDB.java (helpMsgs): Document new classpath
command.
Document new loadclass command.
Document new clear command (as synonym for delete).
Slight format change to sourcepath.
(allCmds): Add classpath, clear, loadclass.
(executeCommand): Add classpath command.
Add clear command (synonym for delete).
Add loadclass command.
(main): Handle classpath argument separately from other arguments
to java command.
Separate setting of initial values (style).
2005-07-31 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.7
* classes/ucb/tools/LValue.java (stringValue): Remove extraneous
parentheses from Object + String and String + Object cases.
* classes/ucb/tools/Commands.java (commandDelete): Allow multiple
BP specifications in one delete command.
* classes/ucb/tools/GJDB.java (helpMsgs): Update delete command
documentation.
* classes/ucb/tools/EventRequestSpecList.java (resolve): Remove
invalid specifications from event request list.
(addEagerlyResolve): Ditto.
2005-03-20 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.6
* classes/ucb/tools/GJDB.java (allCmds): Add dumpall, da commands.
(helpMsgs): Documents dumpall, da commands. Indicate that print
does not print static fields.
(executeCommand): Add dumpall, da commands.
Use new parameter to evaluator.commandPrint.
* classes/ucb/tools/Commands.java (dump): Add wantStatics
argument, and print static fields only if true.
(doPrint): Add wantStatics parameter.
(commandPrint): Add wantStatics parameter.
2004-12-03 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.5.
* classes/ucb/tools/PatternReferenceTypeSpec.java
(ANONYMOUS_TAIL): Correct pattern.
(anonymousBaseName): Correct substring returned.
2004-10-20 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.4.
* classes/ucb/tools/GJDB.java (allCmds): Add "source" to the list.
2004-10-01 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.3.
* classes/ucb/tools/LValue.java (makeString): Use parseCharsToken.
(makeCharacter): Ditto.
(parseCharsToken): New function to convert string and character
literal escapes.
2004-09-03 Paul Hilfinger <[email protected]>
* Makefile.in (zip): New target.
Set version to 5.2.
* configure: Remove jdilib parameter.
Juice up the automated search for apphome a bit.
2004-08-28 Paul Hilfinger <[email protected]>
* Makefile.in: Set version to 5.1.
* classes/ucb/tools/GJDB.java (main): Update command-line
arguments for Java 1.5.
Update copyright notice.
2004-05-13 Paul Hilfinger <[email protected]>
* classes/ucb/tools/Commands.java (commandClasses): Update copyright
notice.
* classes/ucb/tools/PatternReferenceTypeSpec.java: Updates for
Java 1.5 changes in anonymous class names.
Update copyright date.
(anonymousBaseName): New function.
(isAnonymousClassSuffix): Use Patterns and Matchers.
(matches): Use anonymousBaseName.
2004-05-07 Paul Hilfinger <[email protected]>
* Makefile.in: Version 3.54
Update for Java 1.5: specifically, need changes for
new version of javacc:
ASCII_UCodeESC_CharStream => JavaCharStream.
Also clear out javacc-generated sources before recreating.
2004-01-06 Paul Hilfinger <[email protected]>
* Makefile.in: Version 3.53.
* classes/ucb/tools/Commands.java (getUserSelections): Allow "a"
or "A" for "yes", and "0" for "no".
* classes/ucb/tools/GJDB.java (yorn): Add generalized version that
allows additional one-character synonyms for "yes" and "no".
(yorn): Use generalized version for one-argument version.
* classes/ucb/tools/VMConnection.java (displayRemoteOutput):
No longer cause fatal error on IOException from child.
2002-10-15 Paul Hilfinger <[email protected]>
* Makefile.in: Version 3.51.
* classes/ucb/tools/LValue.java (booleanOperation): Handle the case
where at least one operand is null.
2002-09-25 Paul Hilfinger <[email protected]>
* classes/ucb/tools/GJDB.java (helpMsgs): Document 'call'.
* doc/gjdb.tex: Ditto.
* classes/ucb/tools/Commands.java (commandRun): Always shutdown
and re-initialize to assure things are clean.
2002-08-12 Paul Hilfinger <[email protected]>
* Makefile.in: Version 3.50.
* lib/emacs/lisp/gjdb.el (gjdb-format-command): Correct a type
problem with Emacs 21.
* README: Add instructions for loading gjdb.el in .emacs.
* lib/emacs/lisp/gjdb.el (gjdb-init): Use 'split-string' instead
of 'gud-chop-words'.
* classes/ucb/tools/Commands.java (infoCmds): Add "stack".
(commandInfo): Ditto.
* classes/ucb/tools/GJDB.java (allCmds): Add special-case
abbreviations from GDB, such as 's', 'n', 'c', 'bt', etc.
Add backtrace, info stack.
(executeCommand): Ditto.
(helpMsgs): Add documentation for new abbreviations and aliases.
2002-02-28 Paul Hilfinger <[email protected]>
* NEWS: New file.
* Makefile.in: Add NEWS entry to distributed files.
Distribute only gjdb.el from elisp library.