Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 01e2533964dcca4708831d36eae6c7251dd41ec6
https://github.com/WebKit/WebKit/commit/01e2533964dcca4708831d36eae6c7251dd41ec6
Author: Chris Dumez <[email protected]>
Date: 2026-09-29 (Tue, 29 Sep 2026)
Changed paths:
M Source/JavaScriptCore/API/tests/TypedArrayCTest.cpp
M Source/JavaScriptCore/API/tests/testapi.cpp
M
Source/JavaScriptCore/SaferCPPExpectations/UncountedLambdaCapturesCheckerExpectations
M Source/JavaScriptCore/assembler/MacroAssembler.cpp
M Source/JavaScriptCore/assembler/MacroAssembler.h
M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
M Source/JavaScriptCore/assembler/RISCV64Assembler.h
M Source/JavaScriptCore/b3/B3Bank.h
M Source/JavaScriptCore/b3/B3CheckSpecial.cpp
M Source/JavaScriptCore/b3/B3CheckSpecial.h
M Source/JavaScriptCore/b3/B3EliminateCommonSubexpressions.cpp
M Source/JavaScriptCore/b3/B3LowerToAir.cpp
M Source/JavaScriptCore/b3/B3MoveConstants.cpp
M Source/JavaScriptCore/b3/B3PatchpointSpecial.cpp
M Source/JavaScriptCore/b3/B3PatchpointSpecial.h
M Source/JavaScriptCore/b3/B3PhiChildren.h
M Source/JavaScriptCore/b3/B3StackmapSpecial.cpp
M Source/JavaScriptCore/b3/B3StackmapSpecial.h
M Source/JavaScriptCore/b3/B3Value.h
M Source/JavaScriptCore/b3/B3ValueInlines.h
M Source/JavaScriptCore/b3/B3VariableLiveness.h
M Source/JavaScriptCore/b3/air/AirAllocateRegistersByGreedy.cpp
M Source/JavaScriptCore/b3/air/AirAllocateStackByGraphColoring.cpp
M Source/JavaScriptCore/b3/air/AirArg.h
M Source/JavaScriptCore/b3/air/AirArgInlines.h
M Source/JavaScriptCore/b3/air/AirCCallSpecial.cpp
M Source/JavaScriptCore/b3/air/AirCCallSpecial.h
M Source/JavaScriptCore/b3/air/AirCode.h
M Source/JavaScriptCore/b3/air/AirCustom.h
M Source/JavaScriptCore/b3/air/AirDisassembler.cpp
M Source/JavaScriptCore/b3/air/AirDisassembler.h
M Source/JavaScriptCore/b3/air/AirEmitShuffle.cpp
M Source/JavaScriptCore/b3/air/AirFixObviousSpills.cpp
M Source/JavaScriptCore/b3/air/AirInst.h
M Source/JavaScriptCore/b3/air/AirInstInlines.h
M Source/JavaScriptCore/b3/air/AirLivenessAdapter.h
M Source/JavaScriptCore/b3/air/AirPrintSpecial.cpp
M Source/JavaScriptCore/b3/air/AirPrintSpecial.h
M Source/JavaScriptCore/b3/air/AirSpecial.h
M Source/JavaScriptCore/b3/air/opcode_generator.rb
M Source/JavaScriptCore/b3/testb3.h
M Source/JavaScriptCore/b3/testb3_5.cpp
M Source/JavaScriptCore/b3/testb3_7.cpp
M Source/JavaScriptCore/bytecode/AccessCase.cpp
M Source/JavaScriptCore/bytecode/AccessCase.h
M Source/JavaScriptCore/bytecode/BytecodeLivenessAnalysis.h
M Source/JavaScriptCore/bytecode/BytecodeLivenessAnalysisInlines.h
M Source/JavaScriptCore/bytecode/BytecodeUseDef.cpp
M Source/JavaScriptCore/bytecode/BytecodeUseDef.h
M Source/JavaScriptCore/bytecode/CallLinkInfo.cpp
M Source/JavaScriptCore/bytecode/CallLinkInfo.h
M Source/JavaScriptCore/bytecode/CodeBlock.h
M Source/JavaScriptCore/bytecode/CodeBlockInlines.h
M Source/JavaScriptCore/bytecode/MetadataTable.h
M Source/JavaScriptCore/bytecode/ObjectPropertyCondition.h
M Source/JavaScriptCore/bytecode/ObjectPropertyConditionSet.cpp
M Source/JavaScriptCore/bytecode/ObjectPropertyConditionSet.h
M Source/JavaScriptCore/bytecode/PolyProtoAccessChain.h
M Source/JavaScriptCore/bytecode/PropertyCondition.h
M Source/JavaScriptCore/bytecode/RecordedStatuses.h
M Source/JavaScriptCore/bytecode/ValueRecovery.h
M Source/JavaScriptCore/bytecode/Watchpoint.cpp
M Source/JavaScriptCore/bytecode/Watchpoint.h
M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
M Source/JavaScriptCore/bytecompiler/BytecodeGeneratorBase.h
M Source/JavaScriptCore/bytecompiler/BytecodeGeneratorBaseInlines.h
M Source/JavaScriptCore/debugger/Debugger.cpp
M Source/JavaScriptCore/debugger/Debugger.h
M Source/JavaScriptCore/debugger/DebuggerParseData.cpp
M Source/JavaScriptCore/debugger/DebuggerParseData.h
M Source/JavaScriptCore/dfg/DFGAbstractInterpreter.h
M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
M Source/JavaScriptCore/dfg/DFGAvailabilityMap.h
M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
M Source/JavaScriptCore/dfg/DFGClobberize.h
M Source/JavaScriptCore/dfg/DFGCloneHelper.h
M Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.h
M Source/JavaScriptCore/dfg/DFGForAllKills.h
M Source/JavaScriptCore/dfg/DFGGraph.h
M Source/JavaScriptCore/dfg/DFGIntegerRangeOptimizationPhase.cpp
M Source/JavaScriptCore/dfg/DFGLivenessAnalysisPhase.cpp
M Source/JavaScriptCore/dfg/DFGNodeFlowProjection.h
M Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp
M Source/JavaScriptCore/dfg/DFGPhiChildren.h
M Source/JavaScriptCore/dfg/DFGPreciseLocalClobberize.h
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
M Source/JavaScriptCore/dfg/DFGStructureAbstractValue.h
M Source/JavaScriptCore/dynbench.cpp
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
M Source/JavaScriptCore/ftl/FTLState.cpp
M Source/JavaScriptCore/ftl/FTLState.h
M Source/JavaScriptCore/heap/BlockDirectory.h
M Source/JavaScriptCore/heap/BlockDirectoryBits.h
M Source/JavaScriptCore/heap/BlockDirectoryInlines.h
M Source/JavaScriptCore/heap/CodeBlockSet.h
M Source/JavaScriptCore/heap/CodeBlockSetInlines.h
M Source/JavaScriptCore/heap/Collector.h
M Source/JavaScriptCore/heap/CollectorInlines.h
M Source/JavaScriptCore/heap/FreeList.h
M Source/JavaScriptCore/heap/FreeListInlines.h
M Source/JavaScriptCore/heap/GCIncomingRefCounted.h
M Source/JavaScriptCore/heap/GCIncomingRefCountedInlines.h
M Source/JavaScriptCore/heap/Heap.cpp
M Source/JavaScriptCore/heap/Heap.h
M Source/JavaScriptCore/heap/HeapInlines.h
M Source/JavaScriptCore/heap/IsoCellSet.h
M Source/JavaScriptCore/heap/IsoCellSetInlines.h
M Source/JavaScriptCore/heap/IsoSubspace.h
M Source/JavaScriptCore/heap/IsoSubspaceInlines.h
M Source/JavaScriptCore/heap/MachineStackMarker.cpp
M Source/JavaScriptCore/heap/MachineStackMarker.h
M Source/JavaScriptCore/heap/MarkedBlock.h
M Source/JavaScriptCore/heap/MarkedBlockInlines.h
M Source/JavaScriptCore/heap/MarkedSpace.cpp
M Source/JavaScriptCore/heap/MarkedSpace.h
M Source/JavaScriptCore/heap/MarkedSpaceInlines.h
M Source/JavaScriptCore/heap/MarkingConstraintSolver.cpp
M Source/JavaScriptCore/heap/MarkingConstraintSolver.h
M Source/JavaScriptCore/heap/SlotVisitor.h
M Source/JavaScriptCore/heap/SlotVisitorInlines.h
M Source/JavaScriptCore/heap/StrongSet.h
M Source/JavaScriptCore/heap/Subspace.h
M Source/JavaScriptCore/heap/SubspaceInlines.h
M Source/JavaScriptCore/heap/VerifierSlotVisitor.h
M Source/JavaScriptCore/heap/VerifierSlotVisitorInlines.h
M Source/JavaScriptCore/heap/WeakSet.h
M Source/JavaScriptCore/interpreter/ShadowChicken.h
M Source/JavaScriptCore/interpreter/ShadowChickenInlines.h
M Source/JavaScriptCore/interpreter/StackVisitor.h
M Source/JavaScriptCore/jit/AssemblyHelpers.cpp
M Source/JavaScriptCore/jit/AssemblyHelpers.h
M Source/JavaScriptCore/jit/CCallHelpers.h
M Source/JavaScriptCore/jit/CallFrameShuffler.h
M Source/JavaScriptCore/jit/JIT.h
M Source/JavaScriptCore/jit/JITArithmetic.cpp
M Source/JavaScriptCore/jit/JITStubRoutine.cpp
M Source/JavaScriptCore/jit/JITStubRoutine.h
M Source/JavaScriptCore/jit/JITWorklist.cpp
M Source/JavaScriptCore/jit/JITWorklist.h
M Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.h
M Source/JavaScriptCore/jit/RegisterSet.h
M Source/JavaScriptCore/jit/SIMDShuffle.h
M Source/JavaScriptCore/jit/SimpleRegisterAllocator.h
M Source/JavaScriptCore/jsc.cpp
M Source/JavaScriptCore/lol/LOLJIT.cpp
M Source/JavaScriptCore/lol/LOLJIT.h
M Source/JavaScriptCore/parser/Parser.h
M Source/JavaScriptCore/runtime/ArrayBuffer.cpp
M Source/JavaScriptCore/runtime/ArrayBufferView.cpp
M Source/JavaScriptCore/runtime/ArrayBufferView.h
M Source/JavaScriptCore/runtime/ArrayConstructor.cpp
M Source/JavaScriptCore/runtime/AtomicsObject.cpp
M Source/JavaScriptCore/runtime/CachedBytecode.cpp
M Source/JavaScriptCore/runtime/CachedBytecode.h
M Source/JavaScriptCore/runtime/ConcatKeyAtomStringCache.h
M Source/JavaScriptCore/runtime/ConcatKeyAtomStringCacheInlines.h
M Source/JavaScriptCore/runtime/InitializeThreading.cpp
M Source/JavaScriptCore/runtime/InitializeThreading.h
M Source/JavaScriptCore/runtime/JSBigInt.cpp
M Source/JavaScriptCore/runtime/JSBigInt.h
M Source/JavaScriptCore/runtime/JSBoundFunction.h
M Source/JavaScriptCore/runtime/JSBoundFunctionInlines.h
M Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h
M Source/JavaScriptCore/runtime/JSObject.h
M Source/JavaScriptCore/runtime/JSObjectInlines.h
M Source/JavaScriptCore/runtime/JSOrderedHashTable.h
M Source/JavaScriptCore/runtime/JSOrderedHashTableHelper.h
M Source/JavaScriptCore/runtime/JSString.cpp
M Source/JavaScriptCore/runtime/JSString.h
M Source/JavaScriptCore/runtime/KeyAtomStringCache.h
M Source/JavaScriptCore/runtime/KeyAtomStringCacheInlines.h
M Source/JavaScriptCore/runtime/MarkedVector.h
M Source/JavaScriptCore/runtime/ModuleGraphLoadingState.h
M Source/JavaScriptCore/runtime/Operations.h
M Source/JavaScriptCore/runtime/OperationsInlines.h
M Source/JavaScriptCore/runtime/Options.cpp
M Source/JavaScriptCore/runtime/Options.h
M Source/JavaScriptCore/runtime/PropertyTable.cpp
M Source/JavaScriptCore/runtime/PropertyTable.h
M Source/JavaScriptCore/runtime/RegExpObjectInlines.h
M Source/JavaScriptCore/runtime/RegExpPrototype.cpp
M Source/JavaScriptCore/runtime/SideDataRepository.h
M Source/JavaScriptCore/runtime/StableSort.h
M Source/JavaScriptCore/runtime/Structure.cpp
M Source/JavaScriptCore/runtime/Structure.h
M Source/JavaScriptCore/runtime/StructureInlines.h
M Source/JavaScriptCore/runtime/VM.cpp
M Source/JavaScriptCore/runtime/VM.h
M Source/JavaScriptCore/runtime/VMInlines.h
M Source/JavaScriptCore/runtime/VMManager.cpp
M Source/JavaScriptCore/runtime/VMManager.h
M Source/JavaScriptCore/runtime/WaiterListManager.h
M Source/JavaScriptCore/runtime/WeakGCMap.h
M Source/JavaScriptCore/runtime/WeakGCSet.h
M Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.cpp
M Source/JavaScriptCore/runtime/temporal/core/TimeZoneICUBridge.cpp
M Source/JavaScriptCore/tools/HeapVerifier.cpp
M Source/JavaScriptCore/tools/HeapVerifier.h
M Source/JavaScriptCore/wasm/WasmBBQJIT.h
M Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp
M Source/JavaScriptCore/wasm/WasmBBQJIT64.h
M Source/JavaScriptCore/wasm/WasmCallee.cpp
M Source/JavaScriptCore/wasm/WasmCallee.h
M Source/JavaScriptCore/wasm/WasmMemory.cpp
M Source/JavaScriptCore/wasm/WasmOpcodeCounter.cpp
M Source/JavaScriptCore/wasm/WasmOpcodeCounter.h
M Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp
M Source/JavaScriptCore/wasm/WasmTypeDefinition.h
M Source/JavaScriptCore/wasm/WasmTypeDefinitionInlines.h
Log Message:
-----------
[JSC] Mark non-escaping lambda parameters as NOESCAPE
https://bugs.webkit.org/show_bug.cgi?id=325622
Reviewed by Yusuke Suzuki.
Annotate callable parameters that are only invoked synchronously and never
stored with NOESCAPE, so that safer-cpp's UncountedLambdaCapturesChecker no
longer requires call sites to protect variables captured by these lambdas.
Also take NOESCAPE callables by const reference instead of rvalue reference,
since they are not a transfer of ownership.
* Source/JavaScriptCore/*:
Canonical link: https://commits.webkit.org/322228@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications