RFR/RFC calling convention change for value types in compiled code
Roland Westrelin
rwestrel at redhat.com
Mon Dec 5 13:54:48 UTC 2016
Hi Tobias,
Thanks for the review.
> - callGenerator.cpp:
> - I would move the !ValueTypePassFieldsAsArgs condition in line 157
> to the outer if
It doesn't seem possible to move it to either:
if (!is_static) {
because it would skip:
// Mark the call node as virtual, sort of:
call->set_optimized_virtual(true);
...
or:
if (kit.argument(0)->is_ValueType()) {
because it would then null check an non-existing receiver.
> - There are lots of "domain() -> domain_sig()" changes. Maybe it would make sense to not rename domain() but only add domain_cc().
Isn't it better to differentiate the two clearly?
> - I saw that you also fixed the invokedirect problem you've mentioned. Was this problem triggered by one of the tests you added?
Not by one of my tests but I think any test that uses invokedirect. So
one of Zoltan's tests should trigger the problem.
Roland.
More information about the valhalla-dev
mailing list