Bug 535765 debug build Firefox failed to start on Solaris r=gal

This commit is contained in:
Ginn Chen 2010-01-06 15:24:30 +08:00
Родитель 1d338d9580
Коммит 8ff99d3c93
1 изменённых файлов: 9 добавлений и 3 удалений

Просмотреть файл

@ -93,13 +93,13 @@ namespace nanojit
: "%eax", "%esi", "%ecx", "%edx"
);
#elif defined __SUNPRO_C || defined __SUNPRO_CC
asm("push %%ebx\n"
asm("xchg %%esi, %%ebx\n"
"mov $0x01, %%eax\n"
"cpuid\n"
"pop %%ebx\n"
"xchg %%esi, %%ebx\n"
: "=d" (features)
: /* We have no inputs */
: "%eax", "%ecx"
: "%eax", "%ecx", "esi"
);
#endif
return (features & (1<<26)) != 0;
@ -320,6 +320,12 @@ namespace nanojit
btr RegAlloc::free[ecx], eax // free &= ~rmask(i)
mov r, eax
}
#elif defined __SUNPRO_C || defined __SUNPRO_CC
asm(
"bsf %1, %%edi\n\t"
"btr %%edi, (%2)\n\t"
"movl %%edi, %0\n\t"
: "=a"(r) : "d"(set), "c"(&regs.free) : "%edi", "memory" );
#else
asm(
"bsf %1, %%eax\n\t"