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

Unified Diff: src/ast.h

Issue 1157213004: Drop computed handler count and index from AST. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Addressed comments. Created 5 years, 6 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/arm64/full-codegen-arm64.cc ('k') | src/full-codegen.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ast.h
diff --git a/src/ast.h b/src/ast.h
index 73b06631e49c8312ed4435a59735222a0a3ad017..01154d37628a9f8518497f8428c8523922db54be 100644
--- a/src/ast.h
+++ b/src/ast.h
@@ -1161,17 +1161,13 @@ class IfStatement final : public Statement {
class TryStatement : public Statement {
public:
- int index() const { return index_; }
Block* try_block() const { return try_block_; }
protected:
- TryStatement(Zone* zone, int index, Block* try_block, int pos)
- : Statement(zone, pos), index_(index), try_block_(try_block) {}
+ TryStatement(Zone* zone, Block* try_block, int pos)
+ : Statement(zone, pos), try_block_(try_block) {}
private:
- // Unique (per-function) index of this handler. This is not an AST ID.
- int index_;
-
Block* try_block_;
};
@@ -1185,18 +1181,12 @@ class TryCatchStatement final : public TryStatement {
Block* catch_block() const { return catch_block_; }
protected:
- TryCatchStatement(Zone* zone,
- int index,
- Block* try_block,
- Scope* scope,
- Variable* variable,
- Block* catch_block,
- int pos)
- : TryStatement(zone, index, try_block, pos),
+ TryCatchStatement(Zone* zone, Block* try_block, Scope* scope,
+ Variable* variable, Block* catch_block, int pos)
+ : TryStatement(zone, try_block, pos),
scope_(scope),
variable_(variable),
- catch_block_(catch_block) {
- }
+ catch_block_(catch_block) {}
private:
Scope* scope_;
@@ -1212,10 +1202,9 @@ class TryFinallyStatement final : public TryStatement {
Block* finally_block() const { return finally_block_; }
protected:
- TryFinallyStatement(
- Zone* zone, int index, Block* try_block, Block* finally_block, int pos)
- : TryStatement(zone, index, try_block, pos),
- finally_block_(finally_block) { }
+ TryFinallyStatement(Zone* zone, Block* try_block, Block* finally_block,
+ int pos)
+ : TryStatement(zone, try_block, pos), finally_block_(finally_block) {}
private:
Block* finally_block_;
@@ -2405,18 +2394,6 @@ class Yield final : public Expression {
Expression* expression() const { return expression_; }
Kind yield_kind() const { return yield_kind_; }
- // Delegating yield surrounds the "yield" in a "try/catch". This index
- // locates the catch handler in the handler table, and is equivalent to
- // TryCatchStatement::index().
- int index() const {
- DCHECK_EQ(kDelegating, yield_kind());
- return index_;
- }
- void set_index(int index) {
- DCHECK_EQ(kDelegating, yield_kind());
- index_ = index;
- }
-
// Type feedback information.
bool HasFeedbackSlots() const { return yield_kind() == kDelegating; }
virtual FeedbackVectorRequirements ComputeFeedbackRequirements(
@@ -2449,14 +2426,12 @@ class Yield final : public Expression {
generator_object_(generator_object),
expression_(expression),
yield_kind_(yield_kind),
- index_(-1),
yield_first_feedback_slot_(FeedbackVectorICSlot::Invalid()) {}
private:
Expression* generator_object_;
Expression* expression_;
Kind yield_kind_;
- int index_;
FeedbackVectorICSlot yield_first_feedback_slot_;
};
@@ -2523,7 +2498,6 @@ class FunctionLiteral final : public Expression {
int materialized_literal_count() { return materialized_literal_count_; }
int expected_property_count() { return expected_property_count_; }
- int handler_count() { return handler_count_; }
int parameter_count() { return parameter_count_; }
bool AllowsLazyCompilation();
@@ -2618,8 +2592,8 @@ class FunctionLiteral final : public Expression {
FunctionLiteral(Zone* zone, const AstRawString* name,
AstValueFactory* ast_value_factory, Scope* scope,
ZoneList<Statement*>* body, int materialized_literal_count,
- int expected_property_count, int handler_count,
- int parameter_count, FunctionType function_type,
+ int expected_property_count, int parameter_count,
+ FunctionType function_type,
ParameterFlag has_duplicate_parameters,
IsFunctionFlag is_function,
EagerCompileHint eager_compile_hint, FunctionKind kind,
@@ -2633,7 +2607,6 @@ class FunctionLiteral final : public Expression {
dont_optimize_reason_(kNoReason),
materialized_literal_count_(materialized_literal_count),
expected_property_count_(expected_property_count),
- handler_count_(handler_count),
parameter_count_(parameter_count),
function_token_position_(RelocInfo::kNoPosition) {
bitfield_ = IsExpression::encode(function_type != DECLARATION) |
@@ -2660,7 +2633,6 @@ class FunctionLiteral final : public Expression {
int materialized_literal_count_;
int expected_property_count_;
- int handler_count_;
int parameter_count_;
int function_token_position_;
@@ -3360,22 +3332,17 @@ class AstNodeFactory final BASE_EMBEDDED {
IfStatement(zone_, condition, then_statement, else_statement, pos);
}
- TryCatchStatement* NewTryCatchStatement(int index,
- Block* try_block,
- Scope* scope,
+ TryCatchStatement* NewTryCatchStatement(Block* try_block, Scope* scope,
Variable* variable,
- Block* catch_block,
- int pos) {
- return new (zone_) TryCatchStatement(zone_, index, try_block, scope,
- variable, catch_block, pos);
+ Block* catch_block, int pos) {
+ return new (zone_)
+ TryCatchStatement(zone_, try_block, scope, variable, catch_block, pos);
}
- TryFinallyStatement* NewTryFinallyStatement(int index,
- Block* try_block,
- Block* finally_block,
- int pos) {
+ TryFinallyStatement* NewTryFinallyStatement(Block* try_block,
+ Block* finally_block, int pos) {
return new (zone_)
- TryFinallyStatement(zone_, index, try_block, finally_block, pos);
+ TryFinallyStatement(zone_, try_block, finally_block, pos);
}
DebuggerStatement* NewDebuggerStatement(int pos) {
@@ -3577,7 +3544,7 @@ class AstNodeFactory final BASE_EMBEDDED {
FunctionLiteral* NewFunctionLiteral(
const AstRawString* name, AstValueFactory* ast_value_factory,
Scope* scope, ZoneList<Statement*>* body, int materialized_literal_count,
- int expected_property_count, int handler_count, int parameter_count,
+ int expected_property_count, int parameter_count,
FunctionLiteral::ParameterFlag has_duplicate_parameters,
FunctionLiteral::FunctionType function_type,
FunctionLiteral::IsFunctionFlag is_function,
@@ -3585,7 +3552,7 @@ class AstNodeFactory final BASE_EMBEDDED {
int position) {
return new (zone_) FunctionLiteral(
zone_, name, ast_value_factory, scope, body, materialized_literal_count,
- expected_property_count, handler_count, parameter_count, function_type,
+ expected_property_count, parameter_count, function_type,
has_duplicate_parameters, is_function, eager_compile_hint, kind,
position);
}
« no previous file with comments | « src/arm64/full-codegen-arm64.cc ('k') | src/full-codegen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698