RFR: 8183546: [MVT] cleanup/improve vreturn convention implementation
frederic.parain at oracle.com
Wed Jul 5 19:11:31 UTC 2017
Thank you very much for improving the vreturn convention implementation.
Just a minor nit:
valueKlass.cpp:442: Missing message in assert?
> On Jul 5, 2017, at 03:33, Roland Westrelin <rwestrel at redhat.com> wrote:
> This patch:
> - reworks the verification logic in
> SharedRuntime::store_value_type_fields_to_buf() to address the crash
> that Paul encountered
> - changes the vreturn convention so if we return the klass pointer +
> fields, the klass pointer is tagged by setting its least significant
> bit. This way it's cheaper for the caller to detect if it's getting an
> oop, a buffered value or a list of fields back from the callee. (this
> is based on a discussion with Fred)
> - stores precomputed extended signature and vreturn registers in the
> ValueKlass to not have to compute them every time they are
> needed. This is also something Fred suggested. I considered
> initializaing those fields on first use but came to the conclusion it
> would make things too complicated. For instance the vreturn registers
> are sometimes use at a point where the thread can't safepoint making
> it impossible to use a metadata Array.
More information about the valhalla-dev