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:
rogerl%netscape.com
2000-07-14 22:23:20 +00:00
parent f49c76a6d8
commit b8f931c969
2 changed files with 4 additions and 2 deletions

View File

@@ -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");
}

View File

@@ -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");
}