Index: src/interpreter/bytecode-generator.cc |
diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
index e51481a1e9c1e27ab5b8cc5424e6c5c078db590d..c45a048ee7c27cdba7eec73d48e0f2016780d044 100644 |
--- a/src/interpreter/bytecode-generator.cc |
+++ b/src/interpreter/bytecode-generator.cc |
@@ -1312,7 +1312,7 @@ void BytecodeGenerator::VisitClassLiteralContents(ClassLiteral* expr) { |
FeedbackVectorSlot slot = expr->PrototypeSlot(); |
builder() |
->StoreAccumulatorInRegister(literal) |
- .LoadNamedProperty(literal, name, feedback_index(slot), language_mode()) |
+ .LoadNamedProperty(literal, name, feedback_index(slot)) |
.StoreAccumulatorInRegister(prototype); |
VisitClassLiteralProperties(expr, literal, prototype); |
@@ -1781,7 +1781,7 @@ void BytecodeGenerator::VisitVariableLoad(Variable* variable, |
case VariableLocation::GLOBAL: |
case VariableLocation::UNALLOCATED: { |
builder()->LoadGlobal(variable->name(), feedback_index(slot), |
- language_mode(), typeof_mode); |
+ typeof_mode); |
execution_result()->SetResultInAccumulator(); |
break; |
} |
@@ -1864,20 +1864,15 @@ void BytecodeGenerator::PrepareKeyedSuperPropertyArguments( |
void BytecodeGenerator::BuildNamedSuperPropertyLoad( |
SuperPropertyArguments* super_args) { |
- builder() |
- ->LoadLiteral(Smi::FromInt(static_cast<int>(language_mode()))) |
- .StoreAccumulatorInRegister(super_args->language_mode()); |
- builder()->CallRuntime(Runtime::kLoadFromSuper, super_args->receiver(), |
- super_args->count()); |
+ // TODO(oth): Abstraction not suitable for 3 args, will over-allocate regs. |
+ builder()->CallRuntime(Runtime::kLoadFromSuper, super_args->receiver(), 3); |
} |
void BytecodeGenerator::BuildKeyedSuperPropertyLoad( |
SuperPropertyArguments* super_args) { |
- builder() |
- ->LoadLiteral(Smi::FromInt(static_cast<int>(language_mode()))) |
- .StoreAccumulatorInRegister(super_args->language_mode()); |
+ // TODO(oth): Abstraction not suitable for 3 args, will over-allocate regs. |
builder()->CallRuntime(Runtime::kLoadKeyedFromSuper, super_args->receiver(), |
- super_args->count()); |
+ 3); |
} |
void BytecodeGenerator::BuildNamedSuperPropertyStore( |
@@ -2168,8 +2163,7 @@ void BytecodeGenerator::VisitAssignment(Assignment* expr) { |
FeedbackVectorSlot slot = property->PropertyFeedbackSlot(); |
old_value = register_allocator()->NewRegister(); |
builder() |
- ->LoadNamedProperty(object, name, feedback_index(slot), |
- language_mode()) |
+ ->LoadNamedProperty(object, name, feedback_index(slot)) |
.StoreAccumulatorInRegister(old_value); |
break; |
} |
@@ -2179,7 +2173,7 @@ void BytecodeGenerator::VisitAssignment(Assignment* expr) { |
FeedbackVectorSlot slot = property->PropertyFeedbackSlot(); |
old_value = register_allocator()->NewRegister(); |
builder() |
- ->LoadKeyedProperty(object, feedback_index(slot), language_mode()) |
+ ->LoadKeyedProperty(object, feedback_index(slot)) |
.StoreAccumulatorInRegister(old_value); |
break; |
} |
@@ -2256,12 +2250,12 @@ void BytecodeGenerator::VisitPropertyLoad(Register obj, Property* expr) { |
case NAMED_PROPERTY: { |
builder()->LoadNamedProperty(obj, |
expr->key()->AsLiteral()->AsPropertyName(), |
- feedback_index(slot), language_mode()); |
+ feedback_index(slot)); |
break; |
} |
case KEYED_PROPERTY: { |
VisitForAccumulatorValue(expr->key()); |
- builder()->LoadKeyedProperty(obj, feedback_index(slot), language_mode()); |
+ builder()->LoadKeyedProperty(obj, feedback_index(slot)); |
break; |
} |
case NAMED_SUPER_PROPERTY: |
@@ -2680,8 +2674,7 @@ void BytecodeGenerator::VisitCountOperation(CountOperation* expr) { |
FeedbackVectorSlot slot = property->PropertyFeedbackSlot(); |
object = VisitForRegisterValue(property->obj()); |
name = property->key()->AsLiteral()->AsPropertyName(); |
- builder()->LoadNamedProperty(object, name, feedback_index(slot), |
- language_mode()); |
+ builder()->LoadNamedProperty(object, name, feedback_index(slot)); |
break; |
} |
case KEYED_PROPERTY: { |
@@ -2692,7 +2685,7 @@ void BytecodeGenerator::VisitCountOperation(CountOperation* expr) { |
key = register_allocator()->NewRegister(); |
VisitForAccumulatorValue(property->key()); |
builder()->StoreAccumulatorInRegister(key).LoadKeyedProperty( |
- object, feedback_index(slot), language_mode()); |
+ object, feedback_index(slot)); |
break; |
} |
case NAMED_SUPER_PROPERTY: { |