Commit 64350d7f authored by mstarzinger's avatar mstarzinger Committed by Commit bot

[fullcodegen] Factor out EmitLoadStoreICSlot from archs.

R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/1727953004

Cr-Commit-Position: refs/heads/master@{#34486}
parent 5912e0f0
......@@ -4084,12 +4084,6 @@ void FullCodeGenerator::ClearPendingMessage() {
}
void FullCodeGenerator::EmitLoadStoreICSlot(FeedbackVectorSlot slot) {
DCHECK(!slot.IsInvalid());
__ mov(VectorStoreICTrampolineDescriptor::SlotRegister(),
Operand(SmiFromSlot(slot)));
}
void FullCodeGenerator::DeferredCommands::EmitCommands() {
DCHECK(!result_register().is(r1));
__ Pop(result_register()); // Restore the accumulator.
......
......@@ -4136,11 +4136,6 @@ void FullCodeGenerator::ClearPendingMessage() {
}
void FullCodeGenerator::EmitLoadStoreICSlot(FeedbackVectorSlot slot) {
DCHECK(!slot.IsInvalid());
__ Mov(VectorStoreICTrampolineDescriptor::SlotRegister(), SmiFromSlot(slot));
}
void FullCodeGenerator::DeferredCommands::EmitCommands() {
__ Pop(result_register(), x1); // Restore the accumulator and get the token.
for (DeferredCommand cmd : commands_) {
......
......@@ -1082,6 +1082,10 @@ void FullCodeGenerator::EmitPropertyKey(ObjectLiteralProperty* property,
PushOperand(result_register());
}
void FullCodeGenerator::EmitLoadStoreICSlot(FeedbackVectorSlot slot) {
DCHECK(!slot.IsInvalid());
__ Move(VectorStoreICTrampolineDescriptor::SlotRegister(), SmiFromSlot(slot));
}
void FullCodeGenerator::VisitReturnStatement(ReturnStatement* stmt) {
Comment cmnt(masm_, "[ ReturnStatement");
......
......@@ -641,6 +641,8 @@ class FullCodeGenerator: public AstVisitor {
void EmitSetHomeObjectAccumulator(Expression* initializer, int offset,
FeedbackVectorSlot slot);
void EmitLoadStoreICSlot(FeedbackVectorSlot slot);
void CallIC(Handle<Code> code,
TypeFeedbackId id = TypeFeedbackId::None());
......@@ -745,8 +747,6 @@ class FullCodeGenerator: public AstVisitor {
bool MustCreateObjectLiteralWithRuntime(ObjectLiteral* expr) const;
bool MustCreateArrayLiteralWithRuntime(ArrayLiteral* expr) const;
void EmitLoadStoreICSlot(FeedbackVectorSlot slot);
int NewHandlerTableEntry();
struct BailoutEntry {
......
......@@ -3972,12 +3972,6 @@ void FullCodeGenerator::ClearPendingMessage() {
}
void FullCodeGenerator::EmitLoadStoreICSlot(FeedbackVectorSlot slot) {
DCHECK(!slot.IsInvalid());
__ mov(VectorStoreICTrampolineDescriptor::SlotRegister(),
Immediate(SmiFromSlot(slot)));
}
void FullCodeGenerator::DeferredCommands::EmitCommands() {
DCHECK(!result_register().is(edx));
__ Pop(result_register()); // Restore the accumulator.
......
......@@ -4095,12 +4095,6 @@ void FullCodeGenerator::ClearPendingMessage() {
}
void FullCodeGenerator::EmitLoadStoreICSlot(FeedbackVectorSlot slot) {
DCHECK(!slot.IsInvalid());
__ li(VectorStoreICTrampolineDescriptor::SlotRegister(),
Operand(SmiFromSlot(slot)));
}
void FullCodeGenerator::DeferredCommands::EmitCommands() {
DCHECK(!result_register().is(a1));
__ Pop(result_register()); // Restore the accumulator.
......
......@@ -4104,12 +4104,6 @@ void FullCodeGenerator::ClearPendingMessage() {
}
void FullCodeGenerator::EmitLoadStoreICSlot(FeedbackVectorSlot slot) {
DCHECK(!slot.IsInvalid());
__ li(VectorStoreICTrampolineDescriptor::SlotRegister(),
Operand(SmiFromSlot(slot)));
}
void FullCodeGenerator::DeferredCommands::EmitCommands() {
__ Pop(result_register()); // Restore the accumulator.
__ Pop(a1); // Get the token.
......
......@@ -4074,12 +4074,6 @@ void FullCodeGenerator::ClearPendingMessage() {
}
void FullCodeGenerator::EmitLoadStoreICSlot(FeedbackVectorSlot slot) {
DCHECK(!slot.IsInvalid());
__ mov(VectorStoreICTrampolineDescriptor::SlotRegister(),
Operand(SmiFromSlot(slot)));
}
void FullCodeGenerator::DeferredCommands::EmitCommands() {
DCHECK(!result_register().is(r4));
// Restore the accumulator (r3) and token (r4).
......
......@@ -3961,11 +3961,6 @@ void FullCodeGenerator::ClearPendingMessage() {
}
void FullCodeGenerator::EmitLoadStoreICSlot(FeedbackVectorSlot slot) {
DCHECK(!slot.IsInvalid());
__ Move(VectorStoreICTrampolineDescriptor::SlotRegister(), SmiFromSlot(slot));
}
void FullCodeGenerator::DeferredCommands::EmitCommands() {
__ Pop(result_register()); // Restore the accumulator.
__ Pop(rdx); // Get the token.
......
......@@ -3964,12 +3964,6 @@ void FullCodeGenerator::ClearPendingMessage() {
}
void FullCodeGenerator::EmitLoadStoreICSlot(FeedbackVectorSlot slot) {
DCHECK(!slot.IsInvalid());
__ mov(VectorStoreICTrampolineDescriptor::SlotRegister(),
Immediate(SmiFromSlot(slot)));
}
void FullCodeGenerator::DeferredCommands::EmitCommands() {
DCHECK(!result_register().is(edx));
__ Pop(result_register()); // Restore the accumulator.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment