What does SPARC_WORK define mean?

Dmitry Samersoff dmitry.samersoff at bell-sw.com
Mon Sep 11 18:58:36 UTC 2017


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