summaryrefslogtreecommitdiff
path: root/deps/v8/src/torque/ast.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/torque/ast.h')
-rw-r--r--deps/v8/src/torque/ast.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/deps/v8/src/torque/ast.h b/deps/v8/src/torque/ast.h
index d80993e38f..52e3e300b6 100644
--- a/deps/v8/src/torque/ast.h
+++ b/deps/v8/src/torque/ast.h
@@ -595,11 +595,13 @@ struct AssumeTypeImpossibleExpression : Expression {
struct NewExpression : Expression {
DEFINE_AST_NODE_LEAF_BOILERPLATE(NewExpression)
NewExpression(SourcePosition pos, TypeExpression* type,
- std::vector<NameAndExpression> initializers, bool pretenured)
+ std::vector<NameAndExpression> initializers, bool pretenured,
+ bool clear_padding)
: Expression(kKind, pos),
type(type),
initializers(std::move(initializers)),
- pretenured(pretenured) {}
+ pretenured(pretenured),
+ clear_padding(clear_padding) {}
void VisitAllSubExpressions(VisitCallback callback) override {
for (auto& initializer : initializers) {
@@ -611,6 +613,7 @@ struct NewExpression : Expression {
TypeExpression* type;
std::vector<NameAndExpression> initializers;
bool pretenured;
+ bool clear_padding;
};
enum class ImplicitKind { kNoImplicit, kJSImplicit, kImplicit };
@@ -724,13 +727,10 @@ struct ReturnStatement : Statement {
struct DebugStatement : Statement {
DEFINE_AST_NODE_LEAF_BOILERPLATE(DebugStatement)
- DebugStatement(SourcePosition pos, const std::string& reason,
- bool never_continues)
- : Statement(kKind, pos),
- reason(reason),
- never_continues(never_continues) {}
- std::string reason;
- bool never_continues;
+ enum class Kind { kUnreachable, kDebug };
+ DebugStatement(SourcePosition pos, Kind kind)
+ : Statement(kKind, pos), kind(kind) {}
+ Kind kind;
};
struct AssertStatement : Statement {
@@ -1083,10 +1083,13 @@ struct TorqueBuiltinDeclaration : BuiltinDeclaration {
bool javascript_linkage, Identifier* name,
ParameterList parameters,
TypeExpression* return_type,
+ bool has_custom_interface_descriptor,
base::Optional<Statement*> body)
: BuiltinDeclaration(kKind, pos, javascript_linkage, transitioning, name,
std::move(parameters), return_type),
+ has_custom_interface_descriptor(has_custom_interface_descriptor),
body(body) {}
+ bool has_custom_interface_descriptor;
base::Optional<Statement*> body;
};