< prev index next >

src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp

Print this page
8205199: more Linux clang compile failures
Contributed-by: <Arthur Eubanks> aeubanks@google.com, Thomas Stuefe <thomas.stuefe@gmail.com>
Reviewed-by: dholmes, kbarrett, stuefe

*** 94,108 **** #endif // AMD64 address os::current_stack_pointer() { #ifdef SPARC_WORKS register void *esp; ! __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp)); return (address) ((char*)esp + sizeof(long)*2); #elif defined(__clang__) intptr_t* esp; ! __asm__ __volatile__ ("mov %%"SPELL_REG_SP", %0":"=r"(esp):); return (address) esp; #else register void *esp __asm__ (SPELL_REG_SP); return (address) esp; #endif --- 94,108 ---- #endif // AMD64 address os::current_stack_pointer() { #ifdef SPARC_WORKS register void *esp; ! __asm__("mov %%" SPELL_REG_SP ", %0":"=r"(esp)); return (address) ((char*)esp + sizeof(long)*2); #elif defined(__clang__) intptr_t* esp; ! __asm__ __volatile__ ("mov %%" SPELL_REG_SP ", %0":"=r"(esp):); return (address) esp; #else register void *esp __asm__ (SPELL_REG_SP); return (address) esp; #endif
*** 232,245 **** } 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 // ebp is for this frame (_get_previous_fp). We want the ebp for the // caller of os::current_frame*(), so go up two frames. However, for --- 232,245 ---- } 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 // ebp is for this frame (_get_previous_fp). We want the ebp for the // caller of os::current_frame*(), so go up two frames. However, for
< prev index next >