Please review: bug: https://bugs.openjdk.java.net/browse/JDK-8166186 webrev: http://cr.openjdk.java.net/~hannesw/8166186/webrev.00/
The problem was that guards for non-strict functions sometimes have a this-object parameter which also needs to be unpacked, inserted, or wrapped when called via Function.prototype.apply. This also includes a patch for types contributed by Ahmed Ashour. Thanks, Hannes