-
Bug
-
Resolution: Fixed
-
P1
-
13
-
b05
-
Not verified
java_lang_String class methods have assertions like:
assert(oopDesc::equals_raw(value, java_lang_String::value(java_string))
The naked oop comparison can fail if value moved for GC like Shenandoah, should use
assert(oopDesc::equals(value, java_lang_String::value(java_string)) instead.
The raw equal comparisons were introduced inJDK-8217442, but only manifested after JDK-8213229, because references in stringtable are not longer updated at safepoints after JDK-8213229.
assert(oopDesc::equals_raw(value, java_lang_String::value(java_string))
The naked oop comparison can fail if value moved for GC like Shenandoah, should use
assert(oopDesc::equals(value, java_lang_String::value(java_string)) instead.
The raw equal comparisons were introduced in
- relates to
-
JDK-8213229 Investigate treating StringTable as weak in young collections
-
- Resolved
-
-
JDK-8217442 Optimize native accesses to String.value
-
- Resolved
-