Return value type fields in registers
rwestrel at redhat.com
Thu Jun 1 15:51:26 UTC 2017
Thanks for the detailed review. Here is a new webrev:
> I'm seeing build failures  on JPRT and the ValueTypeTestBench fails
> on Windows  and crashes with an assert  on my machine.
Build failures should be fixed now. I made sure it builds with
precompiled headers disabled.
I tried to figure out what could cause the windows failure but I can't
say I have a clue. Registers for returns should be the same but used in
a different order. I don't see why that would make a difference. I don't
have access to a windows machine so I don't see what I can do about it.
The assert failure should be fixed now. I added a new test case to
reproduce it (test76). Interestingly it causes a crash with
ValueTypeReturnedAsFields off. I found that's because we allocate in
vreturn, we can actually throw in a return which is not something c2
in parse1.cpp breaks the exception handling logic. I commented it out
and everything seems to work. I also look at the code and saw no reason
for clearing the bci.
> - Why is the change in line 2869 necessary?
It's not. Removed.
> - It would be good to add a reference field to MyValue3 to extend
Done. It caused some new failures in escape analysis so there's some new
More information about the valhalla-dev