### Summary This change ensures we don't get undefined behavior when calling[`isspace`](https://pubs.opengroup.org/onlinepubs/007904975/functions/isspace.html). `isspace` accepts an `int` argument that "the application shall ensure is a character representable as an unsigned char or equal to the value of the macro EOF.".
Previously, there was no checking of the values passed to `isspace`. I've replaced direct calls with a new wrapper `os::is_space` that performs a range check and prevents the possibility of undefined behavior from happening. For instances outside of Hotspot, I've added casts to `unsigned char`. **Testing** - Added a new test in `test/hotspot/gtest/runtime/test_os.cpp` to check `os::is_space` is working correctly. - tier1 ------------- Commit messages: - Prevent undefined behaviour when calling isspace. Changes: https://git.openjdk.org/jdk/pull/19567/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19567&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8332400 Stats: 31 lines in 8 files changed: 20 ins; 0 del; 11 mod Patch: https://git.openjdk.org/jdk/pull/19567.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/19567/head:pull/19567 PR: https://git.openjdk.org/jdk/pull/19567