Bug 1249736 - Remove redundant StartType from MStart. r=jandem

This commit is contained in:
Nicolas B. Pierron 2016-02-25 14:21:46 +00:00
Родитель 40429e1dd8
Коммит b6bf8bb8b7
7 изменённых файлов: 8 добавлений и 38 удалений

Просмотреть файл

@ -1895,7 +1895,6 @@ jit::FinishBailoutToBaseline(BaselineBailoutInfo* bailoutInfo)
case Bailout_NonSimdInt32x4Input:
case Bailout_NonSimdFloat32x4Input:
case Bailout_NonSharedTypedArrayInput:
case Bailout_InitialState:
case Bailout_Debugger:
case Bailout_UninitializedThis:
case Bailout_BadDerivedConstructorReturn:

Просмотреть файл

@ -845,7 +845,7 @@ IonBuilder::build()
}
// Emit the start instruction, so we can begin real instructions.
current->add(MStart::New(alloc(), MStart::StartType_Default));
current->add(MStart::New(alloc()));
// Guard against over-recursion. Do this before we start unboxing, since
// this will create an OSI point that will read the incoming argument
@ -7584,7 +7584,7 @@ IonBuilder::newOsrPreheader(MBasicBlock* predecessor, jsbytecode* loopEntry, jsb
}
// Create an MStart to hold the first valid MResumePoint.
MStart* start = MStart::New(alloc(), MStart::StartType_Osr);
MStart* start = MStart::New(alloc());
osrBlock->add(start);
// MOsrValue instructions are infallible, so the first MResumePoint must

Просмотреть файл

@ -110,9 +110,6 @@ enum BailoutKind
// maps unshared memory.
Bailout_NonSharedTypedArrayInput,
// For the initial snapshot when entering a function.
Bailout_InitialState,
// We hit a |debugger;| statement.
Bailout_Debugger,
@ -222,8 +219,6 @@ BailoutKindString(BailoutKind kind)
return "Bailout_NonSimdFloat32x4Input";
case Bailout_NonSharedTypedArrayInput:
return "Bailout_NonSharedTypedArrayInput";
case Bailout_InitialState:
return "Bailout_InitialState";
case Bailout_Debugger:
return "Bailout_Debugger";
case Bailout_UninitializedThis:

Просмотреть файл

@ -1312,9 +1312,6 @@ class LSnapshot : public TempObject
BailoutKind bailoutKind() const {
return bailoutKind_;
}
void setBailoutKind(BailoutKind kind) {
bailoutKind_ = kind;
}
void rewriteRecoveredInput(LUse input);
};
@ -1833,8 +1830,6 @@ class LIRGraph
}
void setEntrySnapshot(LSnapshot* snapshot) {
MOZ_ASSERT(!entrySnapshot_);
MOZ_ASSERT(snapshot->bailoutKind() == Bailout_InitialState);
snapshot->setBailoutKind(Bailout_ArgumentCheck);
entrySnapshot_ = snapshot;
}
LSnapshot* entrySnapshot() const {

Просмотреть файл

@ -1747,12 +1747,13 @@ LIRGenerator::visitFromCharCode(MFromCharCode* ins)
void
LIRGenerator::visitStart(MStart* start)
{
// Create a snapshot that captures the initial state of the function.
LStart* lir = new(alloc()) LStart;
assignSnapshot(lir, Bailout_InitialState);
if (start->startType() == MStart::StartType_Default && lir->snapshot())
// Create a snapshot that captures the initial state of the function.
assignSnapshot(lir, Bailout_ArgumentCheck);
if (start->block()->graph().entryBlock() == start->block())
lirGraph_.setEntrySnapshot(lir->snapshot());
add(lir);
}

Просмотреть файл

@ -1259,28 +1259,10 @@ typedef MVariadicT<MInstruction> MVariadicInstruction;
// Generates an LSnapshot without further effect.
class MStart : public MNullaryInstruction
{
public:
enum StartType {
StartType_Default,
StartType_Osr
};
private:
StartType startType_;
private:
explicit MStart(StartType startType)
: startType_(startType)
{ }
public:
INSTRUCTION_HEADER(Start)
static MStart* New(TempAllocator& alloc, StartType startType) {
return new(alloc) MStart(startType);
}
StartType startType() {
return startType_;
static MStart* New(TempAllocator& alloc) {
return new(alloc) MStart();
}
};

Просмотреть файл

@ -603,8 +603,6 @@ MBasicBlock::shimmySlots(int discardDepth)
bool
MBasicBlock::linkOsrValues(MStart* start)
{
MOZ_ASSERT(start->startType() == MStart::StartType_Osr);
MResumePoint* res = start->resumePoint();
for (uint32_t i = 0; i < stackDepth(); i++) {