RFR 8183146 [MVT] Create composed vwithfield constructor
paul.sandoz at oracle.com
Fri Jun 30 00:42:06 UTC 2017
Please review the following:
This adds a method, named unrefllectWithers for want of a better name, that given a number of fields can produce a method handle that applies vwithfield, in order with each Field. SO it should produce some tight byte code for the production of values, which then can be optimized by the JIT (e.g. if a default value is obtained and all fields are updated then the JIT could optimize away the zeroing associated with vdefault).
This method is quite general, depending on the arguments passed in, it can reduce to an identity function, findWither, or defaultValueConstant, which suggests the latter two could defer to this method.
Rather than accepting an array of Field it should perhaps be a LinkedHashMap<String, Class<?>>, or two distinct arrays of the same size, String and Class. In any case we need a way for the caller to specify the set of fields in a defined order.
More information about the valhalla-dev