disable certain code for PPC only, re-enable for x86

This commit is contained in:
Riccardo Mottola 2018-05-08 15:46:15 +02:00
parent e5c2701324
commit 9019153ff9
5 changed files with 17 additions and 15 deletions

View File

@ -170,7 +170,7 @@ static void
GenerateProfilingPrologue(MacroAssembler& masm, unsigned framePushed, ExitReason reason,
AsmJSProfilingOffsets* offsets, Label* maybeEntry = nullptr)
{
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
#if !defined (JS_CODEGEN_ARM)
Register scratch = ABIArgGenerator::NonArg_VolatileReg;
#else
@ -225,7 +225,7 @@ static void
GenerateProfilingEpilogue(MacroAssembler& masm, unsigned framePushed, ExitReason reason,
AsmJSProfilingOffsets* offsets)
{
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
Register scratch = ABIArgGenerator::NonReturn_VolatileReg0;
#if defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_ARM64) || \
defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64)
@ -500,7 +500,7 @@ AsmJSProfilingFrameIterator::AsmJSProfilingFrameIterator(const AsmJSActivation&
exitReason_(ExitReason::None),
codeRange_(nullptr)
{
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
// If profiling hasn't been enabled for this module, then CallerFPFromFP
// will be trash, so ignore the entire activation. In practice, this only
// happens if profiling is enabled while module->active() (in this case,

View File

@ -54,7 +54,7 @@ using namespace js::wasm;
using mozilla::IsNaN;
using mozilla::PodZero;
#if(0) // bug 881882
#if !defined(JS_CODEGEN_PPC_OSX) // bug 881882
static bool
CloneModule(JSContext* cx, MutableHandle<AsmJSModuleObject*> moduleObj)
@ -1273,7 +1273,7 @@ js::IsAsmJSFunction(JSContext *cx, unsigned argc, Value *vp)
bool
js::IsAsmJSFunction(HandleFunction fun)
{
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
return fun->isNative() && fun->maybeNative() == CallAsmJS;
#else
return false;
@ -1283,7 +1283,7 @@ js::IsAsmJSFunction(HandleFunction fun)
JSString*
js::AsmJSFunctionToString(JSContext* cx, HandleFunction fun)
{
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
AsmJSModule& module = FunctionToEnclosingModule(fun);
const AsmJSModule::ExportedFunction& f = FunctionToExportedFunction(fun, module);
uint32_t begin = module.srcStart() + f.startOffsetInModule();

View File

@ -270,7 +270,7 @@ AsmJSModule::lookupHeapAccess(void* pc) const
bool
AsmJSModule::finish(ExclusiveContext* cx, TokenStream& tokenStream, MacroAssembler& masm)
{
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
MOZ_ASSERT(!isFinished());
uint32_t endBeforeCurly = tokenStream.currentToken().pos.end;
@ -1755,7 +1755,7 @@ AsmJSModule::heapLength() const
void
AsmJSModule::setProfilingEnabled(bool enabled, JSContext* cx)
{
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
MOZ_ASSERT(isDynamicallyLinked());
if (profilingEnabled_ == enabled)

View File

@ -77,7 +77,7 @@ class AutoSetHandlingSignal
}
};
#if(0) // bug 881882
#if !defined(JS_CODEGEN_PPC_OSX) // bug 881882
#if defined(XP_WIN)
# define XMM_sig(p,i) ((p)->Xmm##i)
@ -1226,7 +1226,7 @@ JitInterruptHandler(int signum, siginfo_t* info, void* context)
bool
js::EnsureSignalHandlersInstalled(JSRuntime* rt)
{
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
#if defined(XP_DARWIN) && defined(ASMJS_MAY_USE_SIGNAL_HANDLERS_FOR_OOB)
// On OSX, each JSRuntime gets its own handler thread.
if (!rt->asmJSMachExceptionHandler.installed() && !rt->asmJSMachExceptionHandler.install(rt))
@ -1324,7 +1324,7 @@ js::EnsureSignalHandlersInstalled(JSRuntime* rt)
void
js::InterruptRunningJitCode(JSRuntime* rt)
{
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
// If signal handlers weren't installed, then Ion and asm.js emit normal
// interrupt checks and don't need asynchronous interruption.
if (!rt->canUseSignalHandlers())

View File

@ -53,7 +53,7 @@ using mozilla::UniquePtr;
using JS::AsmJSOption;
using JS::GenericNaN;
#if(0) // bug 881882
#if !defined(JS_CODEGEN_PPC_OSX) // bug 881882
/*****************************************************************************/
// ParseNode utilities
@ -6871,7 +6871,7 @@ Warn(AsmJSParser& parser, int errorNumber, const char* str)
return false;
}
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
static bool
EstablishPreconditions(ExclusiveContext* cx, AsmJSParser& parser)
{
@ -6918,9 +6918,11 @@ bool
js::ValidateAsmJS(ExclusiveContext* cx, AsmJSParser& parser, ParseNode* stmtList, bool* validated)
{
*validated = false;
#if defined(JS_CODEGEN_PPC_OSX) // bug 881882
Warn(parser, JSMSG_USE_ASM_TYPE_FAIL, "AsmJS not currently supported on PowerPC; downgrading to IonPower");
return NoExceptionPending(cx);
#if(0) // bug 881882
#else
// Various conditions disable asm.js optimizations.
if (!EstablishPreconditions(cx, parser))
@ -6989,7 +6991,7 @@ js::IsAsmJSCompilationAvailable(JSContext* cx, unsigned argc, Value* vp)
{
CallArgs args = CallArgsFromVp(argc, vp);
#if(0)
#if !defined(JS_CODEGEN_PPC_OSX)
// See EstablishPreconditions.
#ifdef JS_CODEGEN_NONE
bool available = false;