Fixed slots for non-function vars, plus bug in slot xcrement.

This commit is contained in:
rogerl%netscape.com 2000-07-14 22:23:20 +00:00
Родитель 2dde70c2c5
Коммит 3def89ee0d
2 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

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