summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/runtime/StructureChain.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2009-06-15 09:06:43 (GMT)
committerSimon Hausmann <simon.hausmann@nokia.com>2009-06-15 09:31:31 (GMT)
commitc411f16870f112c3407c28c22b617f613a82cff4 (patch)
tree29a1bcd590c8b31af2aab445bfe8a978dc5bf582 /src/3rdparty/webkit/JavaScriptCore/runtime/StructureChain.cpp
parent3d77b56b32a0c53ec0bbfaa07236fedb900ff336 (diff)
downloadQt-c411f16870f112c3407c28c22b617f613a82cff4.zip
Qt-c411f16870f112c3407c28c22b617f613a82cff4.tar.gz
Qt-c411f16870f112c3407c28c22b617f613a82cff4.tar.bz2
Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit-4.6-snapshot-15062009 ( 65232bf00dc494ebfd978f998c88f58d18ecce1e )
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/runtime/StructureChain.cpp')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/StructureChain.cpp38
1 files changed, 7 insertions, 31 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/StructureChain.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/StructureChain.cpp
index 84c67c3..085876c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/StructureChain.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/StructureChain.cpp
@@ -32,42 +32,18 @@
namespace JSC {
-StructureChain::StructureChain(Structure* structure)
+StructureChain::StructureChain(Structure* head)
{
- size_t size = 1;
-
- Structure* tmp = structure;
- while (!tmp->storedPrototype()->isNull()) {
+ size_t size = 0;
+ for (Structure* current = head; current; current = current->storedPrototype().isNull() ? 0 : asObject(current->storedPrototype())->structure())
++size;
- tmp = asCell(tmp->storedPrototype())->structure();
- }
m_vector.set(new RefPtr<Structure>[size + 1]);
- size_t i;
- for (i = 0; i < size - 1; ++i) {
- m_vector[i] = structure;
- structure = asObject(structure->storedPrototype())->structure();
- }
- m_vector[i] = structure;
- m_vector[i + 1] = 0;
-}
-
-bool structureChainsAreEqual(StructureChain* chainA, StructureChain* chainB)
-{
- if (!chainA || !chainB)
- return false;
-
- RefPtr<Structure>* a = chainA->head();
- RefPtr<Structure>* b = chainB->head();
- while (1) {
- if (*a != *b)
- return false;
- if (!*a)
- return true;
- a++;
- b++;
- }
+ size_t i = 0;
+ for (Structure* current = head; current; current = current->storedPrototype().isNull() ? 0 : asObject(current->storedPrototype())->structure())
+ m_vector[i++] = current;
+ m_vector[i] = 0;
}
} // namespace JSC