| Differences between
and this patch
- a/Source/JavaScriptCore/ChangeLog +16 lines
Lines 1-3 a/Source/JavaScriptCore/ChangeLog_sec1
1
2018-11-15  Fujii Hironori  <Hironori.Fujii@sony.com>
2
3
        REGRESSION(r238039) WebCore::JSDOMGlobalObject::createStructure is using JSC::Structure::create without including StructureInlines.h
4
        https://bugs.webkit.org/show_bug.cgi?id=191626
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        JSC::Structure::create is used everywhere. It should be defined in
9
        Structure.h, not in StructureInlines.h.
10
11
        * runtime/Structure.h: Marked JSC::Structure::create declaration
12
        'inline' to match with the definition to prevent future
13
        regressions.
14
        (JSC::Structure::create): Moved.
15
        * runtime/StructureInlines.h: Moved JSC::Structure::create.
16
1
2018-11-14  Joseph Pecoraro  <pecoraro@apple.com>
17
2018-11-14  Joseph Pecoraro  <pecoraro@apple.com>
2
18
3
        Web Inspector: Pass Inspector::FrontendChannel as a reference connect/disconnect methods
19
        Web Inspector: Pass Inspector::FrontendChannel as a reference connect/disconnect methods
- a/Source/JavaScriptCore/runtime/Structure.h -1 / +10 lines
Lines 132-138 public: a/Source/JavaScriptCore/runtime/Structure.h_sec1
132
    static const unsigned StructureFlags = Base::StructureFlags | StructureIsImmortal;
132
    static const unsigned StructureFlags = Base::StructureFlags | StructureIsImmortal;
133
    
133
    
134
    enum PolyProtoTag { PolyProto };
134
    enum PolyProtoTag { PolyProto };
135
    static Structure* create(VM&, JSGlobalObject*, JSValue prototype, const TypeInfo&, const ClassInfo*, IndexingType = NonArray, unsigned inlineCapacity = 0);
135
    inline static Structure* create(VM&, JSGlobalObject*, JSValue prototype, const TypeInfo&, const ClassInfo*, IndexingType = NonArray, unsigned inlineCapacity = 0);
136
    static Structure* create(PolyProtoTag, VM&, JSGlobalObject*, JSObject* prototype, const TypeInfo&, const ClassInfo*, IndexingType = NonArray, unsigned inlineCapacity = 0);
136
    static Structure* create(PolyProtoTag, VM&, JSGlobalObject*, JSObject* prototype, const TypeInfo&, const ClassInfo*, IndexingType = NonArray, unsigned inlineCapacity = 0);
137
137
138
    ~Structure();
138
    ~Structure();
Lines 828-831 private: a/Source/JavaScriptCore/runtime/Structure.h_sec2
828
    uint32_t m_propertyHash;
828
    uint32_t m_propertyHash;
829
};
829
};
830
830
831
inline Structure* Structure::create(VM& vm, JSGlobalObject* globalObject, JSValue prototype, const TypeInfo& typeInfo, const ClassInfo* classInfo, IndexingType indexingType, unsigned inlineCapacity)
832
{
833
    ASSERT(vm.structureStructure);
834
    ASSERT(classInfo);
835
    Structure* structure = new (NotNull, allocateCell<Structure>(vm.heap)) Structure(vm, globalObject, prototype, typeInfo, classInfo, indexingType, inlineCapacity);
836
    structure->finishCreation(vm);
837
    return structure;
838
}
839
831
} // namespace JSC
840
} // namespace JSC
- a/Source/JavaScriptCore/runtime/StructureInlines.h -9 lines
Lines 34-48 a/Source/JavaScriptCore/runtime/StructureInlines.h_sec1
34
34
35
namespace JSC {
35
namespace JSC {
36
36
37
inline Structure* Structure::create(VM& vm, JSGlobalObject* globalObject, JSValue prototype, const TypeInfo& typeInfo, const ClassInfo* classInfo, IndexingType indexingType, unsigned inlineCapacity)
38
{
39
    ASSERT(vm.structureStructure);
40
    ASSERT(classInfo);
41
    Structure* structure = new (NotNull, allocateCell<Structure>(vm.heap)) Structure(vm, globalObject, prototype, typeInfo, classInfo, indexingType, inlineCapacity);
42
    structure->finishCreation(vm);
43
    return structure;
44
}
45
46
inline Structure* Structure::createStructure(VM& vm)
37
inline Structure* Structure::createStructure(VM& vm)
47
{
38
{
48
    ASSERT(!vm.structureStructure);
39
    ASSERT(!vm.structureStructure);

Return to Bug 191626