aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Optimize class loadingStefan Starke2022-01-132-21/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In our project we found out that during the build up of the spring context the class loading takes a very long time. Root cause is the huge amount of file I/O during pointcut class loading. We are taking about ~250k file loads. With these changes we managed to cut down the starting time by around 50%. What we found out is that IMHO - the clear method of the ClassLoaderRepository is called far too often -> in our settings this resulted in not a single cache hit as the cache got cleared permanently. Therefore we de-actived the cache clear calls inside the ClassLoaderRepository. Secondly we changed the Java15AnnotationFinder in a way to not always create new objects for the ClassLoaderRepository but re-use one static instance. Otherwise we experienced >100k objects being created. Last but not least we introduced a cache for unavailable classes so that they do not have to be looked up using file I/O over and over again. The whole behavior is configurable via + org.aspectj.apache.bcel.useSingleRepositoryInstance (default: true) + org.aspectj.apache.bcel.useUnavailableClassesCache (default: true) + org.aspectj.apache.bcel.ignoreCacheClearRequests (default: true) Signed-off-by: Stefan Starke <stefan@starkeweb.org> Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Merge pull request #112 from turbanoff/use_genercs_in_runtime_moduleAndy Clement2022-01-1024-98/+98
|\ | | | | Update 'runtime' code to use generics
| * Update 'runtime' code to use genericsAndrey Turbanov2022-01-1024-98/+98
|/
* Merge pull request #104 from turbanoff/use_generic_instead_of_raw_typesAndy Clement2022-01-1016-36/+36
|\ | | | | Update org.aspectj.matcher code to use generics.
| * Update org.aspectj.matcher code to use generics.Andrey Turbanov2021-11-2016-36/+36
| | | | | | | | Generics make code more type-safe and allows removing ugly type-casts.
* | Merge pull request #109 from turbanoff/avoid_empty_arrays_allocationAndy Clement2022-01-1039-92/+85
|\ \ | | | | | | Reduce empty array allocations
| * | Reduce empty array allocationsAndrey Turbanov2021-12-1839-92/+85
| | |
* | | Merge pull request #110 from ↵Andy Clement2022-01-105-45/+47
|\ \ \ | | | | | | | | | | | | | | | | turbanoff/use_StringBuilder_for_concatenation_in_loop Use StringBuilder/StringJoiner for concatenation String's in loop
| * | | Use StringBuilder/StringJoiner for concatenation String's in loopAndrey Turbanov2021-12-185-45/+47
| |/ /
* | | Merge pull request #111 from kriegaex/release-198Andy Clement2022-01-108-6/+156
|\ \ \ | | | | | | | | Add test for Java 11 constant-dynamic
| * | | Update README-198.html with condy bugfix infoAlexander Kriegisch2022-01-091-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | Relates to #68. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * | | Add test for Java 11 constant-dynamicAlexander Kriegisch2022-01-087-0/+140
|/ / / | | | | | | | | | | | | | | | Relates to #68. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* / / Fix ConstantDynamic to use the right tag.Andy Clement2022-01-061-1/+1
|/ / | | | | | | | | | | | | | | | | | | The class ConstantDynamic was incorrectly using the `InvokeDynamic` tag during construction which meant after reading in code containing a `Dynamic` reference, it would incorrectly be written out as an `InvokeDynamic` reference. There is not much code out there using Dynamic so wasn't uncovered before. Fixes #68
* | Merge pull request #103 from turbanoff/redundant_boxingAndy Clement2021-12-139-14/+14
|\ \ | | | | | | Cleanup redundant boxing.
| * | Cleanup redundant boxing.Andrey Turbanov2021-11-209-14/+14
| |/ | | | | | | | | Methods Integer.parseInt/Boolean.parseBoolean should be preferred over Integer.valueOf/Boolean.valueOf/ if final result is primitive. They are generally faster and generate less garbage.
* | Merge pull request #107 from ↵Andy Clement2021-12-1011-38/+38
|\ \ | | | | | | | | | | | | turbanoff/more_StringBuilder_instead_of_StringBuffer Replace more usages of StringBuffer with StringBuilder
| * | Replace more usages of StringBuffer with StringBuilderAndrey Turbanov2021-12-0511-38/+38
|/ /
* | Merge pull request #102 from turbanoff/trim_trailing_whitespacesAndy Clement2021-11-3081-303/+303
|\ \ | | | | | | Trim trailing whitespaces.
| * | Trim trailing whitespaces.Andrey Turbanov2021-11-20108-485/+485
| |/ | | | | | | | | Trailing whitespaces are useless. Most of code-styles forbids them. Most of editors always trim them on save. I propose to clean up project from trailing whitespaces in all java files at once.
* | Merge pull request #101 from turbanoff/use_StringBuilder_instead_of_StringBufferAndy Clement2021-11-30221-564/+564
|\ \ | | | | | | Replace uses of StringBuffer with StringBuilder.
| * | Replace uses of StringBuffer with StringBuilder.Andrey Turbanov2021-11-20221-564/+564
| |/ | | | | | | StringBuffer is a legacy synchronized class. StringBuilder is a direct replacement to StringBuffer which generally have better performance.
* | Merge pull request #100 from ↵Andy Clement2021-11-295-11/+10
|\ \ | | | | | | | | | | | | turbanoff/File.exists_before_File.isDirectory_is_redundant Remove redundant File.exists() check before File.isDirectory()
| * | According to javadoc File.isDirectory 'true' if and only if the file denoted ↵Andrey Turbanov2021-11-205-11/+10
| |/ | | | | | | | | | | by this abstract pathname exists and is a directory. It means that separate File.exists() check before File.isDirectory() check is redundant.
* | Merge pull request #106 from kriegaex/release-198Andy Clement2021-11-2910-3/+87
|\ \ | | | | | | Release 1.9.8.RC3, fixing #105
| * | Add forgotten Bugs198Tests to test suiteAlexander Kriegisch2021-11-262-0/+6
| | | | | | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * | Set version to 1.9.8-SNAPSHOTAlexander Kriegisch2021-11-2629-29/+29
| | | | | | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * | Set version to 1.9.8.RC3V1_9_8_RC3Alexander Kriegisch2021-11-2629-29/+29
| | | | | | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * | Document bugfix #105 in release notesAlexander Kriegisch2021-11-261-0/+5
| | | | | | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * | More minor 1.9.7 to 1.9.8 version bumps in docsAlexander Kriegisch2021-11-261-2/+2
| | | | | | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * | Incorporate JDT Core fix + test for #105Alexander Kriegisch2021-11-267-1/+74
| | | | | | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | | Merge pull request #99 from kriegaex/release-198Andy Clement2021-11-223-12/+12
|\| | | | | | | | IDE.md: Add Eclipse update site for AJDT compatible with 2021-09
| * | IDE.md: Add Eclipse update site for AJDT compatible with 2021-09Alexander Kriegisch2021-11-201-0/+1
| | | | | | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * | Minor 1.9.7 to 1.9.8 version bumps in docs and Ant scriptAlexander Kriegisch2021-11-202-12/+11
| | | | | | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | | Merge pull request #98 from kriegaex/release-198Andy Clement2021-11-152-36/+8
|\| | | |/ |/| Make AspectJ Ant task compatible with Java 16, 17
| * Make AspectJ Ant task compatible with Java 16, 17Alexander Kriegisch2021-11-151-3/+3
| | | | | | | | | | | | Closes #97 Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Remove redundant OSSRH snapshot repositoriesAlexander Kriegisch2021-11-151-33/+5
|/ | | | | | | | | Background: When only consuming dependencies or plugins from OSSRH snapshots, there is no need to differentiate between the classic and new URLs. This is only relevant when deploying snapshots, i.e. in the 'distributionManagement' POM section. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Merge pull request #96 from kriegaex/release-198Andy Clement2021-11-102-12/+18
|\ | | | | Release version 1.9.8.RC2
| * Set version to 1.9.8-SNAPSHOTAlexander Kriegisch2021-11-1029-29/+29
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Set version to 1.9.8.RC2V1_9_8_RC2Alexander Kriegisch2021-11-1029-29/+29
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Bump JDT Core to 1.9.8.RC2Alexander Kriegisch2021-11-101-1/+1
| | | | | | | | | | | | | | Fixes JDT Core bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=576093 and related AspectJ issue #95. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Revert "Bump com.thoughtworks.xstream:xstream to 1.4.18"Alexander Kriegisch2021-10-111-1/+2
| | | | | | | | | | | | | | | | Reason: 1.4.18 causes exceptions during deployment. This reverts commit 87fc651c50dd13b46c0cd869af2150ffa8b94a5f. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Improve README-198.htmlAlexander Kriegisch2021-10-111-10/+15
|/ | | | | | Adjust both content and document structure. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump com.thoughtworks.xstream:xstream to 1.4.18Andy Clement2021-10-081-1/+1
|
* Merge pull request #93 from kriegaex/java-17Andy Clement2021-10-0850-202/+575
|\ | | | | Java 17
| * Set version to 1.9.8-SNAPSHOTAlexander Kriegisch2021-10-0829-29/+29
| |
| * Release version to 1.9.8.RC1V1_9_8_RC1Alexander Kriegisch2021-10-0829-29/+29
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Add AspectJ 1.9.8 release notesAlexander Kriegisch2021-10-083-55/+161
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Bump JDT Core to 1.9.8.RC1Alexander Kriegisch2021-10-081-2/+1
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Merge branch 'master' into java-17Alexander Kriegisch2021-10-082-4/+12
| |\ | |/ |/|
* | Merge pull request #91 from kriegaex/nexus-staging-new-workaroundAndy Clement2021-09-282-4/+12
|\ \ | | | | | | Add JDK 16+ workaround for Nexus Staging Maven Plugin