Sometimes we need to store an oop into a location that currently contains unitialized garbage. The Access API presently supports this for copying arrays, e.g. the ARRAYCOPY_DEST_NOT_INITIALIZED decorator. However, this situation may also arise in other contexts. The problem is that we must not apply something like the G1 pre-barrier to the old uninitialized value.
This could probably be worked around in some cases by first doing a raw store of NULL, and then doing a normal Access::oop_store, but it would be better to be able to state the actual intent.
This could probably be worked around in some cases by first doing a raw store of NULL, and then doing a normal Access::oop_store, but it would be better to be able to state the actual intent.