Reviewers: fschneider, Message: Quick review.
Description: Disable "arguments" implementation. It was too optimistic in its assumptions. Please review this at http://codereview.chromium.org/393010 Affected files: M src/compiler.cc Index: src/compiler.cc diff --git a/src/compiler.cc b/src/compiler.cc index 0f239920544864cba91155c3ba23cd0576c9e869..6b95363368acf1fd46c47287f250ab3e0c6595f1 100644 --- a/src/compiler.cc +++ b/src/compiler.cc @@ -759,6 +759,9 @@ void CodeGenSelector::VisitDebuggerStatement(DebuggerStatement* stmt) { void CodeGenSelector::VisitFunctionLiteral(FunctionLiteral* expr) { + if (expr->scope()->arguments() != NULL) { + BAILOUT("FunctionLiteral uses arguments"); + } if (!expr->AllowsLazyCompilation()) { BAILOUT("FunctionLiteral does not allow lazy compilation"); } @@ -799,13 +802,7 @@ void CodeGenSelector::VisitVariableProxy(VariableProxy* expr) { BAILOUT("Lookup slot"); } } else { - Property* property = rewrite->AsProperty(); - // 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_); + BAILOUT("non-global/non-slot variable reference"); } } } --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
