void Database::logEvent(CodeBlock* codeBlock, const char* summary, const CString& detail) { LockHolder locker(m_lock); Bytecodes* bytecodes = ensureBytecodesFor(locker, codeBlock); Compilation* compilation = m_compilationMap.get(codeBlock); m_events.append(Event(currentTime(), bytecodes, compilation, summary, detail)); }
Bytecodes* Database::ensureBytecodesFor(CodeBlock* codeBlock) { LockHolder locker(m_lock); return ensureBytecodesFor(locker, codeBlock); }
PassRefPtr<Compilation> Database::newCompilation(CodeBlock* codeBlock, CompilationKind kind) { return newCompilation(ensureBytecodesFor(codeBlock), kind); }