Title: [134081] trunk/Source/_javascript_Core
- Revision
- 134081
- Author
- fpi...@apple.com
- Date
- 2012-11-09 10:04:01 -0800 (Fri, 09 Nov 2012)
Log Message
ArrayPrototype should start out with a blank indexing type
https://bugs.webkit.org/show_bug.cgi?id=101719
Reviewed by Mark Hahnenberg.
This allows us to track if the array prototype ever ends up with indexed
properties.
* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::create):
(JSC::ArrayPrototype::ArrayPrototype):
* runtime/ArrayPrototype.h:
(ArrayPrototype):
(JSC::ArrayPrototype::createStructure):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (134080 => 134081)
--- trunk/Source/_javascript_Core/ChangeLog 2012-11-09 17:58:19 UTC (rev 134080)
+++ trunk/Source/_javascript_Core/ChangeLog 2012-11-09 18:04:01 UTC (rev 134081)
@@ -1,3 +1,20 @@
+2012-11-09 Filip Pizlo <fpi...@apple.com>
+
+ ArrayPrototype should start out with a blank indexing type
+ https://bugs.webkit.org/show_bug.cgi?id=101719
+
+ Reviewed by Mark Hahnenberg.
+
+ This allows us to track if the array prototype ever ends up with indexed
+ properties.
+
+ * runtime/ArrayPrototype.cpp:
+ (JSC::ArrayPrototype::create):
+ (JSC::ArrayPrototype::ArrayPrototype):
+ * runtime/ArrayPrototype.h:
+ (ArrayPrototype):
+ (JSC::ArrayPrototype::createStructure):
+
2012-11-08 Mark Hahnenberg <mhahnenb...@apple.com>
MarkStackArray should use the BlockAllocator instead of the MarkStackSegmentAllocator
Modified: trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp (134080 => 134081)
--- trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp 2012-11-09 17:58:19 UTC (rev 134080)
+++ trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp 2012-11-09 18:04:01 UTC (rev 134081)
@@ -116,15 +116,14 @@
ArrayPrototype* ArrayPrototype::create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure)
{
- Butterfly* butterfly = createArrayButterfly(exec->globalData(), 0);
- ArrayPrototype* prototype = new (NotNull, allocateCell<ArrayPrototype>(*exec->heap())) ArrayPrototype(globalObject, structure, butterfly);
+ ArrayPrototype* prototype = new (NotNull, allocateCell<ArrayPrototype>(*exec->heap())) ArrayPrototype(globalObject, structure);
prototype->finishCreation(globalObject);
return prototype;
}
// ECMA 15.4.4
-ArrayPrototype::ArrayPrototype(JSGlobalObject* globalObject, Structure* structure, Butterfly* butterfly)
- : JSArray(globalObject->globalData(), structure, butterfly)
+ArrayPrototype::ArrayPrototype(JSGlobalObject* globalObject, Structure* structure)
+ : JSArray(globalObject->globalData(), structure, 0)
{
}
Modified: trunk/Source/_javascript_Core/runtime/ArrayPrototype.h (134080 => 134081)
--- trunk/Source/_javascript_Core/runtime/ArrayPrototype.h 2012-11-09 17:58:19 UTC (rev 134080)
+++ trunk/Source/_javascript_Core/runtime/ArrayPrototype.h 2012-11-09 18:04:01 UTC (rev 134081)
@@ -28,7 +28,7 @@
class ArrayPrototype : public JSArray {
private:
- ArrayPrototype(JSGlobalObject*, Structure*, Butterfly*);
+ ArrayPrototype(JSGlobalObject*, Structure*);
public:
typedef JSArray Base;
@@ -42,7 +42,7 @@
static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
{
- return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info, ArrayWithArrayStorage);
+ return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info, ArrayClass);
}
protected:
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes