upgrade webkit (#13192)

Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
Co-authored-by: Zack Radisic <zack@theradisic.com>
This commit is contained in:
Jarred Sumner
2024-08-12 23:17:17 -07:00
committed by GitHub
parent b972ed6540
commit 3a245dd248
35 changed files with 264 additions and 132 deletions

View File

@@ -250,6 +250,7 @@ enum ArrayBufferViewSubtag {
Float64ArrayTag = 9,
BigInt64ArrayTag = 10,
BigUint64ArrayTag = 11,
Float16ArrayTag = 12,
};
// static bool isTypeExposedToGlobalObject(JSC::JSGlobalObject& globalObject, SerializationTag tag)
@@ -351,6 +352,7 @@ static unsigned typedArrayElementSize(ArrayBufferViewSubtag tag)
return 1;
case Int16ArrayTag:
case Uint16ArrayTag:
case Float16ArrayTag:
return 2;
case Int32ArrayTag:
case Uint32ArrayTag:
@@ -1289,6 +1291,8 @@ private:
write(Int32ArrayTag);
else if (obj->inherits<JSUint32Array>())
write(Uint32ArrayTag);
else if (obj->inherits<JSFloat16Array>())
write(Float16ArrayTag);
else if (obj->inherits<JSFloat32Array>())
write(Float32ArrayTag);
else if (obj->inherits<JSFloat64Array>())
@@ -2566,7 +2570,7 @@ SerializationReturnCode CloneSerializer::serialize(JSValue in)
indexStack.last()++;
goto objectStartVisitMember;
}
mapStartState : {
mapStartState: {
ASSERT(inValue.isObject());
if (inputObjectStack.size() > maximumFilterRecursion)
return SerializationReturnCode::StackOverflowError;
@@ -2614,7 +2618,7 @@ SerializationReturnCode CloneSerializer::serialize(JSValue in)
goto mapDataStartVisitEntry;
}
setStartState : {
setStartState: {
ASSERT(inValue.isObject());
if (inputObjectStack.size() > maximumFilterRecursion)
return SerializationReturnCode::StackOverflowError;
@@ -3506,6 +3510,9 @@ private:
case Uint32ArrayTag:
arrayBufferView = toJS(m_lexicalGlobalObject, m_globalObject, Uint32Array::wrappedAs(arrayBuffer.releaseNonNull(), byteOffset, length).get());
return true;
case Float16ArrayTag:
arrayBufferView = toJS(m_lexicalGlobalObject, m_globalObject, Float16Array::wrappedAs(arrayBuffer.releaseNonNull(), byteOffset, length).get());
return true;
case Float32ArrayTag:
arrayBufferView = toJS(m_lexicalGlobalObject, m_globalObject, Float32Array::wrappedAs(arrayBuffer.releaseNonNull(), byteOffset, length).get());
return true;
@@ -5073,7 +5080,7 @@ DeserializationResult CloneDeserializer::deserialize()
propertyNameStack.removeLast();
goto objectStartVisitMember;
}
mapObjectStartState : {
mapObjectStartState: {
if (outputObjectStack.size() > maximumFilterRecursion)
return std::make_pair(JSValue(), SerializationReturnCode::StackOverflowError);
JSMap* map = JSMap::create(m_lexicalGlobalObject->vm(), m_globalObject->mapStructure());
@@ -5102,7 +5109,7 @@ DeserializationResult CloneDeserializer::deserialize()
goto mapDataStartVisitEntry;
}
setObjectStartState : {
setObjectStartState: {
if (outputObjectStack.size() > maximumFilterRecursion)
return std::make_pair(JSValue(), SerializationReturnCode::StackOverflowError);
JSSet* set = JSSet::create(m_lexicalGlobalObject->vm(), m_globalObject->setStructure());