Fix more fallout from failed attempts at div/mod DFG strength reductions
https://bugs.webkit.org/show_bug.cgi?id=124813

Reviewed by Geoffrey Garen.

Source/JavaScriptCore: 

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithMod):

LayoutTests: 

* js/dfg-mod-1-int.html: Added.
* js/dfg-mod-1-int-expected.txt: Added.
* js/script-tests/dfg-mod-1-int.js: Added.
(foo):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to
https://bugs.webkit.org/show_bug.cgi?id=124819

Reviewed by Dan Bernstein.

Source/WebCore:

* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::~IDBDatabaseBackend): Unregister from the IDBFactory.

Source/WebKit2:

UniqueIDBDatabase instances are per-DatabaseProcess, so it manages the set of them.
* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::getOrCreateUniqueIDBDatabase):
(WebKit::DatabaseProcess::removeUniqueIDBDatabase):
* DatabaseProcess/DatabaseProcess.h:

* DatabaseProcess/DatabaseToWebProcessConnection.h:

Start forwarding things along to the appropriate UniqueIDBDatabase.
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection):
(WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess):
(WebKit::DatabaseProcessIDBConnection::establishConnection):
(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:

A class that represents a single concrete IDB database that multiple WebProcesses can connect to.
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
(WebKit::UniqueIDBDatabase::~UniqueIDBDatabase):
(WebKit::UniqueIDBDatabase::registerConnection):
(WebKit::UniqueIDBDatabase::unregisterConnection):
(WebKit::UniqueIDBDatabase::getIDBDatabaseMetadata):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
(WebKit::UniqueIDBDatabase::create):
(WebKit::UniqueIDBDatabase::identifier):

A class to help uniquely identify an IDBDatabase that can be expanded as needed.
Importantly, it knows how to be used as a key in a HashMap.
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp: Added.
(WebKit::UniqueIDBDatabaseIdentifier::UniqueIDBDatabaseIdentifier):
(WebKit::UniqueIDBDatabaseIdentifier::isHashTableDeletedValue):
(WebKit::UniqueIDBDatabaseIdentifier::hash):
(WebKit::UniqueIDBDatabaseIdentifier::isNull):
(WebKit::operator==):
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h: Added.
(WebKit::UniqueIDBDatabaseIdentifier::databaseName):
(WebKit::UniqueIDBDatabaseIdentifier::openingOrigin):
(WebKit::UniqueIDBDatabaseIdentifier::mainFrameOrigin):
(WebKit::UniqueIDBDatabaseIdentifierHash::hash):
(WebKit::UniqueIDBDatabaseIdentifierHash::equal):
(WebKit::UniqueIDBDatabaseIdentifierHashTraits::isEmptyValue):

* Shared/SecurityOriginData.cpp:
(WebKit::operator==):
* Shared/SecurityOriginData.h:

* UIProcess/WebContext.cpp:

* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::WebIDBFactoryBackend::open):
(WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend):

* WebKit2.xcodeproj/project.pbxproj:

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