Index: src/cfg.cc |
=================================================================== |
--- src/cfg.cc (revision 2658) |
+++ src/cfg.cc (working copy) |
@@ -60,10 +60,10 @@ |
if (fun->scope()->num_heap_slots() > 0) { |
BAILOUT("function has context slots"); |
} |
- if (fun->scope()->num_stack_slots() > kPointerSize) { |
+ if (fun->scope()->num_stack_slots() > kBitsPerPointer) { |
BAILOUT("function has too many locals"); |
} |
- if (fun->scope()->num_parameters() > kPointerSize - 1) { |
+ if (fun->scope()->num_parameters() > kBitsPerPointer - 1) { |
BAILOUT("function has too many parameters"); |
} |
if (fun->scope()->arguments() != NULL) { |
@@ -320,6 +320,7 @@ |
if (lhs->AsProperty() != NULL) { |
BAILOUT("unsupported property assignment"); |
} |
+ |
Variable* var = lhs->AsVariableProxy()->AsVariable(); |
if (var == NULL) { |
BAILOUT("unsupported invalid left-hand side"); |
@@ -333,6 +334,7 @@ |
BAILOUT("unsupported slot lhs (not a parameter or local)"); |
} |
+ // Parameter and local slot assignments. |
ExpressionCfgBuilder builder; |
SlotLocation* loc = new SlotLocation(slot->type(), slot->index()); |
builder.Build(expr->value(), loc); |
@@ -361,11 +363,11 @@ |
ExpressionCfgBuilder object, key; |
object.Build(expr->obj(), NULL); |
if (object.graph() == NULL) { |
- BAILOUT("unsupported object subexpression in propref"); |
+ BAILOUT("unsupported object subexpression in propload"); |
} |
key.Build(expr->key(), NULL); |
if (key.graph() == NULL) { |
- BAILOUT("unsupported key subexpression in propref"); |
+ BAILOUT("unsupported key subexpression in propload"); |
} |
if (destination_ == NULL) destination_ = new TempLocation(); |