RFR(S): 8187679: [MVT] VM crashes with "assert(k != __null && !(((ThreadShadow*)__the_thread__)->has_pending_exception())) failed: can resolve klass?"

Tobias Hartmann tobias.hartmann at oracle.com
Wed Sep 20 15:12:43 UTC 2017

Hi Fred,

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:
>> Hi,
>> please review the following patch:
>> https://bugs.openjdk.java.net/browse/JDK-8187679
>> http://cr.openjdk.java.net/~thartmann/8187679/webrev.00/
>> 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.
>> Thanks,
>> Tobias

More information about the valhalla-dev mailing list