Skip to content
Permalink
Browse files
REGRESSION(r238039) WebCore::JSDOMGlobalObject::createStructure is us…
…ing JSC::Structure::create without including StructureInlines.h

https://bugs.webkit.org/show_bug.cgi?id=191626

Reviewed by Yusuke Suzuki.

JSC::Structure::create is used everywhere. It should be defined in
Structure.h, not in StructureInlines.h.

* runtime/Structure.h:
(JSC::Structure::create): Moved.
* runtime/StructureInlines.h: Moved JSC::Structure::create.

Canonical link: https://commits.webkit.org/206542@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
fujii committed Nov 19, 2018
1 parent 944f6df commit c0a4e2e8b27737bd62a73ba20431090c6e5ae2ca
Showing with 23 additions and 9 deletions.
  1. +14 −0 Source/JavaScriptCore/ChangeLog
  2. +9 −0 Source/JavaScriptCore/runtime/Structure.h
  3. +0 −9 Source/JavaScriptCore/runtime/StructureInlines.h
@@ -1,3 +1,17 @@
2018-11-18 Fujii Hironori <Hironori.Fujii@sony.com>

REGRESSION(r238039) WebCore::JSDOMGlobalObject::createStructure is using JSC::Structure::create without including StructureInlines.h
https://bugs.webkit.org/show_bug.cgi?id=191626

Reviewed by Yusuke Suzuki.

JSC::Structure::create is used everywhere. It should be defined in
Structure.h, not in StructureInlines.h.

* runtime/Structure.h:
(JSC::Structure::create): Moved.
* runtime/StructureInlines.h: Moved JSC::Structure::create.

2018-11-18 Yusuke Suzuki <yusukesuzuki@slowstart.org>

Unreviewed, rolling in the rest of r237254
@@ -828,4 +828,13 @@ class Structure final : public JSCell {
uint32_t m_propertyHash;
};

inline Structure* Structure::create(VM& vm, JSGlobalObject* globalObject, JSValue prototype, const TypeInfo& typeInfo, const ClassInfo* classInfo, IndexingType indexingType, unsigned inlineCapacity)
{
ASSERT(vm.structureStructure);
ASSERT(classInfo);
Structure* structure = new (NotNull, allocateCell<Structure>(vm.heap)) Structure(vm, globalObject, prototype, typeInfo, classInfo, indexingType, inlineCapacity);
structure->finishCreation(vm);
return structure;
}

} // namespace JSC
@@ -34,15 +34,6 @@

namespace JSC {

inline Structure* Structure::create(VM& vm, JSGlobalObject* globalObject, JSValue prototype, const TypeInfo& typeInfo, const ClassInfo* classInfo, IndexingType indexingType, unsigned inlineCapacity)
{
ASSERT(vm.structureStructure);
ASSERT(classInfo);
Structure* structure = new (NotNull, allocateCell<Structure>(vm.heap)) Structure(vm, globalObject, prototype, typeInfo, classInfo, indexingType, inlineCapacity);
structure->finishCreation(vm);
return structure;
}

inline Structure* Structure::createStructure(VM& vm)
{
ASSERT(!vm.structureStructure);

0 comments on commit c0a4e2e

Please sign in to comment.