RFR: 8302850: Implement C1 clone intrinsic that reuses arraycopy code for primitive arrays [v13]
Roland Westrelin
roland at openjdk.org
Thu May 2 07:31:58 UTC 2024
On Mon, 29 Apr 2024 23:02:33 GMT, Dean Long <dlong at openjdk.org> wrote:
>> src/hotspot/share/c1/c1_GraphBuilder.cpp line 2030:
>>
>>> 2028: receiver = state()->stack_at(index);
>>> 2029: ciType* type = receiver->exact_type();
>>> 2030: if (type != nullptr && type->is_loaded()) {
>>
>> Is it the case that we can't see an interface here? Or that we think it's ok if we see an interface here?
>
> We can't see an interface here because it will get rejected by `ciInstanceKlass::exact_klass`, so we could even assert for that here if we wanted.
Then, I think we should add an assert that `!type->as_instance_klass()->is_interface()` and also that it's not and array of interfaces (using `base_element_klass()`)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17667#discussion_r1587185774
More information about the hotspot-compiler-dev
mailing list