mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Remove scope chain parameter from IonBuilder (bug 773123, r=jandem).
This commit is contained in:
parent
a1979795df
commit
0dee9273a5
@ -879,7 +879,7 @@ IonCompile(JSContext *cx, JSScript *script, StackFrame *fp, jsbytecode *osrPc)
|
||||
types::AutoEnterCompilation enterCompiler(cx, script, false, 0);
|
||||
AutoCompilerRoots roots(script->compartment()->rt);
|
||||
|
||||
IonBuilder builder(cx, fp->scopeChain(), temp, graph, &oracle, *info);
|
||||
IonBuilder builder(cx, temp, graph, &oracle, *info);
|
||||
if (!TestCompiler(builder, graph)) {
|
||||
IonSpew(IonSpew_Abort, "IM Compilation failed.");
|
||||
return false;
|
||||
|
@ -57,11 +57,10 @@
|
||||
using namespace js;
|
||||
using namespace js::ion;
|
||||
|
||||
IonBuilder::IonBuilder(JSContext *cx, HandleObject scopeChain, TempAllocator &temp, MIRGraph &graph,
|
||||
TypeOracle *oracle, CompileInfo &info, size_t inliningDepth, uint32 loopDepth)
|
||||
IonBuilder::IonBuilder(JSContext *cx, TempAllocator &temp, MIRGraph &graph, TypeOracle *oracle,
|
||||
CompileInfo &info, size_t inliningDepth, uint32 loopDepth)
|
||||
: MIRGenerator(cx, temp, graph, info),
|
||||
script(info.script()),
|
||||
initialScopeChain_(scopeChain),
|
||||
loopDepth_(loopDepth),
|
||||
callerResumePoint_(NULL),
|
||||
callerBuilder_(NULL),
|
||||
@ -582,7 +581,7 @@ IonBuilder::initScopeChain()
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
scope = MConstant::New(ObjectValue(*initialScopeChain_));
|
||||
scope = MConstant::New(ObjectValue(*script->global()));
|
||||
current->add(scope);
|
||||
}
|
||||
|
||||
@ -2807,10 +2806,7 @@ IonBuilder::jsop_call_inline(HandleFunction callee, uint32 argc, bool constructi
|
||||
if (!oracle.init(cx, callee->script()))
|
||||
return false;
|
||||
|
||||
RootedObject scopeChain(NULL);
|
||||
|
||||
IonBuilder inlineBuilder(cx, scopeChain, temp(), graph(), &oracle,
|
||||
*info, inliningDepth + 1, loopDepth_);
|
||||
IonBuilder inlineBuilder(cx, temp(), graph(), &oracle, *info, inliningDepth + 1, loopDepth_);
|
||||
|
||||
// Create |this| on the caller-side for inlined constructors.
|
||||
MDefinition *thisDefn = NULL;
|
||||
|
@ -200,8 +200,8 @@ class IonBuilder : public MIRGenerator
|
||||
static int CmpSuccessors(const void *a, const void *b);
|
||||
|
||||
public:
|
||||
IonBuilder(JSContext *cx, HandleObject scopeChain, TempAllocator &temp, MIRGraph &graph,
|
||||
TypeOracle *oracle, CompileInfo &info, size_t inliningDepth = 0, uint32 loopDepth = 0);
|
||||
IonBuilder(JSContext *cx, TempAllocator &temp, MIRGraph &graph, TypeOracle *oracle,
|
||||
CompileInfo &info, size_t inliningDepth = 0, uint32 loopDepth = 0);
|
||||
|
||||
bool build();
|
||||
bool buildInline(IonBuilder *callerBuilder, MResumePoint *callerResumePoint,
|
||||
@ -446,7 +446,6 @@ class IonBuilder : public MIRGenerator
|
||||
|
||||
private:
|
||||
jsbytecode *pc;
|
||||
HandleObject initialScopeChain_;
|
||||
MBasicBlock *current;
|
||||
uint32 loopDepth_;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user