Index: src/compiler.cc |
=================================================================== |
--- src/compiler.cc (revision 3091) |
+++ src/compiler.cc (working copy) |
@@ -649,12 +649,14 @@ |
} |
Variable* var = expr->target()->AsVariableProxy()->AsVariable(); |
- if (var == NULL || var->is_global()) BAILOUT("non-variable assignment"); |
+ if (var == NULL) BAILOUT("non-variable assignment"); |
- ASSERT(var->slot() != NULL); |
- Slot::Type type = var->slot()->type(); |
- if (type != Slot::PARAMETER && type != Slot::LOCAL) { |
- BAILOUT("non-parameter/non-local slot assignment"); |
+ if (!var->is_global()) { |
+ ASSERT(var->slot() != NULL); |
+ Slot::Type type = var->slot()->type(); |
+ if (type != Slot::PARAMETER && type != Slot::LOCAL) { |
+ BAILOUT("non-parameter/non-local slot assignment"); |
+ } |
} |
Visit(expr->value()); |