Commit 4af20283 authored by lrn@chromium.org's avatar lrn@chromium.org

Disable "arguments" implementation. It was too optimistic in its assumptions.

Review URL: http://codereview.chromium.org/393010


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent df4f5234
...@@ -599,6 +599,11 @@ CodeGenSelector::CodeGenTag CodeGenSelector::Select(FunctionLiteral* fun) { ...@@ -599,6 +599,11 @@ CodeGenSelector::CodeGenTag CodeGenSelector::Select(FunctionLiteral* fun) {
} }
} }
if (scope->arguments() != NULL) {
if (FLAG_trace_bailout) PrintF("function uses 'arguments'\n");
return NORMAL;
}
has_supported_syntax_ = true; has_supported_syntax_ = true;
VisitDeclarations(scope->declarations()); VisitDeclarations(scope->declarations());
if (!has_supported_syntax_) return NORMAL; if (!has_supported_syntax_) return NORMAL;
...@@ -797,13 +802,7 @@ void CodeGenSelector::VisitVariableProxy(VariableProxy* expr) { ...@@ -797,13 +802,7 @@ void CodeGenSelector::VisitVariableProxy(VariableProxy* expr) {
BAILOUT("Lookup slot"); BAILOUT("Lookup slot");
} }
} else { } else {
Property* property = rewrite->AsProperty(); BAILOUT("access to arguments object");
// In the presence of an arguments object, parameter variables
// are rewritten into property accesses on that object.
ASSERT_NOT_NULL(property);
ASSERT_NE(Expression::kUninitialized, context_);
Visit(property);
property->set_context(context_);
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment