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

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

Issue 1689573004: [interpreter] Support for ES6 super keyword. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Update test262.status. 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
Index: src/interpreter/bytecode-generator.h
diff --git a/src/interpreter/bytecode-generator.h b/src/interpreter/bytecode-generator.h
index db21c6b773ddcff39115960e7bfaf273004163cd..de9f56179abad3b037e7acc67b1867fc973c814b 100644
--- a/src/interpreter/bytecode-generator.h
+++ b/src/interpreter/bytecode-generator.h
@@ -67,7 +67,8 @@ class BytecodeGenerator final : public AstVisitor {
void VisitPropertyLoad(Register obj, Property* expr);
void VisitPropertyLoadForAccumulator(Register obj, Property* expr);
-
+ void VisitKeyedSuperPropertyLoad(Property* property, Register receiver_out);
rmcilroy 2016/02/11 15:25:49 I think these could do with a comment to specify w
oth 2016/02/12 14:12:53 Done.
+ void VisitNamedSuperPropertyLoad(Property* property, Register receiver_out);
void VisitVariableLoad(Variable* variable, FeedbackVectorSlot slot,
TypeofMode typeof_mode = NOT_INSIDE_TYPEOF);
void VisitVariableLoadForAccumulatorValue(
@@ -78,6 +79,14 @@ class BytecodeGenerator final : public AstVisitor {
TypeofMode typeof_mode = NOT_INSIDE_TYPEOF);
void VisitVariableAssignment(Variable* variable, Token::Value op,
FeedbackVectorSlot slot);
+ void BuildKeyedSuperLoad(Register receiver, Register home_object,
+ Register key);
+ void BuildKeyedSuperStore(Register receiver, Register home_object,
+ Register key);
+ void BuildNamedSuperLoad(Register receiver, Register home_object,
+ Handle<Name> name);
+ void BuildNamedSuperStore(Register receiver, Register home_object,
+ Handle<Name> name);
void BuildThrowIfHole(Handle<String> name);
void BuildThrowIfNotHole(Handle<String> name);
void BuildThrowReassignConstant(Handle<String> name);
@@ -86,6 +95,7 @@ class BytecodeGenerator final : public AstVisitor {
void VisitArgumentsObject(Variable* variable);
void VisitRestArgumentsArray(Variable* rest);
+ void VisitCallSuper(Call* call);
void VisitClassLiteralContents(ClassLiteral* expr);
void VisitClassLiteralForRuntimeDefinition(ClassLiteral* expr);
void VisitClassLiteralProperties(ClassLiteral* expr, Register literal,

Powered by Google App Engine
This is Rietveld 408576698