RFR: 8260581: IGV: enhance node search
Roberto Castañeda Lozano
rcastanedalo at openjdk.java.net
Fri Jan 29 14:11:52 UTC 2021
Apply several enhancements to the quick node search functionality:
- Allow users to search by node id or name by default, instead of name only.
- Show partial matches when searching for a specific property (e.g. so that searching "type=con" lists all "control"-type nodes).
- Avoid showing the "All _N_ matching nodes" entry if there is a single match, or the user is searching a numeric value.
- Rank matches so that full matches are listed first, followed by matches at the beginning of the partially matched value, followed by the rest of matches in increasing size of the partially matched value. For example, searching "5" on a set of nodes with labels {"5 AddI", "25 AddL", "253 AddL", "554 MulI"} should list the matches as follows:
1. **5** AddI
2. **5**54 MulI
3. 2**5** AddL
4. 2**5**3 AddL
As an illustration of some of these enhancements, this screenshot shows the behavior of the quick node search functionality before the changes:

and after:

Tested manually on small and large (~10000 nodes) graphs. Thanks to Christian Hagedorn for feedback on several iterations of the enhancements.
As part of the review, please evaluate not just the code changes but also the usability.
-------------
Commit messages:
- Avoid registering search results needlessly
- Revert "Make it possible to disable 'Recent Searches'"
- Make it possible to disable 'Recent Searches'
- Rank quick search results
- Show 'All N matching nodes' entry only if relevant
- List suggestions for partial property matches as well
- Update copyright headers
- 8260581: IGV: search on node labels by default instead of name only
Changes: https://git.openjdk.java.net/jdk/pull/2285/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2285&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8260581
Stats: 79 lines in 3 files changed: 55 ins; 5 del; 19 mod
Patch: https://git.openjdk.java.net/jdk/pull/2285.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2285/head:pull/2285
PR: https://git.openjdk.java.net/jdk/pull/2285
More information about the hotspot-compiler-dev
mailing list