void RegisteredStructureSet::filter(SpeculatedType type)
{
    genericFilter(
        [&] (RegisteredStructure structure) -> bool {
            return type & speculationFromStructure(structure.get());
        });
}
void RegisteredStructureSet::filterArrayModes(ArrayModes arrayModes)
{
    genericFilter(
        [&] (RegisteredStructure structure) -> bool {
            return arrayModes & arrayModeFromStructure(structure.get());
        });
}
void StructureSet::filterArrayModes(ArrayModes arrayModes)
{
    genericFilter(
        [&] (Structure* structure) -> bool {
            return arrayModes & arrayModeFromStructure(structure);
        });
}
void RegisteredStructureSet::filter(const DFG::StructureAbstractValue& other)
{
    genericFilter(
        [&] (RegisteredStructure structure) -> bool {
            return other.contains(structure); 
        });
}
void StructureSet::filter(SpeculatedType type)
{
    genericFilter(
        [&] (Structure* structure) -> bool {
            return type & speculationFromStructure(structure);
        });
}
Exemple #6
0
void StructureSet::filter(const StructureSet& other)
{
    if (other.isThin()) {
        if (!other.singleStructure() || !contains(other.singleStructure()))
            clear();
        else {
            clear();
            set(other.singleStructure());
        }
        return;
    }

    ContainsOutOfLine containsOutOfLine(other);
    genericFilter(containsOutOfLine);
}
Exemple #7
0
void StructureSet::filterArrayModes(ArrayModes arrayModes)
{
    ArrayModesContains functor(arrayModes);
    genericFilter(functor);
}
Exemple #8
0
void StructureSet::filter(SpeculatedType type)
{
    SpeculatedTypeContains functor(type);
    genericFilter(functor);
}
Exemple #9
0
void StructureSet::filter(const DFG::StructureAbstractValue& other)
{
    StructureAbstractValueContains functor(other);
    genericFilter(functor);
}