Title: [135339] trunk/Source/WebCore
- Revision
- 135339
- Author
- aba...@webkit.org
- Date
- 2012-11-20 18:15:30 -0800 (Tue, 20 Nov 2012)
Log Message
7% regression in dromaeo_domcorequery/dom_query_getElementsByTagName__not_in_document
https://bugs.webkit.org/show_bug.cgi?id=102852
Reviewed by Kentaro Hara.
In http://trac.webkit.org/changeset/135208/, we lost the early-exit
check for whether isolatedWorldsExist() in this code path. This
regression points to benchmarks that we can further improve by
continuing to merge the general ScriptWrappable code path with the Node
code path.
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::current):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (135338 => 135339)
--- trunk/Source/WebCore/ChangeLog 2012-11-21 01:58:09 UTC (rev 135338)
+++ trunk/Source/WebCore/ChangeLog 2012-11-21 02:15:30 UTC (rev 135339)
@@ -1,3 +1,19 @@
+2012-11-20 Adam Barth <aba...@webkit.org>
+
+ 7% regression in dromaeo_domcorequery/dom_query_getElementsByTagName__not_in_document
+ https://bugs.webkit.org/show_bug.cgi?id=102852
+
+ Reviewed by Kentaro Hara.
+
+ In http://trac.webkit.org/changeset/135208/, we lost the early-exit
+ check for whether isolatedWorldsExist() in this code path. This
+ regression points to benchmarks that we can further improve by
+ continuing to merge the general ScriptWrappable code path with the Node
+ code path.
+
+ * bindings/v8/DOMDataStore.cpp:
+ (WebCore::DOMDataStore::current):
+
2012-11-20 Kentaro Hara <hara...@chromium.org>
[V8] Change a return type of V8Parameter::prepare() from bool to void
Modified: trunk/Source/WebCore/bindings/v8/DOMDataStore.cpp (135338 => 135339)
--- trunk/Source/WebCore/bindings/v8/DOMDataStore.cpp 2012-11-21 01:58:09 UTC (rev 135338)
+++ trunk/Source/WebCore/bindings/v8/DOMDataStore.cpp 2012-11-21 02:15:30 UTC (rev 135339)
@@ -54,12 +54,17 @@
DOMDataStore* DOMDataStore::current(v8::Isolate* isolate)
{
DEFINE_STATIC_LOCAL(DOMDataStore, mainWorldDOMDataStore, (MainWorld));
+
V8PerIsolateData* data = "" ? V8PerIsolateData::from(isolate) : V8PerIsolateData::current();
if (UNLIKELY(!!data->domDataStore()))
return data->domDataStore();
- V8DOMWindowShell* shell = V8DOMWindowShell::isolated(v8::Context::GetEntered());
- if (UNLIKELY(!!shell))
- return shell->world()->isolatedWorldDOMDataStore();
+
+ if (DOMWrapperWorld::isolatedWorldsExist()) {
+ V8DOMWindowShell* shell = V8DOMWindowShell::isolated(v8::Context::GetEntered());
+ if (UNLIKELY(!!shell))
+ return shell->world()->isolatedWorldDOMDataStore();
+ }
+
return &mainWorldDOMDataStore;
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes