RFR: 8296453: Simplify resource_area uses in ClassPathDirEntry::open_stream
Xin Liu
xliu at openjdk.org
Mon Nov 7 17:22:32 UTC 2022
Currently it is correct, but there are two places we can improve it.
1. We should assert that current == Thread::current(). If it were not case, then we would intermix NEW_RESOURCE_ARRAY_IN_THREAD(current, char, path_len) and FREE_RESOURCE_ARRAY(char, path, path_len)!
2. We don't need to call FREE_RESOURCE_ARRAY(char, path, path_len) for path in its first exit. It won't release anything because buffer stands in its way.
The resource area is like this. `Afree(path, path_len)` won't reclaim the space.
|path | buffer |...|
^hwm
-------------
Commit messages:
- 8296453: Simplify resource_area uses in ClassPathDirEntry::open_stream
Changes: https://git.openjdk.org/jdk/pull/11024/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11024&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8296453
Stats: 3 lines in 1 file changed: 1 ins; 1 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/11024.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11024/head:pull/11024
PR: https://git.openjdk.org/jdk/pull/11024
More information about the hotspot-runtime-dev
mailing list