[Webkit-unassigned] [Bug 193481] Add 'inline' specifier for declarations for its definitions are defined in separate headers (…Inlines.h)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jan 15 19:22:00 PST 2019


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

--- Comment #2 from Fujii Hironori <Hironori.Fujii at sony.com> ---
This WIP patch reports a lot of warnings such like following. This approach doesn't seem easy as I expected.

> [12/454] Building CXX object Source\JavaScriptCore\CMakeFiles\JavaScriptCore.dir\API\JSStringRefCF.cpp.obj
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:25:
> In file included from ..\..\Source\JavaScriptCore\interpreter\CallFrame.h:30:
> In file included from ..\..\Source\JavaScriptCore\runtime/VM.h:34:
> In file included from ..\..\Source\JavaScriptCore\runtime/ConcurrentJSLock.h:28:
> In file included from ..\..\Source\JavaScriptCore\heap\DeferGC.h:29:
> ..\..\Source\JavaScriptCore\heap\Heap.h(158,17):  warning: inline function 'JSC::Heap::worldIsStopped' is not defined [-Wundefined-inline]
>     inline bool worldIsStopped() const;
>                 ^
> ..\..\Source\JavaScriptCore\heap\Heap.h(159,43):  note: used here
>     bool worldIsRunning() const { return !worldIsStopped(); }
>                                           ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:27:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSCast.h:28:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSCell.h:34:
> In file included from ..\..\Source\JavaScriptCore\heap\SlotVisitor.h:30:
> In file included from ..\..\Source\JavaScriptCore\heap/MarkStack.h:28:
> ..\..\Source\JavaScriptCore\heap/GCSegmentedArray.h(81,17):  warning: inline function 'JSC::GCSegmentedArray<const JSC::JSCell *>::isEmpty' is not defined [-Wundefined-inline]
>     inline bool isEmpty();
>                 ^
> ..\..\Source\JavaScriptCore\heap\SlotVisitor.h(120,46):  note: used here
>     bool isEmpty() { return m_collectorStack.isEmpty() && m_mutatorStack.isEmpty(); }
>                                              ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:28:
> In file included from ..\..\Source\JavaScriptCore\runtime/Structure.h:31:
> In file included from ..\..\Source\JavaScriptCore\runtime/InferredTypeTable.h:28:
> ..\..\Source\JavaScriptCore\runtime/Identifier.h(117,30):  warning: inline function 'JSC::Identifier::fromString' is not defined [-Wundefined-inline]
>     inline static Identifier fromString(VM*, const LChar*, int length);
>                              ^
> ..\..\Source\JavaScriptCore\runtime/Identifier.h(124,84):  note: used here
>     static Identifier fromString(VM* vm, const Vector<LChar>& characters) { return fromString(vm, characters.data(), characters.size()); }
>                                                                                    ^
> ..\..\Source\JavaScriptCore\runtime/Identifier.h(126,30):  warning: inline function 'JSC::Identifier::fromUid' is not defined [-Wundefined-inline]
>     inline static Identifier fromUid(VM*, UniquedStringImpl* uid);
>                              ^
> ..\..\Source\JavaScriptCore\runtime/PropertyNameArray.h(106,53):  note: used here
>     m_data->propertyNameVector().append(Identifier::fromUid(m_vm, identifier));
>                                                     ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:28:
> In file included from ..\..\Source\JavaScriptCore\runtime/Structure.h:31:
> In file included from ..\..\Source\JavaScriptCore\runtime/InferredTypeTable.h:28:
> ..\..\Source\JavaScriptCore\runtime/Identifier.h(121,30):  warning: inline function 'JSC::Identifier::fromString' is not defined [-Wundefined-inline]
>     inline static Identifier fromString(ExecState*, const AtomicString&);
>                              ^
> ..\..\Source\JavaScriptCore\runtime/JSString.h(533,24):  note: used here
>     return Identifier::fromString(exec, toAtomicString(exec));
>                        ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:28:
> In file included from ..\..\Source\JavaScriptCore\runtime/Structure.h:31:
> In file included from ..\..\Source\JavaScriptCore\runtime/InferredTypeTable.h:28:
> ..\..\Source\JavaScriptCore\runtime/Identifier.h(119,30):  warning: inline function 'JSC::Identifier::fromString' is not defined [-Wundefined-inline]
>     inline static Identifier fromString(VM*, const String&);
>                              ^
> ..\..\Source\JavaScriptCore\runtime/JSObject.h(1593,24):  note: used here
>     return Identifier::fromString(&vm, name);
>                        ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:25:
> In file included from ..\..\Source\JavaScriptCore\interpreter\CallFrame.h:30:
> In file included from ..\..\Source\JavaScriptCore\runtime/VM.h:34:
> In file included from ..\..\Source\JavaScriptCore\runtime/ConcurrentJSLock.h:28:
> In file included from ..\..\Source\JavaScriptCore\heap\DeferGC.h:29:
> ..\..\Source\JavaScriptCore\heap\Heap.h(139,23):  warning: inline function 'JSC::Heap::vm' is not defined [-Wundefined-inline]
>     ALWAYS_INLINE VM* vm() const;
>                       ^
> ..\..\Source\JavaScriptCore\heap\LocalAllocatorInlines.h(36,53):  note: used here
>             sanitizeStackForVM(m_directory->heap()->vm());
>                                                     ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:27:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSCast.h:28:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSCell.h:34:
> ..\..\Source\JavaScriptCore\heap\SlotVisitor.h(85,16):  warning: inline function 'JSC::SlotVisitor::vm' is not defined [-Wundefined-inline]
>     inline VM& vm();
>                ^
> ..\..\Source\JavaScriptCore\runtime/JSCellInlines.h(131,55):  note: used here
>     visitor.appendUnbarriered(cell->structure(visitor.vm()));
>                                                       ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:27:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSCast.h:28:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSCell.h:34:
> ..\..\Source\JavaScriptCore\heap\SlotVisitor.h(108,24):  warning: inline function 'JSC::SlotVisitor::appendUnbarriered' is not defined [-Wundefined-inline]
>     ALWAYS_INLINE void appendUnbarriered(JSCell*);
>                        ^
> ..\..\Source\JavaScriptCore\runtime/JSCellInlines.h(131,13):  note: used here
>     visitor.appendUnbarriered(cell->structure(visitor.vm()));
>             ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:31:
> In file included from ..\..\Source\JavaScriptCore\runtime\JSCJSValueInlines.h:29:
> In file included from ..\..\Source\JavaScriptCore\runtime/Error.h:25:
> In file included from ..\..\Source\JavaScriptCore\runtime/ErrorInstance.h:23:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSDestructibleObject.h:28:
> ..\..\Source\JavaScriptCore\runtime/JSObject.h(196,31):  warning: inline function 'JSC::JSObject::putInlineForJSObject' is not defined [-Wundefined-inline]
>     ALWAYS_INLINE static bool putInlineForJSObject(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);
>                               ^
> ..\..\Source\JavaScriptCore\runtime/JSCellInlines.h(408,26):  note: used here
>         return JSObject::putInlineForJSObject(asObject(this), exec, propertyName, value, slot);
>                          ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:25:
> In file included from ..\..\Source\JavaScriptCore\interpreter\CallFrame.h:30:
> In file included from ..\..\Source\JavaScriptCore\runtime/VM.h:34:
> In file included from ..\..\Source\JavaScriptCore\runtime/ConcurrentJSLock.h:28:
> In file included from ..\..\Source\JavaScriptCore\heap\DeferGC.h:29:
> ..\..\Source\JavaScriptCore\heap\Heap.h(110,32):  warning: inline function 'JSC::Heap::heap' is not defined [-Wundefined-inline]
>     static ALWAYS_INLINE Heap* heap(const HeapCell*);
>                                ^
> ..\..\Source\JavaScriptCore\runtime\Protect.h(30,11):  note: used here
>     Heap::heap(val)->protect(val);
>           ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:31:
> In file included from ..\..\Source\JavaScriptCore\runtime\JSCJSValueInlines.h:29:
> In file included from ..\..\Source\JavaScriptCore\runtime/Error.h:25:
> In file included from ..\..\Source\JavaScriptCore\runtime/ErrorInstance.h:23:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSDestructibleObject.h:28:
> ..\..\Source\JavaScriptCore\runtime/JSObject.h(602,24):  warning: inline function 'JSC::JSObject::hasOwnProperty' is not defined [-Wundefined-inline]
>     ALWAYS_INLINE bool hasOwnProperty(ExecState*, PropertyName) const;
>                        ^
> ..\..\Source\JavaScriptCore\runtime\JSGlobalObject.h(543,14):  note: used here
>         if (!hasOwnProperty(exec, propertyName))
>              ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:31:
> In file included from ..\..\Source\JavaScriptCore\runtime\JSCJSValueInlines.h:36:
> ..\..\Source\JavaScriptCore\runtime/JSFunction.h(168,12):  warning: inline function 'JSC::JSFunction::JSFunction' is not defined [-Wundefined-inline]
>     inline JSFunction(VM&, FunctionExecutable*, JSScope*, Structure*);
>            ^
> ..\..\Source\JavaScriptCore\runtime/JSFunction.h(186,81):  note: used here
>         JSFunction* function = new (NotNull, allocateCell<JSFunction>(vm.heap)) JSFunction(vm, executable, scope, structure);
>                                                                                 ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:28:
> In file included from ..\..\Source\JavaScriptCore\runtime/Structure.h:31:
> In file included from ..\..\Source\JavaScriptCore\runtime/InferredTypeTable.h:28:
> ..\..\Source\JavaScriptCore\runtime/Identifier.h(128,30):  warning: inline function 'JSC::Identifier::fromUid' is not defined [-Wundefined-inline]
>     inline static Identifier fromUid(const PrivateName&);
>                              ^
> ..\..\Source\JavaScriptCore\runtime\JSCJSValueInlines.h(655,47):  note: used here
>         RELEASE_AND_RETURN(scope, Identifier::fromUid(asSymbol(primitive)->privateName()));
>                                               ^
> In file included from ..\..\Source\JavaScriptCore\API\JSStringRefCF.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:31:
> In file included from ..\..\Source\JavaScriptCore\runtime\JSCJSValueInlines.h:29:
> In file included from ..\..\Source\JavaScriptCore\runtime/Error.h:25:
> In file included from ..\..\Source\JavaScriptCore\runtime/ErrorInstance.h:23:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSDestructibleObject.h:28:
> ..\..\Source\JavaScriptCore\runtime/JSObject.h(175,17):  warning: inline function 'JSC::JSObject::getOwnPropertySlotInline' is not defined [-Wundefined-inline]
>     inline bool getOwnPropertySlotInline(ExecState*, PropertyName, PropertySlot&);
>                 ^
> ..\..\Source\JavaScriptCore\runtime\JSCJSValueInlines.h(896,51):  note: used here
>     RELEASE_AND_RETURN(scope, asObject(asCell())->getOwnPropertySlotInline(exec, propertyName, slot));
>                                                   ^
> 15 warnings generated.
> [13/454] Building CXX object Source\JavaScriptCore\CMakeFiles\JavaScriptCore.dir\__\__\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-d93d10ff-3.cpp.obj
> In file included from DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-d93d10ff-3.cpp:1:
> In file included from ..\..\Source\JavaScriptCore\API/JSWeakPrivate.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:27:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSCast.h:28:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSCell.h:34:
> In file included from ..\..\Source\JavaScriptCore\heap/SlotVisitor.h:30:
> In file included from ..\..\Source\JavaScriptCore\heap/MarkStack.h:28:
> ..\..\Source\JavaScriptCore\heap/GCSegmentedArray.h(81,17):  warning: inline function 'JSC::GCSegmentedArray<const JSC::JSCell *>::isEmpty' is not defined [-Wundefined-inline]
>     inline bool isEmpty();
>                 ^
> ..\..\Source\JavaScriptCore\heap/SlotVisitor.h(120,46):  note: used here
>     bool isEmpty() { return m_collectorStack.isEmpty() && m_mutatorStack.isEmpty(); }
>                                              ^
> In file included from DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-d93d10ff-3.cpp:1:
> In file included from ..\..\Source\JavaScriptCore\API/JSWeakPrivate.cpp:29:
> In file included from ..\..\Source\JavaScriptCore\API/APICast.h:29:
> In file included from ..\..\Source\JavaScriptCore\API/JSAPIValueWrapper.h:25:
> In file included from ..\..\Source\JavaScriptCore\interpreter/CallFrame.h:30:
> In file included from ..\..\Source\JavaScriptCore\runtime/VM.h:43:
> ..\..\Source\JavaScriptCore\heap\IsoCellSet.h(50,17):  warning: inline function 'JSC::IsoCellSet::remove' is not defined [-Wundefined-inline]
>     inline bool remove(HeapCell* cell); // Returns true if the cell was previously present and got removed.
>                 ^
> ..\..\Source\JavaScriptCore\bytecode\UnlinkedFunctionExecutable.h(118,61):  note: used here
>         vm.unlinkedFunctionExecutableSpace.clearableCodeSet.remove(this);
>                                                             ^
> In file included from DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-d93d10ff-3.cpp:1:
> In file included from ..\..\Source\JavaScriptCore\API/JSWeakPrivate.cpp:30:
> In file included from ..\..\Source\JavaScriptCore\runtime\JSCInlines.h:46:
> In file included from ..\..\Source\JavaScriptCore\runtime/JSFunctionInlines.h:28:
> In file included from ..\..\Source\JavaScriptCore\runtime\FunctionExecutable.h:29:
> In file included from ..\..\Source\JavaScriptCore\runtime/ScriptExecutable.h:28:
> In file included from ..\..\Source\JavaScriptCore\runtime/ExecutableBase.h:34:
> In file included from ..\..\Source\JavaScriptCore\bytecode/UnlinkedCodeBlock.h:42:
> ..\..\Source\JavaScriptCore\bytecode/UnlinkedMetadataTable.h(50,26):  warning: inline function 'JSC::UnlinkedMetadataTable::sizeInBytes' is not defined [-Wundefined-inline]
>     ALWAYS_INLINE size_t sizeInBytes();
>                          ^
> ..\..\Source\JavaScriptCore\bytecode/UnlinkedCodeBlock.h(364,27):  note: used here
>         return m_metadata.sizeInBytes();
>                           ^
> 3 warnings generated.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190116/5de623c4/attachment-0001.html>


More information about the webkit-unassigned mailing list