Thanks a bunch y'all. I'm thinking invokebinder should do the "right thing" and manually apply the filters in the proper order on affected JVMs...or perhaps always. Warm-up notwithstanding, what cost would we pay to always do single filter MHs versus doing them as a group that instead becomes single LF adaptations?
On Wed, Jan 3, 2018, 21:22 John Rose <john.r.r...@oracle.com> wrote: > Thanks, IBM!! > > Filed: https://bugs.openjdk.java.net/browse/JDK-8194554 > > On Jan 3, 2018, at 12:04 PM, Remi Forax <fo...@univ-mlv.fr> wrote: > > > IBM implementation uses the left to right order ! > I've just tested with the latest Java 8 available. > > Java(TM) SE Runtime Environment (build 126.96.36.199 - > pxa6480sr5fp7-20171216_01(SR5 FP7)) > IBM J9 VM (build 2.9, JRE 1.8.0 Linux amd64-64 Compressed References > 20171215_373586 (JIT enabled, AOT enabled) > OpenJ9 - 5aa401f > OMR - 101e793 > IBM - b4a79bf) > > so it's an implementation bug, #2 seems to be the right solution. > > Rémi > > ------------------------------ > > *De: *"John Rose" <john.r.r...@oracle.com> > *À: *"Da Vinci Machine Project" <email@example.com> > *Envoyé: *Mercredi 3 Janvier 2018 20:37:42 > *Objet: *Re: Writing a compiler to handles, but filter seems to executed > in reverse > > On Jan 2, 2018, at 12:35 PM, Charles Oliver Nutter <head...@headius.com> > wrote: > > > Is there a good justification for doing it this way, rather than having > > filterArguments start with the *last* filter nearest the target? > > > No, it's a bug. The javadoc API spec. does not emphasize the ordering > of the filter invocations, but the pseudocode makes it pretty clear what > order things should come in. Certainly the spec. does not promise the > current behavior. When I wrote the spec. I intended the Java argument > evaluation order to apply, and the filters to be executed left-to-right. > And then, when I wrote the code, I used an accumulative algorithm > with a for-each loop, leading indirectly to reverse evaluation order. > Oops. > > There are two ways forward: > > 1. Declare the spec. ambiguous, and document the current behavior > as the de facto standard. > > 2. Declare the spec. unambiguous, change the behavior to left-to-right > as a bug fix, and clarify the spec. > > I think we can try for #2, on the grounds that multiple filters are a rare > occurrence. The risk is that existing code that uses multiple filters > *and* > has side effect ordering constraints between the filters will break. > > Question: What does the IBM JVM do? I think they have a very > different implementation, and they are supposed to follow the spec. > > — John > > _______________________________________________ > mlvm-dev mailing list > firstname.lastname@example.org > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > > _______________________________________________ > mlvm-dev mailing list > email@example.com > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > > > _______________________________________________ > mlvm-dev mailing list > firstname.lastname@example.org > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev >
_______________________________________________ mlvm-dev mailing list email@example.com http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev