RFR: 8160748: Inconsistent types for ideal_reg
Kim Barrett
kim.barrett at oracle.com
Wed Apr 12 05:12:58 UTC 2017
> On Apr 11, 2017, at 10:41 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
>
>
> On 4/11/17 6:03 PM, Kim Barrett wrote:
>>> On Apr 10, 2017, at 9:53 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>
>>> On 4/10/17 6:00 PM, Kim Barrett wrote:
>>>>> On Apr 10, 2017, at 3:43 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>>>
>>>>> Hi, Kim
>>>>>
>>>>> Please, also correct vector registers (need to fix *.ad files too):
>>>>>
>>>>> // Vector ideal reg
>>>>> static const int vector_ideal_reg(int len);
>>>>> static const int vector_shift_count_ideal_reg(int len);
>>>>
>>>> Oops, I missed those. Testing that change. I’ll put out a new webrev when that’s done.
>>>>
>>>>> Can you do the same for OptoReg::reg2stack()? Or file separate RFE for it.
>>>>
>>>> I’m not sure what it is you are asking for here.
>>>
>>> There are useless conversions there too. For example:
>>>
>>> static unsigned int reg2stack( OptoReg::Name r) {
>>>
>>> int stack_slot = reg2stack(n);
>>>
>>> But it is a lot more changes since stack2reg(int idx) and others have singed argument. And I don't remember if negative values are used in such case. That is why I said may be to do it in separate RFE.
>>
>> At a high level, I think this is covered by JDK-8135181, and would be part of the JDK-8177482 subtask.
>
> Good. We will take care about this when work on 8177482.
>
>> If you want something more specific than that right now, it might be better for you or some other person
>> with better understanding of the compiler than I have to put a sensible RFE together. About all I could
>> say is that reg2stack returns uint but many callers treat the result as an int. But maybe that’s all you are
>> asking for?
>
> I did not know about 8177482 before. It should cover the issue I mentioned.
>
> Thanks,
> Vladimir
OK, I’ll leave it at that.
More information about the hotspot-compiler-dev
mailing list