Before I previously responded I thought about the solution that involved maintaining a map/set of what you were interested in, but I didn't suggest it - I half think the overhead of the map lookup will be worse than the while loop - but I'll admit I haven't measured anything to confirm that. Going down that route you could use a pertarget aspect to have AspectJ associate aspect instance state with the target objects of interest.
There is no machinery in AspectJ to help you take the relevant bits out of rt.jar but maybe you can do something with the maven plugin (send a subselection of the jar contents to ajc?). On the command line I know I'd weave it then "jar -xvf rt.jar the/bits/I/need" then "jar -cvMf newjar.jar the/bits/I/need". That could get annoying depending on how many types you hit but I bet it can be kind of automated by using the -showWeaveInfo option to see which types really got modified then a bit of grep/cut/sed/awk/etc. I wouldn't like to try and automate that approach in maven though.
I bet we have an enhancement request somewhere that says produce output only for files that get woven, it wouldn't really be that hard to implement.
cheers,
Andy