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; }
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; }
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; }