#593: M1608256 (disable optimization)

This commit is contained in:
Cameron Kaiser 2020-03-05 19:17:10 -08:00
parent e901c0a71e
commit 6dc231866c
3 changed files with 7 additions and 16 deletions

View File

@ -1509,14 +1509,6 @@ OptimizeMIR(MIRGenerator* mir)
if (mir->shouldCancel("Start")) if (mir->shouldCancel("Start"))
return false; return false;
if (!mir->compilingAsmJS()) {
if (!MakeMRegExpHoistable(mir, graph))
return false;
if (mir->shouldCancel("Make MRegExp Hoistable"))
return false;
}
gs.spewPass("BuildSSA"); gs.spewPass("BuildSSA");
AssertBasicGraphCoherency(graph); AssertBasicGraphCoherency(graph);

View File

@ -1878,6 +1878,9 @@ jit::ApplyTypeInformation(MIRGenerator* mir, MIRGraph& graph)
bool bool
jit::MakeMRegExpHoistable(MIRGenerator* mir, MIRGraph& graph) 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 // If we are compiling try blocks, regular expressions may be observable
// from catch blocks (which Ion does not compile). For now just disable the // from catch blocks (which Ion does not compile). For now just disable the
// pass in this case. // pass in this case.
@ -1945,6 +1948,7 @@ jit::MakeMRegExpHoistable(MIRGenerator* mir, MIRGraph& graph)
} }
return true; return true;
#endif
} }
bool bool

View File

@ -2099,14 +2099,9 @@ MustCloneRegExp(MRegExp* regexp)
void void
LIRGenerator::visitRegExp(MRegExp* ins) LIRGenerator::visitRegExp(MRegExp* ins)
{ {
if (!MustCloneRegExp(ins)) { LRegExp* lir = new(alloc()) LRegExp();
RegExpObject* source = ins->source(); defineReturn(lir, ins);
define(new(alloc()) LPointer(source), ins); assignSafepoint(lir, ins);
} else {
LRegExp* lir = new(alloc()) LRegExp();
defineReturn(lir, ins);
assignSafepoint(lir, ins);
}
} }
void void