This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push: new 9e16090 Minor optimisation. 9e16090 is described below commit 9e16090b3375d6ebba65b2d933304dcb2a00591e Author: Mark Thomas <ma...@apache.org> AuthorDate: Sat Feb 19 17:39:43 2022 +0000 Minor optimisation. Previous two fixes were applied for the same issue: - https://bz.apache.org/bugzilla/show_bug.cgi?id=41797 - https://bz.apache.org/bugzilla/show_bug.cgi?id=44428 The call to getMethod() is not necessary. Either this is the original object - in which case the fields will be null and m will be populated or the object has been previously deserialized and the fields can be used directly without any need to create the method. --- java/org/apache/el/lang/FunctionMapperImpl.java | 21 +++++++++------------ webapps/docs/changelog.xml | 4 ++++ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/java/org/apache/el/lang/FunctionMapperImpl.java b/java/org/apache/el/lang/FunctionMapperImpl.java index dc7ff0a..6e9deab 100644 --- a/java/org/apache/el/lang/FunctionMapperImpl.java +++ b/java/org/apache/el/lang/FunctionMapperImpl.java @@ -122,18 +122,15 @@ public class FunctionMapperImpl extends FunctionMapper implements public void writeExternal(ObjectOutput out) throws IOException { out.writeUTF((this.prefix != null) ? this.prefix : ""); out.writeUTF(this.localName); - // make sure m isn't null - getMethod(); - out.writeUTF((this.owner != null) ? - this.owner : - this.m.getDeclaringClass().getName()); - out.writeUTF((this.name != null) ? - this.name : - this.m.getName()); - out.writeObject((this.types != null) ? - this.types : - ReflectionUtil.toTypeNameArray(this.m.getParameterTypes())); - + if (this.owner != null && this.name != null && this.types != null) { + out.writeUTF(this.owner); + out.writeUTF(this.name); + out.writeObject(this.types); + } else { + out.writeUTF(this.m.getDeclaringClass().getName()); + out.writeUTF(this.m.getName()); + out.writeObject(this.m.getParameterTypes()); + } } /* diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index a2933ee..2475d75 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -210,6 +210,10 @@ <pr>474</pr>: Prevent a tag file from corrupting the ELContext of the calling page. Pull request provided by Dmitri Blinov. (markt) </fix> + <fix> + Minor optimisation of serialization for <code>FunctionMapperImpl</code> + in response to pull request <pr>476</pr>. (markt) + </fix> </changelog> </subsection> <subsection name="Web applications"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org