Beispiel #1
0
RefPtr<TypeSet> SymbolTable::globalTypeSetForRegister(const ConcurrentJITLocker& locker, int registerIndex, VM& vm)
{
    uniqueIDForRegister(locker, registerIndex, vm); //ensure it's created
    auto iter = m_registerToVariableMap->find(registerIndex);
    auto end = m_registerToVariableMap->end();
    ASSERT_UNUSED(end, iter != end);
    return globalTypeSetForVariable(locker, iter->value.get(), vm);
}
Beispiel #2
0
RefPtr<TypeSet> SymbolTable::globalTypeSetForOffset(const ConcurrentJITLocker& locker, VarOffset offset, VM& vm)
{
    RELEASE_ASSERT(m_typeProfilingRareData);

    uniqueIDForOffset(locker, offset, vm); // Lazily create the TypeSet if necessary.

    auto iter = m_typeProfilingRareData->m_offsetToVariableMap.find(offset);
    auto end = m_typeProfilingRareData->m_offsetToVariableMap.end();
    if (iter == end)
        return nullptr;

    return globalTypeSetForVariable(locker, iter->value.get(), vm);
}