Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b0498801e751395d6776b6d459d2010737c217b1
      
https://github.com/WebKit/WebKit/commit/b0498801e751395d6776b6d459d2010737c217b1
  Author: Johann Klähn <[email protected]>
  Date:   2025-07-30 (Wed, 30 Jul 2025)

  Changed paths:
    M Source/JavaScriptCore/API/JSCallbackObject.h
    M Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h
    M Source/JavaScriptCore/interpreter/Interpreter.cpp
    M Source/JavaScriptCore/runtime/AbstractModuleRecord.h
    M Source/JavaScriptCore/runtime/EvalExecutable.h
    M Source/JavaScriptCore/runtime/GenericArgumentsImpl.h
    M Source/JavaScriptCore/runtime/IntlCollator.h
    M Source/JavaScriptCore/runtime/IntlDateTimeFormat.h
    M Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp
    M Source/JavaScriptCore/runtime/IntlLocale.h
    M Source/JavaScriptCore/runtime/IntlNumberFormat.h
    M Source/JavaScriptCore/runtime/IntlPluralRules.h
    M Source/JavaScriptCore/runtime/IntlRelativeTimeFormat.h
    M Source/JavaScriptCore/runtime/JSArrayBufferView.h
    M Source/JavaScriptCore/runtime/JSAsyncDisposableStack.h
    M Source/JavaScriptCore/runtime/JSAsyncFromSyncIterator.h
    M Source/JavaScriptCore/runtime/JSBoundFunction.h
    M Source/JavaScriptCore/runtime/JSCallee.h
    M Source/JavaScriptCore/runtime/JSDisposableStack.h
    M Source/JavaScriptCore/runtime/JSFunction.h
    M Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h
    M Source/JavaScriptCore/runtime/JSGlobalProxy.h
    M Source/JavaScriptCore/runtime/JSInternalFieldObjectImpl.h
    M Source/JavaScriptCore/runtime/JSLexicalEnvironment.h
    M Source/JavaScriptCore/runtime/JSMapIterator.h
    M Source/JavaScriptCore/runtime/JSModuleEnvironment.h
    M Source/JavaScriptCore/runtime/JSModuleNamespaceObject.h
    M Source/JavaScriptCore/runtime/JSModuleRecord.h
    M Source/JavaScriptCore/runtime/JSNativeStdFunction.h
    M Source/JavaScriptCore/runtime/JSRegExpStringIterator.h
    M Source/JavaScriptCore/runtime/JSRemoteFunction.h
    M Source/JavaScriptCore/runtime/JSSetIterator.h
    M Source/JavaScriptCore/runtime/JSSymbolTableObject.h
    M Source/JavaScriptCore/runtime/JSWrapForValidIterator.h
    M Source/JavaScriptCore/runtime/JSWrapperObject.h
    M Source/JavaScriptCore/runtime/ModuleProgramExecutable.h
    M Source/JavaScriptCore/runtime/ProgramExecutable.h
    M Source/JavaScriptCore/runtime/ProxyObject.h
    M Source/JavaScriptCore/runtime/RegExpObject.h
    M Source/JavaScriptCore/runtime/ShadowRealmObject.h
    M Source/JavaScriptCore/runtime/SyntheticModuleRecord.h
    M Source/JavaScriptCore/tools/JSDollarVM.cpp
    M Source/JavaScriptCore/tools/JSDollarVM.h
    M Source/JavaScriptCore/wasm/js/JSWebAssemblyGlobal.h
    M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h
    M Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.h
    M Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.h
    M Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.h
    M Source/JavaScriptCore/wasm/js/WebAssemblyFunction.h
    M Source/JavaScriptCore/wasm/js/WebAssemblyFunctionBase.h
    M Source/JavaScriptCore/wasm/js/WebAssemblyGCObjectBase.h
    M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.h
    M Source/JavaScriptCore/wasm/js/WebAssemblyWrapperFunction.h
    M Source/WebCore/bindings/js/JSDOMBuiltinConstructorBase.h
    M Source/WebCore/bindings/js/JSShadowRealmGlobalScopeBase.h
    M Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h
    M Source/WebCore/bindings/js/JSWorkletGlobalScopeBase.h

  Log Message:
  -----------
  [JSC] Fix wrong member access due to DECLARE_VISIT_CHILDREN macro
https://bugs.webkit.org/show_bug.cgi?id=296688

Reviewed by Yusuke Suzuki.

Using the DECLARE_VISIT_CHILDREN macro in private/protected sections can leak
subsequent members, as the macro ends with a public access specifier.

This change moves all uses of the macro into the public section of their
respective classes and selectively makes members used in existing
code public.

* Source/JavaScriptCore/runtime/JSBoundFunction.h:
Move DECLARE_VISIT_CHILDREN macro to the public section.
(JSC::JSBoundFunction::isTainted): New public getter for m_isTainted.
* Source/JavaScriptCore/interpreter/Interpreter.cpp:
(JSC::Interpreter::executeCall): Use new isTainted() getter.

* Source/JavaScriptCore/runtime/IntlDateTimeFormat.h:
Move DECLARE_VISIT_CHILDREN macro to the public section.
* Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::handleDateTimeValue): Made TU-local as it is only used by host
functions within this file.
(JSC::IntlDateTimeFormat::handleDateTimeValue): Deleted.

* Source/JavaScriptCore/runtime/IntlNumberFormat.h:
Move DECLARE_VISIT_CHILDREN macro to the public section.
Add missing friend declarations.
(JSC::IntlNumberFormat::trailingZeroDisplayString): Made public for
use in IntlPluralRules::resolvedOptions.

* Source/JavaScriptCore/runtime/IntlPluralRules.h:
Move DECLARE_VISIT_CHILDREN macro to the public section.
Add missing friend declaration.

* Source/JavaScriptCore/runtime/RegExpObject.h:
Move DECLARE_VISIT_CHILDREN macro to the public section.
(JSC::RegExpObject::lastIndexIsWritable): Make public for
use in regExpProtoFuncSearch.

* Source/JavaScriptCore/tools/JSDollarVM.cpp:
(JSC::JSDollarVM::WasmStreamingCompiler): Add missing private
access specifier.

* Source/JavaScriptCore/API/JSCallbackObject.h:
* Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h:
* Source/JavaScriptCore/runtime/AbstractModuleRecord.h:
* Source/JavaScriptCore/runtime/EvalExecutable.h:
* Source/JavaScriptCore/runtime/GenericArgumentsImpl.h:
* Source/JavaScriptCore/runtime/IntlCollator.h:
* Source/JavaScriptCore/runtime/IntlLocale.h:
* Source/JavaScriptCore/runtime/IntlRelativeTimeFormat.h:
* Source/JavaScriptCore/runtime/JSArrayBufferView.h:
* Source/JavaScriptCore/runtime/JSAsyncDisposableStack.h:
* Source/JavaScriptCore/runtime/JSAsyncFromSyncIterator.h:
* Source/JavaScriptCore/runtime/JSCallee.h:
* Source/JavaScriptCore/runtime/JSDisposableStack.h:
* Source/JavaScriptCore/runtime/JSFunction.h:
* Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h:
* Source/JavaScriptCore/runtime/JSGlobalProxy.h:
* Source/JavaScriptCore/runtime/JSInternalFieldObjectImpl.h:
* Source/JavaScriptCore/runtime/JSLexicalEnvironment.h:
* Source/JavaScriptCore/runtime/JSMapIterator.h:
* Source/JavaScriptCore/runtime/JSModuleEnvironment.h:
* Source/JavaScriptCore/runtime/JSModuleNamespaceObject.h:
* Source/JavaScriptCore/runtime/JSModuleRecord.h:
* Source/JavaScriptCore/runtime/JSNativeStdFunction.h:
* Source/JavaScriptCore/runtime/JSRegExpStringIterator.h:
* Source/JavaScriptCore/runtime/JSRemoteFunction.h:
* Source/JavaScriptCore/runtime/JSSetIterator.h:
* Source/JavaScriptCore/runtime/JSSymbolTableObject.h:
* Source/JavaScriptCore/runtime/JSWrapForValidIterator.h:
* Source/JavaScriptCore/runtime/JSWrapperObject.h:
* Source/JavaScriptCore/runtime/ModuleProgramExecutable.h:
* Source/JavaScriptCore/runtime/ProgramExecutable.h:
* Source/JavaScriptCore/runtime/ProxyObject.h:
* Source/JavaScriptCore/runtime/ShadowRealmObject.h:
* Source/JavaScriptCore/runtime/SyntheticModuleRecord.h:
* Source/JavaScriptCore/tools/JSDollarVM.h:
* Source/JavaScriptCore/wasm/js/JSWebAssemblyGlobal.h:
* Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h:
* Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.h:
* Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.h:
* Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.h:
* Source/JavaScriptCore/wasm/js/WebAssemblyFunction.h:
* Source/JavaScriptCore/wasm/js/WebAssemblyFunctionBase.h:
* Source/JavaScriptCore/wasm/js/WebAssemblyGCObjectBase.h:
* Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.h:
* Source/JavaScriptCore/wasm/js/WebAssemblyWrapperFunction.h:
* Source/WebCore/bindings/js/JSDOMBuiltinConstructorBase.h:
* Source/WebCore/bindings/js/JSShadowRealmGlobalScopeBase.h:
* Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h:
* Source/WebCore/bindings/js/JSWorkletGlobalScopeBase.h:
Move DECLARE_VISIT_CHILDREN macro to the public section.

Canonical link: https://commits.webkit.org/298066@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to