Commit bd9df50d authored by oth's avatar oth Committed by Commit bot

[interpreter] Clean super property handling.

SuperPropertyArgumnets is less useful after deprecating strong mode.

BUG=v8:4280,v8:4682
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34215}
parent 113d3035
This diff is collapsed.
......@@ -42,7 +42,6 @@ class BytecodeGenerator final : public AstVisitor {
class AccumulatorResultScope;
class RegisterResultScope;
class RegisterAllocationScope;
class SuperPropertyArguments;
void MakeBytecodeBody();
......@@ -94,18 +93,14 @@ class BytecodeGenerator final : public AstVisitor {
void VisitVariableAssignment(Variable* variable, Token::Value op,
FeedbackVectorSlot slot);
void PrepareNamedSuperPropertyArguments(
SuperPropertyReference* super_property, Handle<Name> name,
SuperPropertyArguments* super_property_args);
void PrepareKeyedSuperPropertyArguments(
SuperPropertyReference* super_property, Expression* key,
SuperPropertyArguments* super_property_args);
void BuildNamedSuperPropertyLoad(SuperPropertyArguments* super_property_args);
void BuildKeyedSuperPropertyLoad(SuperPropertyArguments* super_property_args);
void BuildNamedSuperPropertyStore(
SuperPropertyArguments* super_property_args);
void BuildKeyedSuperPropertyStore(
SuperPropertyArguments* super_property_args);
void BuildNamedSuperPropertyStore(Register receiver, Register home_object,
Register name, Register value);
void BuildKeyedSuperPropertyStore(Register receiver, Register home_object,
Register key, Register value);
void BuildNamedSuperPropertyLoad(Register receiver, Register home_object,
Register name);
void BuildKeyedSuperPropertyLoad(Register receiver, Register home_object,
Register key);
void BuildThrowIfHole(Handle<String> name);
void BuildThrowIfNotHole(Handle<String> name);
......@@ -149,6 +144,7 @@ class BytecodeGenerator final : public AstVisitor {
void VisitForAccumulatorValue(Expression* expr);
void VisitForAccumulatorValueOrTheHole(Expression* expr);
MUST_USE_RESULT Register VisitForRegisterValue(Expression* expr);
void VisitForRegisterValue(Expression* expr, Register destination);
void VisitForEffect(Expression* expr);
// Methods for tracking and remapping register.
......
......@@ -224,14 +224,6 @@ Register BytecodeRegisterAllocator::NextConsecutiveRegister() {
return Register(next_consecutive_register_++);
}
void BytecodeRegisterAllocator::PrepareAndInitializeConsecutiveAllocations(
Register* registers, size_t count) {
PrepareForConsecutiveAllocations(count);
for (size_t i = 0; i < count; i++) {
registers[i] = NextConsecutiveRegister();
}
}
} // namespace interpreter
} // namespace internal
} // namespace v8
......@@ -81,11 +81,6 @@ class BytecodeRegisterAllocator final {
// PrepareForConsecutiveAllocations.
Register NextConsecutiveRegister();
// Prepare consecutive register allocations and initialize an array
// of registers with the allocations.
void PrepareAndInitializeConsecutiveAllocations(Register* registers,
size_t count);
// Returns true if |reg| is allocated in this allocator.
bool RegisterIsAllocatedInThisScope(Register reg) const;
......
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