Please review http://cr.openjdk.java.net/~jlaskey/8011629/webrev.00/ This casts (asType) the receiver early so that the same getter/setter can be reused. Speeds up defineProperty and indexed access and reduces lambda form pressure (over 1M in the above example).