Fixed slots for non-function vars, plus bug in slot xcrement.
git-svn-id: svn://10.0.0.236/trunk@74265 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -906,7 +906,7 @@ TypedRegister ICodeGenerator::handleDot(BinaryExprNode *b, ExprNode::Kind use, I
|
||||
lValueKind = (isConstructor) ? Constructor : Static;
|
||||
}
|
||||
}
|
||||
if ((lValueKind == Property) && (base.first == NotARegister))
|
||||
if ((lValueKind == Property) || (base.first == NotARegister))
|
||||
base = loadName(baseName, base.second);
|
||||
}
|
||||
else {
|
||||
@@ -998,6 +998,7 @@ TypedRegister ICodeGenerator::handleDot(BinaryExprNode *b, ExprNode::Kind use, I
|
||||
break;
|
||||
case Slot:
|
||||
ret = slotXcr(base, slotIndex, xcrementOp);
|
||||
break;
|
||||
default:
|
||||
NOT_REACHED("Bad lvalue kind");
|
||||
}
|
||||
|
||||
@@ -906,7 +906,7 @@ TypedRegister ICodeGenerator::handleDot(BinaryExprNode *b, ExprNode::Kind use, I
|
||||
lValueKind = (isConstructor) ? Constructor : Static;
|
||||
}
|
||||
}
|
||||
if ((lValueKind == Property) && (base.first == NotARegister))
|
||||
if ((lValueKind == Property) || (base.first == NotARegister))
|
||||
base = loadName(baseName, base.second);
|
||||
}
|
||||
else {
|
||||
@@ -998,6 +998,7 @@ TypedRegister ICodeGenerator::handleDot(BinaryExprNode *b, ExprNode::Kind use, I
|
||||
break;
|
||||
case Slot:
|
||||
ret = slotXcr(base, slotIndex, xcrementOp);
|
||||
break;
|
||||
default:
|
||||
NOT_REACHED("Bad lvalue kind");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user