Chromium Code Reviews| Index: src/interpreter/bytecode-generator.cc |
| diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
| index e51481a1e9c1e27ab5b8cc5424e6c5c078db590d..d452aa22b3178bc546b0da395a8c45c41e455b1c 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-alllcate regs. |
|
rmcilroy
2016/02/16 17:08:42
/s/alllcate/allocate
Michael Starzinger
2016/02/16 17:13:17
Done.
|
| + 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-alllcate 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: { |