Profiler should show bytecode dumps as they would have been visible to the JITs, including the profiling data that the JITs would see
https://bugs.webkit.org/show_bug.cgi?id=104647

Reviewed by Oliver Hunt.

Source/JavaScriptCore: 

Adds more profiling data to bytecode dumps, and adds the ability to do a secondary
bytecode dump for each JIT compilation of a code block. This is relevant because both
the bytecodes, and the profiling data, may change after some number of executions.
        
Also fixes some random dumping code to use PrintStream& rather than
static const char[thingy].

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/ArrayProfile.cpp:
(JSC::dumpArrayModes):
(JSC::ArrayProfile::briefDescription):
* bytecode/ArrayProfile.h:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printGetByIdOp):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::dumpValueProfiling):
(JSC::CodeBlock::dumpArrayProfiling):
(JSC::CodeBlock::dumpBytecode):
* bytecode/CodeBlock.h:
* bytecode/ValueProfile.h:
(JSC::ValueProfileBase::briefDescription):
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::dump):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseCodeBlock):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
* profiler/ProfilerBytecodeSequence.cpp: Added.
(JSC::Profiler::BytecodeSequence::BytecodeSequence):
(JSC::Profiler::BytecodeSequence::~BytecodeSequence):
(JSC::Profiler::BytecodeSequence::indexForBytecodeIndex):
(JSC::Profiler::BytecodeSequence::forBytecodeIndex):
(JSC::Profiler::BytecodeSequence::addSequenceProperties):
* profiler/ProfilerBytecodeSequence.h: Added.
(JSC::Profiler::BytecodeSequence::size):
(JSC::Profiler::BytecodeSequence::at):
* profiler/ProfilerBytecodes.cpp:
(JSC::Profiler::Bytecodes::Bytecodes):
(JSC::Profiler::Bytecodes::toJS):
* profiler/ProfilerBytecodes.h:
(JSC::Profiler::Bytecodes::instructionCount):
* profiler/ProfilerCompilation.cpp:
(JSC::Profiler::Compilation::addProfiledBytecodes):
(JSC::Profiler::Compilation::toJS):
* profiler/ProfilerCompilation.h:
(JSC::Profiler::Compilation::profiledBytecodesSize):
(JSC::Profiler::Compilation::profiledBytecodesAt):
* profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::ensureBytecodesFor):
* profiler/ProfilerDatabase.h:
* profiler/ProfilerProfiledBytecodes.cpp: Added.
(JSC::Profiler::ProfiledBytecodes::ProfiledBytecodes):
(JSC::Profiler::ProfiledBytecodes::~ProfiledBytecodes):
(JSC::Profiler::ProfiledBytecodes::toJS):
* profiler/ProfilerProfiledBytecodes.h: Added.
(JSC::Profiler::ProfiledBytecodes::bytecodes):
* runtime/CommonIdentifiers.h:

Tools: 

Added a "profiling" (or "p") command to show the profiling data that the JITs saw
for each JIT compilation of a code block.
        
Also added instruction counts in the "full" display and made the "full" display the
default thing you see.

* Scripts/display-profiler-output:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaselines after r137359

Unreviewed chromium gardening.

* platform/chromium-mac-snowleopard/fast/ruby/position-after-expected.png: Added.
* platform/chromium-mac/fast/ruby/position-after-expected.png: Added.
* platform/chromium-win/fast/ruby/position-after-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Stub out data operations on IDBDatabaseBackendInterface
https://bugs.webkit.org/show_bug.cgi?id=104592

Reviewed by Dimitri Glazkov.

Source/WebCore:

In preparation for removing objectStore/index backend
interfaces, stub out the basic data operations around
get, put, cursors, etc. on IDBDatabaseBackendInterface.

No new tests, this is just preparation for refactoring.

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::get):
(WebCore):
(WebCore::IDBDatabaseBackendImpl::put):
(WebCore::IDBDatabaseBackendImpl::setIndexKeys):
(WebCore::IDBDatabaseBackendImpl::setIndexesReady):
(WebCore::IDBDatabaseBackendImpl::openCursor):
(WebCore::IDBDatabaseBackendImpl::count):
(WebCore::IDBDatabaseBackendImpl::deleteRange):
(WebCore::IDBDatabaseBackendImpl::clear):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(WebCore):
(IDBDatabaseBackendInterface):

Source/WebKit/chromium:

Stub out chromium side of data operations for refactor.

* public/WebIDBDatabase.h:
(WebKit):
(WebKit::WebIDBDatabase::get):
(WebKit::WebIDBDatabase::put):
(WebKit::WebIDBDatabase::setIndexKeys):
(WebKit::WebIDBDatabase::setIndexesReady):
(WebKit::WebIDBDatabase::openCursor):
(WebKit::WebIDBDatabase::count):
(WebKit::WebIDBDatabase::deleteRange):
(WebKit::WebIDBDatabase::clear):
(WebIDBDatabase):
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::openCursor):
(WebKit):
(WebKit::IDBDatabaseBackendProxy::count):
(WebKit::IDBDatabaseBackendProxy::get):
(WebKit::IDBDatabaseBackendProxy::put):
(WebKit::IDBDatabaseBackendProxy::setIndexKeys):
(WebKit::IDBDatabaseBackendProxy::setIndexesReady):
(WebKit::IDBDatabaseBackendProxy::deleteRange):
(WebKit::IDBDatabaseBackendProxy::clear):
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/WebIDBDatabaseImpl.cpp:
(WebKit):
(WebKit::WebIDBDatabaseImpl::openCursor):
(WebKit::WebIDBDatabaseImpl::count):
(WebKit::WebIDBDatabaseImpl::get):
(WebKit::WebIDBDatabaseImpl::put):
(WebKit::WebIDBDatabaseImpl::setIndexKeys):
(WebKit::WebIDBDatabaseImpl::setIndexesReady):
(WebKit::WebIDBDatabaseImpl::deleteRange):
(WebKit::WebIDBDatabaseImpl::clear):
* src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):
* tests/IDBDatabaseBackendTest.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137381 268f45cc-cd09-0410-ab3c-d52691b4dbfc