Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(468)

Unified Diff: src/interpreter/bytecode-generator.cc

Issue 1700993002: Remove strong mode support from property loads. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix comment. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/interpreter/bytecode-array-builder.cc ('k') | src/interpreter/bytecodes.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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: {
« no previous file with comments | « src/interpreter/bytecode-array-builder.cc ('k') | src/interpreter/bytecodes.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698