Exemple #1
0
void RootObject::finalize(JSC::Handle<JSC::Unknown> handle, void*)
{
    RuntimeObject* object = static_cast<RuntimeObject*>(handle.get().asCell());

    Ref<RootObject> protect(*this);
    object->invalidate();
    weakRemove(m_runtimeObjects, object, object);
}
Exemple #2
0
void JITThunks::finalize(Handle<Unknown> handle, void*)
{
    auto* nativeExecutable = jsCast<NativeExecutable*>(handle.get().asCell());
    weakRemove(*m_hostFunctionStubMap, std::make_tuple(nativeExecutable->function(), nativeExecutable->constructor(), nativeExecutable->name()), nativeExecutable);
}
Exemple #3
0
void RegExpCache::finalize(Handle<Unknown> handle, void*)
{
    RegExp* regExp = static_cast<RegExp*>(handle.get().asCell());
    weakRemove(m_weakCache, regExp->key(), regExp);
    regExp->invalidateCode();
}
Exemple #4
0
void RootObject::removeRuntimeObject(RuntimeObject* object)
{
    if (!m_isValid)
        return;
    weakRemove(m_runtimeObjects, object, object);
}
void NPRuntimeObjectMap::finalize(JSC::Handle<JSC::Unknown> handle, void* context)
{
    JSNPObject* object = jsCast<JSNPObject*>(handle.get().asCell());
    weakRemove(m_jsNPObjects, static_cast<NPObject*>(context), object);
    addToInvalidationQueue(object->leakNPObject());
}
Exemple #6
0
void NPRuntimeObjectMap::finalize(JSC::JSCell*& cell, void* context)
{
    JSNPObject& object = jsCast<JSNPObject&>(*cell);
    weakRemove(m_jsNPObjects, static_cast<NPObject*>(context), &object);
    addToInvalidationQueue(object.leakNPObject());
}
Exemple #7
0
void JITThunks::finalize(JSCell*& cell, void*)
{
    auto* nativeExecutable = jsCast<NativeExecutable*>(cell);
    weakRemove(*m_hostFunctionStubMap, std::make_pair(nativeExecutable->function(), nativeExecutable->constructor()), nativeExecutable);
}