+1 On Nov 4, 2014, at 12:50 PM, Marcus Lagergren <[email protected]> wrote:
> Logic in RecompilableScriptFunctionData > > 1) Apply transform succeeds when a callsite is first encountered > 2) It is the best callsite available when we do another call, but the fit > isn’t exact, which it has to be for apply2call to work - i.e. exactly the > right number of parameters with the exact types > 3) In that case recompile a specialization > 4) Do addCode on it iff it was a successful apply2call transform > > Basically the problem was that 4 should be > > 4) Do addcode on it, always > > As Attila’s excellent repro managed to capture. We reuse the apply2call > specialization for one object argument, undefined, for the array apply, which > fits and doesn’t cause a linkage error since Object holds anything, even > [“foo”, “bar”]. > > Also some housekeeping on the apply2call transform, not making it iterate > over the code for applies if there are none, better logging sanitized output > and so on. > > Webrev at: http://cr.openjdk.java.net/~lagergren/8057825/ > <http://cr.openjdk.java.net/~lagergren/8057825/> > Issue at: https://bugs.openjdk.java.net/browse/JDK-8057825 > > Regards > Marcus >
