RFR(S): 8187679: [MVT] VM crashes with "assert(k != __null && !(((ThreadShadow*)__the_thread__)->has_pending_exception())) failed: can resolve klass?"
tobias.hartmann at oracle.com
Wed Sep 20 15:12:43 UTC 2017
On 20.09.2017 15:52, Frederic Parain wrote:
> Looks good to me.
Thanks for looking at this.
> Note: ValueTypePassFieldsAsArgs and ValueTypeReturnedAsFields are true by
> default, should they only be true if the VM is not running in interpreted only mode?
> (May be a change for a different CR).
Yes, this is already on my (ever growing) TODO list. I'll fix it with a subsequent change.
They should also be disabled if EnableMVT and EnableValhalla are false.
>> On Sep 20, 2017, at 09:46, Tobias Hartmann <tobias.hartmann at oracle.com> wrote:
>> please review the following patch:
>> With -XX:+ValueTypePassFieldsAsArgs (which is the default), we need to resolve all value type arguments when generating adapters for a method to collect the field types. If the klass cannot be resolved, we currently fail with an assert or crash in product.
>> If klass lookup during adapter generation fails, we should pass the exception up and exit with a ClassNotFoundException.
>> All tests pass.
More information about the valhalla-dev