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

Unified Diff: src/ast.cc

Issue 352583008: Rollback to Version 3.28.4 (based on bleeding_edge revision r22031) (Closed) Base URL: https://v8.googlecode.com/svn/trunk
Patch Set: Created 6 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/ast.h ('k') | src/ast-value-factory.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ast.cc
diff --git a/src/ast.cc b/src/ast.cc
index 5939eb186eeda720db76a8459292e7ed6fb5a34d..53d27999ea073768fd0f879121cddf7964974732 100644
--- a/src/ast.cc
+++ b/src/ast.cc
@@ -64,7 +64,8 @@ VariableProxy::VariableProxy(Zone* zone, Variable* var, int position)
name_(var->raw_name()),
var_(NULL), // Will be set by the call to BindTo.
is_this_(var->is_this()),
- is_assigned_(false),
+ is_trivial_(false),
+ is_lvalue_(false),
interface_(var->interface()) {
BindTo(var);
}
@@ -79,7 +80,8 @@ VariableProxy::VariableProxy(Zone* zone,
name_(name),
var_(NULL),
is_this_(is_this),
- is_assigned_(false),
+ is_trivial_(false),
+ is_lvalue_(false),
interface_(interface) {
}
@@ -95,7 +97,7 @@ void VariableProxy::BindTo(Variable* var) {
// eval() etc. Const-ness and variable declarations are a complete mess
// in JS. Sigh...
var_ = var;
- var->set_is_used();
+ var->set_is_used(true);
}
@@ -1115,9 +1117,11 @@ void AstConstructionVisitor::VisitCallRuntime(CallRuntime* node) {
// optimize them.
add_flag(kDontInline);
} else if (node->function()->intrinsic_type == Runtime::INLINE &&
- node->raw_name()->IsOneByteEqualTo("_Arguments")) {
- // Don't inline the %_Arguments because it's implementation will not work.
- // There is no stack frame to get them from.
+ (node->raw_name()->IsOneByteEqualTo("_ArgumentsLength") ||
+ node->raw_name()->IsOneByteEqualTo("_Arguments"))) {
+ // Don't inline the %_ArgumentsLength or %_Arguments because their
+ // implementation will not work. There is no stack frame to get them
+ // from.
add_flag(kDontInline);
}
}
« no previous file with comments | « src/ast.h ('k') | src/ast-value-factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698