Index: src/ast.h |
diff --git a/src/ast.h b/src/ast.h |
index 670c515087d53e626f7d42497c795fb4b8fca754..6336b3a14b0e144aee345f0f2b91acce270f37ac 100644 |
--- a/src/ast.h |
+++ b/src/ast.h |
@@ -383,7 +383,7 @@ class Expression: public AstNode { |
} |
// TODO(rossberg): this should move to its own AST node eventually. |
- void RecordToBooleanTypeFeedback(TypeFeedbackOracle* oracle); |
+ virtual void RecordToBooleanTypeFeedback(TypeFeedbackOracle* oracle); |
byte to_boolean_types() const { return to_boolean_types_; } |
BailoutId id() const { return id_; } |
@@ -395,6 +395,7 @@ class Expression: public AstNode { |
lower_type_(Type::None(), isolate), |
id_(GetNextId(isolate)), |
test_id_(GetNextId(isolate)) {} |
+ void set_to_boolean_types(byte types) { to_boolean_types_ = types; } |
private: |
Handle<Type> upper_type_; |
@@ -1841,6 +1842,8 @@ class UnaryOperation: public Expression { |
TypeFeedbackId UnaryOperationFeedbackId() const { return reuse(id()); } |
+ virtual void RecordToBooleanTypeFeedback(TypeFeedbackOracle* oracle); |
+ |
protected: |
UnaryOperation(Isolate* isolate, |
Token::Value op, |
@@ -1884,6 +1887,8 @@ class BinaryOperation: public Expression { |
Maybe<int> fixed_right_arg() const { return fixed_right_arg_; } |
void set_fixed_right_arg(Maybe<int> arg) { fixed_right_arg_ = arg; } |
+ virtual void RecordToBooleanTypeFeedback(TypeFeedbackOracle* oracle); |
+ |
protected: |
BinaryOperation(Isolate* isolate, |
Token::Value op, |