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

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

Issue 2242463002: [interpreter] VisitForTest for bytecode generator (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: remove unused/refactored code, add comment Created 4 years, 4 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 | « no previous file | src/interpreter/bytecode-generator.cc » ('j') | src/interpreter/bytecode-generator.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/interpreter/bytecode-generator.h
diff --git a/src/interpreter/bytecode-generator.h b/src/interpreter/bytecode-generator.h
index 2653dd05cf4bb8b3cc6611f49ac92ed0eef3db14..9ef68b3cf640e84530769e2355cb489d1b4044b2 100644
--- a/src/interpreter/bytecode-generator.h
+++ b/src/interpreter/bytecode-generator.h
@@ -37,6 +37,7 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> {
private:
class AccumulatorResultScope;
class ContextScope;
+ class ControlResultScope;
rmcilroy 2016/08/12 11:15:26 Let's go with TestControlScope and VisitForTest. T
klaasb 2016/08/12 16:00:13 Done.
class ControlScope;
class ControlScopeForBreakable;
class ControlScopeForIteration;
@@ -48,6 +49,9 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> {
class GlobalDeclarationsBuilder;
class RegisterResultScope;
class RegisterAllocationScope;
+ class BytecodeLabels;
+
+ enum class ControlFallthrough;
void GenerateBytecode();
void GenerateBytecodeBody();
@@ -163,6 +167,9 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> {
MUST_USE_RESULT Register VisitForRegisterValue(Expression* expr);
void VisitForRegisterValue(Expression* expr, Register destination);
void VisitForEffect(Expression* expr);
+ void VisitForControl(Expression* expr, BytecodeLabels* then_labels,
+ BytecodeLabels* else_labels,
+ ControlFallthrough fallthrough);
// Methods for tracking and remapping register.
void RecordStoreToRegister(Register reg);
« no previous file with comments | « no previous file | src/interpreter/bytecode-generator.cc » ('j') | src/interpreter/bytecode-generator.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698