コード例 #1
0
JSObject* Instance::createRuntimeObject(ExecState* exec)
{
    ASSERT(m_rootObject);
    ASSERT(m_rootObject->isValid());
    if (m_runtimeObject)
        return m_runtimeObject;
    JSLock lock(SilenceAssertionsOnly);
    m_runtimeObject = newRuntimeObject(exec);
    m_rootObject->addRuntimeObject(m_runtimeObject);
    return m_runtimeObject;
}
コード例 #2
0
ファイル: BridgeJSC.cpp プロジェクト: paul99/third_party
JSObject* Instance::createRuntimeObject(ExecState* exec)
{
    ASSERT(m_rootObject);
    ASSERT(m_rootObject->isValid());
    if (RuntimeObject* existingObject = m_runtimeObject.get())
        return existingObject;

    JSLock lock(SilenceAssertionsOnly);
    RuntimeObject* newObject = newRuntimeObject(exec);
    m_runtimeObject.set(exec->globalData(), newObject, 0);
    m_rootObject->addRuntimeObject(exec->globalData(), newObject);
    return newObject;
}
コード例 #3
0
JSObject* Instance::createRuntimeObject(ExecState* exec)
{
    ASSERT(m_rootObject);
    ASSERT(m_rootObject->isValid());
    if (RuntimeObject* existingObject = m_runtimeObject.get())
        return existingObject;

    JSLockHolder lock(exec);
    RuntimeObject* newObject = newRuntimeObject(exec);
    m_runtimeObject = PassWeak<RuntimeObject>(newObject);
    m_rootObject->addRuntimeObject(exec->vm(), newObject);
    return newObject;
}