Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
308 commits
Select commit Hold shift + click to select a range
6f6463e
latest updates
markro49 Jun 25, 2025
7bc20bd
cleanup junit debugging
markro49 Jun 26, 2025
3318430
turn on operand stack calculating
markro49 Jun 26, 2025
e3cf7eb
add some missing wide opcodes
markro49 Jun 26, 2025
cbf2cab
add ability to creat tage frame local
markro49 Jul 3, 2025
6332a23
update documentation
markro49 Jul 3, 2025
25bf9ec
calc operand stack complete; instrument instruction complete; fix tag…
markro49 Jul 3, 2025
44365c4
fix error prone warnings; reduce debug output
markro49 Jul 3, 2025
995de95
remove warning for JNI access to native code
markro49 Jul 9, 2025
5a77df2
add support for native methods
markro49 Jul 9, 2025
ce79722
code clean up; native methods; load/store fields
markro49 Jul 9, 2025
5d2be86
deal with methods that have no code
markro49 Jul 11, 2025
629e6a3
remove errorprone warning
markro49 Jul 11, 2025
c9f5b1f
improve equals method
markro49 Jul 17, 2025
bd657e3
JUnit test classes; sort operand stack work list by address
markro49 Jul 17, 2025
e843ab6
clean up internal exception handling
markro49 Jul 23, 2025
160f27a
forgot new file
markro49 Jul 24, 2025
cd03412
fix parameter names
markro49 Jul 30, 2025
1b81d28
improve debug info
markro49 Jul 30, 2025
079ef18
don't instrument Chicory
markro49 Jul 30, 2025
858a9a2
fix param names, clinit, several more issues
markro49 Jul 30, 2025
e6f222d
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-2
markro49 Jul 30, 2025
8751f44
Merge ../daikon-branch-master into java-24-dcomp-2
mernst Aug 14, 2025
4b6d344
fix typo
markro49 Aug 22, 2025
e50c4d9
temp change - don't run juint5 test on jdk 24
markro49 Aug 22, 2025
0bc85fd
switch to new dyncomp jdk 24 instrumentation
markro49 Aug 22, 2025
2358d6b
corrections to local var and parmeter analysis
markro49 Aug 22, 2025
13a4d96
correct junit test discovery and isTargetInstrumented
markro49 Aug 22, 2025
5b77cd8
remove some debugging code
markro49 Aug 22, 2025
ec3f3e5
remove more debug code
markro49 Aug 23, 2025
c0bf7c4
turn off more debug output
markro49 Aug 23, 2025
606a21a
temp change - don't run junit5 on jdk 24 for diffs or txt-diff targets
markro49 Aug 23, 2025
825f310
source code cleanup
markro49 Aug 26, 2025
d0fd685
fix format errors
markro49 Aug 26, 2025
5483f4a
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-2
markro49 Sep 2, 2025
ebf4f64
remove unused code
markro49 Sep 3, 2025
d14de53
complete toString for method name
markro49 Sep 3, 2025
3d8a96a
start work on BuildJDK24; remove duplicated code
markro49 Sep 3, 2025
d26c1a3
turn off some debugging
markro49 Sep 3, 2025
9f1f808
make method public for BuildJDK24 to use
markro49 Sep 5, 2025
5131aec
fix problem with ClassDesc for null
markro49 Sep 5, 2025
50d2fd9
get BuildJDK24 working
markro49 Sep 5, 2025
c5b06c0
Update java/daikon/dcomp/BcelUtils24.java
markro49 Sep 7, 2025
013d9de
add missing javadoc
markro49 Sep 7, 2025
d0fb80d
coderabbitai suggested changes
markro49 Sep 8, 2025
2832a64
fix javadoc @link
markro49 Sep 9, 2025
9e5be62
get daikon-tests passing with BuildJDK24
markro49 Sep 10, 2025
a712bdc
fix null checker issue
markro49 Sep 10, 2025
94cfe26
fix signature checker issue
markro49 Sep 10, 2025
4d0130d
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-2
markro49 Sep 11, 2025
0c38849
fix issue and turn on BuildJDK24
markro49 Sep 11, 2025
5b7b2aa
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-2
markro49 Sep 11, 2025
119de2e
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-2
markro49 Sep 11, 2025
e75ee35
clean up some comments
markro49 Sep 11, 2025
c6162e9
correct new sed command
markro49 Sep 11, 2025
ce70ed8
more comment clean up
markro49 Sep 11, 2025
0f79aac
Merge ../daikon-branch-master into java-24-dcomp-2
mernst Sep 16, 2025
d24c1d3
Merge ../daikon-branch-master into java-24-dcomp-2-merge-master
mernst Sep 17, 2025
83fdf23
Merge pull request #15 from markro49/java-24-dcomp-2-merge-master
mernst Sep 18, 2025
67c9593
Don't use helper method to initialize fields
mernst Sep 18, 2025
8ee2da1
Merge ../daikon-branch-master into java-24-dcomp-2
mernst Sep 18, 2025
435d72f
Merge ../daikon-branch-master into java-24-dcomp-2
mernst Sep 18, 2025
24b2171
Clean more generated files
mernst Sep 18, 2025
a7961b6
Use `List` rather than `ArrayList`
mernst Sep 18, 2025
46e0232
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-2
markro49 Sep 19, 2025
62e36e9
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-2
markro49 Sep 23, 2025
0ac8e2c
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-2
markro49 Sep 30, 2025
9542106
recommended changes from PMD
markro49 Sep 30, 2025
6f59eb8
a new pull request of DynComp for Java 24 to get CodeRabbit to run
markro49 Oct 3, 2025
4bd3e28
remove extra blank line
markro49 Oct 3, 2025
050743f
remove static from declaration of interfaceList
markro49 Oct 3, 2025
fd5124a
use consistent capitalization of JUnit
markro49 Oct 3, 2025
2ff01b1
remove unneeded suppression
markro49 Oct 4, 2025
2b5affa
correct type of 'this' parameter
markro49 Oct 4, 2025
c46e3da
clean up exception handling
markro49 Oct 4, 2025
ae17039
make interfaceList private instance variable
markro49 Oct 4, 2025
ad47d6e
clean up FIle usage
markro49 Oct 4, 2025
247edd4
clean up and correct LDC implementation
markro49 Oct 5, 2025
0a02d79
rearrange code to prevent npe
markro49 Oct 5, 2025
e39f6ae
Code review of `MethodGen24.java`
mernst Oct 5, 2025
efc663c
Edits at beginning of Instrument
mernst Oct 5, 2025
1c2d2a7
Merge ../daikon-fork-markro49 into java-24-dcomp-2
mernst Oct 5, 2025
22330cc
Merge ../daikon-fork-markro49-branch-java-24-dcomp-2 into java-24-dco…
mernst Oct 5, 2025
cbdca16
Merge ../daikon-fork-markro49-branch-java-24-dcomp-3 into java-24-dco…
mernst Oct 5, 2025
7d77b00
fix compilation error
markro49 Oct 5, 2025
8012222
reduce differences between Instrument and Instrument24
markro49 Oct 6, 2025
90a06bf
use JUnit not Junit
markro49 Oct 6, 2025
43bc22a
improve comments
markro49 Oct 6, 2025
8edc658
correct handling of LDC instruction
markro49 Oct 6, 2025
6fade13
improve comments
markro49 Oct 6, 2025
dca0a03
JUnit not Junit; correct many uses of arg to param
markro49 Oct 6, 2025
2e262fd
Merge remote-tracking branch 'upstream/java-24-dcomp-3' into java-24-…
markro49 Oct 6, 2025
23a63aa
Merge pull request #19 from mernst/java-24-dcomp-3-code-review-3
markro49 Oct 7, 2025
98c2f7b
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-3
markro49 Oct 7, 2025
0bbd246
Uniformize capitalization
mernst Oct 8, 2025
7e5c0d3
Merge branch 'java-24-dcomp-3' of github.com:markro49/daikon into jav…
mernst Oct 8, 2025
eae23b9
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-3
markro49 Oct 8, 2025
b458266
Code review changes for `Instrument24.java`
mernst Oct 15, 2025
03edb77
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Oct 15, 2025
3b5c23f
Update java/daikon/chicory/MethodInfo.java
mernst Oct 15, 2025
9dbdbac
Typo fix
mernst Oct 15, 2025
cd523f8
Merge branch 'java-24-dcomp-3' of github.com:markro49/daikon into jav…
markro49 Oct 15, 2025
48e5ae0
Update java/daikon/dcomp/BuildJDK24.java
mernst Oct 15, 2025
0fd6e02
Use (enum?) constant, not string
mernst Oct 15, 2025
7a0f8b4
Merge branch 'java-24-dcomp-3' of github.com:markro49/daikon into jav…
mernst Oct 15, 2025
682f59f
Revert change
mernst Oct 15, 2025
b2878ea
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Nov 26, 2025
f931d77
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Nov 26, 2025
d49c0b5
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Nov 26, 2025
7b0763d
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Nov 27, 2025
baf9230
Use `ArraysPlume.append()`
mernst Nov 27, 2025
fba7ac8
Edits in `ClassGen24.java`
mernst Nov 27, 2025
912bac5
Edits in `OperandStack24.java`
mernst Nov 27, 2025
fd060bd
Edits in `Instrument24.java`
mernst Nov 27, 2025
03fd528
Don't convert to string by concatenating with `""`
mernst Nov 27, 2025
5b869d1
Rename "arg" to "param"
mernst Nov 27, 2025
4d293c5
Edits in `BcelUtils24`
mernst Nov 28, 2025
24c2e64
All errors are unexpected
mernst Nov 28, 2025
38ae417
Use plume-util 1.12.3
mernst Nov 28, 2025
36f3f44
Update classpath
mernst Nov 28, 2025
e6b0daa
Don't use deprecated method
mernst Nov 29, 2025
3d82c66
Edits in `DCInstrument24.java`
mernst Nov 29, 2025
c0f580d
Edits in `CalcStack24.java`
mernst Nov 29, 2025
067811b
Use Checker Framework with plume-util 1.12.3
mernst Nov 29, 2025
b0fcae3
Use Checker Framework with plume-util 1.12.3
mernst Nov 29, 2025
8e5da0d
Merge ../daikon-branch-master into plume-util-1-12-3
mernst Nov 29, 2025
c5755aa
Typo fix
mernst Nov 29, 2025
b9ebfcb
Remove warning suppression
mernst Nov 29, 2025
b2bd7e9
Update CF
mernst Nov 29, 2025
a3852d3
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Nov 29, 2025
25cfd72
Merge ../daikon-fork-mernst-branch-plume-util-1-12-3 into java-24-dco…
mernst Nov 29, 2025
db580d5
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Nov 29, 2025
64dd280
Typo fix
mernst Nov 29, 2025
dea69bc
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Nov 29, 2025
aca11a4
Remove unneeded warning suppressions
mernst Nov 29, 2025
a148661
Write `@Identifier` on method names
mernst Nov 30, 2025
a8a90b5
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Dec 1, 2025
832e26a
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Dec 1, 2025
6db90a2
Improve output formatting
mernst Dec 1, 2025
fd1d97e
Remove warning suppression
mernst Dec 1, 2025
1fe641a
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Dec 1, 2025
ad70d8d
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Dec 1, 2025
d4c8c21
Remove warning suppressions
mernst Dec 1, 2025
d17f2e1
Add nullness annotation
mernst Dec 2, 2025
fbd027c
Reduce diffs
mernst Dec 2, 2025
21c7b9d
Reduce diffs
mernst Dec 2, 2025
d7e769a
Fix variable name
mernst Dec 2, 2025
0607b72
Address CodeRabbit comment
mernst Dec 2, 2025
20c9412
Mark target as phony
mernst Dec 2, 2025
f340008
rename BcelUtils24 and improve comments
markro49 Dec 2, 2025
801de1b
Refactor to avoid duplication
mernst Dec 3, 2025
94f88f3
Fix variable name
mernst Dec 3, 2025
ec1e1ac
Assert that `return_type != null`
mernst Dec 3, 2025
7d30d4d
Reduce code duplication
mernst Dec 3, 2025
202cc4b
Renamings and refactoring
mernst Dec 3, 2025
b101c05
Tweaks
mernst Dec 3, 2025
11118a3
Make nested class static
mernst Dec 3, 2025
e319d71
Renaming
mernst Dec 3, 2025
c2262e7
Trivial refactoring
mernst Dec 3, 2025
8afe9c2
Undo a change
mernst Dec 3, 2025
1e69a6b
Rename
mernst Dec 3, 2025
38d240c
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-renaming into java…
mernst Dec 3, 2025
c3d63ad
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-dcinstrument-pre i…
mernst Dec 3, 2025
b30daf7
Another minor refactoring
mernst Dec 3, 2025
c7a2193
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-minor-refactor int…
mernst Dec 3, 2025
c3baacf
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-dcinstrument-pre i…
mernst Dec 3, 2025
d152572
Reduce number of tests, reduce scope
mernst Dec 3, 2025
bfb88d2
Merge ../daikon-fork-mernst-branch-track-has-code into java-24-dcomp-…
mernst Dec 3, 2025
a3522ed
Fix renaming errors
mernst Dec 3, 2025
b5c145b
Fix?
mernst Dec 3, 2025
44f4042
Add `import` statement
mernst Dec 3, 2025
7affde8
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-minor-refactor int…
mernst Dec 3, 2025
00d000a
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-renaming into java…
mernst Dec 3, 2025
f8668e1
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-dcinstrument-pre i…
mernst Dec 3, 2025
96cc8eb
Annotations in `Instrument.java` and `Instrument24.java`
mernst Dec 4, 2025
ecc1080
Merge ../daikon-fork-markro49-branch-java-24-dcomp-3 into track-has-code
mernst Dec 4, 2025
393cec3
Merge ../daikon-fork-mernst-branch-track-has-code into java-24-dcomp-…
mernst Dec 4, 2025
95d897e
Merge ../daikon-fork-markro49-branch-java-24-dcomp-3 into java-24-dco…
mernst Dec 4, 2025
3b78c84
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-minor-refactor int…
mernst Dec 4, 2025
6b93771
Merge ../daikon-fork-markro49-branch-java-24-dcomp-3 into java-24-dco…
mernst Dec 4, 2025
2c9e350
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-renaming into java…
mernst Dec 4, 2025
0e73417
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-dcinstrument-pre i…
mernst Dec 4, 2025
beebc82
Reduce number of tests, reduce scope
mernst Dec 4, 2025
82bbfcb
Merge ../daikon-fork-markro49-branch-java-24-dcomp-3 into java-24-dco…
mernst Dec 4, 2025
41ef1da
Merge ../daikon-fork-markro49-branch-java-24-dcomp-3 into java-24-dco…
mernst Dec 4, 2025
ac870bc
Update method name
mernst Dec 4, 2025
60e054f
Trivial refactoring
mernst Dec 4, 2025
6ce18bd
Merge ../daikon-fork-markro49-branch-java-24-dcomp-3 into java-24-dco…
mernst Dec 4, 2025
3aae397
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-renaming into java…
mernst Dec 4, 2025
60b7bca
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-dcinstrument-pre i…
mernst Dec 4, 2025
5faea30
Renaming
mernst Dec 4, 2025
a5e8ce6
Merge ../daikon-fork-mernst-branch-java-24-dcomp-3-dcinstrument into …
mernst Dec 4, 2025
d341870
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Dec 4, 2025
d374d77
Improve warning suppressions
mernst Dec 5, 2025
244ba7e
partial response to pull request issues
markro49 Dec 5, 2025
2f6a099
fix javadoc
markro49 Dec 5, 2025
3a8ea2e
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-3
markro49 Dec 7, 2025
04585f1
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-3
markro49 Dec 8, 2025
3a0057d
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-3
markro49 Dec 8, 2025
6750d74
respond to pull rquest comments
markro49 Dec 8, 2025
5eff1fd
deal with invoke returning boolean, byte, char or short
markro49 Dec 9, 2025
baebb2b
getfield and getstatic need same integer fix
markro49 Dec 11, 2025
5503afe
fix lock checker error
markro49 Dec 11, 2025
09bd3e1
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Dec 15, 2025
86634a1
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Dec 15, 2025
d4ef177
respond to coderabbit suggestions
markro49 Dec 16, 2025
a0ea76c
fix annotation
markro49 Dec 16, 2025
9a51a83
undo incorrect suggestion from coderabbit
markro49 Dec 16, 2025
0fbcd4c
respond to coderabbit suggestions
markro49 Dec 16, 2025
657b783
respond to coderabbit suggestions
markro49 Dec 17, 2025
ed1cf5b
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Dec 21, 2025
3c652b8
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-3
markro49 Dec 30, 2025
5cb4b4d
respond to code reviews
markro49 Dec 30, 2025
816983f
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-3
markro49 Dec 30, 2025
e84937a
Merge remote-tracking branch 'upstream/master' into java-24-dcomp-3
markro49 Dec 31, 2025
0deaee9
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 5, 2026
6595997
Reduce use of `BcelUtil.javaVersion`
mernst Jan 5, 2026
ff249b6
Rename "arg" to "param"
mernst Jan 5, 2026
7e08b78
Add imports
mernst Jan 5, 2026
29e44fb
Typo fix
mernst Jan 5, 2026
127469e
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 5, 2026
7d23484
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 6, 2026
4009904
Improve documentation style
mernst Jan 7, 2026
92a7f75
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 7, 2026
0c2b231
Signature annotations
mernst Jan 7, 2026
887582c
Move cleaning step
mernst Jan 7, 2026
54858ad
Fixes
mernst Jan 7, 2026
42ba54f
Undo Makefile changes
mernst Jan 7, 2026
e9a3c3d
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 7, 2026
748a1db
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 7, 2026
070c3da
Rename variables for type descriptors
mernst Jan 7, 2026
062e7a2
Reduce diffs in constant names
mernst Jan 7, 2026
a294176
Documentation tweaks
mernst Jan 7, 2026
4847609
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 7, 2026
cacb911
Documentation improvements
mernst Jan 7, 2026
c2d1290
Typo fix
mernst Jan 7, 2026
92332e8
Merge branch 'java-24-dcomp-3' of github.com:markro49/daikon into jav…
mernst Jan 7, 2026
c415c8c
Variable renaming
mernst Jan 8, 2026
0b710d9
Conditional style
mernst Jan 8, 2026
ea46fb9
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 8, 2026
b220082
Reduce diffs with DCInstrument.java
mernst Jan 8, 2026
1b0b3dd
Reduce recomputation
mernst Jan 8, 2026
9fb1c2f
Use signature methods
mernst Jan 8, 2026
293d987
Merge branch 'java-24-dcomp-3' of github.com:markro49/daikon into jav…
mernst Jan 8, 2026
ebc1e2d
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 13, 2026
fc7e444
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 13, 2026
5d7db3e
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Jan 14, 2026
b7b41ac
Code review changes
mernst Feb 1, 2026
ff9cbfb
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Feb 1, 2026
102ec38
Merge ../daikon-branch-master into java-24-dcomp-3
mernst Feb 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -759,7 +759,7 @@ endif

update-bibtex2web:
ifndef NONETWORK
if test -d .utils/bibtex2web/.git ; then \
@if test -d .utils/bibtex2web/.git ; then \
(cd .utils/bibtex2web && (git pull -q || (sleep 1m && (git pull || true)))) \
elif ! test -d .utils/bibtex2web ; then \
(mkdir -p .utils && (git clone -q --depth=1 https://github.com/mernst/bibtex2web.git .utils/bibtex2web || (sleep 1m && git clone -q --depth=1 https://github.com/mernst/bibtex2web.git .utils/bibtex2web))) \
Expand All @@ -768,7 +768,7 @@ endif

update-checklink:
ifndef NONETWORK
if test -d .utils/checklink/.git ; then \
@if test -d .utils/checklink/.git ; then \
(cd .utils/checklink && (git pull -q || (sleep 1m && (git pull || true)))) \
elif ! test -d .utils/checklink ; then \
(mkdir -p .utils && (git clone -q --depth=1 https://github.com/plume-lib/checklink.git .utils/checklink || (sleep 1m && git clone -q --depth=1 https://github.com/plume-lib/checklink.git .utils/checklink))) \
Expand All @@ -777,7 +777,7 @@ endif

update-git-scripts:
ifndef NONETWORK
if test -d .utils/git-scripts/.git ; then \
@if test -d .utils/git-scripts/.git ; then \
(cd .utils/git-scripts && (git pull -q || (sleep 1m && (git pull || true)))) \
elif ! test -d .utils/git-scripts ; then \
(mkdir -p .utils && (git clone -q --depth=1 https://github.com/plume-lib/git-scripts.git .utils/git-scripts || (sleep 1m && git clone -q --depth=1 https://github.com/plume-lib/git-scripts.git .utils/git-scripts))) \
Expand All @@ -786,7 +786,7 @@ endif

update-html-tools:
ifndef NONETWORK
if test -d ${HTMLTOOLS}/.git ; then \
@if test -d ${HTMLTOOLS}/.git ; then \
(cd ${HTMLTOOLS} && (git pull -q || (sleep 1m && (git pull || true)))) \
elif ! test -d ${HTMLTOOLS} ; then \
(mkdir -p .utils && (git clone -q --depth=1 https://github.com/plume-lib/html-tools.git ${HTMLTOOLS} || (sleep 1m && git clone -q --depth=1 https://github.com/plume-lib/html-tools.git ${HTMLTOOLS}))) \
Expand All @@ -795,7 +795,7 @@ endif

update-plume-scripts-in-utils:
ifndef NONETWORK
if test -d ${PLUMESCRIPTS}/.git ; then \
@if test -d ${PLUMESCRIPTS}/.git ; then \
(cd ${PLUMESCRIPTS} && (git pull -q || (sleep 1m && (git pull || true)))) \
elif ! test -d ${PLUMESCRIPTS} ; then \
mkdir -p .utils && (git clone -q --depth=1 https://github.com/plume-lib/plume-scripts.git ${PLUMESCRIPTS} || (sleep 1m && git clone -q --depth=1 https://github.com/plume-lib/plume-scripts.git ${PLUMESCRIPTS})) \
Expand All @@ -804,7 +804,7 @@ endif

update-run-google-java-format:
ifndef NONETWORK
if test -d .utils/run-google-java-format/.git ; then \
@if test -d .utils/run-google-java-format/.git ; then \
(cd .utils/run-google-java-format && (git pull -q || (sleep 1m && (git pull || true)))) \
elif ! test -d .utils/run-google-java-format ; then \
(mkdir -p .utils && (git clone -q --depth=1 https://github.com/plume-lib/run-google-java-format.git .utils/run-google-java-format || (sleep 1m && git clone -q --depth=1 https://github.com/plume-lib/run-google-java-format.git .utils/run-google-java-format))) \
Expand Down
28 changes: 23 additions & 5 deletions java/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ JAVAC ?= javac
JAVADOC ?= javadoc
JAR ?= jar

BuildJDKTool = BuildJDK

Comment on lines +24 to +25
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Consider adding a documentation comment for BuildJDKTool.

The BuildJDKTool variable dynamically selects between BuildJDK and BuildJDK24 based on the Java version, but this purpose isn't immediately clear without reading the conditional logic below. A brief inline comment would help maintainers quickly understand its role.

# Selects BuildJDK or BuildJDK24 based on JAVA_RELEASE_NUMBER
BuildJDKTool = BuildJDK
🤖 Prompt for AI Agents
In @java/Makefile around lines 24 - 25, Add a brief inline comment above the
BuildJDKTool variable explaining its purpose: that BuildJDKTool selects either
BuildJDK or BuildJDK24 depending on the Java runtime version
(JAVA_RELEASE_NUMBER) so downstream targets can use a single name; reference the
conditional logic that changes BuildJDKTool to BuildJDK24 when
JAVA_RELEASE_NUMBER indicates Java 24+. Ensure the comment mentions
BuildJDKTool, BuildJDK, BuildJDK24, and JAVA_RELEASE_NUMBER for clarity.

# The "JAVANN" variables mean "at least version NN", except JAVA8.
JAVA_VERSION_STRING_WITH_EA := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2)
JAVA_VERSION_STRING := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2 | sed 's/-ea//')
Expand Down Expand Up @@ -48,6 +50,7 @@ endif
# Temporary, since Java 24 is not a LTS release.
ifeq ($(shell test ${JAVA_RELEASE_NUMBER} -ge 24; echo $$?),0)
JAVA24 := 1
BuildJDKTool = BuildJDK24
endif
ifeq ($(shell test ${JAVA_RELEASE_NUMBER} -ge 25; echo $$?),0)
JAVA25 := 1
Expand Down Expand Up @@ -535,13 +538,13 @@ endif
# compiled, but changing JDKs doesn't cause this Makefile to otherwise
# trigger re-execution.
.PRECIOUS: ChicoryPremain.jar
ChicoryPremain.jar : daikon/Chicory.class daikon/chicory/manifest.txt
ChicoryPremain.jar : daikon/Daikon.class daikon/chicory/manifest.txt
${JAR} cfm ChicoryPremain.jar daikon/chicory/manifest.txt \
daikon/chicory/ChicoryPremain.class

.PHONY: chicory chicory-test
chicory chicory-test : daikon/chicory/inv_out.diff
daikon/chicory/inv_out.diff : ChicoryPremain.jar daikon/Daikon.class
.PHONY: chicory-test
chicory-test: daikon/chicory/inv_out.diff
daikon/chicory/inv_out.diff: ChicoryPremain.jar
cd daikon/chicory && rm -f ChicoryTest.log ChicoryTest.dtrace.gz ChicoryTest.inv.gz ChicoryTest.inv.out
cd daikon/chicory && ${JAVA_COMMAND} daikon.Chicory --verbose --debug daikon.chicory.ChicoryTest > ChicoryTest.log || (cat ChicoryTest.log; false)
cd daikon/chicory && ${JAVA_COMMAND} daikon.Daikon --no_text_output --no_show_progress ChicoryTest.dtrace.gz
Expand Down Expand Up @@ -608,7 +611,7 @@ dyncomp-jdk dcomp-jdk : dcomp_rt.jar
${DCOMP_RT} dcomp_rt.jar : dcomp_premain.jar
/bin/rm -rf ${DCOMP_RT}
${INSTALL} -d ${DCOMP_RT}
${JAVA_COMMAND} -Xmx7g daikon.dcomp.BuildJDK ${DCOMP_RT}
${JAVA_COMMAND} -Xmx7g daikon.dcomp.${BuildJDKTool} ${DCOMP_RT}
# "then" clause is Java 8, "else" clause is Java 9+.
# For Java 9+, there appears to be a bug in the Java reflection invoke code that it
# does not check that the arg list matches. Hence, it tries to invoke
Expand Down Expand Up @@ -2062,6 +2065,21 @@ daikon/derive/unary/SequenceInitialFactoryFloat.java: daikon/derive/unary/Sequen
$(JAVA_CPP:DEFINEDVAR=TYPEDOUBLE)


###########################################################################
### Diffs
###

# Don't diff StackMapUtils24.java, ClassGen24.java, MethodGen24.java, or
# OperandStack24.java, because there are too many differences between the
# upstream version (in BCEL or in bcel-util) and the version in Daikon.
.PHONY: diff24
diff24:
-diff -u daikon/dcomp/Instrument.java daikon/dcomp/Instrument24.java
-diff -u daikon/dcomp/DCInstrument.java daikon/dcomp/DCInstrument24.java
-diff -u daikon/dcomp/BuildJDK.java daikon/dcomp/BuildJDK24.java
-diff -u daikon/chicory/Instrument.java daikon/chicory/Instrument24.java


###########################################################################
### Delete-on-error
###
Expand Down
4 changes: 4 additions & 0 deletions java/daikon/DynComp.java
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,10 @@ void start_target(String premain_args, String[] targetArgs) {
// allow DCRuntime to make reflective access to java.land.Object.clone() without a warning
cmdlist.add("--add-opens");
cmdlist.add("java.base/java.lang=ALL-UNNAMED");
if (Runtime.isJava24orLater()) {
// needed to eliminate warning for JNI access to native code
cmdlist.add("--enable-native-access=ALL-UNNAMED");
}
if (!no_jdk) {
// If we are processing JDK classes, then we need our code on the boot classpath as well.
// Otherwise, references to DCRuntime from the JDK would fail.
Expand Down
11 changes: 6 additions & 5 deletions java/daikon/chicory/ClassInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,14 @@ public class ClassInfo {
/** True if the class has a class initializer. */
public boolean hasClinit;

/** True if the class is a JUnit test class. */
public boolean isJunitTestClass;

// set by initViaReflection()
/** reflection object for this class. */
public @MonotonicNonNull Class<?> clazz;

// Does not include class initializers, so each element's .member field
// is non-null.
// Does not include class initializers, so each element's .member field is non-null.
/** list of methods in the class. */
public List<MethodInfo> method_infos = new ArrayList<>();

Expand All @@ -47,9 +49,8 @@ public class ClassInfo {
/** True if any methods in this class were instrumented. */
public boolean shouldInclude = false;

/** Mapping from field name to string representation of its value* */
// only for static final primitives
// which are declared by a CONSTANT VALUE in the code
/** Mapping from field name to string representation of its value. */
// Only for static final primitives which are declared by a CONSTANT VALUE in the code.
public Map<String, String> staticMap = new HashMap<>();

/** Create ClassInfo with specified name. */
Expand Down
Loading