Bug 117189 - Contribution: reduce overhead when no aspects define
Summary: Contribution: reduce overhead when no aspects define
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: 1.5.0RC1   Edit
Assignee: Andrew Clement CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-19 13:05 EST by Ron Bodkin CLA
Modified: 2012-04-03 15:51 EDT (History)
1 user (show)

See Also:


Attachments
patch as described (4.53 KB, patch)
2005-11-19 13:06 EST, Ron Bodkin CLA
aclement: iplog+
Details | Diff
Fixed patch (2.86 KB, application/octet-stream)
2005-11-22 04:45 EST, Matthew Webster CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Bodkin CLA 2005-11-19 13:05:59 EST
This patch to the ClassLoaderWeavingAdaptor adds two optimizations when enabled 
is false for the adaptor: it immediately returns false for accept and it also 
avoids the overhead of constructing a weaver or world.

It also contains commented out code that was letting me improve performance by 
loading reflective proxies instead of creating BCEL objects for a resolution 
loader (which is currently broken since reflective proxies now require a 
ReflectionWorld...)
Comment 1 Ron Bodkin CLA 2005-11-19 13:06:25 EST
Created attachment 30279 [details]
patch as described
Comment 2 Matthew Webster CLA 2005-11-22 04:45:49 EST
Created attachment 30364 [details]
Fixed patch

Nice fix. Unfortunately it crashed and burned in the harness because the test on the "enabled" flag needs to be made in WeavingAdaptor.weaveClass(). I have made the necessary changes and all the tests now pass.
Comment 3 Andrew Clement CLA 2005-11-23 04:02:29 EST
patch checked in. waiting on build.
Comment 4 Andrew Clement CLA 2005-11-23 06:15:35 EST
available in latest dev build.