summaryrefslogtreecommitdiff
path: root/test/697-checker-string-append
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2019-11-15 14:07:19 +0000
committer Vladimir Marko <vmarko@google.com> 2019-11-15 17:42:51 +0000
commit56f1332113c3b8b1844c04683b9cb9dc5a0bd346 (patch)
tree849942dca13874ef8e86f6ad9cce76ad5152b429 /test/697-checker-string-append
parent3e20d0a7748c8810bff9fe99298758930fbe5300 (diff)
Fix pruning invoke environment for StringBuilder append pattern.
Test: Extra test in 697-checker-string-append Test: testrunner.py --host --optimizing Bug: 19575890 Bug: 144300699 Change-Id: I3934eb01a62dbbed8b8f9f94ce3ba02051538bb0
Diffstat (limited to 'test/697-checker-string-append')
-rw-r--r--test/697-checker-string-append/src/Main.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/697-checker-string-append/src/Main.java b/test/697-checker-string-append/src/Main.java
index 4f2fa19bc4..9017433ce1 100644
--- a/test/697-checker-string-append/src/Main.java
+++ b/test/697-checker-string-append/src/Main.java
@@ -21,6 +21,7 @@ public class Main {
testAppendStringAndString();
testMiscelaneous();
testNoArgs();
+ testInline();
System.out.println("passed");
}
@@ -233,6 +234,24 @@ public class Main {
$noinline$appendSLILC("x", 1L, 7, -1L, '\u0131'));
}
+ public static String $inline$testInlineInner(StringBuilder sb, String s, int i) {
+ return sb.append(s).append(i).toString();
+ }
+
+ /// CHECK-START: java.lang.String Main.$noinline$testInlineOuter(java.lang.String, int) instruction_simplifier$after_inlining (before)
+ /// CHECK-NOT: StringBuilderAppend
+
+ /// CHECK-START: java.lang.String Main.$noinline$testInlineOuter(java.lang.String, int) instruction_simplifier$after_inlining (after)
+ /// CHECK: StringBuilderAppend
+ public static String $noinline$testInlineOuter(String s, int i) {
+ StringBuilder sb = new StringBuilder();
+ return $inline$testInlineInner(sb, s, i);
+ }
+
+ public static void testInline() {
+ assertEquals("x42", $noinline$testInlineOuter("x", 42));
+ }
+
/// CHECK-START: java.lang.String Main.$noinline$appendNothing() instruction_simplifier (before)
/// CHECK-NOT: StringBuilderAppend