Bug 1017539 part 1 - Move LoadSlotV codegen to platform-independent code. r=sstangl

This commit is contained in:
Jan de Mooij 2014-05-30 12:51:41 +02:00
Родитель fba7dd3788
Коммит 0ed5337b08
10 изменённых файлов: 12 добавлений и 48 удалений

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

@ -1564,6 +1564,17 @@ CodeGenerator::visitSlots(LSlots *lir)
return true;
}
bool
CodeGenerator::visitLoadSlotV(LLoadSlotV *lir)
{
ValueOperand dest = ToOutValue(lir);
Register base = ToRegister(lir->input());
int32_t offset = lir->mir()->slot() * sizeof(js::Value);
masm.loadValue(Address(base, offset), dest);
return true;
}
bool
CodeGenerator::visitStoreSlotV(LStoreSlotV *store)
{

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

@ -106,6 +106,7 @@ class CodeGenerator : public CodeGeneratorSpecific
bool visitLambdaPar(LLambdaPar *lir);
bool visitPointer(LPointer *lir);
bool visitSlots(LSlots *lir);
bool visitLoadSlotV(LLoadSlotV *lir);
bool visitStoreSlotV(LStoreSlotV *store);
bool visitElements(LElements *lir);
bool visitConvertElementsToDoubles(LConvertElementsToDoubles *lir);

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

@ -1727,17 +1727,6 @@ CodeGeneratorARM::visitNotF(LNotF *ins)
return true;
}
bool
CodeGeneratorARM::visitLoadSlotV(LLoadSlotV *load)
{
const ValueOperand out = ToOutValue(load);
Register base = ToRegister(load->input());
int32_t offset = load->mir()->slot() * sizeof(js::Value);
masm.loadValue(Address(base, offset), out);
return true;
}
bool
CodeGeneratorARM::visitLoadSlotT(LLoadSlotT *load)
{

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

@ -183,7 +183,6 @@ class CodeGeneratorARM : public CodeGeneratorShared
bool visitDouble(LDouble *ins);
bool visitFloat32(LFloat32 *ins);
bool visitLoadSlotV(LLoadSlotV *load);
bool visitLoadSlotT(LLoadSlotT *load);
bool visitStoreSlotT(LStoreSlotT *load);

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

@ -1754,17 +1754,6 @@ CodeGeneratorMIPS::visitNotF(LNotF *ins)
return true;
}
bool
CodeGeneratorMIPS::visitLoadSlotV(LLoadSlotV *load)
{
const ValueOperand out = ToOutValue(load);
Register base = ToRegister(load->input());
int32_t offset = load->mir()->slot() * sizeof(js::Value);
masm.loadValue(Address(base, offset), out);
return true;
}
bool
CodeGeneratorMIPS::visitLoadSlotT(LLoadSlotT *load)
{

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

@ -243,7 +243,6 @@ class CodeGeneratorMIPS : public CodeGeneratorShared
bool visitDouble(LDouble *ins);
bool visitFloat32(LFloat32 *ins);
bool visitLoadSlotV(LLoadSlotV *load);
bool visitLoadSlotT(LLoadSlotT *load);
bool visitStoreSlotT(LStoreSlotT *load);

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

@ -133,17 +133,6 @@ CodeGeneratorX64::visitUnbox(LUnbox *unbox)
return true;
}
bool
CodeGeneratorX64::visitLoadSlotV(LLoadSlotV *load)
{
ValueOperand dest = ToOutValue(load);
Register base = ToRegister(load->input());
int32_t offset = load->mir()->slot() * sizeof(js::Value);
masm.loadValue(Address(base, offset), dest);
return true;
}
void
CodeGeneratorX64::loadUnboxedValue(Operand source, MIRType type, const LDefinition *dest)
{

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

@ -38,7 +38,6 @@ class CodeGeneratorX64 : public CodeGeneratorX86Shared
bool visitValue(LValue *value);
bool visitBox(LBox *box);
bool visitUnbox(LUnbox *unbox);
bool visitLoadSlotV(LLoadSlotV *ins);
bool visitLoadSlotT(LLoadSlotT *load);
bool visitStoreSlotT(LStoreSlotT *store);
bool visitLoadElementT(LLoadElementT *load);

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

@ -137,17 +137,6 @@ CodeGeneratorX86::visitUnbox(LUnbox *unbox)
return true;
}
bool
CodeGeneratorX86::visitLoadSlotV(LLoadSlotV *load)
{
const ValueOperand out = ToOutValue(load);
Register base = ToRegister(load->input());
int32_t offset = load->mir()->slot() * sizeof(js::Value);
masm.loadValue(Address(base, offset), out);
return true;
}
bool
CodeGeneratorX86::visitLoadSlotT(LLoadSlotT *load)
{

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

@ -52,7 +52,6 @@ class CodeGeneratorX86 : public CodeGeneratorX86Shared
bool visitBoxFloatingPoint(LBoxFloatingPoint *box);
bool visitUnbox(LUnbox *unbox);
bool visitValue(LValue *value);
bool visitLoadSlotV(LLoadSlotV *load);
bool visitLoadSlotT(LLoadSlotT *load);
bool visitStoreSlotT(LStoreSlotT *store);
bool visitLoadElementT(LLoadElementT *load);