-
Enhancement
-
Resolution: Fixed
-
P3
-
9
-
b110
However, that trust is not enough to constant fold the String.value *contents*. Which means the code like this is not folded:
static final String TEST_STRING_LATIN1 = "Foo";
@Benchmark
public int string_latin1() {
return TEST_STRING_LATIN1.charAt(0);
}
A simple change may force VM to trust String.value:
http://cr.openjdk.java.net/~shade/8150180/webrev.jdk.01/
http://cr.openjdk.java.net/~shade/8150180/webrev.hs.01/
Notes:
http://cr.openjdk.java.net/~shade/8150180/notes.txt
- relates to
-
JDK-8150186 Folding mismatched accesses with @Stable is incorrect
-
- Closed
-
-
JDK-8152179 C2: Folding of unsigned loads is broken w/ @Stable
-
- Closed
-
-
JDK-8158228 C1 incorrectly folds mismatched loads from stable arrays
-
- Closed
-
-
JDK-8150517 FoldStableValues code needs to be revisited for compressed strings
-
- Closed
-
-
JDK-8150515 sun/tools/jrunscript/* tests fail with "Expected an operand but found var"
-
- Closed
-
-
JDK-8181833 [Graal] UnsafeGetStableArrayElement.java fails with "assertNotEquals: expected 1 to not equal 1"
-
- Closed
-
(1 relates to)