Optimize JarEntry construction

This commit avoids calling the underlying ZipEntry.setExtra() method
that is not very inline friendly in cases where there is no extra
information to be set.

See gh-16620
This commit is contained in:
dreis2211
2019-04-22 17:29:14 +02:00
committed by Andy Wilkinson
parent fd14cd0bd0
commit f40b086ef5
2 changed files with 7 additions and 1 deletions

View File

@@ -153,6 +153,10 @@ final class CentralDirectoryFileHeader implements FileHeader {
return this.extra;
}
public boolean hasExtra() {
return this.extra.length > 0;
}
public AsciiBytes getComment() {
return this.comment;
}

View File

@@ -56,7 +56,9 @@ class JarEntry extends java.util.jar.JarEntry implements FileHeader {
setComment(header.getComment().toString());
setSize(header.getSize());
setTime(header.getTime());
setExtra(header.getExtra());
if (header.hasExtra()) {
setExtra(header.getExtra());
}
}
AsciiBytes getAsciiBytesName() {