From cfd86b747d32ac22246a1aa908eaa720c63a88c1 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Wed, 7 Nov 2012 11:22:47 +0100 Subject: Imported WebKit commit 20271caf2e2c016d5cef40184cddeefeac4f1876 (http://svn.webkit.org/repository/webkit/trunk@133733) New snapshot that contains all previous fixes as well as build fix for latest QtMultimedia API changes. --- Source/JavaScriptCore/dfg/DFGRepatch.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'Source/JavaScriptCore/dfg/DFGRepatch.cpp') diff --git a/Source/JavaScriptCore/dfg/DFGRepatch.cpp b/Source/JavaScriptCore/dfg/DFGRepatch.cpp index 531a525d5..7c15ef33e 100644 --- a/Source/JavaScriptCore/dfg/DFGRepatch.cpp +++ b/Source/JavaScriptCore/dfg/DFGRepatch.cpp @@ -324,7 +324,7 @@ static bool tryCacheGetByID(ExecState* exec, JSValue baseValue, const Identifier PropertyOffset offset = slot.cachedOffset(); size_t count = normalizePrototypeChain(exec, baseValue, slot.slotBase(), propertyName, offset); - if (!count) + if (count == InvalidPrototypeChain) return false; StructureChain* prototypeChain = structure->prototypeChain(exec); @@ -550,7 +550,7 @@ static bool tryBuildGetByIDProtoList(ExecState* exec, JSValue baseValue, const I PropertyOffset offset = slot.cachedOffset(); size_t count = normalizePrototypeChain(exec, baseValue, slot.slotBase(), propertyName, offset); - if (!count) + if (count == InvalidPrototypeChain) return false; Structure* structure = baseValue.asCell()->structure(); @@ -964,7 +964,8 @@ static bool tryCachePutByID(ExecState* exec, JSValue baseValue, const Identifier if (hasIndexingHeader(oldStructure->indexingType())) return false; - normalizePrototypeChain(exec, baseCell); + if (normalizePrototypeChain(exec, baseCell) == InvalidPrototypeChain) + return false; StructureChain* prototypeChain = structure->prototypeChain(exec); @@ -1035,7 +1036,8 @@ static bool tryBuildPutByIdList(ExecState* exec, JSValue baseValue, const Identi if (hasIndexingHeader(oldStructure->indexingType())) return false; - normalizePrototypeChain(exec, baseCell); + if (normalizePrototypeChain(exec, baseCell) == InvalidPrototypeChain) + return false; StructureChain* prototypeChain = structure->prototypeChain(exec); -- cgit v1.2.1