< prev index next >

test/micro/org/openjdk/bench/java/lang/StringConcat.java

Print this page
rev 54622 : 8222852: Reduce String concat combinator tree shapes by folding constants into prependers
Reviewed-by: shade, plevart
Contributed-by: claes.redestad@oracle.com, peter.levart@gmail.com

@@ -76,15 +76,30 @@
     public String concatConstStringConstInt() {
         return "string" + stringValue + "string" + intValue;
     }
 
     @Benchmark
+    public String concatMix4String() {
+        // Investigate "profile pollution" between shared LFs that might eliminate some JIT optimizations
+        String s1 = "string" + stringValue + stringValue + stringValue + stringValue;
+        String s2 = "string" + stringValue + "string" + stringValue + stringValue + stringValue;
+        String s3 = stringValue + stringValue + "string" + stringValue + "string" + stringValue + "string";
+        String s4 = "string" + stringValue + "string" + stringValue + "string" + stringValue + "string" + stringValue + "string";
+        return s1 + s2 + s3 + s4;
+    }
+
+    @Benchmark
     public String concatConst4String() {
         return "string" + stringValue + stringValue + stringValue + stringValue;
     }
 
     @Benchmark
+    public String concat4String() {
+        return stringValue + stringValue + stringValue + stringValue;
+    }
+
+    @Benchmark
     public String concatConst2String() {
         return "string" + stringValue + stringValue;
     }
 
     @Benchmark

@@ -96,10 +111,15 @@
     public String concatConst6String() {
         return "string" + stringValue + stringValue + stringValue + stringValue + stringValue + stringValue;
     }
 
     @Benchmark
+    public String concat6String() {
+        return stringValue + stringValue + stringValue + stringValue + stringValue + stringValue;
+    }
+
+    @Benchmark
     public String concatConst6Object() {
         return "string" + objectValue + objectValue + objectValue + objectValue + objectValue + objectValue;
     }
 
 }
< prev index next >