What does SPARC_WORK define mean?

David Holmes david.holmes at oracle.com
Mon Sep 11 21:19:45 UTC 2017


On 12/09/2017 5:48 AM, Vladimir Kozlov wrote:
> SPARC_WORKS is defined by Sun/Oracle Studio native compilers. Changes 
> were added with this:
> 
> http://hg.openjdk.java.net/jdk10/hs/hotspot/rev/485d403e94e1

That's a blast from the past! - and something I had forgotten about. 
When was the last time somebody actually tried to build linux-x86 with 
Studio compiler? Who is supposed to keep this working?

It may be time to strip this back out.

David
-----

> Vladimir
> 
> On 9/11/17 11:58 AM, Dmitry Samersoff wrote:
>> Everybody,
>>
>> Actually %subj%:
>>
>> What does SPARC_WORKS define mean and why we have it in 
>> os_linux_x86.cpp ?
>>
>> Could we narrow function below[1] to just
>>
>>    intptr_t **ebp;
>>    __asm__ __volatile__ ("mov %%"SPELL_REG_FP", %0":"=r"(ebp):);
>>
>> that works for both gcc and clang?
>>
>>
>> 1.
>> static intptr_t* _get_previous_fp() {
>> #ifdef SPARC_WORKS
>>    register intptr_t **ebp;
>>    __asm__("mov %%"SPELL_REG_FP", %0":"=r"(ebp));
>> #elif defined(__clang__)
>>    intptr_t **ebp;
>>    __asm__ __volatile__ ("mov %%"SPELL_REG_FP", %0":"=r"(ebp):);
>> #else
>>    register intptr_t **ebp __asm__ (SPELL_REG_FP);
>> #endif
>>
>>    return *ebp;
>> }
>>
>> -Dmitry
>>
>>


More information about the hotspot-runtime-dev mailing list