objArrayKlass::allocate_instance() in Valhalla is a public method currently.
Since Valhalla complicates allocation of arrays, with different "flavors" (ArrayProperties), it would be best to mark it private, and only allow the oopFactory to use it.
Ad-hoc uses elsewhere will be hard to maintain as ArrayProperties evolve.
Note there may remain "friend" use from mainline allowing circumvention (i.e. Deoptimization).
Since Valhalla complicates allocation of arrays, with different "flavors" (ArrayProperties), it would be best to mark it private, and only allow the oopFactory to use it.
Ad-hoc uses elsewhere will be hard to maintain as ArrayProperties evolve.
Note there may remain "friend" use from mainline allowing circumvention (i.e. Deoptimization).