#593: M1608256 (disable optimization)
This commit is contained in:
parent
e901c0a71e
commit
6dc231866c
|
@ -1509,14 +1509,6 @@ OptimizeMIR(MIRGenerator* mir)
|
|||
if (mir->shouldCancel("Start"))
|
||||
return false;
|
||||
|
||||
if (!mir->compilingAsmJS()) {
|
||||
if (!MakeMRegExpHoistable(mir, graph))
|
||||
return false;
|
||||
|
||||
if (mir->shouldCancel("Make MRegExp Hoistable"))
|
||||
return false;
|
||||
}
|
||||
|
||||
gs.spewPass("BuildSSA");
|
||||
AssertBasicGraphCoherency(graph);
|
||||
|
||||
|
|
|
@ -1878,6 +1878,9 @@ jit::ApplyTypeInformation(MIRGenerator* mir, MIRGraph& graph)
|
|||
bool
|
||||
jit::MakeMRegExpHoistable(MIRGenerator* mir, MIRGraph& graph)
|
||||
{
|
||||
MOZ_CRASH("thou may not hoist this regex");
|
||||
return false;
|
||||
#if(0)
|
||||
// If we are compiling try blocks, regular expressions may be observable
|
||||
// from catch blocks (which Ion does not compile). For now just disable the
|
||||
// pass in this case.
|
||||
|
@ -1945,6 +1948,7 @@ jit::MakeMRegExpHoistable(MIRGenerator* mir, MIRGraph& graph)
|
|||
}
|
||||
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool
|
||||
|
|
|
@ -2099,14 +2099,9 @@ MustCloneRegExp(MRegExp* regexp)
|
|||
void
|
||||
LIRGenerator::visitRegExp(MRegExp* ins)
|
||||
{
|
||||
if (!MustCloneRegExp(ins)) {
|
||||
RegExpObject* source = ins->source();
|
||||
define(new(alloc()) LPointer(source), ins);
|
||||
} else {
|
||||
LRegExp* lir = new(alloc()) LRegExp();
|
||||
defineReturn(lir, ins);
|
||||
assignSafepoint(lir, ins);
|
||||
}
|
||||
LRegExp* lir = new(alloc()) LRegExp();
|
||||
defineReturn(lir, ins);
|
||||
assignSafepoint(lir, ins);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue