Index: src/fast-codegen.cc |
=================================================================== |
--- src/fast-codegen.cc (revision 3610) |
+++ src/fast-codegen.cc (working copy) |
@@ -639,9 +639,6 @@ |
void FastCodeGenerator::VisitAssignment(Assignment* expr) { |
Comment cmnt(masm_, "[ Assignment"); |
- // Record source code position of the (possible) IC call. |
- SetSourcePosition(expr->position()); |
- |
// Left-hand side can only be a property, a global or a (parameter or local) |
// slot. Variables with rewrite to .arguments are treated as KEYED_PROPERTY. |
enum LhsKind { VARIABLE, NAMED_PROPERTY, KEYED_PROPERTY }; |
@@ -682,10 +679,12 @@ |
Expression::kValue); |
break; |
case NAMED_PROPERTY: |
- EmitNamedPropertyLoad(prop, Expression::kValue); |
+ EmitNamedPropertyLoad(prop); |
+ __ push(result_register()); |
break; |
case KEYED_PROPERTY: |
- EmitKeyedPropertyLoad(prop, Expression::kValue); |
+ EmitKeyedPropertyLoad(prop); |
+ __ push(result_register()); |
break; |
} |
} |
@@ -700,6 +699,9 @@ |
EmitCompoundAssignmentOp(expr->binary_op(), Expression::kValue); |
} |
+ // Record source position before possible IC call. |
+ SetSourcePosition(expr->position()); |
+ |
// Store the value. |
switch (assign_type) { |
case VARIABLE: |