You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2021/02/09 17:17:33 UTC

[tomcat-jakartaee-migration] 03/07: Reduce object creation during conversion

This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git

commit 4a0b09d3e43dfcb35c5a7488a222b1c7ea941669
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Tue Feb 9 14:25:17 2021 +0000

    Reduce object creation during conversion
---
 src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
index 9d398d7..cc06bde 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
@@ -46,8 +46,12 @@ public class ClassConverter implements Converter {
             if (constantPool[i] instanceof ConstantUtf8) {
                 ConstantUtf8 c = (ConstantUtf8) constantPool[i];
                 String str = c.getBytes();
-                c = new ConstantUtf8(profile.convert(str));
-                constantPool[i] = c;
+                String converted = profile.convert(str);
+                // Object comparison is deliberate
+                if (converted != str) {
+                    c = new ConstantUtf8(profile.convert(str));
+                    constantPool[i] = c;
+                }
             }
         }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [tomcat-jakartaee-migration] 03/07: Reduce object creation during conversion

Posted by Mark Thomas <ma...@apache.org>.
On 17/02/2021 11:53, Martin Grigorov wrote:
> On Tue, Feb 9, 2021 at 7:18 PM <ma...@apache.org> wrote:
> 
>> This is an automated email from the ASF dual-hosted git repository.
>>
>> markt pushed a commit to branch master
>> in repository
>> https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git
>>
>> commit 4a0b09d3e43dfcb35c5a7488a222b1c7ea941669
>> Author: Mark Thomas <ma...@apache.org>
>> AuthorDate: Tue Feb 9 14:25:17 2021 +0000
>>
>>     Reduce object creation during conversion
>> ---
>>  src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java | 8 ++++++--
>>  1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
>> b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
>> index 9d398d7..cc06bde 100644
>> --- a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
>> +++ b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
>> @@ -46,8 +46,12 @@ public class ClassConverter implements Converter {
>>              if (constantPool[i] instanceof ConstantUtf8) {
>>                  ConstantUtf8 c = (ConstantUtf8) constantPool[i];
>>                  String str = c.getBytes();
>> -                c = new ConstantUtf8(profile.convert(str));
>> -                constantPool[i] = c;
>> +                String converted = profile.convert(str);
>> +                // Object comparison is deliberate
>> +                if (converted != str) {
>> +                    c = new ConstantUtf8(profile.convert(str));
>>
> 
> Does it need to convert the second time ?
>  c = new ConstantUtf8(converted) should work too, no ?

Correct. Good catch. I'll get that fixed.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [tomcat-jakartaee-migration] 03/07: Reduce object creation during conversion

Posted by Martin Grigorov <mg...@apache.org>.
On Tue, Feb 9, 2021 at 7:18 PM <ma...@apache.org> wrote:

> This is an automated email from the ASF dual-hosted git repository.
>
> markt pushed a commit to branch master
> in repository
> https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git
>
> commit 4a0b09d3e43dfcb35c5a7488a222b1c7ea941669
> Author: Mark Thomas <ma...@apache.org>
> AuthorDate: Tue Feb 9 14:25:17 2021 +0000
>
>     Reduce object creation during conversion
> ---
>  src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
> b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
> index 9d398d7..cc06bde 100644
> --- a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
> +++ b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
> @@ -46,8 +46,12 @@ public class ClassConverter implements Converter {
>              if (constantPool[i] instanceof ConstantUtf8) {
>                  ConstantUtf8 c = (ConstantUtf8) constantPool[i];
>                  String str = c.getBytes();
> -                c = new ConstantUtf8(profile.convert(str));
> -                constantPool[i] = c;
> +                String converted = profile.convert(str);
> +                // Object comparison is deliberate
> +                if (converted != str) {
> +                    c = new ConstantUtf8(profile.convert(str));
>

Does it need to convert the second time ?
 c = new ConstantUtf8(converted) should work too, no ?


> +                    constantPool[i] = c;
> +                }
>              }
>          }
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>