On Thu, 29 Jan 2026 23:14:28 GMT, Chen Liang <[email protected]> wrote:

>> src/java.base/share/classes/java/lang/AbstractStringBuilder.java line 542:
>> 
>>> 540:             return count;
>>> 541:         }
>>> 542:         return StringUTF16.codePointCount(value, 0, count);
>> 
>> Suggestion:
>> 
>>         return StringUTF16.codePointCountSB(value, 0, count);
>> 
>> In buggy user program that use StringBuilder from more than one threads, we 
>> can have `value.length < count`, so we must perform this call checked.
>> 
>> I think we need a new entry for this method in 
>> `test/jdk/java/lang/StringBuilder/StressSBTest.java` too.
>
> This should be sufficient for StressSBTest:
> 
> diff --git a/test/jdk/java/lang/StringBuilder/StressSBTest.java 
> b/test/jdk/java/lang/StringBuilder/StressSBTest.java
> index a5dc6672f07..6219851ee3b 100644
> --- a/test/jdk/java/lang/StringBuilder/StressSBTest.java
> +++ b/test/jdk/java/lang/StringBuilder/StressSBTest.java
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (c) 2025, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 2025, 2026, Oracle and/or its affiliates. All rights 
> reserved.
>   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>   *
>   * This code is free software; you can redistribute it and/or modify it
> @@ -279,6 +279,7 @@ private boolean invokeByMethodNameAndType(String name, 
> MethodType mt, StringBuil
>                  case "charAt(StringBuilder,int)char" -> sb.charAt(5);
>                  case "codePointAt(StringBuilder,int)int" -> 
> sb.codePointAt(4);
>                  case "codePointBefore(StringBuilder,int)int" -> 
> sb.codePointBefore(3);
> +                case "codePointCount(StringBuilder)int" -> 
> sb.codePointCount();
>                  case "codePointCount(StringBuilder,int,int)int" -> 
> sb.codePointCount(3, 9);
>                  case "offsetByCodePoints(StringBuilder,int,int)int" -> 
> sb.offsetByCodePoints(3, 7);
>                  case "lastIndexOf(StringBuilder,String,int)int" -> 
> sb.lastIndexOf("A", 45);

Do we not need other additional test cases?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26461#discussion_r2743926620

Reply via email to