Hi David,

On 6/2/20 10:30 PM, David Holmes wrote:
1685 InstanceKlass* n_h = caller_ik->nest_host(THREAD);
1686   assert(n_h->has_nest_member(caller_ik, THREAD) ||
1687          n_h == caller_ik, "mismatched nest host");

I think you meant to check n_h->has_nest_member(loaded_lambda, THREAD).

That can't be right. has_nest_member is for checking static nest membership. Dynamic proxies are not static nest members!

Thanks for pointing out that has_nest_member only checks for static nest membership.

My comment is specific to ensure that the runtime nest host of caller_ik == the nest host of loaded_lambda.  I think Calvin's updated patch adds the proper check to compare the nest host and not using has_nest_member (assert nest_host == shared_nest_host)

The assert "n_h->has_nest_member(caller_ik, THREAD) || nest_host == caller_ik" is not needed.   This assert is not correct either since caller class can be a hidden class.

Mandy

Reply via email to