Bug 1754235 - Narrow RegEx flag reads to corresponding size - r=iain

Differential Revision: https://phabricator.services.mozilla.com/D138166
This commit is contained in:
Lukas Bernhard 2022-02-08 18:40:20 +00:00
Родитель 20a964e3ea
Коммит 97b45e601b
1 изменённых файлов: 3 добавлений и 2 удалений

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

@ -1979,8 +1979,9 @@ static void UpdateRegExpStatics(MacroAssembler& masm, Register regexp,
temp1, JSVAL_TYPE_PRIVATE_GCTHING);
masm.loadPtr(Address(temp1, RegExpShared::offsetOfSource()), temp2);
masm.storePtr(temp2, lazySourceAddress);
masm.load32(Address(temp1, RegExpShared::offsetOfFlags()), temp2);
masm.store32(temp2, Address(staticsReg, RegExpStatics::offsetOfLazyFlags()));
static_assert(sizeof(JS::RegExpFlags) == 1, "load size must match flag size");
masm.load8ZeroExtend(Address(temp1, RegExpShared::offsetOfFlags()), temp2);
masm.store8(temp2, Address(staticsReg, RegExpStatics::offsetOfLazyFlags()));
}
// Prepare an InputOutputData and optional MatchPairs which space has been