Change "8141132: JEP 254: Compact Strings" removed the handling of empty strings from jni_GetStringCritical(). As a consequence, the functions will now assert with:
assert(is_within_bounds(which)) failed: index 0 out of bounds 0
if called for a string of length zero.
jni_GetStringCritical() also doesn't handle out-of-memory situations when creating a new character array. I'll add that as well into the fix.