Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Compatibility?

Hi Nick,

AspectJ should always generate legal Java bytecode that can run on any
correctly implemented JVM.  If you can't run AspectJ generated bytecode then
it is likely the result of a bug in your JVM.  Any time AspectJ can be shown
to generate illegal bytecode that is a high-priority bug and will usually be
handled by the core team.  I spent this morning fixing one such bug dealing
with an interaction between around advice and Java's complicated rules for
protected access: https://bugs.eclipse.org/bugs/show_bug.cgi?id=51929.

The harder question is what to do about bugs in popular JVMs.  These are not
bugs in the implementation of AspectJ; however, they can cause problems for
AspectJ's users.  Your bug report appears to clearly show this as a problem
with the JRockit VM and therefore a bug that it is BEA's job to fix.
However, when resources are available we do try to fix these bugs on the
AspectJ side.

I do all of my testing and development work on SUN's JVMs and will develop
workarounds to bugs in those VMs if needed (the infamous Miranda methods are
one example where we've done this in the past).  Several other core AspectJ
developers work primarily on IBM's JVMs and will test and develop
work-arounds for bugs found in those VMs.

We don't currently have any developers who work with JRockit.  We would love
to accept patches and/or new developers who are focused on JRockit and can
improve both testing and work-around any bugs in that platform.  I'm also
open to contract work to address these kinds of specific low-level
challenges (http://hugunin.net/consulting.html) but I'm personally not going
to spend my free time dealing with the bugs of yet another JVM.

-Jim


Lesiecki Nicholas wrote:
> After submitting the following bug today re: AspectJ's compatibility with
> the JRockit JVM (hint: it isn't)
> 
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=52394
> 
> I was wondering what sort of compatibilty posture AspectJ is adopting.
> Obviously obscure bugs on AS400 JVMs are not the highest priority.
> However,
> does AspectJ say: "you should be able to run this bytecode anywhere and
> incompatibilities are likely the result of the JVM" or does it say: "we've
> tested it on Sun, otherwise you're on your own." (The preceeding
> statements
> are exagerrated of course.)
> 
> Or to put a finer point on it: who should fix this bug, BEA or AspectJ?




Back to the top