mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Fix OdinMonkey when --disable-ion (no bug, r=me)
--HG-- extra : rebase_source : 3536acf09aecbdcb2ca9156873fc39571328975a
This commit is contained in:
parent
964d540d50
commit
80be644629
@ -46,7 +46,6 @@ VPATH += \
|
||||
$(srcdir)/ds \
|
||||
$(srcdir)/frontend \
|
||||
$(srcdir)/gc \
|
||||
$(srcdir)/ion \
|
||||
$(srcdir)/vm \
|
||||
$(NULL)
|
||||
|
||||
@ -145,9 +144,6 @@ CPPSRCS = \
|
||||
Unicode.cpp \
|
||||
Xdr.cpp \
|
||||
Module.cpp \
|
||||
AsmJS.cpp \
|
||||
AsmJSLink.cpp \
|
||||
AsmJSSignalHandlers.cpp \
|
||||
$(NULL)
|
||||
|
||||
# Changes to internal header files, used externally, massively slow down
|
||||
@ -295,6 +291,9 @@ CPPSRCS += MIR.cpp \
|
||||
ParallelArrayAnalysis.cpp \
|
||||
UnreachableCodeElimination.cpp \
|
||||
EffectiveAddressAnalysis.cpp \
|
||||
AsmJS.cpp \
|
||||
AsmJSLink.cpp \
|
||||
AsmJSSignalHandlers.cpp \
|
||||
$(NULL)
|
||||
endif #ENABLE_ION
|
||||
ifeq (86, $(findstring 86,$(TARGET_CPU)))
|
||||
|
@ -905,6 +905,16 @@ js::testingFunc_inParallelSection(JSContext *cx, unsigned argc, jsval *vp)
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifndef JS_ION
|
||||
JSBool
|
||||
js::IsAsmJSCompilationAvailable(JSContext *cx, unsigned argc, Value *vp)
|
||||
{
|
||||
CallArgs args = CallArgsFromVp(argc, vp);
|
||||
args.rval().set(BooleanValue(false));
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
static JSFunctionSpecWithHelp TestingFunctions[] = {
|
||||
JS_FN_HELP("gc", ::GC, 0, 0,
|
||||
"gc([obj] | 'compartment')",
|
||||
|
@ -407,12 +407,14 @@ frontend::CompileFunctionBody(JSContext *cx, HandleFunction fun, CompileOptions
|
||||
pn = fn->pn_body;
|
||||
}
|
||||
|
||||
#ifdef JS_ION
|
||||
/*
|
||||
* Do asm.js compilation once the parse tree has been fully assembled but
|
||||
* before emitting since we need to know whether to emit JSOP_LINKASMJS.
|
||||
*/
|
||||
if (fn->pn_funbox->useAsm && !CompileAsmJS(cx, parser.tokenStream, fn, script))
|
||||
return false;
|
||||
#endif
|
||||
|
||||
if (!SetSourceMap(cx, parser.tokenStream, ss, script))
|
||||
return false;
|
||||
|
@ -4392,12 +4392,14 @@ EmitFunc(JSContext *cx, BytecodeEmitter *bce, ParseNode *pn)
|
||||
|
||||
script->bindings = funbox->bindings;
|
||||
|
||||
#ifdef JS_ION
|
||||
// Do asm.js compilation at the beginning of emitting to avoid
|
||||
// compiling twice when JS_BufferIsCompilableUnit and to know whether
|
||||
// to emit JSOP_LINKASMJS. Don't fold constants as this will
|
||||
// misrepresent the source JS as written to the type checker.
|
||||
if (funbox->useAsm && !CompileAsmJS(cx, *bce->tokenStream(), pn, script))
|
||||
return false;
|
||||
#endif
|
||||
|
||||
BytecodeEmitter bce2(bce, bce->parser, funbox, script, bce->evalCaller,
|
||||
bce->hasGlobalScope, pn->pn_pos.begin.lineno, bce->selfHostingMode);
|
||||
|
@ -16,14 +16,14 @@ using namespace js;
|
||||
using namespace js::frontend;
|
||||
using namespace mozilla;
|
||||
|
||||
#ifdef JS_ASMJS
|
||||
|
||||
#include "ion/CodeGenerator.h"
|
||||
#include "ion/MIR.h"
|
||||
#include "ion/MIRGraph.h"
|
||||
|
||||
using namespace js::ion;
|
||||
|
||||
#ifdef JS_ASMJS
|
||||
|
||||
/*****************************************************************************/
|
||||
// ParseNode utilities
|
||||
|
||||
|
@ -17,6 +17,8 @@ using namespace js;
|
||||
using namespace js::ion;
|
||||
using namespace mozilla;
|
||||
|
||||
#ifdef JS_ASMJS
|
||||
|
||||
static bool
|
||||
LinkFail(JSContext *cx, const char *str)
|
||||
{
|
||||
@ -403,3 +405,5 @@ js::LinkAsmJS(JSContext *cx, StackFrame *fp, MutableHandleValue rval)
|
||||
rval.set(ObjectValue(*obj));
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif // defined(JS_ASMJS)
|
||||
|
Loading…
Reference in New Issue
Block a user