RFR: 8133951: Zero interpreter asserts in stubRoutines.cpp
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Aug 19 18:50:36 UTC 2015
Looks good.
Thanks,
Vladimir
On 8/19/15 11:27 AM, Coleen Phillimore wrote:
> Yes, this works also and is more minimal. Thanks!
>
> http://cr.openjdk.java.net/~coleenp/8133951.02/
>
> Coleen
>
> On 8/19/15 2:15 PM, Vladimir Kozlov wrote:
>> I found it in stubRoutines_zero.hpp:
>>
>> enum platform_dependent_constants {
>> code_size1 = 0, // The assembler will fail with a guarantee
>> code_size2 = 0 // if these are too small. Simply increase
>> }; // them if that happens.
>>
>> That is why zero hits assert.
>>
>> I think asserts should be relaxed as:
>>
>> assert(code_size1 == 0 || buffer.insts_remaining() > 200, "increase
>> code_size1");
>>
>> assert(code_size2 == 0 || buffer.insts_remaining() > 200, "increase
>> code_size2");
>>
>> Thanks,
>> Vladimir
>>
>> On 8/19/15 10:57 AM, Vladimir Kozlov wrote:
>>> Insts sizes are set by CodeBuffer constructor which is called before
>>> StubGenerator_generate:
>>>
>>> CodeBuffer buffer(_code1);
>>> StubGenerator_generate(&buffer, false);
>>>
>>> See CodeBuffer::initialize() and CodeSection::initialize(). So if
>>> nothing generated insts_remaining() should be code_size1 value. Why it
>>> is not?
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 8/19/15 10:45 AM, Coleen Phillimore wrote:
>>>> Summary: Allow zero sized code buffer when checking if there's enough
>>>> remaining size
>>>>
>>>> open webrev at http://cr.openjdk.java.net/~coleenp/8133951/
>>>> bug link https://bugs.openjdk.java.net/browse/JDK-8133951
>>>>
>>>> Tested with java -version of zero and runThese -jck tests.
>>>>
>>>> Thanks,
>>>> Coleen
>
More information about the hotspot-dev
mailing list