Title: [136638] trunk/Source/WebCore
- Revision
- 136638
- Author
- [email protected]
- Date
- 2012-12-04 21:36:06 -0800 (Tue, 04 Dec 2012)
Log Message
[V8] Use ScopedPersistent for IntegerCache::smallIntegers
https://bugs.webkit.org/show_bug.cgi?id=104066
Reviewed by Adam Barth.
We can use ScopedPersistent for IntegerCache::smallIntegers
instead of manual Persistent::New().
I confirmed no performance regression in Bindings/scroll-top.html
No tests. No change in behavior.
* bindings/v8/V8PerIsolateData.cpp:
(WebCore::V8PerIsolateData::V8PerIsolateData):
* bindings/v8/V8ValueCache.cpp:
(WebCore::IntegerCache::IntegerCache):
* bindings/v8/V8ValueCache.h:
(IntegerCache):
(WebCore::IntegerCache::v8Integer):
(WebCore::IntegerCache::v8UnsignedInteger):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (136637 => 136638)
--- trunk/Source/WebCore/ChangeLog 2012-12-05 05:20:58 UTC (rev 136637)
+++ trunk/Source/WebCore/ChangeLog 2012-12-05 05:36:06 UTC (rev 136638)
@@ -1,3 +1,26 @@
+2012-12-04 Kentaro Hara <[email protected]>
+
+ [V8] Use ScopedPersistent for IntegerCache::smallIntegers
+ https://bugs.webkit.org/show_bug.cgi?id=104066
+
+ Reviewed by Adam Barth.
+
+ We can use ScopedPersistent for IntegerCache::smallIntegers
+ instead of manual Persistent::New().
+
+ I confirmed no performance regression in Bindings/scroll-top.html
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8PerIsolateData.cpp:
+ (WebCore::V8PerIsolateData::V8PerIsolateData):
+ * bindings/v8/V8ValueCache.cpp:
+ (WebCore::IntegerCache::IntegerCache):
+ * bindings/v8/V8ValueCache.h:
+ (IntegerCache):
+ (WebCore::IntegerCache::v8Integer):
+ (WebCore::IntegerCache::v8UnsignedInteger):
+
2012-12-04 Eugene Klyuchnikov <[email protected]>
Web Inspector: Resources: domain cookies are not shown for sub-sub domain pages.
Modified: trunk/Source/WebCore/bindings/v8/V8ValueCache.cpp (136637 => 136638)
--- trunk/Source/WebCore/bindings/v8/V8ValueCache.cpp 2012-12-05 05:20:58 UTC (rev 136637)
+++ trunk/Source/WebCore/bindings/v8/V8ValueCache.cpp 2012-12-05 05:36:06 UTC (rev 136638)
@@ -104,15 +104,7 @@
{
v8::HandleScope handleScope;
for (int value = 0; value < numberOfCachedSmallIntegers; value++)
- m_smallIntegers[value] = v8::Persistent<v8::Integer>::New(v8::Integer::New(value));
+ m_smallIntegers[value].set(v8::Integer::New(value));
}
-IntegerCache::~IntegerCache()
-{
- for (int value = 0; value < numberOfCachedSmallIntegers; value++) {
- m_smallIntegers[value].Dispose();
- m_smallIntegers[value].Clear();
- }
-}
-
} // namespace WebCore
Modified: trunk/Source/WebCore/bindings/v8/V8ValueCache.h (136637 => 136638)
--- trunk/Source/WebCore/bindings/v8/V8ValueCache.h 2012-12-05 05:20:58 UTC (rev 136637)
+++ trunk/Source/WebCore/bindings/v8/V8ValueCache.h 2012-12-05 05:36:06 UTC (rev 136638)
@@ -26,6 +26,7 @@
#ifndef V8ValueCache_h
#define V8ValueCache_h
+#include "ScopedPersistent.h"
#include <v8.h>
#include <wtf/HashMap.h>
#include <wtf/RefPtr.h>
@@ -71,24 +72,23 @@
class IntegerCache {
public:
IntegerCache();
- ~IntegerCache();
v8::Handle<v8::Integer> v8Integer(int value, v8::Isolate* isolate)
{
if (0 <= value && value < numberOfCachedSmallIntegers)
- return m_smallIntegers[value];
+ return m_smallIntegers[value].get();
return v8::Integer::New(value, isolate);
}
v8::Handle<v8::Integer> v8UnsignedInteger(unsigned value, v8::Isolate* isolate)
{
if (value < static_cast<unsigned>(numberOfCachedSmallIntegers))
- return m_smallIntegers[value];
+ return m_smallIntegers[value].get();
return v8::Integer::NewFromUnsigned(value, isolate);
}
private:
- v8::Persistent<v8::Integer> m_smallIntegers[numberOfCachedSmallIntegers];
+ ScopedPersistent<v8::Integer> m_smallIntegers[numberOfCachedSmallIntegers];
};
} // namespace WebCore
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes