Changeset 196108 in webkit
- Timestamp:
- Feb 3, 2016 9:41:03 PM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r196107 r196108 1 2016-02-03 Yusuke Suzuki <utatane.tea@gmail.com> 2 3 [JSC] Make some classes non JSDestructibleObject 4 https://bugs.webkit.org/show_bug.cgi?id=153838 5 6 Reviewed by Geoffrey Garen. 7 8 SymbolPrototype, JSMapIterator and JSSetIterator are trivially destructible. 9 So there is no need to inherit JSDestructibleObject. 10 11 * runtime/JSMapIterator.cpp: 12 (JSC::JSMapIterator::destroy): Deleted. 13 * runtime/JSMapIterator.h: 14 * runtime/JSSetIterator.cpp: 15 (JSC::JSSetIterator::destroy): Deleted. 16 * runtime/JSSetIterator.h: 17 * runtime/MapData.h: 18 * runtime/SymbolPrototype.h: 19 1 20 2016-02-03 Yusuke Suzuki <utatane.tea@gmail.com> 2 21 -
trunk/Source/JavaScriptCore/runtime/JSMapIterator.cpp
r181922 r196108 44 44 } 45 45 46 void JSMapIterator::destroy(JSCell* cell)47 {48 JSMapIterator* thisObject = jsCast<JSMapIterator*>(cell);49 thisObject->JSMapIterator::~JSMapIterator();50 }51 52 46 void JSMapIterator::visitChildren(JSCell* cell, SlotVisitor& visitor) 53 47 { -
trunk/Source/JavaScriptCore/runtime/JSMapIterator.h
r181922 r196108 27 27 #define JSMapIterator_h 28 28 29 #include "JSDestructibleObject.h"30 29 #include "JSMap.h" 30 #include "JSObject.h" 31 31 #include "MapData.h" 32 32 … … 38 38 }; 39 39 40 class JSMapIterator : public JS DestructibleObject {40 class JSMapIterator : public JSNonFinalObject { 41 41 public: 42 typedef JS DestructibleObject Base;42 typedef JSNonFinalObject Base; 43 43 44 44 DECLARE_EXPORT_INFO; … … 104 104 } 105 105 106 static void destroy(JSCell*);107 106 JS_EXPORT_PRIVATE void finishCreation(VM&, JSMap*); 108 107 JSValue createPair(CallFrame*, JSValue, JSValue); … … 113 112 MapIterationKind m_kind; 114 113 }; 114 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSMapIterator); 115 115 116 116 } -
trunk/Source/JavaScriptCore/runtime/JSSetIterator.cpp
r181922 r196108 52 52 } 53 53 54 void JSSetIterator::destroy(JSCell* cell)55 {56 JSSetIterator* thisObject = jsCast<JSSetIterator*>(cell);57 thisObject->JSSetIterator::~JSSetIterator();58 }59 60 54 JSValue JSSetIterator::createPair(CallFrame* callFrame, JSValue key, JSValue value) 61 55 { -
trunk/Source/JavaScriptCore/runtime/JSSetIterator.h
r181922 r196108 27 27 #define JSSetIterator_h 28 28 29 #include "JS DestructibleObject.h"29 #include "JSObject.h" 30 30 #include "JSSet.h" 31 31 … … 39 39 }; 40 40 41 class JSSetIterator : public JS DestructibleObject {41 class JSSetIterator : public JSNonFinalObject { 42 42 public: 43 typedef JS DestructibleObject Base;43 typedef JSNonFinalObject Base; 44 44 45 45 DECLARE_EXPORT_INFO; … … 91 91 } 92 92 93 static void destroy(JSCell*);94 93 JS_EXPORT_PRIVATE void finishCreation(VM&, JSSet*); 95 94 JS_EXPORT_PRIVATE JSValue createPair(CallFrame*, JSValue, JSValue); … … 100 99 SetIterationKind m_kind; 101 100 }; 101 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSSetIterator); 102 102 103 103 } -
trunk/Source/JavaScriptCore/runtime/MapData.h
r190896 r196108 89 89 mutable int32_t m_index; 90 90 }; 91 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(IteratorData); 91 92 92 93 struct KeyType { -
trunk/Source/JavaScriptCore/runtime/SymbolPrototype.h
r182747 r196108 34 34 35 35 // In the ES6 spec, Symbol.prototype object is an ordinary JS object, not one of the symbol wrapper object instance. 36 class SymbolPrototype : public JS DestructibleObject {36 class SymbolPrototype : public JSNonFinalObject { 37 37 public: 38 typedef JS DestructibleObject Base;38 typedef JSNonFinalObject Base; 39 39 static const unsigned StructureFlags = Base::StructureFlags | OverridesGetOwnPropertySlot; 40 40 … … 60 60 static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&); 61 61 }; 62 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(SymbolPrototype); 62 63 63 64 } // namespace JSC
Note: See TracChangeset
for help on using the changeset viewer.