Skip to content

Report dead entry points #187

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 42 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
355cb55
report dead entry points
yiming-tang-cs Mar 8, 2018
f8f8dde
change method name
yiming-tang-cs Mar 8, 2018
36f6bee
process coter and static InitializerNodes
yiming-tang-cs Mar 9, 2018
ddb47aa
Increase heap size for experiments.
khatchad Mar 7, 2018
e90d188
Fix #188.
khatchad Mar 12, 2018
aa1a964
get a set of entry points
yiming-tang-cs Mar 12, 2018
9ba5011
change return
yiming-tang-cs Mar 12, 2018
d93e047
add project result class
yiming-tang-cs Mar 12, 2018
797c675
add test cases
yiming-tang-cs Mar 12, 2018
a2d19e8
Revert "Fix #188."
yiming-tang-cs Mar 12, 2018
77a8a1d
Revert "Increase heap size for experiments."
yiming-tang-cs Mar 12, 2018
09ba35e
Merge branch 'master' of https://github.com/ponder-lab/Java-8-Stream-…
yiming-tang-cs Mar 12, 2018
d4fade7
change name
yiming-tang-cs Mar 12, 2018
d8a79a1
improve
yiming-tang-cs Mar 16, 2018
4904b93
Merge branch 'master' of https://github.com/ponder-lab/Java-8-Stream-…
yiming-tang-cs Mar 16, 2018
bbb91c5
change comments
yiming-tang-cs Mar 16, 2018
ed97da7
no entry point
yiming-tang-cs Mar 17, 2018
880e4a7
change comments
yiming-tang-cs Mar 19, 2018
d0dfd8b
Remove extra space.
khatchad Mar 22, 2018
09fdea0
Use default ctor.
khatchad Mar 22, 2018
1712ab8
Use default ctor.
khatchad Mar 22, 2018
2c5a178
improved
yiming-tang-cs Mar 23, 2018
bf38d81
Merge branch 'master_prune' of https://github.com/saledouble/Java-8-S…
yiming-tang-cs Mar 23, 2018
db2d1ec
fix compilcation error
yiming-tang-cs Mar 23, 2018
01ba9dd
process catching
yiming-tang-cs Mar 23, 2018
1517cdd
change comments
yiming-tang-cs Mar 23, 2018
607c847
delete
yiming-tang-cs Mar 23, 2018
0cf444c
change comments
yiming-tang-cs Mar 23, 2018
b59706d
noEnclosingMethod
yiming-tang-cs Mar 24, 2018
dc57275
Call to super() is implicit.
khatchad Mar 26, 2018
0995575
improve and rebuild call graph
yiming-tang-cs Mar 29, 2018
a658819
Merge branch 'master_prune' of https://github.com/saledouble/Java-8-S…
yiming-tang-cs Mar 29, 2018
10c864c
fix no entry point
yiming-tang-cs Mar 29, 2018
d9737d7
improve logic
yiming-tang-cs Mar 29, 2018
84df4e4
format
yiming-tang-cs Mar 30, 2018
a3eb676
print dead entry points
yiming-tang-cs Apr 14, 2018
96b9fb7
add printer
yiming-tang-cs Apr 14, 2018
cc12491
close txt
yiming-tang-cs Apr 14, 2018
618bdea
delete unused imported class
yiming-tang-cs Apr 15, 2018
1c99e3c
Revert "print dead entry points"
yiming-tang-cs Apr 15, 2018
7fa1e33
Revert "delete unused imported class"
yiming-tang-cs Apr 15, 2018
1ccb229
build call graph again
yiming-tang-cs Apr 16, 2018
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
Prev Previous commit
Next Next commit
improve logic
  • Loading branch information
yiming-tang-cs committed Mar 29, 2018
commit d9737d77b3359137f2f73f3dfe959d5931b91206
Original file line number Diff line number Diff line change
Expand Up @@ -319,21 +319,21 @@ public Map<IJavaProject, ProjectAnalysisResult> analyze(Optional<TimeCollector>
*/
protected static Collection<Entrypoint> getPrunedEntryPoints(Collection<CGNode> deadEntryPoints,
Collection<Entrypoint> usedEntryPoints) {
deadEntryPoints.forEach(e -> {
// get the corresponding entry point of the cgNode
// is in the set of entry points
Iterator<Entrypoint> entryPointIterator = usedEntryPoints.iterator();
Entrypoint entrypoint = null;
while (entryPointIterator.hasNext()) {
entrypoint = entryPointIterator.next();
if (entrypoint.getMethod().equals(e.getMethod()))
Collection<Entrypoint> deadEntryPointCollection = new HashSet<>();
usedEntryPoints.forEach(e -> {
// check whether the used entry point
// is in the set of dead entry point
Iterator<CGNode> deadEntryPointIterator = deadEntryPoints.iterator();

while (deadEntryPointIterator.hasNext()) {
CGNode deadEntryPoint = deadEntryPointIterator.next();
if (e.getMethod().equals(deadEntryPoint.getMethod())) {
deadEntryPointCollection.add(e);
break;
}
}

if (entrypoint != null)
usedEntryPoints.remove(entrypoint);
});

usedEntryPoints.removeAll(deadEntryPointCollection);
return usedEntryPoints;
}

Expand Down