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
-~----------~----~----~----~------~----~------~--~---

Reply via email to