Update v8 to bleeding_edge revision 3784
diff --git a/src/ast.h b/src/ast.h
index 22e096f..48d0bfa 100644
--- a/src/ast.h
+++ b/src/ast.h
@@ -180,9 +180,12 @@
kTestValue
};
+ static const int kNoLabel = -1;
+
+ Expression() : num_(kNoLabel) {}
+
virtual Expression* AsExpression() { return this; }
- virtual bool IsValidJSON() { return false; }
virtual bool IsValidLeftHandSide() { return false; }
// Symbols that cannot be parsed as array indices are considered property
@@ -198,8 +201,14 @@
// Static type information for this expression.
StaticType* type() { return &type_; }
+ int num() { return num_; }
+
+ // AST node numbering ordered by evaluation order.
+ void set_num(int n) { num_ = n; }
+
private:
StaticType type_;
+ int num_;
};
@@ -703,8 +712,6 @@
return handle_.is_identical_to(other->handle_);
}
- virtual bool IsValidJSON() { return true; }
-
virtual bool IsPropertyName() {
if (handle_->IsSymbol()) {
uint32_t ignored;
@@ -741,8 +748,6 @@
// constants and simple object and array literals.
bool is_simple() const { return is_simple_; }
- virtual bool IsValidJSON() { return true; }
-
int depth() const { return depth_; }
private:
@@ -796,7 +801,6 @@
virtual ObjectLiteral* AsObjectLiteral() { return this; }
virtual void Accept(AstVisitor* v);
- virtual bool IsValidJSON();
Handle<FixedArray> constant_properties() const {
return constant_properties_;
@@ -844,7 +848,6 @@
virtual void Accept(AstVisitor* v);
virtual ArrayLiteral* AsArrayLiteral() { return this; }
- virtual bool IsValidJSON();
Handle<FixedArray> constant_elements() const { return constant_elements_; }
ZoneList<Expression*>* values() const { return values_; }
@@ -1321,7 +1324,6 @@
start_position_(start_position),
end_position_(end_position),
is_expression_(is_expression),
- loop_nesting_(0),
function_token_position_(RelocInfo::kNoPosition),
inferred_name_(Heap::empty_string()),
try_full_codegen_(false) {
@@ -1356,9 +1358,6 @@
bool AllowsLazyCompilation();
- bool loop_nesting() const { return loop_nesting_; }
- void set_loop_nesting(int nesting) { loop_nesting_ = nesting; }
-
Handle<String> inferred_name() const { return inferred_name_; }
void set_inferred_name(Handle<String> inferred_name) {
inferred_name_ = inferred_name;
@@ -1386,7 +1385,6 @@
int start_position_;
int end_position_;
bool is_expression_;
- int loop_nesting_;
int function_token_position_;
Handle<String> inferred_name_;
bool try_full_codegen_;