aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/src
Commit message (Collapse)AuthorAgeFilesLines
* JoinPointImpl minor structural refactoringAlexander Kriegisch2024-04-101-89/+79
| | | | | | No functionality was changed. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* JoinPointImpl: Remove thread-locals after usage, where possibleKimmingLau2024-04-101-1/+5
| | | | | | | | | | | | | | | | | Avoid potential ThreadLocalMap.Entry accumulation. Entry is a WeakReference. When JoinPointImpl objects are collected by GC, Entry instances are still be referenced by ThreadLocalMap, which leads to memory pressure and potentially more full GCs. So, we proactively remove ThreadLocal<Integer> arcIndex instances when arcIndex has been decremented back to -1 per thread. This is not perfect, because not each thread can be expected to proceed, but it should ameliorate the situation to some degree. Fixes #302. Co-authored-by: Alexander Kriegisch <Alexander@Kriegisch.name> Signed-off-by: KimmingLau <294001791@qq.com> Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Avoid ThreadLocal memory leak in JoinPointImplAlexander Kriegisch2024-03-121-29/+16
| | | | | | | | | | | | | | | | | | | | | | | according to https://rules.sonarsource.com/java/tag/leak/RSPEC-5164/. Now, there no longer is a thread-local stack of AroundClosure instances, but rather a list of them, which can only grow but never shrink. Instead, we now have a thread-local (integer) list index, for every thread being initialised with pointing to the last element. I.e., every thread can unwind by decrementing the index while proceeding, independently of other threads. A positive side effect is that this approach also works for long-lived threads from thread pools, used by executor services. Hence, test Bugs199Tests.testAsyncProceedNestedAroundAdviceThreadPool_gh128, which was previously commented out, has been activated and passes, see #141. I am not sure if this brings @AspectJ style, non-inlined, nested around advice execution functionally on par with native ones, but at least for current scenarios it seems to work. Fixes #288, #141. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Globally fix spelling error "dependancy/dependancies"Alexander Kriegisch2024-01-062-2/+2
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Remove redundant casts after generics updateAndrey Turbanov2022-04-127-10/+10
|
* Make Stack<AroundClosure> in JoinPointImpl InheritableThreadLocalAlexander Kriegisch2022-03-231-6/+19
| | | | | | | | | | In case of asynchronous proceeding for nested around-advice, child threads need copies of the original around-closure stack. Otherwise, the target method thread will have popped the stack empty after unwinding. Fixes #128. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Cleanup redundant type casts, due to too weak variable type declarationAndrey Turbanov2022-02-261-2/+1
|
* Update 'runtime' code to use genericsAndrey Turbanov2022-01-1024-98/+98
|
* Replace uses of StringBuffer with StringBuilder.Andrey Turbanov2021-11-2013-13/+13
| | | | StringBuffer is a legacy synchronized class. StringBuilder is a direct replacement to StringBuffer which generally have better performance.
* Upgrade license from CPLv1/EPLv1 to EPLv2Alexander Kriegisch2021-06-04122-1284/+1284
| | | | | | | This was required by the Eclipse team as one precondition for the next release. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Remove unnecessary interface modifiersLars Grefer2020-08-1711-286/+286
| | | | Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* Cleanup unused importsLars Grefer2020-08-162-4/+0
| | | | Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* Use the diamond operator where possibleLars Grefer2020-08-133-27/+27
| | | | Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* Unnecessary unboxingLars Grefer2020-08-083-8/+8
| | | | | | Reports "unboxing", e.g. explicit unwrapping of wrapped primitive values. Unboxing is unnecessary under Java 5 and newer, and can be safely removed. Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* Unnecessary boxingLars Grefer2020-08-081-7/+7
| | | | | | Reports explicit boxing, i.e. wrapping of primitive values in objects. Explicit manual boxing is unnecessary under Java 5 and newer, and can be safely removed. Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* 'String.indexOf()' expression is replaceable with 'contains()'Lars Grefer2020-08-084-10/+10
| | | | | | Reports any String.indexOf() expressions which can be replaced with a call to the String.contains() method available in Java 5 and newer. Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* 'for' loop replaceable with enhanced 'for' loopLars Grefer2020-08-084-10/+10
| | | | | | Reports for loops which iterate over collections or arrays, and can be replaced with an enhanced for loop (i.e. the foreach iteration syntax). Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* PolishAndy Clement2020-07-221-37/+37
|
* polishAndy Clement2020-04-201-0/+2
|
* Include JDTCore for Java14Andy Clement2020-04-202-32/+35
|
* 333274: more tests and fixes: nested @Around advice with proceedAndy Clement2019-02-193-20/+82
|
* polish javadoc in runtime moduleAndy Clement2019-02-0759-467/+324
|
* Add module tests back in - but streamlinedAndy Clement2019-01-312-2/+43
|
* mavenizing runtime module - merged in aspectj5rtAndy Clement2019-01-2471-0/+5713
|
* mavenizing runtime module - completeAndy Clement2019-01-2453-1/+287
|
* polish javadocAndy Clement2018-10-151-12/+12
|
* Bug#531694: generate more optional thisJoinPoint construction codeAndy Clement2018-03-091-9/+116
| | | | | | | This commit introduces some new methods into the runtime Factory class and modifies code generation to use them (and to use the form of the LDC bytecode that loads class constants).
* Fix 500035: handling target only binding in @AJ pointcutAndy Clement2016-11-181-3/+11
|
* Cleaning up thread locals when counters/stacks hit zeroAndy Clement2013-03-227-1/+25
|
* 323438aclement2010-08-231-0/+31
|
* 89009: added getId() to joinpoint.staticpartaclement2009-03-243-498/+577
|
* 154427: test and fixaclement2008-12-011-37/+81
|
* 210848: better javadocaclement2008-02-211-2/+15
|
* javadoc only - null Constructor for interface and static initializers, empty ↵wisberg2006-09-211-2/+13
| | | | CodeSignatures values for static initializers.
* Bug 155972 "NullPointerException in ConstructorSignature.getConstructor()"mwebster2006-09-043-3/+3
|
* 126167: Fix for @Around problems...aclement2006-06-232-7/+82
|
* test and fix for 145086aclement2006-06-031-12/+24
|
* update license to EPLacolyer2006-06-0144-84/+84
|
* tests and fix for 122253aclement2006-05-301-0/+188
|
* fix for NPE in SignatureImpl reported on the list by Simon Walteraclement2006-05-301-1/+5
|
* synchronization joinpoints: aspectjrt changesaclement2006-05-246-0/+154
|
* fixes for 135780: aspectjrt will work better now on a 1.1 vmaclement2006-05-031-12/+44
|
* spelling fixed! (pr122417)aclement2006-01-101-1/+1
|
* moved to aspectj5rtacolyer2005-12-191-188/+0
|
* organized importsaclement2005-11-101-2/+0
|
* fix for pr104220 - poor toString implementations for adviceexecution join ↵acolyer2005-11-083-5/+19
| | | | points.
* fix for pr59076, much more memory efficient creation of join point static partsacolyer2005-09-012-38/+159
|
* Fix and tests for PR94167: NPE in reflection API. Fix submitted by Ron Bodkin.aclement2005-06-072-2/+2
|
* hacked out 1.4 apis - needs tidying up but I'm just trying to see if I can ↵aclement2005-05-041-3/+6
| | | | get the build to work.
* PTW perClause for @AJ + perClause testavasseur2005-05-021-10/+102
|