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

Unified Diff: src/ast.h

Issue 1097723005: Lolcode candidate: Both Expression and FunctionLiteral define the same accessor (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase Created 5 years, 8 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/compiler.cc » ('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 7ed1609e7f64dcc972c9a035c2076aedc662f4ca..5a89cda12fc586072c2381b0941ade96a2226c79 100644
--- a/src/ast.h
+++ b/src/ast.h
@@ -372,16 +372,16 @@ class Expression : public AstNode {
void set_bounds(Bounds bounds) { bounds_ = bounds; }
// Whether the expression is parenthesized
- bool is_parenthesized() const {
- return IsParenthesizedField::decode(bit_field_);
+ bool is_single_parenthesized() const {
+ return IsSingleParenthesizedField::decode(bit_field_);
}
bool is_multi_parenthesized() const {
return IsMultiParenthesizedField::decode(bit_field_);
}
void increase_parenthesization_level() {
- bit_field_ =
- IsMultiParenthesizedField::update(bit_field_, is_parenthesized());
- bit_field_ = IsParenthesizedField::update(bit_field_, true);
+ bit_field_ = IsMultiParenthesizedField::update(bit_field_,
+ is_single_parenthesized());
+ bit_field_ = IsSingleParenthesizedField::update(bit_field_, true);
}
// Type feedback information for assignments and properties.
@@ -435,7 +435,7 @@ class Expression : public AstNode {
int base_id_;
Bounds bounds_;
class ToBooleanTypesField : public BitField16<byte, 0, 8> {};
- class IsParenthesizedField : public BitField16<bool, 8, 1> {};
+ class IsSingleParenthesizedField : public BitField16<bool, 8, 1> {};
class IsMultiParenthesizedField : public BitField16<bool, 9, 1> {};
uint16_t bit_field_;
// Ends with 16-bit field; deriving classes in turn begin with
@@ -2504,10 +2504,7 @@ class FunctionLiteral final : public Expression {
kIsFunction
};
- enum IsParenthesizedFlag {
- kIsParenthesized,
- kNotParenthesized
- };
+ enum EagerCompileHint { kShouldEagerCompile, kShouldLazyCompile };
enum ArityRestriction {
NORMAL_ARITY,
@@ -2597,11 +2594,11 @@ class FunctionLiteral final : public Expression {
// function will be called immediately:
// - (function() { ... })();
// - var x = function() { ... }();
- bool is_parenthesized() {
- return IsParenthesized::decode(bitfield_) == kIsParenthesized;
+ bool should_eager_compile() const {
+ return EagerCompileHintBit::decode(bitfield_) == kShouldEagerCompile;
}
- void set_parenthesized() {
- bitfield_ = IsParenthesized::update(bitfield_, kIsParenthesized);
+ void set_should_eager_compile() {
+ bitfield_ = EagerCompileHintBit::update(bitfield_, kShouldEagerCompile);
}
FunctionKind kind() { return FunctionKindBits::decode(bitfield_); }
@@ -2628,7 +2625,7 @@ class FunctionLiteral final : public Expression {
int parameter_count, FunctionType function_type,
ParameterFlag has_duplicate_parameters,
IsFunctionFlag is_function,
- IsParenthesizedFlag is_parenthesized, FunctionKind kind,
+ EagerCompileHint eager_compile_hint, FunctionKind kind,
int position)
: Expression(zone, position),
raw_name_(name),
@@ -2647,7 +2644,7 @@ class FunctionLiteral final : public Expression {
Pretenure::encode(false) |
HasDuplicateParameters::encode(has_duplicate_parameters) |
IsFunction::encode(is_function) |
- IsParenthesized::encode(is_parenthesized) |
+ EagerCompileHintBit::encode(eager_compile_hint) |
FunctionKindBits::encode(kind);
DCHECK(IsValidFunctionKind(kind));
}
@@ -2675,7 +2672,7 @@ class FunctionLiteral final : public Expression {
class Pretenure : public BitField<bool, 2, 1> {};
class HasDuplicateParameters : public BitField<ParameterFlag, 3, 1> {};
class IsFunction : public BitField<IsFunctionFlag, 4, 1> {};
- class IsParenthesized : public BitField<IsParenthesizedFlag, 5, 1> {};
+ class EagerCompileHintBit : public BitField<EagerCompileHint, 5, 1> {};
class FunctionKindBits : public BitField<FunctionKind, 6, 8> {};
};
@@ -3559,12 +3556,12 @@ class AstNodeFactory final BASE_EMBEDDED {
FunctionLiteral::ParameterFlag has_duplicate_parameters,
FunctionLiteral::FunctionType function_type,
FunctionLiteral::IsFunctionFlag is_function,
- FunctionLiteral::IsParenthesizedFlag is_parenthesized, FunctionKind kind,
+ FunctionLiteral::EagerCompileHint eager_compile_hint, FunctionKind kind,
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,
- has_duplicate_parameters, is_function, is_parenthesized, kind,
+ has_duplicate_parameters, is_function, eager_compile_hint, kind,
position);
}
« no previous file with comments | « no previous file | src/compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698