summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2021-02-23 20:42:32 +0100
committerAndreas Kling <kling@serenityos.org>2021-02-23 20:56:54 +0100
commit5d180d1f996ead27f9c5cb3db7f91e293de34d9d (patch)
treee881854dac5d749518562970d6194a0ef65736ec
parentb33a6a443e700cd80325d312f21c985b0687bb97 (diff)
downloadserenity-5d180d1f996ead27f9c5cb3db7f91e293de34d9d.zip
Everywhere: Rename ASSERT => VERIFY
(...and ASSERT_NOT_REACHED => VERIFY_NOT_REACHED) Since all of these checks are done in release builds as well, let's rename them to VERIFY to prevent confusion, as everyone is used to assertions being compiled out in release. We can introduce a new ASSERT macro that is specifically for debug checks, but I'm doing this wholesale conversion first since we've accumulated thousands of these already, and it's not immediately obvious which ones are suitable for ASSERT.
-rw-r--r--AK/Array.h4
-rw-r--r--AK/Assertions.h6
-rw-r--r--AK/Bitmap.h30
-rw-r--r--AK/ByteBuffer.h18
-rw-r--r--AK/Checked.h4
-rw-r--r--AK/CheckedFormatString.h2
-rw-r--r--AK/CircularDeque.h2
-rw-r--r--AK/CircularDuplexStream.h4
-rw-r--r--AK/CircularQueue.h2
-rw-r--r--AK/DoublyLinkedList.h30
-rw-r--r--AK/FlyString.cpp6
-rw-r--r--AK/Format.cpp48
-rw-r--r--AK/Format.h2
-rw-r--r--AK/Function.h2
-rw-r--r--AK/GenericLexer.cpp4
-rw-r--r--AK/HashTable.h10
-rw-r--r--AK/IDAllocator.h2
-rw-r--r--AK/IPv4Address.h2
-rw-r--r--AK/InlineLinkedList.h48
-rw-r--r--AK/IntrusiveList.h2
-rw-r--r--AK/JsonArraySerializer.h2
-rw-r--r--AK/JsonObject.h2
-rw-r--r--AK/JsonObjectSerializer.h2
-rw-r--r--AK/JsonPath.cpp2
-rw-r--r--AK/JsonPath.h4
-rw-r--r--AK/JsonValue.cpp2
-rw-r--r--AK/JsonValue.h18
-rw-r--r--AK/MACAddress.h4
-rw-r--r--AK/MappedFile.cpp2
-rw-r--r--AK/MemMem.h2
-rw-r--r--AK/MemoryStream.h4
-rw-r--r--AK/NonnullOwnPtr.h6
-rw-r--r--AK/NonnullRefPtr.h24
-rw-r--r--AK/Optional.h6
-rw-r--r--AK/OwnPtr.h14
-rw-r--r--AK/Queue.h4
-rw-r--r--AK/RefCounted.h10
-rw-r--r--AK/RefPtr.h26
-rw-r--r--AK/Singleton.h4
-rw-r--r--AK/SinglyLinkedList.h12
-rw-r--r--AK/SourceGenerator.h4
-rw-r--r--AK/Span.h14
-rw-r--r--AK/StackInfo.cpp8
-rw-r--r--AK/StdLibExtras.h2
-rw-r--r--AK/Stream.h4
-rw-r--r--AK/String.cpp18
-rw-r--r--AK/StringBuilder.cpp4
-rw-r--r--AK/StringImpl.cpp4
-rw-r--r--AK/StringImpl.h2
-rw-r--r--AK/StringView.cpp14
-rw-r--r--AK/StringView.h4
-rw-r--r--AK/TestSuite.h12
-rw-r--r--AK/Tests/TestFormat.cpp2
-rw-r--r--AK/Tests/TestJSON.cpp4
-rw-r--r--AK/Tests/TestUtf8.cpp4
-rw-r--r--AK/Time.cpp6
-rw-r--r--AK/TypeCasts.h4
-rw-r--r--AK/UUID.cpp2
-rw-r--r--AK/Utf32View.h16
-rw-r--r--AK/Utf8View.cpp22
-rw-r--r--AK/Vector.h22
-rw-r--r--AK/WeakPtr.h2
-rw-r--r--AK/Weakable.h2
-rw-r--r--Kernel/ACPI/DynamicParser.cpp14
-rw-r--r--Kernel/ACPI/MultiProcessorParser.cpp2
-rw-r--r--Kernel/ACPI/Parser.cpp42
-rw-r--r--Kernel/Arch/i386/CPU.cpp140
-rw-r--r--Kernel/Arch/i386/CPU.h14
-rw-r--r--Kernel/Arch/i386/ProcessorInfo.cpp2
-rw-r--r--Kernel/Assertions.h14
-rw-r--r--Kernel/CommandLine.cpp4
-rw-r--r--Kernel/DMI.cpp2
-rw-r--r--Kernel/Devices/AsyncDeviceRequest.cpp26
-rw-r--r--Kernel/Devices/AsyncDeviceRequest.h2
-rw-r--r--Kernel/Devices/BXVGADevice.cpp4
-rw-r--r--Kernel/Devices/BlockDevice.cpp4
-rw-r--r--Kernel/Devices/BlockDevice.h2
-rw-r--r--Kernel/Devices/Device.cpp6
-rw-r--r--Kernel/Devices/I8042Controller.cpp40
-rw-r--r--Kernel/Devices/I8042Controller.h2
-rw-r--r--Kernel/Devices/KeyboardDevice.cpp2
-rw-r--r--Kernel/Devices/PS2MouseDevice.cpp6
-rw-r--r--Kernel/Devices/SB16.cpp4
-rw-r--r--Kernel/Devices/USB/UHCIController.cpp4
-rw-r--r--Kernel/Devices/USB/UHCIDescriptorTypes.h4
-rw-r--r--Kernel/DoubleBuffer.cpp6
-rw-r--r--Kernel/DoubleBuffer.h2
-rw-r--r--Kernel/FileSystem/BlockBasedFileSystem.cpp32
-rw-r--r--Kernel/FileSystem/DevFS.cpp24
-rw-r--r--Kernel/FileSystem/DevPtsFS.cpp12
-rw-r--r--Kernel/FileSystem/Ext2FileSystem.cpp82
-rw-r--r--Kernel/FileSystem/FIFO.cpp4
-rw-r--r--Kernel/FileSystem/File.h6
-rw-r--r--Kernel/FileSystem/FileDescription.cpp6
-rw-r--r--Kernel/FileSystem/FileSystem.cpp2
-rw-r--r--Kernel/FileSystem/Inode.cpp16
-rw-r--r--Kernel/FileSystem/InodeFile.cpp12
-rw-r--r--Kernel/FileSystem/InodeWatcher.cpp2
-rw-r--r--Kernel/FileSystem/Plan9FileSystem.cpp26
-rw-r--r--Kernel/FileSystem/ProcFS.cpp52
-rw-r--r--Kernel/FileSystem/ProcFS.h8
-rw-r--r--Kernel/FileSystem/TmpFS.cpp30
-rw-r--r--Kernel/FileSystem/VirtualFileSystem.cpp8
-rw-r--r--Kernel/FutexQueue.cpp26
-rw-r--r--Kernel/Heap/Heap.h18
-rw-r--r--Kernel/Heap/SlabAllocator.cpp6
-rw-r--r--Kernel/Heap/kmalloc.cpp4
-rw-r--r--Kernel/IO.h6
-rw-r--r--Kernel/Interrupts/APIC.cpp28
-rw-r--r--Kernel/Interrupts/GenericInterruptHandler.cpp4
-rw-r--r--Kernel/Interrupts/IOAPIC.cpp44
-rw-r--r--Kernel/Interrupts/IRQHandler.cpp2
-rw-r--r--Kernel/Interrupts/InterruptManagement.cpp20
-rw-r--r--Kernel/Interrupts/PIC.cpp16
-rw-r--r--Kernel/Interrupts/SharedIRQHandler.cpp4
-rw-r--r--Kernel/Interrupts/SpuriousInterruptHandler.cpp4
-rw-r--r--Kernel/Interrupts/UnhandledInterruptHandler.h2
-rw-r--r--Kernel/KBuffer.h2
-rw-r--r--Kernel/KResult.h10
-rw-r--r--Kernel/KSyms.cpp4
-rw-r--r--Kernel/Lock.cpp86
-rw-r--r--Kernel/Lock.h4
-rw-r--r--Kernel/Net/E1000NetworkAdapter.cpp10
-rw-r--r--Kernel/Net/IPv4.h2
-rw-r--r--Kernel/Net/IPv4Socket.cpp16
-rw-r--r--Kernel/Net/LocalSocket.cpp26
-rw-r--r--Kernel/Net/NetworkAdapter.cpp2
-rw-r--r--Kernel/Net/NetworkTask.cpp8
-rw-r--r--Kernel/Net/Routing.cpp6
-rw-r--r--Kernel/Net/Socket.cpp4
-rw-r--r--Kernel/Net/TCPSocket.cpp16
-rw-r--r--Kernel/Net/UDPSocket.cpp6
-rw-r--r--Kernel/PCI/Access.cpp12
-rw-r--r--Kernel/PCI/MMIOAccess.cpp16
-rw-r--r--Kernel/PerformanceEventBuffer.cpp4
-rw-r--r--Kernel/Process.cpp40
-rw-r--r--Kernel/Process.h10
-rw-r--r--Kernel/Random.cpp6
-rw-r--r--Kernel/Random.h6
-rw-r--r--Kernel/Scheduler.cpp102
-rw-r--r--Kernel/SpinLock.h16
-rw-r--r--Kernel/StdLib.cpp18
-rw-r--r--Kernel/Storage/IDEChannel.cpp20
-rw-r--r--Kernel/Storage/IDEController.cpp6
-rw-r--r--Kernel/Storage/Partition/DiskPartitionMetadata.cpp12
-rw-r--r--Kernel/Storage/Partition/EBRPartitionTable.cpp6
-rw-r--r--Kernel/Storage/Partition/GUIDPartitionTable.cpp4
-rw-r--r--Kernel/Storage/RamdiskController.cpp4
-rw-r--r--Kernel/Storage/StorageDevice.cpp6
-rw-r--r--Kernel/Storage/StorageManagement.cpp12
-rw-r--r--Kernel/Syscall.cpp10
-rw-r--r--Kernel/Syscalls/execve.cpp54
-rw-r--r--Kernel/Syscalls/exit.cpp2
-rw-r--r--Kernel/Syscalls/futex.cpp20
-rw-r--r--Kernel/Syscalls/get_stack_bounds.cpp2
-rw-r--r--Kernel/Syscalls/kill.cpp4
-rw-r--r--Kernel/Syscalls/mmap.cpp4
-rw-r--r--Kernel/Syscalls/module.cpp6
-rw-r--r--Kernel/Syscalls/ptrace.cpp2
-rw-r--r--Kernel/Syscalls/select.cpp6
-rw-r--r--Kernel/Syscalls/socket.cpp4
-rw-r--r--Kernel/Syscalls/thread.cpp2
-rw-r--r--Kernel/Syscalls/unveil.cpp2
-rw-r--r--Kernel/Syscalls/waitid.cpp2
-rw-r--r--Kernel/Syscalls/write.cpp2
-rw-r--r--Kernel/TTY/VirtualConsole.cpp14
-rw-r--r--Kernel/Thread.cpp106
-rw-r--r--Kernel/Thread.h54
-rw-r--r--Kernel/ThreadBlockers.cpp72
-rw-r--r--Kernel/ThreadTracer.h2
-rw-r--r--Kernel/Time/APICTimer.cpp8
-rw-r--r--Kernel/Time/HPET.cpp44
-rw-r--r--Kernel/Time/HPETComparator.cpp10
-rw-r--r--Kernel/Time/PIT.cpp10
-rw-r--r--Kernel/Time/RTC.cpp6
-rw-r--r--Kernel/Time/TimeManagement.cpp28
-rw-r--r--Kernel/TimerQueue.cpp16
-rw-r--r--Kernel/TimerQueue.h4
-rw-r--r--Kernel/UserOrKernelBuffer.h8
-rw-r--r--Kernel/VM/AnonymousVMObject.cpp46
-rw-r--r--Kernel/VM/AnonymousVMObject.h2
-rw-r--r--Kernel/VM/ContiguousVMObject.cpp2
-rw-r--r--Kernel/VM/InodeVMObject.cpp4
-rw-r--r--Kernel/VM/MemoryManager.cpp86
-rw-r--r--Kernel/VM/MemoryManager.h2
-rw-r--r--Kernel/VM/PageDirectory.cpp10
-rw-r--r--Kernel/VM/PhysicalPage.cpp2
-rw-r--r--Kernel/VM/PhysicalRegion.cpp30
-rw-r--r--Kernel/VM/ProcessPagingScope.cpp2
-rw-r--r--Kernel/VM/PurgeablePageRanges.cpp14
-rw-r--r--Kernel/VM/PurgeablePageRanges.h4
-rw-r--r--Kernel/VM/RangeAllocator.cpp38
-rw-r--r--Kernel/VM/Region.cpp58
-rw-r--r--Kernel/VM/Region.h4
-rw-r--r--Kernel/VM/Space.cpp8
-rw-r--r--Kernel/VM/VMObject.cpp2
-rw-r--r--Kernel/WaitQueue.cpp20
-rw-r--r--Kernel/init.cpp10
-rw-r--r--Meta/Lagom/Fuzzers/FuzzHttpRequest.cpp2
-rw-r--r--Meta/Lagom/Fuzzers/FuzzilliJs.cpp20
-rw-r--r--Meta/Lagom/TestJson.cpp2
-rw-r--r--Userland/Applications/Browser/DownloadWidget.cpp4
-rw-r--r--Userland/Applications/Browser/History.cpp4
-rw-r--r--Userland/Applications/Browser/Tab.cpp2
-rw-r--r--Userland/Applications/Browser/WindowActions.cpp4
-rw-r--r--Userland/Applications/Browser/main.cpp2
-rw-r--r--Userland/Applications/Calculator/Calculator.cpp4
-rw-r--r--Userland/Applications/Calculator/Keypad.cpp14
-rw-r--r--Userland/Applications/Calendar/AddEventDialog.cpp4
-rw-r--r--Userland/Applications/Debugger/main.cpp2
-rw-r--r--Userland/Applications/DisplaySettings/MonitorWidget.cpp2
-rw-r--r--Userland/Applications/FileManager/DirectoryView.cpp6
-rw-r--r--Userland/Applications/FileManager/DirectoryView.h2
-rw-r--r--Userland/Applications/FileManager/PropertiesWindow.cpp4
-rw-r--r--Userland/Applications/FileManager/main.cpp10
-rw-r--r--Userland/Applications/Help/History.cpp4
-rw-r--r--Userland/Applications/Help/ManualModel.cpp4
-rw-r--r--Userland/Applications/Help/main.cpp2
-rw-r--r--Userland/Applications/HexEditor/FindDialog.cpp2
-rw-r--r--Userland/Applications/HexEditor/HexEditor.cpp8
-rw-r--r--Userland/Applications/IRCClient/IRCAppWindow.cpp4
-rw-r--r--Userland/Applications/IRCClient/IRCChannelMemberListModel.cpp2
-rw-r--r--Userland/Applications/IRCClient/IRCClient.cpp4
-rw-r--r--Userland/Applications/IRCClient/IRCClient.h2
-rw-r--r--Userland/Applications/IRCClient/IRCWindowListModel.cpp2
-rw-r--r--Userland/Applications/KeyboardMapper/KeyboardMapperWidget.cpp12
-rw-r--r--Userland/Applications/KeyboardSettings/CharacterMapFileListModel.h4
-rw-r--r--Userland/Applications/KeyboardSettings/main.cpp8
-rw-r--r--Userland/Applications/Piano/KeysWidget.cpp2
-rw-r--r--Userland/Applications/Piano/KnobsWidget.cpp14
-rw-r--r--Userland/Applications/Piano/Track.cpp28
-rw-r--r--Userland/Applications/PixelPaint/BucketTool.cpp2
-rw-r--r--Userland/Applications/PixelPaint/EllipseTool.cpp2
-rw-r--r--Userland/Applications/PixelPaint/Image.cpp12
-rw-r--r--Userland/Applications/PixelPaint/ImageEditor.cpp4
-rw-r--r--Userland/Applications/PixelPaint/LayerListWidget.cpp4
-rw-r--r--Userland/Applications/PixelPaint/RectangleTool.cpp2
-rw-r--r--Userland/Applications/PixelPaint/SprayTool.cpp2
-rw-r--r--Userland/Applications/PixelPaint/main.cpp6
-rw-r--r--Userland/Applications/SpaceAnalyzer/main.cpp8
-rw-r--r--Userland/Applications/Spreadsheet/Cell.cpp2
-rw-r--r--Userland/Applications/Spreadsheet/CellType/Type.cpp2
-rw-r--r--Userland/Applications/Spreadsheet/CellTypeDialog.cpp12
-rw-r--r--Userland/Applications/Spreadsheet/HelpWindow.cpp8
-rw-r--r--Userland/Applications/Spreadsheet/Readers/XSV.cpp6
-rw-r--r--Userland/Applications/Spreadsheet/Readers/XSV.h2
-rw-r--r--Userland/Applications/Spreadsheet/Spreadsheet.cpp6
-rw-r--r--Userland/Applications/Spreadsheet/Spreadsheet.h4
-rw-r--r--Userland/Applications/Spreadsheet/SpreadsheetModel.cpp2
-rw-r--r--Userland/Applications/Spreadsheet/SpreadsheetView.cpp2
-rw-r--r--Userland/Applications/Spreadsheet/SpreadsheetWidget.cpp4
-rw-r--r--Userland/Applications/Spreadsheet/Writers/XSV.h2
-rw-r--r--Userland/Applications/Spreadsheet/main.cpp4
-rw-r--r--Userland/Applications/SystemMonitor/DevicesModel.cpp18
-rw-r--r--Userland/Applications/SystemMonitor/GraphWidget.cpp6
-rw-r--r--Userland/Applications/SystemMonitor/MemoryStatsWidget.cpp6
-rw-r--r--Userland/Applications/SystemMonitor/ProcessMemoryMapWidget.cpp2
-rw-r--r--Userland/Applications/SystemMonitor/ProcessModel.cpp14
-rw-r--r--Userland/Applications/Terminal/main.cpp2
-rw-r--r--Userland/Demos/CatDog/main.cpp4
-rw-r--r--Userland/Demos/Eyes/EyesWidget.cpp6
-rw-r--r--Userland/Demos/LibGfxScaleDemo/main.cpp2
-rw-r--r--Userland/Demos/WidgetGallery/main.cpp4
-rw-r--r--Userland/DevTools/HackStudio/Debugger/BacktraceModel.cpp2
-rw-r--r--Userland/DevTools/HackStudio/Debugger/Debugger.cpp30
-rw-r--r--Userland/DevTools/HackStudio/Debugger/DisassemblyModel.cpp4
-rw-r--r--Userland/DevTools/HackStudio/Debugger/RegistersModel.cpp2
-rw-r--r--Userland/DevTools/HackStudio/Debugger/VariablesModel.cpp16
-rw-r--r--Userland/DevTools/HackStudio/Dialogs/NewProjectDialog.cpp2
-rw-r--r--Userland/DevTools/HackStudio/Dialogs/ProjectTemplatesModel.cpp2
-rw-r--r--Userland/DevTools/HackStudio/Editor.cpp6
-rw-r--r--Userland/DevTools/HackStudio/FindInFilesWidget.cpp2
-rw-r--r--Userland/DevTools/HackStudio/FormEditorWidget.h2
-rw-r--r--Userland/DevTools/HackStudio/Git/DiffViewer.cpp2
-rw-r--r--Userland/DevTools/HackStudio/Git/GitFilesView.cpp2
-rw-r--r--Userland/DevTools/HackStudio/Git/GitRepo.cpp2
-rw-r--r--Userland/DevTools/HackStudio/Git/GitWidget.cpp12
-rw-r--r--Userland/DevTools/HackStudio/HackStudioWidget.cpp12
-rw-r--r--Userland/DevTools/HackStudio/LanguageClient.cpp2
-rw-r--r--Userland/DevTools/HackStudio/LanguageClient.h4
-rw-r--r--Userland/DevTools/HackStudio/LanguageServers/Cpp/FileDB.cpp2
-rw-r--r--Userland/DevTools/HackStudio/LanguageServers/Cpp/LexerAutoComplete.cpp4
-rw-r--r--Userland/DevTools/HackStudio/LanguageServers/Cpp/ParserAutoComplete.cpp10
-rw-r--r--Userland/DevTools/HackStudio/TerminalWrapper.cpp14
-rw-r--r--Userland/DevTools/HackStudio/WidgetTreeModel.cpp2
-rw-r--r--Userland/DevTools/IPCCompiler/main.cpp4
-rw-r--r--Userland/DevTools/Inspector/RemoteObjectGraphModel.cpp4
-rw-r--r--Userland/DevTools/Inspector/RemoteObjectPropertyModel.cpp2
-rw-r--r--Userland/DevTools/Inspector/RemoteProcess.cpp10
-rw-r--r--Userland/DevTools/Profiler/DisassemblyModel.cpp8
-rw-r--r--Userland/DevTools/Profiler/Profile.h2
-rw-r--r--Userland/DevTools/Profiler/ProfileModel.cpp6
-rw-r--r--Userland/DevTools/UserspaceEmulator/Emulator.cpp28
-rw-r--r--Userland/DevTools/UserspaceEmulator/MallocTracer.cpp20
-rw-r--r--Userland/DevTools/UserspaceEmulator/MallocTracer.h2
-rw-r--r--Userland/DevTools/UserspaceEmulator/MmapRegion.cpp22
-rw-r--r--Userland/DevTools/UserspaceEmulator/Range.cpp2
-rw-r--r--Userland/DevTools/UserspaceEmulator/RangeAllocator.cpp32
-rw-r--r--Userland/DevTools/UserspaceEmulator/SimpleRegion.cpp16
-rw-r--r--Userland/DevTools/UserspaceEmulator/SoftCPU.cpp100
-rw-r--r--Userland/DevTools/UserspaceEmulator/SoftCPU.h10
-rw-r--r--Userland/DevTools/UserspaceEmulator/SoftMMU.cpp4
-rw-r--r--Userland/DynamicLoader/main.cpp8
-rw-r--r--Userland/Games/2048/BoardView.cpp2
-rw-r--r--Userland/Games/Chess/ChessWidget.cpp6
-rw-r--r--Userland/Games/Chess/Engine.cpp6
-rw-r--r--Userland/Games/Conway/Game.cpp2
-rw-r--r--Userland/Games/Minesweeper/Field.cpp4
-rw-r--r--Userland/Games/Solitaire/Card.cpp8
-rw-r--r--Userland/Games/Solitaire/CardStack.cpp10
-rw-r--r--Userland/Games/Solitaire/SolitaireWidget.cpp2
-rw-r--r--Userland/Games/Solitaire/SolitaireWidget.h2
-rw-r--r--Userland/Libraries/LibAudio/Buffer.cpp6
-rw-r--r--Userland/Libraries/LibAudio/WavLoader.cpp10
-rw-r--r--Userland/Libraries/LibAudio/WavWriter.cpp2
-rw-r--r--Userland/Libraries/LibC/assert.h8
-rw-r--r--Userland/Libraries/LibC/cxxabi.cpp2
-rw-r--r--Userland/Libraries/LibC/dirent.cpp2
-rw-r--r--Userland/Libraries/LibC/dlfcn.cpp2
-rw-r--r--Userland/Libraries/LibC/getopt.cpp14
-rw-r--r--Userland/Libraries/LibC/libgen.cpp4
-rw-r--r--Userland/Libraries/LibC/malloc.cpp18
-rw-r--r--Userland/Libraries/LibC/netdb.cpp26
-rw-r--r--Userland/Libraries/LibC/pwd.cpp2
-rw-r--r--Userland/Libraries/LibC/qsort.cpp2
-rw-r--r--Userland/Libraries/LibC/scanf.cpp12
-rw-r--r--Userland/Libraries/LibC/semaphore.cpp18
-rw-r--r--Userland/Libraries/LibC/signal.cpp2
-rw-r--r--Userland/Libraries/LibC/stdio.cpp80
-rw-r--r--Userland/Libraries/LibC/stdlib.cpp12
-rw-r--r--Userland/Libraries/LibC/sys/wait.cpp2
-rw-r--r--Userland/Libraries/LibC/syslog.cpp2
-rw-r--r--Userland/Libraries/LibC/termcap.cpp2
-rw-r--r--Userland/Libraries/LibC/time.cpp2
-rw-r--r--Userland/Libraries/LibC/unistd.cpp6
-rw-r--r--Userland/Libraries/LibChess/Chess.cpp24
-rw-r--r--Userland/Libraries/LibChess/UCICommand.cpp74
-rw-r--r--Userland/Libraries/LibChess/UCIEndpoint.cpp2
-rw-r--r--Userland/Libraries/LibCompress/Deflate.cpp10
-rw-r--r--Userland/Libraries/LibCompress/Zlib.cpp8
-rw-r--r--Userland/Libraries/LibCore/Account.cpp20
-rw-r--r--Userland/Libraries/LibCore/AnonymousBuffer.cpp4
-rw-r--r--Userland/Libraries/LibCore/ArgsParser.cpp8
-rw-r--r--Userland/Libraries/LibCore/Command.cpp8
-rw-r--r--Userland/Libraries/LibCore/ElapsedTimer.cpp2
-rw-r--r--Userland/Libraries/LibCore/EventLoop.cpp42
-rw-r--r--Userland/Libraries/LibCore/File.cpp6
-rw-r--r--Userland/Libraries/LibCore/FileStream.h8
-rw-r--r--Userland/Libraries/LibCore/FileWatcher.cpp2
-rw-r--r--Userland/Libraries/LibCore/GetPassword.cpp2
-rw-r--r--Userland/Libraries/LibCore/Gzip.cpp6
-rw-r--r--Userland/Libraries/LibCore/IODeviceStreamReader.h2
-rw-r--r--Userland/Libraries/LibCore/LocalServer.cpp6
-rw-r--r--Userland/Libraries/LibCore/NetworkJob.cpp4
-rw-r--r--Userland/Libraries/LibCore/Object.cpp14
-rw-r--r--Userland/Libraries/LibCore/Socket.cpp20
-rw-r--r--Userland/Libraries/LibCore/Socket.h2
-rw-r--r--Userland/Libraries/LibCore/SocketAddress.h4
-rw-r--r--Userland/Libraries/LibCore/SyscallUtils.h2
-rw-r--r--Userland/Libraries/LibCore/TCPServer.cpp4
-rw-r--r--Userland/Libraries/LibCore/UDPServer.cpp2
-rw-r--r--Userland/Libraries/LibCoreDump/Reader.cpp8
-rw-r--r--Userland/Libraries/LibCpp/AST.cpp6
-rw-r--r--Userland/Libraries/LibCpp/AST.h4
-rw-r--r--Userland/Libraries/LibCpp/Lexer.cpp6
-rw-r--r--Userland/Libraries/LibCpp/Lexer.h2
-rw-r--r--Userland/Libraries/LibCpp/Parser.cpp20
-rw-r--r--Userland/Libraries/LibCpp/Preprocessor.cpp6
-rw-r--r--Userland/Libraries/LibCrypto/ASN1/PEM.cpp2
-rw-r--r--Userland/Libraries/LibCrypto/BigInt/SignedBigInteger.cpp2
-rw-r--r--Userland/Libraries/LibCrypto/BigInt/UnsignedBigInteger.cpp10
-rw-r--r--Userland/Libraries/LibCrypto/Cipher/AES.cpp10
-rw-r--r--Userland/Libraries/LibCrypto/Cipher/Cipher.h6
-rw-r--r--Userland/Libraries/LibCrypto/Cipher/Mode/CBC.h12
-rw-r--r--Userland/Libraries/LibCrypto/Cipher/Mode/CTR.h8
-rw-r--r--Userland/Libraries/LibCrypto/Cipher/Mode/GCM.h2
-rw-r--r--Userland/Libraries/LibCrypto/Cipher/Mode/Mode.h2
-rw-r--r--Userland/Libraries/LibCrypto/Hash/HashManager.h8
-rw-r--r--Userland/Libraries/LibCrypto/Hash/MD5.cpp2
-rw-r--r--Userland/Libraries/LibCrypto/NumberTheory/ModularFunctions.cpp12
-rw-r--r--Userland/Libraries/LibCrypto/PK/RSA.cpp6
-rw-r--r--Userland/Libraries/LibDebug/DebugInfo.cpp14
-rw-r--r--Userland/Libraries/LibDebug/DebugSession.cpp26
-rw-r--r--Userland/Libraries/LibDebug/DebugSession.h2
-rw-r--r--Userland/Libraries/LibDebug/Dwarf/DIE.cpp36
-rw-r--r--Userland/Libraries/LibDebug/Dwarf/DwarfInfo.cpp4
-rw-r--r--Userland/Libraries/LibDebug/Dwarf/Expression.cpp4
-rw-r--r--Userland/Libraries/LibDebug/Dwarf/LineProgram.cpp16
-rw-r--r--Userland/Libraries/LibDesktop/AppFile.cpp4
-rw-r--r--Userland/Libraries/LibDesktop/Launcher.cpp4
-rw-r--r--Userland/Libraries/LibDiff/Hunks.cpp6
-rw-r--r--Userland/Libraries/LibELF/DynamicLinker.cpp24
-rw-r--r--Userland/Libraries/LibELF/DynamicLoader.cpp56
-rw-r--r--Userland/Libraries/LibELF/DynamicObject.cpp14
-rw-r--r--Userland/Libraries/LibELF/Image.cpp42
-rw-r--r--Userland/Libraries/LibELF/Validation.cpp2
-rw-r--r--Userland/Libraries/LibGUI/AbstractSlider.cpp2
-rw-r--r--Userland/Libraries/LibGUI/AbstractView.cpp14
-rw-r--r--Userland/Libraries/LibGUI/Action.h2
-rw-r--r--Userland/Libraries/LibGUI/Application.cpp4
-rw-r--r--Userland/Libraries/LibGUI/AutocompleteProvider.cpp2
-rw-r--r--Userland/Libraries/LibGUI/AutocompleteProvider.h2
-rw-r--r--Userland/Libraries/LibGUI/BreadcrumbBar.cpp2
-rw-r--r--Userland/Libraries/LibGUI/ColumnsView.cpp10
-rw-r--r--Userland/Libraries/LibGUI/ComboBox.cpp2
-rw-r--r--Userland/Libraries/LibGUI/Dialog.cpp2
-rw-r--r--Userland/Libraries/LibGUI/DisplayLink.cpp2
-rw-r--r--Userland/Libraries/LibGUI/DragOperation.cpp10
-rw-r--r--Userland/Libraries/LibGUI/EditingEngine.cpp14
-rw-r--r--Userland/Libraries/LibGUI/FileIconProvider.cpp2
-rw-r--r--Userland/Libraries/LibGUI/FilePicker.cpp2
-rw-r--r--Userland/Libraries/LibGUI/FileSystemModel.cpp18
-rw-r--r--Userland/Libraries/LibGUI/FontPicker.cpp2
-rw-r--r--Userland/Libraries/LibGUI/GMLFormatter.cpp2
-rw-r--r--Userland/Libraries/LibGUI/GMLLexer.cpp2
-rw-r--r--Userland/Libraries/LibGUI/GMLLexer.h2
-rw-r--r--Userland/Libraries/LibGUI/HeaderView.cpp4
-rw-r--r--Userland/Libraries/LibGUI/INILexer.cpp2
-rw-r--r--Userland/Libraries/LibGUI/INILexer.h2
-rw-r--r--Userland/Libraries/LibGUI/Icon.cpp4
-rw-r--r--Userland/Libraries/LibGUI/IconView.cpp10
-rw-r--r--Userland/Libraries/LibGUI/IconView.h6
-rw-r--r--Userland/Libraries/LibGUI/ImageWidget.cpp2
-rw-r--r--Userland/Libraries/LibGUI/JsonArrayModel.cpp6
-rw-r--r--Userland/Libraries/LibGUI/Layout.cpp4
-rw-r--r--Userland/Libraries/LibGUI/LazyWidget.cpp2
-rw-r--r--Userland/Libraries/LibGUI/ListView.cpp2
-rw-r--r--Userland/Libraries/LibGUI/Menu.cpp2
-rw-r--r--Userland/Libraries/LibGUI/MenuBar.cpp6
-rw-r--r--Userland/Libraries/LibGUI/MenuItem.cpp4
-rw-r--r--Userland/Libraries/LibGUI/ModelIndex.cpp2
-rw-r--r--Userland/Libraries/LibGUI/ModelSelection.cpp8
-rw-r--r--Userland/Libraries/LibGUI/MultiView.cpp2
-rw-r--r--Userland/Libraries/LibGUI/MultiView.h2
-rw-r--r--Userland/Libraries/LibGUI/OpacitySlider.cpp2
-rw-r--r--Userland/Libraries/LibGUI/ProgressBar.cpp2
-rw-r--r--Userland/Libraries/LibGUI/RunningProcessesModel.cpp4
-rw-r--r--Userland/Libraries/LibGUI/ScrollBar.cpp6
-rw-r--r--Userland/Libraries/LibGUI/SortingProxyModel.cpp16
-rw-r--r--Userland/Libraries/LibGUI/SpinBox.cpp2
-rw-r--r--Userland/Libraries/LibGUI/TabWidget.cpp4
-rw-r--r--Userland/Libraries/LibGUI/TextDocument.cpp6
-rw-r--r--Userland/Libraries/LibGUI/TextEditor.cpp28
-rw-r--r--Userland/Libraries/LibGUI/TreeView.cpp6
-rw-r--r--Userland/Libraries/LibGUI/Variant.cpp16
-rw-r--r--Userland/Libraries/LibGUI/Variant.h22
-rw-r--r--Userland/Libraries/LibGUI/VimEditingEngine.cpp2
-rw-r--r--Userland/Libraries/LibGUI/Widget.cpp2
-rw-r--r--Userland/Libraries/LibGUI/Window.cpp30
-rw-r--r--Userland/Libraries/LibGUI/WindowServerConnection.cpp2
-rw-r--r--Userland/Libraries/LibGemini/GeminiJob.cpp4
-rw-r--r--Userland/Libraries/LibGemini/Job.cpp4
-rw-r--r--Userland/Libraries/LibGemini/Line.cpp2
-rw-r--r--Userland/Libraries/LibGfx/BMPLoader.cpp16
-rw-r--r--Userland/Libraries/LibGfx/BMPWriter.cpp2
-rw-r--r--Userland/Libraries/LibGfx/Bitmap.cpp46
-rw-r--r--Userland/Libraries/LibGfx/Bitmap.h24
-rw-r--r--Userland/Libraries/LibGfx/BitmapFont.cpp4
-rw-r--r--Userland/Libraries/LibGfx/BitmapFont.h2
-rw-r--r--Userland/Libraries/LibGfx/ClassicWindowTheme.cpp2
-rw-r--r--Userland/Libraries/LibGfx/Color.cpp8
-rw-r--r--Userland/Libraries/LibGfx/Color.h14
-rw-r--r--Userland/Libraries/LibGfx/Filters/GenericConvolutionFilter.h10
-rw-r--r--Userland/Libraries/LibGfx/FontDatabase.cpp8
-rw-r--r--Userland/Libraries/LibGfx/GIFLoader.cpp8
-rw-r--r--Userland/Libraries/LibGfx/ICOLoader.cpp2
-rw-r--r--Userland/Libraries/LibGfx/JPGLoader.cpp6
-rw-r--r--Userland/Libraries/LibGfx/Matrix.h2
-rw-r--r--Userland/Libraries/LibGfx/PBMLoader.cpp2
-rw-r--r--Userland/Libraries/LibGfx/PGMLoader.cpp2
-rw-r--r--Userland/Libraries/LibGfx/PNGLoader.cpp20
-rw-r--r--Userland/Libraries/LibGfx/PPMLoader.cpp2
-rw-r--r--Userland/Libraries/LibGfx/Painter.cpp70
-rw-r--r--Userland/Libraries/LibGfx/Painter.h2
-rw-r--r--Userland/Libraries/LibGfx/Palette.cpp4
-rw-r--r--Userland/Libraries/LibGfx/Palette.h2
-rw-r--r--Userland/Libraries/LibGfx/Path.cpp6
-rw-r--r--Userland/Libraries/LibGfx/Path.h4
-rw-r--r--Userland/Libraries/LibGfx/SystemTheme.cpp4
-rw-r--r--Userland/Libraries/LibGfx/SystemTheme.h2
-rw-r--r--Userland/Libraries/LibGfx/Typeface.cpp4
-rw-r--r--Userland/Libraries/LibHTTP/HttpJob.cpp2
-rw-r--r--Userland/Libraries/LibHTTP/HttpRequest.cpp4
-rw-r--r--Userland/Libraries/LibHTTP/HttpsJob.cpp4
-rw-r--r--Userland/Libraries/LibHTTP/Job.cpp10
-rw-r--r--Userland/Libraries/LibIPC/ClientConnection.h2
-rw-r--r--Userland/Libraries/LibIPC/Connection.h6
-rw-r--r--Userland/Libraries/LibIPC/Decoder.cpp2
-rw-r--r--Userland/Libraries/LibIPC/Decoder.h2
-rw-r--r--Userland/Libraries/LibIPC/Encoder.h2
-rw-r--r--Userland/Libraries/LibIPC/ServerConnection.h4
-rw-r--r--Userland/Libraries/LibJS/AST.cpp56
-rw-r--r--Userland/Libraries/LibJS/AST.h2
-rw-r--r--Userland/Libraries/LibJS/Heap/Allocator.cpp4
-rw-r--r--Userland/Libraries/LibJS/Heap/Heap.cpp14
-rw-r--r--Userland/Libraries/LibJS/Heap/HeapBlock.cpp14
-rw-r--r--Userland/Libraries/LibJS/Heap/HeapBlock.h2
-rw-r--r--Userland/Libraries/LibJS/Interpreter.cpp8
-rw-r--r--Userland/Libraries/LibJS/MarkupGenerator.cpp4
-rw-r--r--Userland/Libraries/LibJS/Parser.cpp14
-rw-r--r--Userland/Libraries/LibJS/Parser.h4
-rw-r--r--Userland/Libraries/LibJS/Runtime/ArrayIteratorPrototype.cpp2
-rw-r--r--Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp4
-rw-r--r--Userland/Libraries/LibJS/Runtime/BigInt.cpp2
-rw-r--r--Userland/Libraries/LibJS/Runtime/DateConstructor.cpp2
-rw-r--r--Userland/Libraries/LibJS/Runtime/Exception.cpp2
-rw-r--r--Userland/Libraries/LibJS/Runtime/IndexedProperties.cpp22
-rw-r--r--Userland/Libraries/LibJS/Runtime/IteratorOperations.cpp4
-rw-r--r--Userland/Libraries/LibJS/Runtime/JSONObject.cpp2
-rw-r--r--Userland/Libraries/LibJS/Runtime/LexicalEnvironment.cpp8
-rw-r--r--Userland/Libraries/LibJS/Runtime/Object.cpp34
-rw-r--r--Userland/Libraries/LibJS/Runtime/PropertyName.h22
-rw-r--r--Userland/Libraries/LibJS/Runtime/ProxyObject.cpp4
-rw-r--r--Userland/Libraries/LibJS/Runtime/Shape.cpp22
-rw-r--r--Userland/Libraries/LibJS/Runtime/StringOrSymbol.h12
-rw-r--r--Userland/Libraries/LibJS/Runtime/TypedArray.h4
-rw-r--r--Userland/Libraries/LibJS/Runtime/Uint8ClampedArray.cpp2
-rw-r--r--Userland/Libraries/LibJS/Runtime/VM.cpp16
-rw-r--r--Userland/Libraries/LibJS/Runtime/VM.h4
-rw-r--r--Userland/Libraries/LibJS/Runtime/Value.cpp32
-rw-r--r--Userland/Libraries/LibJS/Runtime/Value.h24
-rw-r--r--Userland/Libraries/LibJS/Token.cpp18
-rw-r--r--Userland/Libraries/LibLine/Editor.cpp2
-rw-r--r--Userland/Libraries/LibLine/Editor.h2
-rw-r--r--Userland/Libraries/LibLine/InternalFunctions.cpp4
-rw-r--r--Userland/Libraries/LibLine/KeyCallbackMachine.cpp2
-rw-r--r--Userland/Libraries/LibLine/SuggestionManager.cpp2
-rw-r--r--Userland/Libraries/LibLine/XtermSuggestionDisplay.cpp2
-rw-r--r--Userland/Libraries/LibM/math.cpp6
-rw-r--r--Userland/Libraries/LibMarkdown/Heading.h2
-rw-r--r--Userland/Libraries/LibMarkdown/List.cpp4
-rw-r--r--Userland/Libraries/LibMarkdown/Table.cpp4
-rw-r--r--Userland/Libraries/LibMarkdown/Text.cpp4
-rw-r--r--Userland/Libraries/LibPCIDB/Database.cpp4
-rw-r--r--Userland/Libraries/LibProtocol/Download.cpp8
-rw-r--r--Userland/Libraries/LibPthread/pthread.cpp16
-rw-r--r--Userland/Libraries/LibPthread/pthread_once.cpp4
-rw-r--r--Userland/Libraries/LibRegex/RegexByteCode.cpp28
-rw-r--r--Userland/Libraries/LibRegex/RegexByteCode.h22
-rw-r--r--Userland/Libraries/LibRegex/RegexLexer.cpp6
-rw-r--r--Userland/Libraries/LibRegex/RegexMatch.h4
-rw-r--r--Userland/Libraries/LibRegex/RegexMatcher.cpp6
-rw-r--r--Userland/Libraries/LibRegex/RegexParser.cpp20
-rw-r--r--Userland/Libraries/LibRegex/Tests/Benchmark.cpp2
-rw-r--r--Userland/Libraries/LibRegex/Tests/Regex.cpp2
-rw-r--r--Userland/Libraries/LibSyntax/Highlighter.cpp2
-rw-r--r--Userland/Libraries/LibTLS/ClientHandshake.cpp18
-rw-r--r--Userland/Libraries/LibTLS/Exchange.cpp2
-rw-r--r--Userland/Libraries/LibTLS/Handshake.cpp2
-rw-r--r--Userland/Libraries/LibTLS/Record.cpp16
-rw-r--r--Userland/Libraries/LibTLS/Socket.cpp4
-rw-r--r--Userland/Libraries/LibTLS/TLSPacketBuilder.h2
-rw-r--r--Userland/Libraries/LibTTF/Cmap.cpp10
-rw-r--r--Userland/Libraries/LibTTF/Font.cpp4
-rw-r--r--Userland/Libraries/LibTTF/Glyf.cpp12
-rw-r--r--Userland/Libraries/LibTTF/Glyf.h2
-rw-r--r--Userland/Libraries/LibTar/Tar.h2
-rw-r--r--Userland/Libraries/LibTar/TarStream.cpp16
-rw-r--r--Userland/Libraries/LibThread/BackgroundAction.cpp2
-rw-r--r--Userland/Libraries/LibThread/Lock.h4
-rw-r--r--Userland/Libraries/LibThread/Thread.cpp4
-rw-r--r--Userland/Libraries/LibVT/Line.cpp2
-rw-r--r--Userland/Libraries/LibVT/Terminal.cpp8
-rw-r--r--Userland/Libraries/LibVT/Terminal.h2
-rw-r--r--Userland/Libraries/LibVT/TerminalWidget.cpp8
-rw-r--r--Userland/Libraries/LibWeb/Bindings/WindowObject.cpp4
-rw-r--r--Userland/Libraries/LibWeb/Bindings/Wrappable.cpp2
-rw-r--r--Userland/Libraries/LibWeb/CSS/Length.cpp4
-rw-r--r--Userland/Libraries/LibWeb/CSS/Length.h2
-rw-r--r--Userland/Libraries/LibWeb/CSS/Parser/CSSParser.cpp12
-rw-r--r--Userland/Libraries/LibWeb/CSS/SelectorEngine.cpp14
-rw-r--r--Userland/Libraries/LibWeb/CSS/StyleResolver.cpp6
-rw-r--r--Userland/Libraries/LibWeb/CSS/StyleValue.cpp2
-rw-r--r--Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_PropertyID_cpp.cpp8
-rw-r--r--Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_PropertyID_h.cpp6
-rw-r--r--Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_ValueID_cpp.cpp4
-rw-r--r--Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_ValueID_h.cpp4
-rw-r--r--Userland/Libraries/LibWeb/CodeGenerators/WrapperGenerator.cpp2
-rw-r--r--Userland/Libraries/LibWeb/DOM/Document.cpp10
-rw-r--r--Userland/Libraries/LibWeb/DOM/Document.h6
-rw-r--r--Userland/Libraries/LibWeb/DOM/Element.cpp6
-rw-r--r--Userland/Libraries/LibWeb/DOM/EventDispatcher.cpp4
-rw-r--r--Userland/Libraries/LibWeb/DOM/EventListener.cpp2
-rw-r--r--Userland/Libraries/LibWeb/DOM/Node.cpp2
-rw-r--r--Userland/Libraries/LibWeb/DOM/Window.cpp2
-rw-r--r--Userland/Libraries/LibWeb/DOMTreeModel.cpp2
-rw-r--r--Userland/Libraries/LibWeb/HTML/GlobalEventHandlers.cpp2
-rw-r--r--Userland/Libraries/LibWeb/HTML/HTMLBodyElement.cpp2
-rw-r--r--Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp2
-rw-r--r--Userland/Libraries/LibWeb/HTML/HTMLElement.cpp4
-rw-r--r--Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.cpp2
-rw-r--r--Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp2
-rw-r--r--Userland/Libraries/LibWeb/HTML/HTMLScriptElement.cpp2
-rw-r--r--Userland/Libraries/LibWeb/HTML/Parser/HTMLDocumentParser.cpp56
-rw-r--r--Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.cpp2
-rw-r--r--Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.h20
-rw-r--r--Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp6
-rw-r--r--Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.h2
-rw-r--r--Userland/Libraries/LibWeb/HTML/Parser/StackOfOpenElements.cpp4
-rw-r--r--Userland/Libraries/LibWeb/InProcessWebView.cpp6
-rw-r--r--Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp6
-rw-r--r--Userland/Libraries/LibWeb/Layout/Box.cpp6
-rw-r--r--Userland/Libraries/LibWeb/Layout/FormattingContext.cpp2
-rw-r--r--Userland/Libraries/LibWeb/Layout/FrameBox.cpp4
-rw-r--r--Userland/Libraries/LibWeb/Layout/InitialContainingBlockBox.cpp4
-rw-r--r--Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp4
-rw-r--r--Userland/Libraries/LibWeb/Layout/LayoutPosition.cpp2
-rw-r--r--Userland/Libraries/LibWeb/Layout/Node.cpp10
-rw-r--r--Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp4
-rw-r--r--Userland/Libraries/LibWeb/LayoutTreeModel.cpp2
-rw-r--r--Userland/Libraries/LibWeb/Loader/FrameLoader.cpp8
-rw-r--r--Userland/Libraries/LibWeb/Loader/ImageLoader.cpp2
-rw-r--r--Userland/Libraries/LibWeb/Loader/Resource.cpp8
-rw-r--r--Userland/Libraries/LibWeb/OutOfProcessWebView.cpp4
-rw-r--r--Userland/Libraries/LibWeb/Page/Frame.cpp6
-rw-r--r--Userland/Libraries/LibWeb/Painting/StackingContext.cpp2
-rw-r--r--Userland/Libraries/LibWeb/SVG/SVGPathElement.cpp24
-rw-r--r--Userland/Libraries/LibWeb/StylePropertiesModel.cpp2
-rw-r--r--Userland/Libraries/LibWeb/TreeNode.h18
-rw-r--r--Userland/Libraries/LibWeb/WebContentClient.cpp2
-rw-r--r--Userland/Libraries/LibX86/Instruction.cpp18
-rw-r--r--Userland/Libraries/LibX86/Instruction.h18
-rw-r--r--Userland/MenuApplets/Audio/main.cpp2
-rw-r--r--Userland/MenuApplets/ClipboardHistory/ClipboardHistoryModel.cpp4
-rw-r--r--Userland/MenuApplets/ResourceGraph/main.cpp4
-rw-r--r--Userland/Services/AudioServer/Mixer.cpp4
-rw-r--r--Userland/Services/AudioServer/main.cpp2
-rw-r--r--Userland/Services/ChessEngine/ChessEngine.cpp6
-rw-r--r--Userland/Services/ChessEngine/MCTSTree.cpp10
-rw-r--r--Userland/Services/Clipboard/main.cpp2
-rw-r--r--Userland/Services/CrashDaemon/main.cpp4
-rw-r--r--Userland/Services/DHCPClient/DHCPv4.h4
-rw-r--r--Userland/Services/DHCPClient/DHCPv4Client.cpp4
-rw-r--r--Userland/Services/DHCPClient/main.cpp2
-rw-r--r--Userland/Services/LaunchServer/Launcher.cpp4
-rw-r--r--Userland/Services/LaunchServer/main.cpp2
-rw-r--r--Userland/Services/LookupServer/DNSPacket.cpp4
-rw-r--r--Userland/Services/LookupServer/DNSPacket.h4
-rw-r--r--Userland/Services/LookupServer/LookupServer.cpp6
-rw-r--r--Userland/Services/NotificationServer/main.cpp2
-rw-r--r--Userland/Services/ProtocolServer/ClientConnection.cpp2
-rw-r--r--Userland/Services/ProtocolServer/Protocol.cpp2
-rw-r--r--Userland/Services/ProtocolServer/main.cpp2
-rw-r--r--Userland/Services/SymbolServer/ClientConnection.cpp2
-rw-r--r--Userland/Services/SymbolServer/main.cpp2
-rw-r--r--Userland/Services/SystemMenu/main.cpp2
-rw-r--r--Userland/Services/SystemServer/Service.cpp58
-rw-r--r--Userland/Services/SystemServer/main.cpp24
-rw-r--r--Userland/Services/Taskbar/TaskbarButton.cpp2
-rw-r--r--Userland/Services/Taskbar/TaskbarWindow.cpp4
-rw-r--r--Userland/Services/TelnetServer/Client.cpp2
-rw-r--r--Userland/Services/TelnetServer/main.cpp2
-rw-r--r--Userland/Services/WebContent/PageHost.cpp2
-rw-r--r--Userland/Services/WebContent/main.cpp2
-rw-r--r--Userland/Services/WebServer/Client.cpp4
-rw-r--r--Userland/Services/WebServer/main.cpp2
-rw-r--r--Userland/Services/WindowServer/AppletManager.cpp2
-rw-r--r--Userland/Services/WindowServer/ClientConnection.cpp4
-rw-r--r--Userland/Services/WindowServer/Compositor.cpp22
-rw-r--r--Userland/Services/WindowServer/Cursor.cpp4
-rw-r--r--Userland/Services/WindowServer/EventLoop.cpp4
-rw-r--r--Userland/Services/WindowServer/Menu.cpp34
-rw-r--r--Userland/Services/WindowServer/MenuItem.cpp8
-rw-r--r--Userland/Services/WindowServer/MenuManager.cpp12
-rw-r--r--Userland/Services/WindowServer/Screen.cpp22
-rw-r--r--Userland/Services/WindowServer/Window.cpp22
-rw-r--r--Userland/Services/WindowServer/WindowFrame.cpp14
-rw-r--r--Userland/Services/WindowServer/WindowManager.cpp32
-rw-r--r--Userland/Services/WindowServer/WindowSwitcher.cpp8
-rw-r--r--Userland/Services/WindowServer/main.cpp4
-rw-r--r--Userland/Shell/AST.cpp36
-rw-r--r--Userland/Shell/AST.h12
-rw-r--r--Userland/Shell/Formatter.cpp4
-rw-r--r--Userland/Shell/Job.h4
-rw-r--r--Userland/Shell/Parser.cpp8
-rw-r--r--Userland/Shell/Parser.h4
-rw-r--r--Userland/Shell/Shell.cpp30
-rw-r--r--Userland/Shell/SyntaxHighlighter.cpp2
-rw-r--r--Userland/Tests/Kernel/bind-local-socket-to-symlink.cpp2
-rw-r--r--Userland/Tests/Kernel/fuzz-syscalls.cpp10
-rw-r--r--Userland/Tests/Kernel/kill-pidtid-confusion.cpp4
-rw-r--r--Userland/Tests/Kernel/setpgid-across-sessions-without-leader.cpp12
-rw-r--r--Userland/Tests/LibC/overlong_realpath.cpp6
-rw-r--r--Userland/Tests/LibC/scanf.cpp2
-rw-r--r--Userland/Tests/LibC/snprintf-correctness.cpp2
-rw-r--r--Userland/Tests/LibC/strlcpy-correctness.cpp2
-rw-r--r--Userland/Tests/UserspaceEmulator/write-oob.cpp4
-rw-r--r--Userland/Utilities/arp.cpp2
-rw-r--r--Userland/Utilities/base64.cpp4
-rw-r--r--Userland/Utilities/copy.cpp2
-rw-r--r--Userland/Utilities/crash.cpp6
-rw-r--r--Userland/Utilities/df.cpp2
-rw-r--r--Userland/Utilities/du.cpp2
-rw-r--r--Userland/Utilities/expr.cpp18
-rw-r--r--Userland/Utilities/fgrep.cpp2
-rw-r--r--Userland/Utilities/find.cpp6
-rw-r--r--Userland/Utilities/functrace.cpp2
-rw-r--r--Userland/Utilities/grep.cpp2
-rw-r--r--Userland/Utilities/gron.cpp2
-rw-r--r--Userland/Utilities/gunzip.cpp2
-rw-r--r--Userland/Utilities/ifconfig.cpp2
-rw-r--r--Userland/Utilities/js.cpp4
-rw-r--r--Userland/Utilities/ls.cpp4
-rw-r--r--Userland/Utilities/lsirq.cpp2
-rw-r--r--Userland/Utilities/lsof.cpp4
-rw-r--r--Userland/Utilities/lspci.cpp2
-rw-r--r--Userland/Utilities/man.cpp2
-rw-r--r--Userland/Utilities/mount.cpp2
-rw-r--r--Userland/Utilities/ntpquery.cpp12
-rw-r--r--Userland/Utilities/ping.cpp2
-rw-r--r--Userland/Utilities/pmap.cpp2
-rw-r--r--Userland/Utilities/printf.cpp2
-rw-r--r--Userland/Utilities/strace.cpp2
-rw-r--r--Userland/Utilities/syscall.cpp2
-rw-r--r--Userland/Utilities/tar.cpp4
-rw-r--r--Userland/Utilities/test-js.cpp20
-rw-r--r--Userland/Utilities/test-pthread.cpp2
-rw-r--r--Userland/Utilities/test-web.cpp20
-rw-r--r--Userland/Utilities/test.cpp8
-rw-r--r--Userland/Utilities/test_efault.cpp6
-rw-r--r--Userland/Utilities/test_env.cpp14
-rw-r--r--Userland/Utilities/test_io.cpp64
-rw-r--r--Userland/Utilities/unzip.cpp2
-rw-r--r--Userland/Utilities/utmpupdate.cpp2
-rw-r--r--Userland/Utilities/watch.cpp2
725 files changed, 3448 insertions, 3448 deletions
diff --git a/AK/Array.h b/AK/Array.h
index 815d1eaf4c..19e15f4e63 100644
--- a/AK/Array.h
+++ b/AK/Array.h
@@ -43,12 +43,12 @@ struct Array {
constexpr const T& at(size_t index) const
{
- ASSERT(index < size());
+ VERIFY(index < size());
return (*this)[index];
}
constexpr T& at(size_t index)
{
- ASSERT(index < size());
+ VERIFY(index < size());
return (*this)[index];
}
diff --git a/AK/Assertions.h b/AK/Assertions.h
index 352ab090e0..bd50e66efe 100644
--- a/AK/Assertions.h
+++ b/AK/Assertions.h
@@ -31,9 +31,9 @@
#else
# include <assert.h>
# ifndef __serenity__
-# define ASSERT assert
-# define ASSERT_NOT_REACHED() assert(false)
+# define VERIFY assert
+# define VERIFY_NOT_REACHED() assert(false)
# define RELEASE_ASSERT assert
-# define TODO ASSERT_NOT_REACHED
+# define TODO VERIFY_NOT_REACHED
# endif
#endif
diff --git a/AK/Bitmap.h b/AK/Bitmap.h
index a9129e3cd1..9c7a468829 100644
--- a/AK/Bitmap.h
+++ b/AK/Bitmap.h
@@ -85,12 +85,12 @@ public:
size_t size_in_bytes() const { return ceil_div(m_size, static_cast<size_t>(8)); }
bool get(size_t index) const
{
- ASSERT(index < m_size);
+ VERIFY(index < m_size);
return 0 != (m_data[index / 8] & (1u << (index % 8)));
}
void set(size_t index, bool value) const
{
- ASSERT(index < m_size);
+ VERIFY(index < m_size);
if (value)
m_data[index / 8] |= static_cast<u8>((1u << (index % 8)));
else
@@ -104,8 +104,8 @@ public:
size_t count_in_range(size_t start, size_t len, bool value) const
{
- ASSERT(start < m_size);
- ASSERT(start + len <= m_size);
+ VERIFY(start < m_size);
+ VERIFY(start + len <= m_size);
if (len == 0)
return 0;
@@ -153,8 +153,8 @@ public:
void grow(size_t size, bool default_value)
{
- ASSERT(m_owned);
- ASSERT(size > m_size);
+ VERIFY(m_owned);
+ VERIFY(size > m_size);
auto previous_size_bytes = size_in_bytes();
auto previous_size = m_size;
@@ -176,8 +176,8 @@ public:
template<bool VALUE>
void set_range(size_t start, size_t len)
{
- ASSERT(start < m_size);
- ASSERT(start + len <= m_size);
+ VERIFY(start < m_size);
+ VERIFY(start + len <= m_size);
if (len == 0)
return;
@@ -228,7 +228,7 @@ public:
template<bool VALUE>
Optional<size_t> find_one_anywhere(size_t hint = 0) const
{
- ASSERT(hint < m_size);
+ VERIFY(hint < m_size);
const u8* end = &m_data[m_size / 8];
for (;;) {
@@ -249,7 +249,7 @@ public:
byte = m_data[i];
if constexpr (!VALUE)
byte = ~byte;
- ASSERT(byte != 0);
+ VERIFY(byte != 0);
return i * 8 + __builtin_ffs(byte) - 1;
}
}
@@ -264,7 +264,7 @@ public:
u8 byte = VALUE ? 0x00 : 0xff;
size_t i = (const u8*)ptr32 - &m_data[0];
size_t byte_count = m_size / 8;
- ASSERT(i <= byte_count);
+ VERIFY(i <= byte_count);
while (i < byte_count && m_data[i] == byte)
i++;
if (i == byte_count) {
@@ -279,7 +279,7 @@ public:
byte = m_data[i];
if constexpr (!VALUE)
byte = ~byte;
- ASSERT(byte != 0);
+ VERIFY(byte != 0);
return i * 8 + __builtin_ffs(byte) - 1;
}
@@ -288,7 +288,7 @@ public:
val32 = *ptr32;
if constexpr (!VALUE)
val32 = ~val32;
- ASSERT(val32 != 0);
+ VERIFY(val32 != 0);
return ((const u8*)ptr32 - &m_data[0]) * 8 + __builtin_ffsl(val32) - 1;
}
}
@@ -317,7 +317,7 @@ public:
byte = m_data[i];
if constexpr (!VALUE)
byte = ~byte;
- ASSERT(byte != 0);
+ VERIFY(byte != 0);
return i * 8 + __builtin_ffs(byte) - 1;
}
@@ -509,7 +509,7 @@ public:
: m_size(size)
, m_owned(true)
{
- ASSERT(m_size != 0);
+ VERIFY(m_size != 0);
m_data = reinterpret_cast<u8*>(kmalloc(size_in_bytes()));
fill(default_value);
}
diff --git a/AK/ByteBuffer.h b/AK/ByteBuffer.h
index feabaeaa4c..65ba418f4a 100644
--- a/AK/ByteBuffer.h
+++ b/AK/ByteBuffer.h
@@ -54,12 +54,12 @@ public:
u8& operator[](size_t i)
{
- ASSERT(i < m_size);
+ VERIFY(i < m_size);
return m_data[i];
}
const u8& operator[](size_t i) const
{
- ASSERT(i < m_size);
+ VERIFY(i < m_size);
return m_data[i];
}
bool is_empty() const { return !m_size; }
@@ -83,7 +83,7 @@ public:
// NOTE: trim() does not reallocate.
void trim(size_t size)
{
- ASSERT(size <= m_size);
+ VERIFY(size <= m_size);
m_size = size;
}
@@ -145,12 +145,12 @@ public:
u8& operator[](size_t i)
{
- ASSERT(m_impl);
+ VERIFY(m_impl);
return (*m_impl)[i];
}
u8 operator[](size_t i) const
{
- ASSERT(m_impl);
+ VERIFY(m_impl);
return (*m_impl)[i];
}
bool is_empty() const { return !m_impl || m_impl->is_empty(); }
@@ -215,7 +215,7 @@ public:
return {};
// I cannot hand you a slice I don't have
- ASSERT(offset + size <= this->size());
+ VERIFY(offset + size <= this->size());
return copy(offset_pointer(offset), size);
}
@@ -232,7 +232,7 @@ public:
{
if (data_size == 0)
return;
- ASSERT(data != nullptr);
+ VERIFY(data != nullptr);
int old_size = size();
grow(size() + data_size);
__builtin_memcpy(this->data() + old_size, data, data_size);
@@ -246,7 +246,7 @@ public:
void overwrite(size_t offset, const void* data, size_t data_size)
{
// make sure we're not told to write past the end
- ASSERT(offset + data_size <= size());
+ VERIFY(offset + data_size <= size());
__builtin_memcpy(this->data() + offset, data, data_size);
}
@@ -285,7 +285,7 @@ inline ByteBufferImpl::ByteBufferImpl(const void* data, size_t size)
inline void ByteBufferImpl::grow(size_t size)
{
- ASSERT(size > m_size);
+ VERIFY(size > m_size);
if (size == 0) {
if (m_data)
kfree(m_data);
diff --git a/AK/Checked.h b/AK/Checked.h
index efa6640344..3ed63f0132 100644
--- a/AK/Checked.h
+++ b/AK/Checked.h
@@ -156,13 +156,13 @@ public:
ALWAYS_INLINE constexpr bool operator!() const
{
- ASSERT(!m_overflow);
+ VERIFY(!m_overflow);
return !m_value;
}
ALWAYS_INLINE constexpr T value() const
{
- ASSERT(!m_overflow);
+ VERIFY(!m_overflow);
return m_value;
}
diff --git a/AK/CheckedFormatString.h b/AK/CheckedFormatString.h
index 891716728a..896dabed23 100644
--- a/AK/CheckedFormatString.h
+++ b/AK/CheckedFormatString.h
@@ -42,7 +42,7 @@
#ifndef DBGLN_NO_COMPILETIME_FORMAT_CHECK
namespace AK::Format::Detail {
-// We have to define a local "purely constexpr" Array that doesn't lead back to us (via e.g. ASSERT)
+// We have to define a local "purely constexpr" Array that doesn't lead back to us (via e.g. VERIFY)
template<typename T, size_t Size>
struct Array {
constexpr static size_t size() { return Size; }
diff --git a/AK/CircularDeque.h b/AK/CircularDeque.h
index 27b31ea2c1..9f5714367c 100644
--- a/AK/CircularDeque.h
+++ b/AK/CircularDeque.h
@@ -50,7 +50,7 @@ public:
T dequeue_end()
{
- ASSERT(!this->is_empty());
+ VERIFY(!this->is_empty());
auto& slot = this->elements()[(this->m_head + this->m_size - 1) % Capacity];
T value = move(slot);
slot.~T();
diff --git a/AK/CircularDuplexStream.h b/AK/CircularDuplexStream.h
index 029383a13c..b91f69d2a0 100644
--- a/AK/CircularDuplexStream.h
+++ b/AK/CircularDuplexStream.h
@@ -55,7 +55,7 @@ public:
}
const auto nwritten = write(bytes);
- ASSERT(nwritten == bytes.size());
+ VERIFY(nwritten == bytes.size());
return true;
}
@@ -123,7 +123,7 @@ public:
Bytes reserve_contigous_space(size_t count)
{
- ASSERT(count <= remaining_contigous_space());
+ VERIFY(count <= remaining_contigous_space());
Bytes bytes { m_queue.m_storage + (m_queue.head_index() + m_queue.size()) % Capacity, count };
diff --git a/AK/CircularQueue.h b/AK/CircularQueue.h
index a7f03f038c..2c2acf846c 100644
--- a/AK/CircularQueue.h
+++ b/AK/CircularQueue.h
@@ -76,7 +76,7 @@ public:
T dequeue()
{
- ASSERT(!is_empty());
+ VERIFY(!is_empty());
auto& slot = elements()[m_head];
T value = move(slot);
slot.~T();
diff --git a/AK/DoublyLinkedList.h b/AK/DoublyLinkedList.h
index b838012b04..0450c38faa 100644
--- a/AK/DoublyLinkedList.h
+++ b/AK/DoublyLinkedList.h
@@ -91,22 +91,22 @@ public:
T& first()
{
- ASSERT(m_head);
+ VERIFY(m_head);
return m_head->value;
}
const T& first() const
{
- ASSERT(m_head);
+ VERIFY(m_head);
return m_head->value;
}
T& last()
{
- ASSERT(m_head);
+ VERIFY(m_head);
return m_tail->value;
}
const T& last() const
{
- ASSERT(m_head);
+ VERIFY(m_head);
return m_tail->value;
}
@@ -117,13 +117,13 @@ public:
requires { T(value); }, "Conversion operator is missing.");
auto* node = new Node(forward<U>(value));
if (!m_head) {
- ASSERT(!m_tail);
+ VERIFY(!m_tail);
m_head = node;
m_tail = node;
return;
}
- ASSERT(m_tail);
- ASSERT(!node->next);
+ VERIFY(m_tail);
+ VERIFY(!node->next);
m_tail->next = node;
node->prev = m_tail;
m_tail = node;
@@ -135,13 +135,13 @@ public:
static_assert(IsSame<T, U>::value);
auto* node = new Node(forward<U>(value));
if (!m_head) {
- ASSERT(!m_tail);
+ VERIFY(!m_tail);
m_head = node;
m_tail = node;
return;
}
- ASSERT(m_tail);
- ASSERT(!node->prev);
+ VERIFY(m_tail);
+ VERIFY(!node->prev);
m_head->prev = node;
node->next = m_head;
m_head = node;
@@ -174,20 +174,20 @@ public:
void remove(Iterator it)
{
- ASSERT(it.m_node);
+ VERIFY(it.m_node);
auto* node = it.m_node;
if (node->prev) {
- ASSERT(node != m_head);
+ VERIFY(node != m_head);
node->prev->next = node->next;
} else {
- ASSERT(node == m_head);
+ VERIFY(node == m_head);
m_head = node->next;
}
if (node->next) {
- ASSERT(node != m_tail);
+ VERIFY(node != m_tail);
node->next->prev = node->prev;
} else {
- ASSERT(node == m_tail);
+ VERIFY(node == m_tail);
m_tail = node->prev;
}
delete node;
diff --git a/AK/FlyString.cpp b/AK/FlyString.cpp
index adbe192898..cb1b564fd6 100644
--- a/AK/FlyString.cpp
+++ b/AK/FlyString.cpp
@@ -38,8 +38,8 @@ struct FlyStringImplTraits : public AK::Traits<StringImpl*> {
static unsigned hash(const StringImpl* s) { return s ? s->hash() : 0; }
static bool equals(const StringImpl* a, const StringImpl* b)
{
- ASSERT(a);
- ASSERT(b);
+ VERIFY(a);
+ VERIFY(b);
return *a == *b;
}
};
@@ -70,7 +70,7 @@ FlyString::FlyString(const String& string)
string.impl()->set_fly({}, true);
m_impl = string.impl();
} else {
- ASSERT((*it)->is_fly());
+ VERIFY((*it)->is_fly());
m_impl = *it;
}
}
diff --git a/AK/Format.cpp b/AK/Format.cpp
index 1c5494b148..698b839728 100644
--- a/AK/Format.cpp
+++ b/AK/Format.cpp
@@ -47,7 +47,7 @@ constexpr size_t use_next_index = NumericLimits<size_t>::max();
// 65 bytes. Choosing a larger power of two won't hurt and is a bit of mitigation against out-of-bounds accesses.
inline size_t convert_unsigned_to_string(u64 value, Array<u8, 128>& buffer, u8 base, bool upper_case)
{
- ASSERT(base >= 2 && base <= 16);
+ VERIFY(base >= 2 && base <= 16);
static constexpr const char* lowercase_lookup = "0123456789abcdef";
static constexpr const char* uppercase_lookup = "0123456789ABCDEF";
@@ -80,7 +80,7 @@ void vformat_impl(TypeErasedFormatParams& params, FormatBuilder& builder, Format
FormatParser::FormatSpecifier specifier;
if (!parser.consume_specifier(specifier)) {
- ASSERT(parser.is_eof());
+ VERIFY(parser.is_eof());
return;
}
@@ -118,9 +118,9 @@ size_t TypeErasedParameter::to_size() const
else if (type == TypeErasedParameter::Type::Int64)
svalue = *reinterpret_cast<const i64*>(value);
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
- ASSERT(svalue >= 0);
+ VERIFY(svalue >= 0);
return static_cast<size_t>(svalue);
}
@@ -163,7 +163,7 @@ bool FormatParser::consume_number(size_t& value)
}
bool FormatParser::consume_specifier(FormatSpecifier& specifier)
{
- ASSERT(!next_is('}'));
+ VERIFY(!next_is('}'));
if (!consume_specific('{'))
return false;
@@ -176,7 +176,7 @@ bool FormatParser::consume_specifier(FormatSpecifier& specifier)
size_t level = 1;
while (level > 0) {
- ASSERT(!is_eof());
+ VERIFY(!is_eof());
if (consume_specific('{')) {
++level;
@@ -194,7 +194,7 @@ bool FormatParser::consume_specifier(FormatSpecifier& specifier)
specifier.flags = m_input.substring_view(begin, tell() - begin - 1);
} else {
if (!consume_specific('}'))
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
specifier.flags = "";
}
@@ -210,7 +210,7 @@ bool FormatParser::consume_replacement_field(size_t& index)
index = use_next_index;
if (!consume_specific('}'))
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return true;
}
@@ -426,7 +426,7 @@ void vformat(const LogStream& stream, StringView fmtstr, TypeErasedFormatParams
void StandardFormatter::parse(TypeErasedFormatParams& params, FormatParser& parser)
{
if (StringView { "<^>" }.contains(parser.peek(1))) {
- ASSERT(!parser.next_is(is_any_of("{}")));
+ VERIFY(!parser.next_is(is_any_of("{}")));
m_fill = parser.consume();
}
@@ -498,21 +498,21 @@ void StandardFormatter::parse(TypeErasedFormatParams& params, FormatParser& pars
if (!parser.is_eof())
dbgln("{} did not consume '{}'", __PRETTY_FUNCTION__, parser.remaining());
- ASSERT(parser.is_eof());
+ VERIFY(parser.is_eof());
}
void Formatter<StringView>::format(FormatBuilder& builder, StringView value)
{
if (m_sign_mode != FormatBuilder::SignMode::Default)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_alternative_form)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_zero_pad)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_mode != Mode::Default && m_mode != Mode::String && m_mode != Mode::Character)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_width.has_value() && m_precision.has_value())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
m_width = m_width.value_or(0);
m_precision = m_precision.value_or(NumericLimits<size_t>::max());
@@ -530,7 +530,7 @@ void Formatter<T, typename EnableIf<IsIntegral<T>::value>::Type>::format(FormatB
{
if (m_mode == Mode::Character) {
// FIXME: We just support ASCII for now, in the future maybe unicode?
- ASSERT(value >= 0 && value <= 127);
+ VERIFY(value >= 0 && value <= 127);
m_mode = Mode::String;
@@ -539,17 +539,17 @@ void Formatter<T, typename EnableIf<IsIntegral<T>::value>::Type>::format(FormatB
}
if (m_precision.has_value())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_mode == Mode::Pointer) {
if (m_sign_mode != FormatBuilder::SignMode::Default)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_align != FormatBuilder::Align::Default)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_alternative_form)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_width.has_value())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
m_mode = Mode::Hexadecimal;
m_alternative_form = true;
@@ -574,7 +574,7 @@ void Formatter<T, typename EnableIf<IsIntegral<T>::value>::Type>::format(FormatB
base = 16;
upper_case = true;
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_width = m_width.value_or(0);
@@ -621,7 +621,7 @@ void Formatter<double>::format(FormatBuilder& builder, double value)
base = 16;
upper_case = true;
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_width = m_width.value_or(0);
@@ -647,7 +647,7 @@ void vout(FILE* file, StringView fmtstr, TypeErasedFormatParams params, bool new
const auto string = builder.string_view();
const auto retval = ::fwrite(string.characters_without_null_termination(), 1, string.length(), file);
- ASSERT(static_cast<size_t>(retval) == string.length());
+ VERIFY(static_cast<size_t>(retval) == string.length());
}
#endif
diff --git a/AK/Format.h b/AK/Format.h
index 64ad1cf97e..c5b6ce795e 100644
--- a/AK/Format.h
+++ b/AK/Format.h
@@ -87,7 +87,7 @@ struct TypeErasedParameter {
return Type::Int64;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
template<typename T>
diff --git a/AK/Function.h b/AK/Function.h
index 9be7e9b725..d5bef1cb28 100644
--- a/AK/Function.h
+++ b/AK/Function.h
@@ -53,7 +53,7 @@ public:
Out operator()(In... in) const
{
- ASSERT(m_callable_wrapper);
+ VERIFY(m_callable_wrapper);
return m_callable_wrapper->call(forward<In>(in)...);
}
diff --git a/AK/GenericLexer.cpp b/AK/GenericLexer.cpp
index 4ea809973f..13afba4423 100644
--- a/AK/GenericLexer.cpp
+++ b/AK/GenericLexer.cpp
@@ -79,14 +79,14 @@ bool GenericLexer::next_is(const char* expected) const
// Go back to the previous character
void GenericLexer::retreat()
{
- ASSERT(m_index > 0);
+ VERIFY(m_index > 0);
m_index--;
}
// Consume a character and advance the parser index
char GenericLexer::consume()
{
- ASSERT(!is_eof());
+ VERIFY(!is_eof());
return m_input[m_index++];
}
diff --git a/AK/HashTable.h b/AK/HashTable.h
index 9f4aaf4e74..3c5007ad6b 100644
--- a/AK/HashTable.h
+++ b/AK/HashTable.h
@@ -157,7 +157,7 @@ public:
void ensure_capacity(size_t capacity)
{
- ASSERT(capacity >= size());
+ VERIFY(capacity >= size());
rehash(capacity * 2);
}
@@ -256,11 +256,11 @@ public:
void remove(Iterator iterator)
{
- ASSERT(iterator.m_bucket);
+ VERIFY(iterator.m_bucket);
auto& bucket = *iterator.m_bucket;
- ASSERT(bucket.used);
- ASSERT(!bucket.end);
- ASSERT(!bucket.deleted);
+ VERIFY(bucket.used);
+ VERIFY(!bucket.end);
+ VERIFY(!bucket.deleted);
bucket.slot()->~T();
bucket.used = false;
bucket.deleted = true;
diff --git a/AK/IDAllocator.h b/AK/IDAllocator.h
index 3064d68e63..068aa7046e 100644
--- a/AK/IDAllocator.h
+++ b/AK/IDAllocator.h
@@ -49,7 +49,7 @@ public:
return allocated_id;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void deallocate(int id)
diff --git a/AK/IPv4Address.h b/AK/IPv4Address.h
index 4f557f8424..8f81130904 100644
--- a/AK/IPv4Address.h
+++ b/AK/IPv4Address.h
@@ -65,7 +65,7 @@ public:
constexpr u8 operator[](int i) const
{
- ASSERT(i >= 0 && i < 4);
+ VERIFY(i >= 0 && i < 4);
return octet(SubnetClass(i));
}
diff --git a/AK/InlineLinkedList.h b/AK/InlineLinkedList.h
index e8edbd7711..869a00a357 100644
--- a/AK/InlineLinkedList.h
+++ b/AK/InlineLinkedList.h
@@ -178,7 +178,7 @@ template<typename T>
inline void InlineLinkedList<T>::prepend(T* node)
{
if (!m_head) {
- ASSERT(!m_tail);
+ VERIFY(!m_tail);
m_head = node;
m_tail = node;
node->set_prev(0);
@@ -186,7 +186,7 @@ inline void InlineLinkedList<T>::prepend(T* node)
return;
}
- ASSERT(m_tail);
+ VERIFY(m_tail);
m_head->set_prev(node);
node->set_next(m_head);
node->set_prev(0);
@@ -197,7 +197,7 @@ template<typename T>
inline void InlineLinkedList<T>::append(T* node)
{
if (!m_tail) {
- ASSERT(!m_head);
+ VERIFY(!m_head);
m_head = node;
m_tail = node;
node->set_prev(0);
@@ -205,7 +205,7 @@ inline void InlineLinkedList<T>::append(T* node)
return;
}
- ASSERT(m_head);
+ VERIFY(m_head);
m_tail->set_next(node);
node->set_prev(m_tail);
node->set_next(0);
@@ -215,18 +215,18 @@ inline void InlineLinkedList<T>::append(T* node)
template<typename T>
inline void InlineLinkedList<T>::insert_before(T* before_node, T* node)
{
- ASSERT(before_node);
- ASSERT(node);
- ASSERT(before_node != node);
- ASSERT(!is_empty());
+ VERIFY(before_node);
+ VERIFY(node);
+ VERIFY(before_node != node);
+ VERIFY(!is_empty());
if (m_head == before_node) {
- ASSERT(!before_node->prev());
+ VERIFY(!before_node->prev());
m_head = node;
node->set_prev(0);
node->set_next(before_node);
before_node->set_prev(node);
} else {
- ASSERT(before_node->prev());
+ VERIFY(before_node->prev());
node->set_prev(before_node->prev());
before_node->prev()->set_next(node);
node->set_next(before_node);
@@ -237,18 +237,18 @@ inline void InlineLinkedList<T>::insert_before(T* before_node, T* node)
template<typename T>
inline void InlineLinkedList<T>::insert_after(T* after_node, T* node)
{
- ASSERT(after_node);
- ASSERT(node);
- ASSERT(after_node != node);
- ASSERT(!is_empty());
+ VERIFY(after_node);
+ VERIFY(node);
+ VERIFY(after_node != node);
+ VERIFY(!is_empty());
if (m_tail == after_node) {
- ASSERT(!after_node->next());
+ VERIFY(!after_node->next());
m_tail = node;
node->set_prev(after_node);
node->set_next(0);
after_node->set_next(node);
} else {
- ASSERT(after_node->next());
+ VERIFY(after_node->next());
node->set_prev(after_node);
node->set_next(after_node->next());
after_node->next()->set_prev(node);
@@ -260,18 +260,18 @@ template<typename T>
inline void InlineLinkedList<T>::remove(T* node)
{
if (node->prev()) {
- ASSERT(node != m_head);
+ VERIFY(node != m_head);
node->prev()->set_next(node->next());
} else {
- ASSERT(node == m_head);
+ VERIFY(node == m_head);
m_head = node->next();
}
if (node->next()) {
- ASSERT(node != m_tail);
+ VERIFY(node != m_tail);
node->next()->set_prev(node->prev());
} else {
- ASSERT(node == m_tail);
+ VERIFY(node == m_tail);
m_tail = node->prev();
}
@@ -310,15 +310,15 @@ inline void InlineLinkedList<T>::append(InlineLinkedList<T>& other)
return;
}
- ASSERT(tail());
- ASSERT(other.head());
+ VERIFY(tail());
+ VERIFY(other.head());
T* other_head = other.head();
T* other_tail = other.tail();
other.clear();
- ASSERT(!m_tail->next());
+ VERIFY(!m_tail->next());
m_tail->set_next(other_head);
- ASSERT(!other_head->prev());
+ VERIFY(!other_head->prev());
other_head->set_prev(m_tail);
m_tail = other_tail;
}
diff --git a/AK/IntrusiveList.h b/AK/IntrusiveList.h
index 46045f7f22..bb27ce70e2 100644
--- a/AK/IntrusiveList.h
+++ b/AK/IntrusiveList.h
@@ -284,7 +284,7 @@ inline IntrusiveListNode::~IntrusiveListNode()
inline void IntrusiveListNode::remove()
{
- ASSERT(m_storage);
+ VERIFY(m_storage);
if (m_storage->m_first == this)
m_storage->m_first = m_next;
if (m_storage->m_last == this)
diff --git a/AK/JsonArraySerializer.h b/AK/JsonArraySerializer.h
index 6bc2c28925..15e5705ed3 100644
--- a/AK/JsonArraySerializer.h
+++ b/AK/JsonArraySerializer.h
@@ -92,7 +92,7 @@ public:
void finish()
{
- ASSERT(!m_finished);
+ VERIFY(!m_finished);
m_finished = true;
m_builder.append(']');
}
diff --git a/AK/JsonObject.h b/AK/JsonObject.h
index 57bb515f9e..c127887b37 100644
--- a/AK/JsonObject.h
+++ b/AK/JsonObject.h
@@ -191,7 +191,7 @@ inline void JsonValue::serialize(Builder& builder) const
builder.append("null");
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/AK/JsonObjectSerializer.h b/AK/JsonObjectSerializer.h
index 0ba6a3e47e..83f532244a 100644
--- a/AK/JsonObjectSerializer.h
+++ b/AK/JsonObjectSerializer.h
@@ -141,7 +141,7 @@ public:
void finish()
{
- ASSERT(!m_finished);
+ VERIFY(!m_finished);
m_finished = true;
m_builder.append('}');
}
diff --git a/AK/JsonPath.cpp b/AK/JsonPath.cpp
index 7cbc14488f..7ae6d0daba 100644
--- a/AK/JsonPath.cpp
+++ b/AK/JsonPath.cpp
@@ -45,7 +45,7 @@ JsonValue JsonPath::resolve(const JsonValue& top_root) const
root = JsonValue { root.as_array().at(element.index()) };
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
return root;
diff --git a/AK/JsonPath.h b/AK/JsonPath.h
index d6c3a2acb9..3841a6a4d6 100644
--- a/AK/JsonPath.h
+++ b/AK/JsonPath.h
@@ -56,13 +56,13 @@ public:
Kind kind() const { return m_kind; }
const String& key() const
{
- ASSERT(m_kind == Kind::Key);
+ VERIFY(m_kind == Kind::Key);
return m_key;
}
size_t index() const
{
- ASSERT(m_kind == Kind::Index);
+ VERIFY(m_kind == Kind::Index);
return m_index;
}
diff --git a/AK/JsonValue.cpp b/AK/JsonValue.cpp
index 288fdc6cc8..4d8a6a9c5d 100644
--- a/AK/JsonValue.cpp
+++ b/AK/JsonValue.cpp
@@ -55,7 +55,7 @@ void JsonValue::copy_from(const JsonValue& other)
m_type = other.m_type;
switch (m_type) {
case Type::String:
- ASSERT(!m_value.as_string);
+ VERIFY(!m_value.as_string);
m_value.as_string = other.m_value.as_string;
m_value.as_string->ref();
break;
diff --git a/AK/JsonValue.h b/AK/JsonValue.h
index d3bf23cb2c..36e8b9bfd9 100644
--- a/AK/JsonValue.h
+++ b/AK/JsonValue.h
@@ -127,56 +127,56 @@ public:
i32 as_i32() const
{
- ASSERT(is_i32());
+ VERIFY(is_i32());
return m_value.as_i32;
}
u32 as_u32() const
{
- ASSERT(is_u32());
+ VERIFY(is_u32());
return m_value.as_u32;
}
i64 as_i64() const
{
- ASSERT(is_i64());
+ VERIFY(is_i64());
return m_value.as_i64;
}
u64 as_u64() const
{
- ASSERT(is_u64());
+ VERIFY(is_u64());
return m_value.as_u64;
}
int as_bool() const
{
- ASSERT(is_bool());
+ VERIFY(is_bool());
return m_value.as_bool;
}
String as_string() const
{
- ASSERT(is_string());
+ VERIFY(is_string());
return *m_value.as_string;
}
const JsonObject& as_object() const
{
- ASSERT(is_object());
+ VERIFY(is_object());
return *m_value.as_object;
}
const JsonArray& as_array() const
{
- ASSERT(is_array());
+ VERIFY(is_array());
return *m_value.as_array;
}
#if !defined(KERNEL)
double as_double() const
{
- ASSERT(is_double());
+ VERIFY(is_double());
return m_value.as_double;
}
#endif
diff --git a/AK/MACAddress.h b/AK/MACAddress.h
index 3d3a4d9d41..7e46e5aca7 100644
--- a/AK/MACAddress.h
+++ b/AK/MACAddress.h
@@ -52,13 +52,13 @@ public:
constexpr const u8& operator[](unsigned i) const
{
- ASSERT(i < s_mac_address_length);
+ VERIFY(i < s_mac_address_length);
return m_data[i];
}
constexpr u8& operator[](unsigned i)
{
- ASSERT(i < s_mac_address_length);
+ VERIFY(i < s_mac_address_length);
return m_data[i];
}
diff --git a/AK/MappedFile.cpp b/AK/MappedFile.cpp
index a2b9fb87b8..cd10ef3b0c 100644
--- a/AK/MappedFile.cpp
+++ b/AK/MappedFile.cpp
@@ -68,7 +68,7 @@ MappedFile::MappedFile(void* ptr, size_t size)
MappedFile::~MappedFile()
{
auto rc = munmap(m_data, m_size);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
}
diff --git a/AK/MemMem.h b/AK/MemMem.h
index 33af7e1630..d154e76719 100644
--- a/AK/MemMem.h
+++ b/AK/MemMem.h
@@ -37,7 +37,7 @@ namespace AK {
namespace {
const static void* bitap_bitwise(const void* haystack, size_t haystack_length, const void* needle, size_t needle_length)
{
- ASSERT(needle_length < 32);
+ VERIFY(needle_length < 32);
u64 lookup = 0xfffffffe;
diff --git a/AK/MemoryStream.h b/AK/MemoryStream.h
index 8b17934010..2ac424568d 100644
--- a/AK/MemoryStream.h
+++ b/AK/MemoryStream.h
@@ -79,7 +79,7 @@ public:
void seek(size_t offset)
{
- ASSERT(offset < m_bytes.size());
+ VERIFY(offset < m_bytes.size());
m_offset = offset;
}
@@ -309,7 +309,7 @@ public:
auto buffer = ByteBuffer::create_uninitialized(size());
const auto nread = read_without_consuming(buffer);
- ASSERT(nread == buffer.size());
+ VERIFY(nread == buffer.size());
return buffer;
}
diff --git a/AK/NonnullOwnPtr.h b/AK/NonnullOwnPtr.h
index 321ea67b7d..1b4e4c8ac2 100644
--- a/AK/NonnullOwnPtr.h
+++ b/AK/NonnullOwnPtr.h
@@ -59,13 +59,13 @@ public:
NonnullOwnPtr(NonnullOwnPtr&& other)
: m_ptr(other.leak_ptr())
{
- ASSERT(m_ptr);
+ VERIFY(m_ptr);
}
template<typename U>
NonnullOwnPtr(NonnullOwnPtr<U>&& other)
: m_ptr(other.leak_ptr())
{
- ASSERT(m_ptr);
+ VERIFY(m_ptr);
}
~NonnullOwnPtr()
{
@@ -147,7 +147,7 @@ public:
template<typename U>
NonnullOwnPtr<U> release_nonnull()
{
- ASSERT(m_ptr);
+ VERIFY(m_ptr);
return NonnullOwnPtr<U>(NonnullOwnPtr<U>::Adopt, static_cast<U&>(*leak_ptr()));
}
diff --git a/AK/NonnullRefPtr.h b/AK/NonnullRefPtr.h
index 33666d0302..69499c54ee 100644
--- a/AK/NonnullRefPtr.h
+++ b/AK/NonnullRefPtr.h
@@ -72,42 +72,42 @@ public:
ALWAYS_INLINE NonnullRefPtr(const T& object)
: m_bits((FlatPtr)&object)
{
- ASSERT(!(m_bits & 1));
+ VERIFY(!(m_bits & 1));
const_cast<T&>(object).ref();
}
template<typename U>
ALWAYS_INLINE NonnullRefPtr(const U& object)
: m_bits((FlatPtr) static_cast<const T*>(&object))
{
- ASSERT(!(m_bits & 1));
+ VERIFY(!(m_bits & 1));
const_cast<T&>(static_cast<const T&>(object)).ref();
}
ALWAYS_INLINE NonnullRefPtr(AdoptTag, T& object)
: m_bits((FlatPtr)&object)
{
- ASSERT(!(m_bits & 1));
+ VERIFY(!(m_bits & 1));
}
ALWAYS_INLINE NonnullRefPtr(NonnullRefPtr&& other)
: m_bits((FlatPtr)&other.leak_ref())
{
- ASSERT(!(m_bits & 1));
+ VERIFY(!(m_bits & 1));
}
template<typename U>
ALWAYS_INLINE NonnullRefPtr(NonnullRefPtr<U>&& other)
: m_bits((FlatPtr)&other.leak_ref())
{
- ASSERT(!(m_bits & 1));
+ VERIFY(!(m_bits & 1));
}
ALWAYS_INLINE NonnullRefPtr(const NonnullRefPtr& other)
: m_bits((FlatPtr)other.add_ref())
{
- ASSERT(!(m_bits & 1));
+ VERIFY(!(m_bits & 1));
}
template<typename U>
ALWAYS_INLINE NonnullRefPtr(const NonnullRefPtr<U>& other)
: m_bits((FlatPtr)other.add_ref())
{
- ASSERT(!(m_bits & 1));
+ VERIFY(!(m_bits & 1));
}
ALWAYS_INLINE ~NonnullRefPtr()
{
@@ -170,7 +170,7 @@ public:
[[nodiscard]] ALWAYS_INLINE T& leak_ref()
{
T* ptr = exchange(nullptr);
- ASSERT(ptr);
+ VERIFY(ptr);
return *ptr;
}
@@ -253,7 +253,7 @@ private:
ALWAYS_INLINE T* as_nonnull_ptr() const
{
T* ptr = (T*)(m_bits.load(AK::MemoryOrder::memory_order_relaxed) & ~(FlatPtr)1);
- ASSERT(ptr);
+ VERIFY(ptr);
return ptr;
}
@@ -273,7 +273,7 @@ private:
Kernel::Processor::wait_check();
#endif
}
- ASSERT(!(bits & 1));
+ VERIFY(!(bits & 1));
f((T*)bits);
m_bits.store(bits, AK::MemoryOrder::memory_order_release);
}
@@ -286,7 +286,7 @@ private:
ALWAYS_INLINE T* exchange(T* new_ptr)
{
- ASSERT(!((FlatPtr)new_ptr & 1));
+ VERIFY(!((FlatPtr)new_ptr & 1));
#ifdef KERNEL
// We don't want to be pre-empted while we have the lock bit set
Kernel::ScopedCritical critical;
@@ -301,7 +301,7 @@ private:
Kernel::Processor::wait_check();
#endif
}
- ASSERT(!(expected & 1));
+ VERIFY(!(expected & 1));
return (T*)expected;
}
diff --git a/AK/Optional.h b/AK/Optional.h
index 8d385e8ea4..4d31bcab3d 100644
--- a/AK/Optional.h
+++ b/AK/Optional.h
@@ -128,19 +128,19 @@ public:
[[nodiscard]] ALWAYS_INLINE T& value()
{
- ASSERT(m_has_value);
+ VERIFY(m_has_value);
return *reinterpret_cast<T*>(&m_storage);
}
[[nodiscard]] ALWAYS_INLINE const T& value() const
{
- ASSERT(m_has_value);
+ VERIFY(m_has_value);
return *reinterpret_cast<const T*>(&m_storage);
}
[[nodiscard]] T release_value()
{
- ASSERT(m_has_value);
+ VERIFY(m_has_value);
T released_value = move(value());
value().~T();
m_has_value = false;
diff --git a/AK/OwnPtr.h b/AK/OwnPtr.h
index 2e9de4d7b1..6da0b67592 100644
--- a/AK/OwnPtr.h
+++ b/AK/OwnPtr.h
@@ -112,7 +112,7 @@ public:
{
OwnPtr ptr(move(other));
swap(ptr);
- ASSERT(m_ptr);
+ VERIFY(m_ptr);
return *this;
}
@@ -147,14 +147,14 @@ public:
NonnullOwnPtr<T> release_nonnull()
{
- ASSERT(m_ptr);
+ VERIFY(m_ptr);
return NonnullOwnPtr<T>(NonnullOwnPtr<T>::Adopt, *leak_ptr());
}
template<typename U>
NonnullOwnPtr<U> release_nonnull()
{
- ASSERT(m_ptr);
+ VERIFY(m_ptr);
return NonnullOwnPtr<U>(NonnullOwnPtr<U>::Adopt, static_cast<U&>(*leak_ptr()));
}
@@ -163,25 +163,25 @@ public:
T* operator->()
{
- ASSERT(m_ptr);
+ VERIFY(m_ptr);
return m_ptr;
}
const T* operator->() const
{
- ASSERT(m_ptr);
+ VERIFY(m_ptr);
return m_ptr;
}
T& operator*()
{
- ASSERT(m_ptr);
+ VERIFY(m_ptr);
return *m_ptr;
}
const T& operator*() const
{
- ASSERT(m_ptr);
+ VERIFY(m_ptr);
return *m_ptr;
}
diff --git a/AK/Queue.h b/AK/Queue.h
index 80fd00109d..07451cf2c1 100644
--- a/AK/Queue.h
+++ b/AK/Queue.h
@@ -52,7 +52,7 @@ public:
T dequeue()
{
- ASSERT(!is_empty());
+ VERIFY(!is_empty());
auto value = move((*m_segments.first())[m_index_into_first++]);
if (m_index_into_first == segment_size) {
m_segments.take_first();
@@ -64,7 +64,7 @@ public:
const T& head() const
{
- ASSERT(!is_empty());
+ VERIFY(!is_empty());
return (*m_segments.first())[m_index_into_first];
}
diff --git a/AK/RefCounted.h b/AK/RefCounted.h
index 18574a375b..4d003a3bba 100644
--- a/AK/RefCounted.h
+++ b/AK/RefCounted.h
@@ -70,8 +70,8 @@ public:
ALWAYS_INLINE void ref() const
{
auto old_ref_count = m_ref_count.fetch_add(1, AK::MemoryOrder::memory_order_relaxed);
- ASSERT(old_ref_count > 0);
- ASSERT(!Checked<RefCountType>::addition_would_overflow(old_ref_count, 1));
+ VERIFY(old_ref_count > 0);
+ VERIFY(!Checked<RefCountType>::addition_would_overflow(old_ref_count, 1));
}
[[nodiscard]] ALWAYS_INLINE bool try_ref() const
@@ -80,7 +80,7 @@ public:
for (;;) {
if (expected == 0)
return false;
- ASSERT(!Checked<RefCountType>::addition_would_overflow(expected, 1));
+ VERIFY(!Checked<RefCountType>::addition_would_overflow(expected, 1));
if (m_ref_count.compare_exchange_strong(expected, expected + 1, AK::MemoryOrder::memory_order_acquire))
return true;
}
@@ -95,13 +95,13 @@ protected:
RefCountedBase() = default;
ALWAYS_INLINE ~RefCountedBase()
{
- ASSERT(m_ref_count.load(AK::MemoryOrder::memory_order_relaxed) == 0);
+ VERIFY(m_ref_count.load(AK::MemoryOrder::memory_order_relaxed) == 0);
}
ALWAYS_INLINE RefCountType deref_base() const
{
auto old_ref_count = m_ref_count.fetch_sub(1, AK::MemoryOrder::memory_order_acq_rel);
- ASSERT(old_ref_count > 0);
+ VERIFY(old_ref_count > 0);
return old_ref_count - 1;
}
diff --git a/AK/RefPtr.h b/AK/RefPtr.h
index 8241cf6749..aad97e22c2 100644
--- a/AK/RefPtr.h
+++ b/AK/RefPtr.h
@@ -50,7 +50,7 @@ struct RefPtrTraits {
ALWAYS_INLINE static FlatPtr as_bits(T* ptr)
{
- ASSERT(!((FlatPtr)ptr & 1));
+ VERIFY(!((FlatPtr)ptr & 1));
return (FlatPtr)ptr;
}
@@ -70,7 +70,7 @@ struct RefPtrTraits {
ALWAYS_INLINE static FlatPtr exchange(Atomic<FlatPtr>& atomic_var, FlatPtr new_value)
{
// Only exchange when lock is not held
- ASSERT(!(new_value & 1));
+ VERIFY(!(new_value & 1));
FlatPtr expected = atomic_var.load(AK::MemoryOrder::memory_order_relaxed);
for (;;) {
expected &= ~(FlatPtr)1; // only if lock bit is not set
@@ -86,7 +86,7 @@ struct RefPtrTraits {
ALWAYS_INLINE static bool exchange_if_null(Atomic<FlatPtr>& atomic_var, FlatPtr new_value)
{
// Only exchange when lock is not held
- ASSERT(!(new_value & 1));
+ VERIFY(!(new_value & 1));
for (;;) {
FlatPtr expected = default_null_value; // only if lock bit is not set
if (atomic_var.compare_exchange_strong(expected, new_value, AK::MemoryOrder::memory_order_acq_rel))
@@ -116,13 +116,13 @@ struct RefPtrTraits {
Kernel::Processor::wait_check();
#endif
}
- ASSERT(!(bits & 1));
+ VERIFY(!(bits & 1));
return bits;
}
ALWAYS_INLINE static void unlock(Atomic<FlatPtr>& atomic_var, FlatPtr new_value)
{
- ASSERT(!(new_value & 1));
+ VERIFY(!(new_value & 1));
atomic_var.store(new_value, AK::MemoryOrder::memory_order_release);
}
@@ -153,14 +153,14 @@ public:
: m_bits(PtrTraits::as_bits(const_cast<T*>(&object)))
{
T* ptr = const_cast<T*>(&object);
- ASSERT(ptr);
- ASSERT(!is_null());
+ VERIFY(ptr);
+ VERIFY(!is_null());
ptr->ref();
}
RefPtr(AdoptTag, T& object)
: m_bits(PtrTraits::as_bits(&object))
{
- ASSERT(!is_null());
+ VERIFY(!is_null());
}
RefPtr(RefPtr&& other)
: m_bits(other.leak_ref_raw())
@@ -179,7 +179,7 @@ public:
ALWAYS_INLINE RefPtr(NonnullRefPtr<U>&& other)
: m_bits(PtrTraits::as_bits(&other.leak_ref()))
{
- ASSERT(!is_null());
+ VERIFY(!is_null());
}
template<typename U, typename P = RefPtrTraits<U>>
RefPtr(RefPtr<U, P>&& other)
@@ -330,7 +330,7 @@ public:
NonnullRefPtr<T> release_nonnull()
{
FlatPtr bits = PtrTraits::exchange(m_bits, PtrTraits::default_null_value);
- ASSERT(!PtrTraits::is_null(bits));
+ VERIFY(!PtrTraits::is_null(bits));
return NonnullRefPtr<T>(NonnullRefPtr<T>::Adopt, *PtrTraits::as_ptr(bits));
}
@@ -384,7 +384,7 @@ public:
{
// make sure we are holding a null value
FlatPtr bits = m_bits.load(AK::MemoryOrder::memory_order_relaxed);
- ASSERT(PtrTraits::is_null(bits));
+ VERIFY(PtrTraits::is_null(bits));
return PtrTraits::to_null_value(bits);
}
template<typename U = T, typename EnableIf<IsSame<U, T>::value && !IsNullPointer<typename PtrTraits::NullType>::value>::Type* = nullptr>
@@ -392,7 +392,7 @@ public:
{
// make sure that new null value would be interpreted as a null value
FlatPtr bits = PtrTraits::from_null_value(value);
- ASSERT(PtrTraits::is_null(bits));
+ VERIFY(PtrTraits::is_null(bits));
assign_raw(bits);
}
@@ -454,7 +454,7 @@ private:
ALWAYS_INLINE T* as_nonnull_ptr(FlatPtr bits) const
{
- ASSERT(!PtrTraits::is_null(bits));
+ VERIFY(!PtrTraits::is_null(bits));
return PtrTraits::as_ptr(bits);
}
diff --git a/AK/Singleton.h b/AK/Singleton.h
index 27d38f654f..18797eb628 100644
--- a/AK/Singleton.h
+++ b/AK/Singleton.h
@@ -83,9 +83,9 @@ public:
}
if constexpr (allow_create) {
// We should always return an instance if we allow creating one
- ASSERT(obj != nullptr);
+ VERIFY(obj != nullptr);
}
- ASSERT(obj != (T*)0x1);
+ VERIFY(obj != (T*)0x1);
}
return obj;
}
diff --git a/AK/SinglyLinkedList.h b/AK/SinglyLinkedList.h
index 92d238a529..a90089fe7f 100644
--- a/AK/SinglyLinkedList.h
+++ b/AK/SinglyLinkedList.h
@@ -104,28 +104,28 @@ public:
T& first()
{
- ASSERT(head());
+ VERIFY(head());
return head()->value;
}
const T& first() const
{
- ASSERT(head());
+ VERIFY(head());
return head()->value;
}
T& last()
{
- ASSERT(head());
+ VERIFY(head());
return tail()->value;
}
const T& last() const
{
- ASSERT(head());
+ VERIFY(head());
return tail()->value;
}
T take_first()
{
- ASSERT(m_head);
+ VERIFY(m_head);
auto* prev_head = m_head;
T value = move(first());
if (m_tail == m_head)
@@ -187,7 +187,7 @@ public:
void remove(Iterator iterator)
{
- ASSERT(!iterator.is_end());
+ VERIFY(!iterator.is_end());
if (m_head == iterator.m_node)
m_head = iterator.m_node->next;
if (m_tail == iterator.m_node)
diff --git a/AK/SourceGenerator.h b/AK/SourceGenerator.h
index 15c0aaae42..bd1cbf2164 100644
--- a/AK/SourceGenerator.h
+++ b/AK/SourceGenerator.h
@@ -78,11 +78,11 @@ public:
const auto placeholder = consume_until_without_consuming_stop_character(m_closing);
if (!lexer.consume_specific(m_closing))
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
m_builder.append(get(placeholder));
} else {
- ASSERT(lexer.is_eof());
+ VERIFY(lexer.is_eof());
}
}
}
diff --git a/AK/Span.h b/AK/Span.h
index 7f4eda89b7..42393f315a 100644
--- a/AK/Span.h
+++ b/AK/Span.h
@@ -140,12 +140,12 @@ public:
[[nodiscard]] ALWAYS_INLINE constexpr Span slice(size_t start, size_t length) const
{
- ASSERT(start + length <= size());
+ VERIFY(start + length <= size());
return { this->m_values + start, length };
}
[[nodiscard]] ALWAYS_INLINE constexpr Span slice(size_t start) const
{
- ASSERT(start <= size());
+ VERIFY(start <= size());
return { this->m_values + start, size() - start };
}
@@ -156,20 +156,20 @@ public:
ALWAYS_INLINE constexpr T* offset(size_t start) const
{
- ASSERT(start < this->m_size);
+ VERIFY(start < this->m_size);
return this->m_values + start;
}
ALWAYS_INLINE constexpr void overwrite(size_t offset, const void* data, size_t data_size)
{
// make sure we're not told to write past the end
- ASSERT(offset + data_size <= size());
+ VERIFY(offset + data_size <= size());
__builtin_memcpy(this->data() + offset, data, data_size);
}
ALWAYS_INLINE constexpr size_t copy_to(Span<typename RemoveConst<T>::Type> other) const
{
- ASSERT(other.size() >= size());
+ VERIFY(other.size() >= size());
return TypedTransfer<typename RemoveConst<T>::Type>::copy(other.data(), data(), size());
}
@@ -198,12 +198,12 @@ public:
ALWAYS_INLINE constexpr const T& at(size_t index) const
{
- ASSERT(index < this->m_size);
+ VERIFY(index < this->m_size);
return this->m_values[index];
}
ALWAYS_INLINE constexpr T& at(size_t index)
{
- ASSERT(index < this->m_size);
+ VERIFY(index < this->m_size);
return this->m_values[index];
}
diff --git a/AK/StackInfo.cpp b/AK/StackInfo.cpp
index 2e7f46153a..6927996adc 100644
--- a/AK/StackInfo.cpp
+++ b/AK/StackInfo.cpp
@@ -42,17 +42,17 @@ StackInfo::StackInfo()
#ifdef __serenity__
if (get_stack_bounds(&m_base, &m_size) < 0) {
perror("get_stack_bounds");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
#elif __linux__
pthread_attr_t attr = {};
if (int rc = pthread_getattr_np(pthread_self(), &attr) != 0) {
fprintf(stderr, "pthread_getattr_np: %s\n", strerror(-rc));
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (int rc = pthread_attr_getstack(&attr, (void**)&m_base, &m_size) != 0) {
fprintf(stderr, "pthread_attr_getstack: %s\n", strerror(-rc));
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
pthread_attr_destroy(&attr);
#elif __APPLE__
@@ -73,7 +73,7 @@ StackInfo::StackInfo()
}
m_base = top_of_stack - m_size;
#else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
#endif
m_top = m_base + m_size;
diff --git a/AK/StdLibExtras.h b/AK/StdLibExtras.h
index b266700672..0e6cd49df7 100644
--- a/AK/StdLibExtras.h
+++ b/AK/StdLibExtras.h
@@ -57,7 +57,7 @@ constexpr T max(const T& a, const T& b)
template<typename T>
constexpr T clamp(const T& value, const T& min, const T& max)
{
- ASSERT(max >= min);
+ VERIFY(max >= min);
if (value > max)
return max;
if (value < min)
diff --git a/AK/Stream.h b/AK/Stream.h
index 58a6e130cc..a1226c44fa 100644
--- a/AK/Stream.h
+++ b/AK/Stream.h
@@ -37,7 +37,7 @@ namespace AK::Detail {
class Stream {
public:
- virtual ~Stream() { ASSERT(!has_any_error()); }
+ virtual ~Stream() { VERIFY(!has_any_error()); }
virtual bool has_recoverable_error() const { return m_recoverable_error; }
virtual bool has_fatal_error() const { return m_fatal_error; }
@@ -45,7 +45,7 @@ public:
virtual bool handle_recoverable_error()
{
- ASSERT(!has_fatal_error());
+ VERIFY(!has_fatal_error());
return exchange(m_recoverable_error, false);
}
virtual bool handle_fatal_error() { return exchange(m_fatal_error, false); }
diff --git a/AK/String.cpp b/AK/String.cpp
index e9ab733f01..f81e2eddba 100644
--- a/AK/String.cpp
+++ b/AK/String.cpp
@@ -104,7 +104,7 @@ String String::empty()
bool String::copy_characters_to_buffer(char* buffer, size_t buffer_size) const
{
// We must fit at least the NUL-terminator.
- ASSERT(buffer_size > 0);
+ VERIFY(buffer_size > 0);
size_t characters_to_copy = min(length(), buffer_size - 1);
__builtin_memcpy(buffer, characters(), characters_to_copy);
@@ -127,8 +127,8 @@ String String::isolated_copy() const
String String::substring(size_t start) const
{
- ASSERT(m_impl);
- ASSERT(start <= length());
+ VERIFY(m_impl);
+ VERIFY(start <= length());
return { characters() + start, length() - start };
}
@@ -136,24 +136,24 @@ String String::substring(size_t start, size_t length) const
{
if (!length)
return "";
- ASSERT(m_impl);
- ASSERT(start + length <= m_impl->length());
+ VERIFY(m_impl);
+ VERIFY(start + length <= m_impl->length());
// FIXME: This needs some input bounds checking.
return { characters() + start, length };
}
StringView String::substring_view(size_t start, size_t length) const
{
- ASSERT(m_impl);
- ASSERT(start + length <= m_impl->length());
+ VERIFY(m_impl);
+ VERIFY(start + length <= m_impl->length());
// FIXME: This needs some input bounds checking.
return { characters() + start, length };
}
StringView String::substring_view(size_t start) const
{
- ASSERT(m_impl);
- ASSERT(start <= length());
+ VERIFY(m_impl);
+ VERIFY(start <= length());
return { characters() + start, length() - start };
}
diff --git a/AK/StringBuilder.cpp b/AK/StringBuilder.cpp
index 7acfd9b93c..c4be4e1baa 100644
--- a/AK/StringBuilder.cpp
+++ b/AK/StringBuilder.cpp
@@ -40,12 +40,12 @@ inline void StringBuilder::will_append(size_t size)
{
Checked<size_t> needed_capacity = m_length;
needed_capacity += size;
- ASSERT(!needed_capacity.has_overflow());
+ VERIFY(!needed_capacity.has_overflow());
if (needed_capacity < inline_capacity)
return;
Checked<size_t> expanded_capacity = needed_capacity;
expanded_capacity *= 2;
- ASSERT(!expanded_capacity.has_overflow());
+ VERIFY(!expanded_capacity.has_overflow());
if (m_buffer.is_null()) {
m_buffer.grow(expanded_capacity.value());
memcpy(m_buffer.data(), m_inline_buffer, m_length);
diff --git a/AK/StringImpl.cpp b/AK/StringImpl.cpp
index 86b4073cc7..9d38b04b1b 100644
--- a/AK/StringImpl.cpp
+++ b/AK/StringImpl.cpp
@@ -88,9 +88,9 @@ static inline size_t allocation_size_for_stringimpl(size_t length)
NonnullRefPtr<StringImpl> StringImpl::create_uninitialized(size_t length, char*& buffer)
{
- ASSERT(length);
+ VERIFY(length);
void* slot = kmalloc(allocation_size_for_stringimpl(length));
- ASSERT(slot);
+ VERIFY(slot);
auto new_stringimpl = adopt(*new (slot) StringImpl(ConstructWithInlineBuffer, length));
buffer = const_cast<char*>(new_stringimpl->characters());
buffer[length] = '\0';
diff --git a/AK/StringImpl.h b/AK/StringImpl.h
index 506775ef8a..e86fe54dd1 100644
--- a/AK/StringImpl.h
+++ b/AK/StringImpl.h
@@ -66,7 +66,7 @@ public:
const char& operator[](size_t i) const
{
- ASSERT(i < m_length);
+ VERIFY(i < m_length);
return characters()[i];
}
diff --git a/AK/StringView.cpp b/AK/StringView.cpp
index a27771a19d..c04b7ada3a 100644
--- a/AK/StringView.cpp
+++ b/AK/StringView.cpp
@@ -79,7 +79,7 @@ Vector<StringView> StringView::split_view(const char separator, bool keep_empty)
Vector<StringView> StringView::split_view(const StringView& separator, bool keep_empty) const
{
- ASSERT(!separator.is_empty());
+ VERIFY(!separator.is_empty());
if (is_empty())
return {};
@@ -197,20 +197,20 @@ bool StringView::equals_ignoring_case(const StringView& other) const
StringView StringView::substring_view(size_t start, size_t length) const
{
- ASSERT(start + length <= m_length);
+ VERIFY(start + length <= m_length);
return { m_characters + start, length };
}
StringView StringView::substring_view(size_t start) const
{
- ASSERT(start <= m_length);
+ VERIFY(start <= m_length);
return { m_characters + start, length() - start };
}
StringView StringView::substring_view_starting_from_substring(const StringView& substring) const
{
const char* remaining_characters = substring.characters_without_null_termination();
- ASSERT(remaining_characters >= m_characters);
- ASSERT(remaining_characters <= m_characters + m_length);
+ VERIFY(remaining_characters >= m_characters);
+ VERIFY(remaining_characters <= m_characters + m_length);
size_t remaining_length = m_length - (remaining_characters - m_characters);
return { remaining_characters, remaining_length };
}
@@ -218,8 +218,8 @@ StringView StringView::substring_view_starting_from_substring(const StringView&
StringView StringView::substring_view_starting_after_substring(const StringView& substring) const
{
const char* remaining_characters = substring.characters_without_null_termination() + substring.length();
- ASSERT(remaining_characters >= m_characters);
- ASSERT(remaining_characters <= m_characters + m_length);
+ VERIFY(remaining_characters >= m_characters);
+ VERIFY(remaining_characters <= m_characters + m_length);
size_t remaining_length = m_length - (remaining_characters - m_characters);
return { remaining_characters, remaining_length };
}
diff --git a/AK/StringView.h b/AK/StringView.h
index 6f6f9058de..8d6192a795 100644
--- a/AK/StringView.h
+++ b/AK/StringView.h
@@ -42,13 +42,13 @@ public:
: m_characters(characters)
, m_length(length)
{
- ASSERT(!Checked<uintptr_t>::addition_would_overflow((uintptr_t)characters, length));
+ VERIFY(!Checked<uintptr_t>::addition_would_overflow((uintptr_t)characters, length));
}
ALWAYS_INLINE StringView(const unsigned char* characters, size_t length)
: m_characters((const char*)characters)
, m_length(length)
{
- ASSERT(!Checked<uintptr_t>::addition_would_overflow((uintptr_t)characters, length));
+ VERIFY(!Checked<uintptr_t>::addition_would_overflow((uintptr_t)characters, length));
}
ALWAYS_INLINE constexpr StringView(const char* cstring)
: m_characters(cstring)
diff --git a/AK/TestSuite.h b/AK/TestSuite.h
index 9c5e7ed9e5..810b7e5767 100644
--- a/AK/TestSuite.h
+++ b/AK/TestSuite.h
@@ -38,11 +38,11 @@ void warnln(CheckedFormatString<Parameters...>&& fmtstr, const Parameters&...);
using AK::warnln;
-#undef ASSERT
-#define ASSERT(x) \
+#undef VERIFY
+#define VERIFY(x) \
do { \
if (!(x)) \
- ::AK::warnln("\033[31;1mFAIL\033[0m: {}:{}: ASSERT({}) failed", __FILE__, __LINE__, #x); \
+ ::AK::warnln("\033[31;1mFAIL\033[0m: {}:{}: VERIFY({}) failed", __FILE__, __LINE__, #x); \
} while (false)
#undef RELEASE_ASSERT
@@ -52,10 +52,10 @@ using AK::warnln;
::AK::warnln("\033[31;1mFAIL\033[0m: {}:{}: RELEASE_ASSERT({}) failed", __FILE__, __LINE__, #x); \
} while (false)
-#undef ASSERT_NOT_REACHED
-#define ASSERT_NOT_REACHED() \
+#undef VERIFY_NOT_REACHED
+#define VERIFY_NOT_REACHED() \
do { \
- ::AK::warnln("\033[31;1mFAIL\033[0m: {}:{}: ASSERT_NOT_REACHED() called", __FILE__, __LINE__); \
+ ::AK::warnln("\033[31;1mFAIL\033[0m: {}:{}: VERIFY_NOT_REACHED() called", __FILE__, __LINE__); \
::abort(); \
} while (false)
diff --git a/AK/Tests/TestFormat.cpp b/AK/Tests/TestFormat.cpp
index fa1c8d2618..8113f957dc 100644
--- a/AK/Tests/TestFormat.cpp
+++ b/AK/Tests/TestFormat.cpp
@@ -177,7 +177,7 @@ TEST_CASE(pointers)
EXPECT_EQ(String::formatted("{:p}", ptr), "0x0000000000004000");
EXPECT_EQ(String::formatted("{}", ptr), "0x0000000000004000");
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/AK/Tests/TestJSON.cpp b/AK/Tests/TestJSON.cpp
index 447e5acf33..bdc2a40520 100644
--- a/AK/Tests/TestJSON.cpp
+++ b/AK/Tests/TestJSON.cpp
@@ -36,7 +36,7 @@
TEST_CASE(load_form)
{
FILE* fp = fopen("test.frm", "r");
- ASSERT(fp);
+ VERIFY(fp);
StringBuilder builder;
for (;;) {
@@ -69,7 +69,7 @@ TEST_CASE(load_form)
BENCHMARK_CASE(load_4chan_catalog)
{
FILE* fp = fopen("4chan_catalog.json", "r");
- ASSERT(fp);
+ VERIFY(fp);
StringBuilder builder;
for (;;) {
diff --git a/AK/Tests/TestUtf8.cpp b/AK/Tests/TestUtf8.cpp
index a98129a287..8ea82d4ed4 100644
--- a/AK/Tests/TestUtf8.cpp
+++ b/AK/Tests/TestUtf8.cpp
@@ -38,7 +38,7 @@ TEST_CASE(decode_ascii)
size_t i = 0;
for (u32 code_point : utf8) {
- ASSERT(i < expected_size);
+ VERIFY(i < expected_size);
EXPECT_EQ(code_point, expected[i]);
i++;
}
@@ -57,7 +57,7 @@ TEST_CASE(decode_utf8)
size_t i = 0;
for (u32 code_point : utf8) {
- ASSERT(i < expected_size);
+ VERIFY(i < expected_size);
EXPECT_EQ(code_point, expected[i]);
i++;
}
diff --git a/AK/Time.cpp b/AK/Time.cpp
index b8db7db208..067c333ea9 100644
--- a/AK/Time.cpp
+++ b/AK/Time.cpp
@@ -31,7 +31,7 @@ namespace AK {
int day_of_year(int year, unsigned month, int day)
{
- ASSERT(month >= 1 && month <= 12);
+ VERIFY(month >= 1 && month <= 12);
static const int seek_table[] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };
int day_of_year = seek_table[month - 1] + day - 1;
@@ -44,7 +44,7 @@ int day_of_year(int year, unsigned month, int day)
int days_in_month(int year, unsigned month)
{
- ASSERT(month >= 1 && month <= 12);
+ VERIFY(month >= 1 && month <= 12);
if (month == 2)
return is_leap_year(year) ? 29 : 28;
@@ -54,7 +54,7 @@ int days_in_month(int year, unsigned month)
unsigned day_of_week(int year, unsigned month, int day)
{
- ASSERT(month >= 1 && month <= 12);
+ VERIFY(month >= 1 && month <= 12);
static const int seek_table[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 };
if (month < 3)
--year;
diff --git a/AK/TypeCasts.h b/AK/TypeCasts.h
index 92e773b208..0e8f4e50ae 100644
--- a/AK/TypeCasts.h
+++ b/AK/TypeCasts.h
@@ -51,7 +51,7 @@ template<typename OutputType, typename InputType>
ALWAYS_INLINE CopyConst<InputType, OutputType>* downcast(InputType* input)
{
static_assert(IsBaseOf<InputType, OutputType>::value);
- ASSERT(!input || is<OutputType>(*input));
+ VERIFY(!input || is<OutputType>(*input));
return static_cast<CopyConst<InputType, OutputType>*>(input);
}
@@ -59,7 +59,7 @@ template<typename OutputType, typename InputType>
ALWAYS_INLINE CopyConst<InputType, OutputType>& downcast(InputType& input)
{
static_assert(IsBaseOf<InputType, OutputType>::value);
- ASSERT(is<OutputType>(input));
+ VERIFY(is<OutputType>(input));
return static_cast<CopyConst<InputType, OutputType>&>(input);
}
diff --git a/AK/UUID.cpp b/AK/UUID.cpp
index d779e4a5ef..6ad5b1dd13 100644
--- a/AK/UUID.cpp
+++ b/AK/UUID.cpp
@@ -41,7 +41,7 @@ UUID::UUID(Array<u8, 16> uuid_buffer)
void UUID::convert_string_view_to_uuid(const StringView& uuid_string_view)
{
- ASSERT(uuid_string_view.length() == 36);
+ VERIFY(uuid_string_view.length() == 36);
auto first_unit = decode_hex(uuid_string_view.substring_view(0, 8));
auto second_unit = decode_hex(uuid_string_view.substring_view(9, 4));
auto third_unit = decode_hex(uuid_string_view.substring_view(14, 4));
diff --git a/AK/Utf32View.h b/AK/Utf32View.h
index 73b096086d..1f028e5d4c 100644
--- a/AK/Utf32View.h
+++ b/AK/Utf32View.h
@@ -51,7 +51,7 @@ public:
}
Utf32CodepointIterator& operator++()
{
- ASSERT(m_length > 0);
+ VERIFY(m_length > 0);
m_ptr++;
m_length--;
return *this;
@@ -62,7 +62,7 @@ public:
}
u32 operator*() const
{
- ASSERT(m_length > 0);
+ VERIFY(m_length > 0);
return *m_ptr;
}
@@ -88,7 +88,7 @@ public:
: m_code_points(code_points)
, m_length(length)
{
- ASSERT(code_points || length == 0);
+ VERIFY(code_points || length == 0);
}
Utf32CodepointIterator begin() const
@@ -107,8 +107,8 @@ public:
size_t iterator_offset(const Utf32CodepointIterator& it) const
{
- ASSERT(it.m_ptr >= m_code_points);
- ASSERT(it.m_ptr < m_code_points + m_length);
+ VERIFY(it.m_ptr >= m_code_points);
+ VERIFY(it.m_ptr < m_code_points + m_length);
return ((ptrdiff_t)it.m_ptr - (ptrdiff_t)m_code_points) / sizeof(u32);
}
@@ -116,9 +116,9 @@ public:
{
if (length == 0)
return {};
- ASSERT(offset < m_length);
- ASSERT(!Checked<size_t>::addition_would_overflow(offset, length));
- ASSERT((offset + length) <= m_length);
+ VERIFY(offset < m_length);
+ VERIFY(!Checked<size_t>::addition_would_overflow(offset, length));
+ VERIFY((offset + length) <= m_length);
return Utf32View(m_code_points + offset, length);
}
diff --git a/AK/Utf8View.cpp b/AK/Utf8View.cpp
index ede1eb2391..eb0143d567 100644
--- a/AK/Utf8View.cpp
+++ b/AK/Utf8View.cpp
@@ -67,8 +67,8 @@ Utf8CodepointIterator Utf8View::end() const
size_t Utf8View::byte_offset_of(const Utf8CodepointIterator& it) const
{
- ASSERT(it.m_ptr >= begin_ptr());
- ASSERT(it.m_ptr <= end_ptr());
+ VERIFY(it.m_ptr >= begin_ptr());
+ VERIFY(it.m_ptr <= end_ptr());
return it.m_ptr - begin_ptr();
}
@@ -162,15 +162,15 @@ bool Utf8CodepointIterator::operator!=(const Utf8CodepointIterator& other) const
Utf8CodepointIterator& Utf8CodepointIterator::operator++()
{
- ASSERT(m_length > 0);
+ VERIFY(m_length > 0);
size_t code_point_length_in_bytes = 0;
u32 value;
bool first_byte_makes_sense = decode_first_byte(*m_ptr, code_point_length_in_bytes, value);
- ASSERT(first_byte_makes_sense);
+ VERIFY(first_byte_makes_sense);
- ASSERT(code_point_length_in_bytes <= m_length);
+ VERIFY(code_point_length_in_bytes <= m_length);
m_ptr += code_point_length_in_bytes;
m_length -= code_point_length_in_bytes;
@@ -179,17 +179,17 @@ Utf8CodepointIterator& Utf8CodepointIterator::operator++()
size_t Utf8CodepointIterator::code_point_length_in_bytes() const
{
- ASSERT(m_length > 0);
+ VERIFY(m_length > 0);
size_t code_point_length_in_bytes = 0;
u32 value;
bool first_byte_makes_sense = decode_first_byte(*m_ptr, code_point_length_in_bytes, value);
- ASSERT(first_byte_makes_sense);
+ VERIFY(first_byte_makes_sense);
return code_point_length_in_bytes;
}
u32 Utf8CodepointIterator::operator*() const
{
- ASSERT(m_length > 0);
+ VERIFY(m_length > 0);
u32 code_point_value_so_far = 0;
size_t code_point_length_in_bytes = 0;
@@ -197,13 +197,13 @@ u32 Utf8CodepointIterator::operator*() const
bool first_byte_makes_sense = decode_first_byte(m_ptr[0], code_point_length_in_bytes, code_point_value_so_far);
if (!first_byte_makes_sense)
dbgln("First byte doesn't make sense, bytes: {}", StringView { (const char*)m_ptr, m_length });
- ASSERT(first_byte_makes_sense);
+ VERIFY(first_byte_makes_sense);
if (code_point_length_in_bytes > m_length)
dbgln("Not enough bytes (need {}, have {}), first byte is: {:#02x}, '{}'", code_point_length_in_bytes, m_length, m_ptr[0], (const char*)m_ptr);
- ASSERT(code_point_length_in_bytes <= m_length);
+ VERIFY(code_point_length_in_bytes <= m_length);
for (size_t offset = 1; offset < code_point_length_in_bytes; offset++) {
- ASSERT(m_ptr[offset] >> 6 == 2);
+ VERIFY(m_ptr[offset] >> 6 == 2);
code_point_value_so_far <<= 6;
code_point_value_so_far |= m_ptr[offset] & 63;
}
diff --git a/AK/Vector.h b/AK/Vector.h
index 97b3b790cf..9f7a20d61d 100644
--- a/AK/Vector.h
+++ b/AK/Vector.h
@@ -191,12 +191,12 @@ public:
ALWAYS_INLINE const T& at(size_t i) const
{
- ASSERT(i < m_size);
+ VERIFY(i < m_size);
return data()[i];
}
ALWAYS_INLINE T& at(size_t i)
{
- ASSERT(i < m_size);
+ VERIFY(i < m_size);
return data()[i];
}
@@ -211,7 +211,7 @@ public:
T take_last()
{
- ASSERT(!is_empty());
+ VERIFY(!is_empty());
T value = move(last());
last().~T();
--m_size;
@@ -220,7 +220,7 @@ public:
T take_first()
{
- ASSERT(!is_empty());
+ VERIFY(!is_empty());
T value = move(first());
remove(0);
return value;
@@ -235,14 +235,14 @@ public:
T unstable_take(size_t index)
{
- ASSERT(index < m_size);
+ VERIFY(index < m_size);
swap(at(index), at(m_size - 1));
return take_last();
}
void remove(size_t index)
{
- ASSERT(index < m_size);
+ VERIFY(index < m_size);
if constexpr (Traits<T>::is_trivial()) {
TypedTransfer<T>::copy(slot(index), slot(index + 1), m_size - index - 1);
@@ -261,8 +261,8 @@ public:
{
if (count == 0)
return;
- ASSERT(index + count > index);
- ASSERT(index + count <= m_size);
+ VERIFY(index + count > index);
+ VERIFY(index + count <= m_size);
if constexpr (Traits<T>::is_trivial()) {
TypedTransfer<T>::copy(slot(index), slot(index + count), m_size - index - count);
@@ -281,7 +281,7 @@ public:
template<typename U = T>
void insert(size_t index, U&& value)
{
- ASSERT(index <= size());
+ VERIFY(index <= size());
if (index == size())
return append(forward<U>(value));
grow_capacity(size() + 1);
@@ -403,7 +403,7 @@ public:
template<typename U = T>
ALWAYS_INLINE void unchecked_append(U&& value)
{
- ASSERT((size() + 1) <= capacity());
+ VERIFY((size() + 1) <= capacity());
new (slot(m_size)) T(forward<U>(value));
++m_size;
}
@@ -506,7 +506,7 @@ public:
void shrink(size_t new_size, bool keep_capacity = false)
{
- ASSERT(new_size <= size());
+ VERIFY(new_size <= size());
if (new_size == size())
return;
diff --git a/AK/WeakPtr.h b/AK/WeakPtr.h
index 165de017a9..332d97bf76 100644
--- a/AK/WeakPtr.h
+++ b/AK/WeakPtr.h
@@ -229,7 +229,7 @@ inline WeakPtr<U> Weakable<T>::make_weak_ptr() const
if (static_cast<const T*>(this)->unref()) {
// We just dropped the last reference, which should have called
// revoke_weak_ptrs, which should have invalidated our weak_ptr
- ASSERT(!weak_ptr.strong_ref());
+ VERIFY(!weak_ptr.strong_ref());
return {};
}
}
diff --git a/AK/Weakable.h b/AK/Weakable.h
index ec0ae2a77f..84e91fc068 100644
--- a/AK/Weakable.h
+++ b/AK/Weakable.h
@@ -91,7 +91,7 @@ public:
void revoke()
{
auto current_consumers = m_consumers.fetch_or(1u, AK::MemoryOrder::memory_order_relaxed);
- ASSERT(!(current_consumers & 1u));
+ VERIFY(!(current_consumers & 1u));
// We flagged revokation, now wait until everyone trying to obtain
// a strong reference is done
while (current_consumers > 0) {
diff --git a/Kernel/ACPI/DynamicParser.cpp b/Kernel/ACPI/DynamicParser.cpp
index 31328c5928..a71952ef05 100644
--- a/Kernel/ACPI/DynamicParser.cpp
+++ b/Kernel/ACPI/DynamicParser.cpp
@@ -40,39 +40,39 @@ UNMAP_AFTER_INIT DynamicParser::DynamicParser(PhysicalAddress rsdp)
void DynamicParser::handle_irq(const RegisterState&)
{
// FIXME: Implement IRQ handling of ACPI signals!
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void DynamicParser::enable_aml_interpretation()
{
// FIXME: Implement AML Interpretation
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void DynamicParser::enable_aml_interpretation(File&)
{
// FIXME: Implement AML Interpretation
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void DynamicParser::enable_aml_interpretation(u8*, u32)
{
// FIXME: Implement AML Interpretation
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void DynamicParser::disable_aml_interpretation()
{
// FIXME: Implement AML Interpretation
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void DynamicParser::try_acpi_shutdown()
{
// FIXME: Implement AML Interpretation to perform ACPI shutdown
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void DynamicParser::build_namespace()
{
// FIXME: Implement AML Interpretation to build the ACPI namespace
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Kernel/ACPI/MultiProcessorParser.cpp b/Kernel/ACPI/MultiProcessorParser.cpp
index 274faf6b18..3e26567f14 100644
--- a/Kernel/ACPI/MultiProcessorParser.cpp
+++ b/Kernel/ACPI/MultiProcessorParser.cpp
@@ -96,7 +96,7 @@ UNMAP_AFTER_INIT void MultiProcessorParser::parse_configuration_table()
entry = (MultiProcessor::EntryHeader*)(FlatPtr)entry + sizeof(MultiProcessor::CompatibilityBusAddressSpaceModifierEntry);
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
--entry_count;
}
diff --git a/Kernel/ACPI/Parser.cpp b/Kernel/ACPI/Parser.cpp
index be2146e7a8..8a7cf44255 100644
--- a/Kernel/ACPI/Parser.cpp
+++ b/Kernel/ACPI/Parser.cpp
@@ -47,7 +47,7 @@ Parser* Parser::the()
void Parser::set_the(Parser& parser)
{
- ASSERT(!s_acpi_parser);
+ VERIFY(!s_acpi_parser);
s_acpi_parser = &parser;
}
@@ -89,7 +89,7 @@ UNMAP_AFTER_INIT void Parser::init_fadt()
klog() << "ACPI: Searching for the Fixed ACPI Data Table";
m_fadt = find_table("FACP");
- ASSERT(!m_fadt.is_null());
+ VERIFY(!m_fadt.is_null());
auto sdt = map_typed<Structures::FADT>(m_fadt);
@@ -148,13 +148,13 @@ void Parser::access_generic_address(const Structures::GenericAddressStructure& s
switch (structure.access_size) {
case (u8)GenericAddressStructure::AccessSize::QWord: {
dbgln("Trying to send QWord to IO port");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
case (u8)GenericAddressStructure::AccessSize::Undefined: {
dbgln("ACPI Warning: Unknown access size {}", structure.access_size);
- ASSERT(structure.bit_width != (u8)GenericAddressStructure::BitWidth::QWord);
- ASSERT(structure.bit_width != (u8)GenericAddressStructure::BitWidth::Undefined);
+ VERIFY(structure.bit_width != (u8)GenericAddressStructure::BitWidth::QWord);
+ VERIFY(structure.bit_width != (u8)GenericAddressStructure::BitWidth::Undefined);
dbgln("ACPI: Bit Width - {} bits", structure.bit_width);
address.out(value, structure.bit_width);
break;
@@ -182,7 +182,7 @@ void Parser::access_generic_address(const Structures::GenericAddressStructure& s
break;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return;
}
@@ -193,16 +193,16 @@ void Parser::access_generic_address(const Structures::GenericAddressStructure& s
u32 offset_in_pci_address = structure.address & 0xFFFF;
if (structure.access_size == (u8)GenericAddressStructure::AccessSize::QWord) {
dbgln("Trying to send QWord to PCI configuration space");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
- ASSERT(structure.access_size != (u8)GenericAddressStructure::AccessSize::Undefined);
+ VERIFY(structure.access_size != (u8)GenericAddressStructure::AccessSize::Undefined);
PCI::raw_access(pci_address, offset_in_pci_address, (1 << (structure.access_size - 1)), value);
return;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool Parser::validate_reset_register()
@@ -222,7 +222,7 @@ void Parser::try_acpi_reboot()
dbgln_if(ACPI_DEBUG, "ACPI: Rebooting, Probing FADT ({})", m_fadt);
auto fadt = map_typed<Structures::FADT>(m_fadt);
- ASSERT(validate_reset_register());
+ VERIFY(validate_reset_register());
access_generic_address(fadt->reset_reg, fadt->reset_value);
Processor::halt();
}
@@ -255,7 +255,7 @@ UNMAP_AFTER_INIT void Parser::initialize_main_system_description_table()
#if ACPI_DEBUG
dbgln("ACPI: Checking Main SDT Length to choose the correct mapping size");
#endif
- ASSERT(!m_main_system_description_table.is_null());
+ VERIFY(!m_main_system_description_table.is_null());
auto length = get_table_size(m_main_system_description_table);
auto revision = get_table_revision(m_main_system_description_table);
@@ -333,7 +333,7 @@ UNMAP_AFTER_INIT Optional<PhysicalAddress> StaticParsing::find_rsdp()
UNMAP_AFTER_INIT PhysicalAddress StaticParsing::find_table(PhysicalAddress rsdp_address, const StringView& signature)
{
// FIXME: There's no validation of ACPI tables here. Use the checksum to validate the tables.
- ASSERT(signature.length() == 4);
+ VERIFY(signature.length() == 4);
auto rsdp = map_typed<Structures::RSDPDescriptor20>(rsdp_address);
@@ -345,13 +345,13 @@ UNMAP_AFTER_INIT PhysicalAddress StaticParsing::find_table(PhysicalAddress rsdp_
return search_table_in_xsdt(PhysicalAddress(rsdp->xsdt_ptr), signature);
return search_table_in_rsdt(PhysicalAddress(rsdp->base.rsdt_ptr), signature);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
UNMAP_AFTER_INIT static PhysicalAddress search_table_in_xsdt(PhysicalAddress xsdt_address, const StringView& signature)
{
// FIXME: There's no validation of ACPI tables here. Use the checksum to validate the tables.
- ASSERT(signature.length() == 4);
+ VERIFY(signature.length() == 4);
auto xsdt = map_typed<Structures::XSDT>(xsdt_address);
@@ -365,7 +365,7 @@ UNMAP_AFTER_INIT static PhysicalAddress search_table_in_xsdt(PhysicalAddress xsd
static bool match_table_signature(PhysicalAddress table_header, const StringView& signature)
{
// FIXME: There's no validation of ACPI tables here. Use the checksum to validate the tables.
- ASSERT(signature.length() == 4);
+ VERIFY(signature.length() == 4);
auto table = map_typed<Structures::RSDT>(table_header);
return !strncmp(table->h.sig, signature.characters_without_null_termination(), 4);
@@ -374,7 +374,7 @@ static bool match_table_signature(PhysicalAddress table_header, const StringView
UNMAP_AFTER_INIT static PhysicalAddress search_table_in_rsdt(PhysicalAddress rsdt_address, const StringView& signature)
{
// FIXME: There's no validation of ACPI tables here. Use the checksum to validate the tables.
- ASSERT(signature.length() == 4);
+ VERIFY(signature.length() == 4);
auto rsdt = map_typed<Structures::RSDT>(rsdt_address);
@@ -387,22 +387,22 @@ UNMAP_AFTER_INIT static PhysicalAddress search_table_in_rsdt(PhysicalAddress rsd
void Parser::enable_aml_interpretation()
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Parser::enable_aml_interpretation(File&)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Parser::enable_aml_interpretation(u8*, u32)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Parser::disable_aml_interpretation()
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Kernel/Arch/i386/CPU.cpp b/Kernel/Arch/i386/CPU.cpp
index 8c0cc390e1..2a29ae5d83 100644
--- a/Kernel/Arch/i386/CPU.cpp
+++ b/Kernel/Arch/i386/CPU.cpp
@@ -319,7 +319,7 @@ void page_fault_handler(TrapFrame* trap)
dbgln("Continuing after resolved page fault");
#endif
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -390,7 +390,7 @@ static void unimp_trap()
GenericInterruptHandler& get_interrupt_handler(u8 interrupt_number)
{
- ASSERT(s_interrupt_handler[interrupt_number] != nullptr);
+ VERIFY(s_interrupt_handler[interrupt_number] != nullptr);
return *s_interrupt_handler[interrupt_number];
}
@@ -401,14 +401,14 @@ static void revert_to_unused_handler(u8 interrupt_number)
void register_generic_interrupt_handler(u8 interrupt_number, GenericInterruptHandler& handler)
{
- ASSERT(interrupt_number < GENERIC_INTERRUPT_HANDLERS_COUNT);
+ VERIFY(interrupt_number < GENERIC_INTERRUPT_HANDLERS_COUNT);
if (s_interrupt_handler[interrupt_number] != nullptr) {
if (s_interrupt_handler[interrupt_number]->type() == HandlerType::UnhandledInterruptHandler) {
s_interrupt_handler[interrupt_number] = &handler;
return;
}
if (s_interrupt_handler[interrupt_number]->is_shared_handler() && !s_interrupt_handler[interrupt_number]->is_sharing_with_others()) {
- ASSERT(s_interrupt_handler[interrupt_number]->type() == HandlerType::SharedIRQHandler);
+ VERIFY(s_interrupt_handler[interrupt_number]->type() == HandlerType::SharedIRQHandler);
static_cast<SharedIRQHandler*>(s_interrupt_handler[interrupt_number])->register_handler(handler);
return;
}
@@ -417,7 +417,7 @@ void register_generic_interrupt_handler(u8 interrupt_number, GenericInterruptHan
static_cast<SpuriousInterruptHandler*>(s_interrupt_handler[interrupt_number])->register_handler(handler);
return;
}
- ASSERT(s_interrupt_handler[interrupt_number]->type() == HandlerType::IRQHandler);
+ VERIFY(s_interrupt_handler[interrupt_number]->type() == HandlerType::IRQHandler);
auto& previous_handler = *s_interrupt_handler[interrupt_number];
s_interrupt_handler[interrupt_number] = nullptr;
SharedIRQHandler::initialize(interrupt_number);
@@ -425,7 +425,7 @@ void register_generic_interrupt_handler(u8 interrupt_number, GenericInterruptHan
static_cast<SharedIRQHandler*>(s_interrupt_handler[interrupt_number])->register_handler(handler);
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
s_interrupt_handler[interrupt_number] = &handler;
}
@@ -433,13 +433,13 @@ void register_generic_interrupt_handler(u8 interrupt_number, GenericInterruptHan
void unregister_generic_interrupt_handler(u8 interrupt_number, GenericInterruptHandler& handler)
{
- ASSERT(s_interrupt_handler[interrupt_number] != nullptr);
+ VERIFY(s_interrupt_handler[interrupt_number] != nullptr);
if (s_interrupt_handler[interrupt_number]->type() == HandlerType::UnhandledInterruptHandler) {
dbgln("Trying to unregister unused handler (?)");
return;
}
if (s_interrupt_handler[interrupt_number]->is_shared_handler() && !s_interrupt_handler[interrupt_number]->is_sharing_with_others()) {
- ASSERT(s_interrupt_handler[interrupt_number]->type() == HandlerType::SharedIRQHandler);
+ VERIFY(s_interrupt_handler[interrupt_number]->type() == HandlerType::SharedIRQHandler);
static_cast<SharedIRQHandler*>(s_interrupt_handler[interrupt_number])->unregister_handler(handler);
if (!static_cast<SharedIRQHandler*>(s_interrupt_handler[interrupt_number])->sharing_devices_count()) {
revert_to_unused_handler(interrupt_number);
@@ -447,11 +447,11 @@ void unregister_generic_interrupt_handler(u8 interrupt_number, GenericInterruptH
return;
}
if (!s_interrupt_handler[interrupt_number]->is_shared_handler()) {
- ASSERT(s_interrupt_handler[interrupt_number]->type() == HandlerType::IRQHandler);
+ VERIFY(s_interrupt_handler[interrupt_number]->type() == HandlerType::IRQHandler);
revert_to_unused_handler(interrupt_number);
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
UNMAP_AFTER_INIT void register_interrupt_handler(u8 index, void (*f)())
@@ -692,11 +692,11 @@ void handle_interrupt(TrapFrame* trap)
{
clac();
auto& regs = *trap->regs;
- ASSERT(regs.isr_number >= IRQ_VECTOR_BASE && regs.isr_number <= (IRQ_VECTOR_BASE + GENERIC_INTERRUPT_HANDLERS_COUNT));
+ VERIFY(regs.isr_number >= IRQ_VECTOR_BASE && regs.isr_number <= (IRQ_VECTOR_BASE + GENERIC_INTERRUPT_HANDLERS_COUNT));
u8 irq = (u8)(regs.isr_number - 0x50);
s_entropy_source_interrupts.add_random_event(irq);
auto* handler = s_interrupt_handler[irq];
- ASSERT(handler);
+ VERIFY(handler);
handler->increment_invoking_counter();
handler->handle_interrupt(regs);
handler->eoi();
@@ -792,7 +792,7 @@ static volatile bool s_smp_enabled;
Vector<Processor*>& Processor::processors()
{
- ASSERT(s_processors);
+ VERIFY(s_processors);
return *s_processors;
}
@@ -803,8 +803,8 @@ Processor& Processor::by_id(u32 cpu)
// for all APs to finish, after which this array never gets modified
// again, so it's safe to not protect access to it here
auto& procs = processors();
- ASSERT(procs[cpu] != nullptr);
- ASSERT(procs.size() > cpu);
+ VERIFY(procs[cpu] != nullptr);
+ VERIFY(procs.size() > cpu);
return *procs[cpu];
}
@@ -861,7 +861,7 @@ UNMAP_AFTER_INIT void Processor::cpu_detect()
u32 max_extended_leaf = CPUID(0x80000000).eax();
- ASSERT(max_extended_leaf >= 0x80000001);
+ VERIFY(max_extended_leaf >= 0x80000001);
CPUID extended_processor_info(0x80000001);
if (extended_processor_info.edx() & (1 << 20))
set_feature(CPUFeature::NX);
@@ -1049,14 +1049,14 @@ UNMAP_AFTER_INIT void Processor::early_initialize(u32 cpu)
cpu_setup();
gdt_init();
- ASSERT(is_initialized()); // sanity check
- ASSERT(&current() == this); // sanity check
+ VERIFY(is_initialized()); // sanity check
+ VERIFY(&current() == this); // sanity check
}
UNMAP_AFTER_INIT void Processor::initialize(u32 cpu)
{
- ASSERT(m_self == this);
- ASSERT(&current() == this); // sanity check
+ VERIFY(m_self == this);
+ VERIFY(&current() == this); // sanity check
dmesgln("CPU[{}]: Supported features: {}", id(), features_string());
if (!has_feature(CPUFeature::RDRAND))
@@ -1069,7 +1069,7 @@ UNMAP_AFTER_INIT void Processor::initialize(u32 cpu)
flush_idt();
if (cpu == 0) {
- ASSERT((FlatPtr(&s_clean_fpu_state) & 0xF) == 0);
+ VERIFY((FlatPtr(&s_clean_fpu_state) & 0xF) == 0);
asm volatile("fninit");
asm volatile("fxsave %0"
: "=m"(s_clean_fpu_state));
@@ -1095,7 +1095,7 @@ void Processor::write_raw_gdt_entry(u16 selector, u32 low, u32 high)
if (i > m_gdt_length) {
m_gdt_length = i + 1;
- ASSERT(m_gdt_length <= sizeof(m_gdt) / sizeof(m_gdt[0]));
+ VERIFY(m_gdt_length <= sizeof(m_gdt) / sizeof(m_gdt[0]));
m_gdtr.limit = (m_gdt_length + 1) * 8 - 1;
}
m_gdt[i].low = low;
@@ -1178,14 +1178,14 @@ Vector<FlatPtr> Processor::capture_stack_trace(Thread& thread, size_t max_frames
// reflect the status at the last context switch.
ScopedSpinLock lock(g_scheduler_lock);
if (&thread == Processor::current_thread()) {
- ASSERT(thread.state() == Thread::Running);
+ VERIFY(thread.state() == Thread::Running);
// Leave the scheduler lock. If we trigger page faults we may
// need to be preempted. Since this is our own thread it won't
// cause any problems as the stack won't change below this frame.
lock.unlock();
capture_current_thread();
} else if (thread.is_active()) {
- ASSERT(thread.cpu() != Processor::id());
+ VERIFY(thread.cpu() != Processor::id());
// If this is the case, the thread is currently running
// on another processor. We can't trust the kernel stack as
// it may be changing at any time. We need to probably send
@@ -1197,8 +1197,8 @@ Vector<FlatPtr> Processor::capture_stack_trace(Thread& thread, size_t max_frames
[&]() {
dbgln("CPU[{}] getting stack for cpu #{}", Processor::id(), proc.get_id());
ProcessPagingScope paging_scope(thread.process());
- ASSERT(&Processor::current() != &proc);
- ASSERT(&thread == Processor::current_thread());
+ VERIFY(&Processor::current() != &proc);
+ VERIFY(&thread == Processor::current_thread());
// NOTE: Because the other processor is still holding the
// scheduler lock while waiting for this callback to finish,
// the current thread on the target processor cannot change
@@ -1212,7 +1212,7 @@ Vector<FlatPtr> Processor::capture_stack_trace(Thread& thread, size_t max_frames
} else {
switch (thread.state()) {
case Thread::Running:
- ASSERT_NOT_REACHED(); // should have been handled above
+ VERIFY_NOT_REACHED(); // should have been handled above
case Thread::Runnable:
case Thread::Stopped:
case Thread::Blocked:
@@ -1251,8 +1251,8 @@ Vector<FlatPtr> Processor::capture_stack_trace(Thread& thread, size_t max_frames
extern "C" void enter_thread_context(Thread* from_thread, Thread* to_thread)
{
- ASSERT(from_thread == to_thread || from_thread->state() != Thread::Running);
- ASSERT(to_thread->state() == Thread::Running);
+ VERIFY(from_thread == to_thread || from_thread->state() != Thread::Running);
+ VERIFY(to_thread->state() == Thread::Running);
Processor::set_current_thread(*to_thread);
@@ -1287,9 +1287,9 @@ extern "C" void enter_thread_context(Thread* from_thread, Thread* to_thread)
void Processor::switch_context(Thread*& from_thread, Thread*& to_thread)
{
- ASSERT(!in_irq());
- ASSERT(m_in_critical == 1);
- ASSERT(is_kernel_mode());
+ VERIFY(!in_irq());
+ VERIFY(m_in_critical == 1);
+ VERIFY(is_kernel_mode());
dbgln_if(CONTEXT_SWITCH_DEBUG, "switch_context --> switching out of: {} {}", VirtualAddress(from_thread), *from_thread);
from_thread->save_critical(m_in_critical);
@@ -1344,12 +1344,12 @@ void Processor::switch_context(Thread*& from_thread, Thread*& to_thread)
extern "C" void context_first_init([[maybe_unused]] Thread* from_thread, [[maybe_unused]] Thread* to_thread, [[maybe_unused]] TrapFrame* trap)
{
- ASSERT(!are_interrupts_enabled());
- ASSERT(is_kernel_mode());
+ VERIFY(!are_interrupts_enabled());
+ VERIFY(is_kernel_mode());
dbgln_if(CONTEXT_SWITCH_DEBUG, "switch_context <-- from {} {} to {} {} (context_first_init)", VirtualAddress(from_thread), *from_thread, VirtualAddress(to_thread), *to_thread);
- ASSERT(to_thread == Thread::current());
+ VERIFY(to_thread == Thread::current());
Scheduler::enter_current(*from_thread, true);
@@ -1388,13 +1388,13 @@ void exit_kernel_thread(void)
u32 Processor::init_context(Thread& thread, bool leave_crit)
{
- ASSERT(is_kernel_mode());
- ASSERT(g_scheduler_lock.is_locked());
+ VERIFY(is_kernel_mode());
+ VERIFY(g_scheduler_lock.is_locked());
if (leave_crit) {
// Leave the critical section we set up in in Process::exec,
// but because we still have the scheduler lock we should end up with 1
m_in_critical--; // leave it without triggering anything or restoring flags
- ASSERT(in_critical() == 1);
+ VERIFY(in_critical() == 1);
}
u32 kernel_stack_top = thread.kernel_stack_top();
@@ -1405,7 +1405,7 @@ u32 Processor::init_context(Thread& thread, bool leave_crit)
u32 stack_top = kernel_stack_top;
// TODO: handle NT?
- ASSERT((cpu_flags() & 0x24000) == 0); // Assume !(NT | VM)
+ VERIFY((cpu_flags() & 0x24000) == 0); // Assume !(NT | VM)
auto& tss = thread.tss();
bool return_to_user = (tss.cs & 3) != 0;
@@ -1503,7 +1503,7 @@ u32 Processor::init_context(Thread& thread, bool leave_crit)
extern "C" u32 do_init_context(Thread* thread, u32 flags)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
thread->tss().eflags = flags;
return Processor::current().init_context(*thread, true);
}
@@ -1536,18 +1536,18 @@ void Processor::assume_context(Thread& thread, u32 flags)
{
dbgln_if(CONTEXT_SWITCH_DEBUG, "Assume context for thread {} {}", VirtualAddress(&thread), thread);
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
Scheduler::prepare_after_exec();
// in_critical() should be 2 here. The critical section in Process::exec
// and then the scheduler lock
- ASSERT(Processor::current().in_critical() == 2);
+ VERIFY(Processor::current().in_critical() == 2);
do_assume_context(&thread, flags);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
extern "C" UNMAP_AFTER_INIT void pre_init_finished(void)
{
- ASSERT(g_scheduler_lock.own_lock());
+ VERIFY(g_scheduler_lock.own_lock());
// Because init_finished() will wait on the other APs, we need
// to release the scheduler lock so that the other APs can also get
@@ -1567,7 +1567,7 @@ extern "C" UNMAP_AFTER_INIT void post_init_finished(void)
UNMAP_AFTER_INIT void Processor::initialize_context_switching(Thread& initial_thread)
{
- ASSERT(initial_thread.process().is_kernel_process());
+ VERIFY(initial_thread.process().is_kernel_process());
auto& tss = initial_thread.tss();
m_tss = tss;
@@ -1605,13 +1605,13 @@ UNMAP_AFTER_INIT void Processor::initialize_context_switching(Thread& initial_th
);
// clang-format on
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Processor::enter_trap(TrapFrame& trap, bool raise_irq)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(&Processor::current() == this);
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(&Processor::current() == this);
trap.prev_irq_level = m_in_irq;
if (raise_irq)
m_in_irq++;
@@ -1629,9 +1629,9 @@ void Processor::enter_trap(TrapFrame& trap, bool raise_irq)
void Processor::exit_trap(TrapFrame& trap)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(&Processor::current() == this);
- ASSERT(m_in_irq >= trap.prev_irq_level);
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(&Processor::current() == this);
+ VERIFY(m_in_irq >= trap.prev_irq_level);
m_in_irq = trap.prev_irq_level;
smp_process_pending_messages();
@@ -1644,7 +1644,7 @@ void Processor::exit_trap(TrapFrame& trap)
auto& current_trap = current_thread->current_trap();
current_trap = trap.next_trap;
if (current_trap) {
- ASSERT(current_trap->regs);
+ VERIFY(current_trap->regs);
// If we have another higher level trap then we probably returned
// from an interrupt or irq handler. The cs register of the
// new/higher level trap tells us what the mode prior to it was
@@ -1659,8 +1659,8 @@ void Processor::exit_trap(TrapFrame& trap)
void Processor::check_invoke_scheduler()
{
- ASSERT(!m_in_irq);
- ASSERT(!m_in_critical);
+ VERIFY(!m_in_irq);
+ VERIFY(!m_in_critical);
if (m_invoke_scheduler_async && m_scheduler_initialized) {
m_invoke_scheduler_async = false;
Scheduler::invoke_async();
@@ -1724,7 +1724,7 @@ ProcessorMessage& Processor::smp_get_from_pool()
}
}
- ASSERT(msg != nullptr);
+ VERIFY(msg != nullptr);
return *msg;
}
@@ -1732,15 +1732,15 @@ Atomic<u32> Processor::s_idle_cpu_mask { 0 };
u32 Processor::smp_wake_n_idle_processors(u32 wake_count)
{
- ASSERT(Processor::current().in_critical());
- ASSERT(wake_count > 0);
+ VERIFY(Processor::current().in_critical());
+ VERIFY(wake_count > 0);
if (!s_smp_enabled)
return 0;
// Wake at most N - 1 processors
if (wake_count >= Processor::count()) {
wake_count = Processor::count() - 1;
- ASSERT(wake_count > 0);
+ VERIFY(wake_count > 0);
}
u32 current_id = Processor::current().id();
@@ -1853,7 +1853,7 @@ bool Processor::smp_process_pending_messages()
case ProcessorMessage::FlushTlb:
if (is_user_address(VirtualAddress(msg->flush_tlb.ptr))) {
// We assume that we don't cross into kernel land!
- ASSERT(is_user_range(VirtualAddress(msg->flush_tlb.ptr), msg->flush_tlb.page_count * PAGE_SIZE));
+ VERIFY(is_user_range(VirtualAddress(msg->flush_tlb.ptr), msg->flush_tlb.page_count * PAGE_SIZE));
if (read_cr3() != msg->flush_tlb.page_directory->cr3()) {
// This processor isn't using this page directory right now, we can ignore this request
dbgln_if(SMP_DEBUG, "SMP[{}]: No need to flush {} pages at {}", id(), msg->flush_tlb.page_count, VirtualAddress(msg->flush_tlb.ptr));
@@ -1866,7 +1866,7 @@ bool Processor::smp_process_pending_messages()
bool is_async = msg->async; // Need to cache this value *before* dropping the ref count!
auto prev_refs = atomic_fetch_sub(&msg->refs, 1u, AK::MemoryOrder::memory_order_acq_rel);
- ASSERT(prev_refs != 0);
+ VERIFY(prev_refs != 0);
if (prev_refs == 1) {
// All processors handled this. If this is an async message,
// we need to clean it up and return it to the pool
@@ -1894,7 +1894,7 @@ bool Processor::smp_queue_message(ProcessorMessage& msg)
// the queue at any given time. We rely on the fact that the messages
// are pooled and never get freed!
auto& msg_entry = msg.per_proc_entries[id()];
- ASSERT(msg_entry.msg == &msg);
+ VERIFY(msg_entry.msg == &msg);
ProcessorMessageEntry* next = nullptr;
do {
msg_entry.next = next;
@@ -1909,7 +1909,7 @@ void Processor::smp_broadcast_message(ProcessorMessage& msg)
dbgln_if(SMP_DEBUG, "SMP[{}]: Broadcast message {} to cpus: {} proc: {}", cur_proc.get_id(), VirtualAddress(&msg), count(), VirtualAddress(&cur_proc));
atomic_store(&msg.refs, count() - 1, AK::MemoryOrder::memory_order_release);
- ASSERT(msg.refs > 0);
+ VERIFY(msg.refs > 0);
bool need_broadcast = false;
for_each(
[&](Processor& proc) -> IterationDecision {
@@ -1928,7 +1928,7 @@ void Processor::smp_broadcast_message(ProcessorMessage& msg)
void Processor::smp_broadcast_wait_sync(ProcessorMessage& msg)
{
auto& cur_proc = Processor::current();
- ASSERT(!msg.async);
+ VERIFY(!msg.async);
// If synchronous then we must cleanup and return the message back
// to the pool. Otherwise, the last processor to complete it will return it
while (atomic_load(&msg.refs, AK::MemoryOrder::memory_order_consume) != 0) {
@@ -1971,7 +1971,7 @@ void Processor::smp_broadcast(void (*callback)(), bool async)
void Processor::smp_unicast_message(u32 cpu, ProcessorMessage& msg, bool async)
{
auto& cur_proc = Processor::current();
- ASSERT(cpu != cur_proc.get_id());
+ VERIFY(cpu != cur_proc.get_id());
auto& target_proc = processors()[cpu];
msg.async = async;
@@ -2068,8 +2068,8 @@ UNMAP_AFTER_INIT void Processor::deferred_call_pool_init()
void Processor::deferred_call_return_to_pool(DeferredCallEntry* entry)
{
- ASSERT(m_in_critical);
- ASSERT(!entry->was_allocated);
+ VERIFY(m_in_critical);
+ VERIFY(!entry->was_allocated);
entry->next = m_free_deferred_call_pool_entry;
m_free_deferred_call_pool_entry = entry;
@@ -2077,13 +2077,13 @@ void Processor::deferred_call_return_to_pool(DeferredCallEntry* entry)
DeferredCallEntry* Processor::deferred_call_get_free()
{
- ASSERT(m_in_critical);
+ VERIFY(m_in_critical);
if (m_free_deferred_call_pool_entry) {
// Fast path, we have an entry in our pool
auto* entry = m_free_deferred_call_pool_entry;
m_free_deferred_call_pool_entry = entry->next;
- ASSERT(!entry->was_allocated);
+ VERIFY(!entry->was_allocated);
return entry;
}
@@ -2094,7 +2094,7 @@ DeferredCallEntry* Processor::deferred_call_get_free()
void Processor::deferred_call_execute_pending()
{
- ASSERT(m_in_critical);
+ VERIFY(m_in_critical);
if (!m_pending_deferred_calls)
return;
@@ -2137,7 +2137,7 @@ void Processor::deferred_call_execute_pending()
void Processor::deferred_call_queue_entry(DeferredCallEntry* entry)
{
- ASSERT(m_in_critical);
+ VERIFY(m_in_critical);
entry->next = m_pending_deferred_calls;
m_pending_deferred_calls = entry;
}
diff --git a/Kernel/Arch/i386/CPU.h b/Kernel/Arch/i386/CPU.h
index 054750675b..1e0e90875e 100644
--- a/Kernel/Arch/i386/CPU.h
+++ b/Kernel/Arch/i386/CPU.h
@@ -912,14 +912,14 @@ public:
ALWAYS_INLINE void restore_irq(u32 prev_irq)
{
- ASSERT(prev_irq <= m_in_irq);
+ VERIFY(prev_irq <= m_in_irq);
if (!prev_irq) {
u32 prev_critical = 0;
if (m_in_critical.compare_exchange_strong(prev_critical, 1)) {
m_in_irq = prev_irq;
deferred_call_execute_pending();
auto prev_raised = m_in_critical.exchange(prev_critical);
- ASSERT(prev_raised == prev_critical + 1);
+ VERIFY(prev_raised == prev_critical + 1);
check_invoke_scheduler();
} else if (prev_critical == 0) {
check_invoke_scheduler();
@@ -949,11 +949,11 @@ public:
ALWAYS_INLINE void leave_critical(u32 prev_flags)
{
cli(); // Need to prevent IRQs from interrupting us here!
- ASSERT(m_in_critical > 0);
+ VERIFY(m_in_critical > 0);
if (m_in_critical == 1) {
if (!m_in_irq) {
deferred_call_execute_pending();
- ASSERT(m_in_critical == 1);
+ VERIFY(m_in_critical == 1);
}
m_in_critical--;
if (!m_in_irq)
@@ -981,7 +981,7 @@ public:
ALWAYS_INLINE void restore_critical(u32 prev_crit, u32 prev_flags)
{
m_in_critical.store(prev_crit, AK::MemoryOrder::memory_order_release);
- ASSERT(!prev_crit || !(prev_flags & 0x200));
+ VERIFY(!prev_crit || !(prev_flags & 0x200));
if (prev_flags & 0x200)
sti();
else
@@ -1105,14 +1105,14 @@ public:
void leave()
{
- ASSERT(m_valid);
+ VERIFY(m_valid);
m_valid = false;
Processor::current().leave_critical(m_prev_flags);
}
void enter()
{
- ASSERT(!m_valid);
+ VERIFY(!m_valid);
m_valid = true;
Processor::current().enter_critical(m_prev_flags);
}
diff --git a/Kernel/Arch/i386/ProcessorInfo.cpp b/Kernel/Arch/i386/ProcessorInfo.cpp
index 2c101c3eb1..a7f8f4ec4d 100644
--- a/Kernel/Arch/i386/ProcessorInfo.cpp
+++ b/Kernel/Arch/i386/ProcessorInfo.cpp
@@ -52,7 +52,7 @@ ProcessorInfo::ProcessorInfo(Processor& processor)
m_cpuid = builder.build();
}
{
- ASSERT(max_leaf >= 1);
+ VERIFY(max_leaf >= 1);
CPUID cpuid(1);
m_stepping = cpuid.eax() & 0xf;
u32 model = (cpuid.eax() >> 4) & 0xf;
diff --git a/Kernel/Assertions.h b/Kernel/Assertions.h
index 6a0c6b70e1..350e3caf83 100644
--- a/Kernel/Assertions.h
+++ b/Kernel/Assertions.h
@@ -31,11 +31,11 @@
#ifdef DEBUG
[[noreturn]] void __assertion_failed(const char* msg, const char* file, unsigned line, const char* func);
-# define ASSERT(expr) (static_cast<bool>(expr) ? void(0) : __assertion_failed(# expr, __FILE__, __LINE__, __PRETTY_FUNCTION__))
-# define ASSERT_NOT_REACHED() ASSERT(false)
+# define VERIFY(expr) (static_cast<bool>(expr) ? void(0) : __assertion_failed(# expr, __FILE__, __LINE__, __PRETTY_FUNCTION__))
+# define VERIFY_NOT_REACHED() VERIFY(false)
#else
-# define ASSERT(expr)
-# define ASSERT_NOT_REACHED() CRASH()
+# define VERIFY(expr)
+# define VERIFY_NOT_REACHED() CRASH()
#endif
#define CRASH() \
do { \
@@ -47,6 +47,6 @@
CRASH(); \
} while (0)
-#define ASSERT_INTERRUPTS_DISABLED() ASSERT(!(cpu_flags() & 0x200))
-#define ASSERT_INTERRUPTS_ENABLED() ASSERT(cpu_flags() & 0x200)
-#define TODO ASSERT_NOT_REACHED
+#define VERIFY_INTERRUPTS_DISABLED() VERIFY(!(cpu_flags() & 0x200))
+#define VERIFY_INTERRUPTS_ENABLED() VERIFY(cpu_flags() & 0x200)
+#define TODO VERIFY_NOT_REACHED
diff --git a/Kernel/CommandLine.cpp b/Kernel/CommandLine.cpp
index 907777cb80..2bc0679646 100644
--- a/Kernel/CommandLine.cpp
+++ b/Kernel/CommandLine.cpp
@@ -45,13 +45,13 @@ UNMAP_AFTER_INIT void CommandLine::early_initialize(const char* cmd_line)
const CommandLine& kernel_command_line()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
UNMAP_AFTER_INIT void CommandLine::initialize()
{
- ASSERT(!s_the);
+ VERIFY(!s_the);
s_the = new CommandLine(s_cmd_line);
}
diff --git a/Kernel/DMI.cpp b/Kernel/DMI.cpp
index 584020c195..eb4f52bf1a 100644
--- a/Kernel/DMI.cpp
+++ b/Kernel/DMI.cpp
@@ -81,7 +81,7 @@ size_t DMIExpose::structure_table_length() const
UNMAP_AFTER_INIT void DMIExpose::initialize_exposer()
{
- ASSERT(!(m_entry_point.is_null()));
+ VERIFY(!(m_entry_point.is_null()));
if (m_using_64bit_entry_point) {
set_64_bit_entry_initialization_values();
} else {
diff --git a/Kernel/Devices/AsyncDeviceRequest.cpp b/Kernel/Devices/AsyncDeviceRequest.cpp
index 07665b874e..28e6bea121 100644
--- a/Kernel/Devices/AsyncDeviceRequest.cpp
+++ b/Kernel/Devices/AsyncDeviceRequest.cpp
@@ -39,8 +39,8 @@ AsyncDeviceRequest::~AsyncDeviceRequest()
{
{
ScopedSpinLock lock(m_lock);
- ASSERT(is_completed_result(m_result));
- ASSERT(m_sub_requests_pending.is_empty());
+ VERIFY(is_completed_result(m_result));
+ VERIFY(m_sub_requests_pending.is_empty());
}
// We should not need any locking here anymore. The destructor should
@@ -50,8 +50,8 @@ AsyncDeviceRequest::~AsyncDeviceRequest()
// Which means there should be no more pending sub-requests and the
// entire AsyncDeviceRequest hierarchy should be immutable.
for (auto& sub_request : m_sub_requests_complete) {
- ASSERT(is_completed_result(sub_request.m_result)); // Shouldn't need any locking anymore
- ASSERT(sub_request.m_parent_request == this);
+ VERIFY(is_completed_result(sub_request.m_result)); // Shouldn't need any locking anymore
+ VERIFY(sub_request.m_parent_request == this);
sub_request.m_parent_request = nullptr;
}
}
@@ -70,7 +70,7 @@ void AsyncDeviceRequest::request_finished()
auto AsyncDeviceRequest::wait(timeval* timeout) -> RequestWaitResult
{
- ASSERT(!m_parent_request);
+ VERIFY(!m_parent_request);
auto request_result = get_request_result();
if (is_completed_result(request_result))
return { request_result, Thread::BlockResult::NotBlocked };
@@ -87,14 +87,14 @@ auto AsyncDeviceRequest::get_request_result() const -> RequestResult
void AsyncDeviceRequest::add_sub_request(NonnullRefPtr<AsyncDeviceRequest> sub_request)
{
// Sub-requests cannot be for the same device
- ASSERT(&m_device != &sub_request->m_device);
- ASSERT(sub_request->m_parent_request == nullptr);
+ VERIFY(&m_device != &sub_request->m_device);
+ VERIFY(sub_request->m_parent_request == nullptr);
sub_request->m_parent_request = this;
bool should_start;
{
ScopedSpinLock lock(m_lock);
- ASSERT(!is_completed_result(m_result));
+ VERIFY(!is_completed_result(m_result));
m_sub_requests_pending.append(sub_request);
should_start = (m_result == Started);
}
@@ -107,7 +107,7 @@ void AsyncDeviceRequest::sub_request_finished(AsyncDeviceRequest& sub_request)
bool all_completed;
{
ScopedSpinLock lock(m_lock);
- ASSERT(m_result == Started);
+ VERIFY(m_result == Started);
size_t index;
for (index = 0; index < m_sub_requests_pending.size(); index++) {
if (&m_sub_requests_pending[index] == &sub_request) {
@@ -117,7 +117,7 @@ void AsyncDeviceRequest::sub_request_finished(AsyncDeviceRequest& sub_request)
break;
}
}
- ASSERT(index < m_sub_requests_pending.size());
+ VERIFY(index < m_sub_requests_pending.size());
all_completed = m_sub_requests_pending.is_empty();
if (all_completed) {
// Aggregate any errors
@@ -126,7 +126,7 @@ void AsyncDeviceRequest::sub_request_finished(AsyncDeviceRequest& sub_request)
for (index = 0; index < m_sub_requests_complete.size(); index++) {
auto& sub_request = m_sub_requests_complete[index];
auto sub_result = sub_request.get_request_result();
- ASSERT(is_completed_result(sub_result));
+ VERIFY(is_completed_result(sub_result));
switch (sub_result) {
case Failure:
any_failures = true;
@@ -154,11 +154,11 @@ void AsyncDeviceRequest::sub_request_finished(AsyncDeviceRequest& sub_request)
void AsyncDeviceRequest::complete(RequestResult result)
{
- ASSERT(result == Success || result == Failure || result == MemoryFault);
+ VERIFY(result == Success || result == Failure || result == MemoryFault);
ScopedCritical critical;
{
ScopedSpinLock lock(m_lock);
- ASSERT(m_result == Started);
+ VERIFY(m_result == Started);
m_result = result;
}
if (Processor::current().in_irq()) {
diff --git a/Kernel/Devices/AsyncDeviceRequest.h b/Kernel/Devices/AsyncDeviceRequest.h
index 7d8010bd33..0577a3aa17 100644
--- a/Kernel/Devices/AsyncDeviceRequest.h
+++ b/Kernel/Devices/AsyncDeviceRequest.h
@@ -87,7 +87,7 @@ public:
void set_private(void* priv)
{
- ASSERT(!m_private || !priv);
+ VERIFY(!m_private || !priv);
m_private = priv;
}
void* get_private() const { return m_private; }
diff --git a/Kernel/Devices/BXVGADevice.cpp b/Kernel/Devices/BXVGADevice.cpp
index 4a5a5382d6..98d0420d45 100644
--- a/Kernel/Devices/BXVGADevice.cpp
+++ b/Kernel/Devices/BXVGADevice.cpp
@@ -101,7 +101,7 @@ u16 BXVGADevice::get_register(u16 index)
void BXVGADevice::revert_resolution()
{
set_resolution_registers(m_framebuffer_width, m_framebuffer_height);
- ASSERT(validate_setup_resolution(m_framebuffer_width, m_framebuffer_height));
+ VERIFY(validate_setup_resolution(m_framebuffer_width, m_framebuffer_height));
}
void BXVGADevice::set_resolution_registers(size_t width, size_t height)
@@ -152,7 +152,7 @@ bool BXVGADevice::validate_setup_resolution(size_t width, size_t height)
void BXVGADevice::set_y_offset(size_t y_offset)
{
- ASSERT(y_offset == 0 || y_offset == m_framebuffer_height);
+ VERIFY(y_offset == 0 || y_offset == m_framebuffer_height);
m_y_offset = y_offset;
set_register(VBE_DISPI_INDEX_Y_OFFSET, (u16)y_offset);
}
diff --git a/Kernel/Devices/BlockDevice.cpp b/Kernel/Devices/BlockDevice.cpp
index f2863ecb55..17e679e5a2 100644
--- a/Kernel/Devices/BlockDevice.cpp
+++ b/Kernel/Devices/BlockDevice.cpp
@@ -64,7 +64,7 @@ bool BlockDevice::read_block(unsigned index, UserOrKernelBuffer& buffer)
dbgln("BlockDevice::read_block({}) cancelled", index);
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return false;
}
@@ -85,7 +85,7 @@ bool BlockDevice::write_block(unsigned index, const UserOrKernelBuffer& buffer)
dbgln("BlockDevice::write_block({}) cancelled", index);
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return false;
}
diff --git a/Kernel/Devices/BlockDevice.h b/Kernel/Devices/BlockDevice.h
index 35ac1b8f68..e2f3d771f4 100644
--- a/Kernel/Devices/BlockDevice.h
+++ b/Kernel/Devices/BlockDevice.h
@@ -57,7 +57,7 @@ public:
case Write:
return "BlockDeviceRequest (write)";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Kernel/Devices/Device.cpp b/Kernel/Devices/Device.cpp
index 77b951e89c..edfe2fcd38 100644
--- a/Kernel/Devices/Device.cpp
+++ b/Kernel/Devices/Device.cpp
@@ -61,7 +61,7 @@ Device::Device(unsigned major, unsigned minor)
if (it != all_devices().end()) {
dbgln("Already registered {},{}: {}", major, minor, it->value->class_name());
}
- ASSERT(!all_devices().contains(device_id));
+ VERIFY(!all_devices().contains(device_id));
all_devices().set(device_id, this);
}
@@ -86,8 +86,8 @@ void Device::process_next_queued_request(Badge<AsyncDeviceRequest>, const AsyncD
{
ScopedSpinLock lock(m_requests_lock);
- ASSERT(!m_requests.is_empty());
- ASSERT(m_requests.first().ptr() == &completed_request);
+ VERIFY(!m_requests.is_empty());
+ VERIFY(m_requests.first().ptr() == &completed_request);
m_requests.remove(m_requests.begin());
if (!m_requests.is_empty())
next_request = m_requests.first().ptr();
diff --git a/Kernel/Devices/I8042Controller.cpp b/Kernel/Devices/I8042Controller.cpp
index 451ee1b513..9877df385c 100644
--- a/Kernel/Devices/I8042Controller.cpp
+++ b/Kernel/Devices/I8042Controller.cpp
@@ -41,13 +41,13 @@ UNMAP_AFTER_INIT void I8042Controller::initialize()
I8042Controller& I8042Controller::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
UNMAP_AFTER_INIT I8042Controller::I8042Controller()
{
- ASSERT(!s_the);
+ VERIFY(!s_the);
s_the = this;
u8 configuration;
@@ -148,7 +148,7 @@ UNMAP_AFTER_INIT I8042Controller::I8042Controller()
void I8042Controller::irq_process_input_buffer(Device)
{
- ASSERT(Processor::current().in_irq());
+ VERIFY(Processor::current().in_irq());
u8 status = IO::in8(I8042_STATUS);
if (!(status & I8042_BUFFER_FULL))
@@ -171,10 +171,10 @@ void I8042Controller::do_drain()
bool I8042Controller::do_reset_device(Device device)
{
- ASSERT(device != Device::None);
- ASSERT(m_lock.is_locked());
+ VERIFY(device != Device::None);
+ VERIFY(m_lock.is_locked());
- ASSERT(!Processor::current().in_irq());
+ VERIFY(!Processor::current().in_irq());
if (do_send_command(device, 0xff) != I8042_ACK)
return false;
// Wait until we get the self-test result
@@ -183,20 +183,20 @@ bool I8042Controller::do_reset_device(Device device)
u8 I8042Controller::do_send_command(Device device, u8 command)
{
- ASSERT(device != Device::None);
- ASSERT(m_lock.is_locked());
+ VERIFY(device != Device::None);
+ VERIFY(m_lock.is_locked());
- ASSERT(!Processor::current().in_irq());
+ VERIFY(!Processor::current().in_irq());
return do_write_to_device(device, command);
}
u8 I8042Controller::do_send_command(Device device, u8 command, u8 data)
{
- ASSERT(device != Device::None);
- ASSERT(m_lock.is_locked());
+ VERIFY(device != Device::None);
+ VERIFY(m_lock.is_locked());
- ASSERT(!Processor::current().in_irq());
+ VERIFY(!Processor::current().in_irq());
u8 response = do_write_to_device(device, command);
if (response == I8042_ACK)
@@ -206,10 +206,10 @@ u8 I8042Controller::do_send_command(Device device, u8 command, u8 data)
u8 I8042Controller::do_write_to_device(Device device, u8 data)
{
- ASSERT(device != Device::None);
- ASSERT(m_lock.is_locked());
+ VERIFY(device != Device::None);
+ VERIFY(m_lock.is_locked());
- ASSERT(!Processor::current().in_irq());
+ VERIFY(!Processor::current().in_irq());
int attempts = 0;
u8 response;
@@ -230,7 +230,7 @@ u8 I8042Controller::do_write_to_device(Device device, u8 data)
u8 I8042Controller::do_read_from_device(Device device)
{
- ASSERT(device != Device::None);
+ VERIFY(device != Device::None);
prepare_for_input(device);
return IO::in8(I8042_BUFFER);
@@ -238,7 +238,7 @@ u8 I8042Controller::do_read_from_device(Device device)
void I8042Controller::prepare_for_input(Device device)
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
const u8 buffer_type = device == Device::Keyboard ? I8042_KEYBOARD_BUFFER : I8042_MOUSE_BUFFER;
for (;;) {
u8 status = IO::in8(I8042_STATUS);
@@ -249,7 +249,7 @@ void I8042Controller::prepare_for_input(Device device)
void I8042Controller::prepare_for_output()
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
for (;;) {
if (!(IO::in8(I8042_STATUS) & 2))
return;
@@ -258,14 +258,14 @@ void I8042Controller::prepare_for_output()
void I8042Controller::do_wait_then_write(u8 port, u8 data)
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
prepare_for_output();
IO::out8(port, data);
}
u8 I8042Controller::do_wait_then_read(u8 port)
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
prepare_for_input(Device::None);
return IO::in8(port);
}
diff --git a/Kernel/Devices/I8042Controller.h b/Kernel/Devices/I8042Controller.h
index 78c4d41efa..d4c728f05f 100644
--- a/Kernel/Devices/I8042Controller.h
+++ b/Kernel/Devices/I8042Controller.h
@@ -113,7 +113,7 @@ private:
static int device_to_deviceinfo_index(Device device)
{
- ASSERT(device != Device::None);
+ VERIFY(device != Device::None);
return (device == Device::Keyboard) ? 0 : 1;
}
diff --git a/Kernel/Devices/KeyboardDevice.cpp b/Kernel/Devices/KeyboardDevice.cpp
index b2f3389b59..2d0bf5e0bb 100644
--- a/Kernel/Devices/KeyboardDevice.cpp
+++ b/Kernel/Devices/KeyboardDevice.cpp
@@ -450,7 +450,7 @@ KResultOr<size_t> KeyboardDevice::read(FileDescription&, size_t, UserOrKernelBuf
});
if (n < 0)
return KResult((ErrnoCode)-n);
- ASSERT((size_t)n == sizeof(Event));
+ VERIFY((size_t)n == sizeof(Event));
nread += sizeof(Event);
lock.lock();
diff --git a/Kernel/Devices/PS2MouseDevice.cpp b/Kernel/Devices/PS2MouseDevice.cpp
index 7d8f4cdfa5..9c4d42266a 100644
--- a/Kernel/Devices/PS2MouseDevice.cpp
+++ b/Kernel/Devices/PS2MouseDevice.cpp
@@ -114,7 +114,7 @@ void PS2MouseDevice::irq_handle_byte_read(u8 byte)
evaluate_block_conditions();
};
- ASSERT(m_data_state < sizeof(m_data.bytes) / sizeof(m_data.bytes[0]));
+ VERIFY(m_data_state < sizeof(m_data.bytes) / sizeof(m_data.bytes[0]));
m_data.bytes[m_data_state] = byte;
switch (m_data_state) {
@@ -136,7 +136,7 @@ void PS2MouseDevice::irq_handle_byte_read(u8 byte)
commit_packet();
break;
case 3:
- ASSERT(m_has_wheel);
+ VERIFY(m_has_wheel);
commit_packet();
break;
}
@@ -275,7 +275,7 @@ bool PS2MouseDevice::can_read(const FileDescription&, size_t) const
KResultOr<size_t> PS2MouseDevice::read(FileDescription&, size_t, UserOrKernelBuffer& buffer, size_t size)
{
- ASSERT(size > 0);
+ VERIFY(size > 0);
size_t nread = 0;
size_t remaining_space_in_buffer = static_cast<size_t>(size) - nread;
ScopedSpinLock lock(m_queue_lock);
diff --git a/Kernel/Devices/SB16.cpp b/Kernel/Devices/SB16.cpp
index 539a7a7b50..2110e1aa2b 100644
--- a/Kernel/Devices/SB16.cpp
+++ b/Kernel/Devices/SB16.cpp
@@ -153,7 +153,7 @@ void SB16::set_irq_register(u8 irq_number)
bitmask = 0b1000;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
IO::out8(0x224, 0x80);
IO::out8(0x225, bitmask);
@@ -258,7 +258,7 @@ KResultOr<size_t> SB16::write(FileDescription&, size_t, const UserOrKernelBuffer
#if SB16_DEBUG
klog() << "SB16: Writing buffer of " << length << " bytes";
#endif
- ASSERT(length <= PAGE_SIZE);
+ VERIFY(length <= PAGE_SIZE);
const int BLOCK_SIZE = 32 * 1024;
if (length > BLOCK_SIZE) {
return ENOSPC;
diff --git a/Kernel/Devices/USB/UHCIController.cpp b/Kernel/Devices/USB/UHCIController.cpp
index ba5f0df1dd..51430d35b1 100644
--- a/Kernel/Devices/USB/UHCIController.cpp
+++ b/Kernel/Devices/USB/UHCIController.cpp
@@ -296,7 +296,7 @@ QueueHead* UHCIController::allocate_queue_head() const
}
}
- ASSERT_NOT_REACHED(); // Let's just assert for now, this should never happen
+ VERIFY_NOT_REACHED(); // Let's just assert for now, this should never happen
return nullptr; // Huh!? We're outta queue heads!
}
@@ -312,7 +312,7 @@ TransferDescriptor* UHCIController::allocate_transfer_descriptor() const
}
}
- ASSERT_NOT_REACHED(); // Let's just assert for now, this should never happen
+ VERIFY_NOT_REACHED(); // Let's just assert for now, this should never happen
return nullptr; // Huh?! We're outta TDs!!
}
diff --git a/Kernel/Devices/USB/UHCIDescriptorTypes.h b/Kernel/Devices/USB/UHCIDescriptorTypes.h
index 8ffd2d4ffa..cbdba0ab25 100644
--- a/Kernel/Devices/USB/UHCIDescriptorTypes.h
+++ b/Kernel/Devices/USB/UHCIDescriptorTypes.h
@@ -105,13 +105,13 @@ struct alignas(16) TransferDescriptor final {
void set_in_use(bool in_use) { m_in_use = in_use; }
void set_max_len(u16 max_len)
{
- ASSERT(max_len < 0x500 || max_len == 0x7ff);
+ VERIFY(max_len < 0x500 || max_len == 0x7ff);
m_token |= (max_len << 21);
}
void set_device_address(u8 address)
{
- ASSERT(address <= 0x7f);
+ VERIFY(address <= 0x7f);
m_token |= (address << 8);
}
diff --git a/Kernel/DoubleBuffer.cpp b/Kernel/DoubleBuffer.cpp
index 790201cc8b..2797e9e31b 100644
--- a/Kernel/DoubleBuffer.cpp
+++ b/Kernel/DoubleBuffer.cpp
@@ -53,7 +53,7 @@ void DoubleBuffer::flip()
{
if (m_storage.is_null())
return;
- ASSERT(m_read_buffer_index == m_read_buffer->size);
+ VERIFY(m_read_buffer_index == m_read_buffer->size);
swap(m_read_buffer, m_write_buffer);
m_write_buffer->size = 0;
m_read_buffer_index = 0;
@@ -64,7 +64,7 @@ ssize_t DoubleBuffer::write(const UserOrKernelBuffer& data, size_t size)
{
if (!size || m_storage.is_null())
return 0;
- ASSERT(size > 0);
+ VERIFY(size > 0);
LOCKER(m_lock);
size_t bytes_to_write = min(size, m_space_for_writing);
u8* write_ptr = m_write_buffer->data + m_write_buffer->size;
@@ -81,7 +81,7 @@ ssize_t DoubleBuffer::read(UserOrKernelBuffer& data, size_t size)
{
if (!size || m_storage.is_null())
return 0;
- ASSERT(size > 0);
+ VERIFY(size > 0);
LOCKER(m_lock);
if (m_read_buffer_index >= m_read_buffer->size && m_write_buffer->size != 0)
flip();
diff --git a/Kernel/DoubleBuffer.h b/Kernel/DoubleBuffer.h
index 6db3718b8e..e2289a62c6 100644
--- a/Kernel/DoubleBuffer.h
+++ b/Kernel/DoubleBuffer.h
@@ -56,7 +56,7 @@ public:
void set_unblock_callback(Function<void()> callback)
{
- ASSERT(!m_unblock_callback);
+ VERIFY(!m_unblock_callback);
m_unblock_callback = move(callback);
}
diff --git a/Kernel/FileSystem/BlockBasedFileSystem.cpp b/Kernel/FileSystem/BlockBasedFileSystem.cpp
index 350d2200d2..84c8a29241 100644
--- a/Kernel/FileSystem/BlockBasedFileSystem.cpp
+++ b/Kernel/FileSystem/BlockBasedFileSystem.cpp
@@ -78,7 +78,7 @@ public:
{
if (auto it = m_hash.find(block_index); it != m_hash.end()) {
auto& entry = const_cast<CacheEntry&>(*it->value);
- ASSERT(entry.block_index == block_index);
+ VERIFY(entry.block_index == block_index);
return entry;
}
@@ -90,7 +90,7 @@ public:
return get(block_index);
}
- ASSERT(m_clean_list.last());
+ VERIFY(m_clean_list.last());
auto& new_entry = *m_clean_list.last();
m_clean_list.prepend(new_entry);
@@ -127,7 +127,7 @@ private:
BlockBasedFS::BlockBasedFS(FileDescription& file_description)
: FileBackedFS(file_description)
{
- ASSERT(file_description.file().is_seekable());
+ VERIFY(file_description.file().is_seekable());
}
BlockBasedFS::~BlockBasedFS()
@@ -136,8 +136,8 @@ BlockBasedFS::~BlockBasedFS()
KResult BlockBasedFS::write_block(BlockIndex index, const UserOrKernelBuffer& data, size_t count, size_t offset, bool allow_cache)
{
- ASSERT(m_logical_block_size);
- ASSERT(offset + count <= block_size());
+ VERIFY(m_logical_block_size);
+ VERIFY(offset + count <= block_size());
dbgln_if(BBFS_DEBUG, "BlockBasedFileSystem::write_block {}, size={}", index, count);
if (!allow_cache) {
@@ -147,7 +147,7 @@ KResult BlockBasedFS::write_block(BlockIndex index, const UserOrKernelBuffer& da
auto nwritten = file_description().write(data, count);
if (nwritten.is_error())
return nwritten.error();
- ASSERT(nwritten.value() == count);
+ VERIFY(nwritten.value() == count);
return KSuccess;
}
@@ -171,8 +171,8 @@ bool BlockBasedFS::raw_read(BlockIndex index, UserOrKernelBuffer& buffer)
u32 base_offset = index.value() * m_logical_block_size;
file_description().seek(base_offset, SEEK_SET);
auto nread = file_description().read(buffer, m_logical_block_size);
- ASSERT(!nread.is_error());
- ASSERT(nread.value() == m_logical_block_size);
+ VERIFY(!nread.is_error());
+ VERIFY(nread.value() == m_logical_block_size);
return true;
}
bool BlockBasedFS::raw_write(BlockIndex index, const UserOrKernelBuffer& buffer)
@@ -180,8 +180,8 @@ bool BlockBasedFS::raw_write(BlockIndex index, const UserOrKernelBuffer& buffer)
size_t base_offset = index.value() * m_logical_block_size;
file_description().seek(base_offset, SEEK_SET);
auto nwritten = file_description().write(buffer, m_logical_block_size);
- ASSERT(!nwritten.is_error());
- ASSERT(nwritten.value() == m_logical_block_size);
+ VERIFY(!nwritten.is_error());
+ VERIFY(nwritten.value() == m_logical_block_size);
return true;
}
@@ -208,7 +208,7 @@ bool BlockBasedFS::raw_write_blocks(BlockIndex index, size_t count, const UserOr
KResult BlockBasedFS::write_blocks(BlockIndex index, unsigned count, const UserOrKernelBuffer& data, bool allow_cache)
{
- ASSERT(m_logical_block_size);
+ VERIFY(m_logical_block_size);
dbgln_if(BBFS_DEBUG, "BlockBasedFileSystem::write_blocks {}, count={}", index, count);
for (unsigned i = 0; i < count; ++i) {
auto result = write_block(BlockIndex { index.value() + i }, data.offset(i * block_size()), block_size(), 0, allow_cache);
@@ -220,8 +220,8 @@ KResult BlockBasedFS::write_blocks(BlockIndex index, unsigned count, const UserO
KResult BlockBasedFS::read_block(BlockIndex index, UserOrKernelBuffer* buffer, size_t count, size_t offset, bool allow_cache) const
{
- ASSERT(m_logical_block_size);
- ASSERT(offset + count <= block_size());
+ VERIFY(m_logical_block_size);
+ VERIFY(offset + count <= block_size());
dbgln_if(BBFS_DEBUG, "BlockBasedFileSystem::read_block {}", index);
if (!allow_cache) {
@@ -231,7 +231,7 @@ KResult BlockBasedFS::read_block(BlockIndex index, UserOrKernelBuffer* buffer, s
auto nread = file_description().read(*buffer, count);
if (nread.is_error())
return nread.error();
- ASSERT(nread.value() == count);
+ VERIFY(nread.value() == count);
return KSuccess;
}
@@ -243,7 +243,7 @@ KResult BlockBasedFS::read_block(BlockIndex index, UserOrKernelBuffer* buffer, s
auto nread = file_description().read(entry_data_buffer, block_size());
if (nread.is_error())
return nread.error();
- ASSERT(nread.value() == block_size());
+ VERIFY(nread.value() == block_size());
entry.has_data = true;
}
if (buffer && !buffer->write(entry.data + offset, count))
@@ -253,7 +253,7 @@ KResult BlockBasedFS::read_block(BlockIndex index, UserOrKernelBuffer* buffer, s
KResult BlockBasedFS::read_blocks(BlockIndex index, unsigned count, UserOrKernelBuffer& buffer, bool allow_cache) const
{
- ASSERT(m_logical_block_size);
+ VERIFY(m_logical_block_size);
if (!count)
return EINVAL;
if (count == 1)
diff --git a/Kernel/FileSystem/DevFS.cpp b/Kernel/FileSystem/DevFS.cpp
index 1019eb5b42..eeb88f4c4e 100644
--- a/Kernel/FileSystem/DevFS.cpp
+++ b/Kernel/FileSystem/DevFS.cpp
@@ -61,7 +61,7 @@ size_t DevFS::allocate_inode_index()
{
LOCKER(m_lock);
m_next_inode_index = m_next_inode_index.value() + 1;
- ASSERT(m_next_inode_index > 0);
+ VERIFY(m_next_inode_index > 0);
return 1 + m_next_inode_index.value();
}
@@ -102,17 +102,17 @@ DevFSInode::DevFSInode(DevFS& fs)
}
ssize_t DevFSInode::read_bytes(off_t, ssize_t, UserOrKernelBuffer&, FileDescription*) const
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
KResult DevFSInode::traverse_as_directory(Function<bool(const FS::DirectoryEntryView&)>) const
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
RefPtr<Inode> DevFSInode::lookup(StringView)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void DevFSInode::flush_metadata()
@@ -121,7 +121,7 @@ void DevFSInode::flush_metadata()
ssize_t DevFSInode::write_bytes(off_t, ssize_t, const UserOrKernelBuffer&, FileDescription*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
KResultOr<NonnullRefPtr<Inode>> DevFSInode::create_child(const String&, mode_t, dev_t, uid_t, gid_t)
@@ -141,7 +141,7 @@ KResult DevFSInode::remove_child(const StringView&)
KResultOr<size_t> DevFSInode::directory_entry_count() const
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
KResult DevFSInode::chmod(mode_t)
@@ -174,8 +174,8 @@ DevFSLinkInode::DevFSLinkInode(DevFS& fs, String name)
ssize_t DevFSLinkInode::read_bytes(off_t offset, ssize_t, UserOrKernelBuffer& buffer, FileDescription*) const
{
LOCKER(m_lock);
- ASSERT(offset == 0);
- ASSERT(!m_link.is_null());
+ VERIFY(offset == 0);
+ VERIFY(!m_link.is_null());
if (!buffer.write(((const u8*)m_link.substring_view(0).characters_without_null_termination()) + offset, m_link.length()))
return -EFAULT;
return m_link.length();
@@ -195,8 +195,8 @@ InodeMetadata DevFSLinkInode::metadata() const
ssize_t DevFSLinkInode::write_bytes(off_t offset, ssize_t count, const UserOrKernelBuffer& buffer, FileDescription*)
{
LOCKER(m_lock);
- ASSERT(offset == 0);
- ASSERT(buffer.is_kernel_buffer());
+ VERIFY(offset == 0);
+ VERIFY(buffer.is_kernel_buffer());
m_link = buffer.copy_into_string(count);
return count;
}
@@ -361,7 +361,7 @@ String DevFSDeviceInode::name() const
ssize_t DevFSDeviceInode::read_bytes(off_t offset, ssize_t count, UserOrKernelBuffer& buffer, FileDescription* description) const
{
LOCKER(m_lock);
- ASSERT(!!description);
+ VERIFY(!!description);
if (!m_attached_device->can_read(*description, offset))
return -EIO;
auto nread = const_cast<Device&>(*m_attached_device).read(*description, offset, buffer, count);
@@ -387,7 +387,7 @@ InodeMetadata DevFSDeviceInode::metadata() const
ssize_t DevFSDeviceInode::write_bytes(off_t offset, ssize_t count, const UserOrKernelBuffer& buffer, FileDescription* description)
{
LOCKER(m_lock);
- ASSERT(!!description);
+ VERIFY(!!description);
if (!m_attached_device->can_read(*description, offset))
return -EIO;
auto nread = const_cast<Device&>(*m_attached_device).write(*description, offset, buffer, count);
diff --git a/Kernel/FileSystem/DevPtsFS.cpp b/Kernel/FileSystem/DevPtsFS.cpp
index b3bdec9dce..e47e0f6d2a 100644
--- a/Kernel/FileSystem/DevPtsFS.cpp
+++ b/Kernel/FileSystem/DevPtsFS.cpp
@@ -63,7 +63,7 @@ bool DevPtsFS::initialize()
static unsigned inode_index_to_pty_index(InodeIndex inode_index)
{
- ASSERT(inode_index > 1);
+ VERIFY(inode_index > 1);
return inode_index.value() - 2;
}
@@ -84,7 +84,7 @@ RefPtr<Inode> DevPtsFS::get_inode(InodeIdentifier inode_id) const
unsigned pty_index = inode_index_to_pty_index(inode_id.index());
auto* device = Device::get_device(201, pty_index);
- ASSERT(device);
+ VERIFY(device);
auto inode = adopt(*new DevPtsFSInode(const_cast<DevPtsFS&>(*this), inode_id.index(), static_cast<SlavePTY*>(device)));
inode->m_metadata.inode = inode_id;
@@ -122,12 +122,12 @@ DevPtsFSInode::~DevPtsFSInode()
ssize_t DevPtsFSInode::read_bytes(off_t, ssize_t, UserOrKernelBuffer&, FileDescription*) const
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
ssize_t DevPtsFSInode::write_bytes(off_t, ssize_t, const UserOrKernelBuffer&, FileDescription*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
InodeMetadata DevPtsFSInode::metadata() const
@@ -159,14 +159,14 @@ KResult DevPtsFSInode::traverse_as_directory(Function<bool(const FS::DirectoryEn
KResultOr<size_t> DevPtsFSInode::directory_entry_count() const
{
- ASSERT(identifier().index() == 1);
+ VERIFY(identifier().index() == 1);
return 2 + s_ptys->size();
}
RefPtr<Inode> DevPtsFSInode::lookup(StringView name)
{
- ASSERT(identifier().index() == 1);
+ VERIFY(identifier().index() == 1);
if (name == "." || name == "..")
return this;
diff --git a/Kernel/FileSystem/Ext2FileSystem.cpp b/Kernel/FileSystem/Ext2FileSystem.cpp
index 0b6fb423e2..eae9e08195 100644
--- a/Kernel/FileSystem/Ext2FileSystem.cpp
+++ b/Kernel/FileSystem/Ext2FileSystem.cpp
@@ -91,28 +91,28 @@ Ext2FS::~Ext2FS()
bool Ext2FS::flush_super_block()
{
LOCKER(m_lock);
- ASSERT((sizeof(ext2_super_block) % logical_block_size()) == 0);
+ VERIFY((sizeof(ext2_super_block) % logical_block_size()) == 0);
auto super_block_buffer = UserOrKernelBuffer::for_kernel_buffer((u8*)&m_super_block);
bool success = raw_write_blocks(2, (sizeof(ext2_super_block) / logical_block_size()), super_block_buffer);
- ASSERT(success);
+ VERIFY(success);
return true;
}
const ext2_group_desc& Ext2FS::group_descriptor(GroupIndex group_index) const
{
// FIXME: Should this fail gracefully somehow?
- ASSERT(group_index <= m_block_group_count);
- ASSERT(group_index > 0);
+ VERIFY(group_index <= m_block_group_count);
+ VERIFY(group_index > 0);
return block_group_descriptors()[group_index.value() - 1];
}
bool Ext2FS::initialize()
{
LOCKER(m_lock);
- ASSERT((sizeof(ext2_super_block) % logical_block_size()) == 0);
+ VERIFY((sizeof(ext2_super_block) % logical_block_size()) == 0);
auto super_block_buffer = UserOrKernelBuffer::for_kernel_buffer((u8*)&m_super_block);
bool success = raw_read_blocks(2, (sizeof(ext2_super_block) / logical_block_size()), super_block_buffer);
- ASSERT(success);
+ VERIFY(success);
auto& super_block = this->super_block();
if constexpr (EXT2_DEBUG) {
@@ -134,7 +134,7 @@ bool Ext2FS::initialize()
set_block_size(EXT2_BLOCK_SIZE(&super_block));
- ASSERT(block_size() <= (int)max_block_size);
+ VERIFY(block_size() <= (int)max_block_size);
m_block_group_count = ceil_div(super_block.s_blocks_count, super_block.s_blocks_per_group);
@@ -227,7 +227,7 @@ Ext2FS::BlockListShape Ext2FS::compute_block_list_shape(unsigned blocks) const
shape.meta_blocks += divide_rounded_up(shape.triply_indirect_blocks, entries_per_block * entries_per_block);
shape.meta_blocks += divide_rounded_up(shape.triply_indirect_blocks, entries_per_block);
blocks_remaining -= shape.triply_indirect_blocks;
- ASSERT(blocks_remaining == 0);
+ VERIFY(blocks_remaining == 0);
return shape;
}
@@ -302,7 +302,7 @@ KResult Ext2FS::write_block_list_for_inode(InodeIndex inode_index, ext2_inode& e
auto block_contents = ByteBuffer::create_uninitialized(block_size());
OutputMemoryStream stream { block_contents };
- ASSERT(new_shape.indirect_blocks <= entries_per_block);
+ VERIFY(new_shape.indirect_blocks <= entries_per_block);
for (unsigned i = 0; i < new_shape.indirect_blocks; ++i) {
stream << blocks[output_block_index++].value();
--remaining_blocks;
@@ -355,7 +355,7 @@ KResult Ext2FS::write_block_list_for_inode(InodeIndex inode_index, ext2_inode& e
}
auto* dind_block_as_pointers = (unsigned*)dind_block_contents.data();
- ASSERT(indirect_block_count <= entries_per_block);
+ VERIFY(indirect_block_count <= entries_per_block);
for (unsigned i = 0; i < indirect_block_count; ++i) {
bool ind_block_dirty = false;
@@ -386,7 +386,7 @@ KResult Ext2FS::write_block_list_for_inode(InodeIndex inode_index, ext2_inode& e
if (entries_to_write > entries_per_block)
entries_to_write = entries_per_block;
- ASSERT(entries_to_write <= entries_per_block);
+ VERIFY(entries_to_write <= entries_per_block);
for (unsigned j = 0; j < entries_to_write; ++j) {
BlockIndex output_block = blocks[output_block_index++];
if (ind_block_as_pointers[j] != output_block) {
@@ -405,7 +405,7 @@ KResult Ext2FS::write_block_list_for_inode(InodeIndex inode_index, ext2_inode& e
if (ind_block_dirty) {
auto buffer = UserOrKernelBuffer::for_kernel_buffer(ind_block_contents.data());
int err = write_block(indirect_block_index, buffer, block_size());
- ASSERT(err >= 0);
+ VERIFY(err >= 0);
}
}
for (unsigned i = indirect_block_count; i < entries_per_block; ++i) {
@@ -418,7 +418,7 @@ KResult Ext2FS::write_block_list_for_inode(InodeIndex inode_index, ext2_inode& e
if (dind_block_dirty) {
auto buffer = UserOrKernelBuffer::for_kernel_buffer(dind_block_contents.data());
int err = write_block(e2inode.i_block[EXT2_DIND_BLOCK], buffer, block_size());
- ASSERT(err >= 0);
+ VERIFY(err >= 0);
}
}
@@ -427,7 +427,7 @@ KResult Ext2FS::write_block_list_for_inode(InodeIndex inode_index, ext2_inode& e
// FIXME: Implement!
dbgln("we don't know how to write tind ext2fs blocks yet!");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Vector<Ext2FS::BlockIndex> Ext2FS::block_list_for_inode(const ext2_inode& e2inode, bool include_block_list_blocks) const
@@ -536,13 +536,13 @@ Vector<Ext2FS::BlockIndex> Ext2FS::block_list_for_inode_impl(const ext2_inode& e
void Ext2FS::free_inode(Ext2FSInode& inode)
{
LOCKER(m_lock);
- ASSERT(inode.m_raw_inode.i_links_count == 0);
+ VERIFY(inode.m_raw_inode.i_links_count == 0);
dbgln_if(EXT2_DEBUG, "Ext2FS: Inode {} has no more links, time to delete!", inode.index());
// Mark all blocks used by this inode as free.
auto block_list = block_list_for_inode(inode.m_raw_inode, true);
for (auto block_index : block_list) {
- ASSERT(block_index <= super_block().s_blocks_count);
+ VERIFY(block_index <= super_block().s_blocks_count);
if (block_index.value())
set_block_allocation_state(block_index, false);
}
@@ -674,7 +674,7 @@ void Ext2FSInode::flush_metadata()
RefPtr<Inode> Ext2FS::get_inode(InodeIdentifier inode) const
{
LOCKER(m_lock);
- ASSERT(inode.fsid() == fsid());
+ VERIFY(inode.fsid() == fsid());
{
auto it = m_inode_cache.find(inode.index());
@@ -706,14 +706,14 @@ RefPtr<Inode> Ext2FS::get_inode(InodeIdentifier inode) const
ssize_t Ext2FSInode::read_bytes(off_t offset, ssize_t count, UserOrKernelBuffer& buffer, FileDescription* description) const
{
Locker inode_locker(m_lock);
- ASSERT(offset >= 0);
+ VERIFY(offset >= 0);
if (m_raw_inode.i_size == 0)
return 0;
// Symbolic links shorter than 60 characters are store inline inside the i_block array.
// This avoids wasting an entire block on short links. (Most links are short.)
if (is_symlink() && size() < max_inline_symlink_length) {
- ASSERT(offset == 0);
+ VERIFY(offset == 0);
ssize_t nread = min((off_t)size() - offset, static_cast<off_t>(count));
if (!buffer.write(((const u8*)m_raw_inode.i_block) + offset, (size_t)nread))
return -EFAULT;
@@ -748,7 +748,7 @@ ssize_t Ext2FSInode::read_bytes(off_t offset, ssize_t count, UserOrKernelBuffer&
for (size_t bi = first_block_logical_index; remaining_count && bi <= last_block_logical_index; ++bi) {
auto block_index = m_block_list[bi];
- ASSERT(block_index.value());
+ VERIFY(block_index.value());
size_t offset_into_block = (bi == first_block_logical_index) ? offset_into_first_block : 0;
size_t num_bytes_to_copy = min(block_size - offset_into_block, remaining_count);
auto buffer_offset = buffer.offset(nread);
@@ -827,7 +827,7 @@ KResult Ext2FSInode::resize(u64 new_size)
auto nwritten = write_bytes(clear_from, min(sizeof(zero_buffer), bytes_to_clear), UserOrKernelBuffer::for_kernel_buffer(zero_buffer), nullptr);
if (nwritten < 0)
return KResult((ErrnoCode)-nwritten);
- ASSERT(nwritten != 0);
+ VERIFY(nwritten != 0);
bytes_to_clear -= nwritten;
clear_from += nwritten;
}
@@ -838,8 +838,8 @@ KResult Ext2FSInode::resize(u64 new_size)
ssize_t Ext2FSInode::write_bytes(off_t offset, ssize_t count, const UserOrKernelBuffer& data, FileDescription* description)
{
- ASSERT(offset >= 0);
- ASSERT(count >= 0);
+ VERIFY(offset >= 0);
+ VERIFY(count >= 0);
Locker inode_locker(m_lock);
Locker fs_locker(fs().m_lock);
@@ -849,7 +849,7 @@ ssize_t Ext2FSInode::write_bytes(off_t offset, ssize_t count, const UserOrKernel
return result;
if (is_symlink()) {
- ASSERT(offset == 0);
+ VERIFY(offset == 0);
if (max((size_t)(offset + count), (size_t)m_raw_inode.i_size) < max_inline_symlink_length) {
dbgln_if(EXT2_DEBUG, "Ext2FS: write_bytes poking into i_block array for inline symlink '{}' ({} bytes)", data.copy_into_string(count), count);
if (!data.read(((u8*)m_raw_inode.i_block) + offset, (size_t)count))
@@ -937,7 +937,7 @@ u8 Ext2FS::internal_file_type_to_directory_entry_type(const DirectoryEntryView&
KResult Ext2FSInode::traverse_as_directory(Function<bool(const FS::DirectoryEntryView&)> callback) const
{
LOCKER(m_lock);
- ASSERT(is_directory());
+ VERIFY(is_directory());
dbgln_if(EXT2_VERY_DEBUG, "Ext2FS: Traversing as directory: {}", index());
@@ -1020,7 +1020,7 @@ KResultOr<NonnullRefPtr<Inode>> Ext2FSInode::create_child(const String& name, mo
KResult Ext2FSInode::add_child(Inode& child, const StringView& name, mode_t mode)
{
LOCKER(m_lock);
- ASSERT(is_directory());
+ VERIFY(is_directory());
if (name.length() > EXT2_NAME_LEN)
return ENAMETOOLONG;
@@ -1064,7 +1064,7 @@ KResult Ext2FSInode::remove_child(const StringView& name)
{
LOCKER(m_lock);
dbgln_if(EXT2_DEBUG, "Ext2FSInode::remove_child('{}') in inode {}", name, index());
- ASSERT(is_directory());
+ VERIFY(is_directory());
auto it = m_lookup_cache.find(name);
if (it == m_lookup_cache.end())
@@ -1162,7 +1162,7 @@ auto Ext2FS::allocate_blocks(GroupIndex preferred_group_index, size_t count) ->
}
}
- ASSERT(found_a_group);
+ VERIFY(found_a_group);
auto& bgd = group_descriptor(group_index);
auto& cached_bitmap = get_bitmap_block(bgd.bg_block_bitmap);
@@ -1172,7 +1172,7 @@ auto Ext2FS::allocate_blocks(GroupIndex preferred_group_index, size_t count) ->
BlockIndex first_block_in_group = (group_index.value() - 1) * blocks_per_group() + first_block_index().value();
size_t free_region_size = 0;
auto first_unset_bit_index = block_bitmap.find_longest_range_of_unset_bits(count - blocks.size(), free_region_size);
- ASSERT(first_unset_bit_index.has_value());
+ VERIFY(first_unset_bit_index.has_value());
dbgln_if(EXT2_DEBUG, "Ext2FS: allocating free region of size: {} [{}]", free_region_size, group_index);
for (size_t i = 0; i < free_region_size; ++i) {
BlockIndex block_index = (first_unset_bit_index.value() + i) + first_block_in_group.value();
@@ -1182,7 +1182,7 @@ auto Ext2FS::allocate_blocks(GroupIndex preferred_group_index, size_t count) ->
}
}
- ASSERT(blocks.size() == count);
+ VERIFY(blocks.size() == count);
return blocks;
}
@@ -1239,7 +1239,7 @@ InodeIndex Ext2FS::find_a_free_inode(GroupIndex preferred_group)
InodeIndex inode = first_free_inode_in_group;
dbgln_if(EXT2_DEBUG, "Ext2FS: found suitable inode {}", inode);
- ASSERT(get_inode_allocation_state(inode) == false);
+ VERIFY(get_inode_allocation_state(inode) == false);
return inode;
}
@@ -1285,7 +1285,7 @@ bool Ext2FS::set_inode_allocation_state(InodeIndex inode_index, bool new_state)
dbgln_if(EXT2_DEBUG, "Ext2FS: set_inode_allocation_state({}) {} -> {}", inode_index, current_state, new_state);
if (current_state == new_state) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return true;
}
@@ -1325,14 +1325,14 @@ Ext2FS::CachedBitmap& Ext2FS::get_bitmap_block(BlockIndex bitmap_block_index)
auto block = KBuffer::create_with_size(block_size(), Region::Access::Read | Region::Access::Write, "Ext2FS: Cached bitmap block");
auto buffer = UserOrKernelBuffer::for_kernel_buffer(block.data());
int err = read_block(bitmap_block_index, &buffer, block_size());
- ASSERT(err >= 0);
+ VERIFY(err >= 0);
m_cached_bitmaps.append(make<CachedBitmap>(bitmap_block_index, move(block)));
return *m_cached_bitmaps.last();
}
bool Ext2FS::set_block_allocation_state(BlockIndex block_index, bool new_state)
{
- ASSERT(block_index != 0);
+ VERIFY(block_index != 0);
LOCKER(m_lock);
auto group_index = group_index_from_block_index(block_index);
@@ -1346,7 +1346,7 @@ bool Ext2FS::set_block_allocation_state(BlockIndex block_index, bool new_state)
dbgln_if(EXT2_DEBUG, "Ext2FS: block {} state: {} -> {} (in bitmap block {})", block_index, current_state, new_state, bgd.bg_block_bitmap);
if (current_state == new_state) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return true;
}
@@ -1374,7 +1374,7 @@ bool Ext2FS::set_block_allocation_state(BlockIndex block_index, bool new_state)
KResult Ext2FS::create_directory(Ext2FSInode& parent_inode, const String& name, mode_t mode, uid_t uid, gid_t gid)
{
LOCKER(m_lock);
- ASSERT(is_directory(mode));
+ VERIFY(is_directory(mode));
auto inode_or_error = create_inode(parent_inode, name, mode, 0, uid, gid);
if (inode_or_error.is_error())
@@ -1424,7 +1424,7 @@ KResultOr<NonnullRefPtr<Inode>> Ext2FS::create_inode(Ext2FSInode& parent_inode,
// Looks like we're good, time to update the inode bitmap and group+global inode counters.
bool success = set_inode_allocation_state(inode_id, true);
- ASSERT(success);
+ VERIFY(success);
struct timeval now;
kgettimeofday(now);
@@ -1450,7 +1450,7 @@ KResultOr<NonnullRefPtr<Inode>> Ext2FS::create_inode(Ext2FSInode& parent_inode,
e2inode.i_flags = 0;
success = write_ext2_inode(inode_id, e2inode);
- ASSERT(success);
+ VERIFY(success);
// We might have cached the fact that this inode didn't exist. Wipe the slate.
m_inode_cache.remove(inode_id);
@@ -1487,7 +1487,7 @@ bool Ext2FSInode::populate_lookup_cache() const
RefPtr<Inode> Ext2FSInode::lookup(StringView name)
{
- ASSERT(is_directory());
+ VERIFY(is_directory());
if (!populate_lookup_cache())
return {};
LOCKER(m_lock);
@@ -1549,7 +1549,7 @@ KResult Ext2FSInode::decrement_link_count()
LOCKER(m_lock);
if (fs().is_readonly())
return EROFS;
- ASSERT(m_raw_inode.i_links_count);
+ VERIFY(m_raw_inode.i_links_count);
--m_raw_inode.i_links_count;
if (ref_count() == 1 && m_raw_inode.i_links_count == 0)
fs().uncache_inode(index());
@@ -1565,7 +1565,7 @@ void Ext2FS::uncache_inode(InodeIndex index)
KResultOr<size_t> Ext2FSInode::directory_entry_count() const
{
- ASSERT(is_directory());
+ VERIFY(is_directory());
LOCKER(m_lock);
populate_lookup_cache();
return m_lookup_cache.size();
diff --git a/Kernel/FileSystem/FIFO.cpp b/Kernel/FileSystem/FIFO.cpp
index 72cda752ca..952fce5f13 100644
--- a/Kernel/FileSystem/FIFO.cpp
+++ b/Kernel/FileSystem/FIFO.cpp
@@ -134,13 +134,13 @@ void FIFO::detach(Direction direction)
#if FIFO_DEBUG
klog() << "close reader (" << m_readers << " - 1)";
#endif
- ASSERT(m_readers);
+ VERIFY(m_readers);
--m_readers;
} else if (direction == Direction::Writer) {
#if FIFO_DEBUG
klog() << "close writer (" << m_writers << " - 1)";
#endif
- ASSERT(m_writers);
+ VERIFY(m_writers);
--m_writers;
}
diff --git a/Kernel/FileSystem/File.h b/Kernel/FileSystem/File.h
index 98f35993ec..a43964f191 100644
--- a/Kernel/FileSystem/File.h
+++ b/Kernel/FileSystem/File.h
@@ -50,7 +50,7 @@ public:
virtual bool should_add_blocker(Thread::Blocker& b, void* data) override
{
- ASSERT(b.blocker_type() == Thread::Blocker::Type::File);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::File);
auto& blocker = static_cast<Thread::FileBlocker&>(b);
return !blocker.unblock(true, data);
}
@@ -59,7 +59,7 @@ public:
{
ScopedSpinLock lock(m_lock);
do_unblock([&](auto& b, void* data, bool&) {
- ASSERT(b.blocker_type() == Thread::Blocker::Type::File);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::File);
auto& blocker = static_cast<Thread::FileBlocker&>(b);
return blocker.unblock(false, data);
});
@@ -159,7 +159,7 @@ protected:
private:
ALWAYS_INLINE void do_evaluate_block_conditions()
{
- ASSERT(!Processor::current().in_irq());
+ VERIFY(!Processor::current().in_irq());
block_condition().unblock();
}
diff --git a/Kernel/FileSystem/FileDescription.cpp b/Kernel/FileSystem/FileDescription.cpp
index a11d7d3bc6..b7df9bc659 100644
--- a/Kernel/FileSystem/FileDescription.cpp
+++ b/Kernel/FileSystem/FileDescription.cpp
@@ -107,7 +107,7 @@ Thread::FileBlocker::BlockFlags FileDescription::should_unblock(Thread::FileBloc
if ((u32)block_flags & (u32)Thread::FileBlocker::BlockFlags::SocketFlags) {
auto* sock = socket();
- ASSERT(sock);
+ VERIFY(sock);
if (((u32)block_flags & (u32)Thread::FileBlocker::BlockFlags::Accept) && sock->can_accept())
unblock_flags |= (u32)Thread::FileBlocker::BlockFlags::Accept;
if (((u32)block_flags & (u32)Thread::FileBlocker::BlockFlags::Connect) && sock->setup_state() == Socket::SetupState::Completed)
@@ -205,8 +205,8 @@ bool FileDescription::can_read() const
KResultOr<NonnullOwnPtr<KBuffer>> FileDescription::read_entire_file()
{
// HACK ALERT: (This entire function)
- ASSERT(m_file->is_inode());
- ASSERT(m_inode);
+ VERIFY(m_file->is_inode());
+ VERIFY(m_inode);
return m_inode->read_entire(this);
}
diff --git a/Kernel/FileSystem/FileSystem.cpp b/Kernel/FileSystem/FileSystem.cpp
index 49f1b284f3..2cef2ccd51 100644
--- a/Kernel/FileSystem/FileSystem.cpp
+++ b/Kernel/FileSystem/FileSystem.cpp
@@ -95,7 +95,7 @@ void FS::lock_all()
void FS::set_block_size(size_t block_size)
{
- ASSERT(block_size > 0);
+ VERIFY(block_size > 0);
if (block_size == m_block_size)
return;
m_block_size = block_size;
diff --git a/Kernel/FileSystem/Inode.cpp b/Kernel/FileSystem/Inode.cpp
index 7475ed9784..8858fd4a6d 100644
--- a/Kernel/FileSystem/Inode.cpp
+++ b/Kernel/FileSystem/Inode.cpp
@@ -49,7 +49,7 @@ SpinLock<u32>& Inode::all_inodes_lock()
InlineLinkedList<Inode>& Inode::all_with_lock()
{
- ASSERT(s_all_inodes_lock.is_locked());
+ VERIFY(s_all_inodes_lock.is_locked());
return *s_list;
}
@@ -66,7 +66,7 @@ void Inode::sync()
}
for (auto& inode : inodes) {
- ASSERT(inode.is_metadata_dirty());
+ VERIFY(inode.is_metadata_dirty());
inode.flush_metadata();
}
}
@@ -83,7 +83,7 @@ KResultOr<NonnullOwnPtr<KBuffer>> Inode::read_entire(FileDescription* descriptio
nread = read_bytes(offset, sizeof(buffer), buf, description);
if (nread < 0)
return KResult((ErrnoCode)-nread);
- ASSERT(nread <= (ssize_t)sizeof(buffer));
+ VERIFY(nread <= (ssize_t)sizeof(buffer));
if (nread <= 0)
break;
builder.append((const char*)buffer, nread);
@@ -203,27 +203,27 @@ bool Inode::unbind_socket()
void Inode::register_watcher(Badge<InodeWatcher>, InodeWatcher& watcher)
{
LOCKER(m_lock);
- ASSERT(!m_watchers.contains(&watcher));
+ VERIFY(!m_watchers.contains(&watcher));
m_watchers.set(&watcher);
}
void Inode::unregister_watcher(Badge<InodeWatcher>, InodeWatcher& watcher)
{
LOCKER(m_lock);
- ASSERT(m_watchers.contains(&watcher));
+ VERIFY(m_watchers.contains(&watcher));
m_watchers.remove(&watcher);
}
NonnullRefPtr<FIFO> Inode::fifo()
{
LOCKER(m_lock);
- ASSERT(metadata().is_fifo());
+ VERIFY(metadata().is_fifo());
// FIXME: Release m_fifo when it is closed by all readers and writers
if (!m_fifo)
m_fifo = FIFO::create(metadata().uid);
- ASSERT(m_fifo);
+ VERIFY(m_fifo);
return *m_fifo;
}
@@ -233,7 +233,7 @@ void Inode::set_metadata_dirty(bool metadata_dirty)
if (metadata_dirty) {
// Sanity check.
- ASSERT(!fs().is_readonly());
+ VERIFY(!fs().is_readonly());
}
if (m_metadata_dirty == metadata_dirty)
diff --git a/Kernel/FileSystem/InodeFile.cpp b/Kernel/FileSystem/InodeFile.cpp
index 755e9abbea..bd07315735 100644
--- a/Kernel/FileSystem/InodeFile.cpp
+++ b/Kernel/FileSystem/InodeFile.cpp
@@ -122,8 +122,8 @@ KResultOr<Region*> InodeFile::mmap(Process& process, FileDescription& descriptio
String InodeFile::absolute_path(const FileDescription& description) const
{
- ASSERT_NOT_REACHED();
- ASSERT(description.custody());
+ VERIFY_NOT_REACHED();
+ VERIFY(description.custody());
return description.absolute_path();
}
@@ -140,15 +140,15 @@ KResult InodeFile::truncate(u64 size)
KResult InodeFile::chown(FileDescription& description, uid_t uid, gid_t gid)
{
- ASSERT(description.inode() == m_inode);
- ASSERT(description.custody());
+ VERIFY(description.inode() == m_inode);
+ VERIFY(description.custody());
return VFS::the().chown(*description.custody(), uid, gid);
}
KResult InodeFile::chmod(FileDescription& description, mode_t mode)
{
- ASSERT(description.inode() == m_inode);
- ASSERT(description.custody());
+ VERIFY(description.inode() == m_inode);
+ VERIFY(description.custody());
return VFS::the().chmod(*description.custody(), mode);
}
diff --git a/Kernel/FileSystem/InodeWatcher.cpp b/Kernel/FileSystem/InodeWatcher.cpp
index fca37c099c..17de99259a 100644
--- a/Kernel/FileSystem/InodeWatcher.cpp
+++ b/Kernel/FileSystem/InodeWatcher.cpp
@@ -60,7 +60,7 @@ bool InodeWatcher::can_write(const FileDescription&, size_t) const
KResultOr<size_t> InodeWatcher::read(FileDescription&, size_t, UserOrKernelBuffer& buffer, size_t buffer_size)
{
LOCKER(m_lock);
- ASSERT(!m_queue.is_empty() || !m_inode);
+ VERIFY(!m_queue.is_empty() || !m_inode);
if (!m_inode)
return 0;
diff --git a/Kernel/FileSystem/Plan9FileSystem.cpp b/Kernel/FileSystem/Plan9FileSystem.cpp
index 5b6b30bcf8..5f11831cf4 100644
--- a/Kernel/FileSystem/Plan9FileSystem.cpp
+++ b/Kernel/FileSystem/Plan9FileSystem.cpp
@@ -44,7 +44,7 @@ Plan9FS::~Plan9FS()
{
// Make sure to destroy the root inode before the FS gets destroyed.
if (m_root_inode) {
- ASSERT(m_root_inode->ref_count() == 1);
+ VERIFY(m_root_inode->ref_count() == 1);
m_root_inode = nullptr;
}
}
@@ -153,7 +153,7 @@ public:
template<typename N>
Decoder& read_number(N& number)
{
- ASSERT(sizeof(number) <= m_data.length());
+ VERIFY(sizeof(number) <= m_data.length());
memcpy(&number, m_data.characters_without_null_termination(), sizeof(number));
m_data = m_data.substring_view(sizeof(number), m_data.length() - sizeof(number));
return *this;
@@ -170,14 +170,14 @@ public:
template<typename T>
Message& operator>>(T& t)
{
- ASSERT(m_have_been_built);
+ VERIFY(m_have_been_built);
m_built.decoder >> t;
return *this;
}
StringView read_data()
{
- ASSERT(m_have_been_built);
+ VERIFY(m_have_been_built);
return m_built.decoder.read_data();
}
@@ -197,7 +197,7 @@ private:
template<typename N>
Message& append_number(N number)
{
- ASSERT(!m_have_been_built);
+ VERIFY(!m_have_been_built);
m_builder.append(reinterpret_cast<const char*>(&number), sizeof(number));
return *this;
}
@@ -330,7 +330,7 @@ Plan9FS::Message::Decoder& Plan9FS::Message::Decoder::operator>>(StringView& str
{
u16 length;
*this >> length;
- ASSERT(length <= m_data.length());
+ VERIFY(length <= m_data.length());
string = m_data.substring_view(0, length);
m_data = m_data.substring_view_starting_after_substring(string);
return *this;
@@ -340,7 +340,7 @@ StringView Plan9FS::Message::Decoder::read_data()
{
u32 length;
*this >> length;
- ASSERT(length <= m_data.length());
+ VERIFY(length <= m_data.length());
auto data = m_data.substring_view(0, length);
m_data = m_data.substring_view_starting_after_substring(data);
return data;
@@ -401,12 +401,12 @@ Plan9FS::Message& Plan9FS::Message::operator=(Message&& message)
const KBuffer& Plan9FS::Message::build()
{
- ASSERT(!m_have_been_built);
+ VERIFY(!m_have_been_built);
auto tmp_buffer = m_builder.build();
// FIXME: We should not assume success here.
- ASSERT(tmp_buffer);
+ VERIFY(tmp_buffer);
m_have_been_built = true;
m_builder.~KBufferBuilder();
@@ -470,7 +470,7 @@ bool Plan9FS::Plan9FSBlockCondition::should_add_blocker(Thread::Blocker& b, void
void Plan9FS::Plan9FSBlockCondition::unblock_completed(u16 tag)
{
unblock([&](Thread::Blocker& b, void*, bool&) {
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Plan9FS);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Plan9FS);
auto& blocker = static_cast<Blocker&>(b);
return blocker.unblock(tag);
});
@@ -479,7 +479,7 @@ void Plan9FS::Plan9FSBlockCondition::unblock_completed(u16 tag)
void Plan9FS::Plan9FSBlockCondition::unblock_all()
{
unblock([&](Thread::Blocker& b, void*, bool&) {
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Plan9FS);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Plan9FS);
auto& blocker = static_cast<Blocker&>(b);
return blocker.unblock();
});
@@ -498,13 +498,13 @@ bool Plan9FS::is_complete(const ReceiveCompletion& completion)
LOCKER(m_lock);
if (m_completions.contains(completion.tag)) {
// If it's still in the map then it can't be complete
- ASSERT(!completion.completed);
+ VERIFY(!completion.completed);
return false;
}
// if it's not in the map anymore, it must be complete. But we MUST
// hold m_lock to be able to check completion.completed!
- ASSERT(completion.completed);
+ VERIFY(completion.completed);
return true;
}
diff --git a/Kernel/FileSystem/ProcFS.cpp b/Kernel/FileSystem/ProcFS.cpp
index 14789c8d98..3f77764b9d 100644
--- a/Kernel/FileSystem/ProcFS.cpp
+++ b/Kernel/FileSystem/ProcFS.cpp
@@ -150,14 +150,14 @@ static inline ProcFileType to_proc_file_type(const InodeIdentifier& identifier)
static inline int to_fd(const InodeIdentifier& identifier)
{
- ASSERT(to_proc_parent_directory(identifier) == PDI_PID_fd);
+ VERIFY(to_proc_parent_directory(identifier) == PDI_PID_fd);
return (identifier.index().value() & 0xff) - FI_MaxStaticFileIndex;
}
static inline size_t to_sys_index(const InodeIdentifier& identifier)
{
- ASSERT(to_proc_parent_directory(identifier) == PDI_Root_sys);
- ASSERT(to_proc_file_type(identifier) == FI_Root_sys_variable);
+ VERIFY(to_proc_parent_directory(identifier) == PDI_Root_sys);
+ VERIFY(to_proc_file_type(identifier) == FI_Root_sys_variable);
return identifier.index().value() >> 16u;
}
@@ -178,7 +178,7 @@ static inline InodeIdentifier to_identifier_with_stack(unsigned fsid, ThreadID t
static inline InodeIdentifier sys_var_to_identifier(unsigned fsid, unsigned index)
{
- ASSERT(index < 256);
+ VERIFY(index < 256);
return { fsid, (PDI_Root_sys << 12u) | (index << 16u) | FI_Root_sys_variable };
}
@@ -199,7 +199,7 @@ static inline InodeIdentifier to_parent_id(const InodeIdentifier& identifier)
case PDI_PID_stacks:
return to_identifier(identifier.fsid(), PDI_PID, to_pid(identifier), FI_PID_stacks);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
#if 0
@@ -436,7 +436,7 @@ static bool procfs$devices(InodeIdentifier, KBufferBuilder& builder)
else if (device.is_character_device())
obj.add("type", "character");
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
});
array.finish();
return true;
@@ -633,7 +633,7 @@ static bool procfs$pid_exe(InodeIdentifier identifier, KBufferBuilder& builder)
if (!process)
return false;
auto* custody = process->executable();
- ASSERT(custody);
+ VERIFY(custody);
builder.append(custody->absolute_path().bytes());
return true;
}
@@ -884,14 +884,14 @@ SysVariable& SysVariable::for_inode(InodeIdentifier id)
if (index >= sys_variables().size())
return sys_variables()[0];
auto& variable = sys_variables()[index];
- ASSERT(variable.address);
+ VERIFY(variable.address);
return variable;
}
static bool read_sys_bool(InodeIdentifier inode_id, KBufferBuilder& builder)
{
auto& variable = SysVariable::for_inode(inode_id);
- ASSERT(variable.type == SysVariable::Type::Boolean);
+ VERIFY(variable.type == SysVariable::Type::Boolean);
u8 buffer[2];
auto* lockable_bool = reinterpret_cast<Lockable<bool>*>(variable.address);
@@ -907,7 +907,7 @@ static bool read_sys_bool(InodeIdentifier inode_id, KBufferBuilder& builder)
static ssize_t write_sys_bool(InodeIdentifier inode_id, const UserOrKernelBuffer& buffer, size_t size)
{
auto& variable = SysVariable::for_inode(inode_id);
- ASSERT(variable.type == SysVariable::Type::Boolean);
+ VERIFY(variable.type == SysVariable::Type::Boolean);
char value = 0;
bool did_read = false;
@@ -920,7 +920,7 @@ static ssize_t write_sys_bool(InodeIdentifier inode_id, const UserOrKernelBuffer
});
if (nread < 0)
return nread;
- ASSERT(nread == 0 || (nread == 1 && did_read));
+ VERIFY(nread == 0 || (nread == 1 && did_read));
if (nread == 0 || !(value == '0' || value == '1'))
return (ssize_t)size;
@@ -936,7 +936,7 @@ static ssize_t write_sys_bool(InodeIdentifier inode_id, const UserOrKernelBuffer
static bool read_sys_string(InodeIdentifier inode_id, KBufferBuilder& builder)
{
auto& variable = SysVariable::for_inode(inode_id);
- ASSERT(variable.type == SysVariable::Type::String);
+ VERIFY(variable.type == SysVariable::Type::String);
auto* lockable_string = reinterpret_cast<Lockable<String>*>(variable.address);
LOCKER(lockable_string->lock(), Lock::Mode::Shared);
@@ -947,7 +947,7 @@ static bool read_sys_string(InodeIdentifier inode_id, KBufferBuilder& builder)
static ssize_t write_sys_string(InodeIdentifier inode_id, const UserOrKernelBuffer& buffer, size_t size)
{
auto& variable = SysVariable::for_inode(inode_id);
- ASSERT(variable.type == SysVariable::Type::String);
+ VERIFY(variable.type == SysVariable::Type::String);
auto string_copy = buffer.copy_into_string(size);
if (string_copy.is_null())
@@ -1032,7 +1032,7 @@ RefPtr<Inode> ProcFS::get_inode(InodeIdentifier inode_id) const
}
auto inode = adopt(*new ProcFSInode(const_cast<ProcFS&>(*this), inode_id.index()));
auto result = m_inodes.set(inode_id.index().value(), inode.ptr());
- ASSERT(result == ((it == m_inodes.end()) ? AK::HashSetResult::InsertedNewEntry : AK::HashSetResult::ReplacedExistingEntry));
+ VERIFY(result == ((it == m_inodes.end()) ? AK::HashSetResult::InsertedNewEntry : AK::HashSetResult::ReplacedExistingEntry));
return inode;
}
@@ -1081,7 +1081,7 @@ KResult ProcFSInode::refresh_data(FileDescription& description) const
bool (*read_callback)(InodeIdentifier, KBufferBuilder&) = nullptr;
if (directory_entry) {
read_callback = directory_entry->read_callback;
- ASSERT(read_callback);
+ VERIFY(read_callback);
} else {
switch (to_proc_parent_directory(identifier())) {
case PDI_PID_fd:
@@ -1093,7 +1093,7 @@ KResult ProcFSInode::refresh_data(FileDescription& description) const
case PDI_Root_sys:
switch (SysVariable::for_inode(identifier()).type) {
case SysVariable::Type::Invalid:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case SysVariable::Type::Boolean:
read_callback = read_sys_bool;
break;
@@ -1103,10 +1103,10 @@ KResult ProcFSInode::refresh_data(FileDescription& description) const
}
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
- ASSERT(read_callback);
+ VERIFY(read_callback);
}
if (!cached_data)
@@ -1231,8 +1231,8 @@ InodeMetadata ProcFSInode::metadata() const
ssize_t ProcFSInode::read_bytes(off_t offset, ssize_t count, UserOrKernelBuffer& buffer, FileDescription* description) const
{
dbgln_if(PROCFS_DEBUG, "ProcFS: read_bytes offset: {} count: {}", offset, count);
- ASSERT(offset >= 0);
- ASSERT(buffer.user_or_kernel_ptr());
+ VERIFY(offset >= 0);
+ VERIFY(buffer.user_or_kernel_ptr());
if (!description)
return -EIO;
@@ -1350,7 +1350,7 @@ KResult ProcFSInode::traverse_as_directory(Function<bool(const FS::DirectoryEntr
RefPtr<Inode> ProcFSInode::lookup(StringView name)
{
- ASSERT(is_directory());
+ VERIFY(is_directory());
if (name == ".")
return this;
if (name == "..")
@@ -1490,7 +1490,7 @@ ssize_t ProcFSInode::write_bytes(off_t offset, ssize_t size, const UserOrKernelB
if (to_proc_parent_directory(identifier()) == PDI_Root_sys) {
switch (SysVariable::for_inode(identifier()).type) {
case SysVariable::Type::Invalid:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case SysVariable::Type::Boolean:
write_callback = write_sys_bool;
break;
@@ -1506,9 +1506,9 @@ ssize_t ProcFSInode::write_bytes(off_t offset, ssize_t size, const UserOrKernelB
write_callback = directory_entry->write_callback;
}
- ASSERT(is_persistent_inode(identifier()));
+ VERIFY(is_persistent_inode(identifier()));
// FIXME: Being able to write into ProcFS at a non-zero offset seems like something we should maybe support..
- ASSERT(offset == 0);
+ VERIFY(offset == 0);
ssize_t nwritten = write_callback(identifier(), buffer, (size_t)size);
if (nwritten < 0)
klog() << "ProcFS: Writing " << size << " bytes failed: " << nwritten;
@@ -1565,7 +1565,7 @@ KResultOr<NonnullRefPtr<Custody>> ProcFSInode::resolve_as_link(Custody& base, Re
res = &process->root_directory();
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (!res)
@@ -1666,7 +1666,7 @@ KResult ProcFSInode::remove_child([[maybe_unused]] const StringView& name)
KResultOr<size_t> ProcFSInode::directory_entry_count() const
{
- ASSERT(is_directory());
+ VERIFY(is_directory());
size_t count = 0;
KResult result = traverse_as_directory([&count](auto&) {
++count;
diff --git a/Kernel/FileSystem/ProcFS.h b/Kernel/FileSystem/ProcFS.h
index d5cf67939f..cff537b692 100644
--- a/Kernel/FileSystem/ProcFS.h
+++ b/Kernel/FileSystem/ProcFS.h
@@ -131,19 +131,19 @@ private:
// ^Inode
virtual KResult attach(FileDescription&) override;
virtual void did_seek(FileDescription&, off_t) override;
- virtual ssize_t read_bytes(off_t, ssize_t, UserOrKernelBuffer&, FileDescription*) const override { ASSERT_NOT_REACHED(); }
+ virtual ssize_t read_bytes(off_t, ssize_t, UserOrKernelBuffer&, FileDescription*) const override { VERIFY_NOT_REACHED(); }
virtual InodeMetadata metadata() const override;
- virtual KResult traverse_as_directory(Function<bool(const FS::DirectoryEntryView&)>) const override { ASSERT_NOT_REACHED(); }
+ virtual KResult traverse_as_directory(Function<bool(const FS::DirectoryEntryView&)>) const override { VERIFY_NOT_REACHED(); }
virtual RefPtr<Inode> lookup(StringView name) override;
virtual void flush_metadata() override {};
- virtual ssize_t write_bytes(off_t, ssize_t, const UserOrKernelBuffer&, FileDescription*) override { ASSERT_NOT_REACHED(); }
+ virtual ssize_t write_bytes(off_t, ssize_t, const UserOrKernelBuffer&, FileDescription*) override { VERIFY_NOT_REACHED(); }
virtual KResultOr<NonnullRefPtr<Inode>> create_child(const String& name, mode_t, dev_t, uid_t, gid_t) override;
virtual KResult add_child(Inode&, const StringView& name, mode_t) override;
virtual KResult remove_child(const StringView& name) override;
virtual KResultOr<size_t> directory_entry_count() const override;
virtual KResult chmod(mode_t) override { return EINVAL; }
virtual KResult chown(uid_t, gid_t) override { return EINVAL; }
- virtual KResultOr<NonnullRefPtr<Custody>> resolve_as_link(Custody&, RefPtr<Custody>*, int, int) const override { ASSERT_NOT_REACHED(); }
+ virtual KResultOr<NonnullRefPtr<Custody>> resolve_as_link(Custody&, RefPtr<Custody>*, int, int) const override { VERIFY_NOT_REACHED(); }
virtual FileDescription* preopen_fd() override { return m_fd; }
ProcFS& fs() { return static_cast<ProcFS&>(Inode::fs()); }
diff --git a/Kernel/FileSystem/TmpFS.cpp b/Kernel/FileSystem/TmpFS.cpp
index 03afca502e..07e45841fc 100644
--- a/Kernel/FileSystem/TmpFS.cpp
+++ b/Kernel/FileSystem/TmpFS.cpp
@@ -52,7 +52,7 @@ bool TmpFS::initialize()
NonnullRefPtr<Inode> TmpFS::root_inode() const
{
- ASSERT(!m_root_inode.is_null());
+ VERIFY(!m_root_inode.is_null());
return *m_root_inode;
}
@@ -60,7 +60,7 @@ NonnullRefPtr<Inode> TmpFS::root_inode() const
void TmpFS::register_inode(TmpFSInode& inode)
{
LOCKER(m_lock);
- ASSERT(inode.identifier().fsid() == fsid());
+ VERIFY(inode.identifier().fsid() == fsid());
auto index = inode.identifier().index();
m_inodes.set(index, inode);
@@ -69,7 +69,7 @@ void TmpFS::register_inode(TmpFSInode& inode)
void TmpFS::unregister_inode(InodeIdentifier identifier)
{
LOCKER(m_lock);
- ASSERT(identifier.fsid() == fsid());
+ VERIFY(identifier.fsid() == fsid());
m_inodes.remove(identifier.index());
}
@@ -84,7 +84,7 @@ unsigned TmpFS::next_inode_index()
RefPtr<Inode> TmpFS::get_inode(InodeIdentifier identifier) const
{
LOCKER(m_lock, Lock::Mode::Shared);
- ASSERT(identifier.fsid() == fsid());
+ VERIFY(identifier.fsid() == fsid());
auto it = m_inodes.find(identifier.index());
if (it == m_inodes.end())
@@ -149,9 +149,9 @@ KResult TmpFSInode::traverse_as_directory(Function<bool(const FS::DirectoryEntry
ssize_t TmpFSInode::read_bytes(off_t offset, ssize_t size, UserOrKernelBuffer& buffer, FileDescription*) const
{
LOCKER(m_lock, Lock::Mode::Shared);
- ASSERT(!is_directory());
- ASSERT(size >= 0);
- ASSERT(offset >= 0);
+ VERIFY(!is_directory());
+ VERIFY(size >= 0);
+ VERIFY(offset >= 0);
if (!m_content)
return 0;
@@ -170,8 +170,8 @@ ssize_t TmpFSInode::read_bytes(off_t offset, ssize_t size, UserOrKernelBuffer& b
ssize_t TmpFSInode::write_bytes(off_t offset, ssize_t size, const UserOrKernelBuffer& buffer, FileDescription*)
{
LOCKER(m_lock);
- ASSERT(!is_directory());
- ASSERT(offset >= 0);
+ VERIFY(!is_directory());
+ VERIFY(offset >= 0);
auto result = prepare_to_write_data();
if (result.is_error())
@@ -217,7 +217,7 @@ ssize_t TmpFSInode::write_bytes(off_t offset, ssize_t size, const UserOrKernelBu
RefPtr<Inode> TmpFSInode::lookup(StringView name)
{
LOCKER(m_lock, Lock::Mode::Shared);
- ASSERT(is_directory());
+ VERIFY(is_directory());
if (name == ".")
return this;
@@ -233,7 +233,7 @@ RefPtr<Inode> TmpFSInode::lookup(StringView name)
KResultOr<size_t> TmpFSInode::directory_entry_count() const
{
LOCKER(m_lock, Lock::Mode::Shared);
- ASSERT(is_directory());
+ VERIFY(is_directory());
return 2 + m_children.size();
}
@@ -301,8 +301,8 @@ KResultOr<NonnullRefPtr<Inode>> TmpFSInode::create_child(const String& name, mod
KResult TmpFSInode::add_child(Inode& child, const StringView& name, mode_t)
{
LOCKER(m_lock);
- ASSERT(is_directory());
- ASSERT(child.fsid() == fsid());
+ VERIFY(is_directory());
+ VERIFY(child.fsid() == fsid());
if (name.length() > NAME_MAX)
return ENAMETOOLONG;
@@ -315,7 +315,7 @@ KResult TmpFSInode::add_child(Inode& child, const StringView& name, mode_t)
KResult TmpFSInode::remove_child(const StringView& name)
{
LOCKER(m_lock);
- ASSERT(is_directory());
+ VERIFY(is_directory());
if (name == "." || name == "..")
return KSuccess;
@@ -332,7 +332,7 @@ KResult TmpFSInode::remove_child(const StringView& name)
KResult TmpFSInode::truncate(u64 size)
{
LOCKER(m_lock);
- ASSERT(!is_directory());
+ VERIFY(!is_directory());
if (size == 0)
m_content.clear();
diff --git a/Kernel/FileSystem/VirtualFileSystem.cpp b/Kernel/FileSystem/VirtualFileSystem.cpp
index d7fc8fa278..55b0da3ba0 100644
--- a/Kernel/FileSystem/VirtualFileSystem.cpp
+++ b/Kernel/FileSystem/VirtualFileSystem.cpp
@@ -67,7 +67,7 @@ UNMAP_AFTER_INIT VFS::~VFS()
InodeIdentifier VFS::root_inode_id() const
{
- ASSERT(m_root_inode);
+ VERIFY(m_root_inode);
return m_root_inode->identifier();
}
@@ -211,8 +211,8 @@ KResult VFS::traverse_directory_inode(Inode& dir_inode, Function<bool(const FS::
bool is_root_inode = dir_inode.identifier() == dir_inode.fs().root_inode()->identifier();
if (is_root_inode && !is_vfs_root(dir_inode.identifier()) && entry.name == "..") {
auto mount = find_mount_for_guest(dir_inode);
- ASSERT(mount);
- ASSERT(mount->host());
+ VERIFY(mount);
+ VERIFY(mount->host());
resolved_inode = mount->host()->identifier();
}
callback({ entry.name, resolved_inode, entry.file_type });
@@ -697,7 +697,7 @@ KResult VFS::unlink(StringView path, Custody& base)
// We have just checked that the inode is not a directory, and thus it's not
// the root. So it should have a parent. Note that this would be invalidated
// if we were to support bind-mounting regular files on top of the root.
- ASSERT(parent_custody);
+ VERIFY(parent_custody);
auto& parent_inode = parent_custody->inode();
auto current_process = Process::current();
diff --git a/Kernel/FutexQueue.cpp b/Kernel/FutexQueue.cpp
index 3dc558def9..465032a7a2 100644
--- a/Kernel/FutexQueue.cpp
+++ b/Kernel/FutexQueue.cpp
@@ -32,9 +32,9 @@ namespace Kernel {
bool FutexQueue::should_add_blocker(Thread::Blocker& b, void* data)
{
- ASSERT(data != nullptr); // Thread that is requesting to be blocked
- ASSERT(m_lock.is_locked());
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Futex);
+ VERIFY(data != nullptr); // Thread that is requesting to be blocked
+ VERIFY(m_lock.is_locked());
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Futex);
dbgln_if(FUTEXQUEUE_DEBUG, "FutexQueue @ {}: should block thread {}", this, *static_cast<Thread*>(data));
@@ -50,12 +50,12 @@ u32 FutexQueue::wake_n_requeue(u32 wake_count, const Function<FutexQueue*()>& ge
u32 did_wake = 0, did_requeue = 0;
do_unblock([&](Thread::Blocker& b, void* data, bool& stop_iterating) {
- ASSERT(data);
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Futex);
+ VERIFY(data);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Futex);
auto& blocker = static_cast<Thread::FutexBlocker&>(b);
dbgln_if(FUTEXQUEUE_DEBUG, "FutexQueue @ {}: wake_n_requeue unblocking {}", this, *static_cast<Thread*>(data));
- ASSERT(did_wake < wake_count);
+ VERIFY(did_wake < wake_count);
if (blocker.unblock()) {
if (++did_wake >= wake_count)
stop_iterating = true;
@@ -72,7 +72,7 @@ u32 FutexQueue::wake_n_requeue(u32 wake_count, const Function<FutexQueue*()>& ge
// While still holding m_lock, notify each blocker
for (auto& info : blockers_to_requeue) {
- ASSERT(info.blocker->blocker_type() == Thread::Blocker::Type::Futex);
+ VERIFY(info.blocker->blocker_type() == Thread::Blocker::Type::Futex);
auto& blocker = *static_cast<Thread::FutexBlocker*>(info.blocker);
blocker.begin_requeue();
}
@@ -84,7 +84,7 @@ u32 FutexQueue::wake_n_requeue(u32 wake_count, const Function<FutexQueue*()>& ge
// Now that we have the lock of the target, append the blockers
// and notify them that they completed the move
for (auto& info : blockers_to_requeue) {
- ASSERT(info.blocker->blocker_type() == Thread::Blocker::Type::Futex);
+ VERIFY(info.blocker->blocker_type() == Thread::Blocker::Type::Futex);
auto& blocker = *static_cast<Thread::FutexBlocker*>(info.blocker);
blocker.finish_requeue(*target_futex_queue);
}
@@ -107,12 +107,12 @@ u32 FutexQueue::wake_n(u32 wake_count, const Optional<u32>& bitset, bool& is_emp
dbgln_if(FUTEXQUEUE_DEBUG, "FutexQueue @ {}: wake_n({})", this, wake_count);
u32 did_wake = 0;
do_unblock([&](Thread::Blocker& b, void* data, bool& stop_iterating) {
- ASSERT(data);
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Futex);
+ VERIFY(data);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Futex);
auto& blocker = static_cast<Thread::FutexBlocker&>(b);
dbgln_if(FUTEXQUEUE_DEBUG, "FutexQueue @ {}: wake_n unblocking {}", this, *static_cast<Thread*>(data));
- ASSERT(did_wake < wake_count);
+ VERIFY(did_wake < wake_count);
if (bitset.has_value() ? blocker.unblock_bitset(bitset.value()) : blocker.unblock()) {
if (++did_wake >= wake_count)
stop_iterating = true;
@@ -130,8 +130,8 @@ u32 FutexQueue::wake_all(bool& is_empty)
dbgln_if(FUTEXQUEUE_DEBUG, "FutexQueue @ {}: wake_all", this);
u32 did_wake = 0;
do_unblock([&](Thread::Blocker& b, void* data, bool&) {
- ASSERT(data);
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Futex);
+ VERIFY(data);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Futex);
auto& blocker = static_cast<Thread::FutexBlocker&>(b);
dbgln_if(FUTEXQUEUE_DEBUG, "FutexQueue @ {}: wake_all unblocking {}", this, *static_cast<Thread*>(data));
if (blocker.unblock(true)) {
diff --git a/Kernel/Heap/Heap.h b/Kernel/Heap/Heap.h
index 5ded4f27cd..dc53364113 100644
--- a/Kernel/Heap/Heap.h
+++ b/Kernel/Heap/Heap.h
@@ -56,7 +56,7 @@ public:
{
// To keep the alignment of the memory passed in, place the bitmap
// at the end of the memory block.
- ASSERT(m_total_chunks * CHUNK_SIZE + (m_total_chunks + 7) / 8 <= memory_size);
+ VERIFY(m_total_chunks * CHUNK_SIZE + (m_total_chunks + 7) / 8 <= memory_size);
}
~Heap()
{
@@ -108,13 +108,13 @@ public:
if (!ptr)
return;
auto* a = (AllocationHeader*)((((u8*)ptr) - sizeof(AllocationHeader)));
- ASSERT((u8*)a >= m_chunks && (u8*)ptr < m_chunks + m_total_chunks * CHUNK_SIZE);
- ASSERT((u8*)a + a->allocation_size_in_chunks * CHUNK_SIZE <= m_chunks + m_total_chunks * CHUNK_SIZE);
+ VERIFY((u8*)a >= m_chunks && (u8*)ptr < m_chunks + m_total_chunks * CHUNK_SIZE);
+ VERIFY((u8*)a + a->allocation_size_in_chunks * CHUNK_SIZE <= m_chunks + m_total_chunks * CHUNK_SIZE);
FlatPtr start = ((FlatPtr)a - (FlatPtr)m_chunks) / CHUNK_SIZE;
m_bitmap.set_range(start, a->allocation_size_in_chunks, false);
- ASSERT(m_allocated_chunks >= a->allocation_size_in_chunks);
+ VERIFY(m_allocated_chunks >= a->allocation_size_in_chunks);
m_allocated_chunks -= a->allocation_size_in_chunks;
if constexpr (HEAP_SCRUB_BYTE_FREE != 0) {
@@ -129,8 +129,8 @@ public:
return h.allocate(new_size);
auto* a = (AllocationHeader*)((((u8*)ptr) - sizeof(AllocationHeader)));
- ASSERT((u8*)a >= m_chunks && (u8*)ptr < m_chunks + m_total_chunks * CHUNK_SIZE);
- ASSERT((u8*)a + a->allocation_size_in_chunks * CHUNK_SIZE <= m_chunks + m_total_chunks * CHUNK_SIZE);
+ VERIFY((u8*)a >= m_chunks && (u8*)ptr < m_chunks + m_total_chunks * CHUNK_SIZE);
+ VERIFY((u8*)a + a->allocation_size_in_chunks * CHUNK_SIZE <= m_chunks + m_total_chunks * CHUNK_SIZE);
size_t old_size = a->allocation_size_in_chunks * CHUNK_SIZE;
@@ -319,7 +319,7 @@ public:
return;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void* reallocate(void* ptr, size_t new_size)
@@ -330,12 +330,12 @@ public:
if (subheap->heap.contains(ptr))
return subheap->heap.reallocate(ptr, new_size, *this);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
HeapType& add_subheap(void* memory, size_t memory_size)
{
- ASSERT(memory_size > sizeof(SubHeap));
+ VERIFY(memory_size > sizeof(SubHeap));
// Place the SubHeap structure at the beginning of the new memory block
memory_size -= sizeof(SubHeap);
diff --git a/Kernel/Heap/SlabAllocator.cpp b/Kernel/Heap/SlabAllocator.cpp
index 55720013c4..da5bc8d23b 100644
--- a/Kernel/Heap/SlabAllocator.cpp
+++ b/Kernel/Heap/SlabAllocator.cpp
@@ -86,7 +86,7 @@ public:
void dealloc(void* ptr)
{
- ASSERT(ptr);
+ VERIFY(ptr);
if (ptr < m_base || ptr >= m_end) {
kfree(ptr);
return;
@@ -159,7 +159,7 @@ void* slab_alloc(size_t slab_size)
return s_slab_allocator_64.alloc();
if (slab_size <= 128)
return s_slab_allocator_128.alloc();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void slab_dealloc(void* ptr, size_t slab_size)
@@ -172,7 +172,7 @@ void slab_dealloc(void* ptr, size_t slab_size)
return s_slab_allocator_64.dealloc(ptr);
if (slab_size <= 128)
return s_slab_allocator_128.dealloc(ptr);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void slab_alloc_stats(Function<void(size_t slab_size, size_t allocated, size_t free)> callback)
diff --git a/Kernel/Heap/kmalloc.cpp b/Kernel/Heap/kmalloc.cpp
index 538fda3619..b66e276732 100644
--- a/Kernel/Heap/kmalloc.cpp
+++ b/Kernel/Heap/kmalloc.cpp
@@ -71,7 +71,7 @@ struct KmallocGlobalHeap {
klog() << "kmalloc(): Cannot expand heap before MM is initialized!";
return false;
}
- ASSERT(!m_adding);
+ VERIFY(!m_adding);
TemporaryChange change(m_adding, true);
// At this point we have very little memory left. Any attempt to
// kmalloc() could fail, so use our backup memory first, so we
@@ -231,7 +231,7 @@ void* kmalloc_eternal(size_t size)
ScopedSpinLock lock(s_lock);
void* ptr = s_next_eternal_ptr;
s_next_eternal_ptr += size;
- ASSERT(s_next_eternal_ptr < s_end_of_eternal_range);
+ VERIFY(s_next_eternal_ptr < s_end_of_eternal_range);
g_kmalloc_bytes_eternal += size;
return ptr;
}
diff --git a/Kernel/IO.h b/Kernel/IO.h
index 41a8df2f33..e2110b513f 100644
--- a/Kernel/IO.h
+++ b/Kernel/IO.h
@@ -121,7 +121,7 @@ public:
return IO::in16(get());
if constexpr (sizeof(T) == 1)
return IO::in8(get());
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
template<typename T>
@@ -139,7 +139,7 @@ public:
IO::out8(get(), value);
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
inline void out(u32 value, u8 bit_width)
@@ -156,7 +156,7 @@ public:
IO::out8(get(), value);
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool is_null() const { return m_address == 0; }
diff --git a/Kernel/Interrupts/APIC.cpp b/Kernel/Interrupts/APIC.cpp
index 888ec06761..d892ab5fba 100644
--- a/Kernel/Interrupts/APIC.cpp
+++ b/Kernel/Interrupts/APIC.cpp
@@ -142,13 +142,13 @@ bool APIC::initialized()
APIC& APIC::the()
{
- ASSERT(APIC::initialized());
+ VERIFY(APIC::initialized());
return *s_apic;
}
UNMAP_AFTER_INIT void APIC::initialize()
{
- ASSERT(!APIC::initialized());
+ VERIFY(!APIC::initialized());
s_apic.ensure_instance();
}
@@ -302,7 +302,7 @@ UNMAP_AFTER_INIT bool APIC::init_bsp()
UNMAP_AFTER_INIT void APIC::do_boot_aps()
{
- ASSERT(m_processor_enabled_cnt > 1);
+ VERIFY(m_processor_enabled_cnt > 1);
u32 aps_to_enable = m_processor_enabled_cnt - 1;
// Copy the APIC startup code and variables to P0x00008000
@@ -326,7 +326,7 @@ UNMAP_AFTER_INIT void APIC::do_boot_aps()
// Store pointers to all stacks for the APs to use
auto ap_stack_array = APIC_INIT_VAR_PTR(u32, apic_startup_region->vaddr().as_ptr(), ap_cpu_init_stacks);
- ASSERT(aps_to_enable == apic_ap_stacks.size());
+ VERIFY(aps_to_enable == apic_ap_stacks.size());
for (size_t i = 0; i < aps_to_enable; i++) {
ap_stack_array[i] = apic_ap_stacks[i]->vaddr().get() + Thread::default_kernel_stack_size;
#if APIC_DEBUG
@@ -429,7 +429,7 @@ UNMAP_AFTER_INIT void APIC::enable(u32 cpu)
}
// Use the CPU# as logical apic id
- ASSERT(cpu <= 0xff);
+ VERIFY(cpu <= 0xff);
write_register(APIC_REG_LD, (read_register(APIC_REG_LD) & 0x00ffffff) | (cpu << 24)); // TODO: only if not in x2apic mode
// read it back to make sure it's actually set
@@ -468,18 +468,18 @@ UNMAP_AFTER_INIT void APIC::enable(u32 cpu)
Thread* APIC::get_idle_thread(u32 cpu) const
{
- ASSERT(cpu > 0);
+ VERIFY(cpu > 0);
return m_ap_idle_threads[cpu - 1];
}
UNMAP_AFTER_INIT void APIC::init_finished(u32 cpu)
{
// This method is called once the boot stack is no longer needed
- ASSERT(cpu > 0);
- ASSERT(cpu < m_processor_enabled_cnt);
+ VERIFY(cpu > 0);
+ VERIFY(cpu < m_processor_enabled_cnt);
// Since we're waiting on other APs here, we shouldn't have the
// scheduler lock
- ASSERT(!g_scheduler_lock.own_lock());
+ VERIFY(!g_scheduler_lock.own_lock());
// Notify the BSP that we are done initializing. It will unmap the startup data at P8000
m_apic_ap_count.fetch_add(1, AK::MemoryOrder::memory_order_acq_rel);
@@ -519,8 +519,8 @@ void APIC::send_ipi(u32 cpu)
#if APIC_SMP_DEBUG
klog() << "SMP: Send IPI from cpu #" << Processor::id() << " to cpu #" << cpu;
#endif
- ASSERT(cpu != Processor::id());
- ASSERT(cpu < 8);
+ VERIFY(cpu != Processor::id());
+ VERIFY(cpu < 8);
wait_for_pending_icr();
write_icr(ICRReg(IRQ_APIC_IPI + IRQ_VECTOR_BASE, ICRReg::Fixed, ICRReg::Logical, ICRReg::Assert, ICRReg::TriggerMode::Edge, ICRReg::NoShorthand, cpu));
}
@@ -531,8 +531,8 @@ UNMAP_AFTER_INIT APICTimer* APIC::initialize_timers(HardwareTimerBase& calibrati
return nullptr;
// We should only initialize and calibrate the APIC timer once on the BSP!
- ASSERT(Processor::id() == 0);
- ASSERT(!m_apic_timer);
+ VERIFY(Processor::id() == 0);
+ VERIFY(!m_apic_timer);
m_apic_timer = APICTimer::initialize(IRQ_APIC_TIMER, calibration_timer);
return m_apic_timer;
@@ -583,7 +583,7 @@ void APIC::setup_local_timer(u32 ticks, TimerMode timer_mode, bool enable)
config |= (1 << 3) | 2;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
write_register(APIC_REG_TIMER_CONFIGURATION, config);
diff --git a/Kernel/Interrupts/GenericInterruptHandler.cpp b/Kernel/Interrupts/GenericInterruptHandler.cpp
index 9e51cb78f0..97f57ed3ce 100644
--- a/Kernel/Interrupts/GenericInterruptHandler.cpp
+++ b/Kernel/Interrupts/GenericInterruptHandler.cpp
@@ -56,8 +56,8 @@ GenericInterruptHandler::~GenericInterruptHandler()
void GenericInterruptHandler::change_interrupt_number(u8 number)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(!m_disable_remap);
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(!m_disable_remap);
unregister_generic_interrupt_handler(InterruptManagement::acquire_mapped_interrupt_number(interrupt_number()), *this);
m_interrupt_number = number;
register_generic_interrupt_handler(InterruptManagement::acquire_mapped_interrupt_number(interrupt_number()), *this);
diff --git a/Kernel/Interrupts/IOAPIC.cpp b/Kernel/Interrupts/IOAPIC.cpp
index 2292e820a6..06213bdf4d 100644
--- a/Kernel/Interrupts/IOAPIC.cpp
+++ b/Kernel/Interrupts/IOAPIC.cpp
@@ -80,7 +80,7 @@ void IOAPIC::map_interrupt_redirection(u8 interrupt_vector)
active_low = false;
break;
case 2:
- ASSERT_NOT_REACHED(); // Reserved value
+ VERIFY_NOT_REACHED(); // Reserved value
case 3:
active_low = true;
break;
@@ -96,7 +96,7 @@ void IOAPIC::map_interrupt_redirection(u8 interrupt_vector)
trigger_level_mode = false;
break;
case 2:
- ASSERT_NOT_REACHED(); // Reserved value
+ VERIFY_NOT_REACHED(); // Reserved value
case 3:
trigger_level_mode = true;
break;
@@ -127,8 +127,8 @@ bool IOAPIC::is_enabled() const
void IOAPIC::spurious_eoi(const GenericInterruptHandler& handler) const
{
InterruptDisabler disabler;
- ASSERT(handler.type() == HandlerType::SpuriousInterruptHandler);
- ASSERT(handler.interrupt_number() == APIC::spurious_interrupt_vector());
+ VERIFY(handler.type() == HandlerType::SpuriousInterruptHandler);
+ VERIFY(handler.interrupt_number() == APIC::spurious_interrupt_vector());
klog() << "IOAPIC::spurious_eoi - Spurious Interrupt occurred";
}
@@ -148,7 +148,7 @@ void IOAPIC::map_isa_interrupts()
active_low = false;
break;
case 2:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case 3:
active_low = true;
break;
@@ -164,7 +164,7 @@ void IOAPIC::map_isa_interrupts()
trigger_level_mode = false;
break;
case 2:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case 3:
trigger_level_mode = true;
break;
@@ -196,7 +196,7 @@ void IOAPIC::reset_redirection_entry(int index) const
void IOAPIC::configure_redirection_entry(int index, u8 interrupt_vector, u8 delivery_mode, bool logical_destination, bool active_low, bool trigger_level_mode, bool masked, u8 destination) const
{
InterruptDisabler disabler;
- ASSERT((u32)index < m_redirection_entries_count);
+ VERIFY((u32)index < m_redirection_entries_count);
u32 redirection_entry1 = interrupt_vector | (delivery_mode & 0b111) << 8 | logical_destination << 11 | active_low << 13 | trigger_level_mode << 15 | masked << 16;
u32 redirection_entry2 = destination << 24;
write_register((index << 1) + IOAPIC_REDIRECTION_ENTRY_OFFSET, redirection_entry1);
@@ -219,7 +219,7 @@ void IOAPIC::mask_all_redirection_entries() const
void IOAPIC::mask_redirection_entry(u8 index) const
{
- ASSERT((u32)index < m_redirection_entries_count);
+ VERIFY((u32)index < m_redirection_entries_count);
u32 redirection_entry = read_register((index << 1) + IOAPIC_REDIRECTION_ENTRY_OFFSET);
if (redirection_entry & (1 << 16))
return;
@@ -228,13 +228,13 @@ void IOAPIC::mask_redirection_entry(u8 index) const
bool IOAPIC::is_redirection_entry_masked(u8 index) const
{
- ASSERT((u32)index < m_redirection_entries_count);
+ VERIFY((u32)index < m_redirection_entries_count);
return (read_register((index << 1) + IOAPIC_REDIRECTION_ENTRY_OFFSET) & (1 << 16)) != 0;
}
void IOAPIC::unmask_redirection_entry(u8 index) const
{
- ASSERT((u32)index < m_redirection_entries_count);
+ VERIFY((u32)index < m_redirection_entries_count);
u32 redirection_entry = read_register((index << 1) + IOAPIC_REDIRECTION_ENTRY_OFFSET);
if (!(redirection_entry & (1 << 16)))
return;
@@ -249,7 +249,7 @@ bool IOAPIC::is_vector_enabled(u8 interrupt_vector) const
u8 IOAPIC::read_redirection_entry_vector(u8 index) const
{
- ASSERT((u32)index < m_redirection_entries_count);
+ VERIFY((u32)index < m_redirection_entries_count);
return (read_register((index << 1) + IOAPIC_REDIRECTION_ENTRY_OFFSET) & 0xFF);
}
@@ -266,52 +266,52 @@ Optional<int> IOAPIC::find_redirection_entry_by_vector(u8 vector) const
void IOAPIC::disable(const GenericInterruptHandler& handler)
{
InterruptDisabler disabler;
- ASSERT(!is_hard_disabled());
+ VERIFY(!is_hard_disabled());
u8 interrupt_vector = handler.interrupt_number();
- ASSERT(interrupt_vector >= gsi_base() && interrupt_vector < interrupt_vectors_count());
+ VERIFY(interrupt_vector >= gsi_base() && interrupt_vector < interrupt_vectors_count());
auto found_index = find_redirection_entry_by_vector(interrupt_vector);
if (!found_index.has_value()) {
map_interrupt_redirection(interrupt_vector);
found_index = find_redirection_entry_by_vector(interrupt_vector);
}
- ASSERT(found_index.has_value());
+ VERIFY(found_index.has_value());
mask_redirection_entry(found_index.value());
}
void IOAPIC::enable(const GenericInterruptHandler& handler)
{
InterruptDisabler disabler;
- ASSERT(!is_hard_disabled());
+ VERIFY(!is_hard_disabled());
u8 interrupt_vector = handler.interrupt_number();
- ASSERT(interrupt_vector >= gsi_base() && interrupt_vector < interrupt_vectors_count());
+ VERIFY(interrupt_vector >= gsi_base() && interrupt_vector < interrupt_vectors_count());
auto found_index = find_redirection_entry_by_vector(interrupt_vector);
if (!found_index.has_value()) {
map_interrupt_redirection(interrupt_vector);
found_index = find_redirection_entry_by_vector(interrupt_vector);
}
- ASSERT(found_index.has_value());
+ VERIFY(found_index.has_value());
unmask_redirection_entry(found_index.value());
}
void IOAPIC::eoi(const GenericInterruptHandler& handler) const
{
InterruptDisabler disabler;
- ASSERT(!is_hard_disabled());
- ASSERT(handler.interrupt_number() >= gsi_base() && handler.interrupt_number() < interrupt_vectors_count());
- ASSERT(handler.type() != HandlerType::SpuriousInterruptHandler);
+ VERIFY(!is_hard_disabled());
+ VERIFY(handler.interrupt_number() >= gsi_base() && handler.interrupt_number() < interrupt_vectors_count());
+ VERIFY(handler.type() != HandlerType::SpuriousInterruptHandler);
APIC::the().eoi();
}
u16 IOAPIC::get_isr() const
{
InterruptDisabler disabler;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
u16 IOAPIC::get_irr() const
{
InterruptDisabler disabler;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void IOAPIC::write_register(u32 index, u32 value) const
diff --git a/Kernel/Interrupts/IRQHandler.cpp b/Kernel/Interrupts/IRQHandler.cpp
index c9f921157f..8fd0a5edc8 100644
--- a/Kernel/Interrupts/IRQHandler.cpp
+++ b/Kernel/Interrupts/IRQHandler.cpp
@@ -46,7 +46,7 @@ bool IRQHandler::eoi()
{
dbgln_if(IRQ_DEBUG, "EOI IRQ {}", interrupt_number());
if (!m_shared_with_others) {
- ASSERT(!m_responsible_irq_controller.is_null());
+ VERIFY(!m_responsible_irq_controller.is_null());
m_responsible_irq_controller->eoi(*this);
return true;
}
diff --git a/Kernel/Interrupts/InterruptManagement.cpp b/Kernel/Interrupts/InterruptManagement.cpp
index e0f43b8ae3..3a4b97f647 100644
--- a/Kernel/Interrupts/InterruptManagement.cpp
+++ b/Kernel/Interrupts/InterruptManagement.cpp
@@ -52,13 +52,13 @@ bool InterruptManagement::initialized()
InterruptManagement& InterruptManagement::the()
{
- ASSERT(InterruptManagement::initialized());
+ VERIFY(InterruptManagement::initialized());
return *s_interrupt_management;
}
UNMAP_AFTER_INIT void InterruptManagement::initialize()
{
- ASSERT(!InterruptManagement::initialized());
+ VERIFY(!InterruptManagement::initialized());
s_interrupt_management = new InterruptManagement();
if (kernel_command_line().lookup("smp").value_or("off") == "on")
@@ -78,8 +78,8 @@ void InterruptManagement::enumerate_interrupt_handlers(Function<void(GenericInte
IRQController& InterruptManagement::get_interrupt_controller(int index)
{
- ASSERT(index >= 0);
- ASSERT(!m_interrupt_controllers[index].is_null());
+ VERIFY(index >= 0);
+ VERIFY(!m_interrupt_controllers[index].is_null());
return *m_interrupt_controllers[index];
}
@@ -94,7 +94,7 @@ u8 InterruptManagement::acquire_mapped_interrupt_number(u8 original_irq)
u8 InterruptManagement::acquire_irq_number(u8 mapped_interrupt_vector)
{
- ASSERT(InterruptManagement::initialized());
+ VERIFY(InterruptManagement::initialized());
return InterruptManagement::the().get_irq_vector(mapped_interrupt_vector);
}
@@ -102,7 +102,7 @@ u8 InterruptManagement::get_mapped_interrupt_vector(u8 original_irq)
{
// FIXME: For SMP configuration (with IOAPICs) use a better routing scheme to make redirections more efficient.
// FIXME: Find a better way to handle conflict with Syscall interrupt gate.
- ASSERT((original_irq + IRQ_VECTOR_BASE) != syscall_vector);
+ VERIFY((original_irq + IRQ_VECTOR_BASE) != syscall_vector);
return original_irq;
}
@@ -122,7 +122,7 @@ RefPtr<IRQController> InterruptManagement::get_responsible_irq_controller(u8 int
if (!irq_controller->is_hard_disabled())
return irq_controller;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
UNMAP_AFTER_INIT PhysicalAddress InterruptManagement::search_for_madt()
@@ -149,7 +149,7 @@ UNMAP_AFTER_INIT void InterruptManagement::switch_to_pic_mode()
SpuriousInterruptHandler::initialize(7);
SpuriousInterruptHandler::initialize(15);
for (auto& irq_controller : m_interrupt_controllers) {
- ASSERT(irq_controller);
+ VERIFY(irq_controller);
if (irq_controller->type() == IRQControllerType::i82093AA) {
irq_controller->hard_disable();
dbgln("Interrupts: Detected {} - Disabled", irq_controller->model());
@@ -180,7 +180,7 @@ UNMAP_AFTER_INIT void InterruptManagement::switch_to_ioapic_mode()
}
}
for (auto& irq_controller : m_interrupt_controllers) {
- ASSERT(irq_controller);
+ VERIFY(irq_controller);
if (irq_controller->type() == IRQControllerType::i8259) {
irq_controller->hard_disable();
dbgln("Interrupts: Detected {} - Disabled", irq_controller->model());
@@ -198,7 +198,7 @@ UNMAP_AFTER_INIT void InterruptManagement::switch_to_ioapic_mode()
UNMAP_AFTER_INIT void InterruptManagement::locate_apic_data()
{
- ASSERT(!m_madt.is_null());
+ VERIFY(!m_madt.is_null());
auto madt = map_typed<ACPI::Structures::MADT>(m_madt);
int irq_controller_count = 0;
diff --git a/Kernel/Interrupts/PIC.cpp b/Kernel/Interrupts/PIC.cpp
index 57e9c6bec6..4de473cf49 100644
--- a/Kernel/Interrupts/PIC.cpp
+++ b/Kernel/Interrupts/PIC.cpp
@@ -69,8 +69,8 @@ bool PIC::is_enabled() const
void PIC::disable(const GenericInterruptHandler& handler)
{
InterruptDisabler disabler;
- ASSERT(!is_hard_disabled());
- ASSERT(handler.interrupt_number() >= gsi_base() && handler.interrupt_number() < interrupt_vectors_count());
+ VERIFY(!is_hard_disabled());
+ VERIFY(handler.interrupt_number() >= gsi_base() && handler.interrupt_number() < interrupt_vectors_count());
u8 irq = handler.interrupt_number();
if (m_cached_irq_mask & (1 << irq))
return;
@@ -94,7 +94,7 @@ UNMAP_AFTER_INIT PIC::PIC()
void PIC::spurious_eoi(const GenericInterruptHandler& handler) const
{
- ASSERT(handler.type() == HandlerType::SpuriousInterruptHandler);
+ VERIFY(handler.type() == HandlerType::SpuriousInterruptHandler);
if (handler.interrupt_number() == 7)
return;
if (handler.interrupt_number() == 15) {
@@ -111,15 +111,15 @@ bool PIC::is_vector_enabled(u8 irq) const
void PIC::enable(const GenericInterruptHandler& handler)
{
InterruptDisabler disabler;
- ASSERT(!is_hard_disabled());
- ASSERT(handler.interrupt_number() >= gsi_base() && handler.interrupt_number() < interrupt_vectors_count());
+ VERIFY(!is_hard_disabled());
+ VERIFY(handler.interrupt_number() >= gsi_base() && handler.interrupt_number() < interrupt_vectors_count());
enable_vector(handler.interrupt_number());
}
void PIC::enable_vector(u8 irq)
{
InterruptDisabler disabler;
- ASSERT(!is_hard_disabled());
+ VERIFY(!is_hard_disabled());
if (!(m_cached_irq_mask & (1 << irq)))
return;
u8 imr;
@@ -138,9 +138,9 @@ void PIC::enable_vector(u8 irq)
void PIC::eoi(const GenericInterruptHandler& handler) const
{
InterruptDisabler disabler;
- ASSERT(!is_hard_disabled());
+ VERIFY(!is_hard_disabled());
u8 irq = handler.interrupt_number();
- ASSERT(irq >= gsi_base() && irq < interrupt_vectors_count());
+ VERIFY(irq >= gsi_base() && irq < interrupt_vectors_count());
if ((1 << irq) & m_cached_irq_mask) {
spurious_eoi(handler);
return;
diff --git a/Kernel/Interrupts/SharedIRQHandler.cpp b/Kernel/Interrupts/SharedIRQHandler.cpp
index b878365f43..95c1c2eb39 100644
--- a/Kernel/Interrupts/SharedIRQHandler.cpp
+++ b/Kernel/Interrupts/SharedIRQHandler.cpp
@@ -84,7 +84,7 @@ SharedIRQHandler::~SharedIRQHandler()
void SharedIRQHandler::handle_interrupt(const RegisterState& regs)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
if constexpr (INTERRUPT_DEBUG) {
dbgln("Interrupt @ {}", interrupt_number());
@@ -94,7 +94,7 @@ void SharedIRQHandler::handle_interrupt(const RegisterState& regs)
int i = 0;
for (auto* handler : m_handlers) {
dbgln_if(INTERRUPT_DEBUG, "Going for Interrupt Handling @ {}, Shared Interrupt {}", i, interrupt_number());
- ASSERT(handler != nullptr);
+ VERIFY(handler != nullptr);
handler->increment_invoking_counter();
handler->handle_interrupt(regs);
dbgln_if(INTERRUPT_DEBUG, "Going for Interrupt Handling @ {}, Shared Interrupt {} - End", i, interrupt_number());
diff --git a/Kernel/Interrupts/SpuriousInterruptHandler.cpp b/Kernel/Interrupts/SpuriousInterruptHandler.cpp
index 353932cb2b..116823c142 100644
--- a/Kernel/Interrupts/SpuriousInterruptHandler.cpp
+++ b/Kernel/Interrupts/SpuriousInterruptHandler.cpp
@@ -36,7 +36,7 @@ UNMAP_AFTER_INIT void SpuriousInterruptHandler::initialize(u8 interrupt_number)
void SpuriousInterruptHandler::register_handler(GenericInterruptHandler& handler)
{
- ASSERT(!m_real_handler);
+ VERIFY(!m_real_handler);
m_real_handler = &handler;
}
void SpuriousInterruptHandler::unregister_handler(GenericInterruptHandler&)
@@ -88,7 +88,7 @@ void SpuriousInterruptHandler::enable_interrupt_vector()
void SpuriousInterruptHandler::disable_interrupt_vector()
{
- ASSERT(!m_real_irq); // this flag should not be set when we call this method
+ VERIFY(!m_real_irq); // this flag should not be set when we call this method
if (!m_enabled)
return;
m_enabled = false;
diff --git a/Kernel/Interrupts/UnhandledInterruptHandler.h b/Kernel/Interrupts/UnhandledInterruptHandler.h
index 63d89b7c55..f076aff6c6 100644
--- a/Kernel/Interrupts/UnhandledInterruptHandler.h
+++ b/Kernel/Interrupts/UnhandledInterruptHandler.h
@@ -43,7 +43,7 @@ public:
virtual HandlerType type() const override { return HandlerType::UnhandledInterruptHandler; }
virtual const char* purpose() const override { return "Unhandled Interrupt Handler"; }
- virtual const char* controller() const override { ASSERT_NOT_REACHED(); }
+ virtual const char* controller() const override { VERIFY_NOT_REACHED(); }
virtual size_t sharing_devices_count() const override { return 0; }
virtual bool is_shared_handler() const override { return false; }
diff --git a/Kernel/KBuffer.h b/Kernel/KBuffer.h
index dcf2a8ebb6..b0e6032e0f 100644
--- a/Kernel/KBuffer.h
+++ b/Kernel/KBuffer.h
@@ -97,7 +97,7 @@ public:
void set_size(size_t size)
{
- ASSERT(size <= capacity());
+ VERIFY(size <= capacity());
m_size = size;
}
diff --git a/Kernel/KResult.h b/Kernel/KResult.h
index 5039af8b3d..341df32baa 100644
--- a/Kernel/KResult.h
+++ b/Kernel/KResult.h
@@ -143,7 +143,7 @@ public:
[[nodiscard]] ALWAYS_INLINE KResult error() const
{
- ASSERT(m_is_error);
+ VERIFY(m_is_error);
return m_error;
}
@@ -151,20 +151,20 @@ public:
[[nodiscard]] ALWAYS_INLINE T& value()
{
- ASSERT(!m_is_error);
+ VERIFY(!m_is_error);
return *reinterpret_cast<T*>(&m_storage);
}
[[nodiscard]] ALWAYS_INLINE const T& value() const
{
- ASSERT(!m_is_error);
+ VERIFY(!m_is_error);
return *reinterpret_cast<T*>(&m_storage);
}
[[nodiscard]] ALWAYS_INLINE T release_value()
{
- ASSERT(!m_is_error);
- ASSERT(m_have_storage);
+ VERIFY(!m_is_error);
+ VERIFY(m_have_storage);
T released_value(move(*reinterpret_cast<T*>(&m_storage)));
value().~T();
m_have_storage = false;
diff --git a/Kernel/KSyms.cpp b/Kernel/KSyms.cpp
index 744f55ff19..27208c5a0b 100644
--- a/Kernel/KSyms.cpp
+++ b/Kernel/KSyms.cpp
@@ -44,7 +44,7 @@ static u8 parse_hex_digit(char nibble)
{
if (nibble >= '0' && nibble <= '9')
return nibble - '0';
- ASSERT(nibble >= 'a' && nibble <= 'f');
+ VERIFY(nibble >= 'a' && nibble <= 'f');
return 10 + (nibble - 'a');
}
@@ -152,7 +152,7 @@ NEVER_INLINE static void dump_backtrace_impl(FlatPtr base_pointer, bool use_ksym
}
return;
}
- ASSERT(recognized_symbol_count <= max_recognized_symbol_count);
+ VERIFY(recognized_symbol_count <= max_recognized_symbol_count);
for (size_t i = 0; i < recognized_symbol_count; ++i) {
auto& symbol = recognized_symbols[i];
if (!symbol.address)
diff --git a/Kernel/Lock.cpp b/Kernel/Lock.cpp
index b7a313c3c0..e8af04d7fd 100644
--- a/Kernel/Lock.cpp
+++ b/Kernel/Lock.cpp
@@ -45,8 +45,8 @@ void Lock::lock(Mode mode)
{
// NOTE: This may be called from an interrupt handler (not an IRQ handler)
// and also from within critical sections!
- ASSERT(!Processor::current().in_irq());
- ASSERT(mode != Mode::Unlocked);
+ VERIFY(!Processor::current().in_irq());
+ VERIFY(mode != Mode::Unlocked);
auto current_thread = Thread::current();
ScopedCritical critical; // in case we're not in a critical section already
for (;;) {
@@ -62,15 +62,15 @@ void Lock::lock(Mode mode)
case Mode::Unlocked: {
dbgln_if(LOCK_TRACE_DEBUG, "Lock::lock @ ({}) {}: acquire {}, currently unlocked", this, m_name, mode_to_string(mode));
m_mode = mode;
- ASSERT(!m_holder);
- ASSERT(m_shared_holders.is_empty());
+ VERIFY(!m_holder);
+ VERIFY(m_shared_holders.is_empty());
if (mode == Mode::Exclusive) {
m_holder = current_thread;
} else {
- ASSERT(mode == Mode::Shared);
+ VERIFY(mode == Mode::Shared);
m_shared_holders.set(current_thread, 1);
}
- ASSERT(m_times_locked == 0);
+ VERIFY(m_times_locked == 0);
m_times_locked++;
#if LOCK_DEBUG
current_thread->holding_lock(*this, 1, file, line);
@@ -80,10 +80,10 @@ void Lock::lock(Mode mode)
return;
}
case Mode::Exclusive: {
- ASSERT(m_holder);
+ VERIFY(m_holder);
if (m_holder != current_thread)
break;
- ASSERT(m_shared_holders.is_empty());
+ VERIFY(m_shared_holders.is_empty());
if constexpr (LOCK_TRACE_DEBUG) {
if (mode == Mode::Exclusive)
@@ -92,8 +92,8 @@ void Lock::lock(Mode mode)
dbgln("Lock::lock @ {} ({}): acquire exclusive (requested {}), currently exclusive, holding: {}", this, m_name, mode_to_string(mode), m_times_locked);
}
- ASSERT(mode == Mode::Exclusive || mode == Mode::Shared);
- ASSERT(m_times_locked > 0);
+ VERIFY(mode == Mode::Exclusive || mode == Mode::Shared);
+ VERIFY(m_times_locked > 0);
m_times_locked++;
#if LOCK_DEBUG
current_thread->holding_lock(*this, 1, file, line);
@@ -102,15 +102,15 @@ void Lock::lock(Mode mode)
return;
}
case Mode::Shared: {
- ASSERT(!m_holder);
+ VERIFY(!m_holder);
if (mode != Mode::Shared)
break;
dbgln_if(LOCK_TRACE_DEBUG, "Lock::lock @ {} ({}): acquire {}, currently shared, locks held {}", this, m_name, mode_to_string(mode), m_times_locked);
- ASSERT(m_times_locked > 0);
+ VERIFY(m_times_locked > 0);
m_times_locked++;
- ASSERT(!m_shared_holders.is_empty());
+ VERIFY(!m_shared_holders.is_empty());
auto it = m_shared_holders.find(current_thread);
if (it != m_shared_holders.end())
it->value++;
@@ -123,7 +123,7 @@ void Lock::lock(Mode mode)
return;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_lock.store(false, AK::memory_order_release);
dbgln_if(LOCK_TRACE_DEBUG, "Lock::lock @ {} ({}) waiting...", this, m_name);
@@ -136,7 +136,7 @@ void Lock::unlock()
{
// NOTE: This may be called from an interrupt handler (not an IRQ handler)
// and also from within critical sections!
- ASSERT(!Processor::current().in_irq());
+ VERIFY(!Processor::current().in_irq());
auto current_thread = Thread::current();
ScopedCritical critical; // in case we're not in a critical section already
for (;;) {
@@ -149,37 +149,37 @@ void Lock::unlock()
dbgln("Lock::unlock @ {} ({}): release {}, holding: {}", this, m_name, mode_to_string(current_mode), m_times_locked);
}
- ASSERT(current_mode != Mode::Unlocked);
+ VERIFY(current_mode != Mode::Unlocked);
- ASSERT(m_times_locked > 0);
+ VERIFY(m_times_locked > 0);
m_times_locked--;
switch (current_mode) {
case Mode::Exclusive:
- ASSERT(m_holder == current_thread);
- ASSERT(m_shared_holders.is_empty());
+ VERIFY(m_holder == current_thread);
+ VERIFY(m_shared_holders.is_empty());
if (m_times_locked == 0)
m_holder = nullptr;
break;
case Mode::Shared: {
- ASSERT(!m_holder);
+ VERIFY(!m_holder);
auto it = m_shared_holders.find(current_thread);
- ASSERT(it != m_shared_holders.end());
+ VERIFY(it != m_shared_holders.end());
if (it->value > 1) {
it->value--;
} else {
- ASSERT(it->value > 0);
+ VERIFY(it->value > 0);
m_shared_holders.remove(it);
}
break;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool unlocked_last = (m_times_locked == 0);
if (unlocked_last) {
- ASSERT(current_mode == Mode::Exclusive ? !m_holder : m_shared_holders.is_empty());
+ VERIFY(current_mode == Mode::Exclusive ? !m_holder : m_shared_holders.is_empty());
m_mode = Mode::Unlocked;
m_queue.should_block(false);
}
@@ -204,7 +204,7 @@ auto Lock::force_unlock_if_locked(u32& lock_count_to_restore) -> Mode
{
// NOTE: This may be called from an interrupt handler (not an IRQ handler)
// and also from within critical sections!
- ASSERT(!Processor::current().in_irq());
+ VERIFY(!Processor::current().in_irq());
auto current_thread = Thread::current();
ScopedCritical critical; // in case we're not in a critical section already
for (;;) {
@@ -224,7 +224,7 @@ auto Lock::force_unlock_if_locked(u32& lock_count_to_restore) -> Mode
m_holder->holding_lock(*this, -(int)lock_count_to_restore);
#endif
m_holder = nullptr;
- ASSERT(m_times_locked > 0);
+ VERIFY(m_times_locked > 0);
lock_count_to_restore = m_times_locked;
m_times_locked = 0;
m_mode = Mode::Unlocked;
@@ -234,7 +234,7 @@ auto Lock::force_unlock_if_locked(u32& lock_count_to_restore) -> Mode
break;
}
case Mode::Shared: {
- ASSERT(!m_holder);
+ VERIFY(!m_holder);
auto it = m_shared_holders.find(current_thread);
if (it == m_shared_holders.end()) {
m_lock.store(false, AK::MemoryOrder::memory_order_release);
@@ -245,14 +245,14 @@ auto Lock::force_unlock_if_locked(u32& lock_count_to_restore) -> Mode
dbgln_if(LOCK_RESTORE_DEBUG, "Lock::force_unlock_if_locked @ {}: unlocking exclusive with lock count: {}, total locks: {}",
this, it->value, m_times_locked);
- ASSERT(it->value > 0);
+ VERIFY(it->value > 0);
lock_count_to_restore = it->value;
- ASSERT(lock_count_to_restore > 0);
+ VERIFY(lock_count_to_restore > 0);
#if LOCK_DEBUG
m_holder->holding_lock(*this, -(int)lock_count_to_restore);
#endif
m_shared_holders.remove(it);
- ASSERT(m_times_locked >= lock_count_to_restore);
+ VERIFY(m_times_locked >= lock_count_to_restore);
m_times_locked -= lock_count_to_restore;
if (m_times_locked == 0) {
m_mode = Mode::Unlocked;
@@ -269,7 +269,7 @@ auto Lock::force_unlock_if_locked(u32& lock_count_to_restore) -> Mode
break;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_queue.wake_one();
return previous_mode;
@@ -290,9 +290,9 @@ void Lock::restore_lock(const char* file, int line, Mode mode, u32 lock_count)
void Lock::restore_lock(Mode mode, u32 lock_count)
#endif
{
- ASSERT(mode != Mode::Unlocked);
- ASSERT(lock_count > 0);
- ASSERT(!Processor::current().in_irq());
+ VERIFY(mode != Mode::Unlocked);
+ VERIFY(lock_count > 0);
+ VERIFY(!Processor::current().in_irq());
auto current_thread = Thread::current();
ScopedCritical critical; // in case we're not in a critical section already
for (;;) {
@@ -305,10 +305,10 @@ void Lock::restore_lock(Mode mode, u32 lock_count)
dbgln_if(LOCK_RESTORE_DEBUG, "Lock::restore_lock @ {}: restoring {} with lock count {}, was unlocked", this, mode_to_string(mode), lock_count);
- ASSERT(m_times_locked == 0);
+ VERIFY(m_times_locked == 0);
m_times_locked = lock_count;
- ASSERT(!m_holder);
- ASSERT(m_shared_holders.is_empty());
+ VERIFY(!m_holder);
+ VERIFY(m_shared_holders.is_empty());
m_holder = current_thread;
m_queue.should_block(true);
m_lock.store(false, AK::memory_order_release);
@@ -325,13 +325,13 @@ void Lock::restore_lock(Mode mode, u32 lock_count)
dbgln_if(LOCK_RESTORE_DEBUG, "Lock::restore_lock @ {}: restoring {} with lock count {}, was {}",
this, mode_to_string(mode), lock_count, mode_to_string(expected_mode));
- ASSERT(expected_mode == Mode::Shared || m_times_locked == 0);
+ VERIFY(expected_mode == Mode::Shared || m_times_locked == 0);
m_times_locked += lock_count;
- ASSERT(!m_holder);
- ASSERT((expected_mode == Mode::Unlocked) == m_shared_holders.is_empty());
+ VERIFY(!m_holder);
+ VERIFY((expected_mode == Mode::Unlocked) == m_shared_holders.is_empty());
auto set_result = m_shared_holders.set(current_thread, lock_count);
// There may be other shared lock holders already, but we should not have an entry yet
- ASSERT(set_result == AK::HashSetResult::InsertedNewEntry);
+ VERIFY(set_result == AK::HashSetResult::InsertedNewEntry);
m_queue.should_block(true);
m_lock.store(false, AK::memory_order_release);
#if LOCK_DEBUG
@@ -340,7 +340,7 @@ void Lock::restore_lock(Mode mode, u32 lock_count)
return;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_lock.store(false, AK::memory_order_relaxed);
@@ -352,7 +352,7 @@ void Lock::restore_lock(Mode mode, u32 lock_count)
void Lock::clear_waiters()
{
- ASSERT(m_mode != Mode::Shared);
+ VERIFY(m_mode != Mode::Shared);
m_queue.wake_all();
}
diff --git a/Kernel/Lock.h b/Kernel/Lock.h
index 22d98a44f5..d92d082aa2 100644
--- a/Kernel/Lock.h
+++ b/Kernel/Lock.h
@@ -117,13 +117,13 @@ public:
}
ALWAYS_INLINE void unlock()
{
- ASSERT(m_locked);
+ VERIFY(m_locked);
m_locked = false;
m_lock.unlock();
}
ALWAYS_INLINE void lock(Lock::Mode mode = Lock::Mode::Exclusive)
{
- ASSERT(!m_locked);
+ VERIFY(!m_locked);
m_locked = true;
m_lock.lock(mode);
}
diff --git a/Kernel/Net/E1000NetworkAdapter.cpp b/Kernel/Net/E1000NetworkAdapter.cpp
index 0b3fa951bd..d337ce6f29 100644
--- a/Kernel/Net/E1000NetworkAdapter.cpp
+++ b/Kernel/Net/E1000NetworkAdapter.cpp
@@ -308,7 +308,7 @@ UNMAP_AFTER_INIT void E1000NetworkAdapter::read_mac_address()
mac[5] = tmp >> 8;
set_mac_address(mac);
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -323,7 +323,7 @@ UNMAP_AFTER_INIT void E1000NetworkAdapter::initialize_rx_descriptors()
for (size_t i = 0; i < number_of_rx_descriptors; ++i) {
auto& descriptor = rx_descriptors[i];
auto region = MM.allocate_contiguous_kernel_region(8192, "E1000 RX buffer", Region::Access::Read | Region::Access::Write);
- ASSERT(region);
+ VERIFY(region);
m_rx_buffers_regions.append(region.release_nonnull());
descriptor.addr = m_rx_buffers_regions[i].physical_page(0)->paddr().get();
descriptor.status = 0;
@@ -344,7 +344,7 @@ UNMAP_AFTER_INIT void E1000NetworkAdapter::initialize_tx_descriptors()
for (size_t i = 0; i < number_of_tx_descriptors; ++i) {
auto& descriptor = tx_descriptors[i];
auto region = MM.allocate_contiguous_kernel_region(8192, "E1000 TX buffer", Region::Access::Read | Region::Access::Write);
- ASSERT(region);
+ VERIFY(region);
m_tx_buffers_regions.append(region.release_nonnull());
descriptor.addr = m_tx_buffers_regions[i].physical_page(0)->paddr().get();
descriptor.cmd = 0;
@@ -426,7 +426,7 @@ void E1000NetworkAdapter::send_raw(ReadonlyBytes payload)
#endif
auto* tx_descriptors = (e1000_tx_desc*)m_tx_descriptors_region->vaddr().as_ptr();
auto& descriptor = tx_descriptors[tx_current];
- ASSERT(payload.size() <= 8192);
+ VERIFY(payload.size() <= 8192);
auto* vptr = (void*)m_tx_buffers_regions[tx_current].vaddr().as_ptr();
memcpy(vptr, payload.data(), payload.size());
descriptor.length = payload.size();
@@ -464,7 +464,7 @@ void E1000NetworkAdapter::receive()
break;
auto* buffer = m_rx_buffers_regions[rx_current].vaddr().as_ptr();
u16 length = rx_descriptors[rx_current].length;
- ASSERT(length <= 8192);
+ VERIFY(length <= 8192);
#if E1000_DEBUG
klog() << "E1000: Received 1 packet @ " << buffer << " (" << length << ") bytes!";
#endif
diff --git a/Kernel/Net/IPv4.h b/Kernel/Net/IPv4.h
index 796792860a..39f671a572 100644
--- a/Kernel/Net/IPv4.h
+++ b/Kernel/Net/IPv4.h
@@ -105,7 +105,7 @@ public:
NetworkOrdered<u16> compute_checksum() const
{
- ASSERT(!m_checksum);
+ VERIFY(!m_checksum);
return internet_checksum(this, sizeof(IPv4Packet));
}
diff --git a/Kernel/Net/IPv4Socket.cpp b/Kernel/Net/IPv4Socket.cpp
index 29a7ba918a..d08c29e204 100644
--- a/Kernel/Net/IPv4Socket.cpp
+++ b/Kernel/Net/IPv4Socket.cpp
@@ -97,7 +97,7 @@ void IPv4Socket::get_peer_address(sockaddr* address, socklen_t* address_size)
KResult IPv4Socket::bind(Userspace<const sockaddr*> user_address, socklen_t address_size)
{
- ASSERT(setup_state() == SetupState::Unstarted);
+ VERIFY(setup_state() == SetupState::Unstarted);
if (address_size != sizeof(sockaddr_in))
return EINVAL;
@@ -260,7 +260,7 @@ KResultOr<size_t> IPv4Socket::receive_byte_buffered(FileDescription& description
}
}
- ASSERT(!m_receive_buffer.is_empty());
+ VERIFY(!m_receive_buffer.is_empty());
int nreceived = m_receive_buffer.read(buffer, buffer_length);
if (nreceived > 0)
Thread::current()->did_ipv4_socket_read((size_t)nreceived);
@@ -311,8 +311,8 @@ KResultOr<size_t> IPv4Socket::receive_packet_buffered(FileDescription& descripti
// Unblocked due to timeout.
return EAGAIN;
}
- ASSERT(m_can_read);
- ASSERT(!m_receive_queue.is_empty());
+ VERIFY(m_can_read);
+ VERIFY(!m_receive_queue.is_empty());
packet = m_receive_queue.take_first();
set_can_read(!m_receive_queue.is_empty());
@@ -321,7 +321,7 @@ KResultOr<size_t> IPv4Socket::receive_packet_buffered(FileDescription& descripti
packet.data.value().size(),
m_receive_queue.size());
}
- ASSERT(packet.data.has_value());
+ VERIFY(packet.data.has_value());
packet_timestamp = packet.timestamp;
@@ -337,7 +337,7 @@ KResultOr<size_t> IPv4Socket::receive_packet_buffered(FileDescription& descripti
return EFAULT;
socklen_t out_length = sizeof(sockaddr_in);
- ASSERT(addr_length);
+ VERIFY(addr_length);
if (!copy_to_user(addr_length, &out_length))
return EFAULT;
}
@@ -390,7 +390,7 @@ bool IPv4Socket::did_receive(const IPv4Address& source_address, u16 source_port,
size_t space_in_receive_buffer = m_receive_buffer.space_for_writing();
if (packet_size > space_in_receive_buffer) {
dbgln("IPv4Socket({}): did_receive refusing packet since buffer is full.", this);
- ASSERT(m_can_read);
+ VERIFY(m_can_read);
return false;
}
auto scratch_buffer = UserOrKernelBuffer::for_kernel_buffer(m_scratch_buffer.value().data());
@@ -451,7 +451,7 @@ String IPv4Socket::absolute_path(const FileDescription&) const
builder.append(" (connecting)");
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return builder.to_string();
diff --git a/Kernel/Net/LocalSocket.cpp b/Kernel/Net/LocalSocket.cpp
index 6ce81118ac..d77d4c287f 100644
--- a/Kernel/Net/LocalSocket.cpp
+++ b/Kernel/Net/LocalSocket.cpp
@@ -97,7 +97,7 @@ void LocalSocket::get_peer_address(sockaddr* address, socklen_t* address_size)
KResult LocalSocket::bind(Userspace<const sockaddr*> user_address, socklen_t address_size)
{
- ASSERT(setup_state() == SetupState::Unstarted);
+ VERIFY(setup_state() == SetupState::Unstarted);
if (address_size != sizeof(sockaddr_un))
return EINVAL;
@@ -123,7 +123,7 @@ KResult LocalSocket::bind(Userspace<const sockaddr*> user_address, socklen_t add
auto file = move(result.value());
- ASSERT(file->inode());
+ VERIFY(file->inode());
if (!file->inode()->bind_socket(*this))
return EADDRINUSE;
@@ -136,7 +136,7 @@ KResult LocalSocket::bind(Userspace<const sockaddr*> user_address, socklen_t add
KResult LocalSocket::connect(FileDescription& description, Userspace<const sockaddr*> address, socklen_t address_size, ShouldBlock)
{
- ASSERT(!m_bound);
+ VERIFY(!m_bound);
if (address_size != sizeof(sockaddr_un))
return EINVAL;
u16 sa_family_copy;
@@ -162,14 +162,14 @@ KResult LocalSocket::connect(FileDescription& description, Userspace<const socka
m_file = move(description_or_error.value());
- ASSERT(m_file->inode());
+ VERIFY(m_file->inode());
if (!m_file->inode()->socket())
return ECONNREFUSED;
m_address.sun_family = sa_family_copy;
memcpy(m_address.sun_path, safe_address, sizeof(m_address.sun_path));
- ASSERT(m_connect_side_fd == &description);
+ VERIFY(m_connect_side_fd == &description);
set_connect_side_role(Role::Connecting);
auto peer = m_file->inode()->socket();
@@ -217,12 +217,12 @@ KResult LocalSocket::listen(size_t backlog)
KResult LocalSocket::attach(FileDescription& description)
{
- ASSERT(!m_accept_side_fd_open);
+ VERIFY(!m_accept_side_fd_open);
if (m_connect_side_role == Role::None) {
- ASSERT(m_connect_side_fd == nullptr);
+ VERIFY(m_connect_side_fd == nullptr);
m_connect_side_fd = &description;
} else {
- ASSERT(m_connect_side_fd != &description);
+ VERIFY(m_connect_side_fd != &description);
m_accept_side_fd_open = true;
}
@@ -235,7 +235,7 @@ void LocalSocket::detach(FileDescription& description)
if (m_connect_side_fd == &description) {
m_connect_side_fd = nullptr;
} else {
- ASSERT(m_accept_side_fd_open);
+ VERIFY(m_accept_side_fd_open);
m_accept_side_fd_open = false;
}
@@ -261,7 +261,7 @@ bool LocalSocket::has_attached_peer(const FileDescription& description) const
return m_connect_side_fd != nullptr;
if (role == Role::Connected)
return m_accept_side_fd_open;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool LocalSocket::can_write(const FileDescription& description, size_t) const
@@ -325,7 +325,7 @@ KResultOr<size_t> LocalSocket::recvfrom(FileDescription& description, UserOrKern
}
if (!has_attached_peer(description) && socket_buffer->is_empty())
return 0;
- ASSERT(!socket_buffer->is_empty());
+ VERIFY(!socket_buffer->is_empty());
auto nread = socket_buffer->read(buffer, buffer_size);
if (nread > 0)
Thread::current()->did_unix_socket_read(nread);
@@ -438,7 +438,7 @@ NonnullRefPtrVector<FileDescription>& LocalSocket::recvfd_queue_for(const FileDe
return m_fds_for_client;
if (role == Role::Accepted)
return m_fds_for_server;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
NonnullRefPtrVector<FileDescription>& LocalSocket::sendfd_queue_for(const FileDescription& description)
@@ -448,7 +448,7 @@ NonnullRefPtrVector<FileDescription>& LocalSocket::sendfd_queue_for(const FileDe
return m_fds_for_server;
if (role == Role::Accepted)
return m_fds_for_client;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
KResult LocalSocket::sendfd(const FileDescription& socket_description, FileDescription& passing_description)
diff --git a/Kernel/Net/NetworkAdapter.cpp b/Kernel/Net/NetworkAdapter.cpp
index 6e403bde9c..9798a09659 100644
--- a/Kernel/Net/NetworkAdapter.cpp
+++ b/Kernel/Net/NetworkAdapter.cpp
@@ -208,7 +208,7 @@ size_t NetworkAdapter::dequeue_packet(u8* buffer, size_t buffer_size, timeval& p
packet_timestamp = packet_with_timestamp.timestamp;
auto packet = move(packet_with_timestamp.packet);
size_t packet_size = packet.size();
- ASSERT(packet_size <= buffer_size);
+ VERIFY(packet_size <= buffer_size);
memcpy(buffer, packet.data(), packet_size);
if (m_unused_packet_buffers_count < 100) {
m_unused_packet_buffers.append(packet);
diff --git a/Kernel/Net/NetworkTask.cpp b/Kernel/Net/NetworkTask.cpp
index f3254fb442..51dbecba6b 100644
--- a/Kernel/Net/NetworkTask.cpp
+++ b/Kernel/Net/NetworkTask.cpp
@@ -314,8 +314,8 @@ void handle_udp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
return;
}
- ASSERT(socket->type() == SOCK_DGRAM);
- ASSERT(socket->local_port() == udp_packet.destination_port());
+ VERIFY(socket->type() == SOCK_DGRAM);
+ VERIFY(socket->local_port() == udp_packet.destination_port());
socket->did_receive(ipv4_packet.source(), udp_packet.source_port(), KBuffer::copy(&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size()), packet_timestamp);
}
@@ -391,8 +391,8 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
LOCKER(socket->lock());
- ASSERT(socket->type() == SOCK_STREAM);
- ASSERT(socket->local_port() == tcp_packet.destination_port());
+ VERIFY(socket->type() == SOCK_STREAM);
+ VERIFY(socket->local_port() == tcp_packet.destination_port());
#if TCP_DEBUG
klog() << "handle_tcp: got socket; state=" << socket->tuple().to_string().characters() << " " << TCPSocket::to_string(socket->state());
diff --git a/Kernel/Net/Routing.cpp b/Kernel/Net/Routing.cpp
index a7cc5f519c..4c5e0109a1 100644
--- a/Kernel/Net/Routing.cpp
+++ b/Kernel/Net/Routing.cpp
@@ -77,7 +77,7 @@ public:
void unblock(const IPv4Address& ip_addr, const MACAddress& addr)
{
BlockCondition::unblock([&](auto& b, void*, bool&) {
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Routing);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Routing);
auto& blocker = static_cast<ARPTableBlocker&>(b);
return blocker.unblock(false, ip_addr, addr);
});
@@ -86,7 +86,7 @@ public:
protected:
virtual bool should_add_blocker(Thread::Blocker& b, void*) override
{
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Routing);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Routing);
auto& blocker = static_cast<ARPTableBlocker&>(b);
auto val = s_arp_table->resource().get(blocker.ip_addr());
if (!val.has_value())
@@ -107,7 +107,7 @@ ARPTableBlocker::ARPTableBlocker(IPv4Address ip_addr, Optional<MACAddress>& addr
void ARPTableBlocker::not_blocking(bool timeout_in_past)
{
- ASSERT(timeout_in_past || !m_should_block);
+ VERIFY(timeout_in_past || !m_should_block);
auto addr = s_arp_table->resource().get(ip_addr());
ScopedSpinLock lock(m_lock);
diff --git a/Kernel/Net/Socket.cpp b/Kernel/Net/Socket.cpp
index 9456a48807..aeacd3b1fd 100644
--- a/Kernel/Net/Socket.cpp
+++ b/Kernel/Net/Socket.cpp
@@ -76,7 +76,7 @@ RefPtr<Socket> Socket::accept()
return nullptr;
dbgln_if(SOCKET_DEBUG, "Socket({}) de-queueing connection", this);
auto client = m_pending.take_first();
- ASSERT(!client->is_connected());
+ VERIFY(!client->is_connected());
auto& process = *Process::current();
client->m_acceptor = { process.pid().value(), process.uid(), process.gid() };
client->m_connected = true;
@@ -101,7 +101,7 @@ KResult Socket::setsockopt(int level, int option, Userspace<const void*> user_va
{
if (level != SOL_SOCKET)
return ENOPROTOOPT;
- ASSERT(level == SOL_SOCKET);
+ VERIFY(level == SOL_SOCKET);
switch (option) {
case SO_SNDTIMEO:
if (user_value_size != sizeof(timeval))
diff --git a/Kernel/Net/TCPSocket.cpp b/Kernel/Net/TCPSocket.cpp
index 8d796828b7..703abb7072 100644
--- a/Kernel/Net/TCPSocket.cpp
+++ b/Kernel/Net/TCPSocket.cpp
@@ -132,13 +132,13 @@ RefPtr<TCPSocket> TCPSocket::create_client(const IPv4Address& new_local_address,
void TCPSocket::release_to_originator()
{
- ASSERT(!!m_originator);
+ VERIFY(!!m_originator);
m_originator.strong_ref()->release_for_accept(this);
}
void TCPSocket::release_for_accept(RefPtr<TCPSocket> socket)
{
- ASSERT(m_pending_release_for_accept.contains(socket->tuple()));
+ VERIFY(m_pending_release_for_accept.contains(socket->tuple()));
m_pending_release_for_accept.remove(socket->tuple());
// FIXME: Should we observe this error somehow?
[[maybe_unused]] auto rc = queue_connection_from(*socket);
@@ -170,7 +170,7 @@ KResultOr<size_t> TCPSocket::protocol_receive(ReadonlyBytes raw_ipv4_packet, Use
#if TCP_SOCKET_DEBUG
klog() << "payload_size " << payload_size << ", will it fit in " << buffer_size << "?";
#endif
- ASSERT(buffer_size >= payload_size);
+ VERIFY(buffer_size >= payload_size);
if (!buffer.write(tcp_packet.payload(), payload_size))
return EFAULT;
return payload_size;
@@ -189,7 +189,7 @@ KResult TCPSocket::send_tcp_packet(u16 flags, const UserOrKernelBuffer* payload,
const size_t buffer_size = sizeof(TCPPacket) + payload_size;
auto buffer = ByteBuffer::create_zeroed(buffer_size);
auto& tcp_packet = *(TCPPacket*)(buffer.data());
- ASSERT(local_port());
+ VERIFY(local_port());
tcp_packet.set_source_port(local_port());
tcp_packet.set_destination_port(peer_port());
tcp_packet.set_window_size(1024);
@@ -219,7 +219,7 @@ KResult TCPSocket::send_tcp_packet(u16 flags, const UserOrKernelBuffer* payload,
}
auto routing_decision = route_to(peer_address(), local_address(), bound_interface());
- ASSERT(!routing_decision.is_zero());
+ VERIFY(!routing_decision.is_zero());
auto packet_buffer = UserOrKernelBuffer::for_kernel_buffer(buffer.data());
auto result = routing_decision.adapter->send_ipv4(
@@ -236,7 +236,7 @@ KResult TCPSocket::send_tcp_packet(u16 flags, const UserOrKernelBuffer* payload,
void TCPSocket::send_outgoing_packets()
{
auto routing_decision = route_to(peer_address(), local_address(), bound_interface());
- ASSERT(!routing_decision.is_zero());
+ VERIFY(!routing_decision.is_zero());
auto now = kgettimeofday();
@@ -321,7 +321,7 @@ NetworkOrdered<u16> TCPSocket::compute_tcp_checksum(const IPv4Address& source, c
if (checksum > 0xffff)
checksum = (checksum >> 16) + (checksum & 0xffff);
}
- ASSERT(packet.data_offset() * 4 == sizeof(TCPPacket));
+ VERIFY(packet.data_offset() * 4 == sizeof(TCPPacket));
w = (const NetworkOrdered<u16>*)packet.payload();
for (size_t i = 0; i < payload_size / sizeof(u16); ++i) {
checksum += w[i];
@@ -391,7 +391,7 @@ KResult TCPSocket::protocol_connect(FileDescription& description, ShouldBlock sh
if (Thread::current()->block<Thread::ConnectBlocker>({}, description, unblock_flags).was_interrupted())
return EINTR;
locker.lock();
- ASSERT(setup_state() == SetupState::Completed);
+ VERIFY(setup_state() == SetupState::Completed);
if (has_error()) { // TODO: check unblock_flags
m_role = Role::None;
return ECONNREFUSED;
diff --git a/Kernel/Net/UDPSocket.cpp b/Kernel/Net/UDPSocket.cpp
index e40d6692d1..915ed95a84 100644
--- a/Kernel/Net/UDPSocket.cpp
+++ b/Kernel/Net/UDPSocket.cpp
@@ -58,7 +58,7 @@ SocketHandle<UDPSocket> UDPSocket::from_port(u16 port)
if (it == sockets_by_port().resource().end())
return {};
socket = (*it).value;
- ASSERT(socket);
+ VERIFY(socket);
}
return { *socket };
}
@@ -83,8 +83,8 @@ KResultOr<size_t> UDPSocket::protocol_receive(ReadonlyBytes raw_ipv4_packet, Use
{
auto& ipv4_packet = *(const IPv4Packet*)(raw_ipv4_packet.data());
auto& udp_packet = *static_cast<const UDPPacket*>(ipv4_packet.payload());
- ASSERT(udp_packet.length() >= sizeof(UDPPacket)); // FIXME: This should be rejected earlier.
- ASSERT(buffer_size >= (udp_packet.length() - sizeof(UDPPacket)));
+ VERIFY(udp_packet.length() >= sizeof(UDPPacket)); // FIXME: This should be rejected earlier.
+ VERIFY(buffer_size >= (udp_packet.length() - sizeof(UDPPacket)));
if (!buffer.write(udp_packet.payload(), udp_packet.length() - sizeof(UDPPacket)))
return EFAULT;
return udp_packet.length() - sizeof(UDPPacket);
diff --git a/Kernel/PCI/Access.cpp b/Kernel/PCI/Access.cpp
index 3e95a7593d..8cdf758771 100644
--- a/Kernel/PCI/Access.cpp
+++ b/Kernel/PCI/Access.cpp
@@ -44,7 +44,7 @@ inline u32 read32(Address address, u32 field) { return Access::the().read32_fiel
Access& Access::the()
{
if (s_access == nullptr) {
- ASSERT_NOT_REACHED(); // We failed to initialize the PCI subsystem, so stop here!
+ VERIFY_NOT_REACHED(); // We failed to initialize the PCI subsystem, so stop here!
}
return *s_access;
}
@@ -69,7 +69,7 @@ PhysicalID Access::get_physical_id(Address address) const
return physical_id;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
u8 Access::early_read8_field(Address address, u32 field)
@@ -110,7 +110,7 @@ void Access::enumerate_functions(int type, u8 bus, u8 device, u8 function, Funct
#if PCI_DEBUG
klog() << "PCI: Found secondary bus: " << secondary_bus;
#endif
- ASSERT(secondary_bus != bus);
+ VERIFY(secondary_bus != bus);
enumerate_bus(type, secondary_bus, callback, recursive);
}
}
@@ -188,7 +188,7 @@ Vector<Capability> get_capabilities(Address address)
void raw_access(Address address, u32 field, size_t access_size, u32 value)
{
- ASSERT(access_size != 0);
+ VERIFY(access_size != 0);
if (access_size == 1) {
write8(address, field, value);
return;
@@ -201,7 +201,7 @@ void raw_access(Address address, u32 field, size_t access_size, u32 value)
write32(address, field, value);
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
ID get_id(Address address)
@@ -303,7 +303,7 @@ void disable_bus_mastering(Address address)
size_t get_BAR_space_size(Address address, u8 bar_number)
{
// See PCI Spec 2.3, Page 222
- ASSERT(bar_number < 6);
+ VERIFY(bar_number < 6);
u8 field = (PCI_BAR0 + (bar_number << 2));
u32 bar_reserved = read32(address, field);
write32(address, field, 0xFFFFFFFF);
diff --git a/Kernel/PCI/MMIOAccess.cpp b/Kernel/PCI/MMIOAccess.cpp
index 9720efc73a..9580a080c6 100644
--- a/Kernel/PCI/MMIOAccess.cpp
+++ b/Kernel/PCI/MMIOAccess.cpp
@@ -68,14 +68,14 @@ uint32_t MMIOAccess::segment_count() const
uint8_t MMIOAccess::segment_start_bus(u32 seg) const
{
auto segment = m_segments.get(seg);
- ASSERT(segment.has_value());
+ VERIFY(segment.has_value());
return segment.value().get_start_bus();
}
uint8_t MMIOAccess::segment_end_bus(u32 seg) const
{
auto segment = m_segments.get(seg);
- ASSERT(segment.has_value());
+ VERIFY(segment.has_value());
return segment.value().get_end_bus();
}
@@ -153,7 +153,7 @@ UNMAP_AFTER_INIT Optional<VirtualAddress> MMIOAccess::get_device_configuration_s
u8 MMIOAccess::read8_field(Address address, u32 field)
{
InterruptDisabler disabler;
- ASSERT(field <= 0xfff);
+ VERIFY(field <= 0xfff);
dbgln_if(PCI_DEBUG, "PCI: MMIO Reading 8-bit field {:#08x} for {}", field, address);
return *((u8*)(get_device_configuration_space(address).value().get() + (field & 0xfff)));
}
@@ -161,7 +161,7 @@ u8 MMIOAccess::read8_field(Address address, u32 field)
u16 MMIOAccess::read16_field(Address address, u32 field)
{
InterruptDisabler disabler;
- ASSERT(field < 0xfff);
+ VERIFY(field < 0xfff);
dbgln_if(PCI_DEBUG, "PCI: MMIO Reading 16-bit field {:#08x} for {}", field, address);
return *((u16*)(get_device_configuration_space(address).value().get() + (field & 0xfff)));
}
@@ -169,7 +169,7 @@ u16 MMIOAccess::read16_field(Address address, u32 field)
u32 MMIOAccess::read32_field(Address address, u32 field)
{
InterruptDisabler disabler;
- ASSERT(field <= 0xffc);
+ VERIFY(field <= 0xffc);
dbgln_if(PCI_DEBUG, "PCI: MMIO Reading 32-bit field {:#08x} for {}", field, address);
return *((u32*)(get_device_configuration_space(address).value().get() + (field & 0xfff)));
}
@@ -177,21 +177,21 @@ u32 MMIOAccess::read32_field(Address address, u32 field)
void MMIOAccess::write8_field(Address address, u32 field, u8 value)
{
InterruptDisabler disabler;
- ASSERT(field <= 0xfff);
+ VERIFY(field <= 0xfff);
dbgln_if(PCI_DEBUG, "PCI: MMIO Writing 8-bit field {:#08x}, value={:#02x} for {}", field, value, address);
*((u8*)(get_device_configuration_space(address).value().get() + (field & 0xfff))) = value;
}
void MMIOAccess::write16_field(Address address, u32 field, u16 value)
{
InterruptDisabler disabler;
- ASSERT(field < 0xfff);
+ VERIFY(field < 0xfff);
dbgln_if(PCI_DEBUG, "PCI: MMIO Writing 16-bit field {:#08x}, value={:#02x} for {}", field, value, address);
*((u16*)(get_device_configuration_space(address).value().get() + (field & 0xfff))) = value;
}
void MMIOAccess::write32_field(Address address, u32 field, u32 value)
{
InterruptDisabler disabler;
- ASSERT(field <= 0xffc);
+ VERIFY(field <= 0xffc);
dbgln_if(PCI_DEBUG, "PCI: MMIO Writing 32-bit field {:#08x}, value={:#02x} for {}", field, value, address);
*((u32*)(get_device_configuration_space(address).value().get() + (field & 0xfff))) = value;
}
diff --git a/Kernel/PerformanceEventBuffer.cpp b/Kernel/PerformanceEventBuffer.cpp
index c0e6d2e06c..1f58bfc28d 100644
--- a/Kernel/PerformanceEventBuffer.cpp
+++ b/Kernel/PerformanceEventBuffer.cpp
@@ -104,7 +104,7 @@ KResult PerformanceEventBuffer::append_with_eip_and_ebp(u32 eip, u32 ebp, int ty
PerformanceEvent& PerformanceEventBuffer::at(size_t index)
{
- ASSERT(index < capacity());
+ VERIFY(index < capacity());
auto* events = reinterpret_cast<PerformanceEvent*>(m_buffer->data());
return events[index];
}
@@ -120,7 +120,7 @@ OwnPtr<KBuffer> PerformanceEventBuffer::to_json(ProcessID pid, const String& exe
bool PerformanceEventBuffer::to_json(KBufferBuilder& builder, ProcessID pid, const String& executable_path) const
{
auto process = Process::from_pid(pid);
- ASSERT(process);
+ VERIFY(process);
ScopedSpinLock locker(process->space().get_lock());
JsonObjectSerializer object(builder);
diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp
index fedadb5099..d518106c37 100644
--- a/Kernel/Process.cpp
+++ b/Kernel/Process.cpp
@@ -238,7 +238,7 @@ Process::Process(RefPtr<Thread>& first_thread, const String& name, uid_t uid, gi
} else {
// NOTE: This non-forked code path is only taken when the kernel creates a process "manually" (at boot.)
auto thread_or_error = Thread::try_create(*this);
- ASSERT(!thread_or_error.is_error());
+ VERIFY(!thread_or_error.is_error());
first_thread = thread_or_error.release_value();
first_thread->detach();
}
@@ -246,8 +246,8 @@ Process::Process(RefPtr<Thread>& first_thread, const String& name, uid_t uid, gi
Process::~Process()
{
- ASSERT(thread_count() == 0); // all threads should have been finalized
- ASSERT(!m_alarm_timer);
+ VERIFY(thread_count() == 0); // all threads should have been finalized
+ VERIFY(!m_alarm_timer);
{
ScopedSpinLock processses_lock(g_processes_lock);
@@ -304,9 +304,9 @@ void create_signal_trampoline()
void Process::crash(int signal, u32 eip, bool out_of_memory)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(!is_dead());
- ASSERT(Process::current() == this);
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(!is_dead());
+ VERIFY(Process::current() == this);
if (out_of_memory) {
dbgln("\033[31;1mOut of memory\033[m, killing: {}", *this);
@@ -322,12 +322,12 @@ void Process::crash(int signal, u32 eip, bool out_of_memory)
m_termination_signal = signal;
set_dump_core(!out_of_memory);
space().dump_regions();
- ASSERT(is_user_process());
+ VERIFY(is_user_process());
die();
// We can not return from here, as there is nowhere
// to unwind to, so die right away.
Thread::current()->die_if_needed();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
RefPtr<Process> Process::from_pid(ProcessID pid)
@@ -431,8 +431,8 @@ KResultOr<String> Process::get_syscall_path_argument(const Syscall::StringArgume
bool Process::dump_core()
{
- ASSERT(is_dumpable());
- ASSERT(should_core_dump());
+ VERIFY(is_dumpable());
+ VERIFY(should_core_dump());
dbgln("Generating coredump for pid: {}", m_pid.value());
auto coredump_path = String::formatted("/tmp/coredump/{}_{}_{}", name(), m_pid.value(), RTC::now());
auto coredump = CoreDump::create(*this, coredump_path);
@@ -443,8 +443,8 @@ bool Process::dump_core()
bool Process::dump_perfcore()
{
- ASSERT(is_dumpable());
- ASSERT(m_perf_event_buffer);
+ VERIFY(is_dumpable());
+ VERIFY(m_perf_event_buffer);
dbgln("Generating perfcore for pid: {}", m_pid.value());
auto description_or_error = VFS::the().open(String::formatted("perfcore.{}", m_pid.value()), O_CREAT | O_EXCL, 0400, current_directory(), UidAndGid { m_uid, m_gid });
if (description_or_error.is_error())
@@ -460,7 +460,7 @@ bool Process::dump_perfcore()
void Process::finalize()
{
- ASSERT(Thread::current() == g_finalizer);
+ VERIFY(Thread::current() == g_finalizer);
dbgln_if(PROCESS_DEBUG, "Finalizing process {}", *this);
@@ -508,7 +508,7 @@ void Process::finalize()
m_space->remove_all_regions({});
- ASSERT(ref_count() > 0);
+ VERIFY(ref_count() > 0);
// WaitBlockCondition::finalize will be in charge of dropping the last
// reference if there are still waiters around, or whenever the last
// waitable states are consumed. Unless there is no parent around
@@ -545,9 +545,9 @@ void Process::die()
void Process::terminate_due_to_signal(u8 signal)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(signal < 32);
- ASSERT(Process::current() == this);
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(signal < 32);
+ VERIFY(Process::current() == this);
dbgln("Terminating {} due to signal {}", *this, signal);
m_termination_status = 0;
m_termination_signal = signal;
@@ -576,7 +576,7 @@ KResult Process::send_signal(u8 signal, Process* sender)
RefPtr<Thread> Process::create_kernel_thread(void (*entry)(void*), void* entry_data, u32 priority, const String& name, u32 affinity, bool joinable)
{
- ASSERT((priority >= THREAD_PRIORITY_MIN) && (priority <= THREAD_PRIORITY_MAX));
+ VERIFY((priority >= THREAD_PRIORITY_MIN) && (priority <= THREAD_PRIORITY_MAX));
// FIXME: Do something with guard pages?
@@ -648,7 +648,7 @@ void Process::stop_tracing()
void Process::tracer_trap(Thread& thread, const RegisterState& regs)
{
- ASSERT(m_tracer.ptr());
+ VERIFY(m_tracer.ptr());
m_tracer->set_regs(regs);
thread.send_urgent_signal_to_self(SIGTRAP);
}
@@ -663,7 +663,7 @@ PerformanceEventBuffer& Process::ensure_perf_events()
bool Process::remove_thread(Thread& thread)
{
auto thread_cnt_before = m_thread_count.fetch_sub(1, AK::MemoryOrder::memory_order_acq_rel);
- ASSERT(thread_cnt_before != 0);
+ VERIFY(thread_cnt_before != 0);
ScopedSpinLock thread_list_lock(m_thread_list_lock);
m_thread_list.remove(thread);
return thread_cnt_before == 1;
diff --git a/Kernel/Process.h b/Kernel/Process.h
index f9ee565867..e4ba7c7b77 100644
--- a/Kernel/Process.h
+++ b/Kernel/Process.h
@@ -614,7 +614,7 @@ extern RecursiveSpinLock g_processes_lock;
template<typename Callback>
inline void Process::for_each(Callback callback)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
ScopedSpinLock lock(g_processes_lock);
for (auto* process = g_processes->head(); process;) {
auto* next_process = process->next();
@@ -627,7 +627,7 @@ inline void Process::for_each(Callback callback)
template<typename Callback>
inline void Process::for_each_child(Callback callback)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
ProcessID my_pid = pid();
ScopedSpinLock lock(g_processes_lock);
for (auto* process = g_processes->head(); process;) {
@@ -655,7 +655,7 @@ inline IterationDecision Process::for_each_thread(Callback callback) const
template<typename Callback>
inline void Process::for_each_in_pgrp(ProcessGroupID pgid, Callback callback)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
ScopedSpinLock lock(g_processes_lock);
for (auto* process = g_processes->head(); process;) {
auto* next_process = process->next();
@@ -698,7 +698,7 @@ inline const LogStream& operator<<(const LogStream& stream, const Process& proce
dbgln("Has made a promise"); \
cli(); \
Process::current()->crash(SIGABRT, 0); \
- ASSERT_NOT_REACHED(); \
+ VERIFY_NOT_REACHED(); \
} \
} while (0)
@@ -711,7 +711,7 @@ inline const LogStream& operator<<(const LogStream& stream, const Process& proce
Process::current()->coredump_metadata().set( \
"pledge_violation", #promise); \
Process::current()->crash(SIGABRT, 0); \
- ASSERT_NOT_REACHED(); \
+ VERIFY_NOT_REACHED(); \
} \
} while (0)
diff --git a/Kernel/Random.cpp b/Kernel/Random.cpp
index 08127d7f82..41e053dbb3 100644
--- a/Kernel/Random.cpp
+++ b/Kernel/Random.cpp
@@ -97,7 +97,7 @@ void KernelRng::wait_for_entropy()
void KernelRng::wake_if_ready()
{
- ASSERT(get_lock().is_locked());
+ VERIFY(get_lock().is_locked());
if (resource().is_ready()) {
m_seed_queue.wake_all();
}
@@ -167,7 +167,7 @@ bool get_good_random_bytes(u8* buffer, size_t buffer_size, bool allow_wait, bool
// NOTE: The only case where this function should ever return false and
// not actually return random data is if fallback_to_fast == false and
// allow_wait == false and interrupts are enabled!
- ASSERT(result || !fallback_to_fast);
+ VERIFY(result || !fallback_to_fast);
return result;
}
@@ -176,7 +176,7 @@ void get_fast_random_bytes(u8* buffer, size_t buffer_size)
// Try to get good randomness, but don't block if we can't right now
// and allow falling back to fast randomness
auto result = get_good_random_bytes(buffer, buffer_size, false, true);
- ASSERT(result);
+ VERIFY(result);
}
}
diff --git a/Kernel/Random.h b/Kernel/Random.h
index a51125a255..faa0f96801 100644
--- a/Kernel/Random.h
+++ b/Kernel/Random.h
@@ -64,10 +64,10 @@ public:
this->reseed();
}
- ASSERT(is_seeded());
+ VERIFY(is_seeded());
// FIXME: More than 2^20 bytes cannot be generated without refreshing the key.
- ASSERT(n < (1 << 20));
+ VERIFY(n < (1 << 20));
typename CipherType::CTRMode cipher(m_key, KeySize, Crypto::Cipher::Intent::Encryption);
@@ -98,7 +98,7 @@ public:
[[nodiscard]] bool is_ready() const
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
return is_seeded() || m_p0_len >= reseed_threshold;
}
diff --git a/Kernel/Scheduler.cpp b/Kernel/Scheduler.cpp
index 0127f2844a..0bf6e0b6e0 100644
--- a/Kernel/Scheduler.cpp
+++ b/Kernel/Scheduler.cpp
@@ -81,11 +81,11 @@ static inline u32 thread_priority_to_priority_index(u32 thread_priority)
{
// Converts the priority in the range of THREAD_PRIORITY_MIN...THREAD_PRIORITY_MAX
// to a index into g_ready_queues where 0 is the highest priority bucket
- ASSERT(thread_priority >= THREAD_PRIORITY_MIN && thread_priority <= THREAD_PRIORITY_MAX);
+ VERIFY(thread_priority >= THREAD_PRIORITY_MIN && thread_priority <= THREAD_PRIORITY_MAX);
constexpr u32 thread_priority_count = THREAD_PRIORITY_MAX - THREAD_PRIORITY_MIN + 1;
static_assert(thread_priority_count > 0);
auto priority_bucket = ((thread_priority_count - (thread_priority - THREAD_PRIORITY_MIN)) / thread_priority_count) * (g_ready_queue_buckets - 1);
- ASSERT(priority_bucket < g_ready_queue_buckets);
+ VERIFY(priority_bucket < g_ready_queue_buckets);
return priority_bucket;
}
@@ -97,10 +97,10 @@ Thread& Scheduler::pull_next_runnable_thread()
auto priority_mask = g_ready_queues_mask;
while (priority_mask != 0) {
auto priority = __builtin_ffsl(priority_mask);
- ASSERT(priority > 0);
+ VERIFY(priority > 0);
auto& ready_queue = g_ready_queues[--priority];
for (auto& thread : ready_queue.thread_list) {
- ASSERT(thread.m_runnable_priority == (int)priority);
+ VERIFY(thread.m_runnable_priority == (int)priority);
if (thread.is_active())
continue;
if (!(thread.affinity() & affinity_mask))
@@ -134,14 +134,14 @@ bool Scheduler::dequeue_runnable_thread(Thread& thread, bool check_affinity)
ScopedSpinLock lock(g_ready_queues_lock);
auto priority = thread.m_runnable_priority;
if (priority < 0) {
- ASSERT(!thread.m_ready_queue_node.is_in_list());
+ VERIFY(!thread.m_ready_queue_node.is_in_list());
return false;
}
if (check_affinity && !(thread.affinity() & (1 << Processor::current().id())))
return false;
- ASSERT(g_ready_queues_mask & (1u << priority));
+ VERIFY(g_ready_queues_mask & (1u << priority));
auto& ready_queue = g_ready_queues[priority];
thread.m_runnable_priority = -1;
ready_queue.thread_list.remove(thread);
@@ -152,15 +152,15 @@ bool Scheduler::dequeue_runnable_thread(Thread& thread, bool check_affinity)
void Scheduler::queue_runnable_thread(Thread& thread)
{
- ASSERT(g_scheduler_lock.own_lock());
+ VERIFY(g_scheduler_lock.own_lock());
if (&thread == Processor::current().idle_thread())
return;
auto priority = thread_priority_to_priority_index(thread.priority());
ScopedSpinLock lock(g_ready_queues_lock);
- ASSERT(thread.m_runnable_priority < 0);
+ VERIFY(thread.m_runnable_priority < 0);
thread.m_runnable_priority = (int)priority;
- ASSERT(!thread.m_ready_queue_node.is_in_list());
+ VERIFY(!thread.m_ready_queue_node.is_in_list());
auto& ready_queue = g_ready_queues[priority];
bool was_empty = ready_queue.thread_list.is_empty();
ready_queue.thread_list.append(thread);
@@ -170,7 +170,7 @@ void Scheduler::queue_runnable_thread(Thread& thread)
UNMAP_AFTER_INIT void Scheduler::start()
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
// We need to acquire our scheduler lock, which will be released
// by the idle thread once control transferred there
@@ -178,23 +178,23 @@ UNMAP_AFTER_INIT void Scheduler::start()
auto& processor = Processor::current();
processor.set_scheduler_data(*new SchedulerPerProcessorData());
- ASSERT(processor.is_initialized());
+ VERIFY(processor.is_initialized());
auto& idle_thread = *processor.idle_thread();
- ASSERT(processor.current_thread() == &idle_thread);
- ASSERT(processor.idle_thread() == &idle_thread);
+ VERIFY(processor.current_thread() == &idle_thread);
+ VERIFY(processor.idle_thread() == &idle_thread);
idle_thread.set_ticks_left(time_slice_for(idle_thread));
idle_thread.did_schedule();
idle_thread.set_initialized(true);
processor.init_context(idle_thread, false);
idle_thread.set_state(Thread::Running);
- ASSERT(idle_thread.affinity() == (1u << processor.get_id()));
+ VERIFY(idle_thread.affinity() == (1u << processor.get_id()));
processor.initialize_context_switching(idle_thread);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool Scheduler::pick_next()
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
auto current_thread = Thread::current();
@@ -209,7 +209,7 @@ bool Scheduler::pick_next()
// We may be on a different processor after we got switched
// back to this thread!
auto& scheduler_data = Processor::current().get_scheduler_data();
- ASSERT(scheduler_data.m_in_scheduler);
+ VERIFY(scheduler_data.m_in_scheduler);
scheduler_data.m_in_scheduler = false;
});
@@ -305,7 +305,7 @@ bool Scheduler::yield()
auto current_thread = Thread::current();
dbgln_if(SCHEDULER_DEBUG, "Scheduler[{}]: yielding thread {} in_irq={}", proc.get_id(), *current_thread, proc.in_irq());
- ASSERT(current_thread != nullptr);
+ VERIFY(current_thread != nullptr);
if (proc.in_irq() || proc.in_critical()) {
// If we're handling an IRQ we can't switch context, or we're in
// a critical section where we don't want to switch contexts, then
@@ -324,10 +324,10 @@ bool Scheduler::yield()
bool Scheduler::donate_to_and_switch(Thread* beneficiary, [[maybe_unused]] const char* reason)
{
- ASSERT(g_scheduler_lock.own_lock());
+ VERIFY(g_scheduler_lock.own_lock());
auto& proc = Processor::current();
- ASSERT(proc.in_critical() == 1);
+ VERIFY(proc.in_critical() == 1);
unsigned ticks_left = Thread::current()->ticks_left();
if (!beneficiary || beneficiary->state() != Thread::Runnable || ticks_left <= 1)
@@ -342,7 +342,7 @@ bool Scheduler::donate_to_and_switch(Thread* beneficiary, [[maybe_unused]] const
bool Scheduler::donate_to(RefPtr<Thread>& beneficiary, const char* reason)
{
- ASSERT(beneficiary);
+ VERIFY(beneficiary);
if (beneficiary == Thread::current())
return Scheduler::yield();
@@ -359,11 +359,11 @@ bool Scheduler::donate_to(RefPtr<Thread>& beneficiary, const char* reason)
// We may be on a different processor after we got switched
// back to this thread!
auto& scheduler_data = Processor::current().get_scheduler_data();
- ASSERT(scheduler_data.m_in_scheduler);
+ VERIFY(scheduler_data.m_in_scheduler);
scheduler_data.m_in_scheduler = false;
});
- ASSERT(!proc.in_irq());
+ VERIFY(!proc.in_irq());
if (proc.in_critical() > 1) {
scheduler_data.m_pending_beneficiary = beneficiary; // Save the beneficiary
@@ -413,7 +413,7 @@ bool Scheduler::context_switch(Thread* thread)
// NOTE: from_thread at this point reflects the thread we were
// switched from, and thread reflects Thread::current()
enter_current(*from_thread, false);
- ASSERT(thread == Thread::current());
+ VERIFY(thread == Thread::current());
#if ARCH(I386)
if (thread->process().is_user_process()) {
@@ -429,7 +429,7 @@ bool Scheduler::context_switch(Thread* thread)
void Scheduler::enter_current(Thread& prev_thread, bool is_first)
{
- ASSERT(g_scheduler_lock.own_lock());
+ VERIFY(g_scheduler_lock.own_lock());
prev_thread.set_active(false);
if (prev_thread.state() == Thread::Dying) {
// If the thread we switched from is marked as dying, then notify
@@ -457,7 +457,7 @@ void Scheduler::leave_on_first_switch(u32 flags)
// clean up and release locks manually here
g_scheduler_lock.unlock(flags);
auto& scheduler_data = Processor::current().get_scheduler_data();
- ASSERT(scheduler_data.m_in_scheduler);
+ VERIFY(scheduler_data.m_in_scheduler);
scheduler_data.m_in_scheduler = false;
}
@@ -465,9 +465,9 @@ void Scheduler::prepare_after_exec()
{
// This is called after exec() when doing a context "switch" into
// the new process. This is called from Processor::assume_context
- ASSERT(g_scheduler_lock.own_lock());
+ VERIFY(g_scheduler_lock.own_lock());
auto& scheduler_data = Processor::current().get_scheduler_data();
- ASSERT(!scheduler_data.m_in_scheduler);
+ VERIFY(!scheduler_data.m_in_scheduler);
scheduler_data.m_in_scheduler = true;
}
@@ -475,22 +475,22 @@ void Scheduler::prepare_for_idle_loop()
{
// This is called when the CPU finished setting up the idle loop
// and is about to run it. We need to acquire he scheduler lock
- ASSERT(!g_scheduler_lock.own_lock());
+ VERIFY(!g_scheduler_lock.own_lock());
g_scheduler_lock.lock();
auto& scheduler_data = Processor::current().get_scheduler_data();
- ASSERT(!scheduler_data.m_in_scheduler);
+ VERIFY(!scheduler_data.m_in_scheduler);
scheduler_data.m_in_scheduler = true;
}
Process* Scheduler::colonel()
{
- ASSERT(s_colonel_process);
+ VERIFY(s_colonel_process);
return s_colonel_process;
}
UNMAP_AFTER_INIT void Scheduler::initialize()
{
- ASSERT(&Processor::current() != nullptr); // sanity check
+ VERIFY(&Processor::current() != nullptr); // sanity check
RefPtr<Thread> idle_thread;
g_finalizer_wait_queue = new WaitQueue;
@@ -498,8 +498,8 @@ UNMAP_AFTER_INIT void Scheduler::initialize()
g_finalizer_has_work.store(false, AK::MemoryOrder::memory_order_release);
s_colonel_process = Process::create_kernel_process(idle_thread, "colonel", idle_loop, nullptr, 1).leak_ref();
- ASSERT(s_colonel_process);
- ASSERT(idle_thread);
+ VERIFY(s_colonel_process);
+ VERIFY(idle_thread);
idle_thread->set_priority(THREAD_PRIORITY_MIN);
idle_thread->set_name(StringView("idle thread #0"));
@@ -514,28 +514,28 @@ UNMAP_AFTER_INIT void Scheduler::set_idle_thread(Thread* idle_thread)
UNMAP_AFTER_INIT Thread* Scheduler::create_ap_idle_thread(u32 cpu)
{
- ASSERT(cpu != 0);
+ VERIFY(cpu != 0);
// This function is called on the bsp, but creates an idle thread for another AP
- ASSERT(Processor::id() == 0);
+ VERIFY(Processor::id() == 0);
- ASSERT(s_colonel_process);
+ VERIFY(s_colonel_process);
Thread* idle_thread = s_colonel_process->create_kernel_thread(idle_loop, nullptr, THREAD_PRIORITY_MIN, String::format("idle thread #%u", cpu), 1 << cpu, false);
- ASSERT(idle_thread);
+ VERIFY(idle_thread);
return idle_thread;
}
void Scheduler::timer_tick(const RegisterState& regs)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(Processor::current().in_irq());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(Processor::current().in_irq());
auto current_thread = Processor::current_thread();
if (!current_thread)
return;
// Sanity checks
- ASSERT(current_thread->current_trap());
- ASSERT(current_thread->current_trap()->regs == &regs);
+ VERIFY(current_thread->current_trap());
+ VERIFY(current_thread->current_trap()->regs == &regs);
#if !SCHEDULE_ON_ALL_PROCESSORS
bool is_bsp = Processor::id() == 0;
@@ -543,7 +543,7 @@ void Scheduler::timer_tick(const RegisterState& regs)
return; // TODO: This prevents scheduling on other CPUs!
#endif
if (current_thread->process().is_profiling()) {
- ASSERT(current_thread->process().perf_events());
+ VERIFY(current_thread->process().perf_events());
auto& perf_events = *current_thread->process().perf_events();
[[maybe_unused]] auto rc = perf_events.append_with_eip_and_ebp(regs.eip, regs.ebp, PERF_EVENT_SAMPLE, 0, 0);
}
@@ -551,16 +551,16 @@ void Scheduler::timer_tick(const RegisterState& regs)
if (current_thread->tick())
return;
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(Processor::current().in_irq());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(Processor::current().in_irq());
Processor::current().invoke_scheduler_async();
}
void Scheduler::invoke_async()
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
auto& proc = Processor::current();
- ASSERT(!proc.in_irq());
+ VERIFY(!proc.in_irq());
// Since this function is called when leaving critical sections (such
// as a SpinLock), we need to check if we're not already doing this
@@ -572,8 +572,8 @@ void Scheduler::invoke_async()
void Scheduler::yield_from_critical()
{
auto& proc = Processor::current();
- ASSERT(proc.in_critical());
- ASSERT(!proc.in_irq());
+ VERIFY(proc.in_critical());
+ VERIFY(!proc.in_irq());
yield(); // Flag a context switch
@@ -594,14 +594,14 @@ void Scheduler::idle_loop(void*)
{
auto& proc = Processor::current();
dbgln("Scheduler[{}]: idle loop running", proc.get_id());
- ASSERT(are_interrupts_enabled());
+ VERIFY(are_interrupts_enabled());
for (;;) {
proc.idle_begin();
asm("hlt");
proc.idle_end();
- ASSERT_INTERRUPTS_ENABLED();
+ VERIFY_INTERRUPTS_ENABLED();
#if SCHEDULE_ON_ALL_PROCESSORS
yield();
#else
diff --git a/Kernel/SpinLock.h b/Kernel/SpinLock.h
index 42da93492c..c0b7290c2b 100644
--- a/Kernel/SpinLock.h
+++ b/Kernel/SpinLock.h
@@ -53,7 +53,7 @@ public:
ALWAYS_INLINE void unlock(u32 prev_flags)
{
- ASSERT(is_locked());
+ VERIFY(is_locked());
m_lock.store(0, AK::memory_order_release);
Processor::current().leave_critical(prev_flags);
}
@@ -98,8 +98,8 @@ public:
ALWAYS_INLINE void unlock(u32 prev_flags)
{
- ASSERT(m_recursions > 0);
- ASSERT(m_lock.load(AK::memory_order_relaxed) == FlatPtr(&Processor::current()));
+ VERIFY(m_recursions > 0);
+ VERIFY(m_lock.load(AK::memory_order_relaxed) == FlatPtr(&Processor::current()));
if (--m_recursions == 0)
m_lock.store(0, AK::memory_order_release);
Processor::current().leave_critical(prev_flags);
@@ -137,7 +137,7 @@ public:
ScopedSpinLock(LockType& lock)
: m_lock(&lock)
{
- ASSERT(m_lock);
+ VERIFY(m_lock);
m_prev_flags = m_lock->lock();
m_have_lock = true;
}
@@ -161,16 +161,16 @@ public:
ALWAYS_INLINE void lock()
{
- ASSERT(m_lock);
- ASSERT(!m_have_lock);
+ VERIFY(m_lock);
+ VERIFY(!m_have_lock);
m_prev_flags = m_lock->lock();
m_have_lock = true;
}
ALWAYS_INLINE void unlock()
{
- ASSERT(m_lock);
- ASSERT(m_have_lock);
+ VERIFY(m_lock);
+ VERIFY(m_have_lock);
m_lock->unlock(m_prev_flags);
m_prev_flags = 0;
m_have_lock = false;
diff --git a/Kernel/StdLib.cpp b/Kernel/StdLib.cpp
index 34e8375bb9..2b6df4871e 100644
--- a/Kernel/StdLib.cpp
+++ b/Kernel/StdLib.cpp
@@ -110,7 +110,7 @@ Optional<bool> user_atomic_compare_exchange_relaxed(volatile u32* var, u32& expe
{
if (FlatPtr(var) & 3)
return {}; // not aligned!
- ASSERT(!Kernel::is_user_range(VirtualAddress(&expected), sizeof(expected)));
+ VERIFY(!Kernel::is_user_range(VirtualAddress(&expected), sizeof(expected)));
bool is_user = Kernel::is_user_range(VirtualAddress(FlatPtr(var)), sizeof(*var));
if (!is_user)
return {};
@@ -169,11 +169,11 @@ bool copy_to_user(void* dest_ptr, const void* src_ptr, size_t n)
bool is_user = Kernel::is_user_range(VirtualAddress(dest_ptr), n);
if (!is_user)
return false;
- ASSERT(!Kernel::is_user_range(VirtualAddress(src_ptr), n));
+ VERIFY(!Kernel::is_user_range(VirtualAddress(src_ptr), n));
Kernel::SmapDisabler disabler;
void* fault_at;
if (!Kernel::safe_memcpy(dest_ptr, src_ptr, n, fault_at)) {
- ASSERT(VirtualAddress(fault_at) >= VirtualAddress(dest_ptr) && VirtualAddress(fault_at) <= VirtualAddress((FlatPtr)dest_ptr + n));
+ VERIFY(VirtualAddress(fault_at) >= VirtualAddress(dest_ptr) && VirtualAddress(fault_at) <= VirtualAddress((FlatPtr)dest_ptr + n));
klog() << "copy_to_user(" << dest_ptr << ", " << src_ptr << ", " << n << ") failed at " << VirtualAddress(fault_at);
return false;
}
@@ -185,11 +185,11 @@ bool copy_from_user(void* dest_ptr, const void* src_ptr, size_t n)
bool is_user = Kernel::is_user_range(VirtualAddress(src_ptr), n);
if (!is_user)
return false;
- ASSERT(!Kernel::is_user_range(VirtualAddress(dest_ptr), n));
+ VERIFY(!Kernel::is_user_range(VirtualAddress(dest_ptr), n));
Kernel::SmapDisabler disabler;
void* fault_at;
if (!Kernel::safe_memcpy(dest_ptr, src_ptr, n, fault_at)) {
- ASSERT(VirtualAddress(fault_at) >= VirtualAddress(src_ptr) && VirtualAddress(fault_at) <= VirtualAddress((FlatPtr)src_ptr + n));
+ VERIFY(VirtualAddress(fault_at) >= VirtualAddress(src_ptr) && VirtualAddress(fault_at) <= VirtualAddress((FlatPtr)src_ptr + n));
klog() << "copy_from_user(" << dest_ptr << ", " << src_ptr << ", " << n << ") failed at " << VirtualAddress(fault_at);
return false;
}
@@ -361,22 +361,22 @@ extern "C" int __cxa_atexit(void (*)(void*), void*, void*);
[[noreturn]] void __stack_chk_fail()
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
[[noreturn]] void __stack_chk_fail_local()
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
extern "C" int __cxa_atexit(void (*)(void*), void*, void*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return 0;
}
[[noreturn]] void __cxa_pure_virtual()
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Kernel/Storage/IDEChannel.cpp b/Kernel/Storage/IDEChannel.cpp
index 2a9de03376..103153a639 100644
--- a/Kernel/Storage/IDEChannel.cpp
+++ b/Kernel/Storage/IDEChannel.cpp
@@ -184,8 +184,8 @@ void IDEChannel::start_request(AsyncBlockDeviceRequest& request, bool use_dma, b
void IDEChannel::complete_current_request(AsyncDeviceRequest::RequestResult result)
{
// NOTE: this may be called from the interrupt handler!
- ASSERT(m_current_request);
- ASSERT(m_request_lock.is_locked());
+ VERIFY(m_current_request);
+ VERIFY(m_request_lock.is_locked());
// Now schedule reading back the buffer as soon as we leave the irq handler.
// This is important so that we can safely write the buffer back,
@@ -193,7 +193,7 @@ void IDEChannel::complete_current_request(AsyncDeviceRequest::RequestResult resu
// before Processor::deferred_call_queue returns!
Processor::deferred_call_queue([this, result]() {
dbgln_if(PATA_DEBUG, "IDEChannel::complete_current_request result: {}", (int)result);
- ASSERT(m_current_request);
+ VERIFY(m_current_request);
auto& request = *m_current_request;
m_current_request = nullptr;
@@ -334,7 +334,7 @@ void IDEChannel::handle_irq(const RegisterState&)
dbgln_if(PATA_DEBUG, "IDEChannel: Wrote block {}/{}", m_current_request_block_index, m_current_request->block_count());
if (++m_current_request_block_index >= m_current_request->block_count()) {
// We read the last block, flush cache
- ASSERT(!m_current_request_flushing_cache);
+ VERIFY(!m_current_request_flushing_cache);
m_current_request_flushing_cache = true;
m_io_group.io_base().offset(ATA_REG_COMMAND).out<u8>(ATA_CMD_CACHE_FLUSH);
} else {
@@ -465,7 +465,7 @@ void IDEChannel::ata_access(Direction direction, bool slave_request, u32 lba, u8
u16 cylinder = 0;
if (lba >= 0x10000000) {
- ASSERT(capabilities & ATA_CAP_LBA);
+ VERIFY(capabilities & ATA_CAP_LBA);
lba_mode = LBAMode::FortyEightBit;
head = 0;
} else if (capabilities & ATA_CAP_LBA) {
@@ -532,7 +532,7 @@ void IDEChannel::ata_read_sectors_with_dma(bool slave_request, u16 capabilities)
prdt().offset = m_dma_buffer_page->paddr();
prdt().size = 512 * request.block_count();
- ASSERT(prdt().size <= PAGE_SIZE);
+ VERIFY(prdt().size <= PAGE_SIZE);
// Stop bus master
m_io_group.bus_master_base().out<u8>(0);
@@ -574,7 +574,7 @@ bool IDEChannel::ata_do_read_sector()
void IDEChannel::ata_read_sectors(bool slave_request, u16 capabilities)
{
auto& request = *m_current_request;
- ASSERT(request.block_count() <= 256);
+ VERIFY(request.block_count() <= 256);
dbgln_if(PATA_DEBUG, "IDEChannel::ata_read_sectors");
auto lba = request.block_index();
@@ -597,7 +597,7 @@ void IDEChannel::ata_write_sectors_with_dma(bool slave_request, u16 capabilities
return;
}
- ASSERT(prdt().size <= PAGE_SIZE);
+ VERIFY(prdt().size <= PAGE_SIZE);
// Stop bus master
m_io_group.bus_master_base().out<u8>(0);
@@ -623,7 +623,7 @@ void IDEChannel::ata_do_write_sector()
;
u8 status = m_io_group.control_base().in<u8>();
- ASSERT(status & ATA_SR_DRQ);
+ VERIFY(status & ATA_SR_DRQ);
auto in_buffer = request.buffer().offset(m_current_request_block_index * 512);
dbgln_if(PATA_DEBUG, "IDEChannel: Writing 512 bytes (part {}) (status={:#02x})...", m_current_request_block_index, status);
@@ -641,7 +641,7 @@ void IDEChannel::ata_write_sectors(bool slave_request, u16 capabilities)
{
auto& request = *m_current_request;
- ASSERT(request.block_count() <= 256);
+ VERIFY(request.block_count() <= 256);
u32 start_sector = request.block_index();
u32 count = request.block_count();
dbgln_if(PATA_DEBUG, "IDEChannel: Writing {} sector(s) @ LBA {}", count, start_sector);
diff --git a/Kernel/Storage/IDEController.cpp b/Kernel/Storage/IDEController.cpp
index 5015d384a0..ff46722c5a 100644
--- a/Kernel/Storage/IDEController.cpp
+++ b/Kernel/Storage/IDEController.cpp
@@ -59,12 +59,12 @@ size_t IDEController::devices_count() const
void IDEController::start_request(const StorageDevice&, AsyncBlockDeviceRequest&)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void IDEController::complete_current_request(AsyncDeviceRequest::RequestResult)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
UNMAP_AFTER_INIT IDEController::IDEController(PCI::Address address, bool force_pio)
@@ -108,7 +108,7 @@ RefPtr<StorageDevice> IDEController::device_by_channel_and_position(u32 index) c
case 3:
return m_channels[1].slave_device();
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
RefPtr<StorageDevice> IDEController::device(u32 index) const
diff --git a/Kernel/Storage/Partition/DiskPartitionMetadata.cpp b/Kernel/Storage/Partition/DiskPartitionMetadata.cpp
index aa2dbd6fb0..1da3d59ae1 100644
--- a/Kernel/Storage/Partition/DiskPartitionMetadata.cpp
+++ b/Kernel/Storage/Partition/DiskPartitionMetadata.cpp
@@ -40,12 +40,12 @@ DiskPartitionMetadata::PartitionType::PartitionType(Array<u8, 16> partition_type
}
UUID DiskPartitionMetadata::PartitionType::to_uuid() const
{
- ASSERT(is_uuid());
+ VERIFY(is_uuid());
return m_partition_type;
}
u8 DiskPartitionMetadata::PartitionType::to_byte_indicator() const
{
- ASSERT(!is_uuid());
+ VERIFY(!is_uuid());
return m_partition_type[0];
}
bool DiskPartitionMetadata::PartitionType::is_uuid() const
@@ -63,7 +63,7 @@ DiskPartitionMetadata::DiskPartitionMetadata(u64 start_block, u64 end_block, u8
, m_type(partition_type)
{
- ASSERT(m_type.is_valid());
+ VERIFY(m_type.is_valid());
}
DiskPartitionMetadata::DiskPartitionMetadata(u64 start_block, u64 end_block, Array<u8, 16> partition_type)
@@ -72,7 +72,7 @@ DiskPartitionMetadata::DiskPartitionMetadata(u64 start_block, u64 end_block, Arr
, m_type(partition_type)
{
- ASSERT(m_type.is_valid());
+ VERIFY(m_type.is_valid());
}
DiskPartitionMetadata::DiskPartitionMetadata(u64 start_block, u64 end_block, Array<u8, 16> partition_type, UUID unique_guid, u64 special_attributes, String name)
@@ -83,8 +83,8 @@ DiskPartitionMetadata::DiskPartitionMetadata(u64 start_block, u64 end_block, Arr
, m_attributes(special_attributes)
, m_name(name)
{
- ASSERT(m_type.is_valid());
- ASSERT(!m_unique_guid.is_zero());
+ VERIFY(m_type.is_valid());
+ VERIFY(!m_unique_guid.is_zero());
}
DiskPartitionMetadata DiskPartitionMetadata::offset(u64 blocks_count) const
diff --git a/Kernel/Storage/Partition/EBRPartitionTable.cpp b/Kernel/Storage/Partition/EBRPartitionTable.cpp
index a61e305c8d..d67f210600 100644
--- a/Kernel/Storage/Partition/EBRPartitionTable.cpp
+++ b/Kernel/Storage/Partition/EBRPartitionTable.cpp
@@ -44,11 +44,11 @@ void EBRPartitionTable::search_extended_partition(const StorageDevice& device, M
if (limit == 0)
return;
// EBRs should not carry more than 2 partitions (because they need to form a linked list)
- ASSERT(checked_ebr.partitions_count() <= 2);
+ VERIFY(checked_ebr.partitions_count() <= 2);
auto checked_logical_partition = checked_ebr.partition(0);
// If we are pointed to an invalid logical partition, something is seriously wrong.
- ASSERT(checked_logical_partition.has_value());
+ VERIFY(checked_logical_partition.has_value());
m_partitions.append(checked_logical_partition.value().offset(current_block_offset));
if (!checked_ebr.contains_ebr())
return;
@@ -66,7 +66,7 @@ EBRPartitionTable::EBRPartitionTable(const StorageDevice& device)
return;
m_valid = true;
- ASSERT(partitions_count() == 0);
+ VERIFY(partitions_count() == 0);
auto& header = this->header();
for (size_t index = 0; index < 4; index++) {
diff --git a/Kernel/Storage/Partition/GUIDPartitionTable.cpp b/Kernel/Storage/Partition/GUIDPartitionTable.cpp
index 9f7b787aa5..d4e1c2639e 100644
--- a/Kernel/Storage/Partition/GUIDPartitionTable.cpp
+++ b/Kernel/Storage/Partition/GUIDPartitionTable.cpp
@@ -79,7 +79,7 @@ GUIDPartitionTable::GUIDPartitionTable(const StorageDevice& device)
: MBRPartitionTable(device)
{
m_cached_header = ByteBuffer::create_zeroed(m_device->block_size());
- ASSERT(partitions_count() == 0);
+ VERIFY(partitions_count() == 0);
if (!initialize())
m_valid = false;
}
@@ -91,7 +91,7 @@ const GUIDPartitionHeader& GUIDPartitionTable::header() const
bool GUIDPartitionTable::initialize()
{
- ASSERT(m_cached_header.data() != nullptr);
+ VERIFY(m_cached_header.data() != nullptr);
auto first_gpt_block = (m_device->block_size() == 512) ? 1 : 0;
diff --git a/Kernel/Storage/RamdiskController.cpp b/Kernel/Storage/RamdiskController.cpp
index d0b800c1b2..0ffe147364 100644
--- a/Kernel/Storage/RamdiskController.cpp
+++ b/Kernel/Storage/RamdiskController.cpp
@@ -53,12 +53,12 @@ size_t RamdiskController::devices_count() const
void RamdiskController::start_request(const StorageDevice&, AsyncBlockDeviceRequest&)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void RamdiskController::complete_current_request(AsyncDeviceRequest::RequestResult)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
RamdiskController::RamdiskController()
diff --git a/Kernel/Storage/StorageDevice.cpp b/Kernel/Storage/StorageDevice.cpp
index 98b3d08421..2de967e270 100644
--- a/Kernel/Storage/StorageDevice.cpp
+++ b/Kernel/Storage/StorageDevice.cpp
@@ -100,7 +100,7 @@ KResultOr<size_t> StorageDevice::read(FileDescription&, size_t offset, UserOrKer
return EIO;
case AsyncDeviceRequest::MemoryFault:
// This should never happen, we're writing to a kernel buffer!
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
default:
break;
}
@@ -172,7 +172,7 @@ KResultOr<size_t> StorageDevice::write(FileDescription&, size_t offset, const Us
return EIO;
case AsyncDeviceRequest::MemoryFault:
// This should never happen, we're writing to a kernel buffer!
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
default:
break;
}
@@ -193,7 +193,7 @@ KResultOr<size_t> StorageDevice::write(FileDescription&, size_t offset, const Us
return EIO;
case AsyncDeviceRequest::MemoryFault:
// This should never happen, we're writing to a kernel buffer!
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
default:
break;
}
diff --git a/Kernel/Storage/StorageManagement.cpp b/Kernel/Storage/StorageManagement.cpp
index 2584a6938f..9211ce97f5 100644
--- a/Kernel/Storage/StorageManagement.cpp
+++ b/Kernel/Storage/StorageManagement.cpp
@@ -75,7 +75,7 @@ NonnullRefPtrVector<StorageController> StorageManagement::enumerate_controllers(
NonnullRefPtrVector<StorageDevice> StorageManagement::enumerate_storage_devices() const
{
- ASSERT(!m_controllers.is_empty());
+ VERIFY(!m_controllers.is_empty());
NonnullRefPtrVector<StorageDevice> devices;
for (auto& controller : m_controllers) {
for (size_t device_index = 0; device_index < controller.devices_count(); device_index++) {
@@ -110,7 +110,7 @@ OwnPtr<PartitionTable> StorageManagement::try_to_initialize_partition_table(cons
NonnullRefPtrVector<DiskPartition> StorageManagement::enumerate_disk_partitions() const
{
- ASSERT(!m_storage_devices.is_empty());
+ VERIFY(!m_storage_devices.is_empty());
NonnullRefPtrVector<DiskPartition> partitions;
size_t device_index = 0;
for (auto& device : m_storage_devices) {
@@ -133,7 +133,7 @@ NonnullRefPtrVector<DiskPartition> StorageManagement::enumerate_disk_partitions(
void StorageManagement::determine_boot_device()
{
- ASSERT(!m_controllers.is_empty());
+ VERIFY(!m_controllers.is_empty());
if (m_boot_argument.starts_with("/dev/")) {
StringView device_name = m_boot_argument.substring_view(5);
Device::for_each([&](Device& device) {
@@ -153,8 +153,8 @@ void StorageManagement::determine_boot_device()
void StorageManagement::determine_boot_device_with_partition_uuid()
{
- ASSERT(!m_disk_partitions.is_empty());
- ASSERT(m_boot_argument.starts_with("PARTUUID="));
+ VERIFY(!m_disk_partitions.is_empty());
+ VERIFY(m_boot_argument.starts_with("PARTUUID="));
auto partition_uuid = UUID(m_boot_argument.substring_view(strlen("PARTUUID=")));
@@ -197,7 +197,7 @@ bool StorageManagement::initialized()
UNMAP_AFTER_INIT void StorageManagement::initialize(String root_device, bool force_pio)
{
- ASSERT(!StorageManagement::initialized());
+ VERIFY(!StorageManagement::initialized());
s_the = new StorageManagement(root_device, force_pio);
}
diff --git a/Kernel/Syscall.cpp b/Kernel/Syscall.cpp
index a470bced45..fbf14b1cb9 100644
--- a/Kernel/Syscall.cpp
+++ b/Kernel/Syscall.cpp
@@ -87,7 +87,7 @@ static Handler s_syscall_table[] = {
int handle(RegisterState& regs, u32 function, u32 arg1, u32 arg2, u32 arg3)
{
- ASSERT_INTERRUPTS_ENABLED();
+ VERIFY_INTERRUPTS_ENABLED();
auto current_thread = Thread::current();
auto& process = current_thread->process();
current_thread->did_syscall();
@@ -106,7 +106,7 @@ int handle(RegisterState& regs, u32 function, u32 arg1, u32 arg2, u32 arg3)
process.sys$exit((int)arg1);
else
process.sys$exit_thread(arg1);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return 0;
}
@@ -138,7 +138,7 @@ void syscall_handler(TrapFrame* trap)
{
auto& regs = *trap->regs;
auto current_thread = Thread::current();
- ASSERT(current_thread->previous_mode() == Thread::PreviousMode::UserMode);
+ VERIFY(current_thread->previous_mode() == Thread::PreviousMode::UserMode);
auto& process = current_thread->process();
if (auto tracer = process.tracer(); tracer && tracer->is_tracing_syscalls()) {
@@ -211,12 +211,12 @@ void syscall_handler(TrapFrame* trap)
current_thread->check_dispatch_pending_signal();
// If the previous mode somehow changed something is seriously messed up...
- ASSERT(current_thread->previous_mode() == Thread::PreviousMode::UserMode);
+ VERIFY(current_thread->previous_mode() == Thread::PreviousMode::UserMode);
// Check if we're supposed to return to userspace or just die.
current_thread->die_if_needed();
- ASSERT(!g_scheduler_lock.own_lock());
+ VERIFY(!g_scheduler_lock.own_lock());
}
}
diff --git a/Kernel/Syscalls/execve.cpp b/Kernel/Syscalls/execve.cpp
index 82e8ba2748..41c76a8b85 100644
--- a/Kernel/Syscalls/execve.cpp
+++ b/Kernel/Syscalls/execve.cpp
@@ -195,7 +195,7 @@ static KResultOr<RequiredLoadRange> get_required_load_range(FileDescription& pro
return IterationDecision::Continue;
});
- ASSERT(range.end > range.start);
+ VERIFY(range.end > range.start);
return range;
};
@@ -283,15 +283,15 @@ static KResultOr<LoadResult> load_elf_object(NonnullOwnPtr<Space> new_space, Fil
FlatPtr load_base_address = 0;
String elf_name = object_description.absolute_path();
- ASSERT(!Processor::current().in_critical());
+ VERIFY(!Processor::current().in_critical());
MemoryManager::enter_space(*new_space);
KResult ph_load_result = KSuccess;
elf_image.for_each_program_header([&](const ELF::Image::ProgramHeader& program_header) {
if (program_header.type() == PT_TLS) {
- ASSERT(should_allocate_tls == ShouldAllocateTls::Yes);
- ASSERT(program_header.size_in_memory());
+ VERIFY(should_allocate_tls == ShouldAllocateTls::Yes);
+ VERIFY(program_header.size_in_memory());
if (!elf_image.is_within_image(program_header.raw_data(), program_header.size_in_image())) {
dbgln("Shenanigans! ELF PT_TLS header sneaks outside of executable.");
@@ -325,8 +325,8 @@ static KResultOr<LoadResult> load_elf_object(NonnullOwnPtr<Space> new_space, Fil
if (program_header.is_writable()) {
// Writable section: create a copy in memory.
- ASSERT(program_header.size_in_memory());
- ASSERT(program_header.alignment() == PAGE_SIZE);
+ VERIFY(program_header.size_in_memory());
+ VERIFY(program_header.alignment() == PAGE_SIZE);
if (!elf_image.is_within_image(program_header.raw_data(), program_header.size_in_image())) {
dbgln("Shenanigans! Writable ELF PT_LOAD header sneaks outside of executable.");
@@ -368,8 +368,8 @@ static KResultOr<LoadResult> load_elf_object(NonnullOwnPtr<Space> new_space, Fil
}
// Non-writable section: map the executable itself in memory.
- ASSERT(program_header.size_in_memory());
- ASSERT(program_header.alignment() == PAGE_SIZE);
+ VERIFY(program_header.size_in_memory());
+ VERIFY(program_header.alignment() == PAGE_SIZE);
int prot = 0;
if (program_header.is_readable())
prot |= PROT_READ;
@@ -454,17 +454,17 @@ KResultOr<LoadResult> Process::load(NonnullRefPtr<FileDescription> main_program_
return interpreter_load_result.error();
// TLS allocation will be done in userspace by the loader
- ASSERT(!interpreter_load_result.value().tls_region);
- ASSERT(!interpreter_load_result.value().tls_alignment);
- ASSERT(!interpreter_load_result.value().tls_size);
+ VERIFY(!interpreter_load_result.value().tls_region);
+ VERIFY(!interpreter_load_result.value().tls_alignment);
+ VERIFY(!interpreter_load_result.value().tls_size);
return interpreter_load_result;
}
KResult Process::do_exec(NonnullRefPtr<FileDescription> main_program_description, Vector<String> arguments, Vector<String> environment, RefPtr<FileDescription> interpreter_description, Thread*& new_main_thread, u32& prev_flags, const Elf32_Ehdr& main_program_header)
{
- ASSERT(is_user_process());
- ASSERT(!Processor::current().in_critical());
+ VERIFY(is_user_process());
+ VERIFY(!Processor::current().in_critical());
auto path = main_program_description->absolute_path();
dbgln_if(EXEC_DEBUG, "do_exec: {}", path);
@@ -522,7 +522,7 @@ KResult Process::do_exec(NonnullRefPtr<FileDescription> main_program_description
auto signal_trampoline_region = m_space->allocate_region_with_vmobject(signal_trampoline_range.value(), g_signal_trampoline_region->vmobject(), 0, "Signal trampoline", PROT_READ | PROT_EXEC, true);
if (signal_trampoline_region.is_error()) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
signal_trampoline_region.value()->set_syscall_region(true);
@@ -557,7 +557,7 @@ KResult Process::do_exec(NonnullRefPtr<FileDescription> main_program_description
int main_program_fd = -1;
if (interpreter_description) {
main_program_fd = alloc_fd();
- ASSERT(main_program_fd >= 0);
+ VERIFY(main_program_fd >= 0);
main_program_description->seek(0, SEEK_SET);
main_program_description->set_readable(true);
m_fds[main_program_fd].set(move(main_program_description), FD_CLOEXEC);
@@ -572,7 +572,7 @@ KResult Process::do_exec(NonnullRefPtr<FileDescription> main_program_description
return IterationDecision::Break;
});
}
- ASSERT(new_main_thread);
+ VERIFY(new_main_thread);
auto auxv = generate_auxiliary_vector(load_result.load_base, load_result.entry_eip, m_uid, m_euid, m_gid, m_egid, path, main_program_fd);
@@ -604,7 +604,7 @@ KResult Process::do_exec(NonnullRefPtr<FileDescription> main_program_description
auto tsr_result = new_main_thread->make_thread_specific_region({});
if (tsr_result.is_error()) {
// FIXME: We cannot fail this late. Refactor this so the allocation happens before we commit to the new executable.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
new_main_thread->reset_fpu_state();
@@ -630,8 +630,8 @@ KResult Process::do_exec(NonnullRefPtr<FileDescription> main_program_description
}
u32 lock_count_to_restore;
[[maybe_unused]] auto rc = big_lock().force_unlock_if_locked(lock_count_to_restore);
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(Processor::current().in_critical());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(Processor::current().in_critical());
return KSuccess;
}
@@ -727,7 +727,7 @@ KResultOr<RefPtr<FileDescription>> Process::find_elf_interpreter_for_executable(
auto interpreter_description = interp_result.value();
auto interp_metadata = interpreter_description->metadata();
- ASSERT(interpreter_description->inode());
+ VERIFY(interpreter_description->inode());
// Validate the program interpreter as a valid elf binary.
// If your program interpreter is a #! file or something, it's time to stop playing games :)
@@ -805,7 +805,7 @@ KResult Process::exec(String path, Vector<String> arguments, Vector<String> envi
if (metadata.size < 3)
return ENOEXEC;
- ASSERT(description->inode());
+ VERIFY(description->inode());
// Read the first page of the program into memory so we can validate the binfmt of it
char first_page[PAGE_SIZE];
@@ -856,20 +856,20 @@ KResult Process::exec(String path, Vector<String> arguments, Vector<String> envi
if (result.is_error())
return result;
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(Processor::current().in_critical());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(Processor::current().in_critical());
auto current_thread = Thread::current();
if (current_thread == new_main_thread) {
// We need to enter the scheduler lock before changing the state
// and it will be released after the context switch into that
// thread. We should also still be in our critical section
- ASSERT(!g_scheduler_lock.own_lock());
- ASSERT(Processor::current().in_critical() == 1);
+ VERIFY(!g_scheduler_lock.own_lock());
+ VERIFY(Processor::current().in_critical() == 1);
g_scheduler_lock.lock();
current_thread->set_state(Thread::State::Running);
Processor::assume_context(*current_thread, prev_flags);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Processor::current().leave_critical(prev_flags);
@@ -926,7 +926,7 @@ int Process::sys$execve(Userspace<const Syscall::SC_execve_params*> user_params)
return -EFAULT;
auto result = exec(move(path), move(arguments), move(environment));
- ASSERT(result.is_error()); // We should never continue after a successful exec!
+ VERIFY(result.is_error()); // We should never continue after a successful exec!
return result.error();
}
diff --git a/Kernel/Syscalls/exit.cpp b/Kernel/Syscalls/exit.cpp
index 37d058fdab..cd127649d7 100644
--- a/Kernel/Syscalls/exit.cpp
+++ b/Kernel/Syscalls/exit.cpp
@@ -37,7 +37,7 @@ void Process::sys$exit(int status)
m_termination_signal = 0;
die();
Thread::current()->die_if_needed();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Kernel/Syscalls/futex.cpp b/Kernel/Syscalls/futex.cpp
index 61c64dd3b8..1240c7ee3e 100644
--- a/Kernel/Syscalls/futex.cpp
+++ b/Kernel/Syscalls/futex.cpp
@@ -62,7 +62,7 @@ FutexQueue::~FutexQueue()
void FutexQueue::vmobject_deleted(VMObject& vmobject)
{
- ASSERT(m_is_global); // If we got called we must be a global futex
+ VERIFY(m_is_global); // If we got called we must be a global futex
// Because we're taking ourselves out of the global queue, we need
// to make sure we have at last a reference until we're done
NonnullRefPtr<FutexQueue> own_ref(*this);
@@ -88,7 +88,7 @@ void FutexQueue::vmobject_deleted(VMObject& vmobject)
dbgln("Futex @ {} unblocked {} waiters due to vmobject free", this, wake_count);
}
- ASSERT(did_wake_all); // No one should be left behind...
+ VERIFY(did_wake_all); // No one should be left behind...
}
void Process::clear_futex_queues_on_exec()
@@ -97,7 +97,7 @@ void Process::clear_futex_queues_on_exec()
for (auto& it : m_futex_queues) {
bool did_wake_all;
it.value->wake_all(did_wake_all);
- ASSERT(did_wake_all); // No one should be left behind...
+ VERIFY(did_wake_all); // No one should be left behind...
}
m_futex_queues.clear();
}
@@ -172,16 +172,16 @@ int Process::sys$futex(Userspace<const Syscall::SC_futex_params*> user_params)
if (create_if_not_found) {
// TODO: is there a better way than setting and finding it again?
auto result = global_queues.set(&vmobject, {});
- ASSERT(result == AK::HashSetResult::InsertedNewEntry);
+ VERIFY(result == AK::HashSetResult::InsertedNewEntry);
it = global_queues.find(&vmobject);
- ASSERT(it != global_queues.end());
+ VERIFY(it != global_queues.end());
return &it->value;
}
return nullptr;
};
auto find_futex_queue = [&](VMObject* vmobject, FlatPtr user_address_or_offset, bool create_if_not_found) -> RefPtr<FutexQueue> {
- ASSERT(is_private || vmobject);
+ VERIFY(is_private || vmobject);
auto* queues = is_private ? &m_futex_queues : find_global_futex_queues(*vmobject, create_if_not_found);
if (!queues)
return {};
@@ -191,7 +191,7 @@ int Process::sys$futex(Userspace<const Syscall::SC_futex_params*> user_params)
if (create_if_not_found) {
auto futex_queue = adopt(*new FutexQueue(user_address_or_offset, vmobject));
auto result = queues->set(user_address_or_offset, futex_queue);
- ASSERT(result == AK::HashSetResult::InsertedNewEntry);
+ VERIFY(result == AK::HashSetResult::InsertedNewEntry);
return futex_queue;
}
return {};
@@ -234,7 +234,7 @@ int Process::sys$futex(Userspace<const Syscall::SC_futex_params*> user_params)
atomic_thread_fence(AK::MemoryOrder::memory_order_acquire);
auto futex_queue = find_futex_queue(vmobject.ptr(), user_address_or_offset, true);
- ASSERT(futex_queue);
+ VERIFY(futex_queue);
// We need to release the lock before blocking. But we have a reference
// to the FutexQueue so that we can keep it alive.
@@ -358,13 +358,13 @@ int Process::sys$futex(Userspace<const Syscall::SC_futex_params*> user_params)
return do_requeue(params.val3);
case FUTEX_WAIT_BITSET:
- ASSERT(params.val3 != FUTEX_BITSET_MATCH_ANY); // we should have turned it into FUTEX_WAIT
+ VERIFY(params.val3 != FUTEX_BITSET_MATCH_ANY); // we should have turned it into FUTEX_WAIT
if (params.val3 == 0)
return -EINVAL;
return do_wait(params.val3);
case FUTEX_WAKE_BITSET:
- ASSERT(params.val3 != FUTEX_BITSET_MATCH_ANY); // we should have turned it into FUTEX_WAKE
+ VERIFY(params.val3 != FUTEX_BITSET_MATCH_ANY); // we should have turned it into FUTEX_WAKE
if (params.val3 == 0)
return -EINVAL;
return do_wake(vmobject.ptr(), user_address_or_offset, params.val, params.val3);
diff --git a/Kernel/Syscalls/get_stack_bounds.cpp b/Kernel/Syscalls/get_stack_bounds.cpp
index b72939220d..f187fdf667 100644
--- a/Kernel/Syscalls/get_stack_bounds.cpp
+++ b/Kernel/Syscalls/get_stack_bounds.cpp
@@ -36,7 +36,7 @@ int Process::sys$get_stack_bounds(FlatPtr* user_stack_base, size_t* user_stack_s
auto* stack_region = space().find_region_containing(Range { VirtualAddress(stack_pointer), 1 });
// The syscall handler should have killed us if we had an invalid stack pointer.
- ASSERT(stack_region);
+ VERIFY(stack_region);
FlatPtr stack_base = stack_region->range().base().get();
size_t stack_size = stack_region->size();
diff --git a/Kernel/Syscalls/kill.cpp b/Kernel/Syscalls/kill.cpp
index 33d8c1643c..e8b8978799 100644
--- a/Kernel/Syscalls/kill.cpp
+++ b/Kernel/Syscalls/kill.cpp
@@ -47,7 +47,7 @@ KResult Process::do_killpg(ProcessGroupID pgrp, int signal)
{
InterruptDisabler disabler;
- ASSERT(pgrp >= 0);
+ VERIFY(pgrp >= 0);
// Send the signal to all processes in the given group.
if (pgrp == 0) {
@@ -136,7 +136,7 @@ int Process::sys$kill(pid_t pid_or_pgid, int signal)
if (pid_or_pgid == m_pid.value()) {
return do_killself(signal);
}
- ASSERT(pid_or_pgid >= 0);
+ VERIFY(pid_or_pgid >= 0);
ScopedSpinLock lock(g_processes_lock);
auto peer = Process::from_pid(pid_or_pgid);
if (!peer)
diff --git a/Kernel/Syscalls/mmap.cpp b/Kernel/Syscalls/mmap.cpp
index fa39188769..2ee5f5409e 100644
--- a/Kernel/Syscalls/mmap.cpp
+++ b/Kernel/Syscalls/mmap.cpp
@@ -465,7 +465,7 @@ int Process::sys$munmap(void* addr, size_t size)
if (!whole_region->is_mmap())
return -EPERM;
bool success = space().deallocate_region(*whole_region);
- ASSERT(success);
+ VERIFY(success);
return 0;
}
@@ -557,7 +557,7 @@ void* Process::sys$allocate_tls(size_t size)
main_thread = &thread;
return IterationDecision::Break;
});
- ASSERT(main_thread);
+ VERIFY(main_thread);
auto range = space().allocate_range({}, size);
if (!range.has_value())
diff --git a/Kernel/Syscalls/module.cpp b/Kernel/Syscalls/module.cpp
index c404d4970e..6582d3782d 100644
--- a/Kernel/Syscalls/module.cpp
+++ b/Kernel/Syscalls/module.cpp
@@ -80,7 +80,7 @@ int Process::sys$module_load(Userspace<const char*> user_path, size_t path_lengt
if (!section.size())
return IterationDecision::Continue;
auto* section_storage = section_storage_by_name.get(section.name()).value_or(nullptr);
- ASSERT(section_storage);
+ VERIFY(section_storage);
section.relocations().for_each_relocation([&](const ELF::Image::Relocation& relocation) {
auto& patch_ptr = *reinterpret_cast<ptrdiff_t*>(section_storage + relocation.offset());
switch (relocation.type()) {
@@ -100,7 +100,7 @@ int Process::sys$module_load(Userspace<const char*> user_path, size_t path_lengt
if (relocation.symbol().bind() == STB_LOCAL) {
auto* section_storage_containing_symbol = section_storage_by_name.get(relocation.symbol().section().name()).value_or(nullptr);
- ASSERT(section_storage_containing_symbol);
+ VERIFY(section_storage_containing_symbol);
u32 symbol_address = (ptrdiff_t)(section_storage_containing_symbol + relocation.symbol().value());
if (symbol_address == 0)
missing_symbols = true;
@@ -113,7 +113,7 @@ int Process::sys$module_load(Userspace<const char*> user_path, size_t path_lengt
dbgln(" Symbol address: {:p}", symbol_address);
patch_ptr += symbol_address;
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
break;
}
diff --git a/Kernel/Syscalls/ptrace.cpp b/Kernel/Syscalls/ptrace.cpp
index 1382998279..e882b02dcd 100644
--- a/Kernel/Syscalls/ptrace.cpp
+++ b/Kernel/Syscalls/ptrace.cpp
@@ -205,7 +205,7 @@ KResult Process::poke_user_data(Userspace<u32*> address, u32 data)
if (region->is_shared()) {
// If the region is shared, we change its vmobject to a PrivateInodeVMObject
// to prevent the write operation from changing any shared inode data
- ASSERT(region->vmobject().is_shared_inode());
+ VERIFY(region->vmobject().is_shared_inode());
region->set_vmobject(PrivateInodeVMObject::create_with_inode(static_cast<SharedInodeVMObject&>(region->vmobject()).inode()));
region->set_shared(false);
}
diff --git a/Kernel/Syscalls/select.cpp b/Kernel/Syscalls/select.cpp
index 6d464d1f58..0009fdf37f 100644
--- a/Kernel/Syscalls/select.cpp
+++ b/Kernel/Syscalls/select.cpp
@@ -226,15 +226,15 @@ int Process::sys$poll(Userspace<const Syscall::SC_poll_params*> user_params)
pfd.revents |= POLLNVAL;
} else {
if ((u32)fds_entry.unblocked_flags & (u32)Thread::FileBlocker::BlockFlags::Read) {
- ASSERT(pfd.events & POLLIN);
+ VERIFY(pfd.events & POLLIN);
pfd.revents |= POLLIN;
}
if ((u32)fds_entry.unblocked_flags & (u32)Thread::FileBlocker::BlockFlags::ReadPriority) {
- ASSERT(pfd.events & POLLPRI);
+ VERIFY(pfd.events & POLLPRI);
pfd.revents |= POLLPRI;
}
if ((u32)fds_entry.unblocked_flags & (u32)Thread::FileBlocker::BlockFlags::Write) {
- ASSERT(pfd.events & POLLOUT);
+ VERIFY(pfd.events & POLLOUT);
pfd.revents |= POLLOUT;
}
}
diff --git a/Kernel/Syscalls/socket.cpp b/Kernel/Syscalls/socket.cpp
index 960aa7a8ec..6529edef43 100644
--- a/Kernel/Syscalls/socket.cpp
+++ b/Kernel/Syscalls/socket.cpp
@@ -122,7 +122,7 @@ int Process::sys$accept(int accepting_socket_fd, Userspace<sockaddr*> user_addre
}
}
auto accepted_socket = socket.accept();
- ASSERT(accepted_socket);
+ VERIFY(accepted_socket);
if (user_address) {
u8 address_buffer[sizeof(sockaddr_un)];
@@ -263,7 +263,7 @@ ssize_t Process::sys$recvmsg(int sockfd, Userspace<struct msghdr*> user_msg, int
int msg_flags = 0;
if (result.value() > iovs[0].iov_len) {
- ASSERT(socket.type() != SOCK_STREAM);
+ VERIFY(socket.type() != SOCK_STREAM);
msg_flags |= MSG_TRUNC;
}
diff --git a/Kernel/Syscalls/thread.cpp b/Kernel/Syscalls/thread.cpp
index fc24d2d731..6ad8e266c7 100644
--- a/Kernel/Syscalls/thread.cpp
+++ b/Kernel/Syscalls/thread.cpp
@@ -102,7 +102,7 @@ void Process::sys$exit_thread(Userspace<void*> exit_value)
}
Thread::current()->exit(reinterpret_cast<void*>(exit_value.ptr()));
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int Process::sys$detach_thread(pid_t tid)
diff --git a/Kernel/Syscalls/unveil.cpp b/Kernel/Syscalls/unveil.cpp
index 8657ecfee0..20a91edb69 100644
--- a/Kernel/Syscalls/unveil.cpp
+++ b/Kernel/Syscalls/unveil.cpp
@@ -125,7 +125,7 @@ int Process::sys$unveil(Userspace<const Syscall::SC_unveil_params*> user_params)
lexical_path.parts().end(),
{ new_unveiled_path, (UnveilAccess)new_permissions, true },
[](auto& parent, auto& it) -> Optional<UnveilMetadata> { return UnveilMetadata { String::formatted("{}/{}", parent.path(), *it), parent.permissions(), false, parent.permissions_inherited_from_root() }; });
- ASSERT(m_veil_state != VeilState::Locked);
+ VERIFY(m_veil_state != VeilState::Locked);
m_veil_state = VeilState::Dropped;
return 0;
}
diff --git a/Kernel/Syscalls/waitid.cpp b/Kernel/Syscalls/waitid.cpp
index d9dc09f509..c2ca611a89 100644
--- a/Kernel/Syscalls/waitid.cpp
+++ b/Kernel/Syscalls/waitid.cpp
@@ -34,7 +34,7 @@ KResultOr<siginfo_t> Process::do_waitid(idtype_t idtype, int id, int options)
KResultOr<siginfo_t> result = KResult(KSuccess);
if (Thread::current()->block<Thread::WaitBlocker>({}, options, idtype, id, result).was_interrupted())
return EINTR;
- ASSERT(!result.is_error() || (options & WNOHANG) || result.error() != KSuccess);
+ VERIFY(!result.is_error() || (options & WNOHANG) || result.error() != KSuccess);
return result;
}
diff --git a/Kernel/Syscalls/write.cpp b/Kernel/Syscalls/write.cpp
index b80f6c6912..e1006163ab 100644
--- a/Kernel/Syscalls/write.cpp
+++ b/Kernel/Syscalls/write.cpp
@@ -91,7 +91,7 @@ ssize_t Process::do_write(FileDescription& description, const UserOrKernelBuffer
if (!description.can_write()) {
if (!description.is_blocking()) {
// Short write: We can no longer write to this non-blocking description.
- ASSERT(total_nwritten > 0);
+ VERIFY(total_nwritten > 0);
return total_nwritten;
}
auto unblock_flags = Thread::FileBlocker::BlockFlags::None;
diff --git a/Kernel/TTY/VirtualConsole.cpp b/Kernel/TTY/VirtualConsole.cpp
index 5fa2e52141..4f136ab069 100644
--- a/Kernel/TTY/VirtualConsole.cpp
+++ b/Kernel/TTY/VirtualConsole.cpp
@@ -68,7 +68,7 @@ UNMAP_AFTER_INIT VirtualConsole::VirtualConsole(const unsigned index)
, m_index(index)
, m_terminal(*this)
{
- ASSERT(index < s_max_virtual_consoles);
+ VERIFY(index < s_max_virtual_consoles);
m_tty_name = String::formatted("/dev/tty{}", m_index);
m_terminal.set_size(80, 25);
@@ -78,15 +78,15 @@ UNMAP_AFTER_INIT VirtualConsole::VirtualConsole(const unsigned index)
UNMAP_AFTER_INIT VirtualConsole::~VirtualConsole()
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void VirtualConsole::switch_to(unsigned index)
{
if ((int)index == s_active_console)
return;
- ASSERT(index < s_max_virtual_consoles);
- ASSERT(s_consoles[index]);
+ VERIFY(index < s_max_virtual_consoles);
+ VERIFY(s_consoles[index]);
ScopedSpinLock lock(s_lock);
if (s_active_console != -1) {
@@ -200,7 +200,7 @@ static inline VGAColor ansi_color_to_vga(ANSIColor color)
case ANSIColor::White:
return VGAColor::White;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -322,8 +322,8 @@ void VirtualConsole::set_window_progress(int, int)
void VirtualConsole::terminal_did_resize(u16 columns, u16 rows)
{
- ASSERT(columns == 80);
- ASSERT(rows == 25);
+ VERIFY(columns == 80);
+ VERIFY(rows == 25);
set_size(columns, rows);
}
diff --git a/Kernel/Thread.cpp b/Kernel/Thread.cpp
index c7f2b6cb49..38d359180a 100644
--- a/Kernel/Thread.cpp
+++ b/Kernel/Thread.cpp
@@ -80,7 +80,7 @@ Thread::Thread(NonnullRefPtr<Process> process, NonnullOwnPtr<Region> kernel_stac
{
ScopedSpinLock lock(g_tid_map_lock);
auto result = g_tid_map->set(m_tid, this);
- ASSERT(result == AK::HashSetResult::InsertedNewEntry);
+ VERIFY(result == AK::HashSetResult::InsertedNewEntry);
}
if constexpr (THREAD_DEBUG)
dbgln("Created new thread {}({}:{})", m_process->name(), m_process->pid().value(), m_tid.value());
@@ -141,15 +141,15 @@ Thread::~Thread()
// block conditions would access m_process, which would be in
// the middle of being destroyed.
ScopedSpinLock lock(g_scheduler_lock);
- ASSERT(!m_process_thread_list_node.is_in_list());
+ VERIFY(!m_process_thread_list_node.is_in_list());
// We shouldn't be queued
- ASSERT(m_runnable_priority < 0);
+ VERIFY(m_runnable_priority < 0);
}
{
ScopedSpinLock lock(g_tid_map_lock);
auto result = g_tid_map->remove(m_tid);
- ASSERT(result);
+ VERIFY(result);
}
}
@@ -175,12 +175,12 @@ void Thread::unblock_from_blocker(Blocker& blocker)
void Thread::unblock(u8 signal)
{
- ASSERT(!Processor::current().in_irq());
- ASSERT(g_scheduler_lock.own_lock());
- ASSERT(m_block_lock.own_lock());
+ VERIFY(!Processor::current().in_irq());
+ VERIFY(g_scheduler_lock.own_lock());
+ VERIFY(m_block_lock.own_lock());
if (m_state != Thread::Blocked)
return;
- ASSERT(m_blocker);
+ VERIFY(m_blocker);
if (signal != 0) {
if (is_handling_page_fault()) {
// Don't let signals unblock threads that are blocked inside a page fault handler.
@@ -197,7 +197,7 @@ void Thread::unblock(u8 signal)
set_state(Thread::Running);
return;
}
- ASSERT(m_state != Thread::Runnable && m_state != Thread::Running);
+ VERIFY(m_state != Thread::Runnable && m_state != Thread::Running);
set_state(Thread::Runnable);
}
@@ -222,7 +222,7 @@ void Thread::set_should_die()
// If we were stopped, we need to briefly resume so that
// the kernel stacks can clean up. We won't ever return back
// to user mode, though
- ASSERT(!process().is_stopped());
+ VERIFY(!process().is_stopped());
resume_from_stopped();
}
if (is_blocked()) {
@@ -237,7 +237,7 @@ void Thread::set_should_die()
void Thread::die_if_needed()
{
- ASSERT(Thread::current() == this);
+ VERIFY(Thread::current() == this);
if (!m_should_die)
return;
@@ -260,12 +260,12 @@ void Thread::die_if_needed()
dbgln("die_if_needed returned from clear_critical!!! in irq: {}", Processor::current().in_irq());
// We should never get here, but the scoped scheduler lock
// will be released by Scheduler::context_switch again
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Thread::exit(void* exit_value)
{
- ASSERT(Thread::current() == this);
+ VERIFY(Thread::current() == this);
m_join_condition.thread_did_exit(exit_value);
set_should_die();
u32 unlock_count;
@@ -275,7 +275,7 @@ void Thread::exit(void* exit_value)
void Thread::yield_while_not_holding_big_lock()
{
- ASSERT(!g_scheduler_lock.own_lock());
+ VERIFY(!g_scheduler_lock.own_lock());
u32 prev_flags;
u32 prev_crit = Processor::current().clear_critical(prev_flags, true);
Scheduler::yield();
@@ -285,7 +285,7 @@ void Thread::yield_while_not_holding_big_lock()
void Thread::yield_without_holding_big_lock()
{
- ASSERT(!g_scheduler_lock.own_lock());
+ VERIFY(!g_scheduler_lock.own_lock());
u32 lock_count_to_restore = 0;
auto previous_locked = unlock_process_if_locked(lock_count_to_restore);
// NOTE: Even though we call Scheduler::yield here, unless we happen
@@ -297,7 +297,7 @@ void Thread::yield_without_holding_big_lock()
void Thread::donate_without_holding_big_lock(RefPtr<Thread>& thread, const char* reason)
{
- ASSERT(!g_scheduler_lock.own_lock());
+ VERIFY(!g_scheduler_lock.own_lock());
u32 lock_count_to_restore = 0;
auto previous_locked = unlock_process_if_locked(lock_count_to_restore);
// NOTE: Even though we call Scheduler::yield here, unless we happen
@@ -334,13 +334,13 @@ void Thread::relock_process(LockMode previous_locked, u32 lock_count_to_restore)
auto Thread::sleep(clockid_t clock_id, const timespec& duration, timespec* remaining_time) -> BlockResult
{
- ASSERT(state() == Thread::Running);
+ VERIFY(state() == Thread::Running);
return Thread::current()->block<Thread::SleepBlocker>({}, Thread::BlockTimeout(false, &duration, nullptr, clock_id), remaining_time);
}
auto Thread::sleep_until(clockid_t clock_id, const timespec& deadline) -> BlockResult
{
- ASSERT(state() == Thread::Running);
+ VERIFY(state() == Thread::Running);
return Thread::current()->block<Thread::SleepBlocker>({}, Thread::BlockTimeout(true, &deadline, nullptr, clock_id));
}
@@ -361,28 +361,28 @@ const char* Thread::state_string() const
return "Stopped";
case Thread::Blocked: {
ScopedSpinLock block_lock(m_block_lock);
- ASSERT(m_blocker != nullptr);
+ VERIFY(m_blocker != nullptr);
return m_blocker->state_string();
}
}
klog() << "Thread::state_string(): Invalid state: " << state();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return nullptr;
}
void Thread::finalize()
{
- ASSERT(Thread::current() == g_finalizer);
- ASSERT(Thread::current() != this);
+ VERIFY(Thread::current() == g_finalizer);
+ VERIFY(Thread::current() != this);
#if LOCK_DEBUG
- ASSERT(!m_lock.own_lock());
+ VERIFY(!m_lock.own_lock());
if (lock_count() > 0) {
dbgln("Thread {} leaking {} Locks!", *this, lock_count());
ScopedSpinLock list_lock(m_holding_locks_lock);
for (auto& info : m_holding_locks_list)
dbgln(" - {} @ {} locked at {}:{} count: {}", info.lock->name(), info.lock, info.file, info.line, info.count);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
#endif
@@ -410,7 +410,7 @@ void Thread::drop_thread_count(bool initializing_first_thread)
void Thread::finalize_dying_threads()
{
- ASSERT(Thread::current() == g_finalizer);
+ VERIFY(Thread::current() == g_finalizer);
Vector<Thread*, 32> dying_threads;
{
ScopedSpinLock lock(g_scheduler_lock);
@@ -473,7 +473,7 @@ u32 Thread::pending_signals() const
u32 Thread::pending_signals_for_state() const
{
- ASSERT(g_scheduler_lock.own_lock());
+ VERIFY(g_scheduler_lock.own_lock());
constexpr u32 stopped_signal_mask = (1 << (SIGCONT - 1)) | (1 << (SIGKILL - 1)) | (1 << (SIGTRAP - 1));
if (is_handling_page_fault())
return 0;
@@ -482,7 +482,7 @@ u32 Thread::pending_signals_for_state() const
void Thread::send_signal(u8 signal, [[maybe_unused]] Process* sender)
{
- ASSERT(signal < 32);
+ VERIFY(signal < 32);
ScopedSpinLock scheduler_lock(g_scheduler_lock);
// FIXME: Figure out what to do for masked signals. Should we also ignore them here?
@@ -558,7 +558,7 @@ void Thread::clear_signals()
// the appropriate signal handler.
void Thread::send_urgent_signal_to_self(u8 signal)
{
- ASSERT(Thread::current() == this);
+ VERIFY(Thread::current() == this);
DispatchSignalResult result;
{
ScopedSpinLock lock(g_scheduler_lock);
@@ -570,7 +570,7 @@ void Thread::send_urgent_signal_to_self(u8 signal)
DispatchSignalResult Thread::dispatch_one_pending_signal()
{
- ASSERT(m_lock.own_lock());
+ VERIFY(m_lock.own_lock());
u32 signal_candidates = pending_signals_for_state() & ~m_signal_mask;
if (signal_candidates == 0)
return DispatchSignalResult::Continue;
@@ -586,7 +586,7 @@ DispatchSignalResult Thread::dispatch_one_pending_signal()
DispatchSignalResult Thread::try_dispatch_one_pending_signal(u8 signal)
{
- ASSERT(signal != 0);
+ VERIFY(signal != 0);
ScopedSpinLock scheduler_lock(g_scheduler_lock);
ScopedSpinLock lock(m_lock);
u32 signal_candidates = pending_signals_for_state() & ~m_signal_mask;
@@ -605,7 +605,7 @@ enum class DefaultSignalAction {
static DefaultSignalAction default_signal_action(u8 signal)
{
- ASSERT(signal && signal < NSIG);
+ VERIFY(signal && signal < NSIG);
switch (signal) {
case SIGHUP:
@@ -645,12 +645,12 @@ static DefaultSignalAction default_signal_action(u8 signal)
case SIGTTOU:
return DefaultSignalAction::Stop;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool Thread::should_ignore_signal(u8 signal) const
{
- ASSERT(signal < 32);
+ VERIFY(signal < 32);
auto& action = m_signal_action_data[signal];
if (action.handler_or_sigaction.is_null())
return default_signal_action(signal) == DefaultSignalAction::Ignore;
@@ -661,7 +661,7 @@ bool Thread::should_ignore_signal(u8 signal) const
bool Thread::has_signal_handler(u8 signal) const
{
- ASSERT(signal < 32);
+ VERIFY(signal < 32);
auto& action = m_signal_action_data[signal];
return !action.handler_or_sigaction.is_null();
}
@@ -674,9 +674,9 @@ static bool push_value_on_user_stack(u32* stack, u32 data)
void Thread::resume_from_stopped()
{
- ASSERT(is_stopped());
- ASSERT(m_stop_state != State::Invalid);
- ASSERT(g_scheduler_lock.own_lock());
+ VERIFY(is_stopped());
+ VERIFY(m_stop_state != State::Invalid);
+ VERIFY(g_scheduler_lock.own_lock());
if (m_stop_state == Blocked) {
ScopedSpinLock block_lock(m_block_lock);
if (m_blocker) {
@@ -693,11 +693,11 @@ void Thread::resume_from_stopped()
DispatchSignalResult Thread::dispatch_signal(u8 signal)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(g_scheduler_lock.own_lock());
- ASSERT(signal > 0 && signal <= 32);
- ASSERT(process().is_user_process());
- ASSERT(this == Thread::current());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(g_scheduler_lock.own_lock());
+ VERIFY(signal > 0 && signal <= 32);
+ VERIFY(process().is_user_process());
+ VERIFY(this == Thread::current());
#if SIGNAL_DEBUG
klog() << "signal: dispatch signal " << signal << " to " << *this << " state: " << state_string();
@@ -711,11 +711,11 @@ DispatchSignalResult Thread::dispatch_signal(u8 signal)
return DispatchSignalResult::Deferred;
}
- ASSERT(previous_mode() == PreviousMode::UserMode);
+ VERIFY(previous_mode() == PreviousMode::UserMode);
auto& action = m_signal_action_data[signal];
// FIXME: Implement SA_SIGINFO signal handlers.
- ASSERT(!(action.flags & SA_SIGINFO));
+ VERIFY(!(action.flags & SA_SIGINFO));
// Mark this signal as handled.
m_pending_signals &= ~(1 << (signal - 1));
@@ -762,11 +762,11 @@ DispatchSignalResult Thread::dispatch_signal(u8 signal)
m_process->terminate_due_to_signal(signal);
return DispatchSignalResult::Terminate;
case DefaultSignalAction::Ignore:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case DefaultSignalAction::Continue:
return DispatchSignalResult::Continue;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (handler_vaddr.as_ptr() == SIG_IGN) {
@@ -776,8 +776,8 @@ DispatchSignalResult Thread::dispatch_signal(u8 signal)
return DispatchSignalResult::Continue;
}
- ASSERT(previous_mode() == PreviousMode::UserMode);
- ASSERT(current_trap());
+ VERIFY(previous_mode() == PreviousMode::UserMode);
+ VERIFY(current_trap());
ProcessPagingScope paging_scope(m_process);
@@ -826,7 +826,7 @@ DispatchSignalResult Thread::dispatch_signal(u8 signal)
push_value_on_user_stack(stack, handler_vaddr.get());
push_value_on_user_stack(stack, 0); //push fake return address
- ASSERT((*stack % 16) == 0);
+ VERIFY((*stack % 16) == 0);
};
// We now place the thread state on the userspace stack.
@@ -850,7 +850,7 @@ RegisterState& Thread::get_register_dump_from_stack()
// We should *always* have a trap. If we don't we're probably a kernel
// thread that hasn't been pre-empted. If we want to support this, we
// need to capture the registers probably into m_tss and return it
- ASSERT(trap);
+ VERIFY(trap);
while (trap) {
if (!trap->next_trap)
@@ -877,7 +877,7 @@ RefPtr<Thread> Thread::clone(Process& process)
void Thread::set_state(State new_state, u8 stop_signal)
{
State previous_state;
- ASSERT(g_scheduler_lock.own_lock());
+ VERIFY(g_scheduler_lock.own_lock());
if (new_state == m_state)
return;
@@ -931,7 +931,7 @@ void Thread::set_state(State new_state, u8 stop_signal)
process.unblock_waiters(Thread::WaitBlocker::UnblockFlags::Stopped, stop_signal);
}
} else if (m_state == Dying) {
- ASSERT(previous_state != Blocked);
+ VERIFY(previous_state != Blocked);
if (this != Thread::current() && is_finalizable()) {
// Some other thread set this thread to Dying, notify the
// finalizer right away as it can be cleaned up now
@@ -974,7 +974,7 @@ String Thread::backtrace()
auto& process = const_cast<Process&>(this->process());
auto stack_trace = Processor::capture_stack_trace(*this);
- ASSERT(!g_scheduler_lock.own_lock());
+ VERIFY(!g_scheduler_lock.own_lock());
ProcessPagingScope paging_scope(process);
for (auto& frame : stack_trace) {
if (is_user_range(VirtualAddress(frame), sizeof(FlatPtr) * 2)) {
diff --git a/Kernel/Thread.h b/Kernel/Thread.h
index 462a7e3dcf..3f73e2591e 100644
--- a/Kernel/Thread.h
+++ b/Kernel/Thread.h
@@ -317,7 +317,7 @@ public:
}
void do_set_interrupted_by_signal(u8 signal)
{
- ASSERT(signal != 0);
+ VERIFY(signal != 0);
m_was_interrupted_by_signal = signal;
}
void do_clear_interrupted_by_signal()
@@ -340,7 +340,7 @@ public:
ScopedSpinLock lock(m_lock);
if (m_is_blocking) {
m_is_blocking = false;
- ASSERT(m_blocked_thread);
+ VERIFY(m_blocked_thread);
thread = m_blocked_thread;
}
}
@@ -377,7 +377,7 @@ public:
virtual ~BlockCondition()
{
ScopedSpinLock lock(m_lock);
- ASSERT(m_blockers.is_empty());
+ VERIFY(m_blockers.is_empty());
}
bool add_blocker(Blocker& blocker, void* data)
@@ -415,7 +415,7 @@ public:
template<typename UnblockOne>
bool do_unblock(UnblockOne unblock_one)
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
bool stop_iterating = false;
bool did_unblock = false;
for (size_t i = 0; i < m_blockers.size() && !stop_iterating;) {
@@ -433,7 +433,7 @@ public:
bool is_empty_locked() const
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
return m_blockers.is_empty();
}
@@ -450,7 +450,7 @@ public:
return move(m_blockers);
size_t move_count = (count <= m_blockers.size()) ? count : m_blockers.size();
- ASSERT(move_count > 0);
+ VERIFY(move_count > 0);
Vector<BlockerInfo, 4> taken_blockers;
taken_blockers.ensure_capacity(move_count);
@@ -817,10 +817,10 @@ public:
template<typename T, class... Args>
[[nodiscard]] BlockResult block(const BlockTimeout& timeout, Args&&... args)
{
- ASSERT(!Processor::current().in_irq());
- ASSERT(this == Thread::current());
+ VERIFY(!Processor::current().in_irq());
+ VERIFY(this == Thread::current());
ScopedCritical critical;
- ASSERT(!s_mm_lock.own_lock());
+ VERIFY(!s_mm_lock.own_lock());
ScopedSpinLock block_lock(m_block_lock);
// We need to hold m_block_lock so that nobody can unblock a blocker as soon
@@ -839,10 +839,10 @@ public:
// It's possible that we were requested to be stopped!
break;
case Thread::Running:
- ASSERT(m_blocker == nullptr);
+ VERIFY(m_blocker == nullptr);
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_blocker = &t;
@@ -859,9 +859,9 @@ public:
// Process::kill_all_threads may be called at any time, which will mark all
// threads to die. In that case
timer = TimerQueue::the().add_timer_without_id(block_timeout.clock_id(), block_timeout.absolute_time(), [&]() {
- ASSERT(!Processor::current().in_irq());
- ASSERT(!g_scheduler_lock.own_lock());
- ASSERT(!m_block_lock.own_lock());
+ VERIFY(!Processor::current().in_irq());
+ VERIFY(!g_scheduler_lock.own_lock());
+ VERIFY(!m_block_lock.own_lock());
// NOTE: this may execute on the same or any other processor!
ScopedSpinLock scheduler_lock(g_scheduler_lock);
ScopedSpinLock block_lock(m_block_lock);
@@ -891,10 +891,10 @@ public:
auto previous_locked = unlock_process_if_locked(lock_count_to_restore);
for (;;) {
// Yield to the scheduler, and wait for us to resume unblocked.
- ASSERT(!g_scheduler_lock.own_lock());
- ASSERT(Processor::current().in_critical());
+ VERIFY(!g_scheduler_lock.own_lock());
+ VERIFY(Processor::current().in_critical());
yield_while_not_holding_big_lock();
- ASSERT(Processor::current().in_critical());
+ VERIFY(Processor::current().in_critical());
ScopedSpinLock block_lock2(m_block_lock);
if (should_be_stopped() || state() == Stopped) {
@@ -913,7 +913,7 @@ public:
did_timeout |= timeout_unblocked.exchange(true);
if (m_blocker) {
// Remove ourselves...
- ASSERT(m_blocker == &t);
+ VERIFY(m_blocker == &t);
m_blocker = nullptr;
}
dbgln_if(THREAD_DEBUG, "<-- Thread {} unblocked from {} ({})", *this, &t, t.state_string());
@@ -951,7 +951,7 @@ public:
template<class... Args>
Thread::BlockResult wait_on(WaitQueue& wait_queue, const Thread::BlockTimeout& timeout, Args&&... args)
{
- ASSERT(this == Thread::current());
+ VERIFY(this == Thread::current());
return block<Thread::QueueBlocker>(timeout, wait_queue, forward<Args>(args)...);
}
@@ -1107,7 +1107,7 @@ public:
#if LOCK_DEBUG
void holding_lock(Lock& lock, int refs_delta, const char* file = nullptr, int line = 0)
{
- ASSERT(refs_delta != 0);
+ VERIFY(refs_delta != 0);
m_holding_locks.fetch_add(refs_delta, AK::MemoryOrder::memory_order_relaxed);
ScopedSpinLock list_lock(m_holding_locks_lock);
if (refs_delta > 0) {
@@ -1123,12 +1123,12 @@ public:
if (!have_existing)
m_holding_locks_list.append({ &lock, file ? file : "unknown", line, 1 });
} else {
- ASSERT(refs_delta < 0);
+ VERIFY(refs_delta < 0);
bool found = false;
for (size_t i = 0; i < m_holding_locks_list.size(); i++) {
auto& info = m_holding_locks_list[i];
if (info.lock == &lock) {
- ASSERT(info.count >= (unsigned)-refs_delta);
+ VERIFY(info.count >= (unsigned)-refs_delta);
info.count -= (unsigned)-refs_delta;
if (info.count == 0)
m_holding_locks_list.remove(i);
@@ -1136,7 +1136,7 @@ public:
break;
}
}
- ASSERT(found);
+ VERIFY(found);
}
}
u32 lock_count() const
@@ -1164,7 +1164,7 @@ private:
void thread_did_exit(void* exit_value)
{
ScopedSpinLock lock(m_lock);
- ASSERT(!m_thread_did_exit);
+ VERIFY(!m_thread_did_exit);
m_thread_did_exit = true;
m_exit_value.store(exit_value, AK::MemoryOrder::memory_order_release);
do_unblock_joiner();
@@ -1176,7 +1176,7 @@ private:
}
void* exit_value() const
{
- ASSERT(m_thread_did_exit);
+ VERIFY(m_thread_did_exit);
return m_exit_value.load(AK::MemoryOrder::memory_order_acquire);
}
@@ -1190,7 +1190,7 @@ private:
protected:
virtual bool should_add_blocker(Blocker& b, void*) override
{
- ASSERT(b.blocker_type() == Blocker::Type::Join);
+ VERIFY(b.blocker_type() == Blocker::Type::Join);
auto& blocker = static_cast<JoinBlocker&>(b);
// NOTE: m_lock is held already!
@@ -1205,7 +1205,7 @@ private:
void do_unblock_joiner()
{
do_unblock([&](Blocker& b, void*, bool&) {
- ASSERT(b.blocker_type() == Blocker::Type::Join);
+ VERIFY(b.blocker_type() == Blocker::Type::Join);
auto& blocker = static_cast<JoinBlocker&>(b);
return blocker.unblock(exit_value(), false);
});
diff --git a/Kernel/ThreadBlockers.cpp b/Kernel/ThreadBlockers.cpp
index 68ab7a60d6..3d56052c49 100644
--- a/Kernel/ThreadBlockers.cpp
+++ b/Kernel/ThreadBlockers.cpp
@@ -35,7 +35,7 @@ namespace Kernel {
bool Thread::Blocker::set_block_condition(Thread::BlockCondition& block_condition, void* data)
{
- ASSERT(!m_block_condition);
+ VERIFY(!m_block_condition);
if (block_condition.add_blocker(*this, data)) {
m_block_condition = &block_condition;
m_block_data = data;
@@ -54,8 +54,8 @@ Thread::Blocker::~Blocker()
void Thread::Blocker::begin_blocking(Badge<Thread>)
{
ScopedSpinLock lock(m_lock);
- ASSERT(!m_is_blocking);
- ASSERT(!m_blocked_thread);
+ VERIFY(!m_is_blocking);
+ VERIFY(!m_blocked_thread);
m_blocked_thread = Thread::current();
m_is_blocking = true;
}
@@ -66,7 +66,7 @@ auto Thread::Blocker::end_blocking(Badge<Thread>, bool did_timeout) -> BlockResu
// if m_is_blocking is false here, some thread forced to
// unblock us when we get here. This is only called from the
// thread that was blocked.
- ASSERT(Thread::current() == m_blocked_thread);
+ VERIFY(Thread::current() == m_blocked_thread);
m_is_blocking = false;
m_blocked_thread = nullptr;
@@ -96,14 +96,14 @@ void Thread::JoinBlocker::not_blocking(bool timeout_in_past)
{
if (!m_should_block) {
// set_block_condition returned false, so unblock was already called
- ASSERT(!timeout_in_past);
+ VERIFY(!timeout_in_past);
return;
}
// If we should have blocked but got here it must have been that the
// timeout was already in the past. So we need to ask the BlockCondition
// to supply us the information. We cannot hold the lock as unblock
// could be called by the BlockCondition at any time!
- ASSERT(timeout_in_past);
+ VERIFY(timeout_in_past);
m_joinee->m_join_condition.try_unblock(*this);
}
@@ -160,7 +160,7 @@ Thread::FutexBlocker::~FutexBlocker()
void Thread::FutexBlocker::finish_requeue(FutexQueue& futex_queue)
{
- ASSERT(m_lock.own_lock());
+ VERIFY(m_lock.own_lock());
set_block_condition_raw_locked(&futex_queue);
// We can now release the lock
m_lock.unlock(m_relock_flags);
@@ -226,14 +226,14 @@ void Thread::FileDescriptionBlocker::not_blocking(bool timeout_in_past)
{
if (!m_should_block) {
// set_block_condition returned false, so unblock was already called
- ASSERT(!timeout_in_past);
+ VERIFY(!timeout_in_past);
return;
}
// If we should have blocked but got here it must have been that the
// timeout was already in the past. So we need to ask the BlockCondition
// to supply us the information. We cannot hold the lock as unblock
// could be called by the BlockCondition at any time!
- ASSERT(timeout_in_past);
+ VERIFY(timeout_in_past);
// Just call unblock here because we will query the file description
// for the data and don't need any input from the FileBlockCondition.
@@ -305,7 +305,7 @@ Thread::SleepBlocker::SleepBlocker(const BlockTimeout& deadline, timespec* remai
auto Thread::SleepBlocker::override_timeout(const BlockTimeout& timeout) -> const BlockTimeout&
{
- ASSERT(timeout.is_infinite()); // A timeout should not be provided
+ VERIFY(timeout.is_infinite()); // A timeout should not be provided
// To simplify things only use the sleep deadline.
return m_deadline;
}
@@ -314,7 +314,7 @@ void Thread::SleepBlocker::not_blocking(bool timeout_in_past)
{
// SleepBlocker::should_block should always return true, so timeout
// in the past is the only valid case when this function is called
- ASSERT(timeout_in_past);
+ VERIFY(timeout_in_past);
calculate_remaining();
}
@@ -366,20 +366,20 @@ Thread::SelectBlocker::~SelectBlocker()
void Thread::SelectBlocker::not_blocking(bool timeout_in_past)
{
// Either the timeout was in the past or we didn't add all blockers
- ASSERT(timeout_in_past || !m_should_block);
+ VERIFY(timeout_in_past || !m_should_block);
ScopedSpinLock lock(m_lock);
if (!m_did_unblock) {
m_did_unblock = true;
if (!timeout_in_past) {
auto count = collect_unblocked_flags();
- ASSERT(count > 0);
+ VERIFY(count > 0);
}
}
}
bool Thread::SelectBlocker::unblock(bool from_add_blocker, void* data)
{
- ASSERT(data); // data is a pointer to an entry in the m_fds vector
+ VERIFY(data); // data is a pointer to an entry in the m_fds vector
auto& fd_info = *static_cast<FDInfo*>(data);
{
@@ -409,7 +409,7 @@ size_t Thread::SelectBlocker::collect_unblocked_flags()
{
size_t count = 0;
for (auto& fd_entry : m_fds) {
- ASSERT(fd_entry.block_flags != FileBlocker::BlockFlags::None);
+ VERIFY(fd_entry.block_flags != FileBlocker::BlockFlags::None);
// unblock will have set at least the first descriptor's unblock
// flags that triggered the unblock. Make sure we don't discard that
@@ -429,11 +429,11 @@ void Thread::SelectBlocker::was_unblocked(bool did_timeout)
if (!did_timeout && !was_interrupted()) {
{
ScopedSpinLock lock(m_lock);
- ASSERT(m_did_unblock);
+ VERIFY(m_did_unblock);
}
size_t count = collect_unblocked_flags();
// If we were blocked and didn't time out, we should have at least one unblocked fd!
- ASSERT(count > 0);
+ VERIFY(count > 0);
}
}
@@ -482,10 +482,10 @@ void Thread::WaitBlockCondition::disowned_by_waiter(Process& process)
auto& info = m_processes[i];
if (info.process == &process) {
do_unblock([&](Blocker& b, void*, bool&) {
- ASSERT(b.blocker_type() == Blocker::Type::Wait);
+ VERIFY(b.blocker_type() == Blocker::Type::Wait);
auto& blocker = static_cast<WaitBlocker&>(b);
bool did_unblock = blocker.unblock(info.process, WaitBlocker::UnblockFlags::Disowned, 0, false);
- ASSERT(did_unblock); // disowning must unblock everyone
+ VERIFY(did_unblock); // disowning must unblock everyone
return true;
});
dbgln_if(WAITBLOCK_DEBUG, "WaitBlockCondition[{}] disowned {}", m_process, *info.process);
@@ -499,7 +499,7 @@ void Thread::WaitBlockCondition::disowned_by_waiter(Process& process)
bool Thread::WaitBlockCondition::unblock(Process& process, WaitBlocker::UnblockFlags flags, u8 signal)
{
- ASSERT(flags != WaitBlocker::UnblockFlags::Disowned);
+ VERIFY(flags != WaitBlocker::UnblockFlags::Disowned);
bool did_unblock_any = false;
bool did_wait = false;
@@ -519,7 +519,7 @@ bool Thread::WaitBlockCondition::unblock(Process& process, WaitBlocker::UnblockF
}
do_unblock([&](Blocker& b, void*, bool&) {
- ASSERT(b.blocker_type() == Blocker::Type::Wait);
+ VERIFY(b.blocker_type() == Blocker::Type::Wait);
auto& blocker = static_cast<WaitBlocker&>(b);
if (was_waited_already && blocker.is_wait())
return false; // This state was already waited on, do not unblock
@@ -537,7 +537,7 @@ bool Thread::WaitBlockCondition::unblock(Process& process, WaitBlocker::UnblockF
bool updated_existing = false;
for (auto& info : m_processes) {
if (info.process == &process) {
- ASSERT(info.flags != WaitBlocker::UnblockFlags::Terminated);
+ VERIFY(info.flags != WaitBlocker::UnblockFlags::Terminated);
info.flags = flags;
info.signal = signal;
info.was_waited = did_wait;
@@ -559,7 +559,7 @@ bool Thread::WaitBlockCondition::should_add_blocker(Blocker& b, void*)
// NOTE: m_lock is held already!
if (m_finalized)
return false;
- ASSERT(b.blocker_type() == Blocker::Type::Wait);
+ VERIFY(b.blocker_type() == Blocker::Type::Wait);
auto& blocker = static_cast<WaitBlocker&>(b);
// See if we can match any process immediately
for (size_t i = 0; i < m_processes.size(); i++) {
@@ -577,7 +577,7 @@ bool Thread::WaitBlockCondition::should_add_blocker(Blocker& b, void*)
void Thread::WaitBlockCondition::finalize()
{
ScopedSpinLock lock(m_lock);
- ASSERT(!m_finalized);
+ VERIFY(!m_finalized);
m_finalized = true;
// Clear the list of threads here so we can drop the references to them
@@ -585,7 +585,7 @@ void Thread::WaitBlockCondition::finalize()
// No more waiters, drop the last reference immediately. This may
// cause us to be destructed ourselves!
- ASSERT(m_process.ref_count() > 0);
+ VERIFY(m_process.ref_count() > 0);
m_process.unref();
}
@@ -618,7 +618,7 @@ Thread::WaitBlocker::WaitBlocker(int wait_options, idtype_t id_type, pid_t id, K
case P_ALL:
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
// NOTE: unblock may be called within set_block_condition, in which
@@ -630,7 +630,7 @@ Thread::WaitBlocker::WaitBlocker(int wait_options, idtype_t id_type, pid_t id, K
void Thread::WaitBlocker::not_blocking(bool timeout_in_past)
{
- ASSERT(timeout_in_past || !m_should_block);
+ VERIFY(timeout_in_past || !m_should_block);
if (!m_error)
Process::current()->wait_block_condition().try_unblock(*this);
}
@@ -657,14 +657,14 @@ void Thread::WaitBlocker::was_unblocked(bool)
void Thread::WaitBlocker::do_was_disowned()
{
- ASSERT(!m_did_unblock);
+ VERIFY(!m_did_unblock);
m_did_unblock = true;
m_result = ECHILD;
}
void Thread::WaitBlocker::do_set_result(const siginfo_t& result)
{
- ASSERT(!m_did_unblock);
+ VERIFY(!m_did_unblock);
m_did_unblock = true;
m_result = result;
@@ -681,16 +681,16 @@ void Thread::WaitBlocker::do_set_result(const siginfo_t& result)
bool Thread::WaitBlocker::unblock(Process& process, UnblockFlags flags, u8 signal, bool from_add_blocker)
{
- ASSERT(flags != UnblockFlags::Terminated || signal == 0); // signal argument should be ignored for Terminated
+ VERIFY(flags != UnblockFlags::Terminated || signal == 0); // signal argument should be ignored for Terminated
switch (m_id_type) {
case P_PID:
- ASSERT(m_waitee);
+ VERIFY(m_waitee);
if (process.pid() != m_waitee_id)
return false;
break;
case P_PGID:
- ASSERT(m_waitee_group);
+ VERIFY(m_waitee_group);
if (process.pgid() != m_waitee_group->pgid())
return false;
break;
@@ -701,7 +701,7 @@ bool Thread::WaitBlocker::unblock(Process& process, UnblockFlags flags, u8 signa
}
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
switch (flags) {
@@ -730,7 +730,7 @@ bool Thread::WaitBlocker::unblock(Process& process, UnblockFlags flags, u8 signa
}
if (flags == UnblockFlags::Terminated) {
- ASSERT(process.is_dead());
+ VERIFY(process.is_dead());
ScopedSpinLock lock(m_lock);
if (m_did_unblock)
@@ -751,7 +751,7 @@ bool Thread::WaitBlocker::unblock(Process& process, UnblockFlags flags, u8 signa
switch (flags) {
case UnblockFlags::Terminated:
case UnblockFlags::Disowned:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case UnblockFlags::Stopped:
siginfo.si_code = CLD_STOPPED;
break;
@@ -771,7 +771,7 @@ bool Thread::WaitBlocker::unblock(Process& process, UnblockFlags flags, u8 signa
if (!from_add_blocker) {
// Only call unblock if we weren't called from within set_block_condition!
- ASSERT(flags != UnblockFlags::Disowned);
+ VERIFY(flags != UnblockFlags::Disowned);
unblock_from_blocker();
}
// Because this may be called from add_blocker, in which case we should
diff --git a/Kernel/ThreadTracer.h b/Kernel/ThreadTracer.h
index 63ae7303ae..39d70c4b0b 100644
--- a/Kernel/ThreadTracer.h
+++ b/Kernel/ThreadTracer.h
@@ -50,7 +50,7 @@ public:
bool has_regs() const { return m_regs.has_value(); }
const PtraceRegisters& regs() const
{
- ASSERT(m_regs.has_value());
+ VERIFY(m_regs.has_value());
return m_regs.value();
}
diff --git a/Kernel/Time/APICTimer.cpp b/Kernel/Time/APICTimer.cpp
index a7bf3052a6..fb81ba0435 100644
--- a/Kernel/Time/APICTimer.cpp
+++ b/Kernel/Time/APICTimer.cpp
@@ -54,7 +54,7 @@ UNMAP_AFTER_INIT APICTimer::APICTimer(u8 interrupt_number, Function<void(const R
UNMAP_AFTER_INIT bool APICTimer::calibrate(HardwareTimerBase& calibration_source)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
klog() << "APICTimer: Using " << calibration_source.model() << " as calibration source";
@@ -96,7 +96,7 @@ UNMAP_AFTER_INIT bool APICTimer::calibrate(HardwareTimerBase& calibration_source
// tick count from the APIC timer
auto original_callback = set_callback([&](const RegisterState&) {
klog() << "APICTimer: Timer fired during calibration!";
- ASSERT_NOT_REACHED(); // TODO: How should we handle this?
+ VERIFY_NOT_REACHED(); // TODO: How should we handle this?
});
apic.setup_local_timer(0xffffffff, APIC::TimerMode::Periodic, true);
@@ -153,12 +153,12 @@ size_t APICTimer::ticks_per_second() const
void APICTimer::set_periodic()
{
// FIXME: Implement it...
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void APICTimer::set_non_periodic()
{
// FIXME: Implement it...
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void APICTimer::reset_to_default_ticks_per_second()
diff --git a/Kernel/Time/HPET.cpp b/Kernel/Time/HPET.cpp
index 7c35b1ff9f..7e2da58347 100644
--- a/Kernel/Time/HPET.cpp
+++ b/Kernel/Time/HPET.cpp
@@ -125,14 +125,14 @@ bool HPET::initialized()
HPET& HPET::the()
{
- ASSERT(HPET::initialized());
- ASSERT(s_hpet != nullptr);
+ VERIFY(HPET::initialized());
+ VERIFY(s_hpet != nullptr);
return *s_hpet;
}
UNMAP_AFTER_INIT bool HPET::test_and_initialize()
{
- ASSERT(!HPET::initialized());
+ VERIFY(!HPET::initialized());
hpet_initialized = true;
auto hpet = ACPI::Parser::the()->find_table("HPET");
if (hpet.is_null())
@@ -142,7 +142,7 @@ UNMAP_AFTER_INIT bool HPET::test_and_initialize()
auto sdt = map_typed<ACPI::Structures::HPET>(hpet);
// Note: HPET is only usable from System Memory
- ASSERT(sdt->event_timer_block.address_space == (u8)ACPI::GenericAddressStructure::AddressSpace::SystemMemory);
+ VERIFY(sdt->event_timer_block.address_space == (u8)ACPI::GenericAddressStructure::AddressSpace::SystemMemory);
if (TimeManagement::is_hpet_periodic_mode_allowed()) {
if (!check_for_exisiting_periodic_timers()) {
@@ -161,7 +161,7 @@ UNMAP_AFTER_INIT bool HPET::check_for_exisiting_periodic_timers()
return false;
auto sdt = map_typed<ACPI::Structures::HPET>(hpet);
- ASSERT(sdt->event_timer_block.address_space == 0);
+ VERIFY(sdt->event_timer_block.address_space == 0);
auto registers = map_typed<HPETRegistersBlock>(PhysicalAddress(sdt->event_timer_block.address));
size_t timers_count = ((registers->capabilities.attributes >> 8) & 0x1f) + 1;
@@ -232,9 +232,9 @@ void HPET::update_periodic_comparator_value()
void HPET::update_non_periodic_comparator_value(const HPETComparator& comparator)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(!comparator.is_periodic());
- ASSERT(comparator.comparator_number() <= m_comparators.size());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(!comparator.is_periodic());
+ VERIFY(comparator.comparator_number() <= m_comparators.size());
auto& regs = registers();
auto& timer = regs.timers[comparator.comparator_number()];
u64 value = frequency() / comparator.ticks_per_second();
@@ -283,10 +283,10 @@ void HPET::enable_periodic_interrupt(const HPETComparator& comparator)
klog() << "HPET: Set comparator " << comparator.comparator_number() << " to be periodic.";
#endif
disable(comparator);
- ASSERT(comparator.comparator_number() <= m_comparators.size());
+ VERIFY(comparator.comparator_number() <= m_comparators.size());
auto& timer = registers().timers[comparator.comparator_number()];
auto capabilities = timer.capabilities;
- ASSERT(capabilities & (u32)HPETFlags::TimerConfiguration::PeriodicInterruptCapable);
+ VERIFY(capabilities & (u32)HPETFlags::TimerConfiguration::PeriodicInterruptCapable);
timer.capabilities = capabilities | (u32)HPETFlags::TimerConfiguration::GeneratePeriodicInterrupt;
if (comparator.is_enabled())
enable(comparator);
@@ -297,10 +297,10 @@ void HPET::disable_periodic_interrupt(const HPETComparator& comparator)
klog() << "HPET: Disable periodic interrupt in comparator " << comparator.comparator_number() << ".";
#endif
disable(comparator);
- ASSERT(comparator.comparator_number() <= m_comparators.size());
+ VERIFY(comparator.comparator_number() <= m_comparators.size());
auto& timer = registers().timers[comparator.comparator_number()];
auto capabilities = timer.capabilities;
- ASSERT(capabilities & (u32)HPETFlags::TimerConfiguration::PeriodicInterruptCapable);
+ VERIFY(capabilities & (u32)HPETFlags::TimerConfiguration::PeriodicInterruptCapable);
timer.capabilities = capabilities & ~(u32)HPETFlags::TimerConfiguration::GeneratePeriodicInterrupt;
if (comparator.is_enabled())
enable(comparator);
@@ -311,7 +311,7 @@ void HPET::disable(const HPETComparator& comparator)
#if HPET_DEBUG
klog() << "HPET: Disable comparator " << comparator.comparator_number() << ".";
#endif
- ASSERT(comparator.comparator_number() <= m_comparators.size());
+ VERIFY(comparator.comparator_number() <= m_comparators.size());
auto& timer = registers().timers[comparator.comparator_number()];
timer.capabilities = timer.capabilities & ~(u32)HPETFlags::TimerConfiguration::InterruptEnable;
}
@@ -320,14 +320,14 @@ void HPET::enable(const HPETComparator& comparator)
#if HPET_DEBUG
klog() << "HPET: Enable comparator " << comparator.comparator_number() << ".";
#endif
- ASSERT(comparator.comparator_number() <= m_comparators.size());
+ VERIFY(comparator.comparator_number() <= m_comparators.size());
auto& timer = registers().timers[comparator.comparator_number()];
timer.capabilities = timer.capabilities | (u32)HPETFlags::TimerConfiguration::InterruptEnable;
}
Vector<unsigned> HPET::capable_interrupt_numbers(const HPETComparator& comparator)
{
- ASSERT(comparator.comparator_number() <= m_comparators.size());
+ VERIFY(comparator.comparator_number() <= m_comparators.size());
Vector<unsigned> capable_interrupts;
auto& comparator_registers = registers().timers[comparator.comparator_number()];
u32 interrupt_bitfield = comparator_registers.interrupt_routing;
@@ -341,7 +341,7 @@ Vector<unsigned> HPET::capable_interrupt_numbers(const HPETComparator& comparato
Vector<unsigned> HPET::capable_interrupt_numbers(u8 comparator_number)
{
- ASSERT(comparator_number <= m_comparators.size());
+ VERIFY(comparator_number <= m_comparators.size());
Vector<unsigned> capable_interrupts;
auto& comparator_registers = registers().timers[comparator_number];
u32 interrupt_bitfield = comparator_registers.interrupt_routing;
@@ -355,14 +355,14 @@ Vector<unsigned> HPET::capable_interrupt_numbers(u8 comparator_number)
void HPET::set_comparator_irq_vector(u8 comparator_number, u8 irq_vector)
{
- ASSERT(comparator_number <= m_comparators.size());
+ VERIFY(comparator_number <= m_comparators.size());
auto& comparator_registers = registers().timers[comparator_number];
comparator_registers.capabilities = comparator_registers.capabilities | (irq_vector << 9);
}
bool HPET::is_periodic_capable(u8 comparator_number) const
{
- ASSERT(comparator_number <= m_comparators.size());
+ VERIFY(comparator_number <= m_comparators.size());
auto& comparator_registers = registers().timers[comparator_number];
return comparator_registers.capabilities & (u32)HPETFlags::TimerConfiguration::PeriodicInterruptCapable;
}
@@ -370,13 +370,13 @@ bool HPET::is_periodic_capable(u8 comparator_number) const
void HPET::set_comparators_to_optimal_interrupt_state(size_t)
{
// FIXME: Implement this method for allowing to use HPET timers 2-31...
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
PhysicalAddress HPET::find_acpi_hpet_registers_block()
{
auto sdt = map_typed<const volatile ACPI::Structures::HPET>(m_physical_acpi_hpet_table);
- ASSERT(sdt->event_timer_block.address_space == (u8)ACPI::GenericAddressStructure::AddressSpace::SystemMemory);
+ VERIFY(sdt->event_timer_block.address_space == (u8)ACPI::GenericAddressStructure::AddressSpace::SystemMemory);
return PhysicalAddress(sdt->event_timer_block.address);
}
@@ -418,13 +418,13 @@ UNMAP_AFTER_INIT HPET::HPET(PhysicalAddress acpi_hpet)
bool capable_64_bit = regs.timers[i].capabilities & (u32)HPETFlags::TimerConfiguration::Timer64BitsCapable;
klog() << "HPET: Timer[" << i << "] comparator size: " << (capable_64_bit ? "64 bit" : "32 bit") << " mode: " << ((!capable_64_bit || (regs.timers[i].capabilities & (u32)HPETFlags::TimerConfiguration::Force32BitMode)) ? "32 bit" : "64 bit");
}
- ASSERT(timers_count >= 2);
+ VERIFY(timers_count >= 2);
global_disable();
m_frequency = NANOSECOND_PERIOD_TO_HERTZ(calculate_ticks_in_nanoseconds());
klog() << "HPET: frequency " << m_frequency << " Hz (" << MEGAHERTZ_TO_HERTZ(m_frequency) << " MHz) resolution: " << calculate_ticks_in_nanoseconds() << "ns";
- ASSERT(regs.capabilities.main_counter_tick_period <= ABSOLUTE_MAXIMUM_COUNTER_TICK_PERIOD);
+ VERIFY(regs.capabilities.main_counter_tick_period <= ABSOLUTE_MAXIMUM_COUNTER_TICK_PERIOD);
// Reset the counter, just in case... (needs to match m_main_counter_last_read)
regs.main_counter_value.high = 0;
diff --git a/Kernel/Time/HPETComparator.cpp b/Kernel/Time/HPETComparator.cpp
index 6179ae2b85..78d438bb19 100644
--- a/Kernel/Time/HPETComparator.cpp
+++ b/Kernel/Time/HPETComparator.cpp
@@ -55,14 +55,14 @@ void HPETComparator::disable()
void HPETComparator::set_periodic()
{
- ASSERT(m_periodic_capable);
+ VERIFY(m_periodic_capable);
m_periodic = true;
m_enabled = true;
HPET::the().enable_periodic_interrupt(*this);
}
void HPETComparator::set_non_periodic()
{
- ASSERT(m_periodic_capable);
+ VERIFY(m_periodic_capable);
m_periodic = false;
m_enabled = true;
HPET::the().disable_periodic_interrupt(*this);
@@ -77,8 +77,8 @@ void HPETComparator::handle_irq(const RegisterState& regs)
void HPETComparator::set_new_countdown()
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(m_frequency <= HPET::the().frequency());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(m_frequency <= HPET::the().frequency());
HPET::the().update_non_periodic_comparator_value(*this);
}
@@ -105,7 +105,7 @@ bool HPETComparator::try_to_set_frequency(size_t frequency)
}
auto hpet_frequency = HPET::the().frequency();
- ASSERT(frequency <= hpet_frequency);
+ VERIFY(frequency <= hpet_frequency);
m_frequency = frequency;
m_enabled = true;
diff --git a/Kernel/Time/PIT.cpp b/Kernel/Time/PIT.cpp
index 0a1f15c653..7cf2e11be5 100644
--- a/Kernel/Time/PIT.cpp
+++ b/Kernel/Time/PIT.cpp
@@ -66,19 +66,19 @@ size_t PIT::ticks_per_second() const
void PIT::set_periodic()
{
// FIXME: Implement it...
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void PIT::set_non_periodic()
{
// FIXME: Implement it...
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void PIT::reset_to_default_ticks_per_second()
{
InterruptDisabler disabler;
bool success = try_to_set_frequency(OPTIMAL_TICKS_PER_SECOND_RATE);
- ASSERT(success);
+ VERIFY(success);
}
bool PIT::try_to_set_frequency(size_t frequency)
@@ -96,12 +96,12 @@ bool PIT::try_to_set_frequency(size_t frequency)
}
bool PIT::is_capable_of_frequency(size_t frequency) const
{
- ASSERT(frequency != 0);
+ VERIFY(frequency != 0);
return frequency <= BASE_FREQUENCY;
}
size_t PIT::calculate_nearest_possible_frequency(size_t frequency) const
{
- ASSERT(frequency != 0);
+ VERIFY(frequency != 0);
return frequency;
}
diff --git a/Kernel/Time/RTC.cpp b/Kernel/Time/RTC.cpp
index 86cfcafb85..38e39f8b88 100644
--- a/Kernel/Time/RTC.cpp
+++ b/Kernel/Time/RTC.cpp
@@ -62,7 +62,7 @@ void RealTimeClock::reset_to_default_ticks_per_second()
{
InterruptDisabler disabler;
bool success = try_to_set_frequency(1024);
- ASSERT(success);
+ VERIFY(success);
}
// FIXME: This is a quick & dirty log base 2 with a parameter. Please provide something better in the future.
@@ -91,7 +91,7 @@ bool RealTimeClock::try_to_set_frequency(size_t frequency)
}
bool RealTimeClock::is_capable_of_frequency(size_t frequency) const
{
- ASSERT(frequency != 0);
+ VERIFY(frequency != 0);
if (frequency > MAX_FREQUENCY)
return false;
if (32768 % frequency)
@@ -102,7 +102,7 @@ bool RealTimeClock::is_capable_of_frequency(size_t frequency) const
}
size_t RealTimeClock::calculate_nearest_possible_frequency(size_t frequency) const
{
- ASSERT(frequency != 0);
+ VERIFY(frequency != 0);
return frequency;
}
diff --git a/Kernel/Time/TimeManagement.cpp b/Kernel/Time/TimeManagement.cpp
index aaf336b833..ee4515091f 100644
--- a/Kernel/Time/TimeManagement.cpp
+++ b/Kernel/Time/TimeManagement.cpp
@@ -118,10 +118,10 @@ timespec TimeManagement::monotonic_time(TimePrecision precision) const
}
} while (update_iteration != m_update2.load(AK::MemoryOrder::memory_order_acquire));
- ASSERT(m_time_ticks_per_second > 0);
- ASSERT(ticks < m_time_ticks_per_second);
+ VERIFY(m_time_ticks_per_second > 0);
+ VERIFY(ticks < m_time_ticks_per_second);
u64 ns = ((u64)ticks * 1000000000ull) / m_time_ticks_per_second;
- ASSERT(ns < 1000000000ull);
+ VERIFY(ns < 1000000000ull);
return { (long)seconds, (long)ns };
}
@@ -148,7 +148,7 @@ u64 TimeManagement::uptime_ms() const
UNMAP_AFTER_INIT void TimeManagement::initialize(u32 cpu)
{
if (cpu == 0) {
- ASSERT(!s_the.is_initialized());
+ VERIFY(!s_the.is_initialized());
s_the.ensure_instance();
// Initialize the APIC timers after the other timers as the
@@ -160,7 +160,7 @@ UNMAP_AFTER_INIT void TimeManagement::initialize(u32 cpu)
s_the->set_system_timer(*apic_timer);
}
} else {
- ASSERT(s_the.is_initialized());
+ VERIFY(s_the.is_initialized());
if (auto* apic_timer = APIC::the().get_timer()) {
klog() << "Time: Enable APIC timer on CPU #" << cpu;
apic_timer->enable_local_timer();
@@ -170,7 +170,7 @@ UNMAP_AFTER_INIT void TimeManagement::initialize(u32 cpu)
void TimeManagement::set_system_timer(HardwareTimerBase& timer)
{
- ASSERT(Processor::id() == 0); // This should only be called on the BSP!
+ VERIFY(Processor::id() == 0); // This should only be called on the BSP!
auto original_callback = m_system_timer->set_callback(nullptr);
m_system_timer->disable();
timer.set_callback(move(original_callback));
@@ -205,9 +205,9 @@ UNMAP_AFTER_INIT TimeManagement::TimeManagement()
if (probe_non_legacy_hardware_timers) {
if (!probe_and_set_non_legacy_hardware_timers())
if (!probe_and_set_legacy_hardware_timers())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else if (!probe_and_set_legacy_hardware_timers()) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -252,7 +252,7 @@ bool TimeManagement::is_hpet_periodic_mode_allowed()
return true;
if (hpet_mode == "nonperiodic")
return false;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
UNMAP_AFTER_INIT bool TimeManagement::probe_and_set_non_legacy_hardware_timers()
@@ -274,9 +274,9 @@ UNMAP_AFTER_INIT bool TimeManagement::probe_and_set_non_legacy_hardware_timers()
auto non_periodic_timers = scan_for_non_periodic_timers();
if (is_hpet_periodic_mode_allowed())
- ASSERT(!periodic_timers.is_empty());
+ VERIFY(!periodic_timers.is_empty());
- ASSERT(periodic_timers.size() + non_periodic_timers.size() > 0);
+ VERIFY(periodic_timers.size() + non_periodic_timers.size() > 0);
if (periodic_timers.size() > 0)
m_system_timer = periodic_timers[0];
@@ -337,8 +337,8 @@ void TimeManagement::update_time(const RegisterState&)
void TimeManagement::increment_time_since_boot_hpet()
{
- ASSERT(!m_time_keeper_timer.is_null());
- ASSERT(m_time_keeper_timer->timer_type() == HardwareTimerType::HighPrecisionEventTimer);
+ VERIFY(!m_time_keeper_timer.is_null());
+ VERIFY(m_time_keeper_timer->timer_type() == HardwareTimerType::HighPrecisionEventTimer);
// NOTE: m_seconds_since_boot and m_ticks_this_second are only ever
// updated here! So we can safely read that information, query the clock,
@@ -359,7 +359,7 @@ void TimeManagement::increment_time_since_boot_hpet()
void TimeManagement::increment_time_since_boot()
{
- ASSERT(!m_time_keeper_timer.is_null());
+ VERIFY(!m_time_keeper_timer.is_null());
// Compute time adjustment for adjtime. Let the clock run up to 1% fast or slow.
// That way, adjtime can adjust up to 36 seconds per hour, without time getting very jumpy.
diff --git a/Kernel/TimerQueue.cpp b/Kernel/TimerQueue.cpp
index 60ff468d63..54f31d216f 100644
--- a/Kernel/TimerQueue.cpp
+++ b/Kernel/TimerQueue.cpp
@@ -112,7 +112,7 @@ TimerId TimerQueue::add_timer(NonnullRefPtr<Timer>&& timer)
ScopedSpinLock lock(g_timerqueue_lock);
timer->m_id = ++m_timer_id_count;
- ASSERT(timer->m_id != 0); // wrapped
+ VERIFY(timer->m_id != 0); // wrapped
add_timer_locked(move(timer));
return m_timer_id_count;
}
@@ -121,7 +121,7 @@ void TimerQueue::add_timer_locked(NonnullRefPtr<Timer> timer)
{
u64 timer_expiration = timer->m_expires;
- ASSERT(!timer->is_queued());
+ VERIFY(!timer->is_queued());
auto& queue = queue_for_timer(*timer);
if (queue.list.is_empty()) {
@@ -202,8 +202,8 @@ bool TimerQueue::cancel_timer(TimerId id)
return false;
}
- ASSERT(found_timer);
- ASSERT(timer_queue);
+ VERIFY(found_timer);
+ VERIFY(timer_queue);
remove_timer_locked(*timer_queue, *found_timer);
return true;
}
@@ -231,7 +231,7 @@ bool TimerQueue::cancel_timer(Timer& timer)
return false;
}
- ASSERT(timer.ref_count() > 1);
+ VERIFY(timer.ref_count() > 1);
remove_timer_locked(timer_queue, timer);
return true;
}
@@ -259,8 +259,8 @@ void TimerQueue::fire()
auto fire_timers = [&](Queue& queue) {
auto* timer = queue.list.head();
- ASSERT(timer);
- ASSERT(queue.next_timer_due == timer->m_expires);
+ VERIFY(timer);
+ VERIFY(queue.next_timer_due == timer->m_expires);
while (timer && timer->now(true) > timer->m_expires) {
queue.list.remove(timer);
@@ -294,7 +294,7 @@ void TimerQueue::fire()
void TimerQueue::update_next_timer_due(Queue& queue)
{
- ASSERT(g_timerqueue_lock.is_locked());
+ VERIFY(g_timerqueue_lock.is_locked());
if (auto* next_timer = queue.list.head())
queue.next_timer_due = next_timer->m_expires;
diff --git a/Kernel/TimerQueue.h b/Kernel/TimerQueue.h
index 87f73af7f8..7c5040bc5b 100644
--- a/Kernel/TimerQueue.h
+++ b/Kernel/TimerQueue.h
@@ -51,7 +51,7 @@ public:
}
~Timer()
{
- ASSERT(!is_queued());
+ VERIFY(!is_queued());
}
timespec remaining() const;
@@ -121,7 +121,7 @@ private:
case CLOCK_REALTIME_COARSE:
return m_timer_queue_realtime;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Kernel/UserOrKernelBuffer.h b/Kernel/UserOrKernelBuffer.h
index 9bbbfc21aa..fd49ae8855 100644
--- a/Kernel/UserOrKernelBuffer.h
+++ b/Kernel/UserOrKernelBuffer.h
@@ -42,7 +42,7 @@ public:
static UserOrKernelBuffer for_kernel_buffer(u8* kernel_buffer)
{
- ASSERT(!kernel_buffer || !is_user_address(VirtualAddress(kernel_buffer)));
+ VERIFY(!kernel_buffer || !is_user_address(VirtualAddress(kernel_buffer)));
return UserOrKernelBuffer(kernel_buffer);
}
@@ -70,7 +70,7 @@ public:
return *this;
UserOrKernelBuffer offset_buffer = *this;
offset_buffer.m_buffer += offset;
- ASSERT(offset_buffer.is_kernel_buffer() == is_kernel_buffer());
+ VERIFY(offset_buffer.is_kernel_buffer() == is_kernel_buffer());
return offset_buffer;
}
@@ -120,7 +120,7 @@ public:
ssize_t copied = f(buffer, to_copy);
if (copied < 0)
return copied;
- ASSERT((size_t)copied <= to_copy);
+ VERIFY((size_t)copied <= to_copy);
if (!write(buffer, nwritten, (size_t)copied))
return -EFAULT;
nwritten += (size_t)copied;
@@ -156,7 +156,7 @@ public:
ssize_t copied = f(buffer, to_copy);
if (copied < 0)
return copied;
- ASSERT((size_t)copied <= to_copy);
+ VERIFY((size_t)copied <= to_copy);
nread += (size_t)copied;
if ((size_t)copied < to_copy)
break;
diff --git a/Kernel/VM/AnonymousVMObject.cpp b/Kernel/VM/AnonymousVMObject.cpp
index 0f8b0549d9..1c99d47b1d 100644
--- a/Kernel/VM/AnonymousVMObject.cpp
+++ b/Kernel/VM/AnonymousVMObject.cpp
@@ -114,7 +114,7 @@ AnonymousVMObject::AnonymousVMObject(PhysicalAddress paddr, size_t size)
: VMObject(size)
, m_volatile_ranges_cache({ 0, page_count() })
{
- ASSERT(paddr.page_base() == paddr);
+ VERIFY(paddr.page_base() == paddr);
for (size_t i = 0; i < page_count(); ++i)
physical_pages()[i] = PhysicalPage::create(paddr.offset(i * PAGE_SIZE), false, false);
}
@@ -136,7 +136,7 @@ AnonymousVMObject::AnonymousVMObject(const AnonymousVMObject& other)
, m_shared_committed_cow_pages(other.m_shared_committed_cow_pages) // share the pool
{
// We can't really "copy" a spinlock. But we're holding it. Clear in the clone
- ASSERT(other.m_lock.is_locked());
+ VERIFY(other.m_lock.is_locked());
m_lock.initialize();
// The clone also becomes COW
@@ -154,7 +154,7 @@ AnonymousVMObject::AnonymousVMObject(const AnonymousVMObject& other)
break;
}
}
- ASSERT(m_unused_committed_pages == 0);
+ VERIFY(m_unused_committed_pages == 0);
}
}
@@ -173,7 +173,7 @@ int AnonymousVMObject::purge()
int AnonymousVMObject::purge_with_interrupts_disabled(Badge<MemoryManager>)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
if (m_paging_lock.is_locked())
return 0;
return purge_impl();
@@ -181,7 +181,7 @@ int AnonymousVMObject::purge_with_interrupts_disabled(Badge<MemoryManager>)
void AnonymousVMObject::set_was_purged(const VolatilePageRange& range)
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
for (auto* purgeable_ranges : m_purgeable_ranges)
purgeable_ranges->set_was_purged(range);
}
@@ -196,7 +196,7 @@ int AnonymousVMObject::purge_impl()
for (size_t i = range.base; i < range_end; i++) {
auto& phys_page = m_physical_pages[i];
if (phys_page && !phys_page->is_shared_zero_page()) {
- ASSERT(!phys_page->is_lazy_committed_page());
+ VERIFY(!phys_page->is_lazy_committed_page());
++purged_in_range;
}
phys_page = MM.shared_zero_page();
@@ -226,7 +226,7 @@ void AnonymousVMObject::register_purgeable_page_ranges(PurgeablePageRanges& purg
{
ScopedSpinLock lock(m_lock);
purgeable_page_ranges.set_vmobject(this);
- ASSERT(!m_purgeable_ranges.contains_slow(&purgeable_page_ranges));
+ VERIFY(!m_purgeable_ranges.contains_slow(&purgeable_page_ranges));
m_purgeable_ranges.append(&purgeable_page_ranges);
}
@@ -240,7 +240,7 @@ void AnonymousVMObject::unregister_purgeable_page_ranges(PurgeablePageRanges& pu
m_purgeable_ranges.remove(i);
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool AnonymousVMObject::is_any_volatile() const
@@ -256,7 +256,7 @@ bool AnonymousVMObject::is_any_volatile() const
size_t AnonymousVMObject::remove_lazy_commit_pages(const VolatilePageRange& range)
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
size_t removed_count = 0;
auto range_end = range.base + range.count;
@@ -265,7 +265,7 @@ size_t AnonymousVMObject::remove_lazy_commit_pages(const VolatilePageRange& rang
if (phys_page && phys_page->is_lazy_committed_page()) {
phys_page = MM.shared_zero_page();
removed_count++;
- ASSERT(m_unused_committed_pages > 0);
+ VERIFY(m_unused_committed_pages > 0);
if (--m_unused_committed_pages == 0)
break;
}
@@ -275,8 +275,8 @@ size_t AnonymousVMObject::remove_lazy_commit_pages(const VolatilePageRange& rang
void AnonymousVMObject::update_volatile_cache()
{
- ASSERT(m_lock.is_locked());
- ASSERT(m_volatile_ranges_cache_dirty);
+ VERIFY(m_lock.is_locked());
+ VERIFY(m_volatile_ranges_cache_dirty);
m_volatile_ranges_cache.clear();
for_each_nonvolatile_range([&](const VolatilePageRange& range) {
@@ -289,7 +289,7 @@ void AnonymousVMObject::update_volatile_cache()
void AnonymousVMObject::range_made_volatile(const VolatilePageRange& range)
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
if (m_unused_committed_pages == 0)
return;
@@ -322,14 +322,14 @@ void AnonymousVMObject::range_made_volatile(const VolatilePageRange& range)
void AnonymousVMObject::range_made_nonvolatile(const VolatilePageRange&)
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
m_volatile_ranges_cache_dirty = true;
}
size_t AnonymousVMObject::count_needed_commit_pages_for_nonvolatile_range(const VolatilePageRange& range)
{
- ASSERT(m_lock.is_locked());
- ASSERT(!range.is_empty());
+ VERIFY(m_lock.is_locked());
+ VERIFY(!range.is_empty());
size_t need_commit_pages = 0;
auto range_end = range.base + range.count;
@@ -346,9 +346,9 @@ size_t AnonymousVMObject::count_needed_commit_pages_for_nonvolatile_range(const
size_t AnonymousVMObject::mark_committed_pages_for_nonvolatile_range(const VolatilePageRange& range, size_t mark_total)
{
- ASSERT(m_lock.is_locked());
- ASSERT(!range.is_empty());
- ASSERT(mark_total > 0);
+ VERIFY(m_lock.is_locked());
+ VERIFY(!range.is_empty());
+ VERIFY(mark_total > 0);
size_t pages_updated = 0;
auto range_end = range.base + range.count;
@@ -376,10 +376,10 @@ RefPtr<PhysicalPage> AnonymousVMObject::allocate_committed_page(size_t page_inde
{
ScopedSpinLock lock(m_lock);
- ASSERT(m_unused_committed_pages > 0);
+ VERIFY(m_unused_committed_pages > 0);
// We shouldn't have any committed page tags in volatile regions
- ASSERT([&]() {
+ VERIFY([&]() {
for (auto* purgeable_ranges : m_purgeable_ranges) {
if (purgeable_ranges->is_volatile(page_index))
return false;
@@ -438,7 +438,7 @@ bool AnonymousVMObject::is_nonvolatile(size_t page_index)
PageFaultResponse AnonymousVMObject::handle_cow_fault(size_t page_index, VirtualAddress vaddr)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
ScopedSpinLock lock(m_lock);
auto& page_slot = physical_pages()[page_index];
bool have_committed = m_shared_committed_cow_pages && is_nonvolatile(page_index);
@@ -484,7 +484,7 @@ PageFaultResponse AnonymousVMObject::handle_cow_fault(size_t page_index, Virtual
dbgln(" >> COW: error copying page {}/{} to {}/{}: failed to read from page at {}",
page_slot->paddr(), vaddr, page->paddr(), VirtualAddress(dest_ptr), VirtualAddress(fault_at));
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
page_slot = move(page);
diff --git a/Kernel/VM/AnonymousVMObject.h b/Kernel/VM/AnonymousVMObject.h
index 0e0cd98311..ead937dd52 100644
--- a/Kernel/VM/AnonymousVMObject.h
+++ b/Kernel/VM/AnonymousVMObject.h
@@ -62,7 +62,7 @@ public:
template<typename F>
IterationDecision for_each_volatile_range(F f) const
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
// This is a little ugly. Basically, we're trying to find the
// volatile ranges that all share, because those are the only
// pages we can actually purge
diff --git a/Kernel/VM/ContiguousVMObject.cpp b/Kernel/VM/ContiguousVMObject.cpp
index c382942fb9..8d8109913c 100644
--- a/Kernel/VM/ContiguousVMObject.cpp
+++ b/Kernel/VM/ContiguousVMObject.cpp
@@ -56,7 +56,7 @@ ContiguousVMObject::~ContiguousVMObject()
RefPtr<VMObject> ContiguousVMObject::clone()
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Kernel/VM/InodeVMObject.cpp b/Kernel/VM/InodeVMObject.cpp
index 4f8799142e..77f02d0af5 100644
--- a/Kernel/VM/InodeVMObject.cpp
+++ b/Kernel/VM/InodeVMObject.cpp
@@ -53,7 +53,7 @@ InodeVMObject::~InodeVMObject()
size_t InodeVMObject::amount_clean() const
{
size_t count = 0;
- ASSERT(page_count() == m_dirty_pages.size());
+ VERIFY(page_count() == m_dirty_pages.size());
for (size_t i = 0; i < page_count(); ++i) {
if (!m_dirty_pages.get(i) && m_physical_pages[i])
++count;
@@ -91,7 +91,7 @@ void InodeVMObject::inode_size_changed(Badge<Inode>, size_t old_size, size_t new
void InodeVMObject::inode_contents_changed(Badge<Inode>, off_t offset, [[maybe_unused]] ssize_t size, [[maybe_unused]] const UserOrKernelBuffer& data)
{
InterruptDisabler disabler;
- ASSERT(offset >= 0);
+ VERIFY(offset >= 0);
// FIXME: Only invalidate the parts that actually changed.
for (auto& physical_page : m_physical_pages)
diff --git a/Kernel/VM/MemoryManager.cpp b/Kernel/VM/MemoryManager.cpp
index 90e764575d..ac7c7964ff 100644
--- a/Kernel/VM/MemoryManager.cpp
+++ b/Kernel/VM/MemoryManager.cpp
@@ -91,7 +91,7 @@ UNMAP_AFTER_INIT MemoryManager::MemoryManager()
// We're temporarily "committing" to two pages that we need to allocate below
if (!commit_user_physical_pages(2))
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
m_shared_zero_page = allocate_committed_user_physical_page();
@@ -158,7 +158,7 @@ void MemoryManager::unmap_memory_after_init()
UNMAP_AFTER_INIT void MemoryManager::register_reserved_ranges()
{
- ASSERT(!m_physical_memory_ranges.is_empty());
+ VERIFY(!m_physical_memory_ranges.is_empty());
ContiguousReservedMemoryRange range;
for (auto& current_range : m_physical_memory_ranges) {
if (current_range.type != PhysicalMemoryRangeType::Reserved) {
@@ -182,7 +182,7 @@ UNMAP_AFTER_INIT void MemoryManager::register_reserved_ranges()
bool MemoryManager::is_allowed_to_mmap_to_userspace(PhysicalAddress start_address, const Range& range) const
{
- ASSERT(!m_reserved_memory_ranges.is_empty());
+ VERIFY(!m_reserved_memory_ranges.is_empty());
for (auto& current_range : m_reserved_memory_ranges) {
if (!(current_range.start <= start_address))
continue;
@@ -310,8 +310,8 @@ UNMAP_AFTER_INIT void MemoryManager::parse_memory_map()
dmesgln("MM: User physical region: {} - {}", region.lower(), region.upper());
}
- ASSERT(m_super_physical_pages > 0);
- ASSERT(m_user_physical_pages > 0);
+ VERIFY(m_super_physical_pages > 0);
+ VERIFY(m_user_physical_pages > 0);
// We start out with no committed pages
m_user_physical_pages_uncommitted = m_user_physical_pages.load();
@@ -323,9 +323,9 @@ UNMAP_AFTER_INIT void MemoryManager::parse_memory_map()
PageTableEntry* MemoryManager::pte(PageDirectory& page_directory, VirtualAddress vaddr)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(s_mm_lock.own_lock());
- ASSERT(page_directory.get_lock().own_lock());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(s_mm_lock.own_lock());
+ VERIFY(page_directory.get_lock().own_lock());
u32 page_directory_table_index = (vaddr.get() >> 30) & 0x3;
u32 page_directory_index = (vaddr.get() >> 21) & 0x1ff;
u32 page_table_index = (vaddr.get() >> 12) & 0x1ff;
@@ -340,9 +340,9 @@ PageTableEntry* MemoryManager::pte(PageDirectory& page_directory, VirtualAddress
PageTableEntry* MemoryManager::ensure_pte(PageDirectory& page_directory, VirtualAddress vaddr)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(s_mm_lock.own_lock());
- ASSERT(page_directory.get_lock().own_lock());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(s_mm_lock.own_lock());
+ VERIFY(page_directory.get_lock().own_lock());
u32 page_directory_table_index = (vaddr.get() >> 30) & 0x3;
u32 page_directory_index = (vaddr.get() >> 21) & 0x1ff;
u32 page_table_index = (vaddr.get() >> 12) & 0x1ff;
@@ -361,9 +361,9 @@ PageTableEntry* MemoryManager::ensure_pte(PageDirectory& page_directory, Virtual
// of the purging process. So we need to re-map the pd in this case to ensure
// we're writing to the correct underlying physical page
pd = quickmap_pd(page_directory, page_directory_table_index);
- ASSERT(&pde == &pd[page_directory_index]); // Sanity check
+ VERIFY(&pde == &pd[page_directory_index]); // Sanity check
- ASSERT(!pde.is_present()); // Should have not changed
+ VERIFY(!pde.is_present()); // Should have not changed
}
pde.set_page_table_base(page_table->paddr().get());
pde.set_user_allowed(true);
@@ -373,7 +373,7 @@ PageTableEntry* MemoryManager::ensure_pte(PageDirectory& page_directory, Virtual
// Use page_directory_table_index and page_directory_index as key
// This allows us to release the page table entry when no longer needed
auto result = page_directory.m_page_tables.set(vaddr.get() & ~0x1fffff, move(page_table));
- ASSERT(result == AK::HashSetResult::InsertedNewEntry);
+ VERIFY(result == AK::HashSetResult::InsertedNewEntry);
}
return &quickmap_pt(PhysicalAddress((FlatPtr)pde.page_table_base()))[page_table_index];
@@ -381,9 +381,9 @@ PageTableEntry* MemoryManager::ensure_pte(PageDirectory& page_directory, Virtual
void MemoryManager::release_pte(PageDirectory& page_directory, VirtualAddress vaddr, bool is_last_release)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(s_mm_lock.own_lock());
- ASSERT(page_directory.get_lock().own_lock());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(s_mm_lock.own_lock());
+ VERIFY(page_directory.get_lock().own_lock());
u32 page_directory_table_index = (vaddr.get() >> 30) & 0x3;
u32 page_directory_index = (vaddr.get() >> 21) & 0x1ff;
u32 page_table_index = (vaddr.get() >> 12) & 0x1ff;
@@ -409,7 +409,7 @@ void MemoryManager::release_pte(PageDirectory& page_directory, VirtualAddress va
pde.clear();
auto result = page_directory.m_page_tables.remove(vaddr.get() & ~0x1fffff);
- ASSERT(result);
+ VERIFY(result);
}
}
}
@@ -463,13 +463,13 @@ Region* MemoryManager::find_region_from_vaddr(VirtualAddress vaddr)
auto page_directory = PageDirectory::find_by_cr3(read_cr3());
if (!page_directory)
return nullptr;
- ASSERT(page_directory->space());
+ VERIFY(page_directory->space());
return user_region_from_vaddr(*page_directory->space(), vaddr);
}
PageFaultResponse MemoryManager::handle_page_fault(const PageFault& fault)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
ScopedSpinLock lock(s_mm_lock);
if (Processor::current().in_irq()) {
dbgln("CPU[{}] BUG! Page fault while handling IRQ! code={}, vaddr={}, irq level: {}",
@@ -491,7 +491,7 @@ PageFaultResponse MemoryManager::handle_page_fault(const PageFault& fault)
OwnPtr<Region> MemoryManager::allocate_contiguous_kernel_region(size_t size, String name, u8 access, size_t physical_alignment, Region::Cacheable cacheable)
{
- ASSERT(!(size % PAGE_SIZE));
+ VERIFY(!(size % PAGE_SIZE));
ScopedSpinLock lock(s_mm_lock);
auto range = kernel_page_directory().range_allocator().allocate_anywhere(size);
if (!range.has_value())
@@ -502,7 +502,7 @@ OwnPtr<Region> MemoryManager::allocate_contiguous_kernel_region(size_t size, Str
OwnPtr<Region> MemoryManager::allocate_kernel_region(size_t size, String name, u8 access, AllocationStrategy strategy, Region::Cacheable cacheable)
{
- ASSERT(!(size % PAGE_SIZE));
+ VERIFY(!(size % PAGE_SIZE));
ScopedSpinLock lock(s_mm_lock);
auto range = kernel_page_directory().range_allocator().allocate_anywhere(size);
if (!range.has_value())
@@ -515,7 +515,7 @@ OwnPtr<Region> MemoryManager::allocate_kernel_region(size_t size, String name, u
OwnPtr<Region> MemoryManager::allocate_kernel_region(PhysicalAddress paddr, size_t size, String name, u8 access, Region::Cacheable cacheable)
{
- ASSERT(!(size % PAGE_SIZE));
+ VERIFY(!(size % PAGE_SIZE));
ScopedSpinLock lock(s_mm_lock);
auto range = kernel_page_directory().range_allocator().allocate_anywhere(size);
if (!range.has_value())
@@ -528,7 +528,7 @@ OwnPtr<Region> MemoryManager::allocate_kernel_region(PhysicalAddress paddr, size
OwnPtr<Region> MemoryManager::allocate_kernel_region_identity(PhysicalAddress paddr, size_t size, String name, u8 access, Region::Cacheable cacheable)
{
- ASSERT(!(size % PAGE_SIZE));
+ VERIFY(!(size % PAGE_SIZE));
ScopedSpinLock lock(s_mm_lock);
auto range = kernel_page_directory().identity_range_allocator().allocate_specific(VirtualAddress(paddr.get()), size);
if (!range.has_value())
@@ -550,7 +550,7 @@ OwnPtr<Region> MemoryManager::allocate_kernel_region_with_vmobject(const Range&
OwnPtr<Region> MemoryManager::allocate_kernel_region_with_vmobject(VMObject& vmobject, size_t size, String name, u8 access, Region::Cacheable cacheable)
{
- ASSERT(!(size % PAGE_SIZE));
+ VERIFY(!(size % PAGE_SIZE));
ScopedSpinLock lock(s_mm_lock);
auto range = kernel_page_directory().range_allocator().allocate_anywhere(size);
if (!range.has_value())
@@ -560,7 +560,7 @@ OwnPtr<Region> MemoryManager::allocate_kernel_region_with_vmobject(VMObject& vmo
bool MemoryManager::commit_user_physical_pages(size_t page_count)
{
- ASSERT(page_count > 0);
+ VERIFY(page_count > 0);
ScopedSpinLock lock(s_mm_lock);
if (m_user_physical_pages_uncommitted < page_count)
return false;
@@ -572,9 +572,9 @@ bool MemoryManager::commit_user_physical_pages(size_t page_count)
void MemoryManager::uncommit_user_physical_pages(size_t page_count)
{
- ASSERT(page_count > 0);
+ VERIFY(page_count > 0);
ScopedSpinLock lock(s_mm_lock);
- ASSERT(m_user_physical_pages_committed >= page_count);
+ VERIFY(m_user_physical_pages_committed >= page_count);
m_user_physical_pages_uncommitted += page_count;
m_user_physical_pages_committed -= page_count;
@@ -598,16 +598,16 @@ void MemoryManager::deallocate_user_physical_page(const PhysicalPage& page)
}
dmesgln("MM: deallocate_user_physical_page couldn't figure out region for user page @ {}", page.paddr());
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
RefPtr<PhysicalPage> MemoryManager::find_free_user_physical_page(bool committed)
{
- ASSERT(s_mm_lock.is_locked());
+ VERIFY(s_mm_lock.is_locked());
RefPtr<PhysicalPage> page;
if (committed) {
// Draw from the committed pages pool. We should always have these pages available
- ASSERT(m_user_physical_pages_committed > 0);
+ VERIFY(m_user_physical_pages_committed > 0);
m_user_physical_pages_committed--;
} else {
// We need to make sure we don't touch pages that we have committed to
@@ -622,7 +622,7 @@ RefPtr<PhysicalPage> MemoryManager::find_free_user_physical_page(bool committed)
break;
}
}
- ASSERT(!committed || !page.is_null());
+ VERIFY(!committed || !page.is_null());
return page;
}
@@ -655,7 +655,7 @@ RefPtr<PhysicalPage> MemoryManager::allocate_user_physical_page(ShouldZeroFill s
dbgln("MM: Purge saved the day! Purged {} pages from AnonymousVMObject", purged_page_count);
page = find_free_user_physical_page(false);
purged_pages = true;
- ASSERT(page);
+ VERIFY(page);
return IterationDecision::Break;
}
return IterationDecision::Continue;
@@ -692,12 +692,12 @@ void MemoryManager::deallocate_supervisor_physical_page(const PhysicalPage& page
}
dbgln("MM: deallocate_supervisor_physical_page couldn't figure out region for super page @ {}", page.paddr());
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
NonnullRefPtrVector<PhysicalPage> MemoryManager::allocate_contiguous_supervisor_physical_pages(size_t size, size_t physical_alignment)
{
- ASSERT(!(size % PAGE_SIZE));
+ VERIFY(!(size % PAGE_SIZE));
ScopedSpinLock lock(s_mm_lock);
size_t count = ceil_div(size, PAGE_SIZE);
NonnullRefPtrVector<PhysicalPage> physical_pages;
@@ -714,7 +714,7 @@ NonnullRefPtrVector<PhysicalPage> MemoryManager::allocate_contiguous_supervisor_
}
dmesgln("MM: no super physical pages available");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
@@ -741,7 +741,7 @@ RefPtr<PhysicalPage> MemoryManager::allocate_supervisor_physical_page()
}
dmesgln("MM: no super physical pages available");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
@@ -758,7 +758,7 @@ void MemoryManager::enter_process_paging_scope(Process& process)
void MemoryManager::enter_space(Space& space)
{
auto current_thread = Thread::current();
- ASSERT(current_thread != nullptr);
+ VERIFY(current_thread != nullptr);
ScopedSpinLock lock(s_mm_lock);
current_thread->tss().cr3 = space.page_directory().cr3();
@@ -779,7 +779,7 @@ extern "C" PageTableEntry boot_pd3_pt1023[1024];
PageDirectoryEntry* MemoryManager::quickmap_pd(PageDirectory& directory, size_t pdpt_index)
{
- ASSERT(s_mm_lock.own_lock());
+ VERIFY(s_mm_lock.own_lock());
auto& mm_data = get_data();
auto& pte = boot_pd3_pt1023[4];
auto pd_paddr = directory.m_directory_pages[pdpt_index]->paddr();
@@ -805,7 +805,7 @@ PageDirectoryEntry* MemoryManager::quickmap_pd(PageDirectory& directory, size_t
PageTableEntry* MemoryManager::quickmap_pt(PhysicalAddress pt_paddr)
{
- ASSERT(s_mm_lock.own_lock());
+ VERIFY(s_mm_lock.own_lock());
auto& mm_data = get_data();
auto& pte = boot_pd3_pt1023[0];
if (pte.physical_page_base() != pt_paddr.as_ptr()) {
@@ -830,7 +830,7 @@ PageTableEntry* MemoryManager::quickmap_pt(PhysicalAddress pt_paddr)
u8* MemoryManager::quickmap_page(PhysicalPage& physical_page)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
auto& mm_data = get_data();
mm_data.m_quickmap_prev_flags = mm_data.m_quickmap_in_use.lock();
ScopedSpinLock lock(s_mm_lock);
@@ -851,10 +851,10 @@ u8* MemoryManager::quickmap_page(PhysicalPage& physical_page)
void MemoryManager::unquickmap_page()
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
ScopedSpinLock lock(s_mm_lock);
auto& mm_data = get_data();
- ASSERT(mm_data.m_quickmap_in_use.is_locked());
+ VERIFY(mm_data.m_quickmap_in_use.is_locked());
u32 pte_idx = 8 + Processor::id();
VirtualAddress vaddr(0xffe00000 + pte_idx * PAGE_SIZE);
auto& pte = boot_pd3_pt1023[pte_idx];
diff --git a/Kernel/VM/MemoryManager.h b/Kernel/VM/MemoryManager.h
index 5e9491e8be..be1fe34840 100644
--- a/Kernel/VM/MemoryManager.h
+++ b/Kernel/VM/MemoryManager.h
@@ -48,7 +48,7 @@ constexpr FlatPtr page_round_up(FlatPtr x)
{
FlatPtr rounded = (((FlatPtr)(x)) + PAGE_SIZE - 1) & (~(PAGE_SIZE - 1));
// Rounding up >0xffff0000 wraps back to 0. That's never what we want.
- ASSERT(x == 0 || rounded != 0);
+ VERIFY(x == 0 || rounded != 0);
return rounded;
}
diff --git a/Kernel/VM/PageDirectory.cpp b/Kernel/VM/PageDirectory.cpp
index 5bc207c761..83d59ddb58 100644
--- a/Kernel/VM/PageDirectory.cpp
+++ b/Kernel/VM/PageDirectory.cpp
@@ -40,7 +40,7 @@ static AK::Singleton<HashMap<u32, PageDirectory*>> s_cr3_map;
static HashMap<u32, PageDirectory*>& cr3_map()
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
return *s_cr3_map;
}
@@ -125,10 +125,10 @@ PageDirectory::PageDirectory(const RangeAllocator* parent_range_allocator)
// when writing out the PDPT pointer to CR3.
// The reason we're not checking the page directory's physical address directly is because
// we're checking for sign extension when putting it into a PDPTE. See issue #4584.
- ASSERT((table.raw[0] & ~pdpte_bit_flags) <= max_physical_address);
- ASSERT((table.raw[1] & ~pdpte_bit_flags) <= max_physical_address);
- ASSERT((table.raw[2] & ~pdpte_bit_flags) <= max_physical_address);
- ASSERT((table.raw[3] & ~pdpte_bit_flags) <= max_physical_address);
+ VERIFY((table.raw[0] & ~pdpte_bit_flags) <= max_physical_address);
+ VERIFY((table.raw[1] & ~pdpte_bit_flags) <= max_physical_address);
+ VERIFY((table.raw[2] & ~pdpte_bit_flags) <= max_physical_address);
+ VERIFY((table.raw[3] & ~pdpte_bit_flags) <= max_physical_address);
MM.unquickmap_page();
}
diff --git a/Kernel/VM/PhysicalPage.cpp b/Kernel/VM/PhysicalPage.cpp
index 957ab9007d..66c23db992 100644
--- a/Kernel/VM/PhysicalPage.cpp
+++ b/Kernel/VM/PhysicalPage.cpp
@@ -44,7 +44,7 @@ PhysicalPage::PhysicalPage(PhysicalAddress paddr, bool supervisor, bool may_retu
void PhysicalPage::return_to_freelist() const
{
- ASSERT((paddr().get() & ~PAGE_MASK) == 0);
+ VERIFY((paddr().get() & ~PAGE_MASK) == 0);
if (m_supervisor)
MM.deallocate_supervisor_physical_page(*this);
diff --git a/Kernel/VM/PhysicalRegion.cpp b/Kernel/VM/PhysicalRegion.cpp
index 0df7cd4049..b83a9d4214 100644
--- a/Kernel/VM/PhysicalRegion.cpp
+++ b/Kernel/VM/PhysicalRegion.cpp
@@ -49,7 +49,7 @@ PhysicalRegion::PhysicalRegion(PhysicalAddress lower, PhysicalAddress upper)
void PhysicalRegion::expand(PhysicalAddress lower, PhysicalAddress upper)
{
- ASSERT(!m_pages);
+ VERIFY(!m_pages);
m_lower = lower;
m_upper = upper;
@@ -57,7 +57,7 @@ void PhysicalRegion::expand(PhysicalAddress lower, PhysicalAddress upper)
unsigned PhysicalRegion::finalize_capacity()
{
- ASSERT(!m_pages);
+ VERIFY(!m_pages);
m_pages = (m_upper.get() - m_lower.get()) / PAGE_SIZE;
m_bitmap.grow(m_pages, false);
@@ -67,8 +67,8 @@ unsigned PhysicalRegion::finalize_capacity()
NonnullRefPtrVector<PhysicalPage> PhysicalRegion::take_contiguous_free_pages(size_t count, bool supervisor, size_t physical_alignment)
{
- ASSERT(m_pages);
- ASSERT(m_used != m_pages);
+ VERIFY(m_pages);
+ VERIFY(m_used != m_pages);
NonnullRefPtrVector<PhysicalPage> physical_pages;
physical_pages.ensure_capacity(count);
@@ -82,11 +82,11 @@ NonnullRefPtrVector<PhysicalPage> PhysicalRegion::take_contiguous_free_pages(siz
unsigned PhysicalRegion::find_contiguous_free_pages(size_t count, size_t physical_alignment)
{
- ASSERT(count != 0);
- ASSERT(physical_alignment % PAGE_SIZE == 0);
+ VERIFY(count != 0);
+ VERIFY(physical_alignment % PAGE_SIZE == 0);
// search from the last page we allocated
auto range = find_and_allocate_contiguous_range(count, physical_alignment / PAGE_SIZE);
- ASSERT(range.has_value());
+ VERIFY(range.has_value());
return range.value();
}
@@ -100,8 +100,8 @@ Optional<unsigned> PhysicalRegion::find_one_free_page()
Checked<FlatPtr> local_offset = m_recently_returned[index].get();
local_offset -= m_lower.get();
m_recently_returned.remove(index);
- ASSERT(!local_offset.has_overflow());
- ASSERT(local_offset.value() < (FlatPtr)(m_pages * PAGE_SIZE));
+ VERIFY(!local_offset.has_overflow());
+ VERIFY(local_offset.value() < (FlatPtr)(m_pages * PAGE_SIZE));
return local_offset.value() / PAGE_SIZE;
}
return {};
@@ -121,7 +121,7 @@ Optional<unsigned> PhysicalRegion::find_one_free_page()
Optional<unsigned> PhysicalRegion::find_and_allocate_contiguous_range(size_t count, unsigned alignment)
{
- ASSERT(count != 0);
+ VERIFY(count != 0);
size_t found_pages_count = 0;
// TODO: Improve how we deal with alignment != 1
auto first_index = m_bitmap.find_longest_range_of_unset_bits(count + alignment - 1, found_pages_count);
@@ -146,7 +146,7 @@ Optional<unsigned> PhysicalRegion::find_and_allocate_contiguous_range(size_t cou
RefPtr<PhysicalPage> PhysicalRegion::take_free_page(bool supervisor)
{
- ASSERT(m_pages);
+ VERIFY(m_pages);
auto free_index = find_one_free_page();
if (!free_index.has_value())
@@ -157,16 +157,16 @@ RefPtr<PhysicalPage> PhysicalRegion::take_free_page(bool supervisor)
void PhysicalRegion::free_page_at(PhysicalAddress addr)
{
- ASSERT(m_pages);
+ VERIFY(m_pages);
if (m_used == 0) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Checked<FlatPtr> local_offset = addr.get();
local_offset -= m_lower.get();
- ASSERT(!local_offset.has_overflow());
- ASSERT(local_offset.value() < (FlatPtr)(m_pages * PAGE_SIZE));
+ VERIFY(!local_offset.has_overflow());
+ VERIFY(local_offset.value() < (FlatPtr)(m_pages * PAGE_SIZE));
auto page = local_offset.value() / PAGE_SIZE;
m_bitmap.set(page, false);
diff --git a/Kernel/VM/ProcessPagingScope.cpp b/Kernel/VM/ProcessPagingScope.cpp
index cd9d9efe9b..abc8de0a5d 100644
--- a/Kernel/VM/ProcessPagingScope.cpp
+++ b/Kernel/VM/ProcessPagingScope.cpp
@@ -31,7 +31,7 @@ namespace Kernel {
ProcessPagingScope::ProcessPagingScope(Process& process)
{
- ASSERT(Thread::current() != nullptr);
+ VERIFY(Thread::current() != nullptr);
m_previous_cr3 = read_cr3();
MM.enter_process_paging_scope(process);
}
diff --git a/Kernel/VM/PurgeablePageRanges.cpp b/Kernel/VM/PurgeablePageRanges.cpp
index 0782daef5b..3e3407286b 100644
--- a/Kernel/VM/PurgeablePageRanges.cpp
+++ b/Kernel/VM/PurgeablePageRanges.cpp
@@ -165,7 +165,7 @@ bool VolatilePageRanges::remove(const VolatilePageRange& range, bool& was_purged
m_ranges.remove(nearby_index);
} else {
// See if we need to remove any of the following ranges
- ASSERT(existing_range == &m_ranges[nearby_index]); // sanity check
+ VERIFY(existing_range == &m_ranges[nearby_index]); // sanity check
while (nearby_index < m_ranges.size()) {
existing_range = &m_ranges[nearby_index];
if (!existing_range->intersects(range))
@@ -228,7 +228,7 @@ auto PurgeablePageRanges::remove_volatile_range(const VolatilePageRange& range,
}
ScopedSpinLock vmobject_lock(m_vmobject->m_lock); // see comment in add_volatile_range
ScopedSpinLock lock(m_volatile_ranges_lock);
- ASSERT(m_vmobject);
+ VERIFY(m_vmobject);
// Before we actually remove this range, we need to check if we need
// to commit any pages, which may fail. If it fails, we don't actually
@@ -259,7 +259,7 @@ auto PurgeablePageRanges::remove_volatile_range(const VolatilePageRange& range,
return RemoveVolatileError::Success;
}
- ASSERT(need_commit_pages == 0); // We should have not touched anything
+ VERIFY(need_commit_pages == 0); // We should have not touched anything
return RemoveVolatileError::SuccessNoChange;
}
@@ -287,10 +287,10 @@ void PurgeablePageRanges::set_vmobject(AnonymousVMObject* vmobject)
{
// No lock needed here
if (vmobject) {
- ASSERT(!m_vmobject);
+ VERIFY(!m_vmobject);
m_vmobject = vmobject;
} else {
- ASSERT(m_vmobject);
+ VERIFY(m_vmobject);
m_vmobject = nullptr;
}
}
@@ -309,7 +309,7 @@ CommittedCowPages::~CommittedCowPages()
NonnullRefPtr<PhysicalPage> CommittedCowPages::allocate_one()
{
- ASSERT(m_committed_pages > 0);
+ VERIFY(m_committed_pages > 0);
m_committed_pages--;
return MM.allocate_committed_user_physical_page(MemoryManager::ShouldZeroFill::Yes);
@@ -317,7 +317,7 @@ NonnullRefPtr<PhysicalPage> CommittedCowPages::allocate_one()
bool CommittedCowPages::return_one()
{
- ASSERT(m_committed_pages > 0);
+ VERIFY(m_committed_pages > 0);
m_committed_pages--;
MM.uncommit_user_physical_pages(1);
diff --git a/Kernel/VM/PurgeablePageRanges.h b/Kernel/VM/PurgeablePageRanges.h
index f372c5bed5..a37a84cc41 100644
--- a/Kernel/VM/PurgeablePageRanges.h
+++ b/Kernel/VM/PurgeablePageRanges.h
@@ -65,7 +65,7 @@ struct VolatilePageRange {
void combine_intersecting_or_adjacent(const VolatilePageRange& other)
{
- ASSERT(intersects_or_adjacent(other));
+ VERIFY(intersects_or_adjacent(other));
if (base <= other.base) {
count = (other.base - base) + other.count;
} else {
@@ -165,7 +165,7 @@ public:
if (existing_range->range_equals(r))
return f(r);
- ASSERT(existing_range == &m_ranges[nearby_index]); // sanity check
+ VERIFY(existing_range == &m_ranges[nearby_index]); // sanity check
while (nearby_index < m_ranges.size()) {
existing_range = &m_ranges[nearby_index];
if (!existing_range->intersects(range))
diff --git a/Kernel/VM/RangeAllocator.cpp b/Kernel/VM/RangeAllocator.cpp
index c481ddfa4a..1675e6946a 100644
--- a/Kernel/VM/RangeAllocator.cpp
+++ b/Kernel/VM/RangeAllocator.cpp
@@ -59,7 +59,7 @@ RangeAllocator::~RangeAllocator()
void RangeAllocator::dump() const
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
dbgln("RangeAllocator({})", this);
for (auto& range : m_available_ranges) {
dbgln(" {:x} -> {:x}", range.base().get(), range.end().get() - 1);
@@ -68,7 +68,7 @@ void RangeAllocator::dump() const
Vector<Range, 2> Range::carve(const Range& taken)
{
- ASSERT((taken.size() % PAGE_SIZE) == 0);
+ VERIFY((taken.size() % PAGE_SIZE) == 0);
Vector<Range, 2> parts;
if (taken == *this)
@@ -82,13 +82,13 @@ Vector<Range, 2> Range::carve(const Range& taken)
void RangeAllocator::carve_at_index(int index, const Range& range)
{
- ASSERT(m_lock.is_locked());
+ VERIFY(m_lock.is_locked());
auto remaining_parts = m_available_ranges[index].carve(range);
- ASSERT(remaining_parts.size() >= 1);
- ASSERT(m_total_range.contains(remaining_parts[0]));
+ VERIFY(remaining_parts.size() >= 1);
+ VERIFY(m_total_range.contains(remaining_parts[0]));
m_available_ranges[index] = remaining_parts[0];
if (remaining_parts.size() == 2) {
- ASSERT(m_total_range.contains(remaining_parts[1]));
+ VERIFY(m_total_range.contains(remaining_parts[1]));
m_available_ranges.insert(index + 1, move(remaining_parts[1]));
}
}
@@ -98,8 +98,8 @@ Optional<Range> RangeAllocator::allocate_randomized(size_t size, size_t alignmen
if (!size)
return {};
- ASSERT((size % PAGE_SIZE) == 0);
- ASSERT((alignment % PAGE_SIZE) == 0);
+ VERIFY((size % PAGE_SIZE) == 0);
+ VERIFY((alignment % PAGE_SIZE) == 0);
// FIXME: I'm sure there's a smarter way to do this.
static constexpr size_t maximum_randomization_attempts = 1000;
@@ -122,8 +122,8 @@ Optional<Range> RangeAllocator::allocate_anywhere(size_t size, size_t alignment)
if (!size)
return {};
- ASSERT((size % PAGE_SIZE) == 0);
- ASSERT((alignment % PAGE_SIZE) == 0);
+ VERIFY((size % PAGE_SIZE) == 0);
+ VERIFY((alignment % PAGE_SIZE) == 0);
#ifdef VM_GUARD_PAGES
// NOTE: We pad VM allocations with a guard page on each side.
@@ -151,7 +151,7 @@ Optional<Range> RangeAllocator::allocate_anywhere(size_t size, size_t alignment)
FlatPtr aligned_base = round_up_to_power_of_two(initial_base, alignment);
Range allocated_range(VirtualAddress(aligned_base), size);
- ASSERT(m_total_range.contains(allocated_range));
+ VERIFY(m_total_range.contains(allocated_range));
if (available_range == allocated_range) {
m_available_ranges.remove(i);
@@ -169,14 +169,14 @@ Optional<Range> RangeAllocator::allocate_specific(VirtualAddress base, size_t si
if (!size)
return {};
- ASSERT(base.is_page_aligned());
- ASSERT((size % PAGE_SIZE) == 0);
+ VERIFY(base.is_page_aligned());
+ VERIFY((size % PAGE_SIZE) == 0);
Range allocated_range(base, size);
ScopedSpinLock lock(m_lock);
for (size_t i = 0; i < m_available_ranges.size(); ++i) {
auto& available_range = m_available_ranges[i];
- ASSERT(m_total_range.contains(allocated_range));
+ VERIFY(m_total_range.contains(allocated_range));
if (!available_range.contains(base, size))
continue;
if (available_range == allocated_range) {
@@ -192,11 +192,11 @@ Optional<Range> RangeAllocator::allocate_specific(VirtualAddress base, size_t si
void RangeAllocator::deallocate(const Range& range)
{
ScopedSpinLock lock(m_lock);
- ASSERT(m_total_range.contains(range));
- ASSERT(range.size());
- ASSERT((range.size() % PAGE_SIZE) == 0);
- ASSERT(range.base() < range.end());
- ASSERT(!m_available_ranges.is_empty());
+ VERIFY(m_total_range.contains(range));
+ VERIFY(range.size());
+ VERIFY((range.size() % PAGE_SIZE) == 0);
+ VERIFY(range.base() < range.end());
+ VERIFY(!m_available_ranges.is_empty());
size_t nearby_index = 0;
auto* existing_range = binary_search(
diff --git a/Kernel/VM/Region.cpp b/Kernel/VM/Region.cpp
index 375acd1127..1b8ef0d8ee 100644
--- a/Kernel/VM/Region.cpp
+++ b/Kernel/VM/Region.cpp
@@ -49,9 +49,9 @@ Region::Region(const Range& range, NonnullRefPtr<VMObject> vmobject, size_t offs
, m_shared(shared)
, m_cacheable(cacheable == Cacheable::Yes)
{
- ASSERT(m_range.base().is_page_aligned());
- ASSERT(m_range.size());
- ASSERT((m_range.size() % PAGE_SIZE) == 0);
+ VERIFY(m_range.base().is_page_aligned());
+ VERIFY(m_range.size());
+ VERIFY((m_range.size() % PAGE_SIZE) == 0);
m_vmobject->ref_region();
register_purgeable_page_ranges();
@@ -69,7 +69,7 @@ Region::~Region()
ScopedSpinLock lock(s_mm_lock);
if (m_page_directory) {
unmap(ShouldDeallocateVirtualMemoryRange::Yes);
- ASSERT(!m_page_directory);
+ VERIFY(!m_page_directory);
}
MM.unregister_region(*this);
@@ -93,14 +93,14 @@ void Region::unregister_purgeable_page_ranges()
OwnPtr<Region> Region::clone(Process& new_owner)
{
- ASSERT(Process::current());
+ VERIFY(Process::current());
ScopedSpinLock lock(s_mm_lock);
if (m_shared) {
- ASSERT(!m_stack);
+ VERIFY(!m_stack);
if (vmobject().is_inode())
- ASSERT(vmobject().is_shared_inode());
+ VERIFY(vmobject().is_shared_inode());
// Create a new region backed by the same VMObject.
auto region = Region::create_user_accessible(
@@ -114,7 +114,7 @@ OwnPtr<Region> Region::clone(Process& new_owner)
}
if (vmobject().is_inode())
- ASSERT(vmobject().is_private_inode());
+ VERIFY(vmobject().is_private_inode());
auto vmobject_clone = vmobject().clone();
if (!vmobject_clone)
@@ -127,9 +127,9 @@ OwnPtr<Region> Region::clone(Process& new_owner)
if (m_vmobject->is_anonymous())
clone_region->copy_purgeable_page_ranges(*this);
if (m_stack) {
- ASSERT(is_readable());
- ASSERT(is_writable());
- ASSERT(vmobject().is_anonymous());
+ VERIFY(is_readable());
+ VERIFY(is_writable());
+ VERIFY(vmobject().is_anonymous());
clone_region->set_stack(true);
}
clone_region->set_syscall_region(is_syscall_region());
@@ -250,14 +250,14 @@ bool Region::should_cow(size_t page_index) const
void Region::set_should_cow(size_t page_index, bool cow)
{
- ASSERT(!m_shared);
+ VERIFY(!m_shared);
if (vmobject().is_anonymous())
static_cast<AnonymousVMObject&>(vmobject()).set_should_cow(first_page_index() + page_index, cow);
}
bool Region::map_individual_page_impl(size_t page_index)
{
- ASSERT(m_page_directory->get_lock().own_lock());
+ VERIFY(m_page_directory->get_lock().own_lock());
auto page_vaddr = vaddr_from_page_index(page_index);
bool user_allowed = page_vaddr.get() >= 0x00800000 && is_user_address(page_vaddr);
@@ -289,7 +289,7 @@ bool Region::map_individual_page_impl(size_t page_index)
bool Region::do_remap_vmobject_page_range(size_t page_index, size_t page_count)
{
bool success = true;
- ASSERT(s_mm_lock.own_lock());
+ VERIFY(s_mm_lock.own_lock());
if (!m_page_directory)
return success; // not an error, region may have not yet mapped it
if (!translate_vmobject_page_range(page_index, page_count))
@@ -333,7 +333,7 @@ bool Region::do_remap_vmobject_page(size_t page_index, bool with_flush)
if (!translate_vmobject_page(page_index))
return true; // not an error, region doesn't map this page
ScopedSpinLock page_lock(m_page_directory->get_lock());
- ASSERT(physical_page(page_index));
+ VERIFY(physical_page(page_index));
bool success = map_individual_page_impl(page_index);
if (with_flush)
MM.flush_tlb(m_page_directory, vaddr_from_page_index(page_index));
@@ -380,8 +380,8 @@ void Region::unmap(ShouldDeallocateVirtualMemoryRange deallocate_range)
void Region::set_page_directory(PageDirectory& page_directory)
{
- ASSERT(!m_page_directory || m_page_directory == &page_directory);
- ASSERT(s_mm_lock.own_lock());
+ VERIFY(!m_page_directory || m_page_directory == &page_directory);
+ VERIFY(s_mm_lock.own_lock());
m_page_directory = page_directory;
}
@@ -392,7 +392,7 @@ bool Region::map(PageDirectory& page_directory)
// FIXME: Find a better place for this sanity check(?)
if (is_user() && !is_shared()) {
- ASSERT(!vmobject().is_shared_inode());
+ VERIFY(!vmobject().is_shared_inode());
}
set_page_directory(page_directory);
@@ -411,7 +411,7 @@ bool Region::map(PageDirectory& page_directory)
void Region::remap()
{
- ASSERT(m_page_directory);
+ VERIFY(m_page_directory);
map(*m_page_directory);
}
@@ -451,7 +451,7 @@ PageFaultResponse Region::handle_fault(const PageFault& fault, ScopedSpinLock<Re
return PageFaultResponse::ShouldCrash;
#endif
}
- ASSERT(fault.type() == PageFault::Type::ProtectionViolation);
+ VERIFY(fault.type() == PageFault::Type::ProtectionViolation);
if (fault.access() == PageFault::Access::Write && is_writable() && should_cow(page_index_in_region)) {
dbgln_if(PAGE_FAULT_DEBUG, "PV(cow) fault in Region({})[{}] at {}", this, page_index_in_region, fault.vaddr());
auto* phys_page = physical_page(page_index_in_region);
@@ -467,8 +467,8 @@ PageFaultResponse Region::handle_fault(const PageFault& fault, ScopedSpinLock<Re
PageFaultResponse Region::handle_zero_fault(size_t page_index_in_region)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(vmobject().is_anonymous());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(vmobject().is_anonymous());
LOCKER(vmobject().m_paging_lock);
@@ -509,7 +509,7 @@ PageFaultResponse Region::handle_zero_fault(size_t page_index_in_region)
PageFaultResponse Region::handle_cow_fault(size_t page_index_in_region)
{
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
auto current_thread = Thread::current();
if (current_thread)
current_thread->did_cow_fault();
@@ -526,18 +526,18 @@ PageFaultResponse Region::handle_cow_fault(size_t page_index_in_region)
PageFaultResponse Region::handle_inode_fault(size_t page_index_in_region, ScopedSpinLock<RecursiveSpinLock>& mm_lock)
{
- ASSERT_INTERRUPTS_DISABLED();
- ASSERT(vmobject().is_inode());
+ VERIFY_INTERRUPTS_DISABLED();
+ VERIFY(vmobject().is_inode());
mm_lock.unlock();
- ASSERT(!s_mm_lock.own_lock());
- ASSERT(!g_scheduler_lock.own_lock());
+ VERIFY(!s_mm_lock.own_lock());
+ VERIFY(!g_scheduler_lock.own_lock());
LOCKER(vmobject().m_paging_lock);
mm_lock.lock();
- ASSERT_INTERRUPTS_DISABLED();
+ VERIFY_INTERRUPTS_DISABLED();
auto& inode_vmobject = static_cast<InodeVMObject&>(vmobject());
auto page_index_in_vmobject = translate_to_vmobject_page(page_index_in_region);
auto& vmobject_physical_page_entry = inode_vmobject.physical_pages()[page_index_in_vmobject];
@@ -589,7 +589,7 @@ PageFaultResponse Region::handle_inode_fault(size_t page_index_in_region, Scoped
VirtualAddress(dest_ptr),
VirtualAddress(fault_at));
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
MM.unquickmap_page();
diff --git a/Kernel/VM/Region.h b/Kernel/VM/Region.h
index 5d8b7464a2..5e2308ec57 100644
--- a/Kernel/VM/Region.h
+++ b/Kernel/VM/Region.h
@@ -181,13 +181,13 @@ public:
const PhysicalPage* physical_page(size_t index) const
{
- ASSERT(index < page_count());
+ VERIFY(index < page_count());
return vmobject().physical_pages()[first_page_index() + index];
}
RefPtr<PhysicalPage>& physical_page_slot(size_t index)
{
- ASSERT(index < page_count());
+ VERIFY(index < page_count());
return vmobject().physical_pages()[first_page_index() + index];
}
diff --git a/Kernel/VM/Space.cpp b/Kernel/VM/Space.cpp
index bf429c240b..4489ca17f7 100644
--- a/Kernel/VM/Space.cpp
+++ b/Kernel/VM/Space.cpp
@@ -80,7 +80,7 @@ Region& Space::allocate_split_region(const Region& source_region, const Range& r
KResultOr<Region*> Space::allocate_region(const Range& range, const String& name, int prot, AllocationStrategy strategy)
{
- ASSERT(range.is_valid());
+ VERIFY(range.is_valid());
auto vmobject = AnonymousVMObject::create_with_size(range.size(), strategy);
if (!vmobject)
return ENOMEM;
@@ -92,7 +92,7 @@ KResultOr<Region*> Space::allocate_region(const Range& range, const String& name
KResultOr<Region*> Space::allocate_region_with_vmobject(const Range& range, NonnullRefPtr<VMObject> vmobject, size_t offset_in_vmobject, const String& name, int prot, bool shared)
{
- ASSERT(range.is_valid());
+ VERIFY(range.is_valid());
size_t end_in_vmobject = offset_in_vmobject + range.size();
if (end_in_vmobject <= offset_in_vmobject) {
dbgln("allocate_region_with_vmobject: Overflow (offset + size)");
@@ -172,9 +172,9 @@ Vector<Region*, 2> Space::split_region_around_range(const Region& source_region,
Range old_region_range = source_region.range();
auto remaining_ranges_after_unmap = old_region_range.carve(desired_range);
- ASSERT(!remaining_ranges_after_unmap.is_empty());
+ VERIFY(!remaining_ranges_after_unmap.is_empty());
auto make_replacement_region = [&](const Range& new_range) -> Region& {
- ASSERT(old_region_range.contains(new_range));
+ VERIFY(old_region_range.contains(new_range));
size_t new_range_offset_in_vmobject = source_region.offset_in_vmobject() + (new_range.base().get() - old_region_range.base().get());
return allocate_split_region(source_region, new_range, new_range_offset_in_vmobject);
};
diff --git a/Kernel/VM/VMObject.cpp b/Kernel/VM/VMObject.cpp
index bcd5fbf73f..71da13de1e 100644
--- a/Kernel/VM/VMObject.cpp
+++ b/Kernel/VM/VMObject.cpp
@@ -51,7 +51,7 @@ VMObject::~VMObject()
}
MM.unregister_vmobject(*this);
- ASSERT(m_regions_count.load(AK::MemoryOrder::memory_order_relaxed) == 0);
+ VERIFY(m_regions_count.load(AK::MemoryOrder::memory_order_relaxed) == 0);
}
}
diff --git a/Kernel/WaitQueue.cpp b/Kernel/WaitQueue.cpp
index 53834461b8..77aed8106d 100644
--- a/Kernel/WaitQueue.cpp
+++ b/Kernel/WaitQueue.cpp
@@ -32,9 +32,9 @@ namespace Kernel {
bool WaitQueue::should_add_blocker(Thread::Blocker& b, void* data)
{
- ASSERT(data != nullptr); // Thread that is requesting to be blocked
- ASSERT(m_lock.is_locked());
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Queue);
+ VERIFY(data != nullptr); // Thread that is requesting to be blocked
+ VERIFY(m_lock.is_locked());
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Queue);
if (m_wake_requested || !m_should_block) {
m_wake_requested = false;
dbgln_if(WAITQUEUE_DEBUG, "WaitQueue @ {}: do not block thread {}, {}", this, data, m_should_block ? "wake was pending" : "not blocking");
@@ -50,8 +50,8 @@ u32 WaitQueue::wake_one()
ScopedSpinLock lock(m_lock);
dbgln_if(WAITQUEUE_DEBUG, "WaitQueue @ {}: wake_one", this);
bool did_unblock_one = do_unblock([&](Thread::Blocker& b, void* data, bool& stop_iterating) {
- ASSERT(data);
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Queue);
+ VERIFY(data);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Queue);
auto& blocker = static_cast<Thread::QueueBlocker&>(b);
dbgln_if(WAITQUEUE_DEBUG, "WaitQueue @ {}: wake_one unblocking {}", this, data);
if (blocker.unblock()) {
@@ -75,11 +75,11 @@ u32 WaitQueue::wake_n(u32 wake_count)
u32 did_wake = 0;
bool did_unblock_some = do_unblock([&](Thread::Blocker& b, void* data, bool& stop_iterating) {
- ASSERT(data);
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Queue);
+ VERIFY(data);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Queue);
auto& blocker = static_cast<Thread::QueueBlocker&>(b);
dbgln_if(WAITQUEUE_DEBUG, "WaitQueue @ {}: wake_n unblocking {}", this, data);
- ASSERT(did_wake < wake_count);
+ VERIFY(did_wake < wake_count);
if (blocker.unblock()) {
if (++did_wake >= wake_count)
stop_iterating = true;
@@ -100,8 +100,8 @@ u32 WaitQueue::wake_all()
u32 did_wake = 0;
bool did_unblock_any = do_unblock([&](Thread::Blocker& b, void* data, bool&) {
- ASSERT(data);
- ASSERT(b.blocker_type() == Thread::Blocker::Type::Queue);
+ VERIFY(data);
+ VERIFY(b.blocker_type() == Thread::Blocker::Type::Queue);
auto& blocker = static_cast<Thread::QueueBlocker&>(b);
dbgln_if(WAITQUEUE_DEBUG, "WaitQueue @ {}: wake_all unblocking {}", this, data);
diff --git a/Kernel/init.cpp b/Kernel/init.cpp
index da56ae12db..65cb35b852 100644
--- a/Kernel/init.cpp
+++ b/Kernel/init.cpp
@@ -141,8 +141,8 @@ extern "C" UNMAP_AFTER_INIT [[noreturn]] void init()
MemoryManager::initialize(0);
// Ensure that the safemem sections are not empty. This could happen if the linker accidentally discards the sections.
- ASSERT(&start_of_safemem_text != &end_of_safemem_text);
- ASSERT(&start_of_safemem_atomic_text != &end_of_safemem_atomic_text);
+ VERIFY(&start_of_safemem_text != &end_of_safemem_text);
+ VERIFY(&start_of_safemem_atomic_text != &end_of_safemem_atomic_text);
// Invoke all static global constructors in the kernel.
// Note that we want to do this as early as possible.
@@ -190,7 +190,7 @@ extern "C" UNMAP_AFTER_INIT [[noreturn]] void init()
}
Scheduler::start();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
//
@@ -208,7 +208,7 @@ extern "C" UNMAP_AFTER_INIT [[noreturn]] void init_ap(u32 cpu, Processor* proces
Scheduler::set_idle_thread(APIC::the().get_idle_thread(cpu));
Scheduler::start();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
//
@@ -322,7 +322,7 @@ void init_stage2(void*)
NetworkTask::spawn();
Process::current()->sys$exit(0);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
UNMAP_AFTER_INIT void setup_serial_debug()
diff --git a/Meta/Lagom/Fuzzers/FuzzHttpRequest.cpp b/Meta/Lagom/Fuzzers/FuzzHttpRequest.cpp
index 78620d8cdb..52fbdc889e 100644
--- a/Meta/Lagom/Fuzzers/FuzzHttpRequest.cpp
+++ b/Meta/Lagom/Fuzzers/FuzzHttpRequest.cpp
@@ -35,7 +35,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
return 1;
auto request = request_wrapper.value();
- ASSERT(request.method() != HTTP::HttpRequest::Method::Invalid);
+ VERIFY(request.method() != HTTP::HttpRequest::Method::Invalid);
return 0;
}
diff --git a/Meta/Lagom/Fuzzers/FuzzilliJs.cpp b/Meta/Lagom/Fuzzers/FuzzilliJs.cpp
index b06be95c7b..a23ac72225 100644
--- a/Meta/Lagom/Fuzzers/FuzzilliJs.cpp
+++ b/Meta/Lagom/Fuzzers/FuzzilliJs.cpp
@@ -173,7 +173,7 @@ JS_DEFINE_NATIVE_FUNCTION(TestRunnerGlobalObject::fuzzilli)
*((int*)0x41414141) = 0x1337;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
} else if (operation == "FUZZILLI_PRINT") {
@@ -206,28 +206,28 @@ int main(int, char**)
char helo[] = "HELO";
if (write(REPRL_CWFD, helo, 4) != 4 || read(REPRL_CRFD, helo, 4) != 4) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
- ASSERT(memcmp(helo, "HELO", 4) == 0);
+ VERIFY(memcmp(helo, "HELO", 4) == 0);
reprl_input = (char*)mmap(0, REPRL_MAX_DATA_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, REPRL_DRFD, 0);
- ASSERT(reprl_input != MAP_FAILED);
+ VERIFY(reprl_input != MAP_FAILED);
auto vm = JS::VM::create();
auto interpreter = JS::Interpreter::create<TestRunnerGlobalObject>(*vm);
while (true) {
unsigned action;
- ASSERT(read(REPRL_CRFD, &action, 4) == 4);
- ASSERT(action == 'cexe');
+ VERIFY(read(REPRL_CRFD, &action, 4) == 4);
+ VERIFY(action == 'cexe');
size_t script_size;
- ASSERT(read(REPRL_CRFD, &script_size, 8) == 8);
- ASSERT(script_size < REPRL_MAX_DATA_SIZE);
+ VERIFY(read(REPRL_CRFD, &script_size, 8) == 8);
+ VERIFY(script_size < REPRL_MAX_DATA_SIZE);
ByteBuffer data_buffer;
if (data_buffer.size() < script_size)
data_buffer.grow(script_size - data_buffer.size());
- ASSERT(data_buffer.size() >= script_size);
+ VERIFY(data_buffer.size() >= script_size);
memcpy(data_buffer.data(), reprl_input, script_size);
int result = 0;
@@ -251,7 +251,7 @@ int main(int, char**)
fflush(stderr);
int status = (result & 0xff) << 8;
- ASSERT(write(REPRL_CWFD, &status, 4) == 4);
+ VERIFY(write(REPRL_CWFD, &status, 4) == 4);
__sanitizer_cov_reset_edgeguards();
}
diff --git a/Meta/Lagom/TestJson.cpp b/Meta/Lagom/TestJson.cpp
index e149daddf6..293069e4c2 100644
--- a/Meta/Lagom/TestJson.cpp
+++ b/Meta/Lagom/TestJson.cpp
@@ -31,7 +31,7 @@
int main(int, char**)
{
auto value = JsonValue::from_string("{\"property\": \"value\"}");
- ASSERT(value.has_value());
+ VERIFY(value.has_value());
printf("parsed: _%s_\n", value.value().to_string().characters());
printf("object.property = '%s'\n", value.value().as_object().get("property").to_string().characters());
return 0;
diff --git a/Userland/Applications/Browser/DownloadWidget.cpp b/Userland/Applications/Browser/DownloadWidget.cpp
index 85482f4a23..3f4acbd57c 100644
--- a/Userland/Applications/Browser/DownloadWidget.cpp
+++ b/Userland/Applications/Browser/DownloadWidget.cpp
@@ -57,7 +57,7 @@ DownloadWidget::DownloadWidget(const URL& url)
m_elapsed_timer.start();
m_download = Web::ResourceLoader::the().protocol_client().start_download("GET", url.to_string());
- ASSERT(m_download);
+ VERIFY(m_download);
m_download->on_progress = [this](Optional<u32> total_size, u32 downloaded_size) {
did_progress(total_size.value(), downloaded_size);
};
@@ -109,7 +109,7 @@ DownloadWidget::DownloadWidget(const URL& url)
m_cancel_button->set_fixed_size(100, 22);
m_cancel_button->on_click = [this](auto) {
bool success = m_download->stop();
- ASSERT(success);
+ VERIFY(success);
window()->close();
};
diff --git a/Userland/Applications/Browser/History.cpp b/Userland/Applications/Browser/History.cpp
index cecf28477c..9bc6608736 100644
--- a/Userland/Applications/Browser/History.cpp
+++ b/Userland/Applications/Browser/History.cpp
@@ -54,13 +54,13 @@ URL History::current() const
void History::go_back()
{
- ASSERT(can_go_back());
+ VERIFY(can_go_back());
m_current--;
}
void History::go_forward()
{
- ASSERT(can_go_forward());
+ VERIFY(can_go_forward());
m_current++;
}
diff --git a/Userland/Applications/Browser/Tab.cpp b/Userland/Applications/Browser/Tab.cpp
index 984882d2d9..e150fe38bf 100644
--- a/Userland/Applications/Browser/Tab.cpp
+++ b/Userland/Applications/Browser/Tab.cpp
@@ -318,7 +318,7 @@ Tab::Tab(Type type)
auto view_source_action = GUI::Action::create(
"View source", { Mod_Ctrl, Key_U }, [this](auto&) {
if (m_type == Type::InProcessWebView) {
- ASSERT(m_page_view->document());
+ VERIFY(m_page_view->document());
auto url = m_page_view->document()->url().to_string();
auto source = m_page_view->document()->source();
view_source(url, source);
diff --git a/Userland/Applications/Browser/WindowActions.cpp b/Userland/Applications/Browser/WindowActions.cpp
index ca0b12bd84..35eb205c1c 100644
--- a/Userland/Applications/Browser/WindowActions.cpp
+++ b/Userland/Applications/Browser/WindowActions.cpp
@@ -35,13 +35,13 @@ static WindowActions* s_the;
WindowActions& WindowActions::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
WindowActions::WindowActions(GUI::Window& window)
{
- ASSERT(!s_the);
+ VERIFY(!s_the);
s_the = this;
m_create_new_tab_action = GUI::Action::create(
"New tab", { Mod_Ctrl, Key_T }, Gfx::Bitmap::load_from_file("/res/icons/16x16/new-tab.png"), [this](auto&) {
diff --git a/Userland/Applications/Browser/main.cpp b/Userland/Applications/Browser/main.cpp
index c79eeefad9..0440597cae 100644
--- a/Userland/Applications/Browser/main.cpp
+++ b/Userland/Applications/Browser/main.cpp
@@ -158,7 +158,7 @@ int main(int argc, char** argv)
auto& tab_widget = *widget.find_descendant_of_type_named<GUI::TabWidget>("tab_widget");
auto default_favicon = Gfx::Bitmap::load_from_file("/res/icons/16x16/filetype-html.png");
- ASSERT(default_favicon);
+ VERIFY(default_favicon);
tab_widget.on_change = [&](auto& active_widget) {
auto& tab = static_cast<Browser::Tab&>(active_widget);
diff --git a/Userland/Applications/Calculator/Calculator.cpp b/Userland/Applications/Calculator/Calculator.cpp
index c324fb84b9..89e29e2b01 100644
--- a/Userland/Applications/Calculator/Calculator.cpp
+++ b/Userland/Applications/Calculator/Calculator.cpp
@@ -42,7 +42,7 @@ double Calculator::begin_operation(Operation operation, double argument)
switch (operation) {
case Operation::None:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case Operation::Add:
case Operation::Subtract:
@@ -128,7 +128,7 @@ double Calculator::finish_operation(double argument)
case Operation::MemRecall:
case Operation::MemSave:
case Operation::MemAdd:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
clear_operation();
diff --git a/Userland/Applications/Calculator/Keypad.cpp b/Userland/Applications/Calculator/Keypad.cpp
index 582c6fc14f..559981e03b 100644
--- a/Userland/Applications/Calculator/Keypad.cpp
+++ b/Userland/Applications/Calculator/Keypad.cpp
@@ -47,8 +47,8 @@ void Keypad::type_digit(int digit)
m_frac_length = 0;
break;
case State::TypingInteger:
- ASSERT(m_frac_value == 0);
- ASSERT(m_frac_length == 0);
+ VERIFY(m_frac_value == 0);
+ VERIFY(m_frac_length == 0);
m_int_value *= 10;
m_int_value += digit;
break;
@@ -72,8 +72,8 @@ void Keypad::type_decimal_point()
m_frac_length = 0;
break;
case State::TypingInteger:
- ASSERT(m_frac_value == 0);
- ASSERT(m_frac_length == 0);
+ VERIFY(m_frac_value == 0);
+ VERIFY(m_frac_length == 0);
m_state = State::TypingDecimal;
break;
case State::TypingDecimal:
@@ -97,12 +97,12 @@ void Keypad::type_backspace()
m_frac_length--;
break;
}
- ASSERT(m_frac_value == 0);
+ VERIFY(m_frac_value == 0);
m_state = State::TypingInteger;
[[fallthrough]];
case State::TypingInteger:
- ASSERT(m_frac_value == 0);
- ASSERT(m_frac_length == 0);
+ VERIFY(m_frac_value == 0);
+ VERIFY(m_frac_length == 0);
m_int_value /= 10;
if (m_int_value == 0)
m_negative = false;
diff --git a/Userland/Applications/Calendar/AddEventDialog.cpp b/Userland/Applications/Calendar/AddEventDialog.cpp
index dbb70d33c1..84937840b3 100644
--- a/Userland/Applications/Calendar/AddEventDialog.cpp
+++ b/Userland/Applications/Calendar/AddEventDialog.cpp
@@ -135,7 +135,7 @@ String AddEventDialog::MonthListModel::column_name(int column) const
case Column::Month:
return "Month";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -147,7 +147,7 @@ GUI::Variant AddEventDialog::MonthListModel::data(const GUI::ModelIndex& index,
case Column::Month:
return month;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
return {};
diff --git a/Userland/Applications/Debugger/main.cpp b/Userland/Applications/Debugger/main.cpp
index 145f71a995..aab45b43e8 100644
--- a/Userland/Applications/Debugger/main.cpp
+++ b/Userland/Applications/Debugger/main.cpp
@@ -227,7 +227,7 @@ int main(int argc, char** argv)
return Debug::DebugSession::DebugDecision::Detach;
}
- ASSERT(optional_regs.has_value());
+ VERIFY(optional_regs.has_value());
const PtraceRegisters& regs = optional_regs.value();
auto symbol_at_ip = g_debug_session->symbolicate(regs.eip);
diff --git a/Userland/Applications/DisplaySettings/MonitorWidget.cpp b/Userland/Applications/DisplaySettings/MonitorWidget.cpp
index f553fc49b6..db60aa3233 100644
--- a/Userland/Applications/DisplaySettings/MonitorWidget.cpp
+++ b/Userland/Applications/DisplaySettings/MonitorWidget.cpp
@@ -100,7 +100,7 @@ void MonitorWidget::paint_event(GUI::PaintEvent& event)
} else if (m_desktop_wallpaper_mode == "stretch") {
screen_painter.draw_scaled_bitmap(screen_bitmap->rect(), *m_desktop_wallpaper_bitmap, m_desktop_wallpaper_bitmap->rect());
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Applications/FileManager/DirectoryView.cpp b/Userland/Applications/FileManager/DirectoryView.cpp
index 2dbcd68b54..39cc184f6c 100644
--- a/Userland/Applications/FileManager/DirectoryView.cpp
+++ b/Userland/Applications/FileManager/DirectoryView.cpp
@@ -333,7 +333,7 @@ void DirectoryView::set_view_mode(ViewMode mode)
set_active_widget(m_icon_view);
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void DirectoryView::add_path_to_history(const StringView& path)
@@ -479,7 +479,7 @@ Vector<String> DirectoryView::selected_file_paths() const
void DirectoryView::do_delete(bool should_confirm)
{
auto paths = selected_file_paths();
- ASSERT(!paths.is_empty());
+ VERIFY(!paths.is_empty());
FileUtils::delete_paths(paths, should_confirm, window());
}
@@ -531,7 +531,7 @@ void DirectoryView::setup_actions()
return;
}
rc = close(fd);
- ASSERT(rc >= 0);
+ VERIFY(rc >= 0);
}
});
diff --git a/Userland/Applications/FileManager/DirectoryView.h b/Userland/Applications/FileManager/DirectoryView.h
index a72b63aaf5..b4121e01e4 100644
--- a/Userland/Applications/FileManager/DirectoryView.h
+++ b/Userland/Applications/FileManager/DirectoryView.h
@@ -107,7 +107,7 @@ public:
case ViewMode::Icon:
return *m_icon_view;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Applications/FileManager/PropertiesWindow.cpp b/Userland/Applications/FileManager/PropertiesWindow.cpp
index 04603268c4..53c86f425e 100644
--- a/Userland/Applications/FileManager/PropertiesWindow.cpp
+++ b/Userland/Applications/FileManager/PropertiesWindow.cpp
@@ -47,7 +47,7 @@ PropertiesWindow::PropertiesWindow(const String& path, bool disable_rename, Wind
: Window(parent_window)
{
auto lexical_path = LexicalPath(path);
- ASSERT(lexical_path.is_valid());
+ VERIFY(lexical_path.is_valid());
auto& main_widget = set_main_widget<GUI::Widget>();
main_widget.set_layout<GUI::VerticalBoxLayout>();
@@ -122,7 +122,7 @@ PropertiesWindow::PropertiesWindow(const String& path, bool disable_rename, Wind
perror("readlink");
} else {
auto link_directory = LexicalPath(link_destination);
- ASSERT(link_directory.is_valid());
+ VERIFY(link_directory.is_valid());
auto link_parent = URL::create_with_file_protocol(link_directory.dirname());
properties.append({ "Link target:", link_destination, Optional(link_parent) });
}
diff --git a/Userland/Applications/FileManager/main.cpp b/Userland/Applications/FileManager/main.cpp
index 568ef53f94..a9a1200794 100644
--- a/Userland/Applications/FileManager/main.cpp
+++ b/Userland/Applications/FileManager/main.cpp
@@ -130,7 +130,7 @@ int main(int argc, char** argv)
void do_copy(const Vector<String>& selected_file_paths, FileUtils::FileOperation file_operation)
{
if (selected_file_paths.is_empty())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
StringBuilder copy_text;
if (file_operation == FileUtils::FileOperation::Cut) {
@@ -227,7 +227,7 @@ int run_in_desktop_mode([[maybe_unused]] RefPtr<Core::ConfigFile> config)
auto paths = directory_view.selected_file_paths();
if (paths.is_empty())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
do_copy(paths, FileUtils::FileOperation::Copy);
},
@@ -239,7 +239,7 @@ int run_in_desktop_mode([[maybe_unused]] RefPtr<Core::ConfigFile> config)
auto paths = directory_view.selected_file_paths();
if (paths.is_empty())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
do_copy(paths, FileUtils::FileOperation::Cut);
},
@@ -539,7 +539,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
paths = tree_view_selected_file_paths();
if (paths.is_empty())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
do_copy(paths, FileUtils::FileOperation::Copy);
refresh_tree_view();
@@ -555,7 +555,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
paths = tree_view_selected_file_paths();
if (paths.is_empty())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
do_copy(paths, FileUtils::FileOperation::Cut);
refresh_tree_view();
diff --git a/Userland/Applications/Help/History.cpp b/Userland/Applications/Help/History.cpp
index bb4c822dcb..beb26beac3 100644
--- a/Userland/Applications/Help/History.cpp
+++ b/Userland/Applications/Help/History.cpp
@@ -42,13 +42,13 @@ String History::current()
void History::go_back()
{
- ASSERT(can_go_back());
+ VERIFY(can_go_back());
m_current_history_item--;
}
void History::go_forward()
{
- ASSERT(can_go_forward());
+ VERIFY(can_go_forward());
m_current_history_item++;
}
diff --git a/Userland/Applications/Help/ManualModel.cpp b/Userland/Applications/Help/ManualModel.cpp
index 18e22979b1..8d5ca7eb7c 100644
--- a/Userland/Applications/Help/ManualModel.cpp
+++ b/Userland/Applications/Help/ManualModel.cpp
@@ -134,14 +134,14 @@ GUI::ModelIndex ManualModel::parent_index(const GUI::ModelIndex& index) const
for (size_t row = 0; row < sizeof(s_sections) / sizeof(s_sections[0]); row++)
if (&s_sections[row] == parent)
return create_index(row, 0, parent);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
for (size_t row = 0; row < parent->parent()->children().size(); row++) {
ManualNode* child_at_row = &parent->parent()->children()[row];
if (child_at_row == parent)
return create_index(row, 0, parent);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int ManualModel::row_count(const GUI::ModelIndex& index) const
diff --git a/Userland/Applications/Help/main.cpp b/Userland/Applications/Help/main.cpp
index f6bf6adc75..02089b1d59 100644
--- a/Userland/Applications/Help/main.cpp
+++ b/Userland/Applications/Help/main.cpp
@@ -167,7 +167,7 @@ int main(int argc, char* argv[])
String html;
{
auto md_document = Markdown::Document::parse(source);
- ASSERT(md_document);
+ VERIFY(md_document);
html = md_document->render_to_html();
}
diff --git a/Userland/Applications/HexEditor/FindDialog.cpp b/Userland/Applications/HexEditor/FindDialog.cpp
index 5c52f5738b..b24cc02660 100644
--- a/Userland/Applications/HexEditor/FindDialog.cpp
+++ b/Userland/Applications/HexEditor/FindDialog.cpp
@@ -101,7 +101,7 @@ Result<ByteBuffer, String> FindDialog::process_input(String text_value, OptionId
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Applications/HexEditor/HexEditor.cpp b/Userland/Applications/HexEditor/HexEditor.cpp
index a4652866c1..392ddb2d4b 100644
--- a/Userland/Applications/HexEditor/HexEditor.cpp
+++ b/Userland/Applications/HexEditor/HexEditor.cpp
@@ -418,8 +418,8 @@ void HexEditor::hex_mode_keydown_event(GUI::KeyEvent& event)
if ((event.key() >= KeyCode::Key_0 && event.key() <= KeyCode::Key_9) || (event.key() >= KeyCode::Key_A && event.key() <= KeyCode::Key_F)) {
if (m_buffer.is_empty())
return;
- ASSERT(m_position >= 0);
- ASSERT(m_position < static_cast<int>(m_buffer.size()));
+ VERIFY(m_position >= 0);
+ VERIFY(m_position < static_cast<int>(m_buffer.size()));
// yes, this is terrible... but it works.
auto value = (event.key() >= KeyCode::Key_0 && event.key() <= KeyCode::Key_9)
@@ -447,8 +447,8 @@ void HexEditor::text_mode_keydown_event(GUI::KeyEvent& event)
{
if (m_buffer.is_empty())
return;
- ASSERT(m_position >= 0);
- ASSERT(m_position < static_cast<int>(m_buffer.size()));
+ VERIFY(m_position >= 0);
+ VERIFY(m_position < static_cast<int>(m_buffer.size()));
if (event.code_point() == 0) // This is a control key
return;
diff --git a/Userland/Applications/IRCClient/IRCAppWindow.cpp b/Userland/Applications/IRCClient/IRCAppWindow.cpp
index 726bba39b4..4e9706da15 100644
--- a/Userland/Applications/IRCClient/IRCAppWindow.cpp
+++ b/Userland/Applications/IRCClient/IRCAppWindow.cpp
@@ -50,7 +50,7 @@ IRCAppWindow& IRCAppWindow::the()
IRCAppWindow::IRCAppWindow(String server, int port)
: m_client(IRCClient::construct(server, port))
{
- ASSERT(!s_the);
+ VERIFY(!s_the);
s_the = this;
set_icon(Gfx::Bitmap::load_from_file("/res/icons/16x16/app-irc-client.png"));
@@ -100,7 +100,7 @@ void IRCAppWindow::setup_client()
}
update_title();
bool success = m_client->connect();
- ASSERT(success);
+ VERIFY(success);
}
void IRCAppWindow::setup_actions()
diff --git a/Userland/Applications/IRCClient/IRCChannelMemberListModel.cpp b/Userland/Applications/IRCClient/IRCChannelMemberListModel.cpp
index 22cdcd710f..d39a952681 100644
--- a/Userland/Applications/IRCClient/IRCChannelMemberListModel.cpp
+++ b/Userland/Applications/IRCClient/IRCChannelMemberListModel.cpp
@@ -54,7 +54,7 @@ String IRCChannelMemberListModel::column_name(int column) const
case Column::Name:
return "Name";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
GUI::Variant IRCChannelMemberListModel::data(const GUI::ModelIndex& index, GUI::ModelRole role) const
diff --git a/Userland/Applications/IRCClient/IRCClient.cpp b/Userland/Applications/IRCClient/IRCClient.cpp
index ef8338b9a1..2eb7c03705 100644
--- a/Userland/Applications/IRCClient/IRCClient.cpp
+++ b/Userland/Applications/IRCClient/IRCClient.cpp
@@ -116,7 +116,7 @@ void IRCClient::on_socket_connected()
bool IRCClient::connect()
{
if (m_socket->is_connected())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
m_socket->on_connected = [this] { on_socket_connected(); };
@@ -132,7 +132,7 @@ void IRCClient::receive_from_server()
outln("IRCClient: Connection closed!");
exit(1);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
process_line(line);
}
diff --git a/Userland/Applications/IRCClient/IRCClient.h b/Userland/Applications/IRCClient/IRCClient.h
index 06f7e59289..f009743323 100644
--- a/Userland/Applications/IRCClient/IRCClient.h
+++ b/Userland/Applications/IRCClient/IRCClient.h
@@ -102,7 +102,7 @@ public:
if (m_windows[i] == &window)
return i;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void did_part_from_channel(Badge<IRCChannel>, IRCChannel&);
diff --git a/Userland/Applications/IRCClient/IRCWindowListModel.cpp b/Userland/Applications/IRCClient/IRCWindowListModel.cpp
index 7ee68c429e..11cd37eee9 100644
--- a/Userland/Applications/IRCClient/IRCWindowListModel.cpp
+++ b/Userland/Applications/IRCClient/IRCWindowListModel.cpp
@@ -53,7 +53,7 @@ String IRCWindowListModel::column_name(int column) const
case Column::Name:
return "Name";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
GUI::Variant IRCWindowListModel::data(const GUI::ModelIndex& index, GUI::ModelRole role) const
diff --git a/Userland/Applications/KeyboardMapper/KeyboardMapperWidget.cpp b/Userland/Applications/KeyboardMapper/KeyboardMapperWidget.cpp
index 180b2a4837..e3ef6cd259 100644
--- a/Userland/Applications/KeyboardMapper/KeyboardMapperWidget.cpp
+++ b/Userland/Applications/KeyboardMapper/KeyboardMapperWidget.cpp
@@ -69,10 +69,10 @@ void KeyboardMapperWidget::create_frame()
String value;
if (GUI::InputBox::show(window(), value, "New Character:", "Select Character") == GUI::InputBox::ExecOK) {
int i = m_keys.find_first_index(&tmp_button).value_or(0);
- ASSERT(i > 0);
+ VERIFY(i > 0);
auto index = keys[i].map_index;
- ASSERT(index > 0);
+ VERIFY(index > 0);
tmp_button.set_text(value);
u32* map;
@@ -88,7 +88,7 @@ void KeyboardMapperWidget::create_frame()
} else if (m_current_map_name == "shift_altgr_map") {
map = m_character_map.shift_altgr_map;
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (value.length() == 0)
@@ -146,7 +146,7 @@ void KeyboardMapperWidget::create_frame()
void KeyboardMapperWidget::load_from_file(String file_name)
{
auto result = Keyboard::CharacterMapFile::load_from_file(file_name);
- ASSERT(result.has_value());
+ VERIFY(result.has_value());
m_file_name = file_name;
m_character_map = result.value();
@@ -163,7 +163,7 @@ void KeyboardMapperWidget::load_from_file(String file_name)
void KeyboardMapperWidget::load_from_system()
{
auto result = Keyboard::CharacterMap::fetch_system_map();
- ASSERT(!result.is_error());
+ VERIFY(!result.is_error());
m_file_name = String::formatted("/res/keymaps/{}.json", result.value().character_map_name());
m_character_map = result.value().character_map_data();
@@ -274,7 +274,7 @@ void KeyboardMapperWidget::set_current_map(const String current_map)
} else if (m_current_map_name == "shift_altgr_map") {
map = m_character_map.shift_altgr_map;
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
for (unsigned k = 0; k < KEY_COUNT; k++) {
diff --git a/Userland/Applications/KeyboardSettings/CharacterMapFileListModel.h b/Userland/Applications/KeyboardSettings/CharacterMapFileListModel.h
index 4fcd1d8123..5c5c6cb8b1 100644
--- a/Userland/Applications/KeyboardSettings/CharacterMapFileListModel.h
+++ b/Userland/Applications/KeyboardSettings/CharacterMapFileListModel.h
@@ -50,8 +50,8 @@ public:
virtual GUI::Variant data(const GUI::ModelIndex& index, GUI::ModelRole role) const override
{
- ASSERT(index.is_valid());
- ASSERT(index.column() == 0);
+ VERIFY(index.is_valid());
+ VERIFY(index.column() == 0);
if (role == GUI::ModelRole::Display)
return m_file_names.at(index.row());
diff --git a/Userland/Applications/KeyboardSettings/main.cpp b/Userland/Applications/KeyboardSettings/main.cpp
index fd372cf433..cc099d598a 100644
--- a/Userland/Applications/KeyboardSettings/main.cpp
+++ b/Userland/Applications/KeyboardSettings/main.cpp
@@ -82,12 +82,12 @@ int main(int argc, char** argv)
auto proc_keymap = Core::File::construct("/proc/keymap");
if (!proc_keymap->open(Core::IODevice::OpenMode::ReadOnly))
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
auto json = JsonValue::from_string(proc_keymap->read_all());
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
JsonObject keymap_object = json.value().as_object();
- ASSERT(keymap_object.has("keymap"));
+ VERIFY(keymap_object.has("keymap"));
String current_keymap = keymap_object.get("keymap").to_string();
dbgln("KeyboardSettings thinks the current keymap is: {}", current_keymap);
@@ -110,7 +110,7 @@ int main(int argc, char** argv)
if (character_map_files[i].equals_ignoring_case(current_keymap))
initial_keymap_index = i;
}
- ASSERT(initial_keymap_index < character_map_files.size());
+ VERIFY(initial_keymap_index < character_map_files.size());
auto window = GUI::Window::construct();
window->set_title("Keyboard Settings");
diff --git a/Userland/Applications/Piano/KeysWidget.cpp b/Userland/Applications/Piano/KeysWidget.cpp
index 65fcdc39b5..4d5079c276 100644
--- a/Userland/Applications/Piano/KeysWidget.cpp
+++ b/Userland/Applications/Piano/KeysWidget.cpp
@@ -58,7 +58,7 @@ void KeysWidget::set_key(int key, Switch switch_key)
if (m_key_on[key] >= 1)
--m_key_on[key];
}
- ASSERT(m_key_on[key] <= 2);
+ VERIFY(m_key_on[key] <= 2);
m_track_manager.set_note_current_octave(key, switch_key);
}
diff --git a/Userland/Applications/Piano/KnobsWidget.cpp b/Userland/Applications/Piano/KnobsWidget.cpp
index 4b9e4360c2..1989247293 100644
--- a/Userland/Applications/Piano/KnobsWidget.cpp
+++ b/Userland/Applications/Piano/KnobsWidget.cpp
@@ -82,7 +82,7 @@ KnobsWidget::KnobsWidget(TrackManager& track_manager, MainWidget& main_widget)
int new_octave = octave_max - value;
if (m_change_underlying)
m_main_widget.set_octave_and_ensure_note_change(new_octave);
- ASSERT(new_octave == m_track_manager.octave());
+ VERIFY(new_octave == m_track_manager.octave());
m_octave_value->set_text(String::number(new_octave));
};
@@ -94,7 +94,7 @@ KnobsWidget::KnobsWidget(TrackManager& track_manager, MainWidget& main_widget)
int new_wave = last_wave - value;
if (m_change_underlying)
m_track_manager.current_track().set_wave(new_wave);
- ASSERT(new_wave == m_track_manager.current_track().wave());
+ VERIFY(new_wave == m_track_manager.current_track().wave());
m_wave_value->set_text(wave_strings[new_wave]);
};
@@ -106,7 +106,7 @@ KnobsWidget::KnobsWidget(TrackManager& track_manager, MainWidget& main_widget)
int new_attack = max_attack - value;
if (m_change_underlying)
m_track_manager.current_track().set_attack(new_attack);
- ASSERT(new_attack == m_track_manager.current_track().attack());
+ VERIFY(new_attack == m_track_manager.current_track().attack());
m_attack_value->set_text(String::number(new_attack));
};
@@ -118,7 +118,7 @@ KnobsWidget::KnobsWidget(TrackManager& track_manager, MainWidget& main_widget)
int new_decay = max_decay - value;
if (m_change_underlying)
m_track_manager.current_track().set_decay(new_decay);
- ASSERT(new_decay == m_track_manager.current_track().decay());
+ VERIFY(new_decay == m_track_manager.current_track().decay());
m_decay_value->set_text(String::number(new_decay));
};
@@ -130,7 +130,7 @@ KnobsWidget::KnobsWidget(TrackManager& track_manager, MainWidget& main_widget)
int new_sustain = max_sustain - value;
if (m_change_underlying)
m_track_manager.current_track().set_sustain(new_sustain);
- ASSERT(new_sustain == m_track_manager.current_track().sustain());
+ VERIFY(new_sustain == m_track_manager.current_track().sustain());
m_sustain_value->set_text(String::number(new_sustain));
};
@@ -142,7 +142,7 @@ KnobsWidget::KnobsWidget(TrackManager& track_manager, MainWidget& main_widget)
int new_release = max_release - value;
if (m_change_underlying)
m_track_manager.current_track().set_release(new_release);
- ASSERT(new_release == m_track_manager.current_track().release());
+ VERIFY(new_release == m_track_manager.current_track().release());
m_release_value->set_text(String::number(new_release));
};
@@ -153,7 +153,7 @@ KnobsWidget::KnobsWidget(TrackManager& track_manager, MainWidget& main_widget)
int new_delay = max_delay - value;
if (m_change_underlying)
m_track_manager.current_track().set_delay(new_delay);
- ASSERT(new_delay == m_track_manager.current_track().delay());
+ VERIFY(new_delay == m_track_manager.current_track().delay());
m_delay_value->set_text(String::number(new_delay));
};
}
diff --git a/Userland/Applications/Piano/Track.cpp b/Userland/Applications/Piano/Track.cpp
index 61d4351d06..b560889339 100644
--- a/Userland/Applications/Piano/Track.cpp
+++ b/Userland/Applications/Piano/Track.cpp
@@ -83,7 +83,7 @@ void Track::fill_sample(Sample& sample)
}
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Audio::Sample note_sample;
@@ -107,7 +107,7 @@ void Track::fill_sample(Sample& sample)
note_sample = recorded_sample(note);
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
new_sample.left += note_sample.left * m_power[note] * volume;
new_sample.right += note_sample.right * m_power[note] * volume;
@@ -242,7 +242,7 @@ static inline double calculate_step(double distance, int milliseconds)
void Track::set_note(int note, Switch switch_note)
{
- ASSERT(note >= 0 && note < note_count);
+ VERIFY(note >= 0 && note < note_count);
if (switch_note == On) {
if (m_note_on[note] == 0) {
@@ -260,8 +260,8 @@ void Track::set_note(int note, Switch switch_note)
}
}
- ASSERT(m_note_on[note] != NumericLimits<u8>::max());
- ASSERT(m_power[note] >= 0);
+ VERIFY(m_note_on[note] != NumericLimits<u8>::max());
+ VERIFY(m_power[note] >= 0);
}
void Track::sync_roll(int note)
@@ -277,9 +277,9 @@ void Track::set_roll_note(int note, u32 on_sample, u32 off_sample)
{
RollNote new_roll_note = { on_sample, off_sample };
- ASSERT(note >= 0 && note < note_count);
- ASSERT(new_roll_note.off_sample < roll_length);
- ASSERT(new_roll_note.length() >= 2);
+ VERIFY(note >= 0 && note < note_count);
+ VERIFY(new_roll_note.off_sample < roll_length);
+ VERIFY(new_roll_note.length() >= 2);
for (auto it = m_roll_notes[note].begin(); !it.is_end();) {
if (it->on_sample > new_roll_note.off_sample) {
@@ -310,7 +310,7 @@ void Track::set_roll_note(int note, u32 on_sample, u32 off_sample)
void Track::set_wave(int wave)
{
- ASSERT(wave >= first_wave && wave <= last_wave);
+ VERIFY(wave >= first_wave && wave <= last_wave);
m_wave = wave;
}
@@ -327,21 +327,21 @@ void Track::set_wave(Direction direction)
void Track::set_attack(int attack)
{
- ASSERT(attack >= 0);
+ VERIFY(attack >= 0);
m_attack = attack;
m_attack_step = calculate_step(1, m_attack);
}
void Track::set_decay(int decay)
{
- ASSERT(decay >= 0);
+ VERIFY(decay >= 0);
m_decay = decay;
m_decay_step = calculate_step(1 - m_sustain_level, m_decay);
}
void Track::set_sustain_impl(int sustain)
{
- ASSERT(sustain >= 0);
+ VERIFY(sustain >= 0);
m_sustain = sustain;
m_sustain_level = sustain / 1000.0;
}
@@ -354,13 +354,13 @@ void Track::set_sustain(int sustain)
void Track::set_release(int release)
{
- ASSERT(release >= 0);
+ VERIFY(release >= 0);
m_release = release;
}
void Track::set_delay(int delay)
{
- ASSERT(delay >= 0);
+ VERIFY(delay >= 0);
m_delay = delay;
m_delay_samples = m_delay == 0 ? 0 : (sample_rate / (beats_per_minute / 60)) / m_delay;
m_delay_buffer.resize(m_delay_samples);
diff --git a/Userland/Applications/PixelPaint/BucketTool.cpp b/Userland/Applications/PixelPaint/BucketTool.cpp
index 6cffddac20..da788f3c8c 100644
--- a/Userland/Applications/PixelPaint/BucketTool.cpp
+++ b/Userland/Applications/PixelPaint/BucketTool.cpp
@@ -55,7 +55,7 @@ static float color_distance_squared(const Gfx::Color& lhs, const Gfx::Color& rhs
static void flood_fill(Gfx::Bitmap& bitmap, const Gfx::IntPoint& start_position, Color target_color, Color fill_color, int threshold)
{
- ASSERT(bitmap.bpp() == 32);
+ VERIFY(bitmap.bpp() == 32);
if (target_color == fill_color)
return;
diff --git a/Userland/Applications/PixelPaint/EllipseTool.cpp b/Userland/Applications/PixelPaint/EllipseTool.cpp
index 0501e2fb96..ec7a5f54d4 100644
--- a/Userland/Applications/PixelPaint/EllipseTool.cpp
+++ b/Userland/Applications/PixelPaint/EllipseTool.cpp
@@ -50,7 +50,7 @@ void EllipseTool::draw_using(GUI::Painter& painter, const Gfx::IntRect& ellipse_
painter.draw_ellipse_intersecting(ellipse_intersecting_rect, m_editor->color_for(m_drawing_button), m_thickness);
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Applications/PixelPaint/Image.cpp b/Userland/Applications/PixelPaint/Image.cpp
index 78eebc2b2d..248ccc1bb0 100644
--- a/Userland/Applications/PixelPaint/Image.cpp
+++ b/Userland/Applications/PixelPaint/Image.cpp
@@ -168,7 +168,7 @@ void Image::export_png(const String& file_path)
void Image::add_layer(NonnullRefPtr<Layer> layer)
{
for (auto& existing_layer : m_layers) {
- ASSERT(&existing_layer != layer.ptr());
+ VERIFY(&existing_layer != layer.ptr());
}
m_layers.append(move(layer));
@@ -206,7 +206,7 @@ size_t Image::index_of(const Layer& layer) const
if (&m_layers.at(i) == &layer)
return i;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Image::move_layer_to_back(Layer& layer)
@@ -255,8 +255,8 @@ void Image::move_layer_up(Layer& layer)
void Image::change_layer_index(size_t old_index, size_t new_index)
{
- ASSERT(old_index < m_layers.size());
- ASSERT(new_index < m_layers.size());
+ VERIFY(old_index < m_layers.size());
+ VERIFY(new_index < m_layers.size());
auto layer = m_layers.take(old_index);
m_layers.insert(new_index, move(layer));
did_modify_layer_stack();
@@ -290,13 +290,13 @@ void Image::select_layer(Layer* layer)
void Image::add_client(ImageClient& client)
{
- ASSERT(!m_clients.contains(&client));
+ VERIFY(!m_clients.contains(&client));
m_clients.set(&client);
}
void Image::remove_client(ImageClient& client)
{
- ASSERT(m_clients.contains(&client));
+ VERIFY(m_clients.contains(&client));
m_clients.remove(&client);
}
diff --git a/Userland/Applications/PixelPaint/ImageEditor.cpp b/Userland/Applications/PixelPaint/ImageEditor.cpp
index f29551c050..829210e39c 100644
--- a/Userland/Applications/PixelPaint/ImageEditor.cpp
+++ b/Userland/Applications/PixelPaint/ImageEditor.cpp
@@ -341,7 +341,7 @@ Color ImageEditor::color_for(GUI::MouseButton button) const
return m_primary_color;
if (button == GUI::MouseButton::Right)
return m_secondary_color;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Color ImageEditor::color_for(const GUI::MouseEvent& event) const
@@ -350,7 +350,7 @@ Color ImageEditor::color_for(const GUI::MouseEvent& event) const
return m_primary_color;
if (event.buttons() & GUI::MouseButton::Right)
return m_secondary_color;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void ImageEditor::set_primary_color(Color color)
diff --git a/Userland/Applications/PixelPaint/LayerListWidget.cpp b/Userland/Applications/PixelPaint/LayerListWidget.cpp
index 756772bb87..e12ac673a7 100644
--- a/Userland/Applications/PixelPaint/LayerListWidget.cpp
+++ b/Userland/Applications/PixelPaint/LayerListWidget.cpp
@@ -161,7 +161,7 @@ void LayerListWidget::mousemove_event(GUI::MouseEvent& event)
auto delta = event.position() - m_moving_event_origin;
auto& gadget = m_gadgets[m_moving_gadget_index.value()];
- ASSERT(gadget.is_moving);
+ VERIFY(gadget.is_moving);
gadget.movement_delta = delta;
relayout_gadgets();
}
@@ -221,7 +221,7 @@ static constexpr int vertical_step = gadget_height + gadget_spacing;
size_t LayerListWidget::hole_index_during_move() const
{
- ASSERT(is_moving_gadget());
+ VERIFY(is_moving_gadget());
auto& moving_gadget = m_gadgets[m_moving_gadget_index.value()];
int center_y_of_moving_gadget = moving_gadget.rect.translated(0, moving_gadget.movement_delta.y()).center().y();
return center_y_of_moving_gadget / vertical_step;
diff --git a/Userland/Applications/PixelPaint/RectangleTool.cpp b/Userland/Applications/PixelPaint/RectangleTool.cpp
index a5b023f18b..3ac941ba72 100644
--- a/Userland/Applications/PixelPaint/RectangleTool.cpp
+++ b/Userland/Applications/PixelPaint/RectangleTool.cpp
@@ -56,7 +56,7 @@ void RectangleTool::draw_using(GUI::Painter& painter, const Gfx::IntRect& rect)
painter.fill_rect_with_gradient(rect, m_editor->primary_color(), m_editor->secondary_color());
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Applications/PixelPaint/SprayTool.cpp b/Userland/Applications/PixelPaint/SprayTool.cpp
index 9997c29674..a5d0a176d8 100644
--- a/Userland/Applications/PixelPaint/SprayTool.cpp
+++ b/Userland/Applications/PixelPaint/SprayTool.cpp
@@ -66,7 +66,7 @@ void SprayTool::paint_it()
auto& bitmap = layer->bitmap();
GUI::Painter painter(bitmap);
- ASSERT(bitmap.bpp() == 32);
+ VERIFY(bitmap.bpp() == 32);
m_editor->update();
const double minimal_radius = 2;
const double base_radius = minimal_radius * m_thickness;
diff --git a/Userland/Applications/PixelPaint/main.cpp b/Userland/Applications/PixelPaint/main.cpp
index 0680b05583..e7c88d3849 100644
--- a/Userland/Applications/PixelPaint/main.cpp
+++ b/Userland/Applications/PixelPaint/main.cpp
@@ -201,7 +201,7 @@ int main(int argc, char** argv)
auto& edit_menu = menubar->add_menu("Edit");
auto paste_action = GUI::CommonActions::make_paste_action([&](auto&) {
- ASSERT(image_editor.image());
+ VERIFY(image_editor.image());
auto bitmap = GUI::Clipboard::the().bitmap();
if (!bitmap)
return;
@@ -217,13 +217,13 @@ int main(int argc, char** argv)
edit_menu.add_action(paste_action);
auto undo_action = GUI::CommonActions::make_undo_action([&](auto&) {
- ASSERT(image_editor.image());
+ VERIFY(image_editor.image());
image_editor.undo();
});
edit_menu.add_action(undo_action);
auto redo_action = GUI::CommonActions::make_redo_action([&](auto&) {
- ASSERT(image_editor.image());
+ VERIFY(image_editor.image());
image_editor.redo();
});
edit_menu.add_action(redo_action);
diff --git a/Userland/Applications/SpaceAnalyzer/main.cpp b/Userland/Applications/SpaceAnalyzer/main.cpp
index 95644d00d6..fb1892656c 100644
--- a/Userland/Applications/SpaceAnalyzer/main.cpp
+++ b/Userland/Applications/SpaceAnalyzer/main.cpp
@@ -99,7 +99,7 @@ static void fill_mounts(Vector<MountInfo>& output)
auto content = df->read_all();
auto json = JsonValue::from_string(content);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
json.value().as_array().for_each([&output](auto& value) {
auto filesystem_object = value.as_object();
@@ -150,7 +150,7 @@ struct QueueEntry {
static void populate_filesize_tree(TreeNode& root, Vector<MountInfo>& mounts, HashMap<int, int>& error_accumulator)
{
- ASSERT(!root.m_name.ends_with("/"));
+ VERIFY(!root.m_name.ends_with("/"));
Queue<QueueEntry> queue;
queue.enqueue(QueueEntry(root.m_name, &root));
@@ -247,7 +247,7 @@ static void analyze(RefPtr<Tree> tree, SpaceAnalyzer::TreeMapWidget& treemapwidg
static bool is_removable(const String& absolute_path)
{
- ASSERT(!absolute_path.is_empty());
+ VERIFY(!absolute_path.is_empty());
int access_result = access(absolute_path.characters(), W_OK);
if (access_result != 0 && errno != EACCES)
perror("access");
@@ -353,7 +353,7 @@ int main(int argc, char* argv[])
// Configure event handlers.
breadcrumbbar.on_segment_click = [&](size_t index) {
- ASSERT(index < treemapwidget.path_size());
+ VERIFY(index < treemapwidget.path_size());
treemapwidget.set_viewpoint(index);
};
treemapwidget.on_path_change = [&]() {
diff --git a/Userland/Applications/Spreadsheet/Cell.cpp b/Userland/Applications/Spreadsheet/Cell.cpp
index d2f511753f..25788ed580 100644
--- a/Userland/Applications/Spreadsheet/Cell.cpp
+++ b/Userland/Applications/Spreadsheet/Cell.cpp
@@ -73,7 +73,7 @@ void Cell::set_type(const StringView& name)
return set_type(cell_type);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Cell::set_type_metadata(CellTypeMetadata&& metadata)
diff --git a/Userland/Applications/Spreadsheet/CellType/Type.cpp b/Userland/Applications/Spreadsheet/CellType/Type.cpp
index cd64e8f239..659f47929c 100644
--- a/Userland/Applications/Spreadsheet/CellType/Type.cpp
+++ b/Userland/Applications/Spreadsheet/CellType/Type.cpp
@@ -56,7 +56,7 @@ Vector<StringView> CellType::names()
CellType::CellType(const StringView& name)
: m_name(name)
{
- ASSERT(!s_cell_types.contains(name));
+ VERIFY(!s_cell_types.contains(name));
s_cell_types.set(name, this);
}
diff --git a/Userland/Applications/Spreadsheet/CellTypeDialog.cpp b/Userland/Applications/Spreadsheet/CellTypeDialog.cpp
index 68c801ebb4..8f1dcf8cb9 100644
--- a/Userland/Applications/Spreadsheet/CellTypeDialog.cpp
+++ b/Userland/Applications/Spreadsheet/CellTypeDialog.cpp
@@ -52,7 +52,7 @@ namespace Spreadsheet {
CellTypeDialog::CellTypeDialog(const Vector<Position>& positions, Sheet& sheet, GUI::Window* parent)
: GUI::Dialog(parent)
{
- ASSERT(!positions.is_empty());
+ VERIFY(!positions.is_empty());
StringBuilder builder;
@@ -239,7 +239,7 @@ void CellTypeDialog::setup_tabs(GUI::TabWidget& tabs, const Vector<Position>& po
m_horizontal_alignment = HorizontalAlignment::Right;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
};
}
@@ -271,7 +271,7 @@ void CellTypeDialog::setup_tabs(GUI::TabWidget& tabs, const Vector<Position>& po
m_vertical_alignment = VerticalAlignment::Bottom;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
};
}
@@ -444,7 +444,7 @@ ConditionsView::ConditionsView()
void ConditionsView::set_formats(Vector<ConditionalFormat>* formats)
{
- ASSERT(!m_formats);
+ VERIFY(!m_formats);
m_formats = formats;
@@ -454,7 +454,7 @@ void ConditionsView::set_formats(Vector<ConditionalFormat>* formats)
void ConditionsView::add_format()
{
- ASSERT(m_formats);
+ VERIFY(m_formats);
m_formats->empend();
auto& last = m_formats->last();
@@ -466,7 +466,7 @@ void ConditionsView::add_format()
void ConditionsView::remove_top()
{
- ASSERT(m_formats);
+ VERIFY(m_formats);
if (m_formats->is_empty())
return;
diff --git a/Userland/Applications/Spreadsheet/HelpWindow.cpp b/Userland/Applications/Spreadsheet/HelpWindow.cpp
index eecd0bbb45..dcfb85b4c9 100644
--- a/Userland/Applications/Spreadsheet/HelpWindow.cpp
+++ b/Userland/Applications/Spreadsheet/HelpWindow.cpp
@@ -100,7 +100,7 @@ HelpWindow::HelpWindow(GUI::Window* parent)
m_webview = splitter.add<Web::OutOfProcessWebView>();
m_webview->on_link_click = [this](auto& url, auto&, auto&&) {
- ASSERT(url.protocol() == "spreadsheet");
+ VERIFY(url.protocol() == "spreadsheet");
if (url.host() == "example") {
auto entry = LexicalPath(url.path()).basename();
auto doc_option = m_docs.get(entry);
@@ -159,19 +159,19 @@ HelpWindow::HelpWindow(GUI::Window* parent)
String HelpWindow::render(const StringView& key)
{
auto doc_option = m_docs.get(key);
- ASSERT(doc_option.is_object());
+ VERIFY(doc_option.is_object());
auto& doc = doc_option.as_object();
auto name = doc.get("name").to_string();
auto argc = doc.get("argc").to_u32(0);
auto argnames_value = doc.get("argnames");
- ASSERT(argnames_value.is_array());
+ VERIFY(argnames_value.is_array());
auto& argnames = argnames_value.as_array();
auto docstring = doc.get("doc").to_string();
auto examples_value = doc.get_or("examples", JsonObject {});
- ASSERT(examples_value.is_object());
+ VERIFY(examples_value.is_object());
auto& examples = examples_value.as_object();
StringBuilder markdown_builder;
diff --git a/Userland/Applications/Spreadsheet/Readers/XSV.cpp b/Userland/Applications/Spreadsheet/Readers/XSV.cpp
index 99a61b0abc..fca9742ace 100644
--- a/Userland/Applications/Spreadsheet/Readers/XSV.cpp
+++ b/Userland/Applications/Spreadsheet/Readers/XSV.cpp
@@ -243,9 +243,9 @@ XSV::Field XSV::read_one_unquoted_field()
StringView XSV::Row::operator[](StringView name) const
{
- ASSERT(!m_xsv.m_names.is_empty());
+ VERIFY(!m_xsv.m_names.is_empty());
auto it = m_xsv.m_names.find_if([&](const auto& entry) { return name == entry; });
- ASSERT(!it.is_end());
+ VERIFY(!it.is_end());
return (*this)[it.index()];
}
@@ -265,7 +265,7 @@ const XSV::Row XSV::operator[](size_t index) const
XSV::Row XSV::operator[](size_t index)
{
- ASSERT(m_rows.size() > index);
+ VERIFY(m_rows.size() > index);
return Row { *this, index };
}
diff --git a/Userland/Applications/Spreadsheet/Readers/XSV.h b/Userland/Applications/Spreadsheet/Readers/XSV.h
index 0b32ca767d..a3fab2edd3 100644
--- a/Userland/Applications/Spreadsheet/Readers/XSV.h
+++ b/Userland/Applications/Spreadsheet/Readers/XSV.h
@@ -98,7 +98,7 @@ public:
ENUMERATE_READ_ERRORS();
#undef E
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
size_t size() const { return m_rows.size(); }
diff --git a/Userland/Applications/Spreadsheet/Spreadsheet.cpp b/Userland/Applications/Spreadsheet/Spreadsheet.cpp
index 6a86c016bc..be17602955 100644
--- a/Userland/Applications/Spreadsheet/Spreadsheet.cpp
+++ b/Userland/Applications/Spreadsheet/Spreadsheet.cpp
@@ -103,7 +103,7 @@ static String convert_to_string(size_t value, unsigned base = 26, StringView map
if (map.is_null())
map = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- ASSERT(base >= 2 && base <= map.length());
+ VERIFY(base >= 2 && base <= map.length());
// The '8 bits per byte' assumption may need to go?
Array<char, round_up_to_power_of_two(sizeof(size_t) * 8 + 1, 2)> buffer;
@@ -130,7 +130,7 @@ static size_t convert_from_string(StringView str, unsigned base = 26, StringView
if (map.is_null())
map = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- ASSERT(base >= 2 && base <= map.length());
+ VERIFY(base >= 2 && base <= map.length());
size_t value = 0;
for (size_t i = str.length(); i > 0; --i) {
@@ -295,7 +295,7 @@ Optional<Position> Sheet::position_from_url(const URL& url) const
}
// FIXME: Figure out a way to do this cross-process.
- ASSERT(url.path() == String::formatted("/{}", getpid()));
+ VERIFY(url.path() == String::formatted("/{}", getpid()));
return parse_cell_name(url.fragment());
}
diff --git a/Userland/Applications/Spreadsheet/Spreadsheet.h b/Userland/Applications/Spreadsheet/Spreadsheet.h
index bbef6c8116..66c87f6a45 100644
--- a/Userland/Applications/Spreadsheet/Spreadsheet.h
+++ b/Userland/Applications/Spreadsheet/Spreadsheet.h
@@ -106,12 +106,12 @@ public:
for (size_t i = column_count(); i < index; ++i)
add_column();
- ASSERT(column_count() > index);
+ VERIFY(column_count() > index);
return m_columns[index];
}
const String& column(size_t index) const
{
- ASSERT(column_count() > index);
+ VERIFY(column_count() > index);
return m_columns[index];
}
diff --git a/Userland/Applications/Spreadsheet/SpreadsheetModel.cpp b/Userland/Applications/Spreadsheet/SpreadsheetModel.cpp
index 70193e4b63..1ea04f2f60 100644
--- a/Userland/Applications/Spreadsheet/SpreadsheetModel.cpp
+++ b/Userland/Applications/Spreadsheet/SpreadsheetModel.cpp
@@ -132,7 +132,7 @@ RefPtr<Core::MimeData> SheetModel::mime_data(const GUI::ModelSelection& selectio
first = false;
});
- ASSERT(cursor);
+ VERIFY(cursor);
Position cursor_position { m_sheet->column(cursor->column()), (size_t)cursor->row() };
auto new_data = String::formatted("{}\n{}",
diff --git a/Userland/Applications/Spreadsheet/SpreadsheetView.cpp b/Userland/Applications/Spreadsheet/SpreadsheetView.cpp
index 9762f77578..45dbf275a2 100644
--- a/Userland/Applications/Spreadsheet/SpreadsheetView.cpp
+++ b/Userland/Applications/Spreadsheet/SpreadsheetView.cpp
@@ -284,7 +284,7 @@ SpreadsheetView::SpreadsheetView(Sheet& sheet)
if (event.mime_data().has_text()) {
auto* target_cell = m_sheet->at({ m_sheet->column(index.column()), (size_t)index.row() });
- ASSERT(target_cell);
+ VERIFY(target_cell);
target_cell->set_data(event.text());
return;
diff --git a/Userland/Applications/Spreadsheet/SpreadsheetWidget.cpp b/Userland/Applications/Spreadsheet/SpreadsheetWidget.cpp
index 4dea836926..036bd5a6c0 100644
--- a/Userland/Applications/Spreadsheet/SpreadsheetWidget.cpp
+++ b/Userland/Applications/Spreadsheet/SpreadsheetWidget.cpp
@@ -96,7 +96,7 @@ SpreadsheetWidget::SpreadsheetWidget(NonnullRefPtrVector<Sheet>&& sheets, bool s
m_tab_context_menu = GUI::Menu::construct();
auto rename_action = GUI::Action::create("Rename...", [this](auto&) {
- ASSERT(m_tab_context_menu_sheet_view);
+ VERIFY(m_tab_context_menu_sheet_view);
auto& sheet = m_tab_context_menu_sheet_view->sheet();
String new_name;
@@ -321,7 +321,7 @@ void SpreadsheetWidget::add_sheet()
void SpreadsheetWidget::add_sheet(NonnullRefPtr<Sheet>&& sheet)
{
- ASSERT(m_workbook == &sheet->workbook());
+ VERIFY(m_workbook == &sheet->workbook());
NonnullRefPtrVector<Sheet> new_sheets;
new_sheets.append(move(sheet));
diff --git a/Userland/Applications/Spreadsheet/Writers/XSV.h b/Userland/Applications/Spreadsheet/Writers/XSV.h
index 7a065f87d1..27d1e7e34f 100644
--- a/Userland/Applications/Spreadsheet/Writers/XSV.h
+++ b/Userland/Applications/Spreadsheet/Writers/XSV.h
@@ -109,7 +109,7 @@ public:
ENUMERATE_WRITE_ERRORS();
#undef E
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
private:
diff --git a/Userland/Applications/Spreadsheet/main.cpp b/Userland/Applications/Spreadsheet/main.cpp
index d77b48c68c..1f6539f324 100644
--- a/Userland/Applications/Spreadsheet/main.cpp
+++ b/Userland/Applications/Spreadsheet/main.cpp
@@ -165,7 +165,7 @@ int main(int argc, char* argv[])
/// - currently selected cell
/// - selected cell+
auto& cells = spreadsheet_widget.current_worksheet().selected_cells();
- ASSERT(!cells.is_empty());
+ VERIFY(!cells.is_empty());
StringBuilder text_builder, url_builder;
bool first = true;
auto cursor = spreadsheet_widget.current_selection_cursor();
@@ -201,7 +201,7 @@ int main(int argc, char* argv[])
ScopeGuard update_after_paste { [&] { spreadsheet_widget.update(); } };
auto& cells = spreadsheet_widget.current_worksheet().selected_cells();
- ASSERT(!cells.is_empty());
+ VERIFY(!cells.is_empty());
const auto& data = GUI::Clipboard::the().data_and_type();
if (auto spreadsheet_data = data.metadata.get("text/x-spreadsheet-data"); spreadsheet_data.has_value()) {
Vector<Spreadsheet::Position> source_positions, target_positions;
diff --git a/Userland/Applications/SystemMonitor/DevicesModel.cpp b/Userland/Applications/SystemMonitor/DevicesModel.cpp
index 2efc4a117d..44a05fb550 100644
--- a/Userland/Applications/SystemMonitor/DevicesModel.cpp
+++ b/Userland/Applications/SystemMonitor/DevicesModel.cpp
@@ -69,13 +69,13 @@ String DevicesModel::column_name(int column) const
case Column::Type:
return "Type";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
GUI::Variant DevicesModel::data(const GUI::ModelIndex& index, GUI::ModelRole role) const
{
- ASSERT(is_valid(index));
+ VERIFY(is_valid(index));
if (role == GUI::ModelRole::TextAlignment) {
switch (index.column()) {
@@ -107,7 +107,7 @@ GUI::Variant DevicesModel::data(const GUI::ModelIndex& index, GUI::ModelRole rol
case Column::Type:
return device.type;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -129,10 +129,10 @@ GUI::Variant DevicesModel::data(const GUI::ModelIndex& index, GUI::ModelRole rol
case DeviceInfo::Type::Character:
return "Character";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -143,10 +143,10 @@ void DevicesModel::update()
{
auto proc_devices = Core::File::construct("/proc/devices");
if (!proc_devices->open(Core::IODevice::OpenMode::ReadOnly))
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
auto json = JsonValue::from_string(proc_devices->read_all());
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
m_devices.clear();
json.value().as_array().for_each([this](auto& value) {
@@ -163,7 +163,7 @@ void DevicesModel::update()
else if (type_str == "character")
device_info.type = DeviceInfo::Type::Character;
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
m_devices.append(move(device_info));
});
@@ -175,7 +175,7 @@ void DevicesModel::update()
auto path = String::formatted("{}/{}", dir, name);
struct stat statbuf;
if (lstat(path.characters(), &statbuf) != 0) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (!S_ISBLK(statbuf.st_mode) && !S_ISCHR(statbuf.st_mode))
continue;
diff --git a/Userland/Applications/SystemMonitor/GraphWidget.cpp b/Userland/Applications/SystemMonitor/GraphWidget.cpp
index e1ad40afe1..54676143c3 100644
--- a/Userland/Applications/SystemMonitor/GraphWidget.cpp
+++ b/Userland/Applications/SystemMonitor/GraphWidget.cpp
@@ -88,7 +88,7 @@ void GraphWidget::paint_event(GUI::PaintEvent& event)
Gfx::IntPoint current_point { x, inner_rect.bottom() - (int)scaled_value };
m_calculated_points.append(current_point);
}
- ASSERT(m_calculated_points.size() <= m_values.size());
+ VERIFY(m_calculated_points.size() <= m_values.size());
if (format.graph_color_role != ColorRole::Base) {
// Fill the background for the area we have values for
Gfx::Path path;
@@ -100,8 +100,8 @@ void GraphWidget::paint_event(GUI::PaintEvent& event)
if (!started_path)
return;
if (points_in_path > 1) {
- ASSERT(current_point);
- ASSERT(first_point);
+ VERIFY(current_point);
+ VERIFY(first_point);
path.line_to({ current_point->x() - 1, inner_rect.bottom() + 1 });
path.line_to({ first_point->x() + 1, inner_rect.bottom() + 1 });
path.close();
diff --git a/Userland/Applications/SystemMonitor/MemoryStatsWidget.cpp b/Userland/Applications/SystemMonitor/MemoryStatsWidget.cpp
index 6675ea8c4a..787ff57ba6 100644
--- a/Userland/Applications/SystemMonitor/MemoryStatsWidget.cpp
+++ b/Userland/Applications/SystemMonitor/MemoryStatsWidget.cpp
@@ -48,7 +48,7 @@ MemoryStatsWidget* MemoryStatsWidget::the()
MemoryStatsWidget::MemoryStatsWidget(GraphWidget& graph)
: m_graph(graph)
{
- ASSERT(!s_the);
+ VERIFY(!s_the);
s_the = this;
set_fixed_height(110);
@@ -98,11 +98,11 @@ void MemoryStatsWidget::refresh()
{
auto proc_memstat = Core::File::construct("/proc/memstat");
if (!proc_memstat->open(Core::IODevice::OpenMode::ReadOnly))
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
auto file_contents = proc_memstat->read_all();
auto json_result = JsonValue::from_string(file_contents);
- ASSERT(json_result.has_value());
+ VERIFY(json_result.has_value());
auto json = json_result.value().as_object();
[[maybe_unused]] unsigned kmalloc_eternal_allocated = json.get("kmalloc_eternal_allocated").to_u32();
diff --git a/Userland/Applications/SystemMonitor/ProcessMemoryMapWidget.cpp b/Userland/Applications/SystemMonitor/ProcessMemoryMapWidget.cpp
index 62df60c951..90f40b8506 100644
--- a/Userland/Applications/SystemMonitor/ProcessMemoryMapWidget.cpp
+++ b/Userland/Applications/SystemMonitor/ProcessMemoryMapWidget.cpp
@@ -55,7 +55,7 @@ public:
else if (c == 'P') // Physical (a resident page)
color = Color::Black;
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
painter.draw_line({ x, rect.top() }, { x, rect.bottom() }, color);
}
diff --git a/Userland/Applications/SystemMonitor/ProcessModel.cpp b/Userland/Applications/SystemMonitor/ProcessModel.cpp
index a028b23956..2cee462db4 100644
--- a/Userland/Applications/SystemMonitor/ProcessModel.cpp
+++ b/Userland/Applications/SystemMonitor/ProcessModel.cpp
@@ -35,13 +35,13 @@ static ProcessModel* s_the;
ProcessModel& ProcessModel::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
ProcessModel::ProcessModel()
{
- ASSERT(!s_the);
+ VERIFY(!s_the);
s_the = this;
m_generic_process_icon = Gfx::Bitmap::load_from_file("/res/icons/16x16/gear.png");
@@ -138,7 +138,7 @@ String ProcessModel::column_name(int column) const
case Column::Veil:
return "Veil";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -149,7 +149,7 @@ static String pretty_byte_size(size_t size)
GUI::Variant ProcessModel::data(const GUI::ModelIndex& index, GUI::ModelRole role) const
{
- ASSERT(is_valid(index));
+ VERIFY(is_valid(index));
if (role == GUI::ModelRole::TextAlignment) {
switch (index.column()) {
@@ -186,7 +186,7 @@ GUI::Variant ProcessModel::data(const GUI::ModelIndex& index, GUI::ModelRole rol
case Column::IPv4SocketWriteBytes:
return Gfx::TextAlignment::CenterRight;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -256,7 +256,7 @@ GUI::Variant ProcessModel::data(const GUI::ModelIndex& index, GUI::ModelRole rol
case Column::Veil:
return thread.current_state.veil;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (role == GUI::ModelRole::Display) {
@@ -391,7 +391,7 @@ void ProcessModel::update()
m_threads.set(thread.tid, make<Thread>());
}
auto pit = m_threads.find(thread.tid);
- ASSERT(pit != m_threads.end());
+ VERIFY(pit != m_threads.end());
(*pit).value->previous_state = (*pit).value->current_state;
(*pit).value->current_state = state;
diff --git a/Userland/Applications/Terminal/main.cpp b/Userland/Applications/Terminal/main.cpp
index bc282835f4..7b3a6ef182 100644
--- a/Userland/Applications/Terminal/main.cpp
+++ b/Userland/Applications/Terminal/main.cpp
@@ -171,7 +171,7 @@ static pid_t run_command(int ptm_fd, String command)
perror("execve");
exit(1);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return pid;
diff --git a/Userland/Demos/CatDog/main.cpp b/Userland/Demos/CatDog/main.cpp
index 7238b2c0a7..cc0c9576f8 100644
--- a/Userland/Demos/CatDog/main.cpp
+++ b/Userland/Demos/CatDog/main.cpp
@@ -150,9 +150,9 @@ public:
void track_cursor_globally()
{
- ASSERT(window());
+ VERIFY(window());
auto window_id = window()->window_id();
- ASSERT(window_id >= 0);
+ VERIFY(window_id >= 0);
set_global_cursor_tracking(true);
GUI::WindowServerConnection::the().send_sync<Messages::WindowServer::SetGlobalCursorTracking>(window_id, true);
diff --git a/Userland/Demos/Eyes/EyesWidget.cpp b/Userland/Demos/Eyes/EyesWidget.cpp
index c31d4782e1..6372c9e137 100644
--- a/Userland/Demos/Eyes/EyesWidget.cpp
+++ b/Userland/Demos/Eyes/EyesWidget.cpp
@@ -37,9 +37,9 @@ EyesWidget::~EyesWidget()
void EyesWidget::track_cursor_globally()
{
- ASSERT(window());
+ VERIFY(window());
auto window_id = window()->window_id();
- ASSERT(window_id >= 0);
+ VERIFY(window_id >= 0);
set_global_cursor_tracking(true);
GUI::WindowServerConnection::the().send_sync<Messages::WindowServer::SetGlobalCursorTracking>(window_id, true);
@@ -124,7 +124,7 @@ Gfx::IntPoint EyesWidget::pupil_center(Gfx::IntRect& eyeball_bounds) const
(slope_squared / width_squared + 1 / height_squared)
);
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
// clang-format on
diff --git a/Userland/Demos/LibGfxScaleDemo/main.cpp b/Userland/Demos/LibGfxScaleDemo/main.cpp
index cf46179701..9a60b911d1 100644
--- a/Userland/Demos/LibGfxScaleDemo/main.cpp
+++ b/Userland/Demos/LibGfxScaleDemo/main.cpp
@@ -110,7 +110,7 @@ void Canvas::draw(Gfx::Painter& painter)
// grid does not have an alpha channel.
auto grid = Gfx::Bitmap::load_from_file("/res/wallpapers/grid.png");
- ASSERT(!grid->has_alpha_channel());
+ VERIFY(!grid->has_alpha_channel());
painter.fill_rect({ 25, 122, 62, 20 }, Color::Green);
painter.blit({ 25, 122 }, *grid, { (grid->width() - 62) / 2, (grid->height() - 20) / 2 + 40, 62, 20 }, 0.9);
diff --git a/Userland/Demos/WidgetGallery/main.cpp b/Userland/Demos/WidgetGallery/main.cpp
index e94072146a..ab4782cdf1 100644
--- a/Userland/Demos/WidgetGallery/main.cpp
+++ b/Userland/Demos/WidgetGallery/main.cpp
@@ -66,8 +66,8 @@ public:
virtual int column_count(const GUI::ModelIndex&) const override { return 1; }
virtual GUI::Variant data(const GUI::ModelIndex& index, GUI::ModelRole role) const override
{
- ASSERT(index.is_valid());
- ASSERT(index.column() == 0);
+ VERIFY(index.is_valid());
+ VERIFY(index.column() == 0);
if (role == GUI::ModelRole::Display)
return m_model_items.at(index.row());
return {};
diff --git a/Userland/DevTools/HackStudio/Debugger/BacktraceModel.cpp b/Userland/DevTools/HackStudio/Debugger/BacktraceModel.cpp
index fe0f6a31f5..748ba70781 100644
--- a/Userland/DevTools/HackStudio/Debugger/BacktraceModel.cpp
+++ b/Userland/DevTools/HackStudio/Debugger/BacktraceModel.cpp
@@ -68,7 +68,7 @@ Vector<BacktraceModel::FrameInfo> BacktraceModel::create_backtrace(const Debug::
frames.append({ name, current_instruction, current_ebp });
auto frame_info = Debug::StackFrameUtils::get_info(*Debugger::the().session(), current_ebp);
- ASSERT(frame_info.has_value());
+ VERIFY(frame_info.has_value());
current_instruction = frame_info.value().return_address;
current_ebp = frame_info.value().next_ebp;
} while (current_ebp && current_instruction);
diff --git a/Userland/DevTools/HackStudio/Debugger/Debugger.cpp b/Userland/DevTools/HackStudio/Debugger/Debugger.cpp
index 20527e379d..55bc4faef3 100644
--- a/Userland/DevTools/HackStudio/Debugger/Debugger.cpp
+++ b/Userland/DevTools/HackStudio/Debugger/Debugger.cpp
@@ -33,7 +33,7 @@ static Debugger* s_the;
Debugger& Debugger::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
@@ -90,10 +90,10 @@ void Debugger::on_breakpoint_change(const String& file, size_t line, BreakpointC
if (change_type == BreakpointChange::Added) {
bool success = session->insert_breakpoint(reinterpret_cast<void*>(address.value().address));
- ASSERT(success);
+ VERIFY(success);
} else {
bool success = session->remove_breakpoint(reinterpret_cast<void*>(address.value().address));
- ASSERT(success);
+ VERIFY(success);
}
}
@@ -113,14 +113,14 @@ int Debugger::start_static()
void Debugger::start()
{
m_debug_session = Debug::DebugSession::exec_and_attach(m_executable_path, m_source_root);
- ASSERT(!!m_debug_session);
+ VERIFY(!!m_debug_session);
for (const auto& breakpoint : m_breakpoints) {
dbgln("inserting breakpoint at: {}:{}", breakpoint.file_path, breakpoint.line_number);
auto address = m_debug_session->get_address_from_source_position(breakpoint.file_path, breakpoint.line_number);
if (address.has_value()) {
bool success = m_debug_session->insert_breakpoint(reinterpret_cast<void*>(address.value().address));
- ASSERT(success);
+ VERIFY(success);
} else {
dbgln("couldn't insert breakpoint");
}
@@ -131,7 +131,7 @@ void Debugger::start()
int Debugger::debugger_loop()
{
- ASSERT(m_debug_session);
+ VERIFY(m_debug_session);
m_debug_session->run(Debug::DebugSession::DesiredInitialDebugeeState::Running, [this](Debug::DebugSession::DebugBreakReason reason, Optional<PtraceRegisters> optional_regs) {
if (reason == Debug::DebugSession::DebugBreakReason::Exited) {
@@ -140,7 +140,7 @@ int Debugger::debugger_loop()
return Debug::DebugSession::DebugDecision::Detach;
}
remove_temporary_breakpoints();
- ASSERT(optional_regs.has_value());
+ VERIFY(optional_regs.has_value());
const PtraceRegisters& regs = optional_regs.value();
auto source_position = m_debug_session->get_source_position(regs.eip);
@@ -151,7 +151,7 @@ int Debugger::debugger_loop()
if (source_position.value().file_path.ends_with(".S"))
return Debug::DebugSession::DebugDecision::SingleStep;
- ASSERT(source_position.has_value());
+ VERIFY(source_position.has_value());
if (m_state.get() == Debugger::DebuggingState::SingleStepping) {
if (m_state.should_stop_single_stepping(source_position.value())) {
m_state.set_normal();
@@ -196,7 +196,7 @@ int Debugger::debugger_loop()
dbgln("Debugger exiting");
return Debug::DebugSession::DebugDecision::Detach;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
});
m_debug_session.clear();
return 0;
@@ -216,16 +216,16 @@ void Debugger::DebuggingState::set_single_stepping(Debug::DebugInfo::SourcePosit
bool Debugger::DebuggingState::should_stop_single_stepping(const Debug::DebugInfo::SourcePosition& current_source_position) const
{
- ASSERT(m_state == State::SingleStepping);
+ VERIFY(m_state == State::SingleStepping);
return m_original_source_position.value() != current_source_position;
}
void Debugger::remove_temporary_breakpoints()
{
for (auto breakpoint_address : m_state.temporary_breakpoints()) {
- ASSERT(m_debug_session->breakpoint_exists((void*)breakpoint_address));
+ VERIFY(m_debug_session->breakpoint_exists((void*)breakpoint_address));
bool rc = m_debug_session->remove_breakpoint((void*)breakpoint_address);
- ASSERT(rc);
+ VERIFY(rc);
}
m_state.clear_temporary_breakpoints();
}
@@ -259,7 +259,7 @@ void Debugger::do_step_over(const PtraceRegisters& regs)
dbgln("cannot perform step_over, failed to find containing function of: {:p}", regs.eip);
return;
}
- ASSERT(current_function.has_value());
+ VERIFY(current_function.has_value());
auto lines_in_current_function = lib->debug_info->source_lines_in_scope(current_function.value());
for (const auto& line : lines_in_current_function) {
insert_temporary_breakpoint(line.address_of_first_statement.value() + lib->base_address);
@@ -270,7 +270,7 @@ void Debugger::do_step_over(const PtraceRegisters& regs)
void Debugger::insert_temporary_breakpoint_at_return_address(const PtraceRegisters& regs)
{
auto frame_info = Debug::StackFrameUtils::get_info(*m_debug_session, regs.ebp);
- ASSERT(frame_info.has_value());
+ VERIFY(frame_info.has_value());
u32 return_address = frame_info.value().return_address;
insert_temporary_breakpoint(return_address);
}
@@ -280,7 +280,7 @@ void Debugger::insert_temporary_breakpoint(FlatPtr address)
if (m_debug_session->breakpoint_exists((void*)address))
return;
bool success = m_debug_session->insert_breakpoint(reinterpret_cast<void*>(address));
- ASSERT(success);
+ VERIFY(success);
m_state.add_temporary_breakpoint(address);
}
diff --git a/Userland/DevTools/HackStudio/Debugger/DisassemblyModel.cpp b/Userland/DevTools/HackStudio/Debugger/DisassemblyModel.cpp
index cb7822c60a..4ede317691 100644
--- a/Userland/DevTools/HackStudio/Debugger/DisassemblyModel.cpp
+++ b/Userland/DevTools/HackStudio/Debugger/DisassemblyModel.cpp
@@ -63,7 +63,7 @@ DisassemblyModel::DisassemblyModel(const Debug::DebugSession& debug_session, con
auto symbol = elf->find_symbol(containing_function.value().address_low);
if (!symbol.has_value())
return;
- ASSERT(symbol.has_value());
+ VERIFY(symbol.has_value());
auto view = symbol.value().raw_data();
@@ -104,7 +104,7 @@ String DisassemblyModel::column_name(int column) const
case Column::Disassembly:
return "Disassembly";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
}
diff --git a/Userland/DevTools/HackStudio/Debugger/RegistersModel.cpp b/Userland/DevTools/HackStudio/Debugger/RegistersModel.cpp
index 92199a4c6f..33310d422f 100644
--- a/Userland/DevTools/HackStudio/Debugger/RegistersModel.cpp
+++ b/Userland/DevTools/HackStudio/Debugger/RegistersModel.cpp
@@ -87,7 +87,7 @@ String RegistersModel::column_name(int column) const
case Column::Value:
return "Value";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
}
diff --git a/Userland/DevTools/HackStudio/Debugger/VariablesModel.cpp b/Userland/DevTools/HackStudio/Debugger/VariablesModel.cpp
index 425129046c..e010fa997c 100644
--- a/Userland/DevTools/HackStudio/Debugger/VariablesModel.cpp
+++ b/Userland/DevTools/HackStudio/Debugger/VariablesModel.cpp
@@ -52,14 +52,14 @@ GUI::ModelIndex VariablesModel::parent_index(const GUI::ModelIndex& index) const
for (size_t row = 0; row < m_variables.size(); row++)
if (m_variables.ptr_at(row).ptr() == parent)
return create_index(row, 0, parent);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
for (size_t row = 0; row < parent->parent->members.size(); row++) {
Debug::DebugInfo::VariableInfo* child_at_row = parent->parent->members.ptr_at(row).ptr();
if (child_at_row == parent)
return create_index(row, 0, parent);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int VariablesModel::row_count(const GUI::ModelIndex& index) const
@@ -79,29 +79,29 @@ static String variable_value_as_string(const Debug::DebugInfo::VariableInfo& var
if (variable.is_enum_type()) {
auto value = Debugger::the().session()->peek((u32*)variable_address);
- ASSERT(value.has_value());
+ VERIFY(value.has_value());
auto it = variable.type->members.find_if([&enumerator_value = value.value()](const auto& enumerator) {
return enumerator->constant_data.as_u32 == enumerator_value;
});
- ASSERT(!it.is_end());
+ VERIFY(!it.is_end());
return String::formatted("{}::{}", variable.type_name, (*it)->name);
}
if (variable.type_name == "int") {
auto value = Debugger::the().session()->peek((u32*)variable_address);
- ASSERT(value.has_value());
+ VERIFY(value.has_value());
return String::formatted("{}", static_cast<int>(value.value()));
}
if (variable.type_name == "char") {
auto value = Debugger::the().session()->peek((u32*)variable_address);
- ASSERT(value.has_value());
+ VERIFY(value.has_value());
return String::formatted("'{0:c}' ({0:d})", value.value());
}
if (variable.type_name == "bool") {
auto value = Debugger::the().session()->peek((u32*)variable_address);
- ASSERT(value.has_value());
+ VERIFY(value.has_value());
return (value.value() & 1) ? "true" : "false";
}
@@ -151,7 +151,7 @@ void VariablesModel::set_variable_value(const GUI::ModelIndex& index, const Stri
if (value.has_value()) {
auto success = Debugger::the().session()->poke((u32*)variable->location_data.address, value.value());
- ASSERT(success);
+ VERIFY(success);
return;
}
diff --git a/Userland/DevTools/HackStudio/Dialogs/NewProjectDialog.cpp b/Userland/DevTools/HackStudio/Dialogs/NewProjectDialog.cpp
index 692804def0..d9f09c9d3e 100644
--- a/Userland/DevTools/HackStudio/Dialogs/NewProjectDialog.cpp
+++ b/Userland/DevTools/HackStudio/Dialogs/NewProjectDialog.cpp
@@ -135,7 +135,7 @@ RefPtr<ProjectTemplate> NewProjectDialog::selected_template()
}
auto project_template = m_model->template_for_index(m_icon_view->selection().first());
- ASSERT(!project_template.is_null());
+ VERIFY(!project_template.is_null());
return project_template;
}
diff --git a/Userland/DevTools/HackStudio/Dialogs/ProjectTemplatesModel.cpp b/Userland/DevTools/HackStudio/Dialogs/ProjectTemplatesModel.cpp
index a2dd21e0b1..ba948d3f86 100644
--- a/Userland/DevTools/HackStudio/Dialogs/ProjectTemplatesModel.cpp
+++ b/Userland/DevTools/HackStudio/Dialogs/ProjectTemplatesModel.cpp
@@ -78,7 +78,7 @@ String ProjectTemplatesModel::column_name(int column) const
case Column::Name:
return "Name";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
GUI::Variant ProjectTemplatesModel::data(const GUI::ModelIndex& index, GUI::ModelRole role) const
diff --git a/Userland/DevTools/HackStudio/Editor.cpp b/Userland/DevTools/HackStudio/Editor.cpp
index 52952fbe1f..f865ffef2c 100644
--- a/Userland/DevTools/HackStudio/Editor.cpp
+++ b/Userland/DevTools/HackStudio/Editor.cpp
@@ -385,7 +385,7 @@ const Gfx::Bitmap& Editor::current_position_icon_bitmap()
const CodeDocument& Editor::code_document() const
{
const auto& doc = document();
- ASSERT(doc.is_code_document());
+ VERIFY(doc.is_code_document());
return static_cast<const CodeDocument&>(doc);
}
@@ -396,7 +396,7 @@ CodeDocument& Editor::code_document()
void Editor::set_document(GUI::TextDocument& doc)
{
- ASSERT(doc.is_code_document());
+ VERIFY(doc.is_code_document());
GUI::TextEditor::set_document(doc);
set_override_cursor(Gfx::StandardCursor::IBeam);
@@ -487,7 +487,7 @@ void Editor::on_edit_action(const GUI::Command& command)
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Editor::undo()
diff --git a/Userland/DevTools/HackStudio/FindInFilesWidget.cpp b/Userland/DevTools/HackStudio/FindInFilesWidget.cpp
index 8347e73c81..2d24f9c2b2 100644
--- a/Userland/DevTools/HackStudio/FindInFilesWidget.cpp
+++ b/Userland/DevTools/HackStudio/FindInFilesWidget.cpp
@@ -69,7 +69,7 @@ public:
case Column::MatchedText:
return "Text";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/DevTools/HackStudio/FormEditorWidget.h b/Userland/DevTools/HackStudio/FormEditorWidget.h
index a913eed01e..0a78681106 100644
--- a/Userland/DevTools/HackStudio/FormEditorWidget.h
+++ b/Userland/DevTools/HackStudio/FormEditorWidget.h
@@ -85,7 +85,7 @@ public:
void remove(GUI::Widget& widget)
{
- ASSERT(m_widgets.contains(&widget));
+ VERIFY(m_widgets.contains(&widget));
m_widgets.remove(&widget);
if (m_hooks_enabled && on_remove)
on_remove(widget);
diff --git a/Userland/DevTools/HackStudio/Git/DiffViewer.cpp b/Userland/DevTools/HackStudio/Git/DiffViewer.cpp
index 8e81b6ce4f..39785998fc 100644
--- a/Userland/DevTools/HackStudio/Git/DiffViewer.cpp
+++ b/Userland/DevTools/HackStudio/Git/DiffViewer.cpp
@@ -86,7 +86,7 @@ void DiffViewer::paint_event(GUI::PaintEvent& event)
right_y_offset += line_height();
}
- ASSERT(left_y_offset == right_y_offset);
+ VERIFY(left_y_offset == right_y_offset);
y_offset = left_y_offset;
}
for (size_t i = current_original_line_index; i < m_original_lines.size(); ++i) {
diff --git a/Userland/DevTools/HackStudio/Git/GitFilesView.cpp b/Userland/DevTools/HackStudio/Git/GitFilesView.cpp
index 76aa3abda8..0a7afa3c99 100644
--- a/Userland/DevTools/HackStudio/Git/GitFilesView.cpp
+++ b/Userland/DevTools/HackStudio/Git/GitFilesView.cpp
@@ -75,7 +75,7 @@ void GitFilesView::mousedown_event(GUI::MouseEvent& event)
auto data = model()->index(item_index, model_column()).data();
- ASSERT(data.is_string());
+ VERIFY(data.is_string());
m_action_callback(LexicalPath(data.to_string()));
}
diff --git a/Userland/DevTools/HackStudio/Git/GitRepo.cpp b/Userland/DevTools/HackStudio/Git/GitRepo.cpp
index ea68c88ff6..971febbaee 100644
--- a/Userland/DevTools/HackStudio/Git/GitRepo.cpp
+++ b/Userland/DevTools/HackStudio/Git/GitRepo.cpp
@@ -49,7 +49,7 @@ RefPtr<GitRepo> GitRepo::initialize_repository(const LexicalPath& repository_roo
if (res.is_null())
return {};
- ASSERT(git_repo_exists(repository_root));
+ VERIFY(git_repo_exists(repository_root));
return adopt(*new GitRepo(repository_root));
}
diff --git a/Userland/DevTools/HackStudio/Git/GitWidget.cpp b/Userland/DevTools/HackStudio/Git/GitWidget.cpp
index 8be825760f..e15583ff8d 100644
--- a/Userland/DevTools/HackStudio/Git/GitWidget.cpp
+++ b/Userland/DevTools/HackStudio/Git/GitWidget.cpp
@@ -109,7 +109,7 @@ bool GitWidget::initialize()
return true;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -128,7 +128,7 @@ void GitWidget::refresh()
return;
}
- ASSERT(!m_git_repo.is_null());
+ VERIFY(!m_git_repo.is_null());
m_unstaged_files->set_model(GitFilesModel::create(m_git_repo->unstaged_files()));
m_staged_files->set_model(GitFilesModel::create(m_git_repo->staged_files()));
@@ -138,7 +138,7 @@ void GitWidget::stage_file(const LexicalPath& file)
{
dbgln("staging: {}", file);
bool rc = m_git_repo->stage(file);
- ASSERT(rc);
+ VERIFY(rc);
refresh();
}
@@ -146,7 +146,7 @@ void GitWidget::unstage_file(const LexicalPath& file)
{
dbgln("unstaging: {}", file);
bool rc = m_git_repo->unstage(file);
- ASSERT(rc);
+ VERIFY(rc);
refresh();
}
@@ -172,7 +172,7 @@ void GitWidget::show_diff(const LexicalPath& file_path)
auto file = Core::File::construct(file_path.string());
if (!file->open(Core::IODevice::ReadOnly)) {
perror("open");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
auto content = file->read_all();
@@ -182,7 +182,7 @@ void GitWidget::show_diff(const LexicalPath& file_path)
}
const auto& original_content = m_git_repo->original_file_content(file_path);
const auto& diff = m_git_repo->unstaged_diff(file_path);
- ASSERT(original_content.has_value() && diff.has_value());
+ VERIFY(original_content.has_value() && diff.has_value());
m_view_diff_callback(original_content.value(), diff.value());
}
}
diff --git a/Userland/DevTools/HackStudio/HackStudioWidget.cpp b/Userland/DevTools/HackStudio/HackStudioWidget.cpp
index 13ebbd5165..69a734c3c9 100644
--- a/Userland/DevTools/HackStudio/HackStudioWidget.cpp
+++ b/Userland/DevTools/HackStudio/HackStudioWidget.cpp
@@ -191,7 +191,7 @@ void HackStudioWidget::open_project(const String& root_path)
exit(1);
}
m_project = Project::open_with_root_path(root_path);
- ASSERT(m_project);
+ VERIFY(m_project);
if (m_project_tree_view) {
m_project_tree_view->set_model(m_project->model());
m_project_tree_view->update();
@@ -222,7 +222,7 @@ void HackStudioWidget::open_file(const String& full_filename)
if (!currently_open_file().is_empty()) {
// Since the file is previously open, it should always be in m_open_files.
- ASSERT(m_open_files.find(currently_open_file()) != m_open_files.end());
+ VERIFY(m_open_files.find(currently_open_file()) != m_open_files.end());
auto previous_open_project_file = m_open_files.get(currently_open_file()).value();
// Update the scrollbar values of the previous_open_project_file and save them to m_open_files.
@@ -272,7 +272,7 @@ void HackStudioWidget::open_file(const String& full_filename)
EditorWrapper& HackStudioWidget::current_editor_wrapper()
{
- ASSERT(m_current_editor_wrapper);
+ VERIFY(m_current_editor_wrapper);
return *m_current_editor_wrapper;
}
@@ -290,7 +290,7 @@ void HackStudioWidget::set_edit_mode(EditMode mode)
} else if (mode == EditMode::Diff) {
m_right_hand_stack->set_active_widget(m_diff_viewer);
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_right_hand_stack->active_widget()->update();
}
@@ -563,7 +563,7 @@ void HackStudioWidget::initialize_debugger()
Debugger::initialize(
m_project->root_path(),
[this](const PtraceRegisters& regs) {
- ASSERT(Debugger::the().session());
+ VERIFY(Debugger::the().session());
const auto& debug_session = *Debugger::the().session();
auto source_position = debug_session.get_source_position(regs.eip);
if (!source_position.has_value()) {
@@ -610,7 +610,7 @@ void HackStudioWidget::initialize_debugger()
String HackStudioWidget::get_full_path_of_serenity_source(const String& file)
{
auto path_parts = LexicalPath(file).parts();
- ASSERT(path_parts[0] == "..");
+ VERIFY(path_parts[0] == "..");
path_parts.remove(0);
StringBuilder relative_path_builder;
relative_path_builder.join("/", path_parts);
diff --git a/Userland/DevTools/HackStudio/LanguageClient.cpp b/Userland/DevTools/HackStudio/LanguageClient.cpp
index cc54bc5d71..07a234bb19 100644
--- a/Userland/DevTools/HackStudio/LanguageClient.cpp
+++ b/Userland/DevTools/HackStudio/LanguageClient.cpp
@@ -117,7 +117,7 @@ void LanguageClient::set_active_client()
void LanguageClient::on_server_crash()
{
- ASSERT(m_server_connection);
+ VERIFY(m_server_connection);
auto project_path = m_server_connection->projcet_path();
ServerConnection::remove_instance_for_project(project_path);
m_server_connection = nullptr;
diff --git a/Userland/DevTools/HackStudio/LanguageClient.h b/Userland/DevTools/HackStudio/LanguageClient.h
index 846e24f8fc..8ec45ede12 100644
--- a/Userland/DevTools/HackStudio/LanguageClient.h
+++ b/Userland/DevTools/HackStudio/LanguageClient.h
@@ -105,14 +105,14 @@ public:
: m_server_connection(move(connection))
{
m_previous_client = m_server_connection->language_client();
- ASSERT(m_previous_client.ptr() != this);
+ VERIFY(m_previous_client.ptr() != this);
m_server_connection->attach(*this);
}
virtual ~LanguageClient()
{
m_server_connection->detach();
- ASSERT(m_previous_client.ptr() != this);
+ VERIFY(m_previous_client.ptr() != this);
if (m_previous_client)
m_server_connection->attach(*m_previous_client);
}
diff --git a/Userland/DevTools/HackStudio/LanguageServers/Cpp/FileDB.cpp b/Userland/DevTools/HackStudio/LanguageServers/Cpp/FileDB.cpp
index f354a2beb8..5c289d8014 100644
--- a/Userland/DevTools/HackStudio/LanguageServers/Cpp/FileDB.cpp
+++ b/Userland/DevTools/HackStudio/LanguageServers/Cpp/FileDB.cpp
@@ -65,7 +65,7 @@ String FileDB::to_absolute_path(const String& file_name) const
if (LexicalPath { file_name }.is_absolute()) {
return file_name;
}
- ASSERT(!m_project_root.is_null());
+ VERIFY(!m_project_root.is_null());
return LexicalPath { String::formatted("{}/{}", m_project_root, file_name) }.string();
}
diff --git a/Userland/DevTools/HackStudio/LanguageServers/Cpp/LexerAutoComplete.cpp b/Userland/DevTools/HackStudio/LanguageServers/Cpp/LexerAutoComplete.cpp
index 721b6de953..14031432a6 100644
--- a/Userland/DevTools/HackStudio/LanguageServers/Cpp/LexerAutoComplete.cpp
+++ b/Userland/DevTools/HackStudio/LanguageServers/Cpp/LexerAutoComplete.cpp
@@ -65,8 +65,8 @@ Vector<GUI::AutocompleteProvider::Entry> LexerAutoComplete::get_suggestions(cons
StringView LexerAutoComplete::text_of_token(const Vector<String>& lines, const Cpp::Token& token)
{
- ASSERT(token.m_start.line == token.m_end.line);
- ASSERT(token.m_start.column <= token.m_end.column);
+ VERIFY(token.m_start.line == token.m_end.line);
+ VERIFY(token.m_start.column <= token.m_end.column);
return lines[token.m_start.line].substring_view(token.m_start.column, token.m_end.column - token.m_start.column + 1);
}
diff --git a/Userland/DevTools/HackStudio/LanguageServers/Cpp/ParserAutoComplete.cpp b/Userland/DevTools/HackStudio/LanguageServers/Cpp/ParserAutoComplete.cpp
index 8257bc667c..50bc03ba8b 100644
--- a/Userland/DevTools/HackStudio/LanguageServers/Cpp/ParserAutoComplete.cpp
+++ b/Userland/DevTools/HackStudio/LanguageServers/Cpp/ParserAutoComplete.cpp
@@ -53,14 +53,14 @@ const ParserAutoComplete::DocumentData& ParserAutoComplete::get_document_data(co
{
auto absolute_path = filedb().to_absolute_path(file);
auto document_data = m_documents.get(absolute_path);
- ASSERT(document_data.has_value());
+ VERIFY(document_data.has_value());
return *document_data.value();
}
OwnPtr<ParserAutoComplete::DocumentData> ParserAutoComplete::create_document_data_for(const String& file)
{
auto document = filedb().get(file);
- ASSERT(document);
+ VERIFY(document);
auto content = document->text();
auto document_data = make<DocumentData>(document->text(), file);
auto root = document_data->parser.parse();
@@ -107,7 +107,7 @@ Vector<GUI::AutocompleteProvider::Entry> ParserAutoComplete::get_suggestions(con
}
if (is_empty_property(document, *node, position)) {
- ASSERT(node->is_member_expression());
+ VERIFY(node->is_member_expression());
return autocomplete_property(document, (MemberExpression&)(*node), "");
}
@@ -235,7 +235,7 @@ String ParserAutoComplete::type_of(const DocumentData& document, const Expressio
return type_of_property(document, *member_expression.m_property);
}
if (!expression.is_identifier()) {
- ASSERT_NOT_REACHED(); // TODO
+ VERIFY_NOT_REACHED(); // TODO
}
auto& identifier = (const Identifier&)expression;
@@ -350,7 +350,7 @@ RefPtr<Declaration> ParserAutoComplete::find_declaration_of(const DocumentData&
}
if (is_property(node) && decl.is_struct_or_class()) {
for (auto& member : ((Cpp::StructOrClassDeclaration&)decl).m_members) {
- ASSERT(node.is_identifier());
+ VERIFY(node.is_identifier());
if (member.m_name == ((const Identifier&)node).m_name)
return member;
}
diff --git a/Userland/DevTools/HackStudio/TerminalWrapper.cpp b/Userland/DevTools/HackStudio/TerminalWrapper.cpp
index 42d91cfc91..0488352970 100644
--- a/Userland/DevTools/HackStudio/TerminalWrapper.cpp
+++ b/Userland/DevTools/HackStudio/TerminalWrapper.cpp
@@ -55,15 +55,15 @@ void TerminalWrapper::run_command(const String& command)
int ptm_fd = posix_openpt(O_RDWR | O_CLOEXEC);
if (ptm_fd < 0) {
perror("posix_openpt");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (grantpt(ptm_fd) < 0) {
perror("grantpt");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (unlockpt(ptm_fd) < 0) {
perror("unlockpt");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_terminal_widget->set_pty_master_fd(ptm_fd);
@@ -72,7 +72,7 @@ void TerminalWrapper::run_command(const String& command)
int rc = waitpid(m_pid, &wstatus, 0);
if (rc < 0) {
perror("waitpid");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (WIFEXITED(wstatus)) {
m_terminal_widget->inject_string(String::formatted("\033[{};1m(Command exited with code {})\033[0m\n", wstatus == 0 ? 32 : 31, WEXITSTATUS(wstatus)));
@@ -147,7 +147,7 @@ void TerminalWrapper::run_command(const String& command)
setenv("TERM", "xterm", true);
auto parts = command.split(' ');
- ASSERT(!parts.is_empty());
+ VERIFY(!parts.is_empty());
const char** args = (const char**)calloc(parts.size() + 1, sizeof(const char*));
for (size_t i = 0; i < parts.size(); i++) {
args[i] = parts[i].characters();
@@ -157,7 +157,7 @@ void TerminalWrapper::run_command(const String& command)
perror("execve");
exit(1);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
// (In parent process)
@@ -166,7 +166,7 @@ void TerminalWrapper::run_command(const String& command)
void TerminalWrapper::kill_running_command()
{
- ASSERT(m_pid != -1);
+ VERIFY(m_pid != -1);
// Kill our child process and its whole process group.
[[maybe_unused]] auto rc = killpg(m_pid, SIGTERM);
diff --git a/Userland/DevTools/HackStudio/WidgetTreeModel.cpp b/Userland/DevTools/HackStudio/WidgetTreeModel.cpp
index c0f8b403dc..5dbf7f5232 100644
--- a/Userland/DevTools/HackStudio/WidgetTreeModel.cpp
+++ b/Userland/DevTools/HackStudio/WidgetTreeModel.cpp
@@ -69,7 +69,7 @@ GUI::ModelIndex WidgetTreeModel::parent_index(const GUI::ModelIndex& index) cons
++grandparent_child_index;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
diff --git a/Userland/DevTools/IPCCompiler/main.cpp b/Userland/DevTools/IPCCompiler/main.cpp
index d654191209..bacee6e0ba 100644
--- a/Userland/DevTools/IPCCompiler/main.cpp
+++ b/Userland/DevTools/IPCCompiler/main.cpp
@@ -83,7 +83,7 @@ int main(int argc, char** argv)
if (lexer.peek() != ch)
warnln("assert_specific: wanted '{}', but got '{}' at index {}", ch, lexer.peek(), lexer.tell());
bool saw_expected = lexer.consume_specific(ch);
- ASSERT(saw_expected);
+ VERIFY(saw_expected);
};
auto consume_whitespace = [&] {
@@ -153,7 +153,7 @@ int main(int argc, char** argv)
else if (type == '|')
message.is_synchronous = false;
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
consume_whitespace();
diff --git a/Userland/DevTools/Inspector/RemoteObjectGraphModel.cpp b/Userland/DevTools/Inspector/RemoteObjectGraphModel.cpp
index 32caac30ec..cc1aed8013 100644
--- a/Userland/DevTools/Inspector/RemoteObjectGraphModel.cpp
+++ b/Userland/DevTools/Inspector/RemoteObjectGraphModel.cpp
@@ -72,7 +72,7 @@ GUI::ModelIndex RemoteObjectGraphModel::parent_index(const GUI::ModelIndex& inde
if (&m_process.roots()[row] == remote_object.parent)
return create_index(row, 0, remote_object.parent);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
@@ -81,7 +81,7 @@ GUI::ModelIndex RemoteObjectGraphModel::parent_index(const GUI::ModelIndex& inde
return create_index(row, 0, remote_object.parent);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
diff --git a/Userland/DevTools/Inspector/RemoteObjectPropertyModel.cpp b/Userland/DevTools/Inspector/RemoteObjectPropertyModel.cpp
index 6c9e82f3a7..a01b3bf502 100644
--- a/Userland/DevTools/Inspector/RemoteObjectPropertyModel.cpp
+++ b/Userland/DevTools/Inspector/RemoteObjectPropertyModel.cpp
@@ -61,7 +61,7 @@ String RemoteObjectPropertyModel::column_name(int column) const
case Column::Value:
return "Value";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
GUI::Variant RemoteObjectPropertyModel::data(const GUI::ModelIndex& index, GUI::ModelRole role) const
diff --git a/Userland/DevTools/Inspector/RemoteProcess.cpp b/Userland/DevTools/Inspector/RemoteProcess.cpp
index da3fd14a0d..c2670d09dc 100644
--- a/Userland/DevTools/Inspector/RemoteProcess.cpp
+++ b/Userland/DevTools/Inspector/RemoteProcess.cpp
@@ -52,7 +52,7 @@ RemoteProcess::RemoteProcess(pid_t pid)
void RemoteProcess::handle_identify_response(const JsonObject& response)
{
int pid = response.get("pid").to_int();
- ASSERT(pid == m_pid);
+ VERIFY(pid == m_pid);
m_process_name = response.get("process_name").as_string_or({});
@@ -70,7 +70,7 @@ void RemoteProcess::handle_get_all_objects_response(const JsonObject& response)
HashMap<FlatPtr, RemoteObject*> objects_by_address;
for (auto& value : object_array.values()) {
- ASSERT(value.is_object());
+ VERIFY(value.is_object());
auto& object = value.as_object();
auto remote_object = make<RemoteObject>();
remote_object->address = object.get("address").to_number<FlatPtr>();
@@ -169,12 +169,12 @@ void RemoteProcess::update()
remaining_bytes -= packet.size();
}
- ASSERT(data.size() == length);
+ VERIFY(data.size() == length);
dbgln("Got data size {} and read that many bytes", length);
auto json_value = JsonValue::from_string(data);
- ASSERT(json_value.has_value());
- ASSERT(json_value.value().is_object());
+ VERIFY(json_value.has_value());
+ VERIFY(json_value.value().is_object());
dbgln("Got JSON response {}", json_value.value());
diff --git a/Userland/DevTools/Profiler/DisassemblyModel.cpp b/Userland/DevTools/Profiler/DisassemblyModel.cpp
index 4195f103cd..c9bf70ab2c 100644
--- a/Userland/DevTools/Profiler/DisassemblyModel.cpp
+++ b/Userland/DevTools/Profiler/DisassemblyModel.cpp
@@ -47,7 +47,7 @@ static const Gfx::Bitmap& heat_gradient()
static Color color_for_percent(int percent)
{
- ASSERT(percent >= 0 && percent <= 100);
+ VERIFY(percent >= 0 && percent <= 100);
return heat_gradient().get_pixel(percent, 0);
}
@@ -77,14 +77,14 @@ DisassemblyModel::DisassemblyModel(Profile& profile, ProfileNode& node)
base_address = library_data->base;
}
- ASSERT(elf != nullptr);
+ VERIFY(elf != nullptr);
auto symbol = elf->find_symbol(node.address() - base_address);
if (!symbol.has_value()) {
dbgln("DisassemblyModel: symbol not found");
return;
}
- ASSERT(symbol.has_value());
+ VERIFY(symbol.has_value());
auto view = symbol.value().raw_data();
@@ -132,7 +132,7 @@ String DisassemblyModel::column_name(int column) const
case Column::Disassembly:
return "Disassembly";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
}
diff --git a/Userland/DevTools/Profiler/Profile.h b/Userland/DevTools/Profiler/Profile.h
index 0acf3e917f..18a93c75a9 100644
--- a/Userland/DevTools/Profiler/Profile.h
+++ b/Userland/DevTools/Profiler/Profile.h
@@ -72,7 +72,7 @@ public:
{
if (child.m_parent == this)
return;
- ASSERT(!child.m_parent);
+ VERIFY(!child.m_parent);
child.m_parent = this;
m_children.append(child);
}
diff --git a/Userland/DevTools/Profiler/ProfileModel.cpp b/Userland/DevTools/Profiler/ProfileModel.cpp
index caf1819446..d9798069f1 100644
--- a/Userland/DevTools/Profiler/ProfileModel.cpp
+++ b/Userland/DevTools/Profiler/ProfileModel.cpp
@@ -67,7 +67,7 @@ GUI::ModelIndex ProfileModel::parent_index(const GUI::ModelIndex& index) const
return create_index(row, index.column(), node.parent());
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
@@ -76,7 +76,7 @@ GUI::ModelIndex ProfileModel::parent_index(const GUI::ModelIndex& index) const
return create_index(row, index.column(), node.parent());
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
@@ -103,7 +103,7 @@ String ProfileModel::column_name(int column) const
case Column::StackFrame:
return "Stack Frame";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
}
diff --git a/Userland/DevTools/UserspaceEmulator/Emulator.cpp b/Userland/DevTools/UserspaceEmulator/Emulator.cpp
index 7a40897f92..732c18f27a 100644
--- a/Userland/DevTools/UserspaceEmulator/Emulator.cpp
+++ b/Userland/DevTools/UserspaceEmulator/Emulator.cpp
@@ -70,7 +70,7 @@ static Emulator* s_the;
Emulator& Emulator::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
@@ -95,7 +95,7 @@ Emulator::Emulator(const String& executable_path, const Vector<String>& argument
m_range_allocator.initialize_with_range(VirtualAddress(base), userspace_range_ceiling - base);
- ASSERT(!s_the);
+ VERIFY(!s_the);
s_the = this;
// setup_stack(arguments, environment);
register_signal_handlers();
@@ -190,7 +190,7 @@ bool Emulator::load_elf()
if (!executable_elf.is_dynamic()) {
// FIXME: Support static objects
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
String interpreter_path;
@@ -199,18 +199,18 @@ bool Emulator::load_elf()
return false;
}
- ASSERT(!interpreter_path.is_null());
+ VERIFY(!interpreter_path.is_null());
dbgln("interpreter: {}", interpreter_path);
auto interpreter_file_or_error = MappedFile::map(interpreter_path);
- ASSERT(!interpreter_file_or_error.is_error());
+ VERIFY(!interpreter_file_or_error.is_error());
auto interpreter_image_data = interpreter_file_or_error.value()->bytes();
ELF::Image interpreter_image(interpreter_image_data);
constexpr FlatPtr interpreter_load_offset = 0x08000000;
interpreter_image.for_each_program_header([&](const ELF::Image::ProgramHeader& program_header) {
// Loader is not allowed to have its own TLS regions
- ASSERT(program_header.type() != PT_TLS);
+ VERIFY(program_header.type() != PT_TLS);
if (program_header.type() == PT_LOAD) {
auto region = make<SimpleRegion>(program_header.vaddr().offset(interpreter_load_offset).get(), program_header.size_in_memory());
@@ -983,7 +983,7 @@ int Emulator::virt$pipe(FlatPtr vm_pipefd, int flags)
u32 Emulator::virt$munmap(FlatPtr address, u32 size)
{
auto* region = mmu().find_region({ 0x23, address });
- ASSERT(region);
+ VERIFY(region);
if (region->size() != round_up_to_power_of_two(size, PAGE_SIZE))
TODO();
m_range_allocator.deallocate(region->range());
@@ -1024,7 +1024,7 @@ u32 Emulator::virt$mmap(u32 params_addr)
auto region = MmapRegion::create_file_backed(final_address, final_size, params.prot, params.flags, params.fd, params.offset, name_str);
if (region->name() == "libc.so: .text (Emulated)") {
bool rc = find_malloc_symbols(*region);
- ASSERT(rc);
+ VERIFY(rc);
}
mmu().add_region(move(region));
}
@@ -1040,7 +1040,7 @@ FlatPtr Emulator::virt$mremap(FlatPtr params_addr)
if (auto* region = mmu().find_region({ m_cpu.ds(), params.old_address })) {
if (!is<MmapRegion>(*region))
return -EINVAL;
- ASSERT(region->size() == params.old_size);
+ VERIFY(region->size() == params.old_size);
auto& mmap_region = *(MmapRegion*)region;
auto* ptr = mremap(mmap_region.data(), mmap_region.size(), mmap_region.size(), params.flags);
if (ptr == MAP_FAILED)
@@ -1089,7 +1089,7 @@ u32 Emulator::virt$mprotect(FlatPtr base, size_t size, int prot)
if (auto* region = mmu().find_region({ m_cpu.ds(), base })) {
if (!is<MmapRegion>(*region))
return -EINVAL;
- ASSERT(region->size() == size);
+ VERIFY(region->size() == size);
auto& mmap_region = *(MmapRegion*)region;
mmap_region.set_prot(prot);
return 0;
@@ -1420,7 +1420,7 @@ enum class DefaultSignalAction {
static DefaultSignalAction default_signal_action(int signal)
{
- ASSERT(signal && signal < NSIG);
+ VERIFY(signal && signal < NSIG);
switch (signal) {
case SIGHUP:
@@ -1460,7 +1460,7 @@ static DefaultSignalAction default_signal_action(int signal)
case SIGTTOU:
return DefaultSignalAction::Stop;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Emulator::dispatch_one_pending_signal()
@@ -1471,7 +1471,7 @@ void Emulator::dispatch_one_pending_signal()
if (m_pending_signals & mask)
break;
}
- ASSERT(signum != -1);
+ VERIFY(signum != -1);
m_pending_signals &= ~(1 << signum);
auto& handler = m_signal_handler[signum];
@@ -1516,7 +1516,7 @@ void Emulator::dispatch_one_pending_signal()
m_cpu.push32(shadow_wrap_as_initialized(handler.handler));
m_cpu.push32(shadow_wrap_as_initialized(0u));
- ASSERT((m_cpu.esp().value() % 16) == 0);
+ VERIFY((m_cpu.esp().value() % 16) == 0);
m_cpu.set_eip(m_signal_trampoline);
}
diff --git a/Userland/DevTools/UserspaceEmulator/MallocTracer.cpp b/Userland/DevTools/UserspaceEmulator/MallocTracer.cpp
index f946803db2..f2a0a98935 100644
--- a/Userland/DevTools/UserspaceEmulator/MallocTracer.cpp
+++ b/Userland/DevTools/UserspaceEmulator/MallocTracer.cpp
@@ -60,8 +60,8 @@ void MallocTracer::target_did_malloc(Badge<SoftCPU>, FlatPtr address, size_t siz
if (m_emulator.is_in_loader_code())
return;
auto* region = m_emulator.mmu().find_region({ 0x23, address });
- ASSERT(region);
- ASSERT(is<MmapRegion>(*region));
+ VERIFY(region);
+ VERIFY(is<MmapRegion>(*region));
auto& mmap_region = static_cast<MmapRegion&>(*region);
// Mark the containing mmap region as a malloc block!
@@ -71,7 +71,7 @@ void MallocTracer::target_did_malloc(Badge<SoftCPU>, FlatPtr address, size_t siz
memset(shadow_bits, 0, size);
if (auto* existing_mallocation = find_mallocation(address)) {
- ASSERT(existing_mallocation->freed);
+ VERIFY(existing_mallocation->freed);
existing_mallocation->size = size;
existing_mallocation->freed = false;
existing_mallocation->malloc_backtrace = m_emulator.raw_backtrace();
@@ -110,7 +110,7 @@ ALWAYS_INLINE size_t MallocRegionMetadata::chunk_index_for_address(FlatPtr addre
return 0;
}
auto chunk_offset = address - (this->address + sizeof(ChunkedBlock));
- ASSERT(this->chunk_size);
+ VERIFY(this->chunk_size);
return chunk_offset / this->chunk_size;
}
@@ -143,15 +143,15 @@ void MallocTracer::target_did_realloc(Badge<SoftCPU>, FlatPtr address, size_t si
if (m_emulator.is_in_loader_code())
return;
auto* region = m_emulator.mmu().find_region({ 0x23, address });
- ASSERT(region);
- ASSERT(is<MmapRegion>(*region));
+ VERIFY(region);
+ VERIFY(is<MmapRegion>(*region));
auto& mmap_region = static_cast<MmapRegion&>(*region);
- ASSERT(mmap_region.is_malloc_block());
+ VERIFY(mmap_region.is_malloc_block());
auto* existing_mallocation = find_mallocation(address);
- ASSERT(existing_mallocation);
- ASSERT(!existing_mallocation->freed);
+ VERIFY(existing_mallocation);
+ VERIFY(!existing_mallocation->freed);
size_t old_size = existing_mallocation->size;
@@ -296,7 +296,7 @@ void MallocTracer::audit_write(const Region& region, FlatPtr address, size_t siz
bool MallocTracer::is_reachable(const Mallocation& mallocation) const
{
- ASSERT(!mallocation.freed);
+ VERIFY(!mallocation.freed);
bool reachable = false;
diff --git a/Userland/DevTools/UserspaceEmulator/MallocTracer.h b/Userland/DevTools/UserspaceEmulator/MallocTracer.h
index 53da97acf1..473f4bf2ea 100644
--- a/Userland/DevTools/UserspaceEmulator/MallocTracer.h
+++ b/Userland/DevTools/UserspaceEmulator/MallocTracer.h
@@ -105,7 +105,7 @@ ALWAYS_INLINE Mallocation* MallocTracer::find_mallocation(const Region& region,
auto& mallocation = malloc_data->mallocation_for_address(address);
if (!mallocation.used)
return nullptr;
- ASSERT(mallocation.contains(address));
+ VERIFY(mallocation.contains(address));
return &mallocation;
}
diff --git a/Userland/DevTools/UserspaceEmulator/MmapRegion.cpp b/Userland/DevTools/UserspaceEmulator/MmapRegion.cpp
index a5686cf273..70ea7ab2b3 100644
--- a/Userland/DevTools/UserspaceEmulator/MmapRegion.cpp
+++ b/Userland/DevTools/UserspaceEmulator/MmapRegion.cpp
@@ -48,7 +48,7 @@ NonnullOwnPtr<MmapRegion> MmapRegion::create_file_backed(u32 base, u32 size, u32
region->m_name = name;
}
region->m_data = (u8*)mmap_with_name(nullptr, size, prot, flags, fd, offset, name.is_empty() ? nullptr : name.characters());
- ASSERT(region->m_data != MAP_FAILED);
+ VERIFY(region->m_data != MAP_FAILED);
return region;
}
@@ -82,7 +82,7 @@ ValueWithShadow<u8> MmapRegion::read8(FlatPtr offset)
tracer->audit_read(*this, base() + offset, 1);
}
- ASSERT(offset < size());
+ VERIFY(offset < size());
return { *reinterpret_cast<const u8*>(m_data + offset), *reinterpret_cast<const u8*>(m_shadow_data + offset) };
}
@@ -99,7 +99,7 @@ ValueWithShadow<u16> MmapRegion::read16(u32 offset)
tracer->audit_read(*this, base() + offset, 2);
}
- ASSERT(offset + 1 < size());
+ VERIFY(offset + 1 < size());
return { *reinterpret_cast<const u16*>(m_data + offset), *reinterpret_cast<const u16*>(m_shadow_data + offset) };
}
@@ -116,7 +116,7 @@ ValueWithShadow<u32> MmapRegion::read32(u32 offset)
tracer->audit_read(*this, base() + offset, 4);
}
- ASSERT(offset + 3 < size());
+ VERIFY(offset + 3 < size());
return { *reinterpret_cast<const u32*>(m_data + offset), *reinterpret_cast<const u32*>(m_shadow_data + offset) };
}
@@ -133,7 +133,7 @@ ValueWithShadow<u64> MmapRegion::read64(u32 offset)
tracer->audit_read(*this, base() + offset, 8);
}
- ASSERT(offset + 7 < size());
+ VERIFY(offset + 7 < size());
return { *reinterpret_cast<const u64*>(m_data + offset), *reinterpret_cast<const u64*>(m_shadow_data + offset) };
}
@@ -150,7 +150,7 @@ void MmapRegion::write8(u32 offset, ValueWithShadow<u8> value)
tracer->audit_write(*this, base() + offset, 1);
}
- ASSERT(offset < size());
+ VERIFY(offset < size());
*reinterpret_cast<u8*>(m_data + offset) = value.value();
*reinterpret_cast<u8*>(m_shadow_data + offset) = value.shadow();
}
@@ -168,7 +168,7 @@ void MmapRegion::write16(u32 offset, ValueWithShadow<u16> value)
tracer->audit_write(*this, base() + offset, 2);
}
- ASSERT(offset + 1 < size());
+ VERIFY(offset + 1 < size());
*reinterpret_cast<u16*>(m_data + offset) = value.value();
*reinterpret_cast<u16*>(m_shadow_data + offset) = value.shadow();
}
@@ -186,8 +186,8 @@ void MmapRegion::write32(u32 offset, ValueWithShadow<u32> value)
tracer->audit_write(*this, base() + offset, 4);
}
- ASSERT(offset + 3 < size());
- ASSERT(m_data != m_shadow_data);
+ VERIFY(offset + 3 < size());
+ VERIFY(m_data != m_shadow_data);
*reinterpret_cast<u32*>(m_data + offset) = value.value();
*reinterpret_cast<u32*>(m_shadow_data + offset) = value.shadow();
}
@@ -205,8 +205,8 @@ void MmapRegion::write64(u32 offset, ValueWithShadow<u64> value)
tracer->audit_write(*this, base() + offset, 8);
}
- ASSERT(offset + 7 < size());
- ASSERT(m_data != m_shadow_data);
+ VERIFY(offset + 7 < size());
+ VERIFY(m_data != m_shadow_data);
*reinterpret_cast<u64*>(m_data + offset) = value.value();
*reinterpret_cast<u64*>(m_shadow_data + offset) = value.shadow();
}
diff --git a/Userland/DevTools/UserspaceEmulator/Range.cpp b/Userland/DevTools/UserspaceEmulator/Range.cpp
index af6b09d19d..635e8cf8c6 100644
--- a/Userland/DevTools/UserspaceEmulator/Range.cpp
+++ b/Userland/DevTools/UserspaceEmulator/Range.cpp
@@ -31,7 +31,7 @@ namespace UserspaceEmulator {
Vector<Range, 2> Range::carve(const Range& taken)
{
- ASSERT((taken.size() % PAGE_SIZE) == 0);
+ VERIFY((taken.size() % PAGE_SIZE) == 0);
Vector<Range, 2> parts;
if (taken == *this)
return {};
diff --git a/Userland/DevTools/UserspaceEmulator/RangeAllocator.cpp b/Userland/DevTools/UserspaceEmulator/RangeAllocator.cpp
index f4f6fc1341..78135d923b 100644
--- a/Userland/DevTools/UserspaceEmulator/RangeAllocator.cpp
+++ b/Userland/DevTools/UserspaceEmulator/RangeAllocator.cpp
@@ -61,11 +61,11 @@ void RangeAllocator::dump() const
void RangeAllocator::carve_at_index(int index, const Range& range)
{
auto remaining_parts = m_available_ranges[index].carve(range);
- ASSERT(remaining_parts.size() >= 1);
- ASSERT(m_total_range.contains(remaining_parts[0]));
+ VERIFY(remaining_parts.size() >= 1);
+ VERIFY(m_total_range.contains(remaining_parts[0]));
m_available_ranges[index] = remaining_parts[0];
if (remaining_parts.size() == 2) {
- ASSERT(m_total_range.contains(remaining_parts[1]));
+ VERIFY(m_total_range.contains(remaining_parts[1]));
m_available_ranges.insert(index + 1, move(remaining_parts[1]));
}
}
@@ -75,8 +75,8 @@ Optional<Range> RangeAllocator::allocate_randomized(size_t size, size_t alignmen
if (!size)
return {};
- ASSERT((size % PAGE_SIZE) == 0);
- ASSERT((alignment % PAGE_SIZE) == 0);
+ VERIFY((size % PAGE_SIZE) == 0);
+ VERIFY((alignment % PAGE_SIZE) == 0);
// FIXME: I'm sure there's a smarter way to do this.
static constexpr size_t maximum_randomization_attempts = 1000;
@@ -100,8 +100,8 @@ Optional<Range> RangeAllocator::allocate_anywhere(size_t size, size_t alignment)
if (!size)
return {};
- ASSERT((size % PAGE_SIZE) == 0);
- ASSERT((alignment % PAGE_SIZE) == 0);
+ VERIFY((size % PAGE_SIZE) == 0);
+ VERIFY((alignment % PAGE_SIZE) == 0);
#ifdef VM_GUARD_PAGES
// NOTE: We pad VM allocations with a guard page on each side.
@@ -128,7 +128,7 @@ Optional<Range> RangeAllocator::allocate_anywhere(size_t size, size_t alignment)
FlatPtr aligned_base = round_up_to_power_of_two(initial_base, alignment);
Range allocated_range(VirtualAddress(aligned_base), size);
- ASSERT(m_total_range.contains(allocated_range));
+ VERIFY(m_total_range.contains(allocated_range));
if (available_range == allocated_range) {
m_available_ranges.remove(i);
@@ -146,13 +146,13 @@ Optional<Range> RangeAllocator::allocate_specific(VirtualAddress base, size_t si
if (!size)
return {};
- ASSERT(base.is_page_aligned());
- ASSERT((size % PAGE_SIZE) == 0);
+ VERIFY(base.is_page_aligned());
+ VERIFY((size % PAGE_SIZE) == 0);
Range allocated_range(base, size);
for (size_t i = 0; i < m_available_ranges.size(); ++i) {
auto& available_range = m_available_ranges[i];
- ASSERT(m_total_range.contains(allocated_range));
+ VERIFY(m_total_range.contains(allocated_range));
if (!available_range.contains(base, size))
continue;
if (available_range == allocated_range) {
@@ -167,11 +167,11 @@ Optional<Range> RangeAllocator::allocate_specific(VirtualAddress base, size_t si
void RangeAllocator::deallocate(const Range& range)
{
- ASSERT(m_total_range.contains(range));
- ASSERT(range.size());
- ASSERT((range.size() % PAGE_SIZE) == 0);
- ASSERT(range.base() < range.end());
- ASSERT(!m_available_ranges.is_empty());
+ VERIFY(m_total_range.contains(range));
+ VERIFY(range.size());
+ VERIFY((range.size() % PAGE_SIZE) == 0);
+ VERIFY(range.base() < range.end());
+ VERIFY(!m_available_ranges.is_empty());
size_t nearby_index = 0;
auto* existing_range = binary_search(
diff --git a/Userland/DevTools/UserspaceEmulator/SimpleRegion.cpp b/Userland/DevTools/UserspaceEmulator/SimpleRegion.cpp
index 173efd0e32..cdfb299c46 100644
--- a/Userland/DevTools/UserspaceEmulator/SimpleRegion.cpp
+++ b/Userland/DevTools/UserspaceEmulator/SimpleRegion.cpp
@@ -45,52 +45,52 @@ SimpleRegion::~SimpleRegion()
ValueWithShadow<u8> SimpleRegion::read8(FlatPtr offset)
{
- ASSERT(offset < size());
+ VERIFY(offset < size());
return { *reinterpret_cast<const u8*>(m_data + offset), *reinterpret_cast<const u8*>(m_shadow_data + offset) };
}
ValueWithShadow<u16> SimpleRegion::read16(u32 offset)
{
- ASSERT(offset + 1 < size());
+ VERIFY(offset + 1 < size());
return { *reinterpret_cast<const u16*>(m_data + offset), *reinterpret_cast<const u16*>(m_shadow_data + offset) };
}
ValueWithShadow<u32> SimpleRegion::read32(u32 offset)
{
- ASSERT(offset + 3 < size());
+ VERIFY(offset + 3 < size());
return { *reinterpret_cast<const u32*>(m_data + offset), *reinterpret_cast<const u32*>(m_shadow_data + offset) };
}
ValueWithShadow<u64> SimpleRegion::read64(u32 offset)
{
- ASSERT(offset + 7 < size());
+ VERIFY(offset + 7 < size());
return { *reinterpret_cast<const u64*>(m_data + offset), *reinterpret_cast<const u64*>(m_shadow_data + offset) };
}
void SimpleRegion::write8(u32 offset, ValueWithShadow<u8> value)
{
- ASSERT(offset < size());
+ VERIFY(offset < size());
*reinterpret_cast<u8*>(m_data + offset) = value.value();
*reinterpret_cast<u8*>(m_shadow_data + offset) = value.shadow();
}
void SimpleRegion::write16(u32 offset, ValueWithShadow<u16> value)
{
- ASSERT(offset + 1 < size());
+ VERIFY(offset + 1 < size());
*reinterpret_cast<u16*>(m_data + offset) = value.value();
*reinterpret_cast<u16*>(m_shadow_data + offset) = value.shadow();
}
void SimpleRegion::write32(u32 offset, ValueWithShadow<u32> value)
{
- ASSERT(offset + 3 < size());
+ VERIFY(offset + 3 < size());
*reinterpret_cast<u32*>(m_data + offset) = value.value();
*reinterpret_cast<u32*>(m_shadow_data + offset) = value.shadow();
}
void SimpleRegion::write64(u32 offset, ValueWithShadow<u64> value)
{
- ASSERT(offset + 7 < size());
+ VERIFY(offset + 7 < size());
*reinterpret_cast<u64*>(m_data + offset) = value.value();
*reinterpret_cast<u64*>(m_shadow_data + offset) = value.shadow();
}
diff --git a/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp b/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp
index 17a03900d9..3ab0509ba0 100644
--- a/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp
+++ b/Userland/DevTools/UserspaceEmulator/SoftCPU.cpp
@@ -124,14 +124,14 @@ void SoftCPU::did_receive_secret_data()
if (auto* tracer = m_emulator.malloc_tracer())
tracer->target_did_realloc({}, m_secret_data[2], m_secret_data[1]);
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
void SoftCPU::update_code_cache()
{
auto* region = m_emulator.mmu().find_region({ cs(), eip() });
- ASSERT(region);
+ VERIFY(region);
if (!region->is_executable()) {
reportln("SoftCPU::update_code_cache: Non-executable region @ {:p}", eip());
@@ -146,7 +146,7 @@ void SoftCPU::update_code_cache()
ValueWithShadow<u8> SoftCPU::read_memory8(X86::LogicalAddress address)
{
- ASSERT(address.selector() == 0x1b || address.selector() == 0x23 || address.selector() == 0x2b);
+ VERIFY(address.selector() == 0x1b || address.selector() == 0x23 || address.selector() == 0x2b);
auto value = m_emulator.mmu().read8(address);
#if MEMORY_DEBUG
outln("\033[36;1mread_memory8: @{:04x}:{:08x} -> {:02x} ({:02x})\033[0m", address.selector(), address.offset(), value, value.shadow());
@@ -156,7 +156,7 @@ ValueWithShadow<u8> SoftCPU::read_memory8(X86::LogicalAddress address)
ValueWithShadow<u16> SoftCPU::read_memory16(X86::LogicalAddress address)
{
- ASSERT(address.selector() == 0x1b || address.selector() == 0x23 || address.selector() == 0x2b);
+ VERIFY(address.selector() == 0x1b || address.selector() == 0x23 || address.selector() == 0x2b);
auto value = m_emulator.mmu().read16(address);
#if MEMORY_DEBUG
outln("\033[36;1mread_memory16: @{:04x}:{:08x} -> {:04x} ({:04x})\033[0m", address.selector(), address.offset(), value, value.shadow());
@@ -166,7 +166,7 @@ ValueWithShadow<u16> SoftCPU::read_memory16(X86::LogicalAddress address)
ValueWithShadow<u32> SoftCPU::read_memory32(X86::LogicalAddress address)
{
- ASSERT(address.selector() == 0x1b || address.selector() == 0x23 || address.selector() == 0x2b);
+ VERIFY(address.selector() == 0x1b || address.selector() == 0x23 || address.selector() == 0x2b);
auto value = m_emulator.mmu().read32(address);
#if MEMORY_DEBUG
outln("\033[36;1mread_memory32: @{:04x}:{:08x} -> {:08x} ({:08x})\033[0m", address.selector(), address.offset(), value, value.shadow());
@@ -176,7 +176,7 @@ ValueWithShadow<u32> SoftCPU::read_memory32(X86::LogicalAddress address)
ValueWithShadow<u64> SoftCPU::read_memory64(X86::LogicalAddress address)
{
- ASSERT(address.selector() == 0x1b || address.selector() == 0x23 || address.selector() == 0x2b);
+ VERIFY(address.selector() == 0x1b || address.selector() == 0x23 || address.selector() == 0x2b);
auto value = m_emulator.mmu().read64(address);
#if MEMORY_DEBUG
outln("\033[36;1mread_memory64: @{:04x}:{:08x} -> {:016x} ({:016x})\033[0m", address.selector(), address.offset(), value, value.shadow());
@@ -186,7 +186,7 @@ ValueWithShadow<u64> SoftCPU::read_memory64(X86::LogicalAddress address)
void SoftCPU::write_memory8(X86::LogicalAddress address, ValueWithShadow<u8> value)
{
- ASSERT(address.selector() == 0x23 || address.selector() == 0x2b);
+ VERIFY(address.selector() == 0x23 || address.selector() == 0x2b);
#if MEMORY_DEBUG
outln("\033[36;1mwrite_memory8: @{:04x}:{:08x} <- {:02x} ({:02x})\033[0m", address.selector(), address.offset(), value, value.shadow());
#endif
@@ -195,7 +195,7 @@ void SoftCPU::write_memory8(X86::LogicalAddress address, ValueWithShadow<u8> val
void SoftCPU::write_memory16(X86::LogicalAddress address, ValueWithShadow<u16> value)
{
- ASSERT(address.selector() == 0x23 || address.selector() == 0x2b);
+ VERIFY(address.selector() == 0x23 || address.selector() == 0x2b);
#if MEMORY_DEBUG
outln("\033[36;1mwrite_memory16: @{:04x}:{:08x} <- {:04x} ({:04x})\033[0m", address.selector(), address.offset(), value, value.shadow());
#endif
@@ -204,7 +204,7 @@ void SoftCPU::write_memory16(X86::LogicalAddress address, ValueWithShadow<u16> v
void SoftCPU::write_memory32(X86::LogicalAddress address, ValueWithShadow<u32> value)
{
- ASSERT(address.selector() == 0x23 || address.selector() == 0x2b);
+ VERIFY(address.selector() == 0x23 || address.selector() == 0x2b);
#if MEMORY_DEBUG
outln("\033[36;1mwrite_memory32: @{:04x}:{:08x} <- {:08x} ({:08x})\033[0m", address.selector(), address.offset(), value, value.shadow());
#endif
@@ -213,7 +213,7 @@ void SoftCPU::write_memory32(X86::LogicalAddress address, ValueWithShadow<u32> v
void SoftCPU::write_memory64(X86::LogicalAddress address, ValueWithShadow<u64> value)
{
- ASSERT(address.selector() == 0x23 || address.selector() == 0x2b);
+ VERIFY(address.selector() == 0x23 || address.selector() == 0x2b);
#if MEMORY_DEBUG
outln("\033[36;1mwrite_memory64: @{:04x}:{:08x} <- {:016x} ({:016x})\033[0m", address.selector(), address.offset(), value, value.shadow());
#endif
@@ -363,7 +363,7 @@ ALWAYS_INLINE static T op_xor(SoftCPU& cpu, const T& dest, const T& src)
: "=a"(result)
: "a"(dest.value()), "c"(src.value()));
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
asm volatile(
@@ -395,7 +395,7 @@ ALWAYS_INLINE static T op_or(SoftCPU& cpu, const T& dest, const T& src)
: "=a"(result)
: "a"(dest.value()), "c"(src.value()));
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
asm volatile(
@@ -427,7 +427,7 @@ ALWAYS_INLINE static T op_sub(SoftCPU& cpu, const T& dest, const T& src)
: "=a"(result)
: "a"(dest.value()), "c"(src.value()));
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
asm volatile(
@@ -464,7 +464,7 @@ ALWAYS_INLINE static T op_sbb_impl(SoftCPU& cpu, const T& dest, const T& src)
: "=a"(result)
: "a"(dest.value()), "c"(src.value()));
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
asm volatile(
@@ -505,7 +505,7 @@ ALWAYS_INLINE static T op_add(SoftCPU& cpu, T& dest, const T& src)
: "=a"(result)
: "a"(dest.value()), "c"(src.value()));
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
asm volatile(
@@ -542,7 +542,7 @@ ALWAYS_INLINE static T op_adc_impl(SoftCPU& cpu, T& dest, const T& src)
: "=a"(result)
: "a"(dest.value()), "c"(src.value()));
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
asm volatile(
@@ -583,7 +583,7 @@ ALWAYS_INLINE static T op_and(SoftCPU& cpu, const T& dest, const T& src)
: "=a"(result)
: "a"(dest.value()), "c"(src.value()));
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
asm volatile(
@@ -1152,7 +1152,7 @@ ALWAYS_INLINE void BTx_RM16_imm8(SoftCPU& cpu, const X86::Instruction& insn, Op
unsigned bit_index = insn.imm8() & (X86::TypeTrivia<u16>::mask);
// FIXME: Support higher bit indices
- ASSERT(bit_index < 16);
+ VERIFY(bit_index < 16);
auto original = insn.modrm().read16(cpu, insn);
u16 bit_mask = 1 << bit_index;
@@ -1169,7 +1169,7 @@ ALWAYS_INLINE void BTx_RM32_imm8(SoftCPU& cpu, const X86::Instruction& insn, Op
unsigned bit_index = insn.imm8() & (X86::TypeTrivia<u32>::mask);
// FIXME: Support higher bit indices
- ASSERT(bit_index < 32);
+ VERIFY(bit_index < 32);
auto original = insn.modrm().read32(cpu, insn);
u32 bit_mask = 1 << bit_index;
@@ -1551,7 +1551,7 @@ void SoftCPU::FLD_RM32(const X86::Instruction& insn)
void SoftCPU::FXCH(const X86::Instruction& insn)
{
- ASSERT(insn.modrm().is_register());
+ VERIFY(insn.modrm().is_register());
auto tmp = fpu_get(0);
fpu_set(0, fpu_get(insn.modrm().register_index()));
fpu_set(insn.modrm().register_index(), tmp);
@@ -1559,7 +1559,7 @@ void SoftCPU::FXCH(const X86::Instruction& insn)
void SoftCPU::FST_RM32(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
float f32 = (float)fpu_get(0);
// FIXME: Respect shadow values
insn.modrm().write32(*this, insn, shadow_wrap_as_initialized(bit_cast<u32>(f32)));
@@ -1645,7 +1645,7 @@ void SoftCPU::FCOS(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::FIADD_RM32(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m32int = (i32)insn.modrm().read32(*this, insn).value();
// FIXME: Respect shadow values
fpu_set(0, fpu_get(0) + (long double)m32int);
@@ -1655,7 +1655,7 @@ void SoftCPU::FCMOVB(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::FIMUL_RM32(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m32int = (i32)insn.modrm().read32(*this, insn).value();
// FIXME: Respect shadow values
fpu_set(0, fpu_get(0) * (long double)m32int);
@@ -1675,7 +1675,7 @@ void SoftCPU::FCMOVU(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::FISUB_RM32(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m32int = (i32)insn.modrm().read32(*this, insn).value();
// FIXME: Respect shadow values
fpu_set(0, fpu_get(0) - (long double)m32int);
@@ -1683,7 +1683,7 @@ void SoftCPU::FISUB_RM32(const X86::Instruction& insn)
void SoftCPU::FISUBR_RM32(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m32int = (i32)insn.modrm().read32(*this, insn).value();
// FIXME: Respect shadow values
fpu_set(0, (long double)m32int - fpu_get(0));
@@ -1693,7 +1693,7 @@ void SoftCPU::FUCOMPP(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::FIDIV_RM32(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m32int = (i32)insn.modrm().read32(*this, insn).value();
// FIXME: Respect shadow values
// FIXME: Raise IA on 0 / _=0, raise Z on finite / +-0
@@ -1702,7 +1702,7 @@ void SoftCPU::FIDIV_RM32(const X86::Instruction& insn)
void SoftCPU::FIDIVR_RM32(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m32int = (i32)insn.modrm().read32(*this, insn).value();
// FIXME: Respect shadow values
// FIXME: Raise IA on 0 / _=0, raise Z on finite / +-0
@@ -1711,7 +1711,7 @@ void SoftCPU::FIDIVR_RM32(const X86::Instruction& insn)
void SoftCPU::FILD_RM32(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m32int = (i32)insn.modrm().read32(*this, insn).value();
// FIXME: Respect shadow values
fpu_push((long double)m32int);
@@ -1723,7 +1723,7 @@ void SoftCPU::FCMOVNE(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::FIST_RM32(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto f = fpu_get(0);
// FIXME: Respect rounding mode in m_fpu_cw.
auto i32 = static_cast<int32_t>(f);
@@ -1871,7 +1871,7 @@ void SoftCPU::FDIVR_RM64(const X86::Instruction& insn)
void SoftCPU::FLD_RM64(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto new_f64 = insn.modrm().read64(*this, insn);
// FIXME: Respect shadow values
fpu_push(bit_cast<double>(new_f64.value()));
@@ -1905,7 +1905,7 @@ void SoftCPU::FNSTSW(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::FIADD_RM16(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m16int = (i16)insn.modrm().read16(*this, insn).value();
// FIXME: Respect shadow values
fpu_set(0, fpu_get(0) + (long double)m16int);
@@ -1913,14 +1913,14 @@ void SoftCPU::FIADD_RM16(const X86::Instruction& insn)
void SoftCPU::FADDP(const X86::Instruction& insn)
{
- ASSERT(insn.modrm().is_register());
+ VERIFY(insn.modrm().is_register());
fpu_set(insn.modrm().register_index(), fpu_get(insn.modrm().register_index()) + fpu_get(0));
fpu_pop();
}
void SoftCPU::FIMUL_RM16(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m16int = (i16)insn.modrm().read16(*this, insn).value();
// FIXME: Respect shadow values
fpu_set(0, fpu_get(0) * (long double)m16int);
@@ -1928,7 +1928,7 @@ void SoftCPU::FIMUL_RM16(const X86::Instruction& insn)
void SoftCPU::FMULP(const X86::Instruction& insn)
{
- ASSERT(insn.modrm().is_register());
+ VERIFY(insn.modrm().is_register());
fpu_set(insn.modrm().register_index(), fpu_get(insn.modrm().register_index()) * fpu_get(0));
fpu_pop();
}
@@ -1939,7 +1939,7 @@ void SoftCPU::FCOMPP(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::FISUB_RM16(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m16int = (i16)insn.modrm().read16(*this, insn).value();
// FIXME: Respect shadow values
fpu_set(0, fpu_get(0) - (long double)m16int);
@@ -1947,14 +1947,14 @@ void SoftCPU::FISUB_RM16(const X86::Instruction& insn)
void SoftCPU::FSUBRP(const X86::Instruction& insn)
{
- ASSERT(insn.modrm().is_register());
+ VERIFY(insn.modrm().is_register());
fpu_set(insn.modrm().register_index(), fpu_get(0) - fpu_get(insn.modrm().register_index()));
fpu_pop();
}
void SoftCPU::FISUBR_RM16(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m16int = (i16)insn.modrm().read16(*this, insn).value();
// FIXME: Respect shadow values
fpu_set(0, (long double)m16int - fpu_get(0));
@@ -1962,14 +1962,14 @@ void SoftCPU::FISUBR_RM16(const X86::Instruction& insn)
void SoftCPU::FSUBP(const X86::Instruction& insn)
{
- ASSERT(insn.modrm().is_register());
+ VERIFY(insn.modrm().is_register());
fpu_set(insn.modrm().register_index(), fpu_get(insn.modrm().register_index()) - fpu_get(0));
fpu_pop();
}
void SoftCPU::FIDIV_RM16(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m16int = (i16)insn.modrm().read16(*this, insn).value();
// FIXME: Respect shadow values
// FIXME: Raise IA on 0 / _=0, raise Z on finite / +-0
@@ -1978,7 +1978,7 @@ void SoftCPU::FIDIV_RM16(const X86::Instruction& insn)
void SoftCPU::FDIVRP(const X86::Instruction& insn)
{
- ASSERT(insn.modrm().is_register());
+ VERIFY(insn.modrm().is_register());
// FIXME: Raise IA on + infinity / +-infinitiy, +-0 / +-0, raise Z on finite / +-0
fpu_set(insn.modrm().register_index(), fpu_get(0) / fpu_get(insn.modrm().register_index()));
fpu_pop();
@@ -1986,7 +1986,7 @@ void SoftCPU::FDIVRP(const X86::Instruction& insn)
void SoftCPU::FIDIVR_RM16(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m16int = (i16)insn.modrm().read16(*this, insn).value();
// FIXME: Respect shadow values
// FIXME: Raise IA on 0 / _=0, raise Z on finite / +-0
@@ -1995,7 +1995,7 @@ void SoftCPU::FIDIVR_RM16(const X86::Instruction& insn)
void SoftCPU::FDIVP(const X86::Instruction& insn)
{
- ASSERT(insn.modrm().is_register());
+ VERIFY(insn.modrm().is_register());
// FIXME: Raise IA on + infinity / +-infinitiy, +-0 / +-0, raise Z on finite / +-0
fpu_set(insn.modrm().register_index(), fpu_get(insn.modrm().register_index()) / fpu_get(0));
fpu_pop();
@@ -2003,7 +2003,7 @@ void SoftCPU::FDIVP(const X86::Instruction& insn)
void SoftCPU::FILD_RM16(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m16int = (i16)insn.modrm().read16(*this, insn).value();
// FIXME: Respect shadow values
fpu_push((long double)m16int);
@@ -2014,7 +2014,7 @@ void SoftCPU::FISTTP_RM16(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::FIST_RM16(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto f = fpu_get(0);
// FIXME: Respect rounding mode in m_fpu_cw.
auto i16 = static_cast<int16_t>(f);
@@ -2033,7 +2033,7 @@ void SoftCPU::FNSTSW_AX(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::FILD_RM64(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto m64int = (i64)insn.modrm().read64(*this, insn).value();
// FIXME: Respect shadow values
fpu_push((long double)m64int);
@@ -2055,7 +2055,7 @@ void SoftCPU::FCOMIP(const X86::Instruction& insn)
void SoftCPU::FISTP_RM64(const X86::Instruction& insn)
{
- ASSERT(!insn.modrm().is_register());
+ VERIFY(!insn.modrm().is_register());
auto f = fpu_pop();
// FIXME: Respect rounding mode in m_fpu_cw.
auto i64 = static_cast<int64_t>(f);
@@ -2241,7 +2241,7 @@ void SoftCPU::INTO(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::INT_imm8(const X86::Instruction& insn)
{
- ASSERT(insn.imm8() == 0x82);
+ VERIFY(insn.imm8() == 0x82);
// FIXME: virt_syscall should take ValueWithShadow and whine about uninitialized arguments
set_eax(shadow_wrap_as_initialized(m_emulator.virt_syscall(eax().value(), edx().value(), ecx().value(), ebx().value())));
}
@@ -2745,7 +2745,7 @@ void SoftCPU::PUSH_imm32(const X86::Instruction& insn)
void SoftCPU::PUSH_imm8(const X86::Instruction& insn)
{
- ASSERT(!insn.has_operand_size_override_prefix());
+ VERIFY(!insn.has_operand_size_override_prefix());
push32(shadow_wrap_as_initialized<u32>(sign_extended_to<i32>(insn.imm8())));
}
@@ -2872,7 +2872,7 @@ void SoftCPU::RDTSC(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::RET(const X86::Instruction& insn)
{
- ASSERT(!insn.has_operand_size_override_prefix());
+ VERIFY(!insn.has_operand_size_override_prefix());
auto ret_address = pop32();
warn_if_uninitialized(ret_address, "ret");
set_eip(ret_address.value());
@@ -2883,7 +2883,7 @@ void SoftCPU::RETF_imm16(const X86::Instruction&) { TODO_INSN(); }
void SoftCPU::RET_imm16(const X86::Instruction& insn)
{
- ASSERT(!insn.has_operand_size_override_prefix());
+ VERIFY(!insn.has_operand_size_override_prefix());
auto ret_address = pop32();
warn_if_uninitialized(ret_address, "ret imm16");
set_eip(ret_address.value());
diff --git a/Userland/DevTools/UserspaceEmulator/SoftCPU.h b/Userland/DevTools/UserspaceEmulator/SoftCPU.h
index 89ece8976d..21619c0c0d 100644
--- a/Userland/DevTools/UserspaceEmulator/SoftCPU.h
+++ b/Userland/DevTools/UserspaceEmulator/SoftCPU.h
@@ -118,7 +118,7 @@ public:
case X86::RegisterDH:
return { m_gpr[X86::RegisterEDX].high_u8, m_gpr_shadow[X86::RegisterEDX].high_u8 };
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
ValueWithShadow<u8> const_gpr8(X86::RegisterIndex8 reg) const
@@ -141,7 +141,7 @@ public:
case X86::RegisterDH:
return { m_gpr[X86::RegisterEDX].high_u8, m_gpr_shadow[X86::RegisterEDX].high_u8 };
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
ValueWithShadow<u16> const_gpr16(X86::RegisterIndex16 reg) const
@@ -431,7 +431,7 @@ public:
case 15:
return !((sf() ^ of()) | zf()); // NLE, G
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return 0;
}
@@ -1140,12 +1140,12 @@ private:
}
long double fpu_get(int i)
{
- ASSERT(i >= 0 && i <= m_fpu_top);
+ VERIFY(i >= 0 && i <= m_fpu_top);
return m_fpu[m_fpu_top - i];
}
void fpu_set(int i, long double n)
{
- ASSERT(i >= 0 && i <= m_fpu_top);
+ VERIFY(i >= 0 && i <= m_fpu_top);
m_fpu[m_fpu_top - i] = n;
}
diff --git a/Userland/DevTools/UserspaceEmulator/SoftMMU.cpp b/Userland/DevTools/UserspaceEmulator/SoftMMU.cpp
index 1822cb36d2..af835347e6 100644
--- a/Userland/DevTools/UserspaceEmulator/SoftMMU.cpp
+++ b/Userland/DevTools/UserspaceEmulator/SoftMMU.cpp
@@ -40,7 +40,7 @@ SoftMMU::SoftMMU(Emulator& emulator)
void SoftMMU::add_region(NonnullOwnPtr<Region> region)
{
- ASSERT(!find_region({ 0x23, region->base() }));
+ VERIFY(!find_region({ 0x23, region->base() }));
size_t first_page_in_region = region->base() / PAGE_SIZE;
size_t last_page_in_region = (region->base() + region->size() - 1) / PAGE_SIZE;
@@ -63,7 +63,7 @@ void SoftMMU::remove_region(Region& region)
void SoftMMU::set_tls_region(NonnullOwnPtr<Region> region)
{
- ASSERT(!m_tls_region);
+ VERIFY(!m_tls_region);
m_tls_region = move(region);
}
diff --git a/Userland/DynamicLoader/main.cpp b/Userland/DynamicLoader/main.cpp
index d1c7a2d029..43545dcd48 100644
--- a/Userland/DynamicLoader/main.cpp
+++ b/Userland/DynamicLoader/main.cpp
@@ -55,7 +55,7 @@ static void perform_self_relocations(auxv_t* auxvp)
found_base_address = true;
}
}
- ASSERT(found_base_address);
+ VERIFY(found_base_address);
Elf32_Ehdr* header = (Elf32_Ehdr*)(base_address);
Elf32_Phdr* pheader = (Elf32_Phdr*)(base_address + header->e_phoff);
u32 dynamic_section_addr = 0;
@@ -131,10 +131,10 @@ void _start(int argc, char** argv, char** envp)
_exit(1);
}
- ASSERT(main_program_fd >= 0);
- ASSERT(!main_program_name.is_empty());
+ VERIFY(main_program_fd >= 0);
+ VERIFY(!main_program_name.is_empty());
ELF::DynamicLinker::linker_main(move(main_program_name), main_program_fd, is_secure, argc, argv, envp);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Games/2048/BoardView.cpp b/Userland/Games/2048/BoardView.cpp
index 230c1eedc5..5730c494d6 100644
--- a/Userland/Games/2048/BoardView.cpp
+++ b/Userland/Games/2048/BoardView.cpp
@@ -165,7 +165,7 @@ Gfx::Color BoardView::background_color_for_cell(u32 value)
case 2048:
return Color::from_rgb(0xedc22e);
default:
- ASSERT(value > 2048);
+ VERIFY(value > 2048);
return Color::from_rgb(0x3c3a32);
}
}
diff --git a/Userland/Games/Chess/ChessWidget.cpp b/Userland/Games/Chess/ChessWidget.cpp
index c3c083f8d0..ec622f012f 100644
--- a/Userland/Games/Chess/ChessWidget.cpp
+++ b/Userland/Games/Chess/ChessWidget.cpp
@@ -270,7 +270,7 @@ void ChessWidget::mouseup_event(GUI::MouseEvent& event)
msg = "Draw by insufficient material.";
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (over) {
set_drag_enabled(false);
@@ -420,7 +420,7 @@ void ChessWidget::input_engine_move()
if (!want_engine_move())
return;
set_drag_enabled(drag_was_enabled);
- ASSERT(board().apply_move(move));
+ VERIFY(board().apply_move(move));
m_playback_move_number = m_board.moves().size();
m_playback = false;
m_board_markings.clear();
@@ -464,7 +464,7 @@ void ChessWidget::playback_move(PlaybackDirection direction)
}
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
update();
}
diff --git a/Userland/Games/Chess/Engine.cpp b/Userland/Games/Chess/Engine.cpp
index f02a4a5f5b..a0ccc72ba7 100644
--- a/Userland/Games/Chess/Engine.cpp
+++ b/Userland/Games/Chess/Engine.cpp
@@ -43,12 +43,12 @@ Engine::Engine(const StringView& command)
int rpipefds[2];
if (pipe2(wpipefds, O_CLOEXEC) < 0) {
perror("pipe2");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (pipe2(rpipefds, O_CLOEXEC) < 0) {
perror("pipe2");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
posix_spawn_file_actions_t file_actions;
@@ -60,7 +60,7 @@ Engine::Engine(const StringView& command)
const char* argv[] = { cstr.characters(), nullptr };
if (posix_spawnp(&m_pid, cstr.characters(), &file_actions, nullptr, const_cast<char**>(argv), environ) < 0) {
perror("posix_spawnp");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
posix_spawn_file_actions_destroy(&file_actions);
diff --git a/Userland/Games/Conway/Game.cpp b/Userland/Games/Conway/Game.cpp
index 83823eca92..52105fe447 100644
--- a/Userland/Games/Conway/Game.cpp
+++ b/Userland/Games/Conway/Game.cpp
@@ -177,6 +177,6 @@ void Game::interact_at(const Gfx::IntPoint& point)
m_universe[cell_y][cell_x] = false;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Games/Minesweeper/Field.cpp b/Userland/Games/Minesweeper/Field.cpp
index 2bec8dcc27..a859486884 100644
--- a/Userland/Games/Minesweeper/Field.cpp
+++ b/Userland/Games/Minesweeper/Field.cpp
@@ -416,7 +416,7 @@ void Field::on_square_right_clicked(Square& square)
void Field::set_flag(Square& square, bool flag)
{
- ASSERT(!square.is_swept);
+ VERIFY(!square.is_swept);
if (square.has_flag == flag)
return;
square.is_considering = false;
@@ -425,7 +425,7 @@ void Field::set_flag(Square& square, bool flag)
++m_flags_left;
} else {
- ASSERT(m_flags_left);
+ VERIFY(m_flags_left);
--m_flags_left;
}
square.has_flag = flag;
diff --git a/Userland/Games/Solitaire/Card.cpp b/Userland/Games/Solitaire/Card.cpp
index 23c3473632..1887393bb0 100644
--- a/Userland/Games/Solitaire/Card.cpp
+++ b/Userland/Games/Solitaire/Card.cpp
@@ -85,7 +85,7 @@ Card::Card(Type type, uint8_t value)
, m_type(type)
, m_value(value)
{
- ASSERT(value < card_count);
+ VERIFY(value < card_count);
Gfx::IntRect paint_rect({ 0, 0 }, { width, height });
if (s_background.is_null()) {
@@ -94,7 +94,7 @@ Card::Card(Type type, uint8_t value)
s_background->fill(Color::White);
auto image = Gfx::Bitmap::load_from_file("/res/icons/solitaire/buggie-deck.png");
- ASSERT(!image.is_null());
+ VERIFY(!image.is_null());
float aspect_ratio = image->width() / static_cast<float>(image->height());
auto target_size = Gfx::IntSize(static_cast<int>(aspect_ratio * (height - 5)), height - 5);
@@ -132,7 +132,7 @@ Card::Card(Type type, uint8_t value)
symbol = s_heart;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
painter.draw_bitmap(
@@ -152,7 +152,7 @@ Card::~Card()
void Card::draw(GUI::Painter& painter) const
{
- ASSERT(!s_background.is_null());
+ VERIFY(!s_background.is_null());
painter.blit(position(), m_upside_down ? *s_background : *m_front, m_front->rect());
}
diff --git a/Userland/Games/Solitaire/CardStack.cpp b/Userland/Games/Solitaire/CardStack.cpp
index bb2b1bade5..4e5953420b 100644
--- a/Userland/Games/Solitaire/CardStack.cpp
+++ b/Userland/Games/Solitaire/CardStack.cpp
@@ -39,7 +39,7 @@ CardStack::CardStack(const Gfx::IntPoint& position, Type type)
, m_rules(rules_for_type(type))
, m_base(m_position, { Card::width, Card::height })
{
- ASSERT(type != Invalid);
+ VERIFY(type != Invalid);
calculate_bounding_box();
}
@@ -77,7 +77,7 @@ void CardStack::draw(GUI::Painter& painter, const Gfx::Color& background_color)
painter.draw_rect(m_base, background_color.darkened(0.5));
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (is_empty())
@@ -99,7 +99,7 @@ void CardStack::draw(GUI::Painter& painter, const Gfx::Color& background_color)
void CardStack::rebound_cards()
{
- ASSERT(m_stack_positions.size() == m_stack.size());
+ VERIFY(m_stack_positions.size() == m_stack.size());
size_t card_index = 0;
for (auto& card : m_stack)
@@ -108,7 +108,7 @@ void CardStack::rebound_cards()
void CardStack::add_all_grabbed_cards(const Gfx::IntPoint& click_location, NonnullRefPtrVector<Card>& grabbed)
{
- ASSERT(grabbed.is_empty());
+ VERIFY(grabbed.is_empty());
if (m_type != Normal) {
auto& top_card = peek();
@@ -171,7 +171,7 @@ bool CardStack::is_allowed_to_push(const Card& card) const
return top_card.color() != card.color() && top_card.value() == card.value() + 1;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return true;
diff --git a/Userland/Games/Solitaire/SolitaireWidget.cpp b/Userland/Games/Solitaire/SolitaireWidget.cpp
index d6497db677..fbf1cc7eb1 100644
--- a/Userland/Games/Solitaire/SolitaireWidget.cpp
+++ b/Userland/Games/Solitaire/SolitaireWidget.cpp
@@ -71,7 +71,7 @@ void SolitaireWidget::tick(GUI::Window& window)
return;
if (m_game_over_animation) {
- ASSERT(!m_animation.card().is_null());
+ VERIFY(!m_animation.card().is_null());
if (m_animation.card()->position().x() > SolitaireWidget::width || m_animation.card()->rect().right() < 0)
create_new_animation_card();
diff --git a/Userland/Games/Solitaire/SolitaireWidget.h b/Userland/Games/Solitaire/SolitaireWidget.h
index 213251715d..e32cf05a24 100644
--- a/Userland/Games/Solitaire/SolitaireWidget.h
+++ b/Userland/Games/Solitaire/SolitaireWidget.h
@@ -60,7 +60,7 @@ private:
void tick()
{
- ASSERT(!m_animation_card.is_null());
+ VERIFY(!m_animation_card.is_null());
m_y_velocity += m_gravity;
if (m_animation_card->position().y() + Card::height + m_y_velocity > SolitaireWidget::height + 1 && m_y_velocity > 0) {
diff --git a/Userland/Libraries/LibAudio/Buffer.cpp b/Userland/Libraries/LibAudio/Buffer.cpp
index 7ee2c88343..274f01af90 100644
--- a/Userland/Libraries/LibAudio/Buffer.cpp
+++ b/Userland/Libraries/LibAudio/Buffer.cpp
@@ -70,7 +70,7 @@ static void read_samples_from_stream(InputMemoryStream& stream, SampleReader rea
}
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -127,13 +127,13 @@ RefPtr<Buffer> Buffer::from_pcm_stream(InputMemoryStream& stream, ResampleHelper
read_samples_from_stream(stream, read_norm_sample_24, fdata, resampler, num_channels);
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
// We should handle this in a better way above, but for now --
// just make sure we're good. Worst case we just write some 0s where they
// don't belong.
- ASSERT(!stream.handle_any_error());
+ VERIFY(!stream.handle_any_error());
return Buffer::create_with_samples(move(fdata));
}
diff --git a/Userland/Libraries/LibAudio/WavLoader.cpp b/Userland/Libraries/LibAudio/WavLoader.cpp
index d456c91dfd..23c013ef50 100644
--- a/Userland/Libraries/LibAudio/WavLoader.cpp
+++ b/Userland/Libraries/LibAudio/WavLoader.cpp
@@ -174,7 +174,7 @@ bool WavLoaderPlugin::parse_header()
u32 sz = read_u32();
ok = ok && sz < 1024 * 1024 * 1024; // arbitrary
CHECK_OK("File size");
- ASSERT(sz < 1024 * 1024 * 1024);
+ VERIFY(sz < 1024 * 1024 * 1024);
u32 wave = read_u32();
ok = ok && wave == 0x45564157; // "WAVE"
@@ -187,12 +187,12 @@ bool WavLoaderPlugin::parse_header()
u32 fmt_size = read_u32();
ok = ok && fmt_size == 16;
CHECK_OK("FMT size");
- ASSERT(fmt_size == 16);
+ VERIFY(fmt_size == 16);
u16 audio_format = read_u16();
CHECK_OK("Audio format"); // incomplete read check
ok = ok && audio_format == 1; // WAVE_FORMAT_PCM
- ASSERT(audio_format == 1);
+ VERIFY(audio_format == 1);
CHECK_OK("Audio format"); // value check
m_num_channels = read_u16();
@@ -211,7 +211,7 @@ bool WavLoaderPlugin::parse_header()
m_bits_per_sample = read_u16();
CHECK_OK("Bits per sample"); // incomplete read check
ok = ok && (m_bits_per_sample == 8 || m_bits_per_sample == 16 || m_bits_per_sample == 24);
- ASSERT(m_bits_per_sample == 8 || m_bits_per_sample == 16 || m_bits_per_sample == 24);
+ VERIFY(m_bits_per_sample == 8 || m_bits_per_sample == 16 || m_bits_per_sample == 24);
CHECK_OK("Bits per sample"); // value check
// Read chunks until we find DATA
@@ -241,7 +241,7 @@ bool WavLoaderPlugin::parse_header()
ok = ok && found_data;
CHECK_OK("Found no data chunk");
- ASSERT(found_data);
+ VERIFY(found_data);
ok = ok && data_sz < INT32_MAX;
CHECK_OK("Data was too large");
diff --git a/Userland/Libraries/LibAudio/WavWriter.cpp b/Userland/Libraries/LibAudio/WavWriter.cpp
index e60c5ccfd9..84eb7e8b2b 100644
--- a/Userland/Libraries/LibAudio/WavWriter.cpp
+++ b/Userland/Libraries/LibAudio/WavWriter.cpp
@@ -68,7 +68,7 @@ void WavWriter::write_samples(const u8* samples, size_t size)
void WavWriter::finalize()
{
- ASSERT(!m_finalized);
+ VERIFY(!m_finalized);
m_finalized = true;
if (m_file) {
m_file->seek(0);
diff --git a/Userland/Libraries/LibC/assert.h b/Userland/Libraries/LibC/assert.h
index 055553514b..7b8d26de9d 100644
--- a/Userland/Libraries/LibC/assert.h
+++ b/Userland/Libraries/LibC/assert.h
@@ -39,18 +39,18 @@ __attribute__((noreturn)) void __assertion_failed(const char* msg);
if (__builtin_expect(!(expr), 0)) \
__assertion_failed(#expr "\n" __FILE__ ":" __stringify(__LINE__)); \
} while (0)
-# define ASSERT_NOT_REACHED() assert(false)
+# define VERIFY_NOT_REACHED() assert(false)
#else
# define assert(expr) ((void)(0))
-# define ASSERT_NOT_REACHED() CRASH()
+# define VERIFY_NOT_REACHED() CRASH()
#endif
#define CRASH() \
do { \
asm volatile("ud2"); \
} while (0)
-#define ASSERT assert
+#define VERIFY assert
#define RELEASE_ASSERT assert
-#define TODO ASSERT_NOT_REACHED
+#define TODO VERIFY_NOT_REACHED
__END_DECLS
diff --git a/Userland/Libraries/LibC/cxxabi.cpp b/Userland/Libraries/LibC/cxxabi.cpp
index cfb5283e35..073956c189 100644
--- a/Userland/Libraries/LibC/cxxabi.cpp
+++ b/Userland/Libraries/LibC/cxxabi.cpp
@@ -110,7 +110,7 @@ void __cxa_finalize(void* dso_handle)
[[noreturn]] void __cxa_pure_virtual()
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
} // extern "C"
diff --git a/Userland/Libraries/LibC/dirent.cpp b/Userland/Libraries/LibC/dirent.cpp
index 504fa70367..e727c5ec1c 100644
--- a/Userland/Libraries/LibC/dirent.cpp
+++ b/Userland/Libraries/LibC/dirent.cpp
@@ -194,7 +194,7 @@ int readdir_r(DIR* dirp, struct dirent* entry, struct dirent** result)
int dirfd(DIR* dirp)
{
- ASSERT(dirp);
+ VERIFY(dirp);
return dirp->fd;
}
}
diff --git a/Userland/Libraries/LibC/dlfcn.cpp b/Userland/Libraries/LibC/dlfcn.cpp
index 49cd5b3930..9565246406 100644
--- a/Userland/Libraries/LibC/dlfcn.cpp
+++ b/Userland/Libraries/LibC/dlfcn.cpp
@@ -104,7 +104,7 @@ void* dlopen(const char* filename, int flags)
void* dlsym(void* handle, const char* symbol_name)
{
// FIXME: When called with a NULL handle we're supposed to search every dso in the process... that'll get expensive
- ASSERT(handle);
+ VERIFY(handle);
auto* dso = reinterpret_cast<ELF::DynamicLoader*>(handle);
void* symbol = dso->symbol_for_name(symbol_name);
if (!symbol) {
diff --git a/Userland/Libraries/LibC/getopt.cpp b/Userland/Libraries/LibC/getopt.cpp
index a8142262d7..f12032a5ec 100644
--- a/Userland/Libraries/LibC/getopt.cpp
+++ b/Userland/Libraries/LibC/getopt.cpp
@@ -142,7 +142,7 @@ int OptionParser::getopt()
if (should_reorder_argv)
shift_argv();
else
- ASSERT(optind == static_cast<int>(m_arg_index));
+ VERIFY(optind == static_cast<int>(m_arg_index));
optind += m_consumed_args;
return res;
@@ -152,7 +152,7 @@ bool OptionParser::lookup_short_option(char option, int& needs_value) const
{
Vector<StringView> parts = m_short_options.split_view(option, true);
- ASSERT(parts.size() <= 2);
+ VERIFY(parts.size() <= 2);
if (parts.size() < 2) {
// Haven't found the option in the spec.
return false;
@@ -175,7 +175,7 @@ bool OptionParser::lookup_short_option(char option, int& needs_value) const
int OptionParser::handle_short_option()
{
StringView arg = m_argv[m_arg_index];
- ASSERT(arg.starts_with('-'));
+ VERIFY(arg.starts_with('-'));
if (s_index_into_multioption_argument == 0) {
// Just starting to parse this argument, skip the "-".
@@ -245,7 +245,7 @@ const option* OptionParser::lookup_long_option(char* raw) const
optarg = nullptr;
return &option;
}
- ASSERT(arg.length() > name.length());
+ VERIFY(arg.length() > name.length());
if (arg[name.length()] == '=') {
optarg = raw + name.length() + 1;
return &option;
@@ -257,7 +257,7 @@ const option* OptionParser::lookup_long_option(char* raw) const
int OptionParser::handle_long_option()
{
- ASSERT(StringView(m_argv[m_arg_index]).starts_with("--"));
+ VERIFY(StringView(m_argv[m_arg_index]).starts_with("--"));
// We cannot set optopt to anything sensible for long options, so set it to 0.
optopt = 0;
@@ -298,7 +298,7 @@ int OptionParser::handle_long_option()
}
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
// Now that we've figured the value out, see about reporting this option to
@@ -314,7 +314,7 @@ void OptionParser::shift_argv()
{
// We've just parsed an option (which perhaps has a value).
// Put the option (along with it value, if any) in front of other arguments.
- ASSERT(optind <= static_cast<int>(m_arg_index));
+ VERIFY(optind <= static_cast<int>(m_arg_index));
if (optind == static_cast<int>(m_arg_index) || m_consumed_args == 0) {
// Nothing to do!
diff --git a/Userland/Libraries/LibC/libgen.cpp b/Userland/Libraries/LibC/libgen.cpp
index 13b6e668b8..7d198a802c 100644
--- a/Userland/Libraries/LibC/libgen.cpp
+++ b/Userland/Libraries/LibC/libgen.cpp
@@ -75,8 +75,8 @@ char* basename(char* path)
return path;
if (len == 1) {
- ASSERT(last_slash == path);
- ASSERT(path[0] == '/');
+ VERIFY(last_slash == path);
+ VERIFY(path[0] == '/');
return slash;
}
diff --git a/Userland/Libraries/LibC/malloc.cpp b/Userland/Libraries/LibC/malloc.cpp
index e06412c3bb..a340e04c9f 100644
--- a/Userland/Libraries/LibC/malloc.cpp
+++ b/Userland/Libraries/LibC/malloc.cpp
@@ -156,7 +156,7 @@ extern "C" {
static void* os_alloc(size_t size, const char* name)
{
auto* ptr = serenity_mmap(nullptr, size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0, ChunkedBlock::block_size, name);
- ASSERT(ptr != MAP_FAILED);
+ VERIFY(ptr != MAP_FAILED);
return ptr;
}
@@ -192,11 +192,11 @@ static void* malloc_impl(size_t size)
bool this_block_was_purged = rc == 1;
if (rc < 0) {
perror("madvise");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (mprotect(block, real_size, PROT_READ | PROT_WRITE) < 0) {
perror("mprotect");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (this_block_was_purged) {
g_malloc_stats.number_of_big_allocator_purge_hits++;
@@ -229,12 +229,12 @@ static void* malloc_impl(size_t size)
bool this_block_was_purged = rc == 1;
if (rc < 0) {
perror("madvise");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
rc = mprotect(block, ChunkedBlock::block_size, PROT_READ | PROT_WRITE);
if (rc < 0) {
perror("mprotect");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (this_block_was_purged) {
g_malloc_stats.number_of_empty_block_purge_hits++;
@@ -255,7 +255,7 @@ static void* malloc_impl(size_t size)
--block->m_free_chunks;
void* ptr = block->m_freelist;
- ASSERT(ptr);
+ VERIFY(ptr);
block->m_freelist = block->m_freelist->next;
if (block->is_full()) {
g_malloc_stats.number_of_blocks_full++;
@@ -296,11 +296,11 @@ static void free_impl(void* ptr)
size_t this_block_size = block->m_size;
if (mprotect(block, this_block_size, PROT_NONE) < 0) {
perror("mprotect");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (madvise(block, this_block_size, MADV_SET_VOLATILE) != 0) {
perror("madvise");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return;
}
@@ -390,7 +390,7 @@ size_t malloc_size(void* ptr)
if (header->m_magic == MAGIC_BIGALLOC_HEADER)
size -= sizeof(CommonHeader);
else
- ASSERT(header->m_magic == MAGIC_PAGE_HEADER);
+ VERIFY(header->m_magic == MAGIC_PAGE_HEADER);
return size;
}
diff --git a/Userland/Libraries/LibC/netdb.cpp b/Userland/Libraries/LibC/netdb.cpp
index f428948dd6..881e1beffe 100644
--- a/Userland/Libraries/LibC/netdb.cpp
+++ b/Userland/Libraries/LibC/netdb.cpp
@@ -142,13 +142,13 @@ hostent* gethostbyname(const char* name)
perror("write");
return nullptr;
}
- ASSERT((size_t)nsent == sizeof(request_header));
+ VERIFY((size_t)nsent == sizeof(request_header));
nsent = write(fd, name, name_length);
if (nsent < 0) {
perror("write");
return nullptr;
}
- ASSERT((size_t)nsent == name_length);
+ VERIFY((size_t)nsent == name_length);
struct [[gnu::packed]] {
u32 message_size;
@@ -163,7 +163,7 @@ hostent* gethostbyname(const char* name)
perror("recv");
return nullptr;
}
- ASSERT((size_t)nrecv == sizeof(response_header));
+ VERIFY((size_t)nrecv == sizeof(response_header));
if (response_header.endpoint_magic != lookup_server_endpoint_magic || response_header.message_id != 2) {
dbgln("Received an unexpected message");
return nullptr;
@@ -172,7 +172,7 @@ hostent* gethostbyname(const char* name)
// TODO: return a specific error.
return nullptr;
}
- ASSERT(response_header.addresses_count > 0);
+ VERIFY(response_header.addresses_count > 0);
i32 response_length;
nrecv = read(fd, &response_length, sizeof(response_length));
@@ -180,15 +180,15 @@ hostent* gethostbyname(const char* name)
perror("recv");
return nullptr;
}
- ASSERT((size_t)nrecv == sizeof(response_length));
- ASSERT(response_length == sizeof(__gethostbyname_address));
+ VERIFY((size_t)nrecv == sizeof(response_length));
+ VERIFY(response_length == sizeof(__gethostbyname_address));
nrecv = read(fd, &__gethostbyname_address, response_length);
if (nrecv < 0) {
perror("recv");
return nullptr;
}
- ASSERT(nrecv == response_length);
+ VERIFY(nrecv == response_length);
gethostbyname_name_buffer = name;
__gethostbyname_buffer.h_name = const_cast<char*>(gethostbyname_name_buffer.characters());
@@ -243,13 +243,13 @@ hostent* gethostbyaddr(const void* addr, socklen_t addr_size, int type)
perror("write");
return nullptr;
}
- ASSERT((size_t)nsent == sizeof(request_header));
+ VERIFY((size_t)nsent == sizeof(request_header));
nsent = write(fd, &in_addr, sizeof(in_addr));
if (nsent < 0) {
perror("write");
return nullptr;
}
- ASSERT((size_t)nsent == sizeof(in_addr));
+ VERIFY((size_t)nsent == sizeof(in_addr));
struct [[gnu::packed]] {
u32 message_size;
@@ -264,7 +264,7 @@ hostent* gethostbyaddr(const void* addr, socklen_t addr_size, int type)
perror("recv");
return nullptr;
}
- ASSERT((size_t)nrecv == sizeof(response_header));
+ VERIFY((size_t)nrecv == sizeof(response_header));
if (response_header.endpoint_magic != lookup_server_endpoint_magic || response_header.message_id != 4) {
dbgln("Received an unexpected message");
return nullptr;
@@ -281,7 +281,7 @@ hostent* gethostbyaddr(const void* addr, socklen_t addr_size, int type)
perror("recv");
return nullptr;
}
- ASSERT(nrecv == response_header.name_length);
+ VERIFY(nrecv == response_header.name_length);
gethostbyaddr_name_buffer = move(string_impl);
__gethostbyaddr_buffer.h_name = buffer;
@@ -661,12 +661,12 @@ int getaddrinfo(const char* __restrict node, const char* __restrict service, con
(void)service;
(void)hints;
(void)res;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void freeaddrinfo(struct addrinfo* res)
{
(void)res;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
const char* gai_strerror(int errcode)
{
diff --git a/Userland/Libraries/LibC/pwd.cpp b/Userland/Libraries/LibC/pwd.cpp
index 1d104e29c9..932b265d13 100644
--- a/Userland/Libraries/LibC/pwd.cpp
+++ b/Userland/Libraries/LibC/pwd.cpp
@@ -178,7 +178,7 @@ static void construct_pwd(struct passwd* pwd, char* buf, struct passwd** result)
ok = ok || s_dir.copy_characters_to_buffer(buf_dir, s_dir.length() + 1);
ok = ok || s_shell.copy_characters_to_buffer(buf_shell, s_shell.length() + 1);
- ASSERT(ok);
+ VERIFY(ok);
*result = pwd;
pwd->pw_name = buf_name;
diff --git a/Userland/Libraries/LibC/qsort.cpp b/Userland/Libraries/LibC/qsort.cpp
index 145cb1b19f..f2270c2e7b 100644
--- a/Userland/Libraries/LibC/qsort.cpp
+++ b/Userland/Libraries/LibC/qsort.cpp
@@ -50,7 +50,7 @@ namespace AK {
template<>
inline void swap(const SizedObject& a, const SizedObject& b)
{
- ASSERT(a.size() == b.size());
+ VERIFY(a.size() == b.size());
const size_t size = a.size();
const auto a_data = reinterpret_cast<char*>(a.data());
const auto b_data = reinterpret_cast<char*>(b.data());
diff --git a/Userland/Libraries/LibC/scanf.cpp b/Userland/Libraries/LibC/scanf.cpp
index bb51aad92d..7ec13da4ee 100644
--- a/Userland/Libraries/LibC/scanf.cpp
+++ b/Userland/Libraries/LibC/scanf.cpp
@@ -104,7 +104,7 @@ struct read_element_concrete<int, ApT, kind> {
return false;
auto diff = endptr - nptr;
- ASSERT(diff > 0);
+ VERIFY(diff > 0);
lexer.ignore((size_t)diff);
*ptr = value;
@@ -155,7 +155,7 @@ struct read_element_concrete<unsigned, ApT, kind> {
return false;
auto diff = endptr - nptr;
- ASSERT(diff > 0);
+ VERIFY(diff > 0);
lexer.ignore((size_t)diff);
*ptr = value;
@@ -189,7 +189,7 @@ struct read_element_concrete<unsigned long long, ApT, kind> {
return false;
auto diff = endptr - nptr;
- ASSERT(diff > 0);
+ VERIFY(diff > 0);
lexer.ignore((size_t)diff);
*ptr = value;
@@ -220,7 +220,7 @@ struct read_element_concrete<float, ApT, kind> {
return false;
auto diff = endptr - nptr;
- ASSERT(diff > 0);
+ VERIFY(diff > 0);
lexer.ignore((size_t)diff);
*ptr = value;
@@ -235,7 +235,7 @@ struct read_element {
switch (length_modifier) {
default:
case None:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case Default:
return read_element_concrete<T, T, kind> {}(input_lexer, ap);
case Char:
@@ -510,7 +510,7 @@ extern "C" int vsscanf(const char* input, const char* format, va_list ap)
default:
// "undefined behaviour", let's be nice and crash.
dbgln("Invalid conversion specifier {} in scanf!", (int)conversion_specifier);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case Decimal:
if (!read_element<int, ReadKind::Normal> {}(length_modifier, input_lexer, &ap))
format_lexer.consume_all();
diff --git a/Userland/Libraries/LibC/semaphore.cpp b/Userland/Libraries/LibC/semaphore.cpp
index 165c14eddc..618c3335f0 100644
--- a/Userland/Libraries/LibC/semaphore.cpp
+++ b/Userland/Libraries/LibC/semaphore.cpp
@@ -29,37 +29,37 @@
int sem_close(sem_t*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int sem_destroy(sem_t*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int sem_getvalue(sem_t*, int*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int sem_init(sem_t*, int, unsigned int)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
sem_t* sem_open(const char*, int, ...)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int sem_post(sem_t*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int sem_trywait(sem_t*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int sem_unlink(const char*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int sem_wait(sem_t*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
diff --git a/Userland/Libraries/LibC/signal.cpp b/Userland/Libraries/LibC/signal.cpp
index cea5e149f4..661a3b371e 100644
--- a/Userland/Libraries/LibC/signal.cpp
+++ b/Userland/Libraries/LibC/signal.cpp
@@ -227,7 +227,7 @@ static_assert(sizeof(signal_names) == sizeof(const char*) * NSIG);
int getsignalbyname(const char* name)
{
- ASSERT(name);
+ VERIFY(name);
for (size_t i = 0; i < NSIG; ++i) {
auto* signal_name = signal_names[i];
if (!strcmp(signal_name, name))
diff --git a/Userland/Libraries/LibC/stdio.cpp b/Userland/Libraries/LibC/stdio.cpp
index cecb0aef2a..1ff78cc413 100644
--- a/Userland/Libraries/LibC/stdio.cpp
+++ b/Userland/Libraries/LibC/stdio.cpp
@@ -141,7 +141,7 @@ private:
FILE::~FILE()
{
bool already_closed = m_fd == -1;
- ASSERT(already_closed);
+ VERIFY(already_closed);
}
FILE* FILE::create(int fd, int mode)
@@ -222,7 +222,7 @@ bool FILE::read_into_buffer()
size_t available_size;
u8* data = m_buffer.begin_enqueue(available_size);
// If we want to read, the buffer must have some space!
- ASSERT(available_size);
+ VERIFY(available_size);
ssize_t nread = do_read(data, available_size);
@@ -238,7 +238,7 @@ bool FILE::write_from_buffer()
size_t size;
const u8* data = m_buffer.begin_dequeue(size);
// If we want to write, the buffer must have something in it!
- ASSERT(size);
+ VERIFY(size);
ssize_t nwritten = do_write(data, size);
@@ -378,7 +378,7 @@ bool FILE::gets(u8* data, size_t size)
*data = 0;
return total_read > 0;
}
- ASSERT(nread == 1);
+ VERIFY(nread == 1);
*data = byte;
total_read++;
data++;
@@ -508,17 +508,17 @@ const u8* FILE::Buffer::begin_dequeue(size_t& available_size) const
void FILE::Buffer::did_dequeue(size_t actual_size)
{
- ASSERT(actual_size > 0);
+ VERIFY(actual_size > 0);
if (m_ungotten) {
- ASSERT(actual_size == 1);
+ VERIFY(actual_size == 1);
m_ungotten = false;
return;
}
m_begin += actual_size;
- ASSERT(m_begin <= m_capacity);
+ VERIFY(m_begin <= m_capacity);
if (m_begin == m_capacity) {
// Wrap around.
m_begin = 0;
@@ -534,7 +534,7 @@ void FILE::Buffer::did_dequeue(size_t actual_size)
u8* FILE::Buffer::begin_enqueue(size_t& available_size) const
{
- ASSERT(m_data != nullptr);
+ VERIFY(m_data != nullptr);
if (m_begin < m_end || m_empty)
available_size = m_capacity - m_end;
@@ -546,12 +546,12 @@ u8* FILE::Buffer::begin_enqueue(size_t& available_size) const
void FILE::Buffer::did_enqueue(size_t actual_size)
{
- ASSERT(m_data != nullptr);
- ASSERT(actual_size > 0);
+ VERIFY(m_data != nullptr);
+ VERIFY(actual_size > 0);
m_end += actual_size;
- ASSERT(m_end <= m_capacity);
+ VERIFY(m_end <= m_capacity);
if (m_end == m_capacity) {
// Wrap around.
m_end = 0;
@@ -590,7 +590,7 @@ void __stdio_init()
int setvbuf(FILE* stream, char* buf, int mode, size_t size)
{
- ASSERT(stream);
+ VERIFY(stream);
if (mode != _IONBF && mode != _IOLBF && mode != _IOFBF) {
errno = EINVAL;
return -1;
@@ -611,13 +611,13 @@ void setlinebuf(FILE* stream)
int fileno(FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
return stream->fileno();
}
int feof(FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
return stream->eof();
}
@@ -632,14 +632,14 @@ int fflush(FILE* stream)
char* fgets(char* buffer, int size, FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
bool ok = stream->gets(reinterpret_cast<u8*>(buffer), size);
return ok ? buffer : nullptr;
}
int fgetc(FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
char ch;
size_t nread = fread(&ch, sizeof(char), 1, stream);
if (nread == 1)
@@ -715,19 +715,19 @@ ssize_t getline(char** lineptr, size_t* n, FILE* stream)
int ungetc(int c, FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
bool ok = stream->ungetc(c);
return ok ? c : EOF;
}
int fputc(int ch, FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
u8 byte = ch;
size_t nwritten = stream->write(&byte, 1);
if (nwritten == 0)
return EOF;
- ASSERT(nwritten == 1);
+ VERIFY(nwritten == 1);
return byte;
}
@@ -743,7 +743,7 @@ int putchar(int ch)
int fputs(const char* s, FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
size_t len = strlen(s);
size_t nwritten = stream->write(reinterpret_cast<const u8*>(s), len);
if (nwritten < len)
@@ -761,20 +761,20 @@ int puts(const char* s)
void clearerr(FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
stream->clear_err();
}
int ferror(FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
return stream->error();
}
size_t fread(void* ptr, size_t size, size_t nmemb, FILE* stream)
{
- ASSERT(stream);
- ASSERT(!Checked<size_t>::multiplication_would_overflow(size, nmemb));
+ VERIFY(stream);
+ VERIFY(!Checked<size_t>::multiplication_would_overflow(size, nmemb));
size_t nread = stream->read(reinterpret_cast<u8*>(ptr), size * nmemb);
return nread / size;
@@ -782,8 +782,8 @@ size_t fread(void* ptr, size_t size, size_t nmemb, FILE* stream)
size_t fwrite(const void* ptr, size_t size, size_t nmemb, FILE* stream)
{
- ASSERT(stream);
- ASSERT(!Checked<size_t>::multiplication_would_overflow(size, nmemb));
+ VERIFY(stream);
+ VERIFY(!Checked<size_t>::multiplication_would_overflow(size, nmemb));
size_t nwritten = stream->write(reinterpret_cast<const u8*>(ptr), size * nmemb);
return nwritten / size;
@@ -791,32 +791,32 @@ size_t fwrite(const void* ptr, size_t size, size_t nmemb, FILE* stream)
int fseek(FILE* stream, long offset, int whence)
{
- ASSERT(stream);
+ VERIFY(stream);
return stream->seek(offset, whence);
}
int fseeko(FILE* stream, off_t offset, int whence)
{
- ASSERT(stream);
+ VERIFY(stream);
return stream->seek(offset, whence);
}
long ftell(FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
return stream->tell();
}
off_t ftello(FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
return stream->tell();
}
int fgetpos(FILE* stream, fpos_t* pos)
{
- ASSERT(stream);
- ASSERT(pos);
+ VERIFY(stream);
+ VERIFY(pos);
off_t val = stream->tell();
if (val == -1L)
@@ -828,17 +828,17 @@ int fgetpos(FILE* stream, fpos_t* pos)
int fsetpos(FILE* stream, const fpos_t* pos)
{
- ASSERT(stream);
- ASSERT(pos);
+ VERIFY(stream);
+ VERIFY(pos);
return stream->seek(*pos, SEEK_SET);
}
void rewind(FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
int rc = stream->seek(0, SEEK_SET);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
ALWAYS_INLINE void stdout_putch(char*&, char ch)
@@ -991,7 +991,7 @@ FILE* fopen(const char* pathname, const char* mode)
FILE* freopen(const char* pathname, const char* mode, FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
if (!pathname) {
// FIXME: Someone should probably implement this path.
TODO();
@@ -1022,7 +1022,7 @@ static inline bool is_default_stream(FILE* stream)
int fclose(FILE* stream)
{
- ASSERT(stream);
+ VERIFY(stream);
bool ok = stream->close();
ScopedValueRollback errno_restorer(errno);
@@ -1124,8 +1124,8 @@ FILE* popen(const char* command, const char* type)
int pclose(FILE* stream)
{
- ASSERT(stream);
- ASSERT(stream->popen_child() != 0);
+ VERIFY(stream);
+ VERIFY(stream->popen_child() != 0);
int wstatus = 0;
int rc = waitpid(stream->popen_child(), &wstatus, 0);
diff --git a/Userland/Libraries/LibC/stdlib.cpp b/Userland/Libraries/LibC/stdlib.cpp
index 049733dc6b..0b599202a8 100644
--- a/Userland/Libraries/LibC/stdlib.cpp
+++ b/Userland/Libraries/LibC/stdlib.cpp
@@ -289,7 +289,7 @@ int unsetenv(const char* name)
for (; environ[environ_size]; ++environ_size) {
char* old_var = environ[environ_size];
char* old_eq = strchr(old_var, '=');
- ASSERT(old_eq);
+ VERIFY(old_eq);
size_t old_var_len = old_eq - old_var;
if (new_var_len != old_var_len)
@@ -343,7 +343,7 @@ int putenv(char* new_var)
for (; environ[environ_size]; ++environ_size) {
char* old_var = environ[environ_size];
char* old_eq = strchr(old_var, '=');
- ASSERT(old_eq);
+ VERIFY(old_eq);
auto old_var_len = old_eq - old_var;
if (new_var_len != old_var_len)
@@ -491,7 +491,7 @@ double strtod(const char* str, char** endptr)
is_a_digit = false;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -547,7 +547,7 @@ double strtod(const char* str, char** endptr)
is_a_digit = false;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -955,7 +955,7 @@ long long strtoll(const char* str, char** endptr, int base)
is_a_digit = false;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -1039,7 +1039,7 @@ unsigned long long strtoull(const char* str, char** endptr, int base)
is_a_digit = false;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibC/sys/wait.cpp b/Userland/Libraries/LibC/sys/wait.cpp
index 2cde5e2821..70b1bb90e9 100644
--- a/Userland/Libraries/LibC/sys/wait.cpp
+++ b/Userland/Libraries/LibC/sys/wait.cpp
@@ -86,7 +86,7 @@ pid_t waitpid(pid_t waitee, int* wstatus, int options)
*wstatus = 0;
return 0; // return 0 if running
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibC/syslog.cpp b/Userland/Libraries/LibC/syslog.cpp
index 650347da96..b2242f6212 100644
--- a/Userland/Libraries/LibC/syslog.cpp
+++ b/Userland/Libraries/LibC/syslog.cpp
@@ -66,7 +66,7 @@ static const char* get_syslog_ident(struct syslog_data* data)
else if (program_name_set)
return program_name_buffer;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void openlog_r(const char* ident, int logopt, int facility, struct syslog_data* data)
diff --git a/Userland/Libraries/LibC/termcap.cpp b/Userland/Libraries/LibC/termcap.cpp
index 034663af9f..b21423ea12 100644
--- a/Userland/Libraries/LibC/termcap.cpp
+++ b/Userland/Libraries/LibC/termcap.cpp
@@ -137,7 +137,7 @@ int tgetnum(const char* id)
auto it = caps->find(id);
if (it != caps->end())
return atoi((*it).value);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
static Vector<char> s_tgoto_buffer;
diff --git a/Userland/Libraries/LibC/time.cpp b/Userland/Libraries/LibC/time.cpp
index df7010c646..56ef7a3663 100644
--- a/Userland/Libraries/LibC/time.cpp
+++ b/Userland/Libraries/LibC/time.cpp
@@ -84,7 +84,7 @@ static void time_to_tm(struct tm* tm, time_t t)
t += days_in_year(year - 1) * __seconds_per_day;
tm->tm_year = year - 1900;
- ASSERT(t >= 0);
+ VERIFY(t >= 0);
int days = t / __seconds_per_day;
tm->tm_yday = days;
int remaining = t % __seconds_per_day;
diff --git a/Userland/Libraries/LibC/unistd.cpp b/Userland/Libraries/LibC/unistd.cpp
index 64eadb14fa..e6a29bc41b 100644
--- a/Userland/Libraries/LibC/unistd.cpp
+++ b/Userland/Libraries/LibC/unistd.cpp
@@ -592,7 +592,7 @@ long fpathconf([[maybe_unused]] int fd, [[maybe_unused]] int name)
return _POSIX_VDISABLE;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
long pathconf([[maybe_unused]] const char* path, int name)
@@ -604,13 +604,13 @@ long pathconf([[maybe_unused]] const char* path, int name)
return PIPE_BUF;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void _exit(int status)
{
syscall(SC_exit, status);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void sync()
diff --git a/Userland/Libraries/LibChess/Chess.cpp b/Userland/Libraries/LibChess/Chess.cpp
index fae0c1e513..3bce22f647 100644
--- a/Userland/Libraries/LibChess/Chess.cpp
+++ b/Userland/Libraries/LibChess/Chess.cpp
@@ -79,7 +79,7 @@ Color opposing_color(Color color)
Square::Square(const StringView& name)
{
- ASSERT(name.length() == 2);
+ VERIFY(name.length() == 2);
char filec = name[0];
char rankc = name[1];
@@ -88,13 +88,13 @@ Square::Square(const StringView& name)
} else if (filec >= 'A' && filec <= 'H') {
file = filec - 'A';
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (rankc >= '1' && rankc <= '8') {
rank = rankc - '1';
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -312,7 +312,7 @@ String Board::to_fen() const
}
// 2. Active color
- ASSERT(m_turn != Color::None);
+ VERIFY(m_turn != Color::None);
builder.append(m_turn == Color::White ? " w " : " b ");
// 3. Castling availability
@@ -349,15 +349,15 @@ String Board::to_fen() const
Piece Board::get_piece(const Square& square) const
{
- ASSERT(square.rank < 8);
- ASSERT(square.file < 8);
+ VERIFY(square.rank < 8);
+ VERIFY(square.file < 8);
return m_board[square.rank][square.file];
}
Piece Board::set_piece(const Square& square, const Piece& piece)
{
- ASSERT(square.rank < 8);
- ASSERT(square.file < 8);
+ VERIFY(square.rank < 8);
+ VERIFY(square.file < 8);
return m_board[square.rank][square.file] = piece;
}
@@ -913,7 +913,7 @@ String Board::result_to_string(Result result, Color turn)
{
switch (result) {
case Result::CheckMate:
- ASSERT(turn != Chess::Color::None);
+ VERIFY(turn != Chess::Color::None);
return turn == Chess::Color::White ? "Black wins by Checkmate" : "White wins by Checkmate";
case Result::WhiteResign:
return "Black wins by Resignation";
@@ -934,7 +934,7 @@ String Board::result_to_string(Result result, Color turn)
case Chess::Board::Result::NotFinished:
return "Game not finished";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -942,7 +942,7 @@ String Board::result_to_points(Result result, Color turn)
{
switch (result) {
case Result::CheckMate:
- ASSERT(turn != Chess::Color::None);
+ VERIFY(turn != Chess::Color::None);
return turn == Chess::Color::White ? "0-1" : "1-0";
case Result::WhiteResign:
return "0-1";
@@ -963,7 +963,7 @@ String Board::result_to_points(Result result, Color turn)
case Chess::Board::Result::NotFinished:
return "*";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibChess/UCICommand.cpp b/Userland/Libraries/LibChess/UCICommand.cpp
index af4294c8df..f84f71a639 100644
--- a/Userland/Libraries/LibChess/UCICommand.cpp
+++ b/Userland/Libraries/LibChess/UCICommand.cpp
@@ -32,8 +32,8 @@ namespace Chess::UCI {
UCICommand UCICommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens[0] == "uci");
- ASSERT(tokens.size() == 1);
+ VERIFY(tokens[0] == "uci");
+ VERIFY(tokens.size() == 1);
return UCICommand();
}
@@ -45,14 +45,14 @@ String UCICommand::to_string() const
DebugCommand DebugCommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens[0] == "debug");
- ASSERT(tokens.size() == 2);
+ VERIFY(tokens[0] == "debug");
+ VERIFY(tokens.size() == 2);
if (tokens[1] == "on")
return DebugCommand(Flag::On);
if (tokens[1] == "off")
return DebugCommand(Flag::On);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
String DebugCommand::to_string() const
@@ -67,8 +67,8 @@ String DebugCommand::to_string() const
IsReadyCommand IsReadyCommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens[0] == "isready");
- ASSERT(tokens.size() == 1);
+ VERIFY(tokens[0] == "isready");
+ VERIFY(tokens.size() == 1);
return IsReadyCommand();
}
@@ -80,9 +80,9 @@ String IsReadyCommand::to_string() const
SetOptionCommand SetOptionCommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens[0] == "setoption");
- ASSERT(tokens[1] == "name");
- ASSERT(tokens.size() > 2);
+ VERIFY(tokens[0] == "setoption");
+ VERIFY(tokens[1] == "name");
+ VERIFY(tokens.size() > 2);
StringBuilder name;
StringBuilder value;
@@ -110,7 +110,7 @@ SetOptionCommand SetOptionCommand::from_string(const StringView& command)
}
}
- ASSERT(!name.is_empty());
+ VERIFY(!name.is_empty());
return SetOptionCommand(name.to_string().trim_whitespace(), value.to_string().trim_whitespace());
}
@@ -131,9 +131,9 @@ String SetOptionCommand::to_string() const
PositionCommand PositionCommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens.size() >= 3);
- ASSERT(tokens[0] == "position");
- ASSERT(tokens[2] == "moves");
+ VERIFY(tokens.size() >= 3);
+ VERIFY(tokens[0] == "position");
+ VERIFY(tokens[2] == "moves");
Optional<String> fen;
if (tokens[1] != "startpos")
@@ -167,40 +167,40 @@ String PositionCommand::to_string() const
GoCommand GoCommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens[0] == "go");
+ VERIFY(tokens[0] == "go");
GoCommand go_command;
for (size_t i = 1; i < tokens.size(); ++i) {
if (tokens[i] == "searchmoves") {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else if (tokens[i] == "ponder") {
go_command.ponder = true;
} else if (tokens[i] == "wtime") {
- ASSERT(i++ < tokens.size());
+ VERIFY(i++ < tokens.size());
go_command.wtime = tokens[i].to_int().value();
} else if (tokens[i] == "btime") {
- ASSERT(i++ < tokens.size());
+ VERIFY(i++ < tokens.size());
go_command.btime = tokens[i].to_int().value();
} else if (tokens[i] == "winc") {
- ASSERT(i++ < tokens.size());
+ VERIFY(i++ < tokens.size());
go_command.winc = tokens[i].to_int().value();
} else if (tokens[i] == "binc") {
- ASSERT(i++ < tokens.size());
+ VERIFY(i++ < tokens.size());
go_command.binc = tokens[i].to_int().value();
} else if (tokens[i] == "movestogo") {
- ASSERT(i++ < tokens.size());
+ VERIFY(i++ < tokens.size());
go_command.movestogo = tokens[i].to_int().value();
} else if (tokens[i] == "depth") {
- ASSERT(i++ < tokens.size());
+ VERIFY(i++ < tokens.size());
go_command.depth = tokens[i].to_int().value();
} else if (tokens[i] == "nodes") {
- ASSERT(i++ < tokens.size());
+ VERIFY(i++ < tokens.size());
go_command.nodes = tokens[i].to_int().value();
} else if (tokens[i] == "mate") {
- ASSERT(i++ < tokens.size());
+ VERIFY(i++ < tokens.size());
go_command.mate = tokens[i].to_int().value();
} else if (tokens[i] == "movetime") {
- ASSERT(i++ < tokens.size());
+ VERIFY(i++ < tokens.size());
go_command.movetime = tokens[i].to_int().value();
} else if (tokens[i] == "infinite") {
go_command.infinite = true;
@@ -253,8 +253,8 @@ String GoCommand::to_string() const
StopCommand StopCommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens[0] == "stop");
- ASSERT(tokens.size() == 1);
+ VERIFY(tokens[0] == "stop");
+ VERIFY(tokens.size() == 1);
return StopCommand();
}
@@ -266,7 +266,7 @@ String StopCommand::to_string() const
IdCommand IdCommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens[0] == "id");
+ VERIFY(tokens[0] == "id");
StringBuilder value;
for (size_t i = 2; i < tokens.size(); ++i) {
if (i != 2)
@@ -280,7 +280,7 @@ IdCommand IdCommand::from_string(const StringView& command)
} else if (tokens[1] == "author") {
return IdCommand(Type::Author, value.build());
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
String IdCommand::to_string() const
@@ -300,8 +300,8 @@ String IdCommand::to_string() const
UCIOkCommand UCIOkCommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens[0] == "uciok");
- ASSERT(tokens.size() == 1);
+ VERIFY(tokens[0] == "uciok");
+ VERIFY(tokens.size() == 1);
return UCIOkCommand();
}
@@ -313,8 +313,8 @@ String UCIOkCommand::to_string() const
ReadyOkCommand ReadyOkCommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens[0] == "readyok");
- ASSERT(tokens.size() == 1);
+ VERIFY(tokens[0] == "readyok");
+ VERIFY(tokens.size() == 1);
return ReadyOkCommand();
}
@@ -326,8 +326,8 @@ String ReadyOkCommand::to_string() const
BestMoveCommand BestMoveCommand::from_string(const StringView& command)
{
auto tokens = command.split_view(' ');
- ASSERT(tokens[0] == "bestmove");
- ASSERT(tokens.size() == 2);
+ VERIFY(tokens[0] == "bestmove");
+ VERIFY(tokens.size() == 2);
return BestMoveCommand(Move(tokens[1]));
}
@@ -343,13 +343,13 @@ String BestMoveCommand::to_string() const
InfoCommand InfoCommand::from_string([[maybe_unused]] const StringView& command)
{
// FIXME: Implement this.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
String InfoCommand::to_string() const
{
// FIXME: Implement this.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return "info";
}
diff --git a/Userland/Libraries/LibChess/UCIEndpoint.cpp b/Userland/Libraries/LibChess/UCIEndpoint.cpp
index 5e9066aacc..4c094b80fe 100644
--- a/Userland/Libraries/LibChess/UCIEndpoint.cpp
+++ b/Userland/Libraries/LibChess/UCIEndpoint.cpp
@@ -125,7 +125,7 @@ NonnullOwnPtr<Command> Endpoint::read_command()
}
dbgln("command line: {}", line);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
};
diff --git a/Userland/Libraries/LibCompress/Deflate.cpp b/Userland/Libraries/LibCompress/Deflate.cpp
index 184fe58e1e..f1749868bc 100644
--- a/Userland/Libraries/LibCompress/Deflate.cpp
+++ b/Userland/Libraries/LibCompress/Deflate.cpp
@@ -109,7 +109,7 @@ u32 CanonicalCode::read_symbol(InputBitStream& stream) const
for (;;) {
code_bits = code_bits << 1 | stream.read_bits(1);
- ASSERT(code_bits < (1 << 16));
+ VERIFY(code_bits < (1 << 16));
// FIXME: This is very inefficient and could greatly be improved by implementing this
// algorithm: https://www.hanshq.net/zip.html#huffdec
@@ -273,7 +273,7 @@ size_t DeflateDecompressor::read(Bytes bytes)
return nread + read(bytes.slice(nread));
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool DeflateDecompressor::read_or_error(Bytes bytes)
@@ -338,7 +338,7 @@ u32 DeflateDecompressor::decode_length(u32 symbol)
if (symbol == 285)
return 258;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
u32 DeflateDecompressor::decode_distance(u32 symbol)
@@ -353,7 +353,7 @@ u32 DeflateDecompressor::decode_distance(u32 symbol)
return ((symbol % 2 + 2) << extra_bits) + 1 + m_input_stream.read_bits(extra_bits);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void DeflateDecompressor::decode_codes(CanonicalCode& literal_code, Optional<CanonicalCode>& distance_code)
@@ -401,7 +401,7 @@ void DeflateDecompressor::decode_codes(CanonicalCode& literal_code, Optional<Can
code_lengths.append(0);
continue;
} else {
- ASSERT(symbol == 16);
+ VERIFY(symbol == 16);
if (code_lengths.is_empty()) {
set_fatal_error();
diff --git a/Userland/Libraries/LibCompress/Zlib.cpp b/Userland/Libraries/LibCompress/Zlib.cpp
index dc2d112ad6..852e829935 100644
--- a/Userland/Libraries/LibCompress/Zlib.cpp
+++ b/Userland/Libraries/LibCompress/Zlib.cpp
@@ -47,10 +47,10 @@ Zlib::Zlib(ReadonlyBytes data)
m_compression_level = (flags >> 6) & 0x3;
m_checksum = 0;
- ASSERT(m_compression_method == 8);
- ASSERT(m_compression_info == 7);
- ASSERT(!m_has_dictionary);
- ASSERT((compression_info * 256 + flags) % 31 == 0);
+ VERIFY(m_compression_method == 8);
+ VERIFY(m_compression_info == 7);
+ VERIFY(!m_has_dictionary);
+ VERIFY((compression_info * 256 + flags) % 31 == 0);
m_data_bytes = data.slice(2, data.size() - 2 - 4);
}
diff --git a/Userland/Libraries/LibCore/Account.cpp b/Userland/Libraries/LibCore/Account.cpp
index 5a71b1e053..2b2e5d28c0 100644
--- a/Userland/Libraries/LibCore/Account.cpp
+++ b/Userland/Libraries/LibCore/Account.cpp
@@ -200,9 +200,9 @@ String Account::generate_passwd_file() const
void Account::load_shadow_file()
{
auto file_or_error = Core::File::open("/etc/shadow", Core::File::ReadOnly);
- ASSERT(!file_or_error.is_error());
+ VERIFY(!file_or_error.is_error());
auto shadow_file = file_or_error.release_value();
- ASSERT(shadow_file->is_open());
+ VERIFY(shadow_file->is_open());
Vector<ShadowEntry> entries;
@@ -250,7 +250,7 @@ bool Account::sync()
auto new_shadow_file_content = generate_shadow_file();
if (new_passwd_file_content.is_null() || new_shadow_file_content.is_null()) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
char new_passwd_name[] = "/etc/passwd.XXXXXX";
@@ -260,34 +260,34 @@ bool Account::sync()
auto new_passwd_fd = mkstemp(new_passwd_name);
if (new_passwd_fd < 0) {
perror("mkstemp");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
ScopeGuard new_passwd_fd_guard = [new_passwd_fd] { close(new_passwd_fd); };
auto new_shadow_fd = mkstemp(new_shadow_name);
if (new_shadow_fd < 0) {
perror("mkstemp");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
ScopeGuard new_shadow_fd_guard = [new_shadow_fd] { close(new_shadow_fd); };
if (fchmod(new_passwd_fd, 0644) < 0) {
perror("fchmod");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
auto nwritten = write(new_passwd_fd, new_passwd_file_content.characters(), new_passwd_file_content.length());
if (nwritten < 0) {
perror("write");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
- ASSERT(static_cast<size_t>(nwritten) == new_passwd_file_content.length());
+ VERIFY(static_cast<size_t>(nwritten) == new_passwd_file_content.length());
nwritten = write(new_shadow_fd, new_shadow_file_content.characters(), new_shadow_file_content.length());
if (nwritten < 0) {
perror("write");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
- ASSERT(static_cast<size_t>(nwritten) == new_shadow_file_content.length());
+ VERIFY(static_cast<size_t>(nwritten) == new_shadow_file_content.length());
}
if (rename(new_passwd_name, "/etc/passwd") < 0) {
diff --git a/Userland/Libraries/LibCore/AnonymousBuffer.cpp b/Userland/Libraries/LibCore/AnonymousBuffer.cpp
index 8f6b1bedad..e30d229c7c 100644
--- a/Userland/Libraries/LibCore/AnonymousBuffer.cpp
+++ b/Userland/Libraries/LibCore/AnonymousBuffer.cpp
@@ -87,10 +87,10 @@ AnonymousBufferImpl::~AnonymousBufferImpl()
{
if (m_fd != -1) {
auto rc = close(m_fd);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
auto rc = munmap(m_data, round_up_to_power_of_two(m_size, PAGE_SIZE));
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
AnonymousBuffer AnonymousBuffer::create_from_anon_fd(int fd, size_t size)
diff --git a/Userland/Libraries/LibCore/ArgsParser.cpp b/Userland/Libraries/LibCore/ArgsParser.cpp
index 121272e38b..ae94b3a39e 100644
--- a/Userland/Libraries/LibCore/ArgsParser.cpp
+++ b/Userland/Libraries/LibCore/ArgsParser.cpp
@@ -104,16 +104,16 @@ bool ArgsParser::parse(int argc, char** argv, bool exit_on_failure)
Option* found_option = nullptr;
if (c == 0) {
// It was a long option.
- ASSERT(index_of_found_long_option >= 0);
+ VERIFY(index_of_found_long_option >= 0);
found_option = &m_options[index_of_found_long_option];
index_of_found_long_option = -1;
} else {
// It was a short option, look it up.
auto it = m_options.find_if([c](auto& opt) { return c == opt.short_name; });
- ASSERT(!it.is_end());
+ VERIFY(!it.is_end());
found_option = &*it;
}
- ASSERT(found_option);
+ VERIFY(found_option);
const char* arg = found_option->requires_argument ? optarg : nullptr;
if (!found_option->accept_value(arg)) {
@@ -264,7 +264,7 @@ void ArgsParser::add_option(bool& value, const char* help_string, const char* lo
short_name,
nullptr,
[&value](const char* s) {
- ASSERT(s == nullptr);
+ VERIFY(s == nullptr);
value = true;
return true;
}
diff --git a/Userland/Libraries/LibCore/Command.cpp b/Userland/Libraries/LibCore/Command.cpp
index 23f9560c46..d75a645777 100644
--- a/Userland/Libraries/LibCore/Command.cpp
+++ b/Userland/Libraries/LibCore/Command.cpp
@@ -56,11 +56,11 @@ String command(const String& program, const Vector<String>& arguments, Optional<
int stderr_pipe[2] = {};
if (pipe2(stdout_pipe, O_CLOEXEC)) {
perror("pipe2");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (pipe2(stderr_pipe, O_CLOEXEC)) {
perror("pipe2");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
auto close_pipes = ScopeGuard([stderr_pipe, stdout_pipe] {
@@ -88,7 +88,7 @@ String command(const String& program, const Vector<String>& arguments, Optional<
pid_t pid;
if ((errno = posix_spawnp(&pid, program.characters(), &action, nullptr, const_cast<char**>(argv), environ))) {
perror("posix_spawn");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int wstatus;
waitpid(pid, &wstatus, 0);
@@ -102,7 +102,7 @@ String command(const String& program, const Vector<String>& arguments, Optional<
auto result_file = Core::File::construct();
if (!result_file->open(pipe[0], Core::IODevice::ReadOnly, Core::File::ShouldCloseFileDescriptor::Yes)) {
perror("open");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return String::copy(result_file->read_all());
};
diff --git a/Userland/Libraries/LibCore/ElapsedTimer.cpp b/Userland/Libraries/LibCore/ElapsedTimer.cpp
index 9d0fc95378..35a4aff3d0 100644
--- a/Userland/Libraries/LibCore/ElapsedTimer.cpp
+++ b/Userland/Libraries/LibCore/ElapsedTimer.cpp
@@ -43,7 +43,7 @@ void ElapsedTimer::start()
int ElapsedTimer::elapsed() const
{
- ASSERT(is_valid());
+ VERIFY(is_valid());
struct timeval now;
timespec now_spec;
clock_gettime(m_precise ? CLOCK_MONOTONIC : CLOCK_MONOTONIC_COARSE, &now_spec);
diff --git a/Userland/Libraries/LibCore/EventLoop.cpp b/Userland/Libraries/LibCore/EventLoop.cpp
index f05e9ba126..c74482f241 100644
--- a/Userland/Libraries/LibCore/EventLoop.cpp
+++ b/Userland/Libraries/LibCore/EventLoop.cpp
@@ -160,7 +160,7 @@ public:
shutdown();
return;
}
- ASSERT(nread == sizeof(length));
+ VERIFY(nread == sizeof(length));
auto request = m_socket->read(length);
auto request_json = JsonValue::from_string(request);
@@ -296,7 +296,7 @@ EventLoop::EventLoop()
fcntl(s_wake_pipe_fds[1], F_SETFD, FD_CLOEXEC);
#endif
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
s_event_loop_stack->append(this);
#ifdef __serenity__
@@ -326,20 +326,20 @@ bool EventLoop::start_rpc_server()
};
return s_rpc_server->listen(String::formatted("/tmp/rpc/{}", getpid()));
#else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
#endif
}
EventLoop& EventLoop::main()
{
- ASSERT(s_main_event_loop);
+ VERIFY(s_main_event_loop);
return *s_main_event_loop;
}
EventLoop& EventLoop::current()
{
EventLoop* event_loop = s_event_loop_stack->last();
- ASSERT(event_loop != nullptr);
+ VERIFY(event_loop != nullptr);
return *event_loop;
}
@@ -391,7 +391,7 @@ int EventLoop::exec()
return m_exit_code;
pump();
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void EventLoop::pump(WaitMode mode)
@@ -415,7 +415,7 @@ void EventLoop::pump(WaitMode mode)
if (!receiver) {
switch (event.type()) {
case Event::Quit:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return;
default:
#if EVENTLOOP_DEBUG
@@ -485,7 +485,7 @@ void SignalHandlers::dispatch()
for (auto& handler : m_handlers_pending) {
if (handler.value) {
auto result = m_handlers.set(handler.key, move(handler.value));
- ASSERT(result == AK::HashSetResult::InsertedNewEntry);
+ VERIFY(result == AK::HashSetResult::InsertedNewEntry);
} else {
m_handlers.remove(handler.key);
}
@@ -506,7 +506,7 @@ int SignalHandlers::add(Function<void(int)>&& handler)
bool SignalHandlers::remove(int handler_id)
{
- ASSERT(handler_id != 0);
+ VERIFY(handler_id != 0);
if (m_calling_handlers) {
auto it = m_handlers.find(handler_id);
if (it != m_handlers.end()) {
@@ -544,7 +544,7 @@ void EventLoop::dispatch_signal(int signo)
void EventLoop::handle_signal(int signo)
{
- ASSERT(signo != 0);
+ VERIFY(signo != 0);
// We MUST check if the current pid still matches, because there
// is a window between fork() and exec() where a signal delivered
// to our fork could be inadvertedly routed to the parent process!
@@ -552,7 +552,7 @@ void EventLoop::handle_signal(int signo)
int nwritten = write(s_wake_pipe_fds[1], &signo, sizeof(signo));
if (nwritten < 0) {
perror("EventLoop::register_signal: write");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
} else {
// We're a fork who received a signal, reset s_pid
@@ -562,7 +562,7 @@ void EventLoop::handle_signal(int signo)
int EventLoop::register_signal(int signo, Function<void(int)> handler)
{
- ASSERT(signo != 0);
+ VERIFY(signo != 0);
auto& info = *signals_info();
auto handlers = info.signal_handlers.find(signo);
if (handlers == info.signal_handlers.end()) {
@@ -577,7 +577,7 @@ int EventLoop::register_signal(int signo, Function<void(int)> handler)
void EventLoop::unregister_signal(int handler_id)
{
- ASSERT(handler_id != 0);
+ VERIFY(handler_id != 0);
int remove_signo = 0;
auto& info = *signals_info();
for (auto& h : info.signal_handlers) {
@@ -612,7 +612,7 @@ void EventLoop::notify_forked(ForkEvent event)
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void EventLoop::wait_for_event(WaitMode mode)
@@ -639,7 +639,7 @@ retry:
if (notifier->event_mask() & Notifier::Write)
add_fd_to_set(notifier->fd(), wfds);
if (notifier->event_mask() & Notifier::Exceptional)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool queued_events_is_empty;
@@ -681,16 +681,16 @@ try_select_again:
dbgln("Core::EventLoop::wait_for_event: {} ({}: {})", marked_fd_count, saved_errno, strerror(saved_errno));
#endif
// Blow up, similar to Core::safe_syscall.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (FD_ISSET(s_wake_pipe_fds[0], &rfds)) {
int wake_events[8];
auto nread = read(s_wake_pipe_fds[0], wake_events, sizeof(wake_events));
if (nread < 0) {
perror("read from wake pipe");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
- ASSERT(nread > 0);
+ VERIFY(nread > 0);
bool wake_requested = false;
int event_count = nread / sizeof(wake_events[0]);
for (int i = 0; i < event_count; i++) {
@@ -729,7 +729,7 @@ try_select_again:
timer.reload(now);
} else {
// FIXME: Support removing expired timers that don't want to reload.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -778,7 +778,7 @@ Optional<struct timeval> EventLoop::get_next_timer_expiration()
int EventLoop::register_timer(Object& object, int milliseconds, bool should_reload, TimerShouldFireWhenNotVisible fire_when_not_visible)
{
- ASSERT(milliseconds >= 0);
+ VERIFY(milliseconds >= 0);
auto timer = make<EventLoopTimer>();
timer->owner = object;
timer->interval = milliseconds;
@@ -822,7 +822,7 @@ void EventLoop::wake()
int nwritten = write(s_wake_pipe_fds[1], &wake_event, sizeof(wake_event));
if (nwritten < 0) {
perror("EventLoop::wake: write");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibCore/File.cpp b/Userland/Libraries/LibCore/File.cpp
index f5522ed14d..d04a8982b0 100644
--- a/Userland/Libraries/LibCore/File.cpp
+++ b/Userland/Libraries/LibCore/File.cpp
@@ -81,7 +81,7 @@ bool File::open(IODevice::OpenMode mode)
bool File::open_impl(IODevice::OpenMode mode, mode_t permissions)
{
- ASSERT(!m_filename.is_null());
+ VERIFY(!m_filename.is_null());
int flags = 0;
if ((mode & IODevice::ReadWrite) == IODevice::ReadWrite) {
flags |= O_RDWR | O_CREAT;
@@ -144,7 +144,7 @@ String File::real_path_for(const String& filename)
bool File::ensure_parent_directories(const String& path)
{
- ASSERT(path.starts_with("/"));
+ VERIFY(path.starts_with("/"));
int saved_errno = 0;
ScopeGuard restore_errno = [&saved_errno] { errno = saved_errno; };
@@ -365,7 +365,7 @@ Result<void, File::CopyError> File::copy_file(const String& dst_path, const stru
if (nwritten < 0)
return CopyError { OSError(errno), false };
- ASSERT(nwritten > 0);
+ VERIFY(nwritten > 0);
remaining_to_write -= nwritten;
bufptr += nwritten;
}
diff --git a/Userland/Libraries/LibCore/FileStream.h b/Userland/Libraries/LibCore/FileStream.h
index 0c8774d28a..03247aa2c2 100644
--- a/Userland/Libraries/LibCore/FileStream.h
+++ b/Userland/Libraries/LibCore/FileStream.h
@@ -42,7 +42,7 @@ public:
static Result<InputFileStream, String> open(StringView filename, IODevice::OpenMode mode = IODevice::OpenMode::ReadOnly, mode_t permissions = 0644)
{
- ASSERT((mode & 0xf) == IODevice::OpenMode::ReadOnly || (mode & 0xf) == IODevice::OpenMode::ReadWrite);
+ VERIFY((mode & 0xf) == IODevice::OpenMode::ReadOnly || (mode & 0xf) == IODevice::OpenMode::ReadWrite);
auto file_result = File::open(filename, mode, permissions);
@@ -54,7 +54,7 @@ public:
static Result<Buffered<InputFileStream>, String> open_buffered(StringView filename, IODevice::OpenMode mode = IODevice::OpenMode::ReadOnly, mode_t permissions = 0644)
{
- ASSERT((mode & 0xf) == IODevice::OpenMode::ReadOnly || (mode & 0xf) == IODevice::OpenMode::ReadWrite);
+ VERIFY((mode & 0xf) == IODevice::OpenMode::ReadOnly || (mode & 0xf) == IODevice::OpenMode::ReadWrite);
auto file_result = File::open(filename, mode, permissions);
@@ -106,7 +106,7 @@ public:
static Result<OutputFileStream, String> open(StringView filename, IODevice::OpenMode mode = IODevice::OpenMode::WriteOnly, mode_t permissions = 0644)
{
- ASSERT((mode & 0xf) == IODevice::OpenMode::WriteOnly || (mode & 0xf) == IODevice::OpenMode::ReadWrite);
+ VERIFY((mode & 0xf) == IODevice::OpenMode::WriteOnly || (mode & 0xf) == IODevice::OpenMode::ReadWrite);
auto file_result = File::open(filename, mode, permissions);
@@ -118,7 +118,7 @@ public:
static Result<Buffered<OutputFileStream>, String> open_buffered(StringView filename, IODevice::OpenMode mode = IODevice::OpenMode::WriteOnly, mode_t permissions = 0644)
{
- ASSERT((mode & 0xf) == IODevice::OpenMode::WriteOnly || (mode & 0xf) == IODevice::OpenMode::ReadWrite);
+ VERIFY((mode & 0xf) == IODevice::OpenMode::WriteOnly || (mode & 0xf) == IODevice::OpenMode::ReadWrite);
auto file_result = File::open(filename, mode, permissions);
diff --git a/Userland/Libraries/LibCore/FileWatcher.cpp b/Userland/Libraries/LibCore/FileWatcher.cpp
index 19bb73eb8a..70ed9928bc 100644
--- a/Userland/Libraries/LibCore/FileWatcher.cpp
+++ b/Userland/Libraries/LibCore/FileWatcher.cpp
@@ -72,7 +72,7 @@ BlockingFileWatcher::BlockingFileWatcher(const String& path)
: m_path(path)
{
m_watcher_fd = watch_file(path.characters(), path.length());
- ASSERT(m_watcher_fd != -1);
+ VERIFY(m_watcher_fd != -1);
}
BlockingFileWatcher::~BlockingFileWatcher()
diff --git a/Userland/Libraries/LibCore/GetPassword.cpp b/Userland/Libraries/LibCore/GetPassword.cpp
index dfcff21583..88bb27345a 100644
--- a/Userland/Libraries/LibCore/GetPassword.cpp
+++ b/Userland/Libraries/LibCore/GetPassword.cpp
@@ -58,7 +58,7 @@ Result<String, OSError> get_password(const StringView& prompt)
if (line_length < 0)
return OSError(saved_errno);
- ASSERT(line_length != 0);
+ VERIFY(line_length != 0);
// Remove trailing '\n' read by getline().
password[line_length - 1] = '\0';
diff --git a/Userland/Libraries/LibCore/Gzip.cpp b/Userland/Libraries/LibCore/Gzip.cpp
index 25c88bb15c..4dcdbe39f1 100644
--- a/Userland/Libraries/LibCore/Gzip.cpp
+++ b/Userland/Libraries/LibCore/Gzip.cpp
@@ -46,7 +46,7 @@ static Optional<ByteBuffer> get_gzip_payload(const ByteBuffer& data)
size_t current = 0;
auto read_byte = [&]() {
if (current >= data.size()) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return (u8)0;
}
return data[current++];
@@ -108,7 +108,7 @@ static Optional<ByteBuffer> get_gzip_payload(const ByteBuffer& data)
Optional<ByteBuffer> Gzip::decompress(const ByteBuffer& data)
{
- ASSERT(is_compressed(data));
+ VERIFY(is_compressed(data));
dbgln_if(GZIP_DEBUG, "Gzip::decompress: Decompressing gzip compressed data. size={}", data.size());
auto optional_payload = get_gzip_payload(data);
@@ -150,7 +150,7 @@ Optional<ByteBuffer> Gzip::decompress(const ByteBuffer& data)
destination.grow(destination.size() * 2);
} else {
dbgln("Gzip::decompress: Error. puff() returned: {}", puff_ret);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibCore/IODeviceStreamReader.h b/Userland/Libraries/LibCore/IODeviceStreamReader.h
index 0339c30272..bae5815d82 100644
--- a/Userland/Libraries/LibCore/IODeviceStreamReader.h
+++ b/Userland/Libraries/LibCore/IODeviceStreamReader.h
@@ -47,7 +47,7 @@ public:
IODeviceStreamReader& operator>>(T& value)
{
int nread = m_device.read((u8*)&value, sizeof(T));
- ASSERT(nread == sizeof(T));
+ VERIFY(nread == sizeof(T));
if (nread != sizeof(T))
m_had_failure = true;
return *this;
diff --git a/Userland/Libraries/LibCore/LocalServer.cpp b/Userland/Libraries/LibCore/LocalServer.cpp
index ec99d51317..46d7d3ddd2 100644
--- a/Userland/Libraries/LibCore/LocalServer.cpp
+++ b/Userland/Libraries/LibCore/LocalServer.cpp
@@ -112,12 +112,12 @@ bool LocalServer::listen(const String& address)
ioctl(m_fd, FIONBIO, &option);
fcntl(m_fd, F_SETFD, FD_CLOEXEC);
#endif
- ASSERT(m_fd >= 0);
+ VERIFY(m_fd >= 0);
#ifndef __APPLE__
rc = fchmod(m_fd, 0600);
if (rc < 0) {
perror("fchmod");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
#endif
@@ -147,7 +147,7 @@ bool LocalServer::listen(const String& address)
RefPtr<LocalSocket> LocalServer::accept()
{
- ASSERT(m_listening);
+ VERIFY(m_listening);
sockaddr_un un;
socklen_t un_size = sizeof(un);
int accepted_fd = ::accept(m_fd, (sockaddr*)&un, &un_size);
diff --git a/Userland/Libraries/LibCore/NetworkJob.cpp b/Userland/Libraries/LibCore/NetworkJob.cpp
index a2884d5a54..a25273a86f 100644
--- a/Userland/Libraries/LibCore/NetworkJob.cpp
+++ b/Userland/Libraries/LibCore/NetworkJob.cpp
@@ -55,7 +55,7 @@ void NetworkJob::did_finish(NonnullRefPtr<NetworkResponse>&& response)
m_response = move(response);
dbgln_if(CNETWORKJOB_DEBUG, "{} job did_finish", *this);
- ASSERT(on_finish);
+ VERIFY(on_finish);
on_finish(true);
shutdown();
}
@@ -68,7 +68,7 @@ void NetworkJob::did_fail(Error error)
m_error = error;
dbgln_if(CNETWORKJOB_DEBUG, "{}{{{:p}}} job did_fail! error: {} ({})", class_name(), this, (unsigned)error, to_string(error));
- ASSERT(on_finish);
+ VERIFY(on_finish);
on_finish(false);
shutdown();
}
diff --git a/Userland/Libraries/LibCore/Object.cpp b/Userland/Libraries/LibCore/Object.cpp
index 55cd102409..800f557384 100644
--- a/Userland/Libraries/LibCore/Object.cpp
+++ b/Userland/Libraries/LibCore/Object.cpp
@@ -84,7 +84,7 @@ void Object::event(Core::Event& event)
case Core::Event::ChildRemoved:
return child_event(static_cast<ChildEvent&>(event));
case Core::Event::Invalid:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
case Core::Event::Custom:
return custom_event(static_cast<CustomEvent&>(event));
@@ -96,7 +96,7 @@ void Object::event(Core::Event& event)
void Object::add_child(Object& object)
{
// FIXME: Should we support reparenting objects?
- ASSERT(!object.parent() || object.parent() == this);
+ VERIFY(!object.parent() || object.parent() == this);
object.m_parent = this;
m_children.append(object);
Core::ChildEvent child_event(Core::Event::ChildAdded, object);
@@ -106,7 +106,7 @@ void Object::add_child(Object& object)
void Object::insert_child_before(Object& new_child, Object& before_child)
{
// FIXME: Should we support reparenting objects?
- ASSERT(!new_child.parent() || new_child.parent() == this);
+ VERIFY(!new_child.parent() || new_child.parent() == this);
new_child.m_parent = this;
m_children.insert_before_matching(new_child, [&](auto& existing_child) { return existing_child.ptr() == &before_child; });
Core::ChildEvent child_event(Core::Event::ChildAdded, new_child, &before_child);
@@ -126,7 +126,7 @@ void Object::remove_child(Object& object)
return;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Object::remove_all_children()
@@ -151,7 +151,7 @@ void Object::start_timer(int ms, TimerShouldFireWhenNotVisible fire_when_not_vis
{
if (m_timer_id) {
dbgln("{} {:p} already has a timer!", class_name(), this);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_timer_id = Core::EventLoop::register_timer(*this, ms, true, fire_when_not_visible);
@@ -162,7 +162,7 @@ void Object::stop_timer()
if (!m_timer_id)
return;
bool success = Core::EventLoop::unregister_timer(m_timer_id);
- ASSERT(success);
+ VERIFY(success);
m_timer_id = 0;
}
@@ -224,7 +224,7 @@ bool Object::is_ancestor_of(const Object& other) const
void Object::dispatch_event(Core::Event& e, Object* stay_within)
{
- ASSERT(!stay_within || stay_within == this || stay_within->is_ancestor_of(*this));
+ VERIFY(!stay_within || stay_within == this || stay_within->is_ancestor_of(*this));
auto* target = this;
do {
target->event(e);
diff --git a/Userland/Libraries/LibCore/Socket.cpp b/Userland/Libraries/LibCore/Socket.cpp
index 06c30c31f5..3ebe1a9d93 100644
--- a/Userland/Libraries/LibCore/Socket.cpp
+++ b/Userland/Libraries/LibCore/Socket.cpp
@@ -86,21 +86,21 @@ bool Socket::connect(const String& hostname, int port)
void Socket::set_blocking(bool blocking)
{
int flags = fcntl(fd(), F_GETFL, 0);
- ASSERT(flags >= 0);
+ VERIFY(flags >= 0);
if (blocking)
flags = fcntl(fd(), F_SETFL, flags & ~O_NONBLOCK);
else
flags = fcntl(fd(), F_SETFL, flags | O_NONBLOCK);
- ASSERT(flags == 0);
+ VERIFY(flags == 0);
}
bool Socket::connect(const SocketAddress& address, int port)
{
- ASSERT(!is_connected());
- ASSERT(address.type() == SocketAddress::Type::IPv4);
+ VERIFY(!is_connected());
+ VERIFY(address.type() == SocketAddress::Type::IPv4);
dbgln_if(CSOCKET_DEBUG, "{} connecting to {}...", *this, address);
- ASSERT(port > 0 && port <= 65535);
+ VERIFY(port > 0 && port <= 65535);
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
@@ -117,8 +117,8 @@ bool Socket::connect(const SocketAddress& address, int port)
bool Socket::connect(const SocketAddress& address)
{
- ASSERT(!is_connected());
- ASSERT(address.type() == SocketAddress::Type::Local);
+ VERIFY(!is_connected());
+ VERIFY(address.type() == SocketAddress::Type::Local);
dbgln_if(CSOCKET_DEBUG, "{} connecting to {}...", *this, address);
sockaddr_un saddr;
@@ -183,7 +183,7 @@ bool Socket::send(ReadonlyBytes data)
set_error(errno);
return false;
}
- ASSERT(static_cast<size_t>(nsent) == data.size());
+ VERIFY(static_cast<size_t>(nsent) == data.size());
return true;
}
@@ -204,13 +204,13 @@ void Socket::did_update_fd(int fd)
ensure_read_notifier();
} else {
// I don't think it would be right if we updated the fd while not connected *but* while having a notifier..
- ASSERT(!m_read_notifier);
+ VERIFY(!m_read_notifier);
}
}
void Socket::ensure_read_notifier()
{
- ASSERT(m_connected);
+ VERIFY(m_connected);
m_read_notifier = Notifier::construct(fd(), Notifier::Event::Read, this);
m_read_notifier->on_ready_to_read = [this] {
if (!can_read())
diff --git a/Userland/Libraries/LibCore/Socket.h b/Userland/Libraries/LibCore/Socket.h
index 1ecb32010b..e0bf33fee7 100644
--- a/Userland/Libraries/LibCore/Socket.h
+++ b/Userland/Libraries/LibCore/Socket.h
@@ -78,7 +78,7 @@ protected:
virtual bool common_connect(const struct sockaddr*, socklen_t);
private:
- virtual bool open(IODevice::OpenMode) override { ASSERT_NOT_REACHED(); }
+ virtual bool open(IODevice::OpenMode) override { VERIFY_NOT_REACHED(); }
void ensure_read_notifier();
Type m_type { Type::Invalid };
diff --git a/Userland/Libraries/LibCore/SocketAddress.h b/Userland/Libraries/LibCore/SocketAddress.h
index 4a5334225b..695fa361aa 100644
--- a/Userland/Libraries/LibCore/SocketAddress.h
+++ b/Userland/Libraries/LibCore/SocketAddress.h
@@ -84,7 +84,7 @@ public:
Optional<sockaddr_un> to_sockaddr_un() const
{
- ASSERT(type() == Type::Local);
+ VERIFY(type() == Type::Local);
sockaddr_un address;
address.sun_family = AF_LOCAL;
bool fits = m_local_address.copy_characters_to_buffer(address.sun_path, sizeof(address.sun_path));
@@ -95,7 +95,7 @@ public:
sockaddr_in to_sockaddr_in() const
{
- ASSERT(type() == Type::IPv4);
+ VERIFY(type() == Type::IPv4);
sockaddr_in address {};
address.sin_family = AF_INET;
address.sin_addr.s_addr = m_ipv4_address.to_in_addr_t();
diff --git a/Userland/Libraries/LibCore/SyscallUtils.h b/Userland/Libraries/LibCore/SyscallUtils.h
index 1b577bd6c4..9fd8009c8b 100644
--- a/Userland/Libraries/LibCore/SyscallUtils.h
+++ b/Userland/Libraries/LibCore/SyscallUtils.h
@@ -49,7 +49,7 @@ inline int safe_syscall(Syscall syscall, Args&&... args)
if (errno == EINTR)
continue;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return sysret;
}
diff --git a/Userland/Libraries/LibCore/TCPServer.cpp b/Userland/Libraries/LibCore/TCPServer.cpp
index 9a715f1ed8..79fe6f468e 100644
--- a/Userland/Libraries/LibCore/TCPServer.cpp
+++ b/Userland/Libraries/LibCore/TCPServer.cpp
@@ -49,7 +49,7 @@ TCPServer::TCPServer(Object* parent)
ioctl(m_fd, FIONBIO, &option);
fcntl(m_fd, F_SETFD, FD_CLOEXEC);
#endif
- ASSERT(m_fd >= 0);
+ VERIFY(m_fd >= 0);
}
TCPServer::~TCPServer()
@@ -85,7 +85,7 @@ bool TCPServer::listen(const IPv4Address& address, u16 port)
RefPtr<TCPSocket> TCPServer::accept()
{
- ASSERT(m_listening);
+ VERIFY(m_listening);
sockaddr_in in;
socklen_t in_size = sizeof(in);
int accepted_fd = ::accept(m_fd, (sockaddr*)&in, &in_size);
diff --git a/Userland/Libraries/LibCore/UDPServer.cpp b/Userland/Libraries/LibCore/UDPServer.cpp
index 33d3609c70..fd68490b77 100644
--- a/Userland/Libraries/LibCore/UDPServer.cpp
+++ b/Userland/Libraries/LibCore/UDPServer.cpp
@@ -50,7 +50,7 @@ UDPServer::UDPServer(Object* parent)
ioctl(m_fd, FIONBIO, &option);
fcntl(m_fd, F_SETFD, FD_CLOEXEC);
#endif
- ASSERT(m_fd >= 0);
+ VERIFY(m_fd >= 0);
}
UDPServer::~UDPServer()
diff --git a/Userland/Libraries/LibCoreDump/Reader.cpp b/Userland/Libraries/LibCoreDump/Reader.cpp
index f041248832..24a97293fc 100644
--- a/Userland/Libraries/LibCoreDump/Reader.cpp
+++ b/Userland/Libraries/LibCoreDump/Reader.cpp
@@ -53,7 +53,7 @@ Reader::Reader(NonnullRefPtr<MappedFile> coredump_file)
++index;
return IterationDecision::Continue;
});
- ASSERT(m_notes_segment_index != -1);
+ VERIFY(m_notes_segment_index != -1);
}
Reader::~Reader()
@@ -68,7 +68,7 @@ Reader::NotesEntryIterator::NotesEntryIterator(const u8* notes_data)
ELF::Core::NotesEntryHeader::Type Reader::NotesEntryIterator::type() const
{
- ASSERT(m_current->header.type == ELF::Core::NotesEntryHeader::Type::ProcessInfo
+ VERIFY(m_current->header.type == ELF::Core::NotesEntryHeader::Type::ProcessInfo
|| m_current->header.type == ELF::Core::NotesEntryHeader::Type::MemoryRegionInfo
|| m_current->header.type == ELF::Core::NotesEntryHeader::Type::ThreadInfo
|| m_current->header.type == ELF::Core::NotesEntryHeader::Type::Metadata
@@ -83,7 +83,7 @@ const ELF::Core::NotesEntry* Reader::NotesEntryIterator::current() const
void Reader::NotesEntryIterator::next()
{
- ASSERT(!at_end());
+ VERIFY(!at_end());
switch (type()) {
case ELF::Core::NotesEntryHeader::Type::ProcessInfo: {
const auto* current = reinterpret_cast<const ELF::Core::ProcessInfo*>(m_current);
@@ -106,7 +106,7 @@ void Reader::NotesEntryIterator::next()
break;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibCpp/AST.cpp b/Userland/Libraries/LibCpp/AST.cpp
index 48752055d0..87b61c6340 100644
--- a/Userland/Libraries/LibCpp/AST.cpp
+++ b/Userland/Libraries/LibCpp/AST.cpp
@@ -192,7 +192,7 @@ void BinaryExpression::dump(size_t indent) const
m_lhs->dump(indent + 1);
print_indent(indent + 1);
- ASSERT(op_string);
+ VERIFY(op_string);
outln("{}", op_string);
m_rhs->dump(indent + 1);
}
@@ -216,7 +216,7 @@ void AssignmentExpression::dump(size_t indent) const
m_lhs->dump(indent + 1);
print_indent(indent + 1);
- ASSERT(op_string);
+ VERIFY(op_string);
outln("{}", op_string);
m_rhs->dump(indent + 1);
}
@@ -301,7 +301,7 @@ void UnaryExpression::dump(size_t indent) const
op_string = "<invalid>";
}
- ASSERT(op_string);
+ VERIFY(op_string);
print_indent(indent + 1);
outln("{}", op_string);
m_lhs->dump(indent + 1);
diff --git a/Userland/Libraries/LibCpp/AST.h b/Userland/Libraries/LibCpp/AST.h
index 830b998870..e01c1aeb9e 100644
--- a/Userland/Libraries/LibCpp/AST.h
+++ b/Userland/Libraries/LibCpp/AST.h
@@ -53,12 +53,12 @@ public:
ASTNode* parent() const { return m_parent; }
Position start() const
{
- ASSERT(m_start.has_value());
+ VERIFY(m_start.has_value());
return m_start.value();
}
Position end() const
{
- ASSERT(m_end.has_value());
+ VERIFY(m_end.has_value());
return m_end.value();
}
const FlyString& filename() const
diff --git a/Userland/Libraries/LibCpp/Lexer.cpp b/Userland/Libraries/LibCpp/Lexer.cpp
index 0507f11ec3..c08a74bb9e 100644
--- a/Userland/Libraries/LibCpp/Lexer.cpp
+++ b/Userland/Libraries/LibCpp/Lexer.cpp
@@ -46,7 +46,7 @@ char Lexer::peek(size_t offset) const
char Lexer::consume()
{
- ASSERT(m_index < m_input.length());
+ VERIFY(m_index < m_input.length());
char ch = m_input[m_index++];
m_previous_position = m_position;
if (ch == '\n') {
@@ -660,8 +660,8 @@ Vector<Token> Lexer::lex()
StringView prefix_string = m_input.substring_view(prefix_start, m_index - prefix_start);
while (peek()) {
if (consume() == '"') {
- ASSERT(m_index >= prefix_string.length() + 2);
- ASSERT(m_input[m_index - 1] == '"');
+ VERIFY(m_index >= prefix_string.length() + 2);
+ VERIFY(m_input[m_index - 1] == '"');
if (m_input[m_index - 1 - prefix_string.length() - 1] == ')') {
StringView suffix_string = m_input.substring_view(m_index - 1 - prefix_string.length(), prefix_string.length());
if (prefix_string == suffix_string)
diff --git a/Userland/Libraries/LibCpp/Lexer.h b/Userland/Libraries/LibCpp/Lexer.h
index 3e7188f9ae..1fff2d146d 100644
--- a/Userland/Libraries/LibCpp/Lexer.h
+++ b/Userland/Libraries/LibCpp/Lexer.h
@@ -124,7 +124,7 @@ struct Token {
FOR_EACH_TOKEN_TYPE
#undef __TOKEN
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
const char* to_string() const
diff --git a/Userland/Libraries/LibCpp/Parser.cpp b/Userland/Libraries/LibCpp/Parser.cpp
index e44a31b854..f3081ac0ae 100644
--- a/Userland/Libraries/LibCpp/Parser.cpp
+++ b/Userland/Libraries/LibCpp/Parser.cpp
@@ -657,7 +657,7 @@ void Parser::load_state()
Optional<Parser::DeclarationType> Parser::match_declaration_in_function_definition()
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool Parser::done()
@@ -667,8 +667,8 @@ bool Parser::done()
StringView Parser::text_of_token(const Cpp::Token& token) const
{
- ASSERT(token.m_start.line == token.m_end.line);
- ASSERT(token.m_start.column <= token.m_end.column);
+ VERIFY(token.m_start.line == token.m_end.line);
+ VERIFY(token.m_start.column <= token.m_end.column);
return m_lines[token.m_start.line].substring_view(token.m_start.column, token.m_end.column - token.m_start.column + 1);
}
@@ -680,7 +680,7 @@ StringView Parser::text_of_node(const ASTNode& node) const
StringView Parser::text_of_range(Position start, Position end) const
{
if (start.line == end.line) {
- ASSERT(start.column <= end.column);
+ VERIFY(start.column <= end.column);
return m_lines[start.line].substring_view(start.column, end.column - start.column + 1);
}
@@ -694,7 +694,7 @@ StringView Parser::text_of_range(Position start, Position end) const
});
auto start_index = index_of_position(start);
auto end_index = index_of_position(end);
- ASSERT(end_index >= start_index);
+ VERIFY(end_index >= start_index);
return m_program.substring_view(start_index, end_index - start_index);
}
@@ -741,13 +741,13 @@ Position Parser::position() const
RefPtr<ASTNode> Parser::eof_node() const
{
- ASSERT(m_tokens.size());
+ VERIFY(m_tokens.size());
return node_at(m_tokens.last().m_end);
}
RefPtr<ASTNode> Parser::node_at(Position pos) const
{
- ASSERT(!m_tokens.is_empty());
+ VERIFY(!m_tokens.is_empty());
RefPtr<ASTNode> match_node;
for (auto& node : m_nodes) {
if (node.start() > pos || node.end() < pos)
@@ -827,7 +827,7 @@ NonnullRefPtr<StringLiteral> Parser::parse_string_literal(ASTNode& parent)
while (!eof()) {
auto token = peek();
if (token.type() != Token::Type::DoubleQuotedString && token.type() != Token::Type::EscapeSequence) {
- ASSERT(start_token_index.has_value());
+ VERIFY(start_token_index.has_value());
end_token_index = m_state.token_index - 1;
break;
}
@@ -841,8 +841,8 @@ NonnullRefPtr<StringLiteral> Parser::parse_string_literal(ASTNode& parent)
end_token_index = m_tokens.size() - 1;
}
- ASSERT(start_token_index.has_value());
- ASSERT(end_token_index.has_value());
+ VERIFY(start_token_index.has_value());
+ VERIFY(end_token_index.has_value());
Token start_token = m_tokens[start_token_index.value()];
Token end_token = m_tokens[end_token_index.value()];
diff --git a/Userland/Libraries/LibCpp/Preprocessor.cpp b/Userland/Libraries/LibCpp/Preprocessor.cpp
index 9ec7151aa4..3094d2b97c 100644
--- a/Userland/Libraries/LibCpp/Preprocessor.cpp
+++ b/Userland/Libraries/LibCpp/Preprocessor.cpp
@@ -75,7 +75,7 @@ void Preprocessor::handle_preprocessor_line(const StringView& line)
}
if (keyword == "else") {
- ASSERT(m_current_depth > 0);
+ VERIFY(m_current_depth > 0);
if (m_depths_of_not_taken_branches.contains_slow(m_current_depth - 1)) {
m_depths_of_not_taken_branches.remove_all_matching([this](auto x) { return x == m_current_depth - 1; });
m_state = State::Normal;
@@ -88,7 +88,7 @@ void Preprocessor::handle_preprocessor_line(const StringView& line)
}
if (keyword == "endif") {
- ASSERT(m_current_depth > 0);
+ VERIFY(m_current_depth > 0);
--m_current_depth;
if (m_depths_of_not_taken_branches.contains_slow(m_current_depth)) {
m_depths_of_not_taken_branches.remove_all_matching([this](auto x) { return x == m_current_depth; });
@@ -164,7 +164,7 @@ void Preprocessor::handle_preprocessor_line(const StringView& line)
return;
}
dbgln("Unsupported preprocessor keyword: {}", keyword);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
};
diff --git a/Userland/Libraries/LibCrypto/ASN1/PEM.cpp b/Userland/Libraries/LibCrypto/ASN1/PEM.cpp
index 96c9e1a65e..c7fae1b6fb 100644
--- a/Userland/Libraries/LibCrypto/ASN1/PEM.cpp
+++ b/Userland/Libraries/LibCrypto/ASN1/PEM.cpp
@@ -62,7 +62,7 @@ ByteBuffer decode_pem(ReadonlyBytes data)
lexer.consume_all();
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibCrypto/BigInt/SignedBigInteger.cpp b/Userland/Libraries/LibCrypto/BigInt/SignedBigInteger.cpp
index c0699018e6..5d548c23a5 100644
--- a/Userland/Libraries/LibCrypto/BigInt/SignedBigInteger.cpp
+++ b/Userland/Libraries/LibCrypto/BigInt/SignedBigInteger.cpp
@@ -40,7 +40,7 @@ size_t SignedBigInteger::export_data(Bytes data, bool remove_leading_zeros) cons
{
// FIXME: Support this:
// m <0XX> -> m <XX> (if remove_leading_zeros)
- ASSERT(!remove_leading_zeros);
+ VERIFY(!remove_leading_zeros);
data[0] = m_sign;
auto bytes_view = data.slice(1, data.size() - 1);
diff --git a/Userland/Libraries/LibCrypto/BigInt/UnsignedBigInteger.cpp b/Userland/Libraries/LibCrypto/BigInt/UnsignedBigInteger.cpp
index 63021614bb..ec622847c8 100644
--- a/Userland/Libraries/LibCrypto/BigInt/UnsignedBigInteger.cpp
+++ b/Userland/Libraries/LibCrypto/BigInt/UnsignedBigInteger.cpp
@@ -106,7 +106,7 @@ String UnsignedBigInteger::to_base10() const
while (temp != UnsignedBigInteger { 0 }) {
divide_u16_without_allocation(temp, 10, quotient, remainder);
- ASSERT(remainder.words()[0] < 10);
+ VERIFY(remainder.words()[0] < 10);
builder.append(static_cast<char>(remainder.words()[0] + '0'));
temp.set_to(quotient);
}
@@ -389,7 +389,7 @@ void UnsignedBigInteger::subtract_without_allocation(
}
// This assertion should not fail, because we verified that *this>=other at the beginning of the function
- ASSERT(borrow == 0);
+ VERIFY(borrow == 0);
}
/**
@@ -672,7 +672,7 @@ FLATTEN void UnsignedBigInteger::divide_u16_without_allocation(
UnsignedBigInteger& quotient,
UnsignedBigInteger& remainder)
{
- ASSERT(denominator < (1 << 16));
+ VERIFY(denominator < (1 << 16));
u32 remainder_word = 0;
auto numerator_length = numerator.trimmed_length();
quotient.set_to_0();
@@ -717,8 +717,8 @@ ALWAYS_INLINE u32 UnsignedBigInteger::shift_left_get_one_word(
{
// "<= length()" (rather than length() - 1) is intentional,
// The result inedx of length() is used when calculating the carry word
- ASSERT(result_word_index <= number.length());
- ASSERT(num_bits <= UnsignedBigInteger::BITS_IN_WORD);
+ VERIFY(result_word_index <= number.length());
+ VERIFY(num_bits <= UnsignedBigInteger::BITS_IN_WORD);
u32 result = 0;
// we need to check for "num_bits != 0" since shifting right by 32 is apparently undefined behaviour!
diff --git a/Userland/Libraries/LibCrypto/Cipher/AES.cpp b/Userland/Libraries/LibCrypto/Cipher/AES.cpp
index 1ce0e12240..21107fbdc0 100644
--- a/Userland/Libraries/LibCrypto/Cipher/AES.cpp
+++ b/Userland/Libraries/LibCrypto/Cipher/AES.cpp
@@ -65,9 +65,9 @@ void AESCipherKey::expand_encrypt_key(ReadonlyBytes user_key, size_t bits)
u32 temp;
size_t i { 0 };
- ASSERT(!user_key.is_null());
- ASSERT(is_valid_key_size(bits));
- ASSERT(user_key.size() == bits / 8);
+ VERIFY(!user_key.is_null());
+ VERIFY(is_valid_key_size(bits));
+ VERIFY(user_key.size() == bits / 8);
round_key = round_keys();
@@ -401,7 +401,7 @@ void AESCipherBlock::overwrite(ReadonlyBytes bytes)
auto data = bytes.data();
auto length = bytes.size();
- ASSERT(length <= this->data_size());
+ VERIFY(length <= this->data_size());
this->bytes().overwrite(0, data, length);
if (length < this->data_size()) {
switch (padding_mode()) {
@@ -419,7 +419,7 @@ void AESCipherBlock::overwrite(ReadonlyBytes bytes)
break;
default:
// FIXME: We should handle the rest of the common padding modes
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
diff --git a/Userland/Libraries/LibCrypto/Cipher/Cipher.h b/Userland/Libraries/LibCrypto/Cipher/Cipher.h
index 3b16c61cd9..a17db5a8c0 100644
--- a/Userland/Libraries/LibCrypto/Cipher/Cipher.h
+++ b/Userland/Libraries/LibCrypto/Cipher/Cipher.h
@@ -59,7 +59,7 @@ public:
{
}
- static size_t block_size() { ASSERT_NOT_REACHED(); }
+ static size_t block_size() { VERIFY_NOT_REACHED(); }
virtual ReadonlyBytes bytes() const = 0;
@@ -74,11 +74,11 @@ public:
template<typename T>
void put(size_t offset, T value)
{
- ASSERT(offset + sizeof(T) <= bytes().size());
+ VERIFY(offset + sizeof(T) <= bytes().size());
auto* ptr = bytes().offset_pointer(offset);
auto index { 0 };
- ASSERT(sizeof(T) <= 4);
+ VERIFY(sizeof(T) <= 4);
if constexpr (sizeof(T) > 3)
ptr[index++] = (u8)(value >> 24);
diff --git a/Userland/Libraries/LibCrypto/Cipher/Mode/CBC.h b/Userland/Libraries/LibCrypto/Cipher/Mode/CBC.h
index 68358a05ca..deec336f2f 100644
--- a/Userland/Libraries/LibCrypto/Cipher/Mode/CBC.h
+++ b/Userland/Libraries/LibCrypto/Cipher/Mode/CBC.h
@@ -66,7 +66,7 @@ public:
// FIXME: We should have two of these encrypt/decrypt functions that
// we SFINAE out based on whether the Cipher mode needs an ivec
- ASSERT(!ivec.is_empty());
+ VERIFY(!ivec.is_empty());
const auto* iv = ivec.data();
m_cipher_block.set_padding_mode(cipher.padding_mode());
@@ -77,7 +77,7 @@ public:
m_cipher_block.overwrite(in.slice(offset, block_size));
m_cipher_block.apply_initialization_vector(iv);
cipher.encrypt_block(m_cipher_block, m_cipher_block);
- ASSERT(offset + block_size <= out.size());
+ VERIFY(offset + block_size <= out.size());
__builtin_memcpy(out.offset(offset), m_cipher_block.bytes().data(), block_size);
iv = out.offset(offset);
length -= block_size;
@@ -88,7 +88,7 @@ public:
m_cipher_block.overwrite(in.slice(offset, length));
m_cipher_block.apply_initialization_vector(iv);
cipher.encrypt_block(m_cipher_block, m_cipher_block);
- ASSERT(offset + block_size <= out.size());
+ VERIFY(offset + block_size <= out.size());
__builtin_memcpy(out.offset(offset), m_cipher_block.bytes().data(), block_size);
iv = out.offset(offset);
}
@@ -105,14 +105,14 @@ public:
auto& cipher = this->cipher();
- ASSERT(!ivec.is_empty());
+ VERIFY(!ivec.is_empty());
const auto* iv = ivec.data();
auto block_size = cipher.block_size();
// if the data is not aligned, it's not correct encrypted data
// FIXME (ponder): Should we simply decrypt as much as we can?
- ASSERT(length % block_size == 0);
+ VERIFY(length % block_size == 0);
m_cipher_block.set_padding_mode(cipher.padding_mode());
size_t offset { 0 };
@@ -123,7 +123,7 @@ public:
cipher.decrypt_block(m_cipher_block, m_cipher_block);
m_cipher_block.apply_initialization_vector(iv);
auto decrypted = m_cipher_block.bytes();
- ASSERT(offset + decrypted.size() <= out.size());
+ VERIFY(offset + decrypted.size() <= out.size());
__builtin_memcpy(out.offset(offset), decrypted.data(), decrypted.size());
iv = slice;
length -= block_size;
diff --git a/Userland/Libraries/LibCrypto/Cipher/Mode/CTR.h b/Userland/Libraries/LibCrypto/Cipher/Mode/CTR.h
index 26895a8fca..a2601956c4 100644
--- a/Userland/Libraries/LibCrypto/Cipher/Mode/CTR.h
+++ b/Userland/Libraries/LibCrypto/Cipher/Mode/CTR.h
@@ -160,7 +160,7 @@ protected:
{
size_t length;
if (in) {
- ASSERT(in->size() <= out.size());
+ VERIFY(in->size() <= out.size());
length = in->size();
if (length == 0)
return;
@@ -172,8 +172,8 @@ protected:
// FIXME: We should have two of these encrypt/decrypt functions that
// we SFINAE out based on whether the Cipher mode needs an ivec
- ASSERT(!ivec.is_empty());
- ASSERT(ivec.size() >= IV_length());
+ VERIFY(!ivec.is_empty());
+ VERIFY(ivec.size() >= IV_length());
m_cipher_block.set_padding_mode(cipher.padding_mode());
@@ -192,7 +192,7 @@ protected:
}
auto write_size = min(block_size, length);
- ASSERT(offset + write_size <= out.size());
+ VERIFY(offset + write_size <= out.size());
__builtin_memcpy(out.offset(offset), m_cipher_block.bytes().data(), write_size);
increment(iv);
diff --git a/Userland/Libraries/LibCrypto/Cipher/Mode/GCM.h b/Userland/Libraries/LibCrypto/Cipher/Mode/GCM.h
index 4d034f5bac..3a1d17b1d5 100644
--- a/Userland/Libraries/LibCrypto/Cipher/Mode/GCM.h
+++ b/Userland/Libraries/LibCrypto/Cipher/Mode/GCM.h
@@ -73,7 +73,7 @@ public:
// FIXME: This overload throws away the auth stuff, think up a better way to return more than a single bytebuffer.
virtual void encrypt(ReadonlyBytes in, Bytes& out, ReadonlyBytes ivec = {}, Bytes* = nullptr) override
{
- ASSERT(!ivec.is_empty());
+ VERIFY(!ivec.is_empty());
static ByteBuffer dummy;
diff --git a/Userland/Libraries/LibCrypto/Cipher/Mode/Mode.h b/Userland/Libraries/LibCrypto/Cipher/Mode/Mode.h
index a34f6a4b98..c7daba471b 100644
--- a/Userland/Libraries/LibCrypto/Cipher/Mode/Mode.h
+++ b/Userland/Libraries/LibCrypto/Cipher/Mode/Mode.h
@@ -98,7 +98,7 @@ protected:
}
default:
// FIXME: support other padding modes
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
diff --git a/Userland/Libraries/LibCrypto/Hash/HashManager.h b/Userland/Libraries/LibCrypto/Hash/HashManager.h
index 9b47149602..9da7c24526 100644
--- a/Userland/Libraries/LibCrypto/Hash/HashManager.h
+++ b/Userland/Libraries/LibCrypto/Hash/HashManager.h
@@ -85,7 +85,7 @@ struct MultiHashDigestVariant {
return sha512.value().immutable_data();
default:
case HashKind::None:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
@@ -103,7 +103,7 @@ struct MultiHashDigestVariant {
return sha512.value().data_length();
default:
case HashKind::None:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
@@ -179,7 +179,7 @@ public:
inline void initialize(HashKind kind)
{
if (m_kind != HashKind::None) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_kind = kind;
@@ -248,7 +248,7 @@ public:
return { m_sha512->peek() };
default:
case HashKind::None:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
diff --git a/Userland/Libraries/LibCrypto/Hash/MD5.cpp b/Userland/Libraries/LibCrypto/Hash/MD5.cpp
index 1b2a71d30a..5cf717134f 100644
--- a/Userland/Libraries/LibCrypto/Hash/MD5.cpp
+++ b/Userland/Libraries/LibCrypto/Hash/MD5.cpp
@@ -88,7 +88,7 @@ void MD5::update(const u8* input, size_t length)
index = 0;
}
- ASSERT(length < part_length || length - offset <= 64);
+ VERIFY(length < part_length || length - offset <= 64);
m_buffer.overwrite(index, &input[offset], length - offset);
}
MD5::DigestType MD5::digest()
diff --git a/Userland/Libraries/LibCrypto/NumberTheory/ModularFunctions.cpp b/Userland/Libraries/LibCrypto/NumberTheory/ModularFunctions.cpp
index ecccd2c60e..fd54602ae4 100644
--- a/Userland/Libraries/LibCrypto/NumberTheory/ModularFunctions.cpp
+++ b/Userland/Libraries/LibCrypto/NumberTheory/ModularFunctions.cpp
@@ -240,7 +240,7 @@ static bool MR_primality_test(UnsignedBigInteger n, const Vector<UnsignedBigInte
{
// Written using Wikipedia:
// https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test#Miller%E2%80%93Rabin_test
- ASSERT(!(n < 4));
+ VERIFY(!(n < 4));
auto predecessor = n.minus({ 1 });
auto d = predecessor;
size_t r = 0;
@@ -259,8 +259,8 @@ static bool MR_primality_test(UnsignedBigInteger n, const Vector<UnsignedBigInte
}
for (auto& a : tests) {
- // Technically: ASSERT(2 <= a && a <= n - 2)
- ASSERT(a < n);
+ // Technically: VERIFY(2 <= a && a <= n - 2)
+ VERIFY(a < n);
auto x = ModularPower(a, d, n);
if (x == 1 || x == predecessor)
continue;
@@ -283,13 +283,13 @@ static bool MR_primality_test(UnsignedBigInteger n, const Vector<UnsignedBigInte
UnsignedBigInteger random_number(const UnsignedBigInteger& min, const UnsignedBigInteger& max_excluded)
{
- ASSERT(min < max_excluded);
+ VERIFY(min < max_excluded);
auto range = max_excluded.minus(min);
UnsignedBigInteger base;
auto size = range.trimmed_length() * sizeof(u32) + 2;
// "+2" is intentional (see below).
// Also, if we're about to crash anyway, at least produce a nice error:
- ASSERT(size < 8 * MiB);
+ VERIFY(size < 8 * MiB);
u8 buf[size];
AK::fill_with_random(buf, size);
UnsignedBigInteger random { buf, size };
@@ -340,7 +340,7 @@ bool is_probably_prime(const UnsignedBigInteger& p)
UnsignedBigInteger random_big_prime(size_t bits)
{
- ASSERT(bits >= 33);
+ VERIFY(bits >= 33);
UnsignedBigInteger min = UnsignedBigInteger::from_base10("6074001000").shift_left(bits - 33);
UnsignedBigInteger max = UnsignedBigInteger { 1 }.shift_left(bits).minus(1);
for (;;) {
diff --git a/Userland/Libraries/LibCrypto/PK/RSA.cpp b/Userland/Libraries/LibCrypto/PK/RSA.cpp
index dc6a042b83..b4b90c187b 100644
--- a/Userland/Libraries/LibCrypto/PK/RSA.cpp
+++ b/Userland/Libraries/LibCrypto/PK/RSA.cpp
@@ -286,7 +286,7 @@ void RSA::import_private_key(ReadonlyBytes bytes, bool pem)
auto key = parse_rsa_key(bytes);
if (!key.private_key.length()) {
dbgln("We expected to see a private key, but we found none");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_private_key = key.private_key;
}
@@ -302,7 +302,7 @@ void RSA::import_public_key(ReadonlyBytes bytes, bool pem)
auto key = parse_rsa_key(bytes);
if (!key.public_key.length()) {
dbgln("We expected to see a public key, but we found none");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
m_public_key = key.public_key;
}
@@ -356,7 +356,7 @@ void RSA_PKCS1_EME::encrypt(ReadonlyBytes in, Bytes& out)
u8 ps[ps_length];
// FIXME: Without this assertion, GCC refuses to compile due to a memcpy overflow(!?)
- ASSERT(ps_length < 16384);
+ VERIFY(ps_length < 16384);
AK::fill_with_random(ps, ps_length);
// since arc4random can create zeros (shocking!)
diff --git a/Userland/Libraries/LibDebug/DebugInfo.cpp b/Userland/Libraries/LibDebug/DebugInfo.cpp
index 7f7b7a0d9f..eb8ab79f14 100644
--- a/Userland/Libraries/LibDebug/DebugInfo.cpp
+++ b/Userland/Libraries/LibDebug/DebugInfo.cpp
@@ -207,7 +207,7 @@ static Optional<Dwarf::DIE> parse_variable_type_die(const Dwarf::DIE& variable_d
if (!type_die_offset.has_value())
return {};
- ASSERT(type_die_offset.value().type == Dwarf::DIE::AttributeValue::Type::DieReference);
+ VERIFY(type_die_offset.value().type == Dwarf::DIE::AttributeValue::Type::DieReference);
auto type_die = variable_die.get_die_at_offset(type_die_offset.value().data.as_u32);
auto type_name = type_die.get_attribute(Dwarf::Attribute::Name);
@@ -241,7 +241,7 @@ static void parse_variable_location(const Dwarf::DIE& variable_die, DebugInfo::V
auto value = Dwarf::Expression::evaluate(expression_bytes, regs);
if (value.type != Dwarf::Expression::Type::None) {
- ASSERT(value.type == Dwarf::Expression::Type::UnsignedIntetger);
+ VERIFY(value.type == Dwarf::Expression::Type::UnsignedIntetger);
variable_info.location_type = DebugInfo::VariableInfo::LocationType::Address;
variable_info.location_data.address = value.data.as_u32;
}
@@ -254,7 +254,7 @@ static void parse_variable_location(const Dwarf::DIE& variable_die, DebugInfo::V
OwnPtr<DebugInfo::VariableInfo> DebugInfo::create_variable_info(const Dwarf::DIE& variable_die, const PtraceRegisters& regs) const
{
- ASSERT(variable_die.tag() == Dwarf::EntryTag::Variable
+ VERIFY(variable_die.tag() == Dwarf::EntryTag::Variable
|| variable_die.tag() == Dwarf::EntryTag::Member
|| variable_die.tag() == Dwarf::EntryTag::FormalParameter
|| variable_die.tag() == Dwarf::EntryTag::EnumerationType
@@ -274,7 +274,7 @@ OwnPtr<DebugInfo::VariableInfo> DebugInfo::create_variable_info(const Dwarf::DIE
if (variable_die.tag() == Dwarf::EntryTag::Enumerator) {
auto constant = variable_die.get_attribute(Dwarf::Attribute::ConstValue);
- ASSERT(constant.has_value());
+ VERIFY(constant.has_value());
switch (constant.value().type) {
case Dwarf::DIE::AttributeValue::Type::UnsignedNumber:
variable_info->constant_data.as_u32 = constant.value().data.as_u32;
@@ -286,7 +286,7 @@ OwnPtr<DebugInfo::VariableInfo> DebugInfo::create_variable_info(const Dwarf::DIE
variable_info->constant_data.as_string = constant.value().data.as_string;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
} else {
parse_variable_location(variable_die, *variable_info, regs);
@@ -302,7 +302,7 @@ OwnPtr<DebugInfo::VariableInfo> DebugInfo::create_variable_info(const Dwarf::DIE
if (member.is_null())
return;
auto member_variable = create_variable_info(member, regs);
- ASSERT(member_variable);
+ VERIFY(member_variable);
if (type_die.value().tag() == Dwarf::EntryTag::EnumerationType) {
member_variable->parent = type_info.ptr();
@@ -311,7 +311,7 @@ OwnPtr<DebugInfo::VariableInfo> DebugInfo::create_variable_info(const Dwarf::DIE
if (variable_info->location_type == DebugInfo::VariableInfo::LocationType::None) {
return;
}
- ASSERT(variable_info->location_type == DebugInfo::VariableInfo::LocationType::Address);
+ VERIFY(variable_info->location_type == DebugInfo::VariableInfo::LocationType::Address);
if (member_variable->location_type == DebugInfo::VariableInfo::LocationType::Address)
member_variable->location_data.address += variable_info->location_data.address;
diff --git a/Userland/Libraries/LibDebug/DebugSession.cpp b/Userland/Libraries/LibDebug/DebugSession.cpp
index 243d05f400..e35886a734 100644
--- a/Userland/Libraries/LibDebug/DebugSession.cpp
+++ b/Userland/Libraries/LibDebug/DebugSession.cpp
@@ -73,7 +73,7 @@ OwnPtr<DebugSession> DebugSession::exec_and_attach(const String& command, String
}
auto parts = command.split(' ');
- ASSERT(!parts.is_empty());
+ VERIFY(!parts.is_empty());
const char** args = (const char**)calloc(parts.size() + 1, sizeof(const char*));
for (size_t i = 0; i < parts.size(); i++) {
args[i] = parts[i].characters();
@@ -155,7 +155,7 @@ bool DebugSession::insert_breakpoint(void* address)
if (!original_bytes.has_value())
return false;
- ASSERT((original_bytes.value() & 0xff) != BREAKPOINT_INSTRUCTION);
+ VERIFY((original_bytes.value() & 0xff) != BREAKPOINT_INSTRUCTION);
BreakPoint breakpoint { address, original_bytes.value(), BreakPointState::Disabled };
@@ -169,7 +169,7 @@ bool DebugSession::insert_breakpoint(void* address)
bool DebugSession::disable_breakpoint(void* address)
{
auto breakpoint = m_breakpoints.get(address);
- ASSERT(breakpoint.has_value());
+ VERIFY(breakpoint.has_value());
if (!poke(reinterpret_cast<u32*>(reinterpret_cast<char*>(breakpoint.value().address)), breakpoint.value().original_first_word))
return false;
@@ -182,9 +182,9 @@ bool DebugSession::disable_breakpoint(void* address)
bool DebugSession::enable_breakpoint(void* address)
{
auto breakpoint = m_breakpoints.get(address);
- ASSERT(breakpoint.has_value());
+ VERIFY(breakpoint.has_value());
- ASSERT(breakpoint.value().state == BreakPointState::Disabled);
+ VERIFY(breakpoint.value().state == BreakPointState::Disabled);
if (!poke(reinterpret_cast<u32*>(breakpoint.value().address), (breakpoint.value().original_first_word & ~(uint32_t)0xff) | BREAKPOINT_INSTRUCTION))
return false;
@@ -214,7 +214,7 @@ PtraceRegisters DebugSession::get_registers() const
PtraceRegisters regs;
if (ptrace(PT_GETREGS, m_debuggee_pid, &regs, 0) < 0) {
perror("PT_GETREGS");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return regs;
}
@@ -223,7 +223,7 @@ void DebugSession::set_registers(const PtraceRegisters& regs)
{
if (ptrace(PT_SETREGS, m_debuggee_pid, reinterpret_cast<void*>(&const_cast<PtraceRegisters&>(regs)), 0) < 0) {
perror("PT_SETREGS");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -232,7 +232,7 @@ void DebugSession::continue_debuggee(ContinueType type)
int command = (type == ContinueType::FreeRun) ? PT_CONTINUE : PT_SYSCALL;
if (ptrace(command, m_debuggee_pid, 0, 0) < 0) {
perror("continue");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -242,7 +242,7 @@ int DebugSession::continue_debuggee_and_wait(ContinueType type)
int wstatus = 0;
if (waitpid(m_debuggee_pid, &wstatus, WSTOPPED | WEXITED) != m_debuggee_pid) {
perror("waitpid");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return wstatus;
}
@@ -264,7 +264,7 @@ void* DebugSession::single_step()
if (waitpid(m_debuggee_pid, 0, WSTOPPED) != m_debuggee_pid) {
perror("waitpid");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
regs = get_registers();
@@ -316,7 +316,7 @@ Optional<DebugSession::InsertBreakpointAtSourcePositionResult> DebugSession::ins
return {};
auto lib = library_at(address);
- ASSERT(lib);
+ VERIFY(lib);
return InsertBreakpointAtSourcePositionResult { lib->name, address_and_source_position.value().file, address_and_source_position.value().line, address };
}
@@ -325,11 +325,11 @@ void DebugSession::update_loaded_libs()
{
auto file = Core::File::construct(String::format("/proc/%u/vm", m_debuggee_pid));
bool rc = file->open(Core::IODevice::ReadOnly);
- ASSERT(rc);
+ VERIFY(rc);
auto file_contents = file->read_all();
auto json = JsonValue::from_string(file_contents);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
auto vm_entries = json.value().as_array();
Regex<PosixExtended> re("(.+): \\.text");
diff --git a/Userland/Libraries/LibDebug/DebugSession.h b/Userland/Libraries/LibDebug/DebugSession.h
index f30174a740..50e9e96370 100644
--- a/Userland/Libraries/LibDebug/DebugSession.h
+++ b/Userland/Libraries/LibDebug/DebugSession.h
@@ -298,7 +298,7 @@ void DebugSession::run(DesiredInitialDebugeeState initial_debugee_state, Callbac
break;
}
if (decision == DebugDecision::Kill) {
- ASSERT_NOT_REACHED(); // TODO: implement
+ VERIFY_NOT_REACHED(); // TODO: implement
}
if (state == State::SingleStep && !did_single_step) {
diff --git a/Userland/Libraries/LibDebug/Dwarf/DIE.cpp b/Userland/Libraries/LibDebug/Dwarf/DIE.cpp
index 4ef58947bb..5733b33fd5 100644
--- a/Userland/Libraries/LibDebug/Dwarf/DIE.cpp
+++ b/Userland/Libraries/LibDebug/Dwarf/DIE.cpp
@@ -46,7 +46,7 @@ DIE::DIE(const CompilationUnit& unit, u32 offset)
m_tag = EntryTag::None;
} else {
auto abbreviation_info = m_compilation_unit.abbreviations_map().get(m_abbreviation_code);
- ASSERT(abbreviation_info.has_value());
+ VERIFY(abbreviation_info.has_value());
m_tag = abbreviation_info.value().tag;
m_has_children = abbreviation_info.value().has_children;
@@ -76,7 +76,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
case AttributeDataForm::StringPointer: {
u32 offset;
debug_info_stream >> offset;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
value.type = AttributeValue::Type::String;
auto strings_data = m_compilation_unit.dwarf_info().debug_strings_data();
@@ -86,7 +86,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
case AttributeDataForm::Data1: {
u8 data;
debug_info_stream >> data;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
value.type = AttributeValue::Type::UnsignedNumber;
value.data.as_u32 = data;
break;
@@ -94,7 +94,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
case AttributeDataForm::Data2: {
u16 data;
debug_info_stream >> data;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
value.type = AttributeValue::Type::UnsignedNumber;
value.data.as_u32 = data;
break;
@@ -102,7 +102,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
case AttributeDataForm::Addr: {
u32 address;
debug_info_stream >> address;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
value.type = AttributeValue::Type::UnsignedNumber;
value.data.as_u32 = address;
break;
@@ -110,7 +110,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
case AttributeDataForm::SData: {
ssize_t data;
debug_info_stream.read_LEB128_signed(data);
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
value.type = AttributeValue::Type::SignedNumber;
value.data.as_i32 = data;
break;
@@ -118,7 +118,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
case AttributeDataForm::SecOffset: {
u32 data;
debug_info_stream >> data;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
value.type = AttributeValue::Type::SecOffset;
value.data.as_u32 = data;
break;
@@ -126,7 +126,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
case AttributeDataForm::Data4: {
u32 data;
debug_info_stream >> data;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
value.type = AttributeValue::Type::UnsignedNumber;
value.data.as_u32 = data;
break;
@@ -134,7 +134,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
case AttributeDataForm::Ref4: {
u32 data;
debug_info_stream >> data;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
value.type = AttributeValue::Type::DieReference;
value.data.as_u32 = data + m_compilation_unit.offset();
break;
@@ -147,7 +147,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
case AttributeDataForm::ExprLoc: {
size_t length;
debug_info_stream.read_LEB128_unsigned(length);
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
value.type = AttributeValue::Type::DwarfExpression;
assign_raw_bytes_value(length);
break;
@@ -156,7 +156,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
String str;
u32 str_offset = debug_info_stream.offset();
debug_info_stream >> str;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
value.type = AttributeValue::Type::String;
value.data.as_string = reinterpret_cast<const char*>(str_offset + m_compilation_unit.dwarf_info().debug_info_data().data());
break;
@@ -165,7 +165,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
value.type = AttributeValue::Type::RawBytes;
u8 length;
debug_info_stream >> length;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
assign_raw_bytes_value(length);
break;
}
@@ -173,7 +173,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
value.type = AttributeValue::Type::RawBytes;
u16 length;
debug_info_stream >> length;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
assign_raw_bytes_value(length);
break;
}
@@ -181,7 +181,7 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
value.type = AttributeValue::Type::RawBytes;
u32 length;
debug_info_stream >> length;
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
assign_raw_bytes_value(length);
break;
}
@@ -189,13 +189,13 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
value.type = AttributeValue::Type::RawBytes;
size_t length;
debug_info_stream.read_LEB128_unsigned(length);
- ASSERT(!debug_info_stream.has_any_error());
+ VERIFY(!debug_info_stream.has_any_error());
assign_raw_bytes_value(length);
break;
}
default:
dbgln("Unimplemented AttributeDataForm: {}", (u32)form);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return value;
}
@@ -206,7 +206,7 @@ Optional<DIE::AttributeValue> DIE::get_attribute(const Attribute& attribute) con
stream.discard_or_error(m_data_offset);
auto abbreviation_info = m_compilation_unit.abbreviations_map().get(m_abbreviation_code);
- ASSERT(abbreviation_info.has_value());
+ VERIFY(abbreviation_info.has_value());
for (const auto& attribute_spec : abbreviation_info.value().attribute_specifications) {
auto value = get_attribute_value(attribute_spec.form, stream);
@@ -251,7 +251,7 @@ void DIE::for_each_child(Function<void(const DIE& child)> callback) const
DIE DIE::get_die_at_offset(u32 offset) const
{
- ASSERT(offset >= m_compilation_unit.offset() && offset < m_compilation_unit.offset() + m_compilation_unit.size());
+ VERIFY(offset >= m_compilation_unit.offset() && offset < m_compilation_unit.offset() + m_compilation_unit.size());
return DIE(m_compilation_unit, offset);
}
diff --git a/Userland/Libraries/LibDebug/Dwarf/DwarfInfo.cpp b/Userland/Libraries/LibDebug/Dwarf/DwarfInfo.cpp
index 09717cfc71..fb1fdc2f42 100644
--- a/Userland/Libraries/LibDebug/Dwarf/DwarfInfo.cpp
+++ b/Userland/Libraries/LibDebug/Dwarf/DwarfInfo.cpp
@@ -59,8 +59,8 @@ void DwarfInfo::populate_compilation_units()
CompilationUnitHeader compilation_unit_header {};
stream >> Bytes { &compilation_unit_header, sizeof(compilation_unit_header) };
- ASSERT(compilation_unit_header.address_size == sizeof(u32));
- ASSERT(compilation_unit_header.version <= 4);
+ VERIFY(compilation_unit_header.address_size == sizeof(u32));
+ VERIFY(compilation_unit_header.version <= 4);
u32 length_after_header = compilation_unit_header.length - (sizeof(CompilationUnitHeader) - offsetof(CompilationUnitHeader, version));
m_compilation_units.empend(*this, unit_offset, compilation_unit_header);
diff --git a/Userland/Libraries/LibDebug/Dwarf/Expression.cpp b/Userland/Libraries/LibDebug/Dwarf/Expression.cpp
index fe50d1aed3..b8f78a1e82 100644
--- a/Userland/Libraries/LibDebug/Dwarf/Expression.cpp
+++ b/Userland/Libraries/LibDebug/Dwarf/Expression.cpp
@@ -55,10 +55,10 @@ Value evaluate(ReadonlyBytes bytes, const PtraceRegisters& regs)
default:
dbgln("DWARF expr addr: {}", (const void*)bytes.data());
dbgln("unsupported opcode: {}", (u8)opcode);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibDebug/Dwarf/LineProgram.cpp b/Userland/Libraries/LibDebug/Dwarf/LineProgram.cpp
index 649f0fe547..447bcccc99 100644
--- a/Userland/Libraries/LibDebug/Dwarf/LineProgram.cpp
+++ b/Userland/Libraries/LibDebug/Dwarf/LineProgram.cpp
@@ -45,8 +45,8 @@ void LineProgram::parse_unit_header()
{
m_stream >> Bytes { &m_unit_header, sizeof(m_unit_header) };
- ASSERT(m_unit_header.version == DWARF_VERSION);
- ASSERT(m_unit_header.opcode_base == SPECIAL_OPCODES_BASE);
+ VERIFY(m_unit_header.version == DWARF_VERSION);
+ VERIFY(m_unit_header.opcode_base == SPECIAL_OPCODES_BASE);
#if DWARF_DEBUG
dbgln("unit length: {}", m_unit_header.length);
@@ -67,7 +67,7 @@ void LineProgram::parse_source_directories()
}
m_stream.handle_recoverable_error();
m_stream.discard_or_error(1);
- ASSERT(!m_stream.has_any_error());
+ VERIFY(!m_stream.has_any_error());
}
void LineProgram::parse_source_files()
@@ -87,7 +87,7 @@ void LineProgram::parse_source_files()
m_source_files.append({ file_name, directory_index });
}
m_stream.discard_or_error(1);
- ASSERT(!m_stream.has_any_error());
+ VERIFY(!m_stream.has_any_error());
}
void LineProgram::append_to_line_info()
@@ -131,7 +131,7 @@ void LineProgram::handle_extended_opcode()
break;
}
case ExtendedOpcodes::SetAddress: {
- ASSERT(length == sizeof(size_t) + 1);
+ VERIFY(length == sizeof(size_t) + 1);
m_stream >> m_address;
#if DWARF_DEBUG
dbgln("SetAddress: {:p}", m_address);
@@ -149,7 +149,7 @@ void LineProgram::handle_extended_opcode()
#if DWARF_DEBUG
dbgln("offset: {:p}", m_stream.offset());
#endif
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
void LineProgram::handle_standard_opcode(u8 opcode)
@@ -191,7 +191,7 @@ void LineProgram::handle_standard_opcode(u8 opcode)
case StandardOpcodes::AdvanceLine: {
ssize_t line_delta;
m_stream.read_LEB128_signed(line_delta);
- ASSERT(line_delta >= 0 || m_line >= (size_t)(-line_delta));
+ VERIFY(line_delta >= 0 || m_line >= (size_t)(-line_delta));
m_line += line_delta;
#if DWARF_DEBUG
dbgln("AdvanceLine: {}", m_line);
@@ -223,7 +223,7 @@ void LineProgram::handle_standard_opcode(u8 opcode)
}
default:
dbgln("Unhandled LineProgram opcode {}", opcode);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
void LineProgram::handle_sepcial_opcode(u8 opcode)
diff --git a/Userland/Libraries/LibDesktop/AppFile.cpp b/Userland/Libraries/LibDesktop/AppFile.cpp
index 41958328f5..8951bf75b0 100644
--- a/Userland/Libraries/LibDesktop/AppFile.cpp
+++ b/Userland/Libraries/LibDesktop/AppFile.cpp
@@ -82,14 +82,14 @@ bool AppFile::validate() const
String AppFile::name() const
{
auto name = m_config->read_entry("App", "Name").trim_whitespace();
- ASSERT(!name.is_empty());
+ VERIFY(!name.is_empty());
return name;
}
String AppFile::executable() const
{
auto executable = m_config->read_entry("App", "Executable").trim_whitespace();
- ASSERT(!executable.is_empty());
+ VERIFY(!executable.is_empty());
return executable;
}
diff --git a/Userland/Libraries/LibDesktop/Launcher.cpp b/Userland/Libraries/LibDesktop/Launcher.cpp
index 06e1caff01..c81eff8a46 100644
--- a/Userland/Libraries/LibDesktop/Launcher.cpp
+++ b/Userland/Libraries/LibDesktop/Launcher.cpp
@@ -38,7 +38,7 @@ auto Launcher::Details::from_details_str(const String& details_str) -> NonnullRe
{
auto details = adopt(*new Details);
auto json = JsonValue::from_string(details_str);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
auto obj = json.value().as_object();
details->executable = obj.get("executable").to_string();
details->name = obj.get("name").to_string();
@@ -124,7 +124,7 @@ bool Launcher::open(const URL& url, const String& handler_name)
bool Launcher::open(const URL& url, const Details& details)
{
- ASSERT(details.launcher_type != LauncherType::Application); // Launcher should not be used to execute arbitrary applications
+ VERIFY(details.launcher_type != LauncherType::Application); // Launcher should not be used to execute arbitrary applications
return open(url, details.executable);
}
diff --git a/Userland/Libraries/LibDiff/Hunks.cpp b/Userland/Libraries/LibDiff/Hunks.cpp
index d94bedfa03..b6ee4fee22 100644
--- a/Userland/Libraries/LibDiff/Hunks.cpp
+++ b/Userland/Libraries/LibDiff/Hunks.cpp
@@ -110,13 +110,13 @@ HunkLocation parse_hunk_location(const String& location_line)
};
while (char_index < location_line.length() && location_line[char_index++] != '-') {
}
- ASSERT(char_index < location_line.length());
+ VERIFY(char_index < location_line.length());
size_t original_location_start_index = char_index;
while (char_index < location_line.length() && location_line[char_index++] != ' ') {
}
- ASSERT(char_index < location_line.length() && location_line[char_index] == '+');
+ VERIFY(char_index < location_line.length() && location_line[char_index] == '+');
size_t original_location_end_index = char_index - 2;
size_t target_location_start_index = char_index + 1;
@@ -124,7 +124,7 @@ HunkLocation parse_hunk_location(const String& location_line)
char_index += 1;
while (char_index < location_line.length() && location_line[char_index++] != ' ') {
}
- ASSERT(char_index < location_line.length());
+ VERIFY(char_index < location_line.length());
size_t target_location_end_index = char_index - 2;
diff --git a/Userland/Libraries/LibELF/DynamicLinker.cpp b/Userland/Libraries/LibELF/DynamicLinker.cpp
index 4e7842de3f..da7596ecac 100644
--- a/Userland/Libraries/LibELF/DynamicLinker.cpp
+++ b/Userland/Libraries/LibELF/DynamicLinker.cpp
@@ -87,7 +87,7 @@ static void map_library(const String& name, int fd)
auto loader = ELF::DynamicLoader::try_create(fd, name);
if (!loader) {
dbgln("Failed to create ELF::DynamicLoader for fd={}, name={}", fd, name);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
loader->set_tls_offset(g_current_tls_offset);
@@ -101,7 +101,7 @@ static void map_library(const String& name)
// TODO: Do we want to also look for libs in other paths too?
String path = String::formatted("/usr/lib/{}", name);
int fd = open(path.characters(), O_RDONLY);
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
map_library(name, fd);
}
@@ -162,19 +162,19 @@ static void initialize_libc(DynamicObject& libc)
// Also, we can't just mark `__libc_init` with "__attribute__((constructor))"
// because it uses getenv() internally, so `environ` has to be initialized before we call `__libc_init`.
auto res = libc.lookup_symbol("environ");
- ASSERT(res.has_value());
+ VERIFY(res.has_value());
*((char***)res.value().address.as_ptr()) = g_envp;
res = libc.lookup_symbol("__environ_is_malloced");
- ASSERT(res.has_value());
+ VERIFY(res.has_value());
*((bool*)res.value().address.as_ptr()) = false;
res = libc.lookup_symbol("exit");
- ASSERT(res.has_value());
+ VERIFY(res.has_value());
g_libc_exit = (LibCExitFunction)res.value().address.as_ptr();
res = libc.lookup_symbol("__libc_init");
- ASSERT(res.has_value());
+ VERIFY(res.has_value());
typedef void libc_init_func();
((libc_init_func*)res.value().address.as_ptr())();
}
@@ -203,12 +203,12 @@ static void load_elf(const String& name)
{
for_each_dependency_of(name, [](auto& loader) {
auto dynamic_object = loader.map();
- ASSERT(dynamic_object);
+ VERIFY(dynamic_object);
g_global_objects.append(*dynamic_object);
});
for_each_dependency_of(name, [](auto& loader) {
bool success = loader.link(RTLD_GLOBAL | RTLD_LAZY, g_total_tls_size);
- ASSERT(success);
+ VERIFY(success);
});
}
@@ -223,11 +223,11 @@ static NonnullRefPtr<DynamicLoader> commit_elf(const String& name)
}
auto object = loader->load_stage_3(RTLD_GLOBAL | RTLD_LAZY, g_total_tls_size);
- ASSERT(object);
+ VERIFY(object);
if (name == "libsystem.so") {
if (syscall(SC_msyscall, object->base_address().as_ptr())) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -288,7 +288,7 @@ void ELF::DynamicLinker::linker_main(String&& main_program_name, int main_progra
int rc = syscall(SC_msyscall, nullptr);
if (rc < 0) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
rc = main_function(argc, argv, envp);
@@ -299,7 +299,7 @@ void ELF::DynamicLinker::linker_main(String&& main_program_name, int main_progra
_exit(rc);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibELF/DynamicLoader.cpp b/Userland/Libraries/LibELF/DynamicLoader.cpp
index d81a410221..524253c0b8 100644
--- a/Userland/Libraries/LibELF/DynamicLoader.cpp
+++ b/Userland/Libraries/LibELF/DynamicLoader.cpp
@@ -60,7 +60,7 @@ RefPtr<DynamicLoader> DynamicLoader::try_create(int fd, String filename)
return {};
}
- ASSERT(stat.st_size >= 0);
+ VERIFY(stat.st_size >= 0);
auto size = static_cast<size_t>(stat.st_size);
if (size < sizeof(Elf32_Ehdr))
return {};
@@ -90,11 +90,11 @@ DynamicLoader::~DynamicLoader()
{
if (munmap(m_file_data, m_file_size) < 0) {
perror("munmap");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (close(m_image_fd) < 0) {
perror("close");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -109,7 +109,7 @@ const DynamicObject& DynamicLoader::dynamic_object() const
}
return IterationDecision::Continue;
});
- ASSERT(!dynamic_section_address.is_null());
+ VERIFY(!dynamic_section_address.is_null());
m_cached_dynamic_object = ELF::DynamicObject::create(VirtualAddress(m_elf_image.base_address()), dynamic_section_address);
}
@@ -154,7 +154,7 @@ void* DynamicLoader::symbol_for_name(const StringView& name)
RefPtr<DynamicObject> DynamicLoader::map()
{
- ASSERT(!m_dynamic_object);
+ VERIFY(!m_dynamic_object);
if (!m_valid) {
dbgln("DynamicLoader::map failed: image is invalid");
@@ -177,10 +177,10 @@ bool DynamicLoader::link(unsigned flags, size_t total_tls_size)
bool DynamicLoader::load_stage_2(unsigned flags, size_t total_tls_size)
{
- ASSERT(flags & RTLD_GLOBAL);
+ VERIFY(flags & RTLD_GLOBAL);
if (m_dynamic_object->has_text_relocations()) {
- ASSERT(m_text_segment_load_address.get() != 0);
+ VERIFY(m_text_segment_load_address.get() != 0);
#ifndef AK_OS_MACOS
// Remap this text region as private.
@@ -205,7 +205,7 @@ void DynamicLoader::do_main_relocations(size_t total_tls_size)
switch (do_relocation(total_tls_size, relocation)) {
case RelocationResult::Failed:
dbgln("Loader.so: {} unresolved symbol '{}'", m_filename, relocation.symbol().name());
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case RelocationResult::ResolveLater:
m_unresolved_relocations.append(relocation);
break;
@@ -254,7 +254,7 @@ void DynamicLoader::do_lazy_relocations(size_t total_tls_size)
for (const auto& relocation : m_unresolved_relocations) {
if (auto res = do_relocation(total_tls_size, relocation); res != RelocationResult::Success) {
dbgln("Loader.so: {} unresolved symbol '{}'", m_filename, relocation.symbol().name());
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
}
@@ -272,27 +272,27 @@ void DynamicLoader::load_program_headers()
ProgramHeaderRegion region {};
region.set_program_header(program_header.raw_header());
if (region.is_tls_template()) {
- ASSERT(!tls_region.has_value());
+ VERIFY(!tls_region.has_value());
tls_region = region;
} else if (region.is_load()) {
if (region.is_executable()) {
- ASSERT(!text_region.has_value());
+ VERIFY(!text_region.has_value());
text_region = region;
} else {
- ASSERT(!data_region.has_value());
+ VERIFY(!data_region.has_value());
data_region = region;
}
} else if (region.is_dynamic()) {
dynamic_region_desired_vaddr = region.desired_load_address();
} else if (region.is_relro()) {
- ASSERT(!relro_region.has_value());
+ VERIFY(!relro_region.has_value());
relro_region = region;
}
return IterationDecision::Continue;
});
- ASSERT(text_region.has_value());
- ASSERT(data_region.has_value());
+ VERIFY(text_region.has_value());
+ VERIFY(data_region.has_value());
// Process regions in order: .text, .data, .tls
void* requested_load_address = m_elf_image.is_dynamic() ? nullptr : text_region.value().desired_load_address().as_ptr();
@@ -303,7 +303,7 @@ void DynamicLoader::load_program_headers()
else
reservation_mmap_flags |= MAP_FIXED;
- ASSERT(!text_region.value().is_writable());
+ VERIFY(!text_region.value().is_writable());
// First, we make a dummy reservation mapping, in order to allocate enough VM
// to hold both text+data contiguously in the address space.
@@ -321,13 +321,13 @@ void DynamicLoader::load_program_headers()
auto* reservation = mmap(requested_load_address, total_mapping_size, PROT_NONE, reservation_mmap_flags, 0, 0);
if (reservation == MAP_FAILED) {
perror("mmap reservation");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
// Then we unmap the reservation.
if (munmap(reservation, total_mapping_size) < 0) {
perror("munmap reservation");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
// Now we can map the text segment at the reserved address.
@@ -342,10 +342,10 @@ void DynamicLoader::load_program_headers()
if (text_segment_begin == MAP_FAILED) {
perror("mmap text");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
- ASSERT(requested_load_address == nullptr || requested_load_address == text_segment_begin);
+ VERIFY(requested_load_address == nullptr || requested_load_address == text_segment_begin);
m_text_segment_size = text_segment_size;
m_text_segment_load_address = VirtualAddress { (FlatPtr)text_segment_begin };
@@ -375,7 +375,7 @@ void DynamicLoader::load_program_headers()
if (MAP_FAILED == data_segment) {
perror("mmap data");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
VirtualAddress data_segment_start;
@@ -409,7 +409,7 @@ DynamicLoader::RelocationResult DynamicLoader::do_relocation(size_t total_tls_si
if (symbol.bind() == STB_WEAK)
return RelocationResult::ResolveLater;
dbgln("ERROR: symbol not found: {}.", symbol.name());
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
auto symbol_address = res.value().address;
*patch_ptr += symbol_address.get();
@@ -418,7 +418,7 @@ DynamicLoader::RelocationResult DynamicLoader::do_relocation(size_t total_tls_si
case R_386_PC32: {
auto symbol = relocation.symbol();
auto result = lookup_symbol(symbol);
- ASSERT(result.has_value());
+ VERIFY(result.has_value());
auto relative_offset = result.value().address - m_dynamic_object->base_address().offset(relocation.offset());
*patch_ptr += relative_offset.get();
break;
@@ -440,7 +440,7 @@ DynamicLoader::RelocationResult DynamicLoader::do_relocation(size_t total_tls_si
return RelocationResult::Failed;
}
auto symbol_location = res.value().address;
- ASSERT(symbol_location != m_dynamic_object->base_address());
+ VERIFY(symbol_location != m_dynamic_object->base_address());
*patch_ptr = symbol_location.get();
break;
}
@@ -462,7 +462,7 @@ DynamicLoader::RelocationResult DynamicLoader::do_relocation(size_t total_tls_si
break;
u32 symbol_value = res.value().value;
auto* dynamic_object_of_symbol = res.value().dynamic_object;
- ASSERT(dynamic_object_of_symbol);
+ VERIFY(dynamic_object_of_symbol);
size_t offset_of_tls_end = dynamic_object_of_symbol->tls_offset().value() + dynamic_object_of_symbol->tls_size().value();
*patch_ptr = (offset_of_tls_end - total_tls_size - symbol_value - sizeof(Elf32_Addr));
break;
@@ -484,7 +484,7 @@ DynamicLoader::RelocationResult DynamicLoader::do_relocation(size_t total_tls_si
default:
// Raise the alarm! Someone needs to implement this relocation type
dbgln("Found a new exciting relocation type {}", relocation.type());
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return RelocationResult::Success;
}
@@ -494,8 +494,8 @@ extern "C" void _plt_trampoline(void) __attribute__((visibility("hidden")));
void DynamicLoader::setup_plt_trampoline()
{
- ASSERT(m_dynamic_object);
- ASSERT(m_dynamic_object->has_plt());
+ VERIFY(m_dynamic_object);
+ VERIFY(m_dynamic_object->has_plt());
VirtualAddress got_address = m_dynamic_object->plt_got_base_address();
auto* got_ptr = (FlatPtr*)got_address.as_ptr();
diff --git a/Userland/Libraries/LibELF/DynamicObject.cpp b/Userland/Libraries/LibELF/DynamicObject.cpp
index 9505a87809..5c29083505 100644
--- a/Userland/Libraries/LibELF/DynamicObject.cpp
+++ b/Userland/Libraries/LibELF/DynamicObject.cpp
@@ -129,7 +129,7 @@ void DynamicObject::parse()
break;
case DT_PLTREL:
m_procedure_linkage_table_relocation_type = entry.val();
- ASSERT(m_procedure_linkage_table_relocation_type & (DT_REL | DT_RELA));
+ VERIFY(m_procedure_linkage_table_relocation_type & (DT_REL | DT_RELA));
break;
case DT_JMPREL:
m_plt_relocation_offset_location = entry.ptr() - (FlatPtr)m_elf_base_address.as_ptr();
@@ -172,7 +172,7 @@ void DynamicObject::parse()
break;
default:
dbgln("DynamicObject: DYNAMIC tag handling not implemented for DT_{}", name_for_dtag(entry.tag()));
- ASSERT_NOT_REACHED(); // FIXME: Maybe just break out here and return false?
+ VERIFY_NOT_REACHED(); // FIXME: Maybe just break out here and return false?
break;
}
return IterationDecision::Continue;
@@ -193,7 +193,7 @@ void DynamicObject::parse()
DynamicObject::Relocation DynamicObject::RelocationSection::relocation(unsigned index) const
{
- ASSERT(index < entry_count());
+ VERIFY(index < entry_count());
unsigned offset_in_section = index * entry_size();
auto relocation_address = (Elf32_Rel*)address().offset(offset_in_section).as_ptr();
return Relocation(m_dynamic, *relocation_address, offset_in_section);
@@ -201,7 +201,7 @@ DynamicObject::Relocation DynamicObject::RelocationSection::relocation(unsigned
DynamicObject::Relocation DynamicObject::RelocationSection::relocation_at_offset(unsigned offset) const
{
- ASSERT(offset <= (m_section_size_bytes - m_entry_size));
+ VERIFY(offset <= (m_section_size_bytes - m_entry_size));
auto relocation_address = (Elf32_Rel*)address().offset(offset).as_ptr();
return Relocation(m_dynamic, *relocation_address, offset);
}
@@ -323,7 +323,7 @@ const char* DynamicObject::raw_symbol_string_table_string(Elf32_Word index) cons
DynamicObject::InitializationFunction DynamicObject::init_section_function() const
{
- ASSERT(has_init_section());
+ VERIFY(has_init_section());
return (InitializationFunction)init_section().address().as_ptr();
}
@@ -444,14 +444,14 @@ NonnullRefPtr<DynamicObject> DynamicObject::create(VirtualAddress base_address,
VirtualAddress DynamicObject::patch_plt_entry(u32 relocation_offset)
{
auto relocation = plt_relocation_section().relocation_at_offset(relocation_offset);
- ASSERT(relocation.type() == R_386_JMP_SLOT);
+ VERIFY(relocation.type() == R_386_JMP_SLOT);
auto symbol = relocation.symbol();
u8* relocation_address = relocation.address().as_ptr();
auto result = DynamicLoader::lookup_symbol(symbol);
if (!result.has_value()) {
dbgln("did not find symbol: {}", symbol.name());
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
auto symbol_location = result.value().address;
diff --git a/Userland/Libraries/LibELF/Image.cpp b/Userland/Libraries/LibELF/Image.cpp
index 07233f5e0d..d40cea14e3 100644
--- a/Userland/Libraries/LibELF/Image.cpp
+++ b/Userland/Libraries/LibELF/Image.cpp
@@ -74,7 +74,7 @@ static const char* object_file_type_to_string(Elf32_Half type)
StringView Image::section_index_to_string(unsigned index) const
{
- ASSERT(m_valid);
+ VERIFY(m_valid);
if (index == SHN_UNDEF)
return "Undefined";
if (index >= SHN_LORESERVE)
@@ -84,7 +84,7 @@ StringView Image::section_index_to_string(unsigned index) const
unsigned Image::symbol_count() const
{
- ASSERT(m_valid);
+ VERIFY(m_valid);
if (!section_count())
return 0;
return section(m_symbol_table_section_index).entry_count();
@@ -146,13 +146,13 @@ void Image::dump() const
unsigned Image::section_count() const
{
- ASSERT(m_valid);
+ VERIFY(m_valid);
return header().e_shnum;
}
unsigned Image::program_header_count() const
{
- ASSERT(m_valid);
+ VERIFY(m_valid);
return header().e_phnum;
}
@@ -191,7 +191,7 @@ bool Image::parse()
StringView Image::table_string(unsigned table_index, unsigned offset) const
{
- ASSERT(m_valid);
+ VERIFY(m_valid);
auto& sh = section_header(table_index);
if (sh.sh_type != SHT_STRTAB)
return nullptr;
@@ -208,67 +208,67 @@ StringView Image::table_string(unsigned table_index, unsigned offset) const
StringView Image::section_header_table_string(unsigned offset) const
{
- ASSERT(m_valid);
+ VERIFY(m_valid);
return table_string(header().e_shstrndx, offset);
}
StringView Image::table_string(unsigned offset) const
{
- ASSERT(m_valid);
+ VERIFY(m_valid);
return table_string(m_string_table_section_index, offset);
}
const char* Image::raw_data(unsigned offset) const
{
- ASSERT(offset < m_size); // Callers must check indices into raw_data()'s result are also in bounds.
+ VERIFY(offset < m_size); // Callers must check indices into raw_data()'s result are also in bounds.
return reinterpret_cast<const char*>(m_buffer) + offset;
}
const Elf32_Ehdr& Image::header() const
{
- ASSERT(m_size >= sizeof(Elf32_Ehdr));
+ VERIFY(m_size >= sizeof(Elf32_Ehdr));
return *reinterpret_cast<const Elf32_Ehdr*>(raw_data(0));
}
const Elf32_Phdr& Image::program_header_internal(unsigned index) const
{
- ASSERT(m_valid);
- ASSERT(index < header().e_phnum);
+ VERIFY(m_valid);
+ VERIFY(index < header().e_phnum);
return *reinterpret_cast<const Elf32_Phdr*>(raw_data(header().e_phoff + (index * sizeof(Elf32_Phdr))));
}
const Elf32_Shdr& Image::section_header(unsigned index) const
{
- ASSERT(m_valid);
- ASSERT(index < header().e_shnum);
+ VERIFY(m_valid);
+ VERIFY(index < header().e_shnum);
return *reinterpret_cast<const Elf32_Shdr*>(raw_data(header().e_shoff + (index * header().e_shentsize)));
}
Image::Symbol Image::symbol(unsigned index) const
{
- ASSERT(m_valid);
- ASSERT(index < symbol_count());
+ VERIFY(m_valid);
+ VERIFY(index < symbol_count());
auto* raw_syms = reinterpret_cast<const Elf32_Sym*>(raw_data(section(m_symbol_table_section_index).offset()));
return Symbol(*this, index, raw_syms[index]);
}
Image::Section Image::section(unsigned index) const
{
- ASSERT(m_valid);
- ASSERT(index < section_count());
+ VERIFY(m_valid);
+ VERIFY(index < section_count());
return Section(*this, index);
}
Image::ProgramHeader Image::program_header(unsigned index) const
{
- ASSERT(m_valid);
- ASSERT(index < program_header_count());
+ VERIFY(m_valid);
+ VERIFY(index < program_header_count());
return ProgramHeader(*this, index);
}
Image::Relocation Image::RelocationSection::relocation(unsigned index) const
{
- ASSERT(index < relocation_count());
+ VERIFY(index < relocation_count());
auto* rels = reinterpret_cast<const Elf32_Rel*>(m_image.raw_data(offset()));
return Relocation(m_image, rels[index]);
}
@@ -291,7 +291,7 @@ Image::RelocationSection Image::Section::relocations() const
Image::Section Image::lookup_section(const String& name) const
{
- ASSERT(m_valid);
+ VERIFY(m_valid);
for (unsigned i = 0; i < section_count(); ++i) {
auto section = this->section(i);
if (section.name() == name)
diff --git a/Userland/Libraries/LibELF/Validation.cpp b/Userland/Libraries/LibELF/Validation.cpp
index b849e836b8..403353cdde 100644
--- a/Userland/Libraries/LibELF/Validation.cpp
+++ b/Userland/Libraries/LibELF/Validation.cpp
@@ -219,7 +219,7 @@ bool validate_program_headers(const Elf32_Ehdr& elf_header, size_t file_size, co
if (file_size < buffer_size) {
dbgln("We somehow read more from a file than was in the file in the first place!");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
size_t num_program_headers = elf_header.e_phnum;
diff --git a/Userland/Libraries/LibGUI/AbstractSlider.cpp b/Userland/Libraries/LibGUI/AbstractSlider.cpp
index 99400b44d2..f6601ee38d 100644
--- a/Userland/Libraries/LibGUI/AbstractSlider.cpp
+++ b/Userland/Libraries/LibGUI/AbstractSlider.cpp
@@ -65,7 +65,7 @@ void AbstractSlider::set_page_step(int page_step)
void AbstractSlider::set_range(int min, int max)
{
- ASSERT(min <= max);
+ VERIFY(min <= max);
if (m_min == min && m_max == max)
return;
m_min = min;
diff --git a/Userland/Libraries/LibGUI/AbstractView.cpp b/Userland/Libraries/LibGUI/AbstractView.cpp
index d735291e59..8ac69da289 100644
--- a/Userland/Libraries/LibGUI/AbstractView.cpp
+++ b/Userland/Libraries/LibGUI/AbstractView.cpp
@@ -140,8 +140,8 @@ void AbstractView::update_edit_widget_position()
void AbstractView::begin_editing(const ModelIndex& index)
{
- ASSERT(is_editable());
- ASSERT(model());
+ VERIFY(is_editable());
+ VERIFY(model());
if (m_edit_index == index)
return;
if (!model()->is_editable(index))
@@ -152,7 +152,7 @@ void AbstractView::begin_editing(const ModelIndex& index)
}
m_edit_index = index;
- ASSERT(aid_create_editing_delegate);
+ VERIFY(aid_create_editing_delegate);
m_editing_delegate = aid_create_editing_delegate(index);
m_editing_delegate->bind(*model(), index);
m_editing_delegate->set_value(index.data());
@@ -164,12 +164,12 @@ void AbstractView::begin_editing(const ModelIndex& index)
m_edit_widget->set_focus(true);
m_editing_delegate->will_begin_editing();
m_editing_delegate->on_commit = [this] {
- ASSERT(model());
+ VERIFY(model());
model()->set_data(m_edit_index, m_editing_delegate->value());
stop_editing();
};
m_editing_delegate->on_rollback = [this] {
- ASSERT(model());
+ VERIFY(model());
stop_editing();
};
}
@@ -298,7 +298,7 @@ void AbstractView::mousemove_event(MouseEvent& event)
if (distance_travelled_squared <= drag_distance_threshold)
return ScrollableWidget::mousemove_event(event);
- ASSERT(!data_type.is_null());
+ VERIFY(!data_type.is_null());
if (m_is_dragging)
return;
@@ -323,7 +323,7 @@ void AbstractView::mousemove_event(MouseEvent& event)
dbgln("Drag was cancelled!");
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
diff --git a/Userland/Libraries/LibGUI/Action.h b/Userland/Libraries/LibGUI/Action.h
index efafc3c9ee..4ed68896f7 100644
--- a/Userland/Libraries/LibGUI/Action.h
+++ b/Userland/Libraries/LibGUI/Action.h
@@ -105,7 +105,7 @@ public:
bool is_checked() const
{
- ASSERT(is_checkable());
+ VERIFY(is_checkable());
return m_checked;
}
void set_checked(bool);
diff --git a/Userland/Libraries/LibGUI/Application.cpp b/Userland/Libraries/LibGUI/Application.cpp
index 818fe37cd6..73e4caa964 100644
--- a/Userland/Libraries/LibGUI/Application.cpp
+++ b/Userland/Libraries/LibGUI/Application.cpp
@@ -82,7 +82,7 @@ Application* Application::the()
Application::Application(int argc, char** argv)
{
- ASSERT(!*s_the);
+ VERIFY(!*s_the);
*s_the = *this;
m_event_loop = make<Core::EventLoop>();
WindowServerConnection::the();
@@ -212,7 +212,7 @@ Gfx::Palette Application::palette() const
void Application::tooltip_show_timer_did_fire()
{
- ASSERT(m_tooltip_window);
+ VERIFY(m_tooltip_window);
Gfx::IntRect desktop_rect = Desktop::the().rect();
const int margin = 30;
diff --git a/Userland/Libraries/LibGUI/AutocompleteProvider.cpp b/Userland/Libraries/LibGUI/AutocompleteProvider.cpp
index d136c17413..007e136a19 100644
--- a/Userland/Libraries/LibGUI/AutocompleteProvider.cpp
+++ b/Userland/Libraries/LibGUI/AutocompleteProvider.cpp
@@ -196,7 +196,7 @@ void AutocompleteBox::apply_suggestion()
auto suggestion = suggestion_index.data().to_string();
size_t partial_length = suggestion_index.data((GUI::ModelRole)AutocompleteSuggestionModel::InternalRole::PartialInputLength).to_i64();
- ASSERT(suggestion.length() >= partial_length);
+ VERIFY(suggestion.length() >= partial_length);
auto completion = suggestion.substring_view(partial_length, suggestion.length() - partial_length);
m_editor->insert_at_cursor_or_replace_selection(completion);
}
diff --git a/Userland/Libraries/LibGUI/AutocompleteProvider.h b/Userland/Libraries/LibGUI/AutocompleteProvider.h
index 6987f3b0ca..6dd51864ee 100644
--- a/Userland/Libraries/LibGUI/AutocompleteProvider.h
+++ b/Userland/Libraries/LibGUI/AutocompleteProvider.h
@@ -59,7 +59,7 @@ public:
void attach(TextEditor& editor)
{
- ASSERT(!m_editor);
+ VERIFY(!m_editor);
m_editor = editor;
}
void detach() { m_editor.clear(); }
diff --git a/Userland/Libraries/LibGUI/BreadcrumbBar.cpp b/Userland/Libraries/LibGUI/BreadcrumbBar.cpp
index b95e756c86..15fce14f53 100644
--- a/Userland/Libraries/LibGUI/BreadcrumbBar.cpp
+++ b/Userland/Libraries/LibGUI/BreadcrumbBar.cpp
@@ -136,7 +136,7 @@ void BreadcrumbBar::set_selected_segment(Optional<size_t> index)
}
auto& segment = m_segments[index.value()];
- ASSERT(segment.button);
+ VERIFY(segment.button);
segment.button->set_checked(true);
}
diff --git a/Userland/Libraries/LibGUI/ColumnsView.cpp b/Userland/Libraries/LibGUI/ColumnsView.cpp
index 9a18c4a5f3..c2d2747dcc 100644
--- a/Userland/Libraries/LibGUI/ColumnsView.cpp
+++ b/Userland/Libraries/LibGUI/ColumnsView.cpp
@@ -69,7 +69,7 @@ void ColumnsView::select_all()
return;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
});
for (Column& column : columns_for_selection) {
@@ -102,12 +102,12 @@ void ColumnsView::paint_event(PaintEvent& event)
auto& column = m_columns[i];
auto* next_column = i + 1 == m_columns.size() ? nullptr : &m_columns[i + 1];
- ASSERT(column.width > 0);
+ VERIFY(column.width > 0);
int row_count = model()->row_count(column.parent_index);
for (int row = 0; row < row_count; row++) {
ModelIndex index = model()->index(row, m_model_column, column.parent_index);
- ASSERT(index.is_valid());
+ VERIFY(index.is_valid());
bool is_selected_row = selection().contains(index);
@@ -180,7 +180,7 @@ void ColumnsView::paint_event(PaintEvent& event)
void ColumnsView::push_column(const ModelIndex& parent_index)
{
- ASSERT(model());
+ VERIFY(model());
// Drop columns at the end.
ModelIndex grandparent = model()->parent_index(parent_index);
@@ -216,7 +216,7 @@ void ColumnsView::update_column_sizes()
column.width = 10;
for (int row = 0; row < row_count; row++) {
ModelIndex index = model()->index(row, m_model_column, column.parent_index);
- ASSERT(index.is_valid());
+ VERIFY(index.is_valid());
auto text = index.data().to_string();
int row_width = icon_spacing() + icon_size() + icon_spacing() + font().width(text) + icon_spacing() + s_arrow_bitmap_width + icon_spacing();
if (row_width > column.width)
diff --git a/Userland/Libraries/LibGUI/ComboBox.cpp b/Userland/Libraries/LibGUI/ComboBox.cpp
index 510074df8c..565ca3de1b 100644
--- a/Userland/Libraries/LibGUI/ComboBox.cpp
+++ b/Userland/Libraries/LibGUI/ComboBox.cpp
@@ -118,7 +118,7 @@ ComboBox::ComboBox()
m_list_view->set_frame_thickness(1);
m_list_view->set_frame_shadow(Gfx::FrameShadow::Plain);
m_list_view->on_selection = [this](auto& index) {
- ASSERT(model());
+ VERIFY(model());
m_list_view->set_activates_on_selection(true);
if (m_updating_model)
selection_updated(index);
diff --git a/Userland/Libraries/LibGUI/Dialog.cpp b/Userland/Libraries/LibGUI/Dialog.cpp
index e1988da503..9922812333 100644
--- a/Userland/Libraries/LibGUI/Dialog.cpp
+++ b/Userland/Libraries/LibGUI/Dialog.cpp
@@ -43,7 +43,7 @@ Dialog::~Dialog()
int Dialog::exec()
{
- ASSERT(!m_event_loop);
+ VERIFY(!m_event_loop);
m_event_loop = make<Core::EventLoop>();
if (parent() && is<Window>(parent())) {
auto& parent_window = *static_cast<Window*>(parent());
diff --git a/Userland/Libraries/LibGUI/DisplayLink.cpp b/Userland/Libraries/LibGUI/DisplayLink.cpp
index a2bf46e921..b9663405d1 100644
--- a/Userland/Libraries/LibGUI/DisplayLink.cpp
+++ b/Userland/Libraries/LibGUI/DisplayLink.cpp
@@ -73,7 +73,7 @@ i32 DisplayLink::register_callback(Function<void(i32)> callback)
bool DisplayLink::unregister_callback(i32 callback_id)
{
- ASSERT(callbacks().contains(callback_id));
+ VERIFY(callbacks().contains(callback_id));
callbacks().remove(callback_id);
if (callbacks().is_empty())
diff --git a/Userland/Libraries/LibGUI/DragOperation.cpp b/Userland/Libraries/LibGUI/DragOperation.cpp
index a1afb25cdc..e6a3215303 100644
--- a/Userland/Libraries/LibGUI/DragOperation.cpp
+++ b/Userland/Libraries/LibGUI/DragOperation.cpp
@@ -46,9 +46,9 @@ DragOperation::~DragOperation()
DragOperation::Outcome DragOperation::exec()
{
- ASSERT(!s_current_drag_operation);
- ASSERT(!m_event_loop);
- ASSERT(m_mime_data);
+ VERIFY(!s_current_drag_operation);
+ VERIFY(!m_event_loop);
+ VERIFY(m_mime_data);
Gfx::ShareableBitmap drag_bitmap;
if (m_mime_data->has_format("image/x-raw-bitmap")) {
@@ -79,14 +79,14 @@ DragOperation::Outcome DragOperation::exec()
void DragOperation::done(Outcome outcome)
{
- ASSERT(m_outcome == Outcome::None);
+ VERIFY(m_outcome == Outcome::None);
m_outcome = outcome;
m_event_loop->quit(0);
}
void DragOperation::notify_accepted(Badge<WindowServerConnection>)
{
- ASSERT(s_current_drag_operation);
+ VERIFY(s_current_drag_operation);
s_current_drag_operation->done(Outcome::Accepted);
}
diff --git a/Userland/Libraries/LibGUI/EditingEngine.cpp b/Userland/Libraries/LibGUI/EditingEngine.cpp
index 3e16b1c3b1..45c75b4f12 100644
--- a/Userland/Libraries/LibGUI/EditingEngine.cpp
+++ b/Userland/Libraries/LibGUI/EditingEngine.cpp
@@ -36,13 +36,13 @@ EditingEngine::~EditingEngine()
void EditingEngine::attach(TextEditor& editor)
{
- ASSERT(!m_editor);
+ VERIFY(!m_editor);
m_editor = editor;
}
void EditingEngine::detach()
{
- ASSERT(m_editor);
+ VERIFY(m_editor);
m_editor = nullptr;
}
@@ -450,7 +450,7 @@ TextPosition EditingEngine::find_beginning_of_next_word()
has_seen_whitespace = true;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void EditingEngine::move_to_beginning_of_next_word()
@@ -516,7 +516,7 @@ TextPosition EditingEngine::find_end_of_next_word()
is_first_iteration = false;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void EditingEngine::move_to_end_of_next_word()
@@ -584,7 +584,7 @@ TextPosition EditingEngine::find_end_of_previous_word()
has_seen_whitespace = true;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void EditingEngine::move_to_end_of_previous_word()
@@ -648,7 +648,7 @@ TextPosition EditingEngine::find_beginning_of_previous_word()
is_first_iteration = false;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void EditingEngine::move_to_beginning_of_previous_word()
@@ -689,7 +689,7 @@ void EditingEngine::move_selected_lines_down()
get_selection_line_boundaries(first_line, last_line);
auto& lines = m_editor->document().lines();
- ASSERT(lines.size() != 0);
+ VERIFY(lines.size() != 0);
if (last_line >= lines.size() - 1)
return;
diff --git a/Userland/Libraries/LibGUI/FileIconProvider.cpp b/Userland/Libraries/LibGUI/FileIconProvider.cpp
index 9d2ec26ba0..ed585e9dc2 100644
--- a/Userland/Libraries/LibGUI/FileIconProvider.cpp
+++ b/Userland/Libraries/LibGUI/FileIconProvider.cpp
@@ -240,7 +240,7 @@ Icon FileIconProvider::icon_for_path(const String& path, mode_t mode)
for (auto size : target_icon.sizes()) {
auto& emblem = size < 32 ? *s_symlink_emblem_small : *s_symlink_emblem;
auto original_bitmap = target_icon.bitmap_for_size(size);
- ASSERT(original_bitmap);
+ VERIFY(original_bitmap);
auto generated_bitmap = original_bitmap->clone();
if (!generated_bitmap) {
dbgln("Failed to clone {}x{} icon for symlink variant", size, size);
diff --git a/Userland/Libraries/LibGUI/FilePicker.cpp b/Userland/Libraries/LibGUI/FilePicker.cpp
index 3f9c5dae0c..88672e9e36 100644
--- a/Userland/Libraries/LibGUI/FilePicker.cpp
+++ b/Userland/Libraries/LibGUI/FilePicker.cpp
@@ -99,7 +99,7 @@ FilePicker::FilePicker(Window* parent_window, Mode mode, const StringView& file_
auto& widget = set_main_widget<GUI::Widget>();
if (!widget.load_from_gml(file_picker_dialog_gml))
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
auto& toolbar = *widget.find_descendant_of_type_named<GUI::ToolBar>("toolbar");
toolbar.set_has_frame(false);
diff --git a/Userland/Libraries/LibGUI/FileSystemModel.cpp b/Userland/Libraries/LibGUI/FileSystemModel.cpp
index 4c8d7b08af..b504ae09e2 100644
--- a/Userland/Libraries/LibGUI/FileSystemModel.cpp
+++ b/Userland/Libraries/LibGUI/FileSystemModel.cpp
@@ -53,7 +53,7 @@ ModelIndex FileSystemModel::Node::index(int column) const
if (&parent->children[row] == this)
return m_model.create_index(row, column, const_cast<Node*>(this));
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool FileSystemModel::Node::fetch_data(const String& full_path, bool is_root)
@@ -340,7 +340,7 @@ const FileSystemModel::Node& FileSystemModel::node(const ModelIndex& index) cons
{
if (!index.is_valid())
return *m_root;
- ASSERT(index.internal_data());
+ VERIFY(index.internal_data());
return *(Node*)index.internal_data();
}
@@ -361,7 +361,7 @@ ModelIndex FileSystemModel::parent_index(const ModelIndex& index) const
return {};
auto& node = this->node(index);
if (!node.parent) {
- ASSERT(&node == m_root);
+ VERIFY(&node == m_root);
return {};
}
return node.parent->index(index.column());
@@ -369,7 +369,7 @@ ModelIndex FileSystemModel::parent_index(const ModelIndex& index) const
Variant FileSystemModel::data(const ModelIndex& index, ModelRole role) const
{
- ASSERT(index.is_valid());
+ VERIFY(index.is_valid());
if (role == ModelRole::TextAlignment) {
switch (index.column()) {
@@ -386,7 +386,7 @@ Variant FileSystemModel::data(const ModelIndex& index, ModelRole role) const
case Column::SymlinkTarget:
return Gfx::TextAlignment::CenterLeft;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -394,7 +394,7 @@ Variant FileSystemModel::data(const ModelIndex& index, ModelRole role) const
if (role == ModelRole::Custom) {
// For GUI::FileSystemModel, custom role means the full path.
- ASSERT(index.column() == Column::Name);
+ VERIFY(index.column() == Column::Name);
return node.full_path();
}
@@ -429,7 +429,7 @@ Variant FileSystemModel::data(const ModelIndex& index, ModelRole role) const
case Column::SymlinkTarget:
return node.symlink_target;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (role == ModelRole::Display) {
@@ -581,7 +581,7 @@ String FileSystemModel::column_name(int column) const
case Column::SymlinkTarget:
return "Symlink target";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool FileSystemModel::accepts_drag(const ModelIndex& index, const Vector<String>& mime_types) const
@@ -611,7 +611,7 @@ bool FileSystemModel::is_editable(const ModelIndex& index) const
void FileSystemModel::set_data(const ModelIndex& index, const Variant& data)
{
- ASSERT(is_editable(index));
+ VERIFY(is_editable(index));
Node& node = const_cast<Node&>(this->node(index));
auto dirname = LexicalPath(node.full_path()).dirname();
auto new_full_path = String::formatted("{}/{}", dirname, data.to_string());
diff --git a/Userland/Libraries/LibGUI/FontPicker.cpp b/Userland/Libraries/LibGUI/FontPicker.cpp
index de73560cc6..d4e14bbf86 100644
--- a/Userland/Libraries/LibGUI/FontPicker.cpp
+++ b/Userland/Libraries/LibGUI/FontPicker.cpp
@@ -96,7 +96,7 @@ FontPicker::FontPicker(Window* parent_window, const Gfx::Font* current_font, boo
auto& widget = set_main_widget<GUI::Widget>();
if (!widget.load_from_gml(font_picker_dialog_gml))
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
m_family_list_view = *widget.find_descendant_of_type_named<ListView>("family_list_view");
m_family_list_view->set_model(ItemListModel<String>::create(m_families));
diff --git a/Userland/Libraries/LibGUI/GMLFormatter.cpp b/Userland/Libraries/LibGUI/GMLFormatter.cpp
index 09c263bcc9..813247af48 100644
--- a/Userland/Libraries/LibGUI/GMLFormatter.cpp
+++ b/Userland/Libraries/LibGUI/GMLFormatter.cpp
@@ -113,7 +113,7 @@ String format_gml(const StringView& string)
auto ast = parse_gml(string);
if (ast.is_null())
return {};
- ASSERT(ast.is_object());
+ VERIFY(ast.is_object());
return format_gml_object(ast.as_object());
}
diff --git a/Userland/Libraries/LibGUI/GMLLexer.cpp b/Userland/Libraries/LibGUI/GMLLexer.cpp
index ede1272356..05985b7426 100644
--- a/Userland/Libraries/LibGUI/GMLLexer.cpp
+++ b/Userland/Libraries/LibGUI/GMLLexer.cpp
@@ -44,7 +44,7 @@ char GMLLexer::peek(size_t offset) const
char GMLLexer::consume()
{
- ASSERT(m_index < m_input.length());
+ VERIFY(m_index < m_input.length());
char ch = m_input[m_index++];
m_previous_position = m_position;
if (ch == '\n') {
diff --git a/Userland/Libraries/LibGUI/GMLLexer.h b/Userland/Libraries/LibGUI/GMLLexer.h
index 0803747dd9..20bd137a39 100644
--- a/Userland/Libraries/LibGUI/GMLLexer.h
+++ b/Userland/Libraries/LibGUI/GMLLexer.h
@@ -62,7 +62,7 @@ struct GMLToken {
FOR_EACH_TOKEN_TYPE
#undef __TOKEN
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Type m_type { Type::Unknown };
diff --git a/Userland/Libraries/LibGUI/HeaderView.cpp b/Userland/Libraries/LibGUI/HeaderView.cpp
index 0b394b63d2..c60dbc9e55 100644
--- a/Userland/Libraries/LibGUI/HeaderView.cpp
+++ b/Userland/Libraries/LibGUI/HeaderView.cpp
@@ -153,7 +153,7 @@ void HeaderView::mousemove_event(MouseEvent& event)
int new_size = m_section_resize_original_width + delta.primary_offset_for_orientation(m_orientation);
if (new_size <= minimum_column_size)
new_size = minimum_column_size;
- ASSERT(m_resizing_section >= 0 && m_resizing_section < model()->column_count());
+ VERIFY(m_resizing_section >= 0 && m_resizing_section < model()->column_count());
set_section_size(m_resizing_section, new_size);
return;
}
@@ -317,7 +317,7 @@ Menu& HeaderView::ensure_context_menu()
// FIXME: This menu needs to be rebuilt if the model is swapped out,
// or if the column count/names change.
if (!m_context_menu) {
- ASSERT(model());
+ VERIFY(model());
m_context_menu = Menu::construct();
if (m_orientation == Gfx::Orientation::Vertical) {
diff --git a/Userland/Libraries/LibGUI/INILexer.cpp b/Userland/Libraries/LibGUI/INILexer.cpp
index 6410a58c03..4b34800c01 100644
--- a/Userland/Libraries/LibGUI/INILexer.cpp
+++ b/Userland/Libraries/LibGUI/INILexer.cpp
@@ -44,7 +44,7 @@ char IniLexer::peek(size_t offset) const
char IniLexer::consume()
{
- ASSERT(m_index < m_input.length());
+ VERIFY(m_index < m_input.length());
char ch = m_input[m_index++];
m_previous_position = m_position;
if (ch == '\n') {
diff --git a/Userland/Libraries/LibGUI/INILexer.h b/Userland/Libraries/LibGUI/INILexer.h
index c4f4ba46d8..69c71c662b 100644
--- a/Userland/Libraries/LibGUI/INILexer.h
+++ b/Userland/Libraries/LibGUI/INILexer.h
@@ -62,7 +62,7 @@ struct IniToken {
FOR_EACH_TOKEN_TYPE
#undef __TOKEN
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Type m_type { Type::Unknown };
diff --git a/Userland/Libraries/LibGUI/Icon.cpp b/Userland/Libraries/LibGUI/Icon.cpp
index 650b440842..c927a5368d 100644
--- a/Userland/Libraries/LibGUI/Icon.cpp
+++ b/Userland/Libraries/LibGUI/Icon.cpp
@@ -49,7 +49,7 @@ Icon::Icon(RefPtr<Gfx::Bitmap>&& bitmap)
: Icon()
{
if (bitmap) {
- ASSERT(bitmap->width() == bitmap->height());
+ VERIFY(bitmap->width() == bitmap->height());
int size = bitmap->width();
set_bitmap_for_size(size, move(bitmap));
}
@@ -59,7 +59,7 @@ Icon::Icon(RefPtr<Gfx::Bitmap>&& bitmap1, RefPtr<Gfx::Bitmap>&& bitmap2)
: Icon(move(bitmap1))
{
if (bitmap2) {
- ASSERT(bitmap2->width() == bitmap2->height());
+ VERIFY(bitmap2->width() == bitmap2->height());
int size = bitmap2->width();
set_bitmap_for_size(size, move(bitmap2));
}
diff --git a/Userland/Libraries/LibGUI/IconView.cpp b/Userland/Libraries/LibGUI/IconView.cpp
index d3ac1e84b7..d5108d3a26 100644
--- a/Userland/Libraries/LibGUI/IconView.cpp
+++ b/Userland/Libraries/LibGUI/IconView.cpp
@@ -85,7 +85,7 @@ void IconView::reinit_item_cache() const
for (size_t i = new_item_count; i < m_item_data_cache.size(); i++) {
auto& item_data = m_item_data_cache[i];
if (item_data.selected) {
- ASSERT(m_selected_count_cache > 0);
+ VERIFY(m_selected_count_cache > 0);
m_selected_count_cache--;
}
}
@@ -212,7 +212,7 @@ Gfx::IntRect IconView::item_rect(int item_index) const
ModelIndex IconView::index_at_event_position(const Gfx::IntPoint& position) const
{
- ASSERT(model());
+ VERIFY(model());
auto adjusted_position = to_content_position(position);
if (auto item_data = item_data_from_content_position(adjusted_position)) {
if (item_data->is_containing(adjusted_position))
@@ -603,7 +603,7 @@ void IconView::do_clear_selection()
m_selected_count_cache--;
}
m_first_selected_hint = 0;
- ASSERT(m_selected_count_cache == 0);
+ VERIFY(m_selected_count_cache == 0);
}
void IconView::clear_selection()
@@ -661,7 +661,7 @@ void IconView::remove_selection(ItemData& item_data)
TemporaryChange change(m_changing_selection, true);
item_data.selected = false;
- ASSERT(m_selected_count_cache > 0);
+ VERIFY(m_selected_count_cache > 0);
m_selected_count_cache--;
int item_index = &item_data - &m_item_data_cache[0];
if (m_first_selected_hint == item_index) {
@@ -770,7 +770,7 @@ void IconView::set_flow_direction(FlowDirection flow_direction)
template<typename Function>
inline IterationDecision IconView::for_each_item_intersecting_rect(const Gfx::IntRect& rect, Function f) const
{
- ASSERT(model());
+ VERIFY(model());
if (rect.is_empty())
return IterationDecision::Continue;
int begin_row, begin_column;
diff --git a/Userland/Libraries/LibGUI/IconView.h b/Userland/Libraries/LibGUI/IconView.h
index c26d34b766..71cf41b8ed 100644
--- a/Userland/Libraries/LibGUI/IconView.h
+++ b/Userland/Libraries/LibGUI/IconView.h
@@ -100,13 +100,13 @@ private:
bool is_intersecting(const Gfx::IntRect& rect) const
{
- ASSERT(valid);
+ VERIFY(valid);
return icon_rect.intersects(rect) || text_rect.intersects(rect);
}
bool is_containing(const Gfx::IntPoint& point) const
{
- ASSERT(valid);
+ VERIFY(valid);
return icon_rect.contains(point) || text_rect.contains(point);
}
};
@@ -135,7 +135,7 @@ private:
void reinit_item_cache() const;
int model_index_to_item_index(const ModelIndex& model_index) const
{
- ASSERT(model_index.row() < item_count());
+ VERIFY(model_index.row() < item_count());
return model_index.row();
}
diff --git a/Userland/Libraries/LibGUI/ImageWidget.cpp b/Userland/Libraries/LibGUI/ImageWidget.cpp
index a77ca3d1b7..019994224e 100644
--- a/Userland/Libraries/LibGUI/ImageWidget.cpp
+++ b/Userland/Libraries/LibGUI/ImageWidget.cpp
@@ -99,7 +99,7 @@ void ImageWidget::load_from_file(const StringView& path)
auto& mapped_file = *file_or_error.value();
m_image_decoder = Gfx::ImageDecoder::create((const u8*)mapped_file.data(), mapped_file.size());
auto bitmap = m_image_decoder->bitmap();
- ASSERT(bitmap);
+ VERIFY(bitmap);
set_bitmap(bitmap);
diff --git a/Userland/Libraries/LibGUI/JsonArrayModel.cpp b/Userland/Libraries/LibGUI/JsonArrayModel.cpp
index 83846ff37a..b31007d36d 100644
--- a/Userland/Libraries/LibGUI/JsonArrayModel.cpp
+++ b/Userland/Libraries/LibGUI/JsonArrayModel.cpp
@@ -43,8 +43,8 @@ void JsonArrayModel::update()
auto json = JsonValue::from_string(file->read_all());
- ASSERT(json.has_value());
- ASSERT(json.value().is_array());
+ VERIFY(json.has_value());
+ VERIFY(json.value().is_array());
m_array = json.value().as_array();
did_update();
@@ -65,7 +65,7 @@ bool JsonArrayModel::store()
bool JsonArrayModel::add(const Vector<JsonValue>&& values)
{
- ASSERT(values.size() == m_fields.size());
+ VERIFY(values.size() == m_fields.size());
JsonObject obj;
for (size_t i = 0; i < m_fields.size(); ++i) {
auto& field_spec = m_fields[i];
diff --git a/Userland/Libraries/LibGUI/Layout.cpp b/Userland/Libraries/LibGUI/Layout.cpp
index 250b1c5ca4..e534a1d5a9 100644
--- a/Userland/Libraries/LibGUI/Layout.cpp
+++ b/Userland/Libraries/LibGUI/Layout.cpp
@@ -66,7 +66,7 @@ Layout::Layout()
} else if (entry.type == Entry::Type::Spacer) {
entry_object.set("type", "Spacer");
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
entries_array.append(move(entry_object));
}
@@ -87,7 +87,7 @@ void Layout::notify_adopted(Badge<Widget>, Widget& widget)
void Layout::notify_disowned(Badge<Widget>, Widget& widget)
{
- ASSERT(m_owner == &widget);
+ VERIFY(m_owner == &widget);
m_owner.clear();
}
diff --git a/Userland/Libraries/LibGUI/LazyWidget.cpp b/Userland/Libraries/LibGUI/LazyWidget.cpp
index 3e1a9c4951..1472b5879e 100644
--- a/Userland/Libraries/LibGUI/LazyWidget.cpp
+++ b/Userland/Libraries/LibGUI/LazyWidget.cpp
@@ -42,7 +42,7 @@ void LazyWidget::show_event(ShowEvent&)
return;
m_has_been_shown = true;
- ASSERT(on_first_show);
+ VERIFY(on_first_show);
on_first_show(*this);
}
diff --git a/Userland/Libraries/LibGUI/ListView.cpp b/Userland/Libraries/LibGUI/ListView.cpp
index 4b304f6751..a1cd030f96 100644
--- a/Userland/Libraries/LibGUI/ListView.cpp
+++ b/Userland/Libraries/LibGUI/ListView.cpp
@@ -96,7 +96,7 @@ Gfx::IntRect ListView::content_rect(const ModelIndex& index) const
ModelIndex ListView::index_at_event_position(const Gfx::IntPoint& point) const
{
- ASSERT(model());
+ VERIFY(model());
auto adjusted_position = this->adjusted_position(point);
for (int row = 0, row_count = model()->row_count(); row < row_count; ++row) {
diff --git a/Userland/Libraries/LibGUI/Menu.cpp b/Userland/Libraries/LibGUI/Menu.cpp
index 28844f055f..805fc22165 100644
--- a/Userland/Libraries/LibGUI/Menu.cpp
+++ b/Userland/Libraries/LibGUI/Menu.cpp
@@ -113,7 +113,7 @@ int Menu::realize_menu(RefPtr<Action> default_action)
#if MENU_DEBUG
dbgln("GUI::Menu::realize_menu(): New menu ID: {}", m_menu_id);
#endif
- ASSERT(m_menu_id > 0);
+ VERIFY(m_menu_id > 0);
for (size_t i = 0; i < m_items.size(); ++i) {
auto& item = m_items[i];
item.set_menu_id({}, m_menu_id);
diff --git a/Userland/Libraries/LibGUI/MenuBar.cpp b/Userland/Libraries/LibGUI/MenuBar.cpp
index ea8c9649b5..1900aa046c 100644
--- a/Userland/Libraries/LibGUI/MenuBar.cpp
+++ b/Userland/Libraries/LibGUI/MenuBar.cpp
@@ -63,12 +63,12 @@ void MenuBar::unrealize_menubar()
void MenuBar::notify_added_to_application(Badge<Application>)
{
- ASSERT(m_menubar_id == -1);
+ VERIFY(m_menubar_id == -1);
m_menubar_id = realize_menubar();
- ASSERT(m_menubar_id != -1);
+ VERIFY(m_menubar_id != -1);
for (auto& menu : m_menus) {
int menu_id = menu.realize_menu();
- ASSERT(menu_id != -1);
+ VERIFY(menu_id != -1);
WindowServerConnection::the().send_sync<Messages::WindowServer::AddMenuToMenubar>(m_menubar_id, menu_id);
}
WindowServerConnection::the().send_sync<Messages::WindowServer::SetApplicationMenubar>(m_menubar_id);
diff --git a/Userland/Libraries/LibGUI/MenuItem.cpp b/Userland/Libraries/LibGUI/MenuItem.cpp
index 8c6e5a92ec..af9522fb7e 100644
--- a/Userland/Libraries/LibGUI/MenuItem.cpp
+++ b/Userland/Libraries/LibGUI/MenuItem.cpp
@@ -72,7 +72,7 @@ void MenuItem::set_enabled(bool enabled)
void MenuItem::set_checked(bool checked)
{
- ASSERT(is_checkable());
+ VERIFY(is_checkable());
if (m_checked == checked)
return;
m_checked = checked;
@@ -81,7 +81,7 @@ void MenuItem::set_checked(bool checked)
void MenuItem::set_default(bool is_default)
{
- ASSERT(is_checkable());
+ VERIFY(is_checkable());
if (m_default == is_default)
return;
m_default = is_default;
diff --git a/Userland/Libraries/LibGUI/ModelIndex.cpp b/Userland/Libraries/LibGUI/ModelIndex.cpp
index ea6a97c28f..038974d1d4 100644
--- a/Userland/Libraries/LibGUI/ModelIndex.cpp
+++ b/Userland/Libraries/LibGUI/ModelIndex.cpp
@@ -35,7 +35,7 @@ Variant ModelIndex::data(ModelRole role) const
if (!is_valid())
return {};
- ASSERT(model());
+ VERIFY(model());
return model()->data(*this, role);
}
diff --git a/Userland/Libraries/LibGUI/ModelSelection.cpp b/Userland/Libraries/LibGUI/ModelSelection.cpp
index 2a22336855..27686f22ce 100644
--- a/Userland/Libraries/LibGUI/ModelSelection.cpp
+++ b/Userland/Libraries/LibGUI/ModelSelection.cpp
@@ -47,7 +47,7 @@ void ModelSelection::remove_matching(Function<bool(const ModelIndex&)> filter)
void ModelSelection::set(const ModelIndex& index)
{
- ASSERT(index.is_valid());
+ VERIFY(index.is_valid());
if (m_indexes.size() == 1 && m_indexes.contains(index))
return;
m_indexes.clear();
@@ -57,7 +57,7 @@ void ModelSelection::set(const ModelIndex& index)
void ModelSelection::add(const ModelIndex& index)
{
- ASSERT(index.is_valid());
+ VERIFY(index.is_valid());
if (m_indexes.contains(index))
return;
m_indexes.set(index);
@@ -78,7 +78,7 @@ void ModelSelection::add_all(const Vector<ModelIndex>& indices)
void ModelSelection::toggle(const ModelIndex& index)
{
- ASSERT(index.is_valid());
+ VERIFY(index.is_valid());
if (m_indexes.contains(index))
m_indexes.remove(index);
else
@@ -88,7 +88,7 @@ void ModelSelection::toggle(const ModelIndex& index)
bool ModelSelection::remove(const ModelIndex& index)
{
- ASSERT(index.is_valid());
+ VERIFY(index.is_valid());
if (!m_indexes.contains(index))
return false;
m_indexes.remove(index);
diff --git a/Userland/Libraries/LibGUI/MultiView.cpp b/Userland/Libraries/LibGUI/MultiView.cpp
index 0c50700b6d..1fcff6446f 100644
--- a/Userland/Libraries/LibGUI/MultiView.cpp
+++ b/Userland/Libraries/LibGUI/MultiView.cpp
@@ -94,7 +94,7 @@ void MultiView::set_view_mode(ViewMode mode)
m_view_as_icons_action->set_checked(true);
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void MultiView::set_model(RefPtr<Model> model)
diff --git a/Userland/Libraries/LibGUI/MultiView.h b/Userland/Libraries/LibGUI/MultiView.h
index e835bca6eb..2c2406e86e 100644
--- a/Userland/Libraries/LibGUI/MultiView.h
+++ b/Userland/Libraries/LibGUI/MultiView.h
@@ -73,7 +73,7 @@ public:
case ViewMode::Icon:
return *m_icon_view;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibGUI/OpacitySlider.cpp b/Userland/Libraries/LibGUI/OpacitySlider.cpp
index d32002f479..c92f59da10 100644
--- a/Userland/Libraries/LibGUI/OpacitySlider.cpp
+++ b/Userland/Libraries/LibGUI/OpacitySlider.cpp
@@ -37,7 +37,7 @@ OpacitySlider::OpacitySlider(Gfx::Orientation orientation)
: AbstractSlider(orientation)
{
// FIXME: Implement vertical mode.
- ASSERT(orientation == Gfx::Orientation::Horizontal);
+ VERIFY(orientation == Gfx::Orientation::Horizontal);
set_min(0);
set_max(100);
diff --git a/Userland/Libraries/LibGUI/ProgressBar.cpp b/Userland/Libraries/LibGUI/ProgressBar.cpp
index 0e6cd4acbe..e2732a738c 100644
--- a/Userland/Libraries/LibGUI/ProgressBar.cpp
+++ b/Userland/Libraries/LibGUI/ProgressBar.cpp
@@ -59,7 +59,7 @@ void ProgressBar::set_value(int value)
void ProgressBar::set_range(int min, int max)
{
- ASSERT(min < max);
+ VERIFY(min < max);
m_min = min;
m_max = max;
m_value = clamp(m_value, m_min, m_max);
diff --git a/Userland/Libraries/LibGUI/RunningProcessesModel.cpp b/Userland/Libraries/LibGUI/RunningProcessesModel.cpp
index 985586c10f..b416873435 100644
--- a/Userland/Libraries/LibGUI/RunningProcessesModel.cpp
+++ b/Userland/Libraries/LibGUI/RunningProcessesModel.cpp
@@ -85,7 +85,7 @@ String RunningProcessesModel::column_name(int column_index) const
case Column::Name:
return "Name";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
GUI::Variant RunningProcessesModel::data(const GUI::ModelIndex& index, GUI::ModelRole role) const
@@ -109,7 +109,7 @@ GUI::Variant RunningProcessesModel::data(const GUI::ModelIndex& index, GUI::Mode
case Column::Name:
return process.name;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return {};
}
diff --git a/Userland/Libraries/LibGUI/ScrollBar.cpp b/Userland/Libraries/LibGUI/ScrollBar.cpp
index ad8bf27e48..26b6816b4d 100644
--- a/Userland/Libraries/LibGUI/ScrollBar.cpp
+++ b/Userland/Libraries/LibGUI/ScrollBar.cpp
@@ -279,7 +279,7 @@ void ScrollBar::mousedown_event(MouseEvent& event)
if (event.shift()) {
scroll_to_position(event.position());
m_pressed_component = component_at_position(event.position());
- ASSERT(m_pressed_component == Component::Scrubber);
+ VERIFY(m_pressed_component == Component::Scrubber);
}
if (m_pressed_component == Component::Scrubber) {
m_scrub_start_value = value();
@@ -287,9 +287,9 @@ void ScrollBar::mousedown_event(MouseEvent& event)
update();
return;
}
- ASSERT(!event.shift());
+ VERIFY(!event.shift());
- ASSERT(m_pressed_component == Component::Gutter);
+ VERIFY(m_pressed_component == Component::Gutter);
set_automatic_scrolling_active(true, Component::Gutter);
update();
}
diff --git a/Userland/Libraries/LibGUI/SortingProxyModel.cpp b/Userland/Libraries/LibGUI/SortingProxyModel.cpp
index a0618ae410..a3602de29e 100644
--- a/Userland/Libraries/LibGUI/SortingProxyModel.cpp
+++ b/Userland/Libraries/LibGUI/SortingProxyModel.cpp
@@ -83,12 +83,12 @@ ModelIndex SortingProxyModel::map_to_source(const ModelIndex& proxy_index) const
if (!proxy_index.is_valid())
return {};
- ASSERT(proxy_index.model() == this);
- ASSERT(proxy_index.internal_data());
+ VERIFY(proxy_index.model() == this);
+ VERIFY(proxy_index.internal_data());
auto& index_mapping = *static_cast<Mapping*>(proxy_index.internal_data());
auto it = m_mappings.find(index_mapping.source_parent);
- ASSERT(it != m_mappings.end());
+ VERIFY(it != m_mappings.end());
auto& mapping = *it->value;
if (static_cast<size_t>(proxy_index.row()) >= mapping.source_rows.size() || proxy_index.column() >= column_count())
@@ -103,7 +103,7 @@ ModelIndex SortingProxyModel::map_to_proxy(const ModelIndex& source_index) const
if (!source_index.is_valid())
return {};
- ASSERT(source_index.model() == m_source);
+ VERIFY(source_index.model() == m_source);
auto source_parent = source_index.parent();
auto it = const_cast<SortingProxyModel*>(this)->build_mapping(source_parent);
@@ -158,7 +158,7 @@ ModelIndex SortingProxyModel::index(int row, int column, const ModelIndex& paren
const_cast<SortingProxyModel*>(this)->build_mapping(source_parent);
auto it = m_mappings.find(source_parent);
- ASSERT(it != m_mappings.end());
+ VERIFY(it != m_mappings.end());
auto& mapping = *it->value;
if (row >= static_cast<int>(mapping.source_rows.size()) || column >= column_count())
return {};
@@ -170,12 +170,12 @@ ModelIndex SortingProxyModel::parent_index(const ModelIndex& proxy_index) const
if (!proxy_index.is_valid())
return {};
- ASSERT(proxy_index.model() == this);
- ASSERT(proxy_index.internal_data());
+ VERIFY(proxy_index.model() == this);
+ VERIFY(proxy_index.internal_data());
auto& index_mapping = *static_cast<Mapping*>(proxy_index.internal_data());
auto it = m_mappings.find(index_mapping.source_parent);
- ASSERT(it != m_mappings.end());
+ VERIFY(it != m_mappings.end());
return map_to_proxy(it->value->source_parent);
}
diff --git a/Userland/Libraries/LibGUI/SpinBox.cpp b/Userland/Libraries/LibGUI/SpinBox.cpp
index 943497c918..5673907ff1 100644
--- a/Userland/Libraries/LibGUI/SpinBox.cpp
+++ b/Userland/Libraries/LibGUI/SpinBox.cpp
@@ -83,7 +83,7 @@ void SpinBox::set_value(int value)
void SpinBox::set_range(int min, int max)
{
- ASSERT(min <= max);
+ VERIFY(min <= max);
if (m_min == min && m_max == max)
return;
diff --git a/Userland/Libraries/LibGUI/TabWidget.cpp b/Userland/Libraries/LibGUI/TabWidget.cpp
index 5e46f267d0..a5d2f000b3 100644
--- a/Userland/Libraries/LibGUI/TabWidget.cpp
+++ b/Userland/Libraries/LibGUI/TabWidget.cpp
@@ -176,7 +176,7 @@ Gfx::IntRect TabWidget::bar_rect() const
case TabPosition::Bottom:
return { 0, height() - bar_height(), width(), bar_height() };
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Gfx::IntRect TabWidget::container_rect() const
@@ -187,7 +187,7 @@ Gfx::IntRect TabWidget::container_rect() const
case TabPosition::Bottom:
return { 0, 0, width(), height() - bar_height() };
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void TabWidget::paint_event(PaintEvent& event)
diff --git a/Userland/Libraries/LibGUI/TextDocument.cpp b/Userland/Libraries/LibGUI/TextDocument.cpp
index a523b18157..132a0c79e8 100644
--- a/Userland/Libraries/LibGUI/TextDocument.cpp
+++ b/Userland/Libraries/LibGUI/TextDocument.cpp
@@ -210,7 +210,7 @@ void TextDocumentLine::remove(TextDocument& document, size_t index)
void TextDocumentLine::remove_range(TextDocument& document, size_t start, size_t length)
{
- ASSERT(length <= m_text.size());
+ VERIFY(length <= m_text.size());
Vector<u32> new_data;
new_data.ensure_capacity(m_text.size() - length);
@@ -332,7 +332,7 @@ String TextDocument::text_in_range(const TextRange& a_range) const
u32 TextDocument::code_point_at(const TextPosition& position) const
{
- ASSERT(position.line() < line_count());
+ VERIFY(position.line() < line_count());
auto& line = this->line(position.line());
if (position.column() == line.length())
return '\n';
@@ -814,7 +814,7 @@ void TextDocument::remove(const TextRange& unnormalized_range)
}
} else {
// Delete across a newline, merging lines.
- ASSERT(range.start().line() == range.end().line() - 1);
+ VERIFY(range.start().line() == range.end().line() - 1);
auto& first_line = line(range.start().line());
auto& second_line = line(range.end().line());
Vector<u32> code_points;
diff --git a/Userland/Libraries/LibGUI/TextEditor.cpp b/Userland/Libraries/LibGUI/TextEditor.cpp
index 106cc37edf..799a0e2194 100644
--- a/Userland/Libraries/LibGUI/TextEditor.cpp
+++ b/Userland/Libraries/LibGUI/TextEditor.cpp
@@ -199,11 +199,11 @@ TextPosition TextEditor::text_position_at_content_position(const Gfx::IntPoint&
break;
case Gfx::TextAlignment::CenterRight:
// FIXME: Support right-aligned line wrapping, I guess.
- ASSERT(!is_wrapping_enabled());
+ VERIFY(!is_wrapping_enabled());
column_index = (position.x() - content_x_for_position({ line_index, 0 }) + fixed_glyph_width() / 2) / fixed_glyph_width();
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
column_index = max((size_t)0, min(column_index, line(line_index).length()));
@@ -688,7 +688,7 @@ void TextEditor::keydown_event(KeyEvent& event)
}
}
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (m_editing_engine->on_key(event))
@@ -873,10 +873,10 @@ int TextEditor::content_x_for_position(const TextPosition& position) const
return m_horizontal_content_padding + ((is_single_line() && icon()) ? (icon_size() + icon_padding()) : 0) + x_offset;
case Gfx::TextAlignment::CenterRight:
// FIXME
- ASSERT(!is_wrapping_enabled());
+ VERIFY(!is_wrapping_enabled());
return content_width() - m_horizontal_content_padding - (line.length() * fixed_glyph_width()) + (position.column() * fixed_glyph_width());
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -884,8 +884,8 @@ Gfx::IntRect TextEditor::content_rect_for_position(const TextPosition& position)
{
if (!position.is_valid())
return {};
- ASSERT(!lines().is_empty());
- ASSERT(position.column() <= (current_line().length() + 1));
+ VERIFY(!lines().is_empty());
+ VERIFY(position.column() <= (current_line().length() + 1));
int x = content_x_for_position(position);
@@ -993,7 +993,7 @@ void TextEditor::set_cursor(size_t line, size_t column)
void TextEditor::set_cursor(const TextPosition& a_position)
{
- ASSERT(!lines().is_empty());
+ VERIFY(!lines().is_empty());
TextPosition position = a_position;
@@ -1146,7 +1146,7 @@ void TextEditor::delete_text_range(TextRange range)
void TextEditor::insert_at_cursor_or_replace_selection(const StringView& text)
{
ReflowDeferrer defer(*this);
- ASSERT(is_editable());
+ VERIFY(is_editable());
if (has_selection())
delete_selection();
execute<InsertTextCommand>(text, m_cursor);
@@ -1188,7 +1188,7 @@ void TextEditor::defer_reflow()
void TextEditor::undefer_reflow()
{
- ASSERT(m_reflow_deferred);
+ VERIFY(m_reflow_deferred);
if (!--m_reflow_deferred) {
if (m_reflow_requested) {
recompute_all_visual_lines();
@@ -1268,7 +1268,7 @@ void TextEditor::set_mode(const Mode mode)
set_accepts_emoji_input(false);
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (!is_displayonly())
@@ -1637,7 +1637,7 @@ void TextEditor::set_editing_engine(OwnPtr<EditingEngine> editing_engine)
m_editing_engine->detach();
m_editing_engine = move(editing_engine);
- ASSERT(m_editing_engine);
+ VERIFY(m_editing_engine);
m_editing_engine->attach(*this);
m_cursor_state = true;
@@ -1653,7 +1653,7 @@ int TextEditor::line_height() const
int TextEditor::fixed_glyph_width() const
{
- ASSERT(font().is_fixed_width());
+ VERIFY(font().is_fixed_width());
return font().glyph_width(' ');
}
@@ -1679,7 +1679,7 @@ void TextEditor::set_should_autocomplete_automatically(bool value)
return;
if (value) {
- ASSERT(m_autocomplete_provider);
+ VERIFY(m_autocomplete_provider);
m_autocomplete_timer = Core::Timer::create_single_shot(m_automatic_autocomplete_delay_ms, [this] { try_show_autocomplete(); });
return;
}
diff --git a/Userland/Libraries/LibGUI/TreeView.cpp b/Userland/Libraries/LibGUI/TreeView.cpp
index 81c2cc07df..ab1192853c 100644
--- a/Userland/Libraries/LibGUI/TreeView.cpp
+++ b/Userland/Libraries/LibGUI/TreeView.cpp
@@ -43,7 +43,7 @@ struct TreeView::MetadataForIndex {
TreeView::MetadataForIndex& TreeView::ensure_metadata_for_index(const ModelIndex& index) const
{
- ASSERT(index.is_valid());
+ VERIFY(index.is_valid());
auto it = m_view_metadata.find(index.internal_data());
if (it != m_view_metadata.end())
return *it->value;
@@ -165,7 +165,7 @@ void TreeView::collapse_tree(const ModelIndex& root)
void TreeView::toggle_index(const ModelIndex& index)
{
- ASSERT(model()->row_count(index));
+ VERIFY(model()->row_count(index));
auto& metadata = ensure_metadata_for_index(index);
metadata.open = !metadata.open;
if (on_toggle)
@@ -178,7 +178,7 @@ void TreeView::toggle_index(const ModelIndex& index)
template<typename Callback>
void TreeView::traverse_in_paint_order(Callback callback) const
{
- ASSERT(model());
+ VERIFY(model());
auto& model = *this->model();
int indent_level = 1;
int y_offset = 0;
diff --git a/Userland/Libraries/LibGUI/Variant.cpp b/Userland/Libraries/LibGUI/Variant.cpp
index 5d3ddac2b2..44a52d46d4 100644
--- a/Userland/Libraries/LibGUI/Variant.cpp
+++ b/Userland/Libraries/LibGUI/Variant.cpp
@@ -65,7 +65,7 @@ const char* to_string(Variant::Type type)
case Variant::Type::TextAlignment:
return "TextAlignment";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Variant::Variant()
@@ -195,7 +195,7 @@ Variant::Variant(const JsonValue& value)
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Variant::Variant(const Gfx::Bitmap& value)
@@ -276,7 +276,7 @@ void Variant::move_from(Variant&& other)
void Variant::copy_from(const Variant& other)
{
- ASSERT(!is_valid());
+ VERIFY(!is_valid());
m_type = other.m_type;
switch (m_type) {
case Type::Bool:
@@ -366,7 +366,7 @@ bool Variant::operator==(const Variant& other) const
case Type::Invalid:
return true;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool Variant::operator<(const Variant& other) const
@@ -400,11 +400,11 @@ bool Variant::operator<(const Variant& other) const
case Type::Font:
case Type::TextAlignment:
// FIXME: Figure out how to compare these.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case Type::Invalid:
break;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
String Variant::to_string() const
@@ -449,14 +449,14 @@ String Variant::to_string() const
case Gfx::TextAlignment::TopRight:
return "Gfx::TextAlignment::TopRight";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return "";
}
case Type::Invalid:
return "[null]";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibGUI/Variant.h b/Userland/Libraries/LibGUI/Variant.h
index a04f7b2e17..90f747f8e5 100644
--- a/Userland/Libraries/LibGUI/Variant.h
+++ b/Userland/Libraries/LibGUI/Variant.h
@@ -100,7 +100,7 @@ public:
bool as_bool() const
{
- ASSERT(type() == Type::Bool);
+ VERIFY(type() == Type::Bool);
return m_value.as_bool;
}
@@ -127,19 +127,19 @@ public:
int as_i32() const
{
- ASSERT(type() == Type::Int32);
+ VERIFY(type() == Type::Int32);
return m_value.as_i32;
}
int as_i64() const
{
- ASSERT(type() == Type::Int64);
+ VERIFY(type() == Type::Int64);
return m_value.as_i64;
}
unsigned as_uint() const
{
- ASSERT(type() == Type::UnsignedInt);
+ VERIFY(type() == Type::UnsignedInt);
return m_value.as_uint;
}
@@ -155,7 +155,7 @@ public:
if (is_float())
return (int)as_float();
if (is_uint()) {
- ASSERT(as_uint() <= INT32_MAX);
+ VERIFY(as_uint() <= INT32_MAX);
return (int)as_uint();
}
if (is_string())
@@ -175,7 +175,7 @@ public:
float as_float() const
{
- ASSERT(type() == Type::Float);
+ VERIFY(type() == Type::Float);
return m_value.as_float;
}
@@ -196,31 +196,31 @@ public:
String as_string() const
{
- ASSERT(type() == Type::String);
+ VERIFY(type() == Type::String);
return m_value.as_string;
}
const Gfx::Bitmap& as_bitmap() const
{
- ASSERT(type() == Type::Bitmap);
+ VERIFY(type() == Type::Bitmap);
return *m_value.as_bitmap;
}
GUI::Icon as_icon() const
{
- ASSERT(type() == Type::Icon);
+ VERIFY(type() == Type::Icon);
return GUI::Icon(*m_value.as_icon);
}
Color as_color() const
{
- ASSERT(type() == Type::Color);
+ VERIFY(type() == Type::Color);
return Color::from_rgba(m_value.as_color);
}
const Gfx::Font& as_font() const
{
- ASSERT(type() == Type::Font);
+ VERIFY(type() == Type::Font);
return *m_value.as_font;
}
diff --git a/Userland/Libraries/LibGUI/VimEditingEngine.cpp b/Userland/Libraries/LibGUI/VimEditingEngine.cpp
index 60a6a2b21b..52826ab01d 100644
--- a/Userland/Libraries/LibGUI/VimEditingEngine.cpp
+++ b/Userland/Libraries/LibGUI/VimEditingEngine.cpp
@@ -48,7 +48,7 @@ bool VimEditingEngine::on_key(const KeyEvent& event)
case (VimMode::Normal):
return on_key_in_normal_mode(event);
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return false;
diff --git a/Userland/Libraries/LibGUI/Widget.cpp b/Userland/Libraries/LibGUI/Widget.cpp
index 85b521924e..807bc1cbad 100644
--- a/Userland/Libraries/LibGUI/Widget.cpp
+++ b/Userland/Libraries/LibGUI/Widget.cpp
@@ -305,7 +305,7 @@ void Widget::handle_keydown_event(KeyEvent& event)
void Widget::handle_paint_event(PaintEvent& event)
{
- ASSERT(is_visible());
+ VERIFY(is_visible());
if (fill_with_background_color()) {
Painter painter(*this);
painter.fill_rect(event.rect(), palette().color(background_role()));
diff --git a/Userland/Libraries/LibGUI/Window.cpp b/Userland/Libraries/LibGUI/Window.cpp
index a6be58c01b..f4b23a06d5 100644
--- a/Userland/Libraries/LibGUI/Window.cpp
+++ b/Userland/Libraries/LibGUI/Window.cpp
@@ -228,7 +228,7 @@ String Window::title() const
Gfx::IntRect Window::rect_in_menubar() const
{
- ASSERT(m_window_type == WindowType::MenuApplet);
+ VERIFY(m_window_type == WindowType::MenuApplet);
return WindowServerConnection::the().send_sync<Messages::WindowServer::GetWindowRectInMenubar>(m_window_id)->rect();
}
@@ -330,7 +330,7 @@ void Window::handle_drop_event(DropEvent& event)
return;
auto result = m_main_widget->hit_test(event.position());
auto local_event = make<DropEvent>(result.local_position, event.text(), event.mime_data());
- ASSERT(result.widget);
+ VERIFY(result.widget);
result.widget->dispatch_event(*local_event, this);
Application::the()->set_drag_hovered_widget({}, nullptr);
@@ -358,7 +358,7 @@ void Window::handle_mouse_event(MouseEvent& event)
return;
auto result = m_main_widget->hit_test(event.position());
auto local_event = make<MouseEvent>((Event::Type)event.type(), result.local_position, event.buttons(), event.button(), event.modifiers(), event.wheel_delta());
- ASSERT(result.widget);
+ VERIFY(result.widget);
set_hovered_widget(result.widget);
if (event.buttons() != 0 && !m_automatic_cursor_tracking_widget)
m_automatic_cursor_tracking_widget = *result.widget;
@@ -374,7 +374,7 @@ void Window::handle_multi_paint_event(MultiPaintEvent& event)
if (!m_main_widget)
return;
auto rects = event.rects();
- ASSERT(!rects.is_empty());
+ VERIFY(!rects.is_empty());
if (m_back_store && m_back_store->size() != event.window_size()) {
// Eagerly discard the backing store if we learn from this paint event that it needs to be bigger.
// Otherwise we would have to wait for a resize event to tell us. This way we don't waste the
@@ -384,12 +384,12 @@ void Window::handle_multi_paint_event(MultiPaintEvent& event)
bool created_new_backing_store = !m_back_store;
if (!m_back_store) {
m_back_store = create_backing_store(event.window_size());
- ASSERT(m_back_store);
+ VERIFY(m_back_store);
} else if (m_double_buffering_enabled) {
bool still_has_pixels = m_back_store->bitmap().set_nonvolatile();
if (!still_has_pixels) {
m_back_store = create_backing_store(event.window_size());
- ASSERT(m_back_store);
+ VERIFY(m_back_store);
created_new_backing_store = true;
}
}
@@ -497,7 +497,7 @@ void Window::handle_drag_move_event(DragEvent& event)
if (!m_main_widget)
return;
auto result = m_main_widget->hit_test(event.position());
- ASSERT(result.widget);
+ VERIFY(result.widget);
Application::the()->set_drag_hovered_widget({}, result.widget, result.local_position, event.mime_types());
@@ -688,7 +688,7 @@ void Window::set_has_alpha_channel(bool value)
void Window::set_double_buffering_enabled(bool value)
{
- ASSERT(!is_visible());
+ VERIFY(!is_visible());
m_double_buffering_enabled = value;
}
@@ -742,7 +742,7 @@ void Window::flip(const Vector<Gfx::IntRect, 32>& dirty_rects)
if (!m_back_store || m_back_store->size() != m_front_store->size()) {
m_back_store = create_backing_store(m_front_store->size());
- ASSERT(m_back_store);
+ VERIFY(m_back_store);
memcpy(m_back_store->bitmap().scanline(0), m_front_store->bitmap().scanline(0), m_front_store->bitmap().size_in_bytes());
m_back_store->bitmap().set_volatile();
return;
@@ -760,7 +760,7 @@ OwnPtr<WindowBackingStore> Window::create_backing_store(const Gfx::IntSize& size
{
auto format = m_has_alpha_channel ? Gfx::BitmapFormat::RGBA32 : Gfx::BitmapFormat::RGB32;
- ASSERT(!size.is_empty());
+ VERIFY(!size.is_empty());
size_t pitch = Gfx::Bitmap::minimum_pitch(size.width(), format);
size_t size_in_bytes = size.height() * pitch;
@@ -779,7 +779,7 @@ OwnPtr<WindowBackingStore> Window::create_backing_store(const Gfx::IntSize& size
void Window::set_modal(bool modal)
{
- ASSERT(!is_visible());
+ VERIFY(!is_visible());
m_modal = modal;
}
@@ -795,7 +795,7 @@ void Window::set_icon(const Gfx::Bitmap* icon)
Gfx::IntSize icon_size = icon ? icon->size() : Gfx::IntSize(16, 16);
m_icon = Gfx::Bitmap::create(Gfx::BitmapFormat::RGBA32, icon_size);
- ASSERT(m_icon);
+ VERIFY(m_icon);
if (icon) {
Painter painter(*m_icon);
painter.blit({ 0, 0 }, *icon, icon->rect());
@@ -910,7 +910,7 @@ void Window::refresh_system_theme()
void Window::for_each_window(Badge<WindowServerConnection>, Function<void(Window&)> callback)
{
for (auto& e : *reified_windows) {
- ASSERT(e.value);
+ VERIFY(e.value);
callback(*e.value);
}
}
@@ -1003,7 +1003,7 @@ void Window::did_remove_widget(Badge<Widget>, Widget& widget)
void Window::set_progress(int progress)
{
- ASSERT(m_window_id);
+ VERIFY(m_window_id);
WindowServerConnection::the().post_message(Messages::WindowServer::SetWindowProgress(m_window_id, progress));
}
@@ -1040,7 +1040,7 @@ void Window::did_disable_focused_widget(Badge<Widget>)
bool Window::is_active() const
{
- ASSERT(Application::the());
+ VERIFY(Application::the());
return this == Application::the()->active_window();
}
diff --git a/Userland/Libraries/LibGUI/WindowServerConnection.cpp b/Userland/Libraries/LibGUI/WindowServerConnection.cpp
index 79169345e0..2d33b91dd1 100644
--- a/Userland/Libraries/LibGUI/WindowServerConnection.cpp
+++ b/Userland/Libraries/LibGUI/WindowServerConnection.cpp
@@ -213,7 +213,7 @@ static MouseButton to_gmousebutton(u32 button)
case 16:
return MouseButton::Forward;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
diff --git a/Userland/Libraries/LibGemini/GeminiJob.cpp b/Userland/Libraries/LibGemini/GeminiJob.cpp
index be63d00fe1..4e43854fae 100644
--- a/Userland/Libraries/LibGemini/GeminiJob.cpp
+++ b/Userland/Libraries/LibGemini/GeminiJob.cpp
@@ -36,7 +36,7 @@ namespace Gemini {
void GeminiJob::start()
{
- ASSERT(!m_socket);
+ VERIFY(!m_socket);
m_socket = TLS::TLSv12::construct(this);
m_socket->set_root_certificates(m_override_ca_certificates ? *m_override_ca_certificates : DefaultRootCACertificates::the().certificates());
m_socket->on_tls_connected = [this] {
@@ -98,7 +98,7 @@ void GeminiJob::set_certificate(String certificate, String private_key)
if (!m_socket->add_client_key(certificate.bytes(), private_key.bytes())) {
dbgln("LibGemini: Failed to set a client certificate");
// FIXME: Do something about this failure
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibGemini/Job.cpp b/Userland/Libraries/LibGemini/Job.cpp
index 5175dd100d..f8fd7cbf52 100644
--- a/Userland/Libraries/LibGemini/Job.cpp
+++ b/Userland/Libraries/LibGemini/Job.cpp
@@ -53,7 +53,7 @@ void Job::flush_received_buffers()
m_received_buffers.take_first();
continue;
}
- ASSERT(written < payload.size());
+ VERIFY(written < payload.size());
payload = payload.slice(written, payload.size() - written);
return;
}
@@ -124,7 +124,7 @@ void Job::on_socket_connected()
return;
}
- ASSERT(m_state == State::InBody || m_state == State::Finished);
+ VERIFY(m_state == State::InBody || m_state == State::Finished);
read_while_data_available([&] {
auto read_size = 64 * KiB;
diff --git a/Userland/Libraries/LibGemini/Line.cpp b/Userland/Libraries/LibGemini/Line.cpp
index d3197176d5..7496f704b4 100644
--- a/Userland/Libraries/LibGemini/Line.cpp
+++ b/Userland/Libraries/LibGemini/Line.cpp
@@ -81,7 +81,7 @@ String Control::render_to_html() const
return "</ul>";
default:
dbgln("Unknown control kind _{}_", (int)m_kind);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return "";
}
}
diff --git a/Userland/Libraries/LibGfx/BMPLoader.cpp b/Userland/Libraries/LibGfx/BMPLoader.cpp
index 3d8203ad91..65e7da62f4 100644
--- a/Userland/Libraries/LibGfx/BMPLoader.cpp
+++ b/Userland/Libraries/LibGfx/BMPLoader.cpp
@@ -180,7 +180,7 @@ struct BMPLoadingContext {
return 124;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
};
@@ -215,7 +215,7 @@ public:
u8 read_u8()
{
- ASSERT(m_size_remaining >= 1);
+ VERIFY(m_size_remaining >= 1);
m_size_remaining--;
return *(m_data_ptr++);
}
@@ -242,7 +242,7 @@ public:
void drop_bytes(u8 num_bytes)
{
- ASSERT(m_size_remaining >= num_bytes);
+ VERIFY(m_size_remaining >= num_bytes);
m_size_remaining -= num_bytes;
m_data_ptr += num_bytes;
}
@@ -355,7 +355,7 @@ static void populate_dib_mask_info_if_needed(BMPLoadingContext& context)
if (!mask_shifts.is_empty() && !mask_sizes.is_empty())
return;
- ASSERT(mask_shifts.is_empty() && mask_sizes.is_empty());
+ VERIFY(mask_shifts.is_empty() && mask_sizes.is_empty());
mask_shifts.ensure_capacity(masks.size());
mask_sizes.ensure_capacity(masks.size());
@@ -896,7 +896,7 @@ static bool decode_bmp_color_table(BMPLoadingContext& context)
auto bytes_per_color = context.dib_type == DIBType::Core ? 3 : 4;
u32 max_colors = 1 << context.dib.core.bpp;
- ASSERT(context.data_offset >= bmp_header_size + context.dib_size());
+ VERIFY(context.data_offset >= bmp_header_size + context.dib_size());
auto size_of_color_table = context.data_offset - bmp_header_size - context.dib_size();
if (context.dib_type <= DIBType::OSV2) {
@@ -1161,7 +1161,7 @@ static bool uncompress_bmp_rle_data(BMPLoadingContext& context, ByteBuffer& buff
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
static bool decode_bmp_pixel_data(BMPLoadingContext& context)
@@ -1302,7 +1302,7 @@ static bool decode_bmp_pixel_data(BMPLoadingContext& context)
case 3:
return 1;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}();
if (streamer.remaining() < bytes_to_drop)
return false;
@@ -1377,7 +1377,7 @@ RefPtr<Gfx::Bitmap> BMPImageDecoderPlugin::bitmap()
if (m_context->state < BMPLoadingContext::State::PixelDataDecoded && !decode_bmp_pixel_data(*m_context))
return nullptr;
- ASSERT(m_context->bitmap);
+ VERIFY(m_context->bitmap);
return m_context->bitmap;
}
diff --git a/Userland/Libraries/LibGfx/BMPWriter.cpp b/Userland/Libraries/LibGfx/BMPWriter.cpp
index 6911f99164..ecf2808d60 100644
--- a/Userland/Libraries/LibGfx/BMPWriter.cpp
+++ b/Userland/Libraries/LibGfx/BMPWriter.cpp
@@ -95,7 +95,7 @@ static ByteBuffer compress_pixel_data(const ByteBuffer& pixel_data, BMPWriter::C
return pixel_data;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
ByteBuffer BMPWriter::dump(const RefPtr<Bitmap> bitmap)
diff --git a/Userland/Libraries/LibGfx/Bitmap.cpp b/Userland/Libraries/LibGfx/Bitmap.cpp
index 2b7c207c7b..2046fdcf74 100644
--- a/Userland/Libraries/LibGfx/Bitmap.cpp
+++ b/Userland/Libraries/LibGfx/Bitmap.cpp
@@ -69,7 +69,7 @@ size_t Bitmap::minimum_pitch(size_t physical_width, BitmapFormat format)
element_size = 4;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return physical_width * element_size;
@@ -127,10 +127,10 @@ Bitmap::Bitmap(BitmapFormat format, const IntSize& size, int scale_factor, Purge
, m_format(format)
, m_purgeable(purgeable == Purgeable::Yes)
{
- ASSERT(!m_size.is_empty());
- ASSERT(!size_would_overflow(format, size, scale_factor));
- ASSERT(m_data);
- ASSERT(backing_store.size_in_bytes == size_in_bytes());
+ VERIFY(!m_size.is_empty());
+ VERIFY(!size_would_overflow(format, size, scale_factor));
+ VERIFY(m_data);
+ VERIFY(backing_store.size_in_bytes == size_in_bytes());
allocate_palette_from_format(format, {});
m_needs_munmap = true;
}
@@ -160,8 +160,8 @@ RefPtr<Bitmap> Bitmap::load_from_file(const StringView& path, int scale_factor)
ENUMERATE_IMAGE_FORMATS
#undef __ENUMERATE_IMAGE_FORMAT
if (bmp) {
- ASSERT(bmp->width() % scale_factor == 0);
- ASSERT(bmp->height() % scale_factor == 0);
+ VERIFY(bmp->width() % scale_factor == 0);
+ VERIFY(bmp->height() % scale_factor == 0);
bmp->m_size.set_width(bmp->width() / scale_factor);
bmp->m_size.set_height(bmp->height() / scale_factor);
bmp->m_scale = scale_factor;
@@ -185,8 +185,8 @@ Bitmap::Bitmap(BitmapFormat format, const IntSize& size, int scale_factor, size_
, m_pitch(pitch)
, m_format(format)
{
- ASSERT(pitch >= minimum_pitch(size.width() * scale_factor, format));
- ASSERT(!size_would_overflow(format, size, scale_factor));
+ VERIFY(pitch >= minimum_pitch(size.width() * scale_factor, format));
+ VERIFY(!size_would_overflow(format, size, scale_factor));
// FIXME: assert that `data` is actually long enough!
allocate_palette_from_format(format, {});
@@ -220,7 +220,7 @@ RefPtr<Bitmap> Bitmap::create_with_anon_fd(BitmapFormat format, int anon_fd, con
ScopeGuard close_guard = [&] {
if (should_close_anon_fd == ShouldCloseAnonymousFile::Yes) {
int rc = close(anon_fd);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
anon_fd = -1;
}
};
@@ -321,7 +321,7 @@ ByteBuffer Bitmap::serialize_to_byte_buffer() const
}
auto size = size_in_bytes();
- ASSERT(stream.remaining() == size);
+ VERIFY(stream.remaining() == size);
if (stream.write({ scanline(0), size }) != size)
return {};
@@ -338,8 +338,8 @@ Bitmap::Bitmap(BitmapFormat format, int anon_fd, const IntSize& size, int scale_
, m_purgeable(true)
, m_anon_fd(anon_fd)
{
- ASSERT(!is_indexed() || !palette.is_empty());
- ASSERT(!size_would_overflow(format, size, scale_factor));
+ VERIFY(!is_indexed() || !palette.is_empty());
+ VERIFY(!size_would_overflow(format, size, scale_factor));
if (is_indexed(m_format))
allocate_palette_from_format(m_format, palette);
@@ -358,7 +358,7 @@ RefPtr<Gfx::Bitmap> Bitmap::clone() const
return nullptr;
}
- ASSERT(size_in_bytes() == new_bitmap->size_in_bytes());
+ VERIFY(size_in_bytes() == new_bitmap->size_in_bytes());
memcpy(new_bitmap->scanline(0), scanline(0), size_in_bytes());
return new_bitmap;
@@ -428,11 +428,11 @@ Bitmap::~Bitmap()
{
if (m_needs_munmap) {
int rc = munmap(m_data, size_in_bytes());
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
if (m_anon_fd != -1) {
int rc = close(m_anon_fd);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
m_data = nullptr;
delete[] m_palette;
@@ -440,7 +440,7 @@ Bitmap::~Bitmap()
void Bitmap::set_mmap_name([[maybe_unused]] const StringView& name)
{
- ASSERT(m_needs_munmap);
+ VERIFY(m_needs_munmap);
#ifdef __serenity__
::set_mmap_name(m_data, size_in_bytes(), name.to_string().characters());
#endif
@@ -448,7 +448,7 @@ void Bitmap::set_mmap_name([[maybe_unused]] const StringView& name)
void Bitmap::fill(Color color)
{
- ASSERT(!is_indexed(m_format));
+ VERIFY(!is_indexed(m_format));
for (int y = 0; y < physical_height(); ++y) {
auto* scanline = this->scanline(y);
fast_u32_fill(scanline, color.value(), physical_width());
@@ -457,14 +457,14 @@ void Bitmap::fill(Color color)
void Bitmap::set_volatile()
{
- ASSERT(m_purgeable);
+ VERIFY(m_purgeable);
if (m_volatile)
return;
#ifdef __serenity__
int rc = madvise(m_data, size_in_bytes(), MADV_SET_VOLATILE);
if (rc < 0) {
perror("madvise(MADV_SET_VOLATILE)");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
#endif
m_volatile = true;
@@ -472,14 +472,14 @@ void Bitmap::set_volatile()
[[nodiscard]] bool Bitmap::set_nonvolatile()
{
- ASSERT(m_purgeable);
+ VERIFY(m_purgeable);
if (!m_volatile)
return true;
#ifdef __serenity__
int rc = madvise(m_data, size_in_bytes(), MADV_SET_NONVOLATILE);
if (rc < 0) {
perror("madvise(MADV_SET_NONVOLATILE)");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
#else
int rc = 0;
@@ -528,7 +528,7 @@ void Bitmap::allocate_palette_from_format(BitmapFormat format, const Vector<RGBA
return;
m_palette = new RGBA32[size];
if (!source_palette.is_empty()) {
- ASSERT(source_palette.size() == size);
+ VERIFY(source_palette.size() == size);
memcpy(m_palette, source_palette.data(), size * sizeof(RGBA32));
}
}
diff --git a/Userland/Libraries/LibGfx/Bitmap.h b/Userland/Libraries/LibGfx/Bitmap.h
index 0dfbe82bcc..bcfb89fa96 100644
--- a/Userland/Libraries/LibGfx/Bitmap.h
+++ b/Userland/Libraries/LibGfx/Bitmap.h
@@ -90,7 +90,7 @@ static StorageFormat determine_storage_format(BitmapFormat format)
case BitmapFormat::Indexed8:
return StorageFormat::Indexed8;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -198,7 +198,7 @@ public:
case BitmapFormat::RGBA32:
return 32;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case BitmapFormat::Invalid:
return 0;
}
@@ -274,13 +274,13 @@ private:
inline u8* Bitmap::scanline_u8(int y)
{
- ASSERT(y >= 0 && y < physical_height());
+ VERIFY(y >= 0 && y < physical_height());
return reinterpret_cast<u8*>(m_data) + (y * m_pitch);
}
inline const u8* Bitmap::scanline_u8(int y) const
{
- ASSERT(y >= 0 && y < physical_height());
+ VERIFY(y >= 0 && y < physical_height());
return reinterpret_cast<const u8*>(m_data) + (y * m_pitch);
}
@@ -297,21 +297,21 @@ inline const RGBA32* Bitmap::scanline(int y) const
template<>
inline Color Bitmap::get_pixel<StorageFormat::RGB32>(int x, int y) const
{
- ASSERT(x >= 0 && x < physical_width());
+ VERIFY(x >= 0 && x < physical_width());
return Color::from_rgb(scanline(y)[x]);
}
template<>
inline Color Bitmap::get_pixel<StorageFormat::RGBA32>(int x, int y) const
{
- ASSERT(x >= 0 && x < physical_width());
+ VERIFY(x >= 0 && x < physical_width());
return Color::from_rgba(scanline(y)[x]);
}
template<>
inline Color Bitmap::get_pixel<StorageFormat::Indexed8>(int x, int y) const
{
- ASSERT(x >= 0 && x < physical_width());
+ VERIFY(x >= 0 && x < physical_width());
return Color::from_rgb(m_palette[scanline_u8(y)[x]]);
}
@@ -325,20 +325,20 @@ inline Color Bitmap::get_pixel(int x, int y) const
case StorageFormat::Indexed8:
return get_pixel<StorageFormat::Indexed8>(x, y);
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
template<>
inline void Bitmap::set_pixel<StorageFormat::RGB32>(int x, int y, Color color)
{
- ASSERT(x >= 0 && x < physical_width());
+ VERIFY(x >= 0 && x < physical_width());
scanline(y)[x] = color.value();
}
template<>
inline void Bitmap::set_pixel<StorageFormat::RGBA32>(int x, int y, Color color)
{
- ASSERT(x >= 0 && x < physical_width());
+ VERIFY(x >= 0 && x < physical_width());
scanline(y)[x] = color.value(); // drop alpha
}
inline void Bitmap::set_pixel(int x, int y, Color color)
@@ -351,9 +351,9 @@ inline void Bitmap::set_pixel(int x, int y, Color color)
set_pixel<StorageFormat::RGBA32>(x, y, color);
break;
case StorageFormat::Indexed8:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibGfx/BitmapFont.cpp b/Userland/Libraries/LibGfx/BitmapFont.cpp
index 492f921053..09e080ec8e 100644
--- a/Userland/Libraries/LibGfx/BitmapFont.cpp
+++ b/Userland/Libraries/LibGfx/BitmapFont.cpp
@@ -147,7 +147,7 @@ RefPtr<BitmapFont> BitmapFont::load_from_memory(const u8* data)
else if (header.type == 1)
type = FontTypes::LatinExtendedA;
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
size_t count = glyph_count_by_type(type);
size_t bytes_per_glyph = sizeof(unsigned) * header.glyph_height;
@@ -168,7 +168,7 @@ size_t BitmapFont::glyph_count_by_type(FontTypes type)
return 384;
dbgln("Unknown font type: {}", (int)type);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
RefPtr<BitmapFont> BitmapFont::load_from_file(const StringView& path)
diff --git a/Userland/Libraries/LibGfx/BitmapFont.h b/Userland/Libraries/LibGfx/BitmapFont.h
index b43514fe0a..88ada2a2b7 100644
--- a/Userland/Libraries/LibGfx/BitmapFont.h
+++ b/Userland/Libraries/LibGfx/BitmapFont.h
@@ -98,7 +98,7 @@ public:
void set_glyph_width(size_t ch, u8 width)
{
- ASSERT(m_glyph_widths);
+ VERIFY(m_glyph_widths);
m_glyph_widths[ch] = width;
}
diff --git a/Userland/Libraries/LibGfx/ClassicWindowTheme.cpp b/Userland/Libraries/LibGfx/ClassicWindowTheme.cpp
index 6227ecfc39..0f6f1ae684 100644
--- a/Userland/Libraries/LibGfx/ClassicWindowTheme.cpp
+++ b/Userland/Libraries/LibGfx/ClassicWindowTheme.cpp
@@ -167,7 +167,7 @@ ClassicWindowTheme::FrameColors ClassicWindowTheme::compute_frame_colors(WindowS
case WindowState::Inactive:
return { palette.inactive_window_title(), palette.inactive_window_border1(), palette.inactive_window_border2(), palette.inactive_window_title_stripes(), palette.inactive_window_title_shadow() };
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibGfx/Color.cpp b/Userland/Libraries/LibGfx/Color.cpp
index 5e4af7a12b..20265dc43f 100644
--- a/Userland/Libraries/LibGfx/Color.cpp
+++ b/Userland/Libraries/LibGfx/Color.cpp
@@ -50,8 +50,8 @@ String Color::to_string_without_alpha() const
static Optional<Color> parse_rgb_color(const StringView& string)
{
- ASSERT(string.starts_with("rgb("));
- ASSERT(string.ends_with(")"));
+ VERIFY(string.starts_with("rgb("));
+ VERIFY(string.ends_with(")"));
auto substring = string.substring_view(4, string.length() - 5);
auto parts = substring.split_view(',');
@@ -71,8 +71,8 @@ static Optional<Color> parse_rgb_color(const StringView& string)
static Optional<Color> parse_rgba_color(const StringView& string)
{
- ASSERT(string.starts_with("rgba("));
- ASSERT(string.ends_with(")"));
+ VERIFY(string.starts_with("rgba("));
+ VERIFY(string.ends_with(")"));
auto substring = string.substring_view(5, string.length() - 6);
auto parts = substring.split_view(',');
diff --git a/Userland/Libraries/LibGfx/Color.h b/Userland/Libraries/LibGfx/Color.h
index c4a28ba323..8070a712e2 100644
--- a/Userland/Libraries/LibGfx/Color.h
+++ b/Userland/Libraries/LibGfx/Color.h
@@ -239,9 +239,9 @@ public:
hsv.value = max;
- ASSERT(hsv.hue >= 0.0 && hsv.hue < 360.0);
- ASSERT(hsv.saturation >= 0.0 && hsv.saturation <= 1.0);
- ASSERT(hsv.value >= 0.0 && hsv.value <= 1.0);
+ VERIFY(hsv.hue >= 0.0 && hsv.hue < 360.0);
+ VERIFY(hsv.saturation >= 0.0 && hsv.saturation <= 1.0);
+ VERIFY(hsv.value >= 0.0 && hsv.value <= 1.0);
return hsv;
}
@@ -253,9 +253,9 @@ public:
static Color from_hsv(const HSV& hsv)
{
- ASSERT(hsv.hue >= 0.0 && hsv.hue < 360.0);
- ASSERT(hsv.saturation >= 0.0 && hsv.saturation <= 1.0);
- ASSERT(hsv.value >= 0.0 && hsv.value <= 1.0);
+ VERIFY(hsv.hue >= 0.0 && hsv.hue < 360.0);
+ VERIFY(hsv.saturation >= 0.0 && hsv.saturation <= 1.0);
+ VERIFY(hsv.value >= 0.0 && hsv.value <= 1.0);
double hue = hsv.hue;
double saturation = hsv.saturation;
@@ -397,7 +397,7 @@ inline constexpr Color::Color(NamedColor named)
rgb = { 212, 208, 200 };
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
diff --git a/Userland/Libraries/LibGfx/Filters/GenericConvolutionFilter.h b/Userland/Libraries/LibGfx/Filters/GenericConvolutionFilter.h
index 416f84321a..93f325a28e 100644
--- a/Userland/Libraries/LibGfx/Filters/GenericConvolutionFilter.h
+++ b/Userland/Libraries/LibGfx/Filters/GenericConvolutionFilter.h
@@ -85,7 +85,7 @@ public:
virtual void apply(Bitmap& target_bitmap, const IntRect& target_rect, const Bitmap& source_bitmap, const IntRect& source_rect, const Filter::Parameters& parameters) override
{
- ASSERT(parameters.is_generic_convolution_filter());
+ VERIFY(parameters.is_generic_convolution_filter());
auto& gcf_params = static_cast<const GenericConvolutionFilter::Parameters&>(parameters);
ApplyCache apply_cache;
@@ -98,10 +98,10 @@ public:
// contained by the source area. source_rect should be describing
// the pixels that can be accessed to apply this filter, while
// target_rect should describe the area where to apply the filter on.
- ASSERT(source_rect.contains(target_rect));
- ASSERT(source.size().contains(target.size()));
- ASSERT(target.rect().contains(target_rect));
- ASSERT(source.rect().contains(source_rect));
+ VERIFY(source_rect.contains(target_rect));
+ VERIFY(source.size().contains(target.size()));
+ VERIFY(target.rect().contains(target_rect));
+ VERIFY(source.rect().contains(source_rect));
// If source is different from target, it should still be describing
// essentially the same bitmap. But it allows us to modify target
diff --git a/Userland/Libraries/LibGfx/FontDatabase.cpp b/Userland/Libraries/LibGfx/FontDatabase.cpp
index c06fd0ebba..6aaaff246a 100644
--- a/Userland/Libraries/LibGfx/FontDatabase.cpp
+++ b/Userland/Libraries/LibGfx/FontDatabase.cpp
@@ -50,7 +50,7 @@ Font& FontDatabase::default_font()
static Font* font;
if (!font) {
font = FontDatabase::the().get_by_name("Katica 10 400");
- ASSERT(font);
+ VERIFY(font);
}
return *font;
}
@@ -60,7 +60,7 @@ Font& FontDatabase::default_fixed_width_font()
static Font* font;
if (!font) {
font = FontDatabase::the().get_by_name("Csilla 10 400");
- ASSERT(font);
+ VERIFY(font);
}
return *font;
}
@@ -70,7 +70,7 @@ Font& FontDatabase::default_bold_fixed_width_font()
static Font* font;
if (!font) {
font = FontDatabase::the().get_by_name("Csilla 10 700");
- ASSERT(font);
+ VERIFY(font);
}
return *font;
}
@@ -80,7 +80,7 @@ Font& FontDatabase::default_bold_font()
static Font* font;
if (!font) {
font = FontDatabase::the().get_by_name("Katica 10 700");
- ASSERT(font);
+ VERIFY(font);
}
return *font;
}
diff --git a/Userland/Libraries/LibGfx/GIFLoader.cpp b/Userland/Libraries/LibGfx/GIFLoader.cpp
index 750587e207..3bec3d1ce9 100644
--- a/Userland/Libraries/LibGfx/GIFLoader.cpp
+++ b/Userland/Libraries/LibGfx/GIFLoader.cpp
@@ -232,14 +232,14 @@ public:
Vector<u8>& get_output()
{
- ASSERT(m_current_code <= m_code_table.size());
+ VERIFY(m_current_code <= m_code_table.size());
if (m_current_code < m_code_table.size()) {
Vector<u8> new_entry = m_output;
m_output = m_code_table.at(m_current_code);
new_entry.append(m_output[0]);
extend_code_table(new_entry);
} else if (m_current_code == m_code_table.size()) {
- ASSERT(!m_output.is_empty());
+ VERIFY(!m_output.is_empty());
m_output.append(m_output[0]);
extend_code_table(m_output);
}
@@ -285,7 +285,7 @@ private:
static void copy_frame_buffer(Bitmap& dest, const Bitmap& src)
{
- ASSERT(dest.size_in_bytes() == src.size_in_bytes());
+ VERIFY(dest.size_in_bytes() == src.size_in_bytes());
memcpy(dest.scanline(0), src.scanline(0), dest.size_in_bytes());
}
@@ -294,7 +294,7 @@ static void clear_rect(Bitmap& bitmap, const IntRect& rect, Color color)
if (rect.is_empty())
return;
- ASSERT(bitmap.rect().contains(rect));
+ VERIFY(bitmap.rect().contains(rect));
RGBA32* dst = bitmap.scanline(rect.top()) + rect.left();
const size_t dst_skip = bitmap.pitch() / sizeof(RGBA32);
diff --git a/Userland/Libraries/LibGfx/ICOLoader.cpp b/Userland/Libraries/LibGfx/ICOLoader.cpp
index e0326f1580..51a2107e4b 100644
--- a/Userland/Libraries/LibGfx/ICOLoader.cpp
+++ b/Userland/Libraries/LibGfx/ICOLoader.cpp
@@ -388,7 +388,7 @@ RefPtr<Gfx::Bitmap> ICOImageDecoderPlugin::bitmap()
m_context->state = ICOLoadingContext::State::BitmapDecoded;
}
- ASSERT(m_context->images[m_context->largest_index].bitmap);
+ VERIFY(m_context->images[m_context->largest_index].bitmap);
return m_context->images[m_context->largest_index].bitmap;
}
diff --git a/Userland/Libraries/LibGfx/JPGLoader.cpp b/Userland/Libraries/LibGfx/JPGLoader.cpp
index 4b4b4be311..0ec40055db 100644
--- a/Userland/Libraries/LibGfx/JPGLoader.cpp
+++ b/Userland/Libraries/LibGfx/JPGLoader.cpp
@@ -661,7 +661,7 @@ static bool read_huffman_table(InputMemoryStream& stream, JPGLoadingContext& con
auto& huffman_table = table.type == 0 ? context.dc_tables : context.ac_tables;
huffman_table.set(table.destination_id, table);
- ASSERT(huffman_table.size() <= 2);
+ VERIFY(huffman_table.size() <= 2);
bytes_to_read -= 1 + 16 + total_codes;
}
@@ -1167,7 +1167,7 @@ static bool parse_header(InputMemoryStream& stream, JPGLoadingContext& context)
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
static bool scan_huffman_stream(InputMemoryStream& stream, JPGLoadingContext& context)
@@ -1213,7 +1213,7 @@ static bool scan_huffman_stream(InputMemoryStream& stream, JPGLoadingContext& co
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
static bool decode_jpg(JPGLoadingContext& context)
diff --git a/Userland/Libraries/LibGfx/Matrix.h b/Userland/Libraries/LibGfx/Matrix.h
index aa9cf5e64f..2913457d91 100644
--- a/Userland/Libraries/LibGfx/Matrix.h
+++ b/Userland/Libraries/LibGfx/Matrix.h
@@ -39,7 +39,7 @@ public:
Matrix() = default;
Matrix(std::initializer_list<T> elements)
{
- ASSERT(elements.size() == N * N);
+ VERIFY(elements.size() == N * N);
size_t i = 0;
for (auto& element : elements) {
m_elements[i / N][i % N] = element;
diff --git a/Userland/Libraries/LibGfx/PBMLoader.cpp b/Userland/Libraries/LibGfx/PBMLoader.cpp
index 4040b09c97..dda7c44da2 100644
--- a/Userland/Libraries/LibGfx/PBMLoader.cpp
+++ b/Userland/Libraries/LibGfx/PBMLoader.cpp
@@ -166,7 +166,7 @@ RefPtr<Gfx::Bitmap> PBMImageDecoderPlugin::bitmap()
return nullptr;
}
- ASSERT(m_context->bitmap);
+ VERIFY(m_context->bitmap);
return m_context->bitmap;
}
diff --git a/Userland/Libraries/LibGfx/PGMLoader.cpp b/Userland/Libraries/LibGfx/PGMLoader.cpp
index 122a698a7b..5cd2b7bed3 100644
--- a/Userland/Libraries/LibGfx/PGMLoader.cpp
+++ b/Userland/Libraries/LibGfx/PGMLoader.cpp
@@ -169,7 +169,7 @@ RefPtr<Gfx::Bitmap> PGMImageDecoderPlugin::bitmap()
return nullptr;
}
- ASSERT(m_context->bitmap);
+ VERIFY(m_context->bitmap);
return m_context->bitmap;
}
diff --git a/Userland/Libraries/LibGfx/PNGLoader.cpp b/Userland/Libraries/LibGfx/PNGLoader.cpp
index 1f1ae6d066..fbb4a4d8b9 100644
--- a/Userland/Libraries/LibGfx/PNGLoader.cpp
+++ b/Userland/Libraries/LibGfx/PNGLoader.cpp
@@ -387,7 +387,7 @@ NEVER_INLINE FLATTEN static bool unfilter(PNGLoadingContext& context)
}
}
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
break;
case 4:
@@ -396,7 +396,7 @@ NEVER_INLINE FLATTEN static bool unfilter(PNGLoadingContext& context)
} else if (context.bit_depth == 16) {
unpack_grayscale_with_alpha<u16>(context);
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
break;
case 2:
@@ -405,7 +405,7 @@ NEVER_INLINE FLATTEN static bool unfilter(PNGLoadingContext& context)
} else if (context.bit_depth == 16) {
unpack_triplets_without_alpha<u16>(context);
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
break;
case 6:
@@ -425,7 +425,7 @@ NEVER_INLINE FLATTEN static bool unfilter(PNGLoadingContext& context)
}
}
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
break;
case 3:
@@ -468,11 +468,11 @@ NEVER_INLINE FLATTEN static bool unfilter(PNGLoadingContext& context)
}
}
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
@@ -658,7 +658,7 @@ static int adam7_height(PNGLoadingContext& context, int pass)
case 7:
return context.height / 2;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -680,7 +680,7 @@ static int adam7_width(PNGLoadingContext& context, int pass)
case 7:
return context.width;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -809,7 +809,7 @@ static bool decode_png_bitmap(PNGLoadingContext& context)
return false;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
munmap(context.decompression_buffer, context.decompression_buffer_size);
@@ -1026,7 +1026,7 @@ RefPtr<Gfx::Bitmap> PNGImageDecoderPlugin::bitmap()
return nullptr;
}
- ASSERT(m_context->bitmap);
+ VERIFY(m_context->bitmap);
return m_context->bitmap;
}
diff --git a/Userland/Libraries/LibGfx/PPMLoader.cpp b/Userland/Libraries/LibGfx/PPMLoader.cpp
index 80d99d8966..8f88a9ff8b 100644
--- a/Userland/Libraries/LibGfx/PPMLoader.cpp
+++ b/Userland/Libraries/LibGfx/PPMLoader.cpp
@@ -171,7 +171,7 @@ RefPtr<Gfx::Bitmap> PPMImageDecoderPlugin::bitmap()
return nullptr;
}
- ASSERT(m_context->bitmap);
+ VERIFY(m_context->bitmap);
return m_context->bitmap;
}
diff --git a/Userland/Libraries/LibGfx/Painter.cpp b/Userland/Libraries/LibGfx/Painter.cpp
index ed075d8381..445f4eda35 100644
--- a/Userland/Libraries/LibGfx/Painter.cpp
+++ b/Userland/Libraries/LibGfx/Painter.cpp
@@ -73,9 +73,9 @@ Painter::Painter(Gfx::Bitmap& bitmap)
: m_target(bitmap)
{
int scale = bitmap.scale();
- ASSERT(bitmap.format() == Gfx::BitmapFormat::RGB32 || bitmap.format() == Gfx::BitmapFormat::RGBA32);
- ASSERT(bitmap.physical_width() % scale == 0);
- ASSERT(bitmap.physical_height() % scale == 0);
+ VERIFY(bitmap.format() == Gfx::BitmapFormat::RGB32 || bitmap.format() == Gfx::BitmapFormat::RGBA32);
+ VERIFY(bitmap.physical_width() % scale == 0);
+ VERIFY(bitmap.physical_height() % scale == 0);
m_state_stack.append(State());
state().font = &FontDatabase::default_font();
state().clip_rect = { { 0, 0 }, bitmap.size() };
@@ -89,7 +89,7 @@ Painter::~Painter()
void Painter::fill_rect_with_draw_op(const IntRect& a_rect, Color color)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
auto rect = a_rect.translated(translation()).intersected(clip_rect());
if (rect.is_empty())
@@ -111,7 +111,7 @@ void Painter::clear_rect(const IntRect& a_rect, Color color)
if (rect.is_empty())
return;
- ASSERT(m_target->rect().contains(rect));
+ VERIFY(m_target->rect().contains(rect));
rect *= scale();
RGBA32* dst = m_target->scanline(rect.top()) + rect.left();
@@ -154,14 +154,14 @@ void Painter::fill_rect(const IntRect& a_rect, Color color)
auto rect = a_rect.translated(translation()).intersected(clip_rect());
if (rect.is_empty())
return;
- ASSERT(m_target->rect().contains(rect));
+ VERIFY(m_target->rect().contains(rect));
fill_physical_rect(rect * scale(), color);
}
void Painter::fill_rect_with_dither_pattern(const IntRect& a_rect, Color color_a, Color color_b)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
auto rect = a_rect.translated(translation()).intersected(clip_rect());
if (rect.is_empty())
@@ -185,7 +185,7 @@ void Painter::fill_rect_with_dither_pattern(const IntRect& a_rect, Color color_a
void Painter::fill_rect_with_checkerboard(const IntRect& a_rect, const IntSize& cell_size, Color color_dark, Color color_light)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
auto rect = a_rect.translated(translation()).intersected(clip_rect());
if (rect.is_empty())
@@ -264,13 +264,13 @@ void Painter::fill_rect_with_gradient(const IntRect& a_rect, Color gradient_star
void Painter::fill_ellipse(const IntRect& a_rect, Color color)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
auto rect = a_rect.translated(translation()).intersected(clip_rect());
if (rect.is_empty())
return;
- ASSERT(m_target->rect().contains(rect));
+ VERIFY(m_target->rect().contains(rect));
RGBA32* dst = m_target->scanline(rect.top()) + rect.left() + rect.width() / 2;
const size_t dst_skip = m_target->pitch() / sizeof(RGBA32);
@@ -285,7 +285,7 @@ void Painter::fill_ellipse(const IntRect& a_rect, Color color)
void Painter::draw_ellipse_intersecting(const IntRect& rect, Color color, int thickness)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
constexpr int number_samples = 100; // FIXME: dynamically work out the number of samples based upon the rect size
double increment = M_PI / number_samples;
@@ -324,7 +324,7 @@ static void for_each_pixel_around_rect_clockwise(const RectType& rect, Callback
void Painter::draw_focus_rect(const IntRect& rect, Color color)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
if (rect.is_empty())
return;
@@ -389,7 +389,7 @@ void Painter::draw_rect(const IntRect& a_rect, Color color, bool rough)
void Painter::draw_bitmap(const IntPoint& p, const CharacterBitmap& bitmap, Color color)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
auto rect = IntRect(p, bitmap.size()).translated(translation());
auto clipped_rect = rect.intersected(clip_rect());
@@ -454,7 +454,7 @@ void Painter::draw_bitmap(const IntPoint& p, const GlyphBitmap& bitmap, Color co
void Painter::draw_triangle(const IntPoint& a, const IntPoint& b, const IntPoint& c, Color color)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
RGBA32 rgba = color.value();
@@ -524,7 +524,7 @@ void Painter::draw_triangle(const IntPoint& a, const IntPoint& b, const IntPoint
void Painter::blit_with_opacity(const IntPoint& position, const Gfx::Bitmap& source, const IntRect& a_src_rect, float opacity, bool apply_alpha)
{
- ASSERT(scale() >= source.scale() && "painter doesn't support downsampling scale factors");
+ VERIFY(scale() >= source.scale() && "painter doesn't support downsampling scale factors");
if (opacity >= 1.0f && !(source.has_alpha_channel() && apply_alpha))
return blit(position, source, a_src_rect);
@@ -581,7 +581,7 @@ void Painter::blit_with_opacity(const IntPoint& position, const Gfx::Bitmap& sou
void Painter::blit_filtered(const IntPoint& position, const Gfx::Bitmap& source, const IntRect& src_rect, Function<Color(Color)> filter)
{
- ASSERT((source.scale() == 1 || source.scale() == scale()) && "blit_filtered only supports integer upsampling");
+ VERIFY((source.scale() == 1 || source.scale() == scale()) && "blit_filtered only supports integer upsampling");
IntRect safe_src_rect = src_rect.intersected(source.rect());
auto dst_rect = IntRect(position, safe_src_rect.size()).translated(translation());
@@ -660,7 +660,7 @@ void Painter::blit_dimmed(const IntPoint& position, const Gfx::Bitmap& source, c
void Painter::draw_tiled_bitmap(const IntRect& a_dst_rect, const Gfx::Bitmap& source)
{
- ASSERT((source.scale() == 1 || source.scale() == scale()) && "draw_tiled_bitmap only supports integer upsampling");
+ VERIFY((source.scale() == 1 || source.scale() == scale()) && "draw_tiled_bitmap only supports integer upsampling");
auto dst_rect = a_dst_rect.translated(translation());
auto clipped_rect = dst_rect.intersected(clip_rect());
@@ -701,7 +701,7 @@ void Painter::draw_tiled_bitmap(const IntRect& a_dst_rect, const Gfx::Bitmap& so
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Painter::blit_offset(const IntPoint& a_position, const Gfx::Bitmap& source, const IntRect& a_src_rect, const IntPoint& offset)
@@ -721,7 +721,7 @@ void Painter::blit_offset(const IntPoint& a_position, const Gfx::Bitmap& source,
void Painter::blit(const IntPoint& position, const Gfx::Bitmap& source, const IntRect& a_src_rect, float opacity, bool apply_alpha)
{
- ASSERT(scale() >= source.scale() && "painter doesn't support downsampling scale factors");
+ VERIFY(scale() >= source.scale() && "painter doesn't support downsampling scale factors");
if (opacity < 1.0f || (source.has_alpha_channel() && apply_alpha))
return blit_with_opacity(position, source, a_src_rect, opacity, apply_alpha);
@@ -772,7 +772,7 @@ void Painter::blit(const IntPoint& position, const Gfx::Bitmap& source, const In
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
template<bool has_alpha_channel, typename GetPixel>
@@ -1024,7 +1024,7 @@ void draw_text_line(const IntRect& a_rect, const TextType& text, const Font& fon
break;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (is_vertically_centered_text_alignment(alignment)) {
@@ -1117,7 +1117,7 @@ void do_draw_text(const IntRect& rect, const TextType& text, const Font& font, T
bounding_rect.set_location({ (rect.right() + 1) - bounding_rect.width(), (rect.bottom() + 1) - bounding_rect.height() });
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
for (size_t i = 0; i < lines.size(); ++i) {
@@ -1155,7 +1155,7 @@ void Painter::draw_text(const IntRect& rect, const Utf32View& text, const Font&
void Painter::draw_text(Function<void(const IntRect&, u32)> draw_one_glyph, const IntRect& rect, const StringView& raw_text, const Font& font, TextAlignment alignment, TextElision elision)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
Utf8View text { raw_text };
do_draw_text(rect, text, font, alignment, elision, [&](const IntRect& r, u32 code_point) {
@@ -1165,7 +1165,7 @@ void Painter::draw_text(Function<void(const IntRect&, u32)> draw_one_glyph, cons
void Painter::draw_text(Function<void(const IntRect&, u32)> draw_one_glyph, const IntRect& rect, const Utf8View& text, const Font& font, TextAlignment alignment, TextElision elision)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
do_draw_text(rect, text, font, alignment, elision, [&](const IntRect& r, u32 code_point) {
draw_one_glyph(r, code_point);
@@ -1174,7 +1174,7 @@ void Painter::draw_text(Function<void(const IntRect&, u32)> draw_one_glyph, cons
void Painter::draw_text(Function<void(const IntRect&, u32)> draw_one_glyph, const IntRect& rect, const Utf32View& text, const Font& font, TextAlignment alignment, TextElision elision)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
do_draw_text(rect, text, font, alignment, elision, [&](const IntRect& r, u32 code_point) {
draw_one_glyph(r, code_point);
@@ -1183,7 +1183,7 @@ void Painter::draw_text(Function<void(const IntRect&, u32)> draw_one_glyph, cons
void Painter::set_pixel(const IntPoint& p, Color color)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
auto point = p;
point.move_by(state().translation);
@@ -1245,7 +1245,7 @@ void Painter::draw_physical_pixel(const IntPoint& physical_position, Color color
// This always draws a single physical pixel, independent of scale().
// This should only be called by routines that already handle scale
// (including scaling thickness).
- ASSERT(draw_op() == DrawOp::Copy);
+ VERIFY(draw_op() == DrawOp::Copy);
if (thickness == 1) { // Implies scale() == 1.
auto& pixel = m_target->scanline(physical_position.y())[physical_position.x()];
@@ -1327,7 +1327,7 @@ void Painter::draw_line(const IntPoint& p1, const IntPoint& p2, Color color, int
}
// FIXME: Implement dotted/dashed diagonal lines.
- ASSERT(style == LineStyle::Solid);
+ VERIFY(style == LineStyle::Solid);
const double adx = abs(point2.x() - point1.x());
const double ady = abs(point2.y() - point1.y());
@@ -1462,7 +1462,7 @@ static bool can_approximate_elliptical_arc(const FloatPoint& p1, const FloatPoin
void Painter::draw_quadratic_bezier_curve(const IntPoint& control_point, const IntPoint& p1, const IntPoint& p2, Color color, int thickness, LineStyle style)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
for_each_line_segment_on_bezier_curve(FloatPoint(control_point), FloatPoint(p1), FloatPoint(p2), [&](const FloatPoint& fp1, const FloatPoint& fp2) {
draw_line(IntPoint(fp1.x(), fp1.y()), IntPoint(fp2.x(), fp2.y()), color, thickness, style);
@@ -1487,7 +1487,7 @@ void Painter::for_each_line_segment_on_elliptical_arc(const FloatPoint& p1, cons
void Painter::draw_elliptical_arc(const IntPoint& p1, const IntPoint& p2, const IntPoint& center, const FloatPoint& radii, float x_axis_rotation, float theta_1, float theta_delta, Color color, int thickness, LineStyle style)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
for_each_line_segment_on_elliptical_arc(FloatPoint(p1), FloatPoint(p2), FloatPoint(center), radii, x_axis_rotation, theta_1, theta_delta, [&](const FloatPoint& fp1, const FloatPoint& fp2) {
draw_line(IntPoint(fp1.x(), fp1.y()), IntPoint(fp2.x(), fp2.y()), color, thickness, style);
@@ -1518,14 +1518,14 @@ PainterStateSaver::~PainterStateSaver()
void Painter::stroke_path(const Path& path, Color color, int thickness)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
FloatPoint cursor;
for (auto& segment : path.segments()) {
switch (segment.type()) {
case Segment::Type::Invalid:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
case Segment::Type::MoveTo:
cursor = segment.point();
@@ -1573,7 +1573,7 @@ void Painter::stroke_path(const Path& path, Color color, int thickness)
void Painter::fill_path(Path& path, Color color, WindingRule winding_rule)
{
- ASSERT(scale() == 1); // FIXME: Add scaling support.
+ VERIFY(scale() == 1); // FIXME: Add scaling support.
const auto& segments = path.split_lines();
@@ -1604,7 +1604,7 @@ void Painter::fill_path(Path& path, Color color, WindingRule winding_rule)
if (winding_rule == WindingRule::EvenOdd)
return winding_number % 2 == 0;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
};
auto increment_winding = [winding_rule](int& winding_number, const IntPoint& from, const IntPoint& to) {
@@ -1621,7 +1621,7 @@ void Painter::fill_path(Path& path, Color color, WindingRule winding_rule)
return;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
};
while (scanline >= last_y) {
diff --git a/Userland/Libraries/LibGfx/Painter.h b/Userland/Libraries/LibGfx/Painter.h
index 36db4ddac6..62b5c3de3b 100644
--- a/Userland/Libraries/LibGfx/Painter.h
+++ b/Userland/Libraries/LibGfx/Painter.h
@@ -125,7 +125,7 @@ public:
void save() { m_state_stack.append(m_state_stack.last()); }
void restore()
{
- ASSERT(m_state_stack.size() > 1);
+ VERIFY(m_state_stack.size() > 1);
m_state_stack.take_last();
}
diff --git a/Userland/Libraries/LibGfx/Palette.cpp b/Userland/Libraries/LibGfx/Palette.cpp
index 2068e1a50f..93ba1e28cf 100644
--- a/Userland/Libraries/LibGfx/Palette.cpp
+++ b/Userland/Libraries/LibGfx/Palette.cpp
@@ -51,13 +51,13 @@ Palette::~Palette()
int PaletteImpl::metric(MetricRole role) const
{
- ASSERT((int)role < (int)MetricRole::__Count);
+ VERIFY((int)role < (int)MetricRole::__Count);
return theme().metric[(int)role];
}
String PaletteImpl::path(PathRole role) const
{
- ASSERT((int)role < (int)PathRole::__Count);
+ VERIFY((int)role < (int)PathRole::__Count);
return theme().path[(int)role];
}
diff --git a/Userland/Libraries/LibGfx/Palette.h b/Userland/Libraries/LibGfx/Palette.h
index 34ce928ba8..9d1c65bdbd 100644
--- a/Userland/Libraries/LibGfx/Palette.h
+++ b/Userland/Libraries/LibGfx/Palette.h
@@ -46,7 +46,7 @@ public:
Color color(ColorRole role) const
{
- ASSERT((int)role < (int)ColorRole::__Count);
+ VERIFY((int)role < (int)ColorRole::__Count);
return Color::from_rgba(theme().color[(int)role]);
}
diff --git a/Userland/Libraries/LibGfx/Path.cpp b/Userland/Libraries/LibGfx/Path.cpp
index 5fe2bb2f63..95812cf532 100644
--- a/Userland/Libraries/LibGfx/Path.cpp
+++ b/Userland/Libraries/LibGfx/Path.cpp
@@ -70,7 +70,7 @@ void Path::close_all_subpaths()
// This is a move from a subpath to another
// connect the two ends of this subpath before
// moving on to the next one
- ASSERT(start_of_subpath.has_value());
+ VERIFY(start_of_subpath.has_value());
append_segment<MoveSegment>(cursor.value());
append_segment<LineSegment>(start_of_subpath.value());
@@ -89,7 +89,7 @@ void Path::close_all_subpaths()
cursor = segment.point();
break;
case Segment::Type::Invalid:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
@@ -216,7 +216,7 @@ void Path::segmentize_path()
break;
}
case Segment::Type::Invalid:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
first = false;
diff --git a/Userland/Libraries/LibGfx/Path.h b/Userland/Libraries/LibGfx/Path.h
index 7a8dfe9567..81ebf2ccfb 100644
--- a/Userland/Libraries/LibGfx/Path.h
+++ b/Userland/Libraries/LibGfx/Path.h
@@ -177,7 +177,7 @@ public:
{
if (!m_split_lines.has_value()) {
segmentize_path();
- ASSERT(m_split_lines.has_value());
+ VERIFY(m_split_lines.has_value());
}
return m_split_lines.value();
}
@@ -186,7 +186,7 @@ public:
{
if (!m_bounding_box.has_value()) {
segmentize_path();
- ASSERT(m_bounding_box.has_value());
+ VERIFY(m_bounding_box.has_value());
}
return m_bounding_box.value();
}
diff --git a/Userland/Libraries/LibGfx/SystemTheme.cpp b/Userland/Libraries/LibGfx/SystemTheme.cpp
index 6e2961a3f7..7a5f61c10d 100644
--- a/Userland/Libraries/LibGfx/SystemTheme.cpp
+++ b/Userland/Libraries/LibGfx/SystemTheme.cpp
@@ -36,13 +36,13 @@ static Core::AnonymousBuffer theme_buffer;
const SystemTheme& current_system_theme()
{
- ASSERT(theme_page);
+ VERIFY(theme_page);
return *theme_page;
}
Core::AnonymousBuffer& current_system_theme_buffer()
{
- ASSERT(theme_buffer.is_valid());
+ VERIFY(theme_buffer.is_valid());
return theme_buffer;
}
diff --git a/Userland/Libraries/LibGfx/SystemTheme.h b/Userland/Libraries/LibGfx/SystemTheme.h
index ad7c423b92..e0e97556ed 100644
--- a/Userland/Libraries/LibGfx/SystemTheme.h
+++ b/Userland/Libraries/LibGfx/SystemTheme.h
@@ -129,7 +129,7 @@ inline const char* to_string(ColorRole role)
ENUMERATE_COLOR_ROLES(__ENUMERATE_COLOR_ROLE)
#undef __ENUMERATE_COLOR_ROLE
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibGfx/Typeface.cpp b/Userland/Libraries/LibGfx/Typeface.cpp
index 76e7fcfbed..3995e0ddb9 100644
--- a/Userland/Libraries/LibGfx/Typeface.cpp
+++ b/Userland/Libraries/LibGfx/Typeface.cpp
@@ -30,7 +30,7 @@ namespace Gfx {
unsigned Typeface::weight() const
{
- ASSERT(m_ttf_font || m_bitmap_fonts.size() > 0);
+ VERIFY(m_ttf_font || m_bitmap_fonts.size() > 0);
if (is_fixed_size())
return m_bitmap_fonts[0]->weight();
@@ -40,7 +40,7 @@ unsigned Typeface::weight() const
bool Typeface::is_fixed_width() const
{
- ASSERT(m_ttf_font || m_bitmap_fonts.size() > 0);
+ VERIFY(m_ttf_font || m_bitmap_fonts.size() > 0);
if (is_fixed_size())
return m_bitmap_fonts[0]->is_fixed_width();
diff --git a/Userland/Libraries/LibHTTP/HttpJob.cpp b/Userland/Libraries/LibHTTP/HttpJob.cpp
index 68c751598e..c2b73aa12a 100644
--- a/Userland/Libraries/LibHTTP/HttpJob.cpp
+++ b/Userland/Libraries/LibHTTP/HttpJob.cpp
@@ -35,7 +35,7 @@
namespace HTTP {
void HttpJob::start()
{
- ASSERT(!m_socket);
+ VERIFY(!m_socket);
m_socket = Core::TCPSocket::construct(this);
m_socket->on_connected = [this] {
#if CHTTPJOB_DEBUG
diff --git a/Userland/Libraries/LibHTTP/HttpRequest.cpp b/Userland/Libraries/LibHTTP/HttpRequest.cpp
index 8ea42a4e84..6d6a9ccce7 100644
--- a/Userland/Libraries/LibHTTP/HttpRequest.cpp
+++ b/Userland/Libraries/LibHTTP/HttpRequest.cpp
@@ -48,7 +48,7 @@ String HttpRequest::method_name() const
case Method::POST:
return "POST";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -100,7 +100,7 @@ Optional<HttpRequest> HttpRequest::from_raw_request(ReadonlyBytes raw_request)
};
auto consume = [&]() -> u8 {
- ASSERT(index < raw_request.size());
+ VERIFY(index < raw_request.size());
return raw_request[index++];
};
diff --git a/Userland/Libraries/LibHTTP/HttpsJob.cpp b/Userland/Libraries/LibHTTP/HttpsJob.cpp
index 9dd77f8c83..3f89c4b971 100644
--- a/Userland/Libraries/LibHTTP/HttpsJob.cpp
+++ b/Userland/Libraries/LibHTTP/HttpsJob.cpp
@@ -37,7 +37,7 @@ namespace HTTP {
void HttpsJob::start()
{
- ASSERT(!m_socket);
+ VERIFY(!m_socket);
m_socket = TLS::TLSv12::construct(this);
m_socket->set_root_certificates(m_override_ca_certificates ? *m_override_ca_certificates : DefaultRootCACertificates::the().certificates());
m_socket->on_tls_connected = [this] {
@@ -91,7 +91,7 @@ void HttpsJob::set_certificate(String certificate, String private_key)
if (!m_socket->add_client_key(certificate.bytes(), private_key.bytes())) {
dbgln("LibHTTP: Failed to set a client certificate");
// FIXME: Do something about this failure
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibHTTP/Job.cpp b/Userland/Libraries/LibHTTP/Job.cpp
index ce3b7419fd..7da8eee947 100644
--- a/Userland/Libraries/LibHTTP/Job.cpp
+++ b/Userland/Libraries/LibHTTP/Job.cpp
@@ -88,7 +88,7 @@ void Job::flush_received_buffers()
--i;
continue;
}
- ASSERT(written < payload.size());
+ VERIFY(written < payload.size());
payload = payload.slice(written, payload.size() - written);
break;
}
@@ -121,8 +121,8 @@ void Job::on_socket_connected()
// and then get eof() == true.
[[maybe_unused]] auto payload = receive(64);
// These assertions are only correct if "Connection: close".
- ASSERT(payload.is_empty());
- ASSERT(eof());
+ VERIFY(payload.is_empty());
+ VERIFY(eof());
return;
}
@@ -204,8 +204,8 @@ void Job::on_socket_connected()
dbgln_if(JOB_DEBUG, "Job: [{}] = '{}'", name, value);
return;
}
- ASSERT(m_state == State::InBody);
- ASSERT(can_read());
+ VERIFY(m_state == State::InBody);
+ VERIFY(can_read());
read_while_data_available([&] {
auto read_size = 64 * KiB;
diff --git a/Userland/Libraries/LibIPC/ClientConnection.h b/Userland/Libraries/LibIPC/ClientConnection.h
index bca77f3b58..50f8bf0bba 100644
--- a/Userland/Libraries/LibIPC/ClientConnection.h
+++ b/Userland/Libraries/LibIPC/ClientConnection.h
@@ -43,7 +43,7 @@ public:
: IPC::Connection<ServerEndpoint, ClientEndpoint>(endpoint, move(socket))
, m_client_id(client_id)
{
- ASSERT(this->socket().is_connected());
+ VERIFY(this->socket().is_connected());
this->socket().on_ready_to_read = [this] { this->drain_messages_from_peer(); };
}
diff --git a/Userland/Libraries/LibIPC/Connection.h b/Userland/Libraries/LibIPC/Connection.h
index c6b281aa18..66bcab9a42 100644
--- a/Userland/Libraries/LibIPC/Connection.h
+++ b/Userland/Libraries/LibIPC/Connection.h
@@ -122,7 +122,7 @@ public:
{
post_message(RequestType(forward<Args>(args)...));
auto response = wait_for_specific_endpoint_message<typename RequestType::ResponseType, PeerEndpoint>();
- ASSERT(response);
+ VERIFY(response);
return response;
}
@@ -171,8 +171,8 @@ protected:
if (rc < 0) {
perror("select");
}
- ASSERT(rc > 0);
- ASSERT(FD_ISSET(m_socket->fd(), &rfds));
+ VERIFY(rc > 0);
+ VERIFY(FD_ISSET(m_socket->fd(), &rfds));
if (!drain_messages_from_peer())
break;
}
diff --git a/Userland/Libraries/LibIPC/Decoder.cpp b/Userland/Libraries/LibIPC/Decoder.cpp
index 0eef0a005a..67ed0b91fc 100644
--- a/Userland/Libraries/LibIPC/Decoder.cpp
+++ b/Userland/Libraries/LibIPC/Decoder.cpp
@@ -152,7 +152,7 @@ bool Decoder::decode(Dictionary& dictionary)
if (m_stream.handle_any_error())
return false;
if (size >= (size_t)NumericLimits<i32>::max()) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
for (size_t i = 0; i < size; ++i) {
diff --git a/Userland/Libraries/LibIPC/Decoder.h b/Userland/Libraries/LibIPC/Decoder.h
index a8752f7890..d21781602b 100644
--- a/Userland/Libraries/LibIPC/Decoder.h
+++ b/Userland/Libraries/LibIPC/Decoder.h
@@ -39,7 +39,7 @@ template<typename T>
inline bool decode(Decoder&, T&)
{
static_assert(DependentFalse<T>, "Base IPC::decoder() instantiated");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
class Decoder {
diff --git a/Userland/Libraries/LibIPC/Encoder.h b/Userland/Libraries/LibIPC/Encoder.h
index da8416f5a5..97b02df312 100644
--- a/Userland/Libraries/LibIPC/Encoder.h
+++ b/Userland/Libraries/LibIPC/Encoder.h
@@ -35,7 +35,7 @@ template<typename T>
bool encode(Encoder&, T&)
{
static_assert(DependentFalse<T>, "Base IPC::encode() was instantiated");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
class Encoder {
diff --git a/Userland/Libraries/LibIPC/ServerConnection.h b/Userland/Libraries/LibIPC/ServerConnection.h
index 6f655d4c5b..493f0a0af9 100644
--- a/Userland/Libraries/LibIPC/ServerConnection.h
+++ b/Userland/Libraries/LibIPC/ServerConnection.h
@@ -41,10 +41,10 @@ public:
if (!this->socket().connect(Core::SocketAddress::local(address))) {
perror("connect");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
- ASSERT(this->socket().is_connected());
+ VERIFY(this->socket().is_connected());
}
virtual void handshake() = 0;
diff --git a/Userland/Libraries/LibJS/AST.cpp b/Userland/Libraries/LibJS/AST.cpp
index 7ff07f32af..6d11821451 100644
--- a/Userland/Libraries/LibJS/AST.cpp
+++ b/Userland/Libraries/LibJS/AST.cpp
@@ -145,7 +145,7 @@ CallExpression::ThisAndCallee CallExpression::compute_this_and_callee(Interprete
if (is<SuperExpression>(*m_callee)) {
// If we are calling super, |this| has not been initialized yet, and would not be meaningful to provide.
auto new_target = vm.get_new_target();
- ASSERT(new_target.is_function());
+ VERIFY(new_target.is_function());
return { js_undefined(), new_target };
}
@@ -182,7 +182,7 @@ Value CallExpression::execute(Interpreter& interpreter, GlobalObject& global_obj
if (vm.exception())
return {};
- ASSERT(!callee.is_empty());
+ VERIFY(!callee.is_empty());
if (!callee.is_function()
|| (is<NewExpression>(*this) && (is<NativeFunction>(callee.as_object()) && !static_cast<NativeFunction&>(callee.as_object()).has_constructor()))) {
@@ -301,7 +301,7 @@ Value WithStatement::execute(Interpreter& interpreter, GlobalObject& global_obje
if (interpreter.exception())
return {};
- ASSERT(object);
+ VERIFY(object);
auto* with_scope = interpreter.heap().allocate<WithScope>(global_object, *object, interpreter.vm().call_frame().scope);
TemporaryChange<ScopeObject*> scope_change(interpreter.vm().call_frame().scope, with_scope);
@@ -456,7 +456,7 @@ static FlyString variable_from_for_declaration(Interpreter& interpreter, GlobalO
FlyString variable_name;
if (is<VariableDeclaration>(node)) {
auto& variable_declaration = static_cast<const VariableDeclaration&>(node);
- ASSERT(!variable_declaration.declarations().is_empty());
+ VERIFY(!variable_declaration.declarations().is_empty());
if (variable_declaration.declaration_kind() != DeclarationKind::Var) {
wrapper = create_ast_node<BlockStatement>(node.source_range());
interpreter.enter_scope(*wrapper, ScopeType::Block, global_object);
@@ -466,7 +466,7 @@ static FlyString variable_from_for_declaration(Interpreter& interpreter, GlobalO
} else if (is<Identifier>(node)) {
variable_name = static_cast<const Identifier&>(node).string();
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return variable_name;
}
@@ -478,7 +478,7 @@ Value ForInStatement::execute(Interpreter& interpreter, GlobalObject& global_obj
if (!is<VariableDeclaration>(*m_lhs) && !is<Identifier>(*m_lhs)) {
// FIXME: Implement "for (foo.bar in baz)", "for (foo[0] in bar)"
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
RefPtr<BlockStatement> wrapper;
auto variable_name = variable_from_for_declaration(interpreter, global_object, m_lhs, wrapper);
@@ -525,7 +525,7 @@ Value ForOfStatement::execute(Interpreter& interpreter, GlobalObject& global_obj
if (!is<VariableDeclaration>(*m_lhs) && !is<Identifier>(*m_lhs)) {
// FIXME: Implement "for (foo.bar of baz)", "for (foo[0] of bar)"
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
RefPtr<BlockStatement> wrapper;
auto variable_name = variable_from_for_declaration(interpreter, global_object, m_lhs, wrapper);
@@ -621,7 +621,7 @@ Value BinaryExpression::execute(Interpreter& interpreter, GlobalObject& global_o
return instance_of(global_object, lhs_result, rhs_result);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Value LogicalExpression::execute(Interpreter& interpreter, GlobalObject& global_object) const
@@ -660,7 +660,7 @@ Value LogicalExpression::execute(Interpreter& interpreter, GlobalObject& global_
return lhs_result;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Reference Expression::to_reference(Interpreter&, GlobalObject&) const
@@ -697,7 +697,7 @@ Value UnaryExpression::execute(Interpreter& interpreter, GlobalObject& global_ob
if (reference.is_unresolvable())
return Value(true);
// FIXME: Support deleting locals
- ASSERT(!reference.is_local_variable());
+ VERIFY(!reference.is_local_variable());
if (reference.is_global_variable())
return global_object.delete_property(reference.name());
auto* base_object = reference.base().to_object(global_object);
@@ -737,7 +737,7 @@ Value UnaryExpression::execute(Interpreter& interpreter, GlobalObject& global_ob
case UnaryOp::Typeof:
switch (lhs_result.type()) {
case Value::Type::Empty:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
case Value::Type::Undefined:
return js_string(vm, "undefined");
@@ -760,15 +760,15 @@ Value UnaryExpression::execute(Interpreter& interpreter, GlobalObject& global_ob
case Value::Type::BigInt:
return js_string(vm, "bigint");
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
case UnaryOp::Void:
return js_undefined();
case UnaryOp::Delete:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Value SuperExpression::execute(Interpreter& interpreter, GlobalObject&) const
@@ -777,7 +777,7 @@ Value SuperExpression::execute(Interpreter& interpreter, GlobalObject&) const
ScopeGuard exit_node { [&] { interpreter.exit_node(*this); } };
// The semantics for SuperExpressions are handled in CallExpression::compute_this_and_callee()
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Value ClassMethod::execute(Interpreter& interpreter, GlobalObject& global_object) const
@@ -800,7 +800,7 @@ Value ClassExpression::execute(Interpreter& interpreter, GlobalObject& global_ob
update_function_name(class_constructor_value, m_name);
- ASSERT(class_constructor_value.is_function() && is<ScriptFunction>(class_constructor_value.as_function()));
+ VERIFY(class_constructor_value.is_function() && is<ScriptFunction>(class_constructor_value.as_function()));
ScriptFunction* class_constructor = static_cast<ScriptFunction*>(&class_constructor_value.as_function());
class_constructor->set_is_class_constructor();
Value super_constructor = js_undefined();
@@ -870,7 +870,7 @@ Value ClassExpression::execute(Interpreter& interpreter, GlobalObject& global_ob
case ClassMethod::Kind::Setter:
return String::formatted("set {}", get_function_name(global_object, key));
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}();
update_function_name(method_value, accessor_name);
@@ -1492,7 +1492,7 @@ Value UpdateExpression::execute(Interpreter& interpreter, GlobalObject& global_o
new_value = js_bigint(interpreter.heap(), old_value.as_bigint().big_integer().minus(Crypto::SignedBigInteger { 1 }));
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
reference.put(global_object, new_value);
@@ -1610,7 +1610,7 @@ Value VariableDeclarator::execute(Interpreter& interpreter, GlobalObject&) const
ScopeGuard exit_node { [&] { interpreter.exit_node(*this); } };
// NOTE: VariableDeclarator execution is handled by VariableDeclaration.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void VariableDeclaration::dump(int indent) const
@@ -1671,7 +1671,7 @@ Value ObjectProperty::execute(Interpreter& interpreter, GlobalObject&) const
ScopeGuard exit_node { [&] { interpreter.exit_node(*this); } };
// NOTE: ObjectProperty execution is handled by ObjectExpression.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Value ObjectExpression::execute(Interpreter& interpreter, GlobalObject& global_object) const
@@ -1733,7 +1733,7 @@ Value ObjectExpression::execute(Interpreter& interpreter, GlobalObject& global_o
update_function_name(value, name);
if (property.type() == ObjectProperty::Type::Getter || property.type() == ObjectProperty::Type::Setter) {
- ASSERT(value.is_function());
+ VERIFY(value.is_function());
object->define_accessor(PropertyName::from_value(global_object, key), value.as_function(), property.type() == ObjectProperty::Type::Getter, Attribute::Configurable | Attribute::Enumerable);
if (interpreter.exception())
return {};
@@ -1757,13 +1757,13 @@ void MemberExpression::dump(int indent) const
PropertyName MemberExpression::computed_property_name(Interpreter& interpreter, GlobalObject& global_object) const
{
if (!is_computed()) {
- ASSERT(is<Identifier>(*m_property));
+ VERIFY(is<Identifier>(*m_property));
return static_cast<const Identifier&>(*m_property).string();
}
auto value = m_property->execute(interpreter, global_object);
if (interpreter.exception())
return {};
- ASSERT(!value.is_empty());
+ VERIFY(!value.is_empty());
return PropertyName::from_value(global_object, value);
}
@@ -1774,7 +1774,7 @@ String MemberExpression::to_string_approximation() const
object_string = static_cast<const Identifier&>(*m_object).string();
if (is_computed())
return String::formatted("{}[<computed>]", object_string);
- ASSERT(is<Identifier>(*m_property));
+ VERIFY(is<Identifier>(*m_property));
return String::formatted("{}.{}", object_string, static_cast<const Identifier&>(*m_property).string());
}
@@ -1803,7 +1803,7 @@ void MetaProperty::dump(int indent) const
else if (m_type == MetaProperty::Type::ImportMeta)
name = "import.meta";
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
print_indent(indent);
outln("{} {}", class_name(), name);
}
@@ -1817,7 +1817,7 @@ Value MetaProperty::execute(Interpreter& interpreter, GlobalObject&) const
return interpreter.vm().get_new_target().value_or(js_undefined());
if (m_type == MetaProperty::Type::ImportMeta)
TODO();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Value StringLiteral::execute(Interpreter& interpreter, GlobalObject&) const
@@ -2073,7 +2073,7 @@ Value CatchClause::execute(Interpreter& interpreter, GlobalObject&) const
ScopeGuard exit_node { [&] { interpreter.exit_node(*this); } };
// NOTE: CatchClause execution is handled by TryStatement.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
@@ -2137,7 +2137,7 @@ Value SwitchCase::execute(Interpreter& interpreter, GlobalObject&) const
ScopeGuard exit_node { [&] { interpreter.exit_node(*this); } };
// NOTE: SwitchCase execution is handled by SwitchStatement.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
diff --git a/Userland/Libraries/LibJS/AST.h b/Userland/Libraries/LibJS/AST.h
index f24035a5f7..b22c99dc4c 100644
--- a/Userland/Libraries/LibJS/AST.h
+++ b/Userland/Libraries/LibJS/AST.h
@@ -971,7 +971,7 @@ public:
const Expression& key() const { return m_key; }
const Expression& value() const
{
- ASSERT(m_value);
+ VERIFY(m_value);
return *m_value;
}
diff --git a/Userland/Libraries/LibJS/Heap/Allocator.cpp b/Userland/Libraries/LibJS/Heap/Allocator.cpp
index 03190382c4..fcbeeeaaa8 100644
--- a/Userland/Libraries/LibJS/Heap/Allocator.cpp
+++ b/Userland/Libraries/LibJS/Heap/Allocator.cpp
@@ -48,7 +48,7 @@ Cell* Allocator::allocate_cell(Heap& heap)
auto& block = *m_usable_blocks.last();
auto* cell = block.allocate();
- ASSERT(cell);
+ VERIFY(cell);
if (block.is_full())
m_full_blocks.append(*m_usable_blocks.last());
return cell;
@@ -62,7 +62,7 @@ void Allocator::block_did_become_empty(Badge<Heap>, HeapBlock& block)
void Allocator::block_did_become_usable(Badge<Heap>, HeapBlock& block)
{
- ASSERT(!block.is_full());
+ VERIFY(!block.is_full());
m_usable_blocks.append(block);
}
diff --git a/Userland/Libraries/LibJS/Heap/Heap.cpp b/Userland/Libraries/LibJS/Heap/Heap.cpp
index 7f4daae2e3..dd093c2b0b 100644
--- a/Userland/Libraries/LibJS/Heap/Heap.cpp
+++ b/Userland/Libraries/LibJS/Heap/Heap.cpp
@@ -64,7 +64,7 @@ ALWAYS_INLINE Allocator& Heap::allocator_for_size(size_t cell_size)
if (allocator->cell_size() >= cell_size)
return *allocator;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Cell* Heap::allocate_cell(size_t size)
@@ -84,7 +84,7 @@ Cell* Heap::allocate_cell(size_t size)
void Heap::collect_garbage(CollectionType collection_type, bool print_report)
{
- ASSERT(!m_collecting_garbage);
+ VERIFY(!m_collecting_garbage);
TemporaryChange change(m_collecting_garbage, true);
Core::ElapsedTimer collection_measurement_timer;
@@ -288,25 +288,25 @@ void Heap::sweep_dead_cells(bool print_report, const Core::ElapsedTimer& measure
void Heap::did_create_handle(Badge<HandleImpl>, HandleImpl& impl)
{
- ASSERT(!m_handles.contains(&impl));
+ VERIFY(!m_handles.contains(&impl));
m_handles.set(&impl);
}
void Heap::did_destroy_handle(Badge<HandleImpl>, HandleImpl& impl)
{
- ASSERT(m_handles.contains(&impl));
+ VERIFY(m_handles.contains(&impl));
m_handles.remove(&impl);
}
void Heap::did_create_marked_value_list(Badge<MarkedValueList>, MarkedValueList& list)
{
- ASSERT(!m_marked_value_lists.contains(&list));
+ VERIFY(!m_marked_value_lists.contains(&list));
m_marked_value_lists.set(&list);
}
void Heap::did_destroy_marked_value_list(Badge<MarkedValueList>, MarkedValueList& list)
{
- ASSERT(m_marked_value_lists.contains(&list));
+ VERIFY(m_marked_value_lists.contains(&list));
m_marked_value_lists.remove(&list);
}
@@ -317,7 +317,7 @@ void Heap::defer_gc(Badge<DeferGC>)
void Heap::undefer_gc(Badge<DeferGC>)
{
- ASSERT(m_gc_deferrals > 0);
+ VERIFY(m_gc_deferrals > 0);
--m_gc_deferrals;
if (!m_gc_deferrals) {
diff --git a/Userland/Libraries/LibJS/Heap/HeapBlock.cpp b/Userland/Libraries/LibJS/Heap/HeapBlock.cpp
index 0341eeb243..c250211421 100644
--- a/Userland/Libraries/LibJS/Heap/HeapBlock.cpp
+++ b/Userland/Libraries/LibJS/Heap/HeapBlock.cpp
@@ -42,7 +42,7 @@ NonnullOwnPtr<HeapBlock> HeapBlock::create_with_cell_size(Heap& heap, size_t cel
#else
auto* block = (HeapBlock*)aligned_alloc(block_size, block_size);
#endif
- ASSERT(block != MAP_FAILED);
+ VERIFY(block != MAP_FAILED);
new (block) HeapBlock(heap, cell_size);
return NonnullOwnPtr<HeapBlock>(NonnullOwnPtr<HeapBlock>::Adopt, *block);
}
@@ -51,7 +51,7 @@ void HeapBlock::operator delete(void* ptr)
{
#ifdef __serenity__
int rc = munmap(ptr, block_size);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
#else
free(ptr);
#endif
@@ -61,7 +61,7 @@ HeapBlock::HeapBlock(Heap& heap, size_t cell_size)
: m_heap(heap)
, m_cell_size(cell_size)
{
- ASSERT(cell_size >= sizeof(FreelistEntry));
+ VERIFY(cell_size >= sizeof(FreelistEntry));
FreelistEntry* next = nullptr;
for (ssize_t i = cell_count() - 1; i >= 0; i--) {
@@ -75,10 +75,10 @@ HeapBlock::HeapBlock(Heap& heap, size_t cell_size)
void HeapBlock::deallocate(Cell* cell)
{
- ASSERT(is_valid_cell_pointer(cell));
- ASSERT(!m_freelist || is_valid_cell_pointer(m_freelist));
- ASSERT(cell->is_live());
- ASSERT(!cell->is_marked());
+ VERIFY(is_valid_cell_pointer(cell));
+ VERIFY(!m_freelist || is_valid_cell_pointer(m_freelist));
+ VERIFY(cell->is_live());
+ VERIFY(!cell->is_marked());
cell->~Cell();
auto* freelist_entry = new (cell) FreelistEntry();
freelist_entry->set_live(false);
diff --git a/Userland/Libraries/LibJS/Heap/HeapBlock.h b/Userland/Libraries/LibJS/Heap/HeapBlock.h
index 6cc3e5acb1..459ae5f80a 100644
--- a/Userland/Libraries/LibJS/Heap/HeapBlock.h
+++ b/Userland/Libraries/LibJS/Heap/HeapBlock.h
@@ -51,7 +51,7 @@ public:
{
if (!m_freelist)
return nullptr;
- ASSERT(is_valid_cell_pointer(m_freelist));
+ VERIFY(is_valid_cell_pointer(m_freelist));
return exchange(m_freelist, m_freelist->next);
}
diff --git a/Userland/Libraries/LibJS/Interpreter.cpp b/Userland/Libraries/LibJS/Interpreter.cpp
index 69ec6e18b8..5b14b8101c 100644
--- a/Userland/Libraries/LibJS/Interpreter.cpp
+++ b/Userland/Libraries/LibJS/Interpreter.cpp
@@ -57,7 +57,7 @@ Interpreter::~Interpreter()
Value Interpreter::run(GlobalObject& global_object, const Program& program)
{
auto& vm = this->vm();
- ASSERT(!vm.exception());
+ VERIFY(!vm.exception());
VM::InterpreterExecutionScope scope(*this);
@@ -66,10 +66,10 @@ Value Interpreter::run(GlobalObject& global_object, const Program& program)
static FlyString global_execution_context_name = "(global execution context)";
global_call_frame.function_name = global_execution_context_name;
global_call_frame.scope = &global_object;
- ASSERT(!vm.exception());
+ VERIFY(!vm.exception());
global_call_frame.is_strict_mode = program.is_strict_mode();
vm.push_call_frame(global_call_frame, global_object);
- ASSERT(!vm.exception());
+ VERIFY(!vm.exception());
auto result = program.execute(*this, global_object);
vm.pop_call_frame();
return result;
@@ -185,7 +185,7 @@ Value Interpreter::execute_statement(GlobalObject& global_object, const Statemen
LexicalEnvironment* Interpreter::current_environment()
{
- ASSERT(is<LexicalEnvironment>(vm().call_frame().scope));
+ VERIFY(is<LexicalEnvironment>(vm().call_frame().scope));
return static_cast<LexicalEnvironment*>(vm().call_frame().scope);
}
diff --git a/Userland/Libraries/LibJS/MarkupGenerator.cpp b/Userland/Libraries/LibJS/MarkupGenerator.cpp
index afdd347098..6766b1b858 100644
--- a/Userland/Libraries/LibJS/MarkupGenerator.cpp
+++ b/Userland/Libraries/LibJS/MarkupGenerator.cpp
@@ -185,7 +185,7 @@ String MarkupGenerator::style_from_style_type(StyleType type)
case StyleType::Identifier:
return "color: -libweb-palette-syntax-identifier;";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -216,7 +216,7 @@ MarkupGenerator::StyleType MarkupGenerator::style_type_for_token(Token token)
return StyleType::Identifier;
default:
dbgln("Unknown style type for token {}", token.name());
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibJS/Parser.cpp b/Userland/Libraries/LibJS/Parser.cpp
index ac8fbeb2e9..0eb7352a17 100644
--- a/Userland/Libraries/LibJS/Parser.cpp
+++ b/Userland/Libraries/LibJS/Parser.cpp
@@ -94,7 +94,7 @@ public:
int p = m_token_precedence[static_cast<size_t>(token)];
if (p == 0) {
warnln("Internal Error: No precedence for operator {}", Token::name(token));
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return -1;
}
@@ -827,7 +827,7 @@ NonnullRefPtr<ObjectExpression> Parser::parse_object_expression()
}
if (match(TokenType::ParenOpen)) {
- ASSERT(property_name);
+ VERIFY(property_name);
u8 parse_options = FunctionNodeParseOptions::AllowSuperPropertyLookup;
if (property_type == ObjectProperty::Type::Getter)
parse_options |= FunctionNodeParseOptions::IsGetterFunction;
@@ -905,7 +905,7 @@ NonnullRefPtr<StringLiteral> Parser::parse_string_literal(Token token, bool in_t
} else if (status == Token::StringValueStatus::UnicodeEscapeOverflow) {
message = "Unicode code_point must not be greater than 0x10ffff in escape sequence";
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (!message.is_empty())
@@ -1158,7 +1158,7 @@ NonnullRefPtr<Expression> Parser::parse_secondary_expression(NonnullRefPtr<Expre
NonnullRefPtr<AssignmentExpression> Parser::parse_assignment_expression(AssignmentOp assignment_op, NonnullRefPtr<Expression> lhs, int min_precedence, Associativity associativity)
{
auto rule_start = push_start();
- ASSERT(match(TokenType::Equals)
+ VERIFY(match(TokenType::Equals)
|| match(TokenType::PlusEquals)
|| match(TokenType::MinusEquals)
|| match(TokenType::AsteriskEquals)
@@ -1315,7 +1315,7 @@ template<typename FunctionNodeType>
NonnullRefPtr<FunctionNodeType> Parser::parse_function_node(u8 parse_options)
{
auto rule_start = push_start();
- ASSERT(!(parse_options & FunctionNodeParseOptions::IsGetterFunction && parse_options & FunctionNodeParseOptions::IsSetterFunction));
+ VERIFY(!(parse_options & FunctionNodeParseOptions::IsGetterFunction && parse_options & FunctionNodeParseOptions::IsSetterFunction));
TemporaryChange super_property_access_rollback(m_parser_state.m_allow_super_property_lookup, !!(parse_options & FunctionNodeParseOptions::AllowSuperPropertyLookup));
TemporaryChange super_constructor_call_rollback(m_parser_state.m_allow_super_constructor_call, !!(parse_options & FunctionNodeParseOptions::AllowSuperConstructorCall));
@@ -1427,7 +1427,7 @@ NonnullRefPtr<VariableDeclaration> Parser::parse_variable_declaration(bool for_l
declaration_kind = DeclarationKind::Const;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
consume();
@@ -2037,7 +2037,7 @@ void Parser::save_state()
void Parser::load_state()
{
- ASSERT(!m_saved_state.is_empty());
+ VERIFY(!m_saved_state.is_empty());
m_parser_state = m_saved_state.take_last();
}
diff --git a/Userland/Libraries/LibJS/Parser.h b/Userland/Libraries/LibJS/Parser.h
index 6d6c4a57a6..628c90803b 100644
--- a/Userland/Libraries/LibJS/Parser.h
+++ b/Userland/Libraries/LibJS/Parser.h
@@ -187,8 +187,8 @@ private:
~RulePosition()
{
auto last = m_parser.m_rule_starts.take_last();
- ASSERT(last.line == m_position.line);
- ASSERT(last.column == m_position.column);
+ VERIFY(last.line == m_position.line);
+ VERIFY(last.column == m_position.column);
}
const Position& position() const { return m_position; }
diff --git a/Userland/Libraries/LibJS/Runtime/ArrayIteratorPrototype.cpp b/Userland/Libraries/LibJS/Runtime/ArrayIteratorPrototype.cpp
index c3cbd179b0..62c6c8cde0 100644
--- a/Userland/Libraries/LibJS/Runtime/ArrayIteratorPrototype.cpp
+++ b/Userland/Libraries/LibJS/Runtime/ArrayIteratorPrototype.cpp
@@ -63,7 +63,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayIteratorPrototype::next)
auto target_array = iterator.array();
if (target_array.is_undefined())
return create_iterator_result_object(global_object, js_undefined(), true);
- ASSERT(target_array.is_object());
+ VERIFY(target_array.is_object());
auto& array = target_array.as_object();
auto index = iterator.index();
diff --git a/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp b/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp
index 440cc8a05e..311ea3707b 100644
--- a/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp
+++ b/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp
@@ -670,9 +670,9 @@ static void array_merge_sort(VM& vm, GlobalObject& global_object, Function* comp
// Because they are called with primitive strings, these abstract_relation calls
// should never result in a VM exception.
auto x_lt_y_relation = abstract_relation(global_object, true, x_string_value, y_string_value);
- ASSERT(x_lt_y_relation != TriState::Unknown);
+ VERIFY(x_lt_y_relation != TriState::Unknown);
auto y_lt_x_relation = abstract_relation(global_object, true, y_string_value, x_string_value);
- ASSERT(y_lt_x_relation != TriState::Unknown);
+ VERIFY(y_lt_x_relation != TriState::Unknown);
if (x_lt_y_relation == TriState::True) {
comparison_result = -1;
diff --git a/Userland/Libraries/LibJS/Runtime/BigInt.cpp b/Userland/Libraries/LibJS/Runtime/BigInt.cpp
index 59a0951ff7..37d5c51c1e 100644
--- a/Userland/Libraries/LibJS/Runtime/BigInt.cpp
+++ b/Userland/Libraries/LibJS/Runtime/BigInt.cpp
@@ -33,7 +33,7 @@ namespace JS {
BigInt::BigInt(Crypto::SignedBigInteger big_integer)
: m_big_integer(move(big_integer))
{
- ASSERT(!m_big_integer.is_invalid());
+ VERIFY(!m_big_integer.is_invalid());
}
BigInt::~BigInt()
diff --git a/Userland/Libraries/LibJS/Runtime/DateConstructor.cpp b/Userland/Libraries/LibJS/Runtime/DateConstructor.cpp
index 5bd828a4d9..d38101c8a8 100644
--- a/Userland/Libraries/LibJS/Runtime/DateConstructor.cpp
+++ b/Userland/Libraries/LibJS/Runtime/DateConstructor.cpp
@@ -108,7 +108,7 @@ static Value parse_simplified_iso8601(const String& iso_8601)
}
// We parsed a valid date simplified ISO 8601 string. Values not present in the string are -1.
- ASSERT(year != -1); // A valid date string always has at least a year.
+ VERIFY(year != -1); // A valid date string always has at least a year.
struct tm tm = {};
tm.tm_year = year - 1900;
tm.tm_mon = month == -1 ? 0 : month - 1;
diff --git a/Userland/Libraries/LibJS/Runtime/Exception.cpp b/Userland/Libraries/LibJS/Runtime/Exception.cpp
index 08c6f6bde9..b7769581a3 100644
--- a/Userland/Libraries/LibJS/Runtime/Exception.cpp
+++ b/Userland/Libraries/LibJS/Runtime/Exception.cpp
@@ -45,7 +45,7 @@ Exception::Exception(Value value)
auto& node_stack = vm().node_stack();
for (ssize_t i = node_stack.size() - 1; i >= 0; --i) {
auto* node = node_stack[i];
- ASSERT(node);
+ VERIFY(node);
m_source_ranges.append(node->source_range());
}
}
diff --git a/Userland/Libraries/LibJS/Runtime/IndexedProperties.cpp b/Userland/Libraries/LibJS/Runtime/IndexedProperties.cpp
index 577d7b9175..6ed90ff166 100644
--- a/Userland/Libraries/LibJS/Runtime/IndexedProperties.cpp
+++ b/Userland/Libraries/LibJS/Runtime/IndexedProperties.cpp
@@ -50,8 +50,8 @@ Optional<ValueAndAttributes> SimpleIndexedPropertyStorage::get(u32 index) const
void SimpleIndexedPropertyStorage::put(u32 index, Value value, PropertyAttributes attributes)
{
- ASSERT(attributes == default_attributes);
- ASSERT(index < SPARSE_ARRAY_THRESHOLD);
+ VERIFY(attributes == default_attributes);
+ VERIFY(index < SPARSE_ARRAY_THRESHOLD);
if (index >= m_array_size) {
m_array_size = index + 1;
@@ -69,10 +69,10 @@ void SimpleIndexedPropertyStorage::remove(u32 index)
void SimpleIndexedPropertyStorage::insert(u32 index, Value value, PropertyAttributes attributes)
{
- ASSERT(attributes == default_attributes);
- ASSERT(index < SPARSE_ARRAY_THRESHOLD);
+ VERIFY(attributes == default_attributes);
+ VERIFY(index < SPARSE_ARRAY_THRESHOLD);
m_array_size++;
- ASSERT(m_array_size <= SPARSE_ARRAY_THRESHOLD);
+ VERIFY(m_array_size <= SPARSE_ARRAY_THRESHOLD);
m_packed_elements.insert(index, value);
}
@@ -92,7 +92,7 @@ ValueAndAttributes SimpleIndexedPropertyStorage::take_last()
void SimpleIndexedPropertyStorage::set_array_like_size(size_t new_size)
{
- ASSERT(new_size <= SPARSE_ARRAY_THRESHOLD);
+ VERIFY(new_size <= SPARSE_ARRAY_THRESHOLD);
m_array_size = new_size;
m_packed_elements.resize(new_size);
}
@@ -177,7 +177,7 @@ void GenericIndexedPropertyStorage::insert(u32 index, Value value, PropertyAttri
ValueAndAttributes GenericIndexedPropertyStorage::take_first()
{
- ASSERT(m_array_size > 0);
+ VERIFY(m_array_size > 0);
m_array_size--;
if (!m_sparse_elements.is_empty()) {
@@ -192,7 +192,7 @@ ValueAndAttributes GenericIndexedPropertyStorage::take_first()
ValueAndAttributes GenericIndexedPropertyStorage::take_last()
{
- ASSERT(m_array_size > 0);
+ VERIFY(m_array_size > 0);
m_array_size--;
if (m_array_size <= SPARSE_ARRAY_THRESHOLD) {
@@ -202,7 +202,7 @@ ValueAndAttributes GenericIndexedPropertyStorage::take_last()
} else {
auto result = m_sparse_elements.get(m_array_size);
m_sparse_elements.remove(m_array_size);
- ASSERT(result.has_value());
+ VERIFY(result.has_value());
return result.value();
}
}
@@ -282,7 +282,7 @@ Optional<ValueAndAttributes> IndexedProperties::get(Object* this_object, u32 ind
return {};
auto& value = result.value();
if (value.value.is_accessor()) {
- ASSERT(this_object);
+ VERIFY(this_object);
auto& accessor = value.value.as_accessor();
return ValueAndAttributes { accessor.call_getter(this_object), value.attributes };
}
@@ -300,7 +300,7 @@ void IndexedProperties::put(Object* this_object, u32 index, Value value, Propert
auto value_here = m_storage->get(index);
if (value_here.has_value() && value_here.value().value.is_accessor()) {
- ASSERT(this_object);
+ VERIFY(this_object);
value_here.value().value.as_accessor().call_setter(this_object, value);
} else {
m_storage->put(index, value, attributes);
diff --git a/Userland/Libraries/LibJS/Runtime/IteratorOperations.cpp b/Userland/Libraries/LibJS/Runtime/IteratorOperations.cpp
index ee6a8ed057..6dd9259203 100644
--- a/Userland/Libraries/LibJS/Runtime/IteratorOperations.cpp
+++ b/Userland/Libraries/LibJS/Runtime/IteratorOperations.cpp
@@ -33,7 +33,7 @@ namespace JS {
Object* get_iterator(GlobalObject& global_object, Value value, String hint, Value method)
{
auto& vm = global_object.vm();
- ASSERT(hint == "sync" || hint == "async");
+ VERIFY(hint == "sync" || hint == "async");
if (method.is_empty()) {
if (hint == "async")
TODO();
@@ -128,7 +128,7 @@ void get_iterator_values(GlobalObject& global_object, Value value, AK::Function<
auto result = callback(next_value);
if (result == IterationDecision::Break)
return;
- ASSERT(result == IterationDecision::Continue);
+ VERIFY(result == IterationDecision::Continue);
}
}
diff --git a/Userland/Libraries/LibJS/Runtime/JSONObject.cpp b/Userland/Libraries/LibJS/Runtime/JSONObject.cpp
index b4959dc733..c1bcfe0c0e 100644
--- a/Userland/Libraries/LibJS/Runtime/JSONObject.cpp
+++ b/Userland/Libraries/LibJS/Runtime/JSONObject.cpp
@@ -433,7 +433,7 @@ Value JSONObject::parse_json_value(GlobalObject& global_object, const JsonValue&
return js_string(global_object.heap(), value.to_string());
if (value.is_bool())
return Value(static_cast<bool>(value.as_bool()));
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Object* JSONObject::parse_json_object(GlobalObject& global_object, const JsonObject& json_object)
diff --git a/Userland/Libraries/LibJS/Runtime/LexicalEnvironment.cpp b/Userland/Libraries/LibJS/Runtime/LexicalEnvironment.cpp
index 94d1c97e2d..72549ea8bb 100644
--- a/Userland/Libraries/LibJS/Runtime/LexicalEnvironment.cpp
+++ b/Userland/Libraries/LibJS/Runtime/LexicalEnvironment.cpp
@@ -89,7 +89,7 @@ bool LexicalEnvironment::has_super_binding() const
Value LexicalEnvironment::get_super_base()
{
- ASSERT(has_super_binding());
+ VERIFY(has_super_binding());
if (m_home_object.is_object())
return m_home_object.as_object().prototype();
return {};
@@ -107,12 +107,12 @@ bool LexicalEnvironment::has_this_binding() const
case EnvironmentRecordType::Module:
return true;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Value LexicalEnvironment::get_this_binding(GlobalObject& global_object) const
{
- ASSERT(has_this_binding());
+ VERIFY(has_this_binding());
if (this_binding_status() == ThisBindingStatus::Uninitialized) {
vm().throw_exception<ReferenceError>(global_object, ErrorType::ThisHasNotBeenInitialized);
return {};
@@ -122,7 +122,7 @@ Value LexicalEnvironment::get_this_binding(GlobalObject& global_object) const
void LexicalEnvironment::bind_this_value(GlobalObject& global_object, Value this_value)
{
- ASSERT(has_this_binding());
+ VERIFY(has_this_binding());
if (m_this_binding_status == ThisBindingStatus::Initialized) {
vm().throw_exception<ReferenceError>(global_object, ErrorType::ThisIsAlreadyInitialized);
return;
diff --git a/Userland/Libraries/LibJS/Runtime/Object.cpp b/Userland/Libraries/LibJS/Runtime/Object.cpp
index 8aec832a2f..a6d76f6903 100644
--- a/Userland/Libraries/LibJS/Runtime/Object.cpp
+++ b/Userland/Libraries/LibJS/Runtime/Object.cpp
@@ -160,8 +160,8 @@ bool Object::prevent_extensions()
Value Object::get_own_property(const PropertyName& property_name, Value receiver) const
{
- ASSERT(property_name.is_valid());
- ASSERT(!receiver.is_empty());
+ VERIFY(property_name.is_valid());
+ VERIFY(!receiver.is_empty());
Value value_here;
@@ -177,7 +177,7 @@ Value Object::get_own_property(const PropertyName& property_name, Value receiver
value_here = m_storage[metadata.value().offset].value_or(js_undefined());
}
- ASSERT(!value_here.is_empty());
+ VERIFY(!value_here.is_empty());
if (value_here.is_accessor())
return value_here.as_accessor().call_getter(receiver);
if (value_here.is_native_property())
@@ -263,7 +263,7 @@ Value Object::get_own_properties(const Object& this_object, PropertyKind kind, b
Optional<PropertyDescriptor> Object::get_own_property_descriptor(const PropertyName& property_name) const
{
- ASSERT(property_name.is_valid());
+ VERIFY(property_name.is_valid());
Value value;
PropertyAttributes attributes;
@@ -304,7 +304,7 @@ Optional<PropertyDescriptor> Object::get_own_property_descriptor(const PropertyN
Value Object::get_own_property_descriptor_object(const PropertyName& property_name) const
{
- ASSERT(property_name.is_valid());
+ VERIFY(property_name.is_valid());
auto& vm = this->vm();
auto descriptor_opt = get_own_property_descriptor(property_name);
@@ -433,7 +433,7 @@ bool Object::define_property_without_transition(const PropertyName& property_nam
bool Object::define_property(const PropertyName& property_name, Value value, PropertyAttributes attributes, bool throw_exceptions)
{
- ASSERT(property_name.is_valid());
+ VERIFY(property_name.is_valid());
if (property_name.is_number())
return put_own_property_by_index(*this, property_name.as_number(), value, attributes, PutOwnPropertyMode::DefineProperty, throw_exceptions);
@@ -448,7 +448,7 @@ bool Object::define_property(const PropertyName& property_name, Value value, Pro
bool Object::define_accessor(const PropertyName& property_name, Function& getter_or_setter, bool is_getter, PropertyAttributes attributes, bool throw_exceptions)
{
- ASSERT(property_name.is_valid());
+ VERIFY(property_name.is_valid());
Accessor* accessor { nullptr };
auto property_metadata = shape().lookup(property_name.to_string_or_symbol());
@@ -475,7 +475,7 @@ bool Object::define_accessor(const PropertyName& property_name, Function& getter
bool Object::put_own_property(Object& this_object, const StringOrSymbol& property_name, Value value, PropertyAttributes attributes, PutOwnPropertyMode mode, bool throw_exceptions)
{
- ASSERT(!(mode == PutOwnPropertyMode::Put && value.is_accessor()));
+ VERIFY(!(mode == PutOwnPropertyMode::Put && value.is_accessor()));
if (value.is_accessor()) {
auto& accessor = value.as_accessor();
@@ -523,7 +523,7 @@ bool Object::put_own_property(Object& this_object, const StringOrSymbol& propert
m_storage.resize(m_shape->property_count());
}
metadata = shape().lookup(property_name);
- ASSERT(metadata.has_value());
+ VERIFY(metadata.has_value());
}
if (!new_property && mode == PutOwnPropertyMode::DefineProperty && !metadata.value().attributes.is_configurable() && attributes != metadata.value().attributes) {
@@ -569,7 +569,7 @@ bool Object::put_own_property(Object& this_object, const StringOrSymbol& propert
bool Object::put_own_property_by_index(Object& this_object, u32 property_index, Value value, PropertyAttributes attributes, PutOwnPropertyMode mode, bool throw_exceptions)
{
- ASSERT(!(mode == PutOwnPropertyMode::Put && value.is_accessor()));
+ VERIFY(!(mode == PutOwnPropertyMode::Put && value.is_accessor()));
auto existing_property = m_indexed_properties.get(nullptr, property_index, false);
auto new_property = !existing_property.has_value();
@@ -623,7 +623,7 @@ bool Object::put_own_property_by_index(Object& this_object, u32 property_index,
Value Object::delete_property(const PropertyName& property_name)
{
- ASSERT(property_name.is_valid());
+ VERIFY(property_name.is_valid());
if (property_name.is_number())
return Value(m_indexed_properties.remove(property_name.as_number()));
@@ -684,7 +684,7 @@ Value Object::get_by_index(u32 property_index) const
Value Object::get(const PropertyName& property_name, Value receiver) const
{
- ASSERT(property_name.is_valid());
+ VERIFY(property_name.is_valid());
if (property_name.is_number())
return get_by_index(property_name.as_number());
@@ -714,7 +714,7 @@ Value Object::get(const PropertyName& property_name, Value receiver) const
bool Object::put_by_index(u32 property_index, Value value)
{
- ASSERT(!value.is_empty());
+ VERIFY(!value.is_empty());
// If there's a setter in the prototype chain, we go to the setter.
// Otherwise, it goes in the own property storage.
@@ -743,12 +743,12 @@ bool Object::put_by_index(u32 property_index, Value value)
bool Object::put(const PropertyName& property_name, Value value, Value receiver)
{
- ASSERT(property_name.is_valid());
+ VERIFY(property_name.is_valid());
if (property_name.is_number())
return put_by_index(property_name.as_number(), value);
- ASSERT(!value.is_empty());
+ VERIFY(!value.is_empty());
if (property_name.is_string()) {
auto& property_string = property_name.as_string();
@@ -837,7 +837,7 @@ bool Object::has_property(const PropertyName& property_name) const
bool Object::has_own_property(const PropertyName& property_name) const
{
- ASSERT(property_name.is_valid());
+ VERIFY(property_name.is_valid());
auto has_indexed_property = [&](u32 index) -> bool {
if (is<StringObject>(*this))
@@ -859,7 +859,7 @@ bool Object::has_own_property(const PropertyName& property_name) const
Value Object::ordinary_to_primitive(Value::PreferredType preferred_type) const
{
- ASSERT(preferred_type == Value::PreferredType::String || preferred_type == Value::PreferredType::Number);
+ VERIFY(preferred_type == Value::PreferredType::String || preferred_type == Value::PreferredType::Number);
auto& vm = this->vm();
diff --git a/Userland/Libraries/LibJS/Runtime/PropertyName.h b/Userland/Libraries/LibJS/Runtime/PropertyName.h
index bbd6a0c640..cad939cd81 100644
--- a/Userland/Libraries/LibJS/Runtime/PropertyName.h
+++ b/Userland/Libraries/LibJS/Runtime/PropertyName.h
@@ -60,7 +60,7 @@ public:
: m_type(Type::Number)
, m_number(index)
{
- ASSERT(index >= 0);
+ VERIFY(index >= 0);
}
PropertyName(const char* chars)
@@ -73,21 +73,21 @@ public:
: m_type(Type::String)
, m_string(FlyString(string))
{
- ASSERT(!string.is_null());
+ VERIFY(!string.is_null());
}
PropertyName(const FlyString& string)
: m_type(Type::String)
, m_string(string)
{
- ASSERT(!string.is_null());
+ VERIFY(!string.is_null());
}
PropertyName(Symbol* symbol)
: m_type(Type::Symbol)
, m_symbol(symbol)
{
- ASSERT(symbol);
+ VERIFY(symbol);
}
PropertyName(const StringOrSymbol& string_or_symbol)
@@ -108,26 +108,26 @@ public:
i32 as_number() const
{
- ASSERT(is_number());
+ VERIFY(is_number());
return m_number;
}
const FlyString& as_string() const
{
- ASSERT(is_string());
+ VERIFY(is_string());
return m_string;
}
const Symbol* as_symbol() const
{
- ASSERT(is_symbol());
+ VERIFY(is_symbol());
return m_symbol;
}
String to_string() const
{
- ASSERT(is_valid());
- ASSERT(!is_symbol());
+ VERIFY(is_valid());
+ VERIFY(!is_symbol());
if (is_string())
return as_string();
return String::number(as_number());
@@ -135,8 +135,8 @@ public:
StringOrSymbol to_string_or_symbol() const
{
- ASSERT(is_valid());
- ASSERT(!is_number());
+ VERIFY(is_valid());
+ VERIFY(!is_number());
if (is_string())
return StringOrSymbol(as_string());
return StringOrSymbol(as_symbol());
diff --git a/Userland/Libraries/LibJS/Runtime/ProxyObject.cpp b/Userland/Libraries/LibJS/Runtime/ProxyObject.cpp
index 6386022b1e..4bf111978b 100644
--- a/Userland/Libraries/LibJS/Runtime/ProxyObject.cpp
+++ b/Userland/Libraries/LibJS/Runtime/ProxyObject.cpp
@@ -546,13 +546,13 @@ Value ProxyObject::construct(Function& new_target)
const FlyString& ProxyObject::name() const
{
- ASSERT(is_function());
+ VERIFY(is_function());
return static_cast<Function&>(m_target).name();
}
LexicalEnvironment* ProxyObject::create_environment()
{
- ASSERT(is_function());
+ VERIFY(is_function());
return static_cast<Function&>(m_target).create_environment();
}
diff --git a/Userland/Libraries/LibJS/Runtime/Shape.cpp b/Userland/Libraries/LibJS/Runtime/Shape.cpp
index 1f74b14471..056837ef64 100644
--- a/Userland/Libraries/LibJS/Runtime/Shape.cpp
+++ b/Userland/Libraries/LibJS/Runtime/Shape.cpp
@@ -32,7 +32,7 @@ namespace JS {
Shape* Shape::create_unique_clone() const
{
- ASSERT(m_global_object);
+ VERIFY(m_global_object);
auto* new_shape = heap().allocate_without_global_object<Shape>(*m_global_object);
new_shape->m_unique = true;
new_shape->m_prototype = m_prototype;
@@ -179,7 +179,7 @@ void Shape::ensure_property_table() const
m_property_table->set(shape->m_property_name, { next_offset++, shape->m_attributes });
} else if (shape->m_transition_type == TransitionType::Configure) {
auto it = m_property_table->find(shape->m_property_name);
- ASSERT(it != m_property_table->end());
+ VERIFY(it != m_property_table->end());
it->value.attributes = shape->m_attributes;
}
}
@@ -187,31 +187,31 @@ void Shape::ensure_property_table() const
void Shape::add_property_to_unique_shape(const StringOrSymbol& property_name, PropertyAttributes attributes)
{
- ASSERT(is_unique());
- ASSERT(m_property_table);
- ASSERT(!m_property_table->contains(property_name));
+ VERIFY(is_unique());
+ VERIFY(m_property_table);
+ VERIFY(!m_property_table->contains(property_name));
m_property_table->set(property_name, { m_property_table->size(), attributes });
++m_property_count;
}
void Shape::reconfigure_property_in_unique_shape(const StringOrSymbol& property_name, PropertyAttributes attributes)
{
- ASSERT(is_unique());
- ASSERT(m_property_table);
+ VERIFY(is_unique());
+ VERIFY(m_property_table);
auto it = m_property_table->find(property_name);
- ASSERT(it != m_property_table->end());
+ VERIFY(it != m_property_table->end());
it->value.attributes = attributes;
m_property_table->set(property_name, it->value);
}
void Shape::remove_property_from_unique_shape(const StringOrSymbol& property_name, size_t offset)
{
- ASSERT(is_unique());
- ASSERT(m_property_table);
+ VERIFY(is_unique());
+ VERIFY(m_property_table);
if (m_property_table->remove(property_name))
--m_property_count;
for (auto& it : *m_property_table) {
- ASSERT(it.value.offset != offset);
+ VERIFY(it.value.offset != offset);
if (it.value.offset > offset)
--it.value.offset;
}
diff --git a/Userland/Libraries/LibJS/Runtime/StringOrSymbol.h b/Userland/Libraries/LibJS/Runtime/StringOrSymbol.h
index 38311b61b2..3ac5d3baea 100644
--- a/Userland/Libraries/LibJS/Runtime/StringOrSymbol.h
+++ b/Userland/Libraries/LibJS/Runtime/StringOrSymbol.h
@@ -57,14 +57,14 @@ public:
StringOrSymbol(const String& string)
: m_ptr(string.impl())
{
- ASSERT(!string.is_null());
+ VERIFY(!string.is_null());
as_string_impl().ref();
}
StringOrSymbol(const FlyString& string)
: m_ptr(string.impl())
{
- ASSERT(!string.is_null());
+ VERIFY(!string.is_null());
as_string_impl().ref();
}
@@ -98,13 +98,13 @@ public:
ALWAYS_INLINE String as_string() const
{
- ASSERT(is_string());
+ VERIFY(is_string());
return as_string_impl();
}
ALWAYS_INLINE const Symbol* as_symbol() const
{
- ASSERT(is_symbol());
+ VERIFY(is_symbol());
return reinterpret_cast<const Symbol*>(bits() & ~1ul);
}
@@ -114,7 +114,7 @@ public:
return as_string();
if (is_symbol())
return as_symbol()->to_string();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Value to_value(VM& vm) const
@@ -178,7 +178,7 @@ private:
ALWAYS_INLINE const StringImpl& as_string_impl() const
{
- ASSERT(is_string());
+ VERIFY(is_string());
return *reinterpret_cast<const StringImpl*>(m_ptr);
}
diff --git a/Userland/Libraries/LibJS/Runtime/TypedArray.h b/Userland/Libraries/LibJS/Runtime/TypedArray.h
index a0f6709a76..0b580be39d 100644
--- a/Userland/Libraries/LibJS/Runtime/TypedArray.h
+++ b/Userland/Libraries/LibJS/Runtime/TypedArray.h
@@ -131,10 +131,10 @@ protected:
TypedArray(u32 array_length, Object& prototype)
: TypedArrayBase(prototype)
{
- ASSERT(!Checked<u32>::multiplication_would_overflow(array_length, sizeof(T)));
+ VERIFY(!Checked<u32>::multiplication_would_overflow(array_length, sizeof(T)));
m_viewed_array_buffer = ArrayBuffer::create(global_object(), array_length * sizeof(T));
if (array_length)
- ASSERT(!data().is_null());
+ VERIFY(!data().is_null());
m_array_length = array_length;
m_byte_length = m_viewed_array_buffer->byte_length();
}
diff --git a/Userland/Libraries/LibJS/Runtime/Uint8ClampedArray.cpp b/Userland/Libraries/LibJS/Runtime/Uint8ClampedArray.cpp
index ee7c8c14ff..6f923d67ce 100644
--- a/Userland/Libraries/LibJS/Runtime/Uint8ClampedArray.cpp
+++ b/Userland/Libraries/LibJS/Runtime/Uint8ClampedArray.cpp
@@ -47,7 +47,7 @@ Uint8ClampedArray::Uint8ClampedArray(u32 length, Object& prototype)
Uint8ClampedArray::~Uint8ClampedArray()
{
- ASSERT(m_data);
+ VERIFY(m_data);
free(m_data);
m_data = nullptr;
}
diff --git a/Userland/Libraries/LibJS/Runtime/VM.cpp b/Userland/Libraries/LibJS/Runtime/VM.cpp
index 73842974c7..ea88e9fc01 100644
--- a/Userland/Libraries/LibJS/Runtime/VM.cpp
+++ b/Userland/Libraries/LibJS/Runtime/VM.cpp
@@ -64,7 +64,7 @@ VM::~VM()
Interpreter& VM::interpreter()
{
- ASSERT(!m_interpreters.is_empty());
+ VERIFY(!m_interpreters.is_empty());
return *m_interpreters.last();
}
@@ -82,9 +82,9 @@ void VM::push_interpreter(Interpreter& interpreter)
void VM::pop_interpreter(Interpreter& interpreter)
{
- ASSERT(!m_interpreters.is_empty());
+ VERIFY(!m_interpreters.is_empty());
auto* popped_interpreter = m_interpreters.take_last();
- ASSERT(popped_interpreter == &interpreter);
+ VERIFY(popped_interpreter == &interpreter);
}
VM::InterpreterExecutionScope::InterpreterExecutionScope(Interpreter& interpreter)
@@ -256,7 +256,7 @@ Value VM::construct(Function& function, Function& new_target, Optional<MarkedVal
// If we are constructing an instance of a derived class,
// set the prototype on objects created by constructors that return an object (i.e. NativeFunction subclasses).
if (function.constructor_kind() == Function::ConstructorKind::Base && new_target.constructor_kind() == Function::ConstructorKind::Derived && result.is_object()) {
- ASSERT(is<LexicalEnvironment>(current_scope()));
+ VERIFY(is<LexicalEnvironment>(current_scope()));
static_cast<LexicalEnvironment*>(current_scope())->replace_this_binding(result);
auto prototype = new_target.get(names.prototype);
if (exception())
@@ -319,18 +319,18 @@ const ScopeObject* VM::find_this_scope() const
if (scope->has_this_binding())
return scope;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Value VM::get_new_target() const
{
- ASSERT(is<LexicalEnvironment>(find_this_scope()));
+ VERIFY(is<LexicalEnvironment>(find_this_scope()));
return static_cast<const LexicalEnvironment*>(find_this_scope())->new_target();
}
Value VM::call_internal(Function& function, Value this_value, Optional<MarkedValueList> arguments)
{
- ASSERT(!exception());
+ VERIFY(!exception());
CallFrame call_frame;
call_frame.is_strict_mode = function.is_strict_mode();
@@ -342,7 +342,7 @@ Value VM::call_internal(Function& function, Value this_value, Optional<MarkedVal
auto* environment = function.create_environment();
call_frame.scope = environment;
- ASSERT(environment->this_binding_status() == LexicalEnvironment::ThisBindingStatus::Uninitialized);
+ VERIFY(environment->this_binding_status() == LexicalEnvironment::ThisBindingStatus::Uninitialized);
environment->bind_this_value(function.global_object(), call_frame.this_value);
if (exception())
return {};
diff --git a/Userland/Libraries/LibJS/Runtime/VM.h b/Userland/Libraries/LibJS/Runtime/VM.h
index 320ea53405..571703ec93 100644
--- a/Userland/Libraries/LibJS/Runtime/VM.h
+++ b/Userland/Libraries/LibJS/Runtime/VM.h
@@ -109,13 +109,13 @@ public:
PrimitiveString& empty_string() { return *m_empty_string; }
PrimitiveString& single_ascii_character_string(u8 character)
{
- ASSERT(character < 0x80);
+ VERIFY(character < 0x80);
return *m_single_ascii_character_strings[character];
}
void push_call_frame(CallFrame& call_frame, GlobalObject& global_object)
{
- ASSERT(!exception());
+ VERIFY(!exception());
// Ensure we got some stack space left, so the next function call doesn't kill us.
// This value is merely a guess and might need tweaking at a later point.
if (m_stack_info.size_free() < 16 * KiB)
diff --git a/Userland/Libraries/LibJS/Runtime/Value.cpp b/Userland/Libraries/LibJS/Runtime/Value.cpp
index 148d1834fc..8362c832df 100644
--- a/Userland/Libraries/LibJS/Runtime/Value.cpp
+++ b/Userland/Libraries/LibJS/Runtime/Value.cpp
@@ -213,7 +213,7 @@ bool Value::is_array() const
Array& Value::as_array()
{
- ASSERT(is_array());
+ VERIFY(is_array());
return static_cast<Array&>(*m_value.as_object);
}
@@ -224,7 +224,7 @@ bool Value::is_function() const
Function& Value::as_function()
{
- ASSERT(is_function());
+ VERIFY(is_function());
return static_cast<Function&>(as_object());
}
@@ -268,7 +268,7 @@ String Value::to_string_without_side_effects() const
case Type::NativeProperty:
return "<native-property>";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -307,7 +307,7 @@ String Value::to_string(GlobalObject& global_object, bool legacy_null_to_empty_s
return primitive_value.to_string(global_object);
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -332,7 +332,7 @@ bool Value::to_boolean() const
case Type::Object:
return true;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -368,7 +368,7 @@ Object* Value::to_object(GlobalObject& global_object) const
return &const_cast<Object&>(as_object());
default:
dbgln("Dying because I can't to_object() on {}", *this);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -420,7 +420,7 @@ Value Value::to_number(GlobalObject& global_object) const
return primitive.to_number(global_object);
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -458,7 +458,7 @@ BigInt* Value::to_bigint(GlobalObject& global_object) const
vm.throw_exception<TypeError>(global_object, ErrorType::Convert, "symbol", "BigInt");
return {};
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -470,13 +470,13 @@ i32 Value::as_i32() const
u32 Value::as_u32() const
{
- ASSERT(as_double() >= 0);
+ VERIFY(as_double() >= 0);
return min((double)as_i32(), MAX_U32);
}
size_t Value::as_size_t() const
{
- ASSERT(as_double() >= 0);
+ VERIFY(as_double() >= 0);
return min((double)as_i32(), MAX_ARRAY_LIKE_INDEX);
}
@@ -552,7 +552,7 @@ size_t Value::to_index(GlobalObject& global_object) const
return INVALID;
}
auto index = Value(integer_index).to_length(global_object);
- ASSERT(!vm.exception());
+ VERIFY(!vm.exception());
if (integer_index != index) {
vm.throw_exception<RangeError>(global_object, ErrorType::InvalidIndex);
return INVALID;
@@ -1028,8 +1028,8 @@ bool same_value_zero(Value lhs, Value rhs)
bool same_value_non_numeric(Value lhs, Value rhs)
{
- ASSERT(!lhs.is_number() && !lhs.is_bigint());
- ASSERT(lhs.type() == rhs.type());
+ VERIFY(!lhs.is_number() && !lhs.is_bigint());
+ VERIFY(lhs.type() == rhs.type());
switch (lhs.type()) {
case Value::Type::Undefined:
@@ -1044,7 +1044,7 @@ bool same_value_non_numeric(Value lhs, Value rhs)
case Value::Type::Object:
return &lhs.as_object() == &rhs.as_object();
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -1160,7 +1160,7 @@ TriState abstract_relation(GlobalObject& global_object, bool left_first, Value l
}
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (x_primitive.is_bigint() && y_primitive.is_string()) {
@@ -1213,7 +1213,7 @@ TriState abstract_relation(GlobalObject& global_object, bool left_first, Value l
return TriState::False;
}
- ASSERT((x_numeric.is_number() && y_numeric.is_bigint()) || (x_numeric.is_bigint() && y_numeric.is_number()));
+ VERIFY((x_numeric.is_number() && y_numeric.is_bigint()) || (x_numeric.is_bigint() && y_numeric.is_number()));
bool x_lower_than_y;
if (x_numeric.is_number()) {
diff --git a/Userland/Libraries/LibJS/Runtime/Value.h b/Userland/Libraries/LibJS/Runtime/Value.h
index a24db80057..781d996c5d 100644
--- a/Userland/Libraries/LibJS/Runtime/Value.h
+++ b/Userland/Libraries/LibJS/Runtime/Value.h
@@ -169,73 +169,73 @@ public:
double as_double() const
{
- ASSERT(type() == Type::Number);
+ VERIFY(type() == Type::Number);
return m_value.as_double;
}
bool as_bool() const
{
- ASSERT(type() == Type::Boolean);
+ VERIFY(type() == Type::Boolean);
return m_value.as_bool;
}
Object& as_object()
{
- ASSERT(type() == Type::Object);
+ VERIFY(type() == Type::Object);
return *m_value.as_object;
}
const Object& as_object() const
{
- ASSERT(type() == Type::Object);
+ VERIFY(type() == Type::Object);
return *m_value.as_object;
}
PrimitiveString& as_string()
{
- ASSERT(is_string());
+ VERIFY(is_string());
return *m_value.as_string;
}
const PrimitiveString& as_string() const
{
- ASSERT(is_string());
+ VERIFY(is_string());
return *m_value.as_string;
}
Symbol& as_symbol()
{
- ASSERT(is_symbol());
+ VERIFY(is_symbol());
return *m_value.as_symbol;
}
const Symbol& as_symbol() const
{
- ASSERT(is_symbol());
+ VERIFY(is_symbol());
return *m_value.as_symbol;
}
Cell* as_cell()
{
- ASSERT(is_cell());
+ VERIFY(is_cell());
return m_value.as_cell;
}
Accessor& as_accessor()
{
- ASSERT(is_accessor());
+ VERIFY(is_accessor());
return *m_value.as_accessor;
}
BigInt& as_bigint()
{
- ASSERT(is_bigint());
+ VERIFY(is_bigint());
return *m_value.as_bigint;
}
NativeProperty& as_native_property()
{
- ASSERT(is_native_property());
+ VERIFY(is_native_property());
return *m_value.as_native_property;
}
diff --git a/Userland/Libraries/LibJS/Token.cpp b/Userland/Libraries/LibJS/Token.cpp
index 638d4b7931..1a502b3476 100644
--- a/Userland/Libraries/LibJS/Token.cpp
+++ b/Userland/Libraries/LibJS/Token.cpp
@@ -42,7 +42,7 @@ const char* Token::name(TokenType type)
ENUMERATE_JS_TOKENS
#undef __ENUMERATE_JS_TOKEN
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return "<Unknown>";
}
}
@@ -61,7 +61,7 @@ TokenCategory Token::category(TokenType type)
ENUMERATE_JS_TOKENS
#undef __ENUMERATE_JS_TOKEN
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -72,7 +72,7 @@ TokenCategory Token::category() const
double Token::double_value() const
{
- ASSERT(type() == TokenType::NumericLiteral);
+ VERIFY(type() == TokenType::NumericLiteral);
String value_string(m_value);
if (value_string[0] == '0' && value_string.length() >= 2) {
if (value_string[1] == 'x' || value_string[1] == 'X') {
@@ -95,7 +95,7 @@ double Token::double_value() const
static u32 hex2int(char x)
{
- ASSERT(isxdigit(x));
+ VERIFY(isxdigit(x));
if (x >= '0' && x <= '9')
return x - '0';
return 10u + (tolower(x) - 'a');
@@ -103,7 +103,7 @@ static u32 hex2int(char x)
String Token::string_value(StringValueStatus& status) const
{
- ASSERT(type() == TokenType::StringLiteral || type() == TokenType::TemplateLiteralString);
+ VERIFY(type() == TokenType::StringLiteral || type() == TokenType::TemplateLiteralString);
auto is_template = type() == TokenType::TemplateLiteralString;
GenericLexer lexer(is_template ? m_value : m_value.substring_view(1, m_value.length() - 2));
@@ -122,7 +122,7 @@ String Token::string_value(StringValueStatus& status) const
}
lexer.ignore();
- ASSERT(!lexer.is_eof());
+ VERIFY(!lexer.is_eof());
// Line continuation
if (lexer.next_is('\n') || lexer.next_is('\r')) {
@@ -146,7 +146,7 @@ String Token::string_value(StringValueStatus& status) const
if (!isxdigit(lexer.peek()) || !isxdigit(lexer.peek(1)))
return encoding_failure(StringValueStatus::MalformedHexEscape);
auto code_point = hex2int(lexer.consume()) * 16 + hex2int(lexer.consume());
- ASSERT(code_point <= 255);
+ VERIFY(code_point <= 255);
builder.append_code_point(code_point);
continue;
}
@@ -202,7 +202,7 @@ String Token::string_value(StringValueStatus& status) const
if (!octal_str.is_null()) {
status = StringValueStatus::LegacyOctalEscapeSequence;
auto code_point = strtoul(octal_str.characters(), nullptr, 8);
- ASSERT(code_point <= 255);
+ VERIFY(code_point <= 255);
builder.append_code_point(code_point);
continue;
}
@@ -215,7 +215,7 @@ String Token::string_value(StringValueStatus& status) const
bool Token::bool_value() const
{
- ASSERT(type() == TokenType::BoolLiteral);
+ VERIFY(type() == TokenType::BoolLiteral);
return m_value == "true";
}
diff --git a/Userland/Libraries/LibLine/Editor.cpp b/Userland/Libraries/LibLine/Editor.cpp
index acab00433d..4bb27d0ea2 100644
--- a/Userland/Libraries/LibLine/Editor.cpp
+++ b/Userland/Libraries/LibLine/Editor.cpp
@@ -1352,7 +1352,7 @@ void Editor::reposition_cursor(bool to_end)
auto line = cursor_line() - 1;
auto column = offset_in_line();
- ASSERT(column + m_origin_column <= m_num_columns);
+ VERIFY(column + m_origin_column <= m_num_columns);
VT::move_absolute(line + m_origin_row, column + m_origin_column);
if (line + m_origin_row > m_num_lines) {
diff --git a/Userland/Libraries/LibLine/Editor.h b/Userland/Libraries/LibLine/Editor.h
index 6523d403be..083d3ceb91 100644
--- a/Userland/Libraries/LibLine/Editor.h
+++ b/Userland/Libraries/LibLine/Editor.h
@@ -331,7 +331,7 @@ private:
void restore()
{
- ASSERT(m_initialized);
+ VERIFY(m_initialized);
tcsetattr(0, TCSANOW, &m_default_termios);
m_initialized = false;
for (auto id : m_signal_handlers)
diff --git a/Userland/Libraries/LibLine/InternalFunctions.cpp b/Userland/Libraries/LibLine/InternalFunctions.cpp
index e4e3be3be8..fa8d95da5c 100644
--- a/Userland/Libraries/LibLine/InternalFunctions.cpp
+++ b/Userland/Libraries/LibLine/InternalFunctions.cpp
@@ -227,7 +227,7 @@ void Editor::enter_search()
{
if (m_is_searching) {
// How did we get here?
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
m_is_searching = true;
m_search_offset = 0;
@@ -494,7 +494,7 @@ void Editor::case_change_word(Editor::CaseChangeOp change_op)
if (change_op == CaseChangeOp::Uppercase || (change_op == CaseChangeOp::Capital && m_cursor == start)) {
m_buffer[m_cursor] = toupper(m_buffer[m_cursor]);
} else {
- ASSERT(change_op == CaseChangeOp::Lowercase || (change_op == CaseChangeOp::Capital && m_cursor > start));
+ VERIFY(change_op == CaseChangeOp::Lowercase || (change_op == CaseChangeOp::Capital && m_cursor > start));
m_buffer[m_cursor] = tolower(m_buffer[m_cursor]);
}
++m_cursor;
diff --git a/Userland/Libraries/LibLine/KeyCallbackMachine.cpp b/Userland/Libraries/LibLine/KeyCallbackMachine.cpp
index 742976abad..d7036ebad5 100644
--- a/Userland/Libraries/LibLine/KeyCallbackMachine.cpp
+++ b/Userland/Libraries/LibLine/KeyCallbackMachine.cpp
@@ -44,7 +44,7 @@ void KeyCallbackMachine::key_pressed(Editor& editor, Key key)
dbgln("Key<{}, {}> pressed, seq_length={}, {} things in the matching vector", key.key, key.modifiers, m_sequence_length, m_current_matching_keys.size());
#endif
if (m_sequence_length == 0) {
- ASSERT(m_current_matching_keys.is_empty());
+ VERIFY(m_current_matching_keys.is_empty());
for (auto& it : m_key_callbacks) {
if (it.key.first() == key)
diff --git a/Userland/Libraries/LibLine/SuggestionManager.cpp b/Userland/Libraries/LibLine/SuggestionManager.cpp
index f7c0667e49..8978ac8a6b 100644
--- a/Userland/Libraries/LibLine/SuggestionManager.cpp
+++ b/Userland/Libraries/LibLine/SuggestionManager.cpp
@@ -53,7 +53,7 @@ void SuggestionManager::set_suggestions(Vector<CompletionSuggestion>&& suggestio
// make sure we were not given invalid suggestions
for (auto& suggestion : m_suggestions)
- ASSERT(suggestion.is_valid);
+ VERIFY(suggestion.is_valid);
size_t common_suggestion_prefix { 0 };
if (m_suggestions.size() == 1) {
diff --git a/Userland/Libraries/LibLine/XtermSuggestionDisplay.cpp b/Userland/Libraries/LibLine/XtermSuggestionDisplay.cpp
index 7e341854ee..03b5243416 100644
--- a/Userland/Libraries/LibLine/XtermSuggestionDisplay.cpp
+++ b/Userland/Libraries/LibLine/XtermSuggestionDisplay.cpp
@@ -183,7 +183,7 @@ bool XtermSuggestionDisplay::cleanup()
size_t XtermSuggestionDisplay::fit_to_page_boundary(size_t selection_index)
{
- ASSERT(m_pages.size() > 0);
+ VERIFY(m_pages.size() > 0);
size_t index = 0;
auto* match = binary_search(
diff --git a/Userland/Libraries/LibM/math.cpp b/Userland/Libraries/LibM/math.cpp
index 9df74829b1..a17666af81 100644
--- a/Userland/Libraries/LibM/math.cpp
+++ b/Userland/Libraries/LibM/math.cpp
@@ -552,19 +552,19 @@ long double log2l(long double x) NOEXCEPT
double frexp(double, int*) NOEXCEPT
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return 0;
}
float frexpf(float, int*) NOEXCEPT
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return 0;
}
long double frexpl(long double, int*) NOEXCEPT
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return 0;
}
diff --git a/Userland/Libraries/LibMarkdown/Heading.h b/Userland/Libraries/LibMarkdown/Heading.h
index 5628f68679..5bb6e7c4b5 100644
--- a/Userland/Libraries/LibMarkdown/Heading.h
+++ b/Userland/Libraries/LibMarkdown/Heading.h
@@ -40,7 +40,7 @@ public:
: m_text(move(text))
, m_level(level)
{
- ASSERT(m_level > 0);
+ VERIFY(m_level > 0);
}
virtual ~Heading() override { }
diff --git a/Userland/Libraries/LibMarkdown/List.cpp b/Userland/Libraries/LibMarkdown/List.cpp
index d9484cb098..d80503efb1 100644
--- a/Userland/Libraries/LibMarkdown/List.cpp
+++ b/Userland/Libraries/LibMarkdown/List.cpp
@@ -116,7 +116,7 @@ OwnPtr<List> List::parse(Vector<StringView>::ConstIterator& lines)
break;
}
- ASSERT(!(appears_unordered && appears_ordered));
+ VERIFY(!(appears_unordered && appears_ordered));
if (appears_unordered || appears_ordered) {
if (first)
@@ -142,7 +142,7 @@ OwnPtr<List> List::parse(Vector<StringView>::ConstIterator& lines)
first = false;
if (!item_builder.is_empty())
item_builder.append(' ');
- ASSERT(offset <= line.length());
+ VERIFY(offset <= line.length());
item_builder.append(line.substring_view(offset, line.length() - offset));
++lines;
offset = 0;
diff --git a/Userland/Libraries/LibMarkdown/Table.cpp b/Userland/Libraries/LibMarkdown/Table.cpp
index 065a0a48d9..b70c1f572c 100644
--- a/Userland/Libraries/LibMarkdown/Table.cpp
+++ b/Userland/Libraries/LibMarkdown/Table.cpp
@@ -67,7 +67,7 @@ String Table::render_for_terminal(size_t view_width) const
for (size_t i = 0; i < m_row_count; ++i) {
bool first = true;
for (auto& col : m_columns) {
- ASSERT(i < col.rows.size());
+ VERIFY(i < col.rows.size());
auto& cell = col.rows[i];
if (!first)
@@ -101,7 +101,7 @@ String Table::render_to_html() const
for (size_t i = 0; i < m_row_count; ++i) {
builder.append("<tr>");
for (auto& column : m_columns) {
- ASSERT(i < column.rows.size());
+ VERIFY(i < column.rows.size());
builder.append("<td>");
builder.append(column.rows[i].render_to_html());
builder.append("</td>");
diff --git a/Userland/Libraries/LibMarkdown/Text.cpp b/Userland/Libraries/LibMarkdown/Text.cpp
index 1fd83daed9..31631e9678 100644
--- a/Userland/Libraries/LibMarkdown/Text.cpp
+++ b/Userland/Libraries/LibMarkdown/Text.cpp
@@ -196,7 +196,7 @@ Optional<Text> Text::parse(const StringView& str)
Vector<Span> spans;
auto append_span_if_needed = [&](size_t offset) {
- ASSERT(current_span_start <= offset);
+ VERIFY(current_span_start <= offset);
if (current_span_start != offset) {
Span span {
unescape(str.substring_view(current_span_start, offset - current_span_start)),
@@ -280,7 +280,7 @@ Optional<Text> Text::parse(const StringView& str)
break;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
// We've processed the character as a special, so the next offset will
diff --git a/Userland/Libraries/LibPCIDB/Database.cpp b/Userland/Libraries/LibPCIDB/Database.cpp
index bb73c308ea..b8a106d9ea 100644
--- a/Userland/Libraries/LibPCIDB/Database.cpp
+++ b/Userland/Libraries/LibPCIDB/Database.cpp
@@ -113,14 +113,14 @@ static u8 parse_hex_digit(char digit)
{
if (digit >= '0' && digit <= '9')
return digit - '0';
- ASSERT(digit >= 'a' && digit <= 'f');
+ VERIFY(digit >= 'a' && digit <= 'f');
return 10 + (digit - 'a');
}
template<typename T>
static T parse_hex(StringView str, size_t count)
{
- ASSERT(str.length() >= count);
+ VERIFY(str.length() >= count);
T res = 0;
for (size_t i = 0; i < count; i++)
diff --git a/Userland/Libraries/LibProtocol/Download.cpp b/Userland/Libraries/LibProtocol/Download.cpp
index 130a237174..6f5b35015e 100644
--- a/Userland/Libraries/LibProtocol/Download.cpp
+++ b/Userland/Libraries/LibProtocol/Download.cpp
@@ -42,7 +42,7 @@ bool Download::stop()
void Download::stream_into(OutputStream& stream)
{
- ASSERT(!m_internal_stream_data);
+ VERIFY(!m_internal_stream_data);
auto notifier = Core::Notifier::construct(fd(), Core::Notifier::Read);
@@ -85,9 +85,9 @@ void Download::set_should_buffer_all_input(bool value)
return;
}
- ASSERT(!m_internal_stream_data);
- ASSERT(!m_internal_buffered_data);
- ASSERT(on_buffered_download_finish); // Not having this set makes no sense.
+ VERIFY(!m_internal_stream_data);
+ VERIFY(!m_internal_buffered_data);
+ VERIFY(on_buffered_download_finish); // Not having this set makes no sense.
m_internal_buffered_data = make<InternalBufferedData>(fd());
m_should_buffer_all_input = true;
diff --git a/Userland/Libraries/LibPthread/pthread.cpp b/Userland/Libraries/LibPthread/pthread.cpp
index 4b28cde0e4..fa0f9e2ff0 100644
--- a/Userland/Libraries/LibPthread/pthread.cpp
+++ b/Userland/Libraries/LibPthread/pthread.cpp
@@ -92,7 +92,7 @@ static int create_thread(pthread_t* thread, void* (*entry)(void*), void* argumen
push_on_stack(argument);
push_on_stack((void*)entry);
- ASSERT((uintptr_t)stack % 16 == 0);
+ VERIFY((uintptr_t)stack % 16 == 0);
// Push a fake return address
push_on_stack(nullptr);
@@ -107,7 +107,7 @@ static int create_thread(pthread_t* thread, void* (*entry)(void*), void* argumen
{
KeyDestroyer::destroy_for_current_thread();
syscall(SC_exit_thread, code);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int pthread_self()
@@ -485,7 +485,7 @@ static int cond_wait(pthread_cond_t* cond, pthread_mutex_t* mutex, const struct
int pthread_cond_wait(pthread_cond_t* cond, pthread_mutex_t* mutex)
{
int rc = cond_wait(cond, mutex, nullptr);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
return 0;
}
@@ -516,7 +516,7 @@ int pthread_cond_signal(pthread_cond_t* cond)
u32 value = cond->previous + 1;
cond->value = value;
int rc = futex(&cond->value, FUTEX_WAKE, 1, nullptr, nullptr, 0);
- ASSERT(rc >= 0);
+ VERIFY(rc >= 0);
return 0;
}
@@ -525,7 +525,7 @@ int pthread_cond_broadcast(pthread_cond_t* cond)
u32 value = cond->previous + 1;
cond->value = value;
int rc = futex(&cond->value, FUTEX_WAKE, INT32_MAX, nullptr, nullptr, 0);
- ASSERT(rc >= 0);
+ VERIFY(rc >= 0);
return 0;
}
@@ -874,15 +874,15 @@ int pthread_rwlockattr_destroy(pthread_rwlockattr_t*)
}
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t* __restrict, int* __restrict)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int pthread_rwlockattr_init(pthread_rwlockattr_t*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t*, int)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void))
diff --git a/Userland/Libraries/LibPthread/pthread_once.cpp b/Userland/Libraries/LibPthread/pthread_once.cpp
index 88acb88f67..6fdf1b5b8e 100644
--- a/Userland/Libraries/LibPthread/pthread_once.cpp
+++ b/Userland/Libraries/LibPthread/pthread_once.cpp
@@ -59,7 +59,7 @@ int pthread_once(pthread_once_t* self, void (*callback)(void))
switch (state2) {
case State::INITIAL:
case State::DONE:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case State::PERFORMING_NO_WAITERS:
// The fast path: there's no contention, so we don't have to wake
// anyone.
@@ -77,7 +77,7 @@ int pthread_once(pthread_once_t* self, void (*callback)(void))
while (true) {
switch (state2) {
case State::INITIAL:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
case State::DONE:
// Awesome, nothing to do then.
return 0;
diff --git a/Userland/Libraries/LibRegex/RegexByteCode.cpp b/Userland/Libraries/LibRegex/RegexByteCode.cpp
index b996c4b7ca..0987192af7 100644
--- a/Userland/Libraries/LibRegex/RegexByteCode.cpp
+++ b/Userland/Libraries/LibRegex/RegexByteCode.cpp
@@ -42,7 +42,7 @@ const char* OpCode::name(OpCodeId opcode_id)
ENUMERATE_OPCODES
#undef __ENUMERATE_OPCODE
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return "<Unknown>";
}
}
@@ -61,7 +61,7 @@ const char* execution_result_name(ExecutionResult result)
ENUMERATE_EXECUTION_RESULTS
#undef __ENUMERATE_EXECUTION_RESULT
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return "<Unknown>";
}
}
@@ -75,7 +75,7 @@ const char* boundary_check_type_name(BoundaryCheckType ty)
ENUMERATE_BOUNDARY_CHECK_TYPES
#undef __ENUMERATE_BOUNDARY_CHECK_TYPE
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return "<Unknown>";
}
}
@@ -89,7 +89,7 @@ const char* character_compare_type_name(CharacterCompareType ch_compare_type)
ENUMERATE_CHARACTER_COMPARE_TYPES
#undef __ENUMERATE_CHARACTER_COMPARE_TYPE
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return "<Unknown>";
}
}
@@ -103,7 +103,7 @@ static const char* character_class_name(CharClass ch_class)
ENUMERATE_CHARACTER_CLASSES
#undef __ENUMERATE_CHARACTER_CLASS
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return "<Unknown>";
}
}
@@ -222,7 +222,7 @@ ALWAYS_INLINE ExecutionResult OpCode_GoBack::execute(const MatchInput&, MatchSta
ALWAYS_INLINE ExecutionResult OpCode_FailForks::execute(const MatchInput& input, MatchState&, MatchOutput&) const
{
- ASSERT(count() > 0);
+ VERIFY(count() > 0);
input.fail_counter += count() - 1;
return ExecutionResult::Failed_ExecuteLowPrioForks;
@@ -291,7 +291,7 @@ ALWAYS_INLINE ExecutionResult OpCode_CheckBoundary::execute(const MatchInput& in
return ExecutionResult::Failed_ExecuteLowPrioForks;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
ALWAYS_INLINE ExecutionResult OpCode_CheckEnd::execute(const MatchInput& input, MatchState& state, MatchOutput&) const
@@ -335,7 +335,7 @@ ALWAYS_INLINE ExecutionResult OpCode_SaveRightCaptureGroup::execute(const MatchI
if (start_position < match.column)
return ExecutionResult::Continue;
- ASSERT(start_position + length <= input.view.length());
+ VERIFY(start_position + length <= input.view.length());
auto view = input.view.substring_view(start_position, length);
@@ -371,11 +371,11 @@ ALWAYS_INLINE ExecutionResult OpCode_SaveRightNamedCaptureGroup::execute(const M
auto& map = output.named_capture_group_matches.at(input.match_index);
if constexpr (REGEX_DEBUG) {
- ASSERT(start_position + length <= input.view.length());
+ VERIFY(start_position + length <= input.view.length());
dbgln("Save named capture group with name={} and content='{}'", capture_group_name, input.view.substring_view(start_position, length));
}
- ASSERT(start_position + length <= input.view.length());
+ VERIFY(start_position + length <= input.view.length());
auto view = input.view.substring_view(start_position, length);
if (input.regex_options & AllFlags::StringCopyMatches) {
map.set(capture_group_name, { view.to_string(), input.line, start_position, input.global_offset + start_position }); // create a copy of the original string
@@ -420,7 +420,7 @@ ALWAYS_INLINE ExecutionResult OpCode_Compare::execute(const MatchInput& input, M
else if (compare_type == CharacterCompareType::TemporaryInverse) {
// If "TemporaryInverse" is given, negate the current inversion state only for the next opcode.
// it follows that this cannot be the last compare element.
- ASSERT(i != arguments_count() - 1);
+ VERIFY(i != arguments_count() - 1);
temporary_inverse = true;
reset_temp_inverse = false;
@@ -439,11 +439,11 @@ ALWAYS_INLINE ExecutionResult OpCode_Compare::execute(const MatchInput& input, M
if (input.view.length() - state.string_position < 1)
return ExecutionResult::Failed_ExecuteLowPrioForks;
- ASSERT(!current_inversion_state());
+ VERIFY(!current_inversion_state());
++state.string_position;
} else if (compare_type == CharacterCompareType::String) {
- ASSERT(!current_inversion_state());
+ VERIFY(!current_inversion_state());
const auto& length = m_bytecode->at(offset++);
StringBuilder str_builder;
@@ -511,7 +511,7 @@ ALWAYS_INLINE ExecutionResult OpCode_Compare::execute(const MatchInput& input, M
} else {
fprintf(stderr, "Undefined comparison: %i\n", (int)compare_type);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
diff --git a/Userland/Libraries/LibRegex/RegexByteCode.h b/Userland/Libraries/LibRegex/RegexByteCode.h
index f9a69c6d73..1909e36a91 100644
--- a/Userland/Libraries/LibRegex/RegexByteCode.h
+++ b/Userland/Libraries/LibRegex/RegexByteCode.h
@@ -161,10 +161,10 @@ public:
ByteCode arguments;
for (auto& value : pairs) {
- ASSERT(value.type != CharacterCompareType::RangeExpressionDummy);
- ASSERT(value.type != CharacterCompareType::Undefined);
- ASSERT(value.type != CharacterCompareType::String);
- ASSERT(value.type != CharacterCompareType::NamedReference);
+ VERIFY(value.type != CharacterCompareType::RangeExpressionDummy);
+ VERIFY(value.type != CharacterCompareType::Undefined);
+ VERIFY(value.type != CharacterCompareType::String);
+ VERIFY(value.type != CharacterCompareType::NamedReference);
arguments.append((ByteCodeValueType)value.type);
if (value.type != CharacterCompareType::Inverse && value.type != CharacterCompareType::AnyChar && value.type != CharacterCompareType::TemporaryInverse)
@@ -327,7 +327,7 @@ public:
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void insert_bytecode_alternation(ByteCode&& left, ByteCode&& right)
@@ -503,7 +503,7 @@ public:
ALWAYS_INLINE ByteCodeValueType argument(size_t offset) const
{
- ASSERT(state().instruction_position + offset <= m_bytecode->size());
+ VERIFY(state().instruction_position + offset <= m_bytecode->size());
return m_bytecode->at(state().instruction_position + 1 + offset);
}
@@ -526,7 +526,7 @@ public:
ALWAYS_INLINE const MatchState& state() const
{
- ASSERT(m_state.has_value());
+ VERIFY(m_state.has_value());
return *m_state.value();
}
@@ -809,28 +809,28 @@ ALWAYS_INLINE bool is<OpCode_Compare>(const OpCode& opcode)
template<typename T>
ALWAYS_INLINE const T& to(const OpCode& opcode)
{
- ASSERT(is<T>(opcode));
+ VERIFY(is<T>(opcode));
return static_cast<const T&>(opcode);
}
template<typename T>
ALWAYS_INLINE T* to(OpCode* opcode)
{
- ASSERT(is<T>(opcode));
+ VERIFY(is<T>(opcode));
return static_cast<T*>(opcode);
}
template<typename T>
ALWAYS_INLINE const T* to(const OpCode* opcode)
{
- ASSERT(is<T>(opcode));
+ VERIFY(is<T>(opcode));
return static_cast<const T*>(opcode);
}
template<typename T>
ALWAYS_INLINE T& to(OpCode& opcode)
{
- ASSERT(is<T>(opcode));
+ VERIFY(is<T>(opcode));
return static_cast<T&>(opcode);
}
diff --git a/Userland/Libraries/LibRegex/RegexLexer.cpp b/Userland/Libraries/LibRegex/RegexLexer.cpp
index e61708a4c4..c7bd1194c5 100644
--- a/Userland/Libraries/LibRegex/RegexLexer.cpp
+++ b/Userland/Libraries/LibRegex/RegexLexer.cpp
@@ -41,7 +41,7 @@ const char* Token::name(const TokenType type)
ENUMERATE_REGEX_TOKENS
#undef __ENUMERATE_REGEX_TOKEN
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return "<Unknown>";
}
}
@@ -68,7 +68,7 @@ void Lexer::back(size_t offset)
if (offset == m_position + 1)
offset = m_position; // 'position == 0' occurs twice.
- ASSERT(offset <= m_position);
+ VERIFY(offset <= m_position);
if (!offset)
return;
m_position -= offset;
@@ -122,7 +122,7 @@ Token Lexer::next()
};
auto commit_token = [&](auto type) -> Token& {
- ASSERT(token_start_position + m_previous_position - token_start_position + 1 <= m_source.length());
+ VERIFY(token_start_position + m_previous_position - token_start_position + 1 <= m_source.length());
auto substring = m_source.substring_view(token_start_position, m_previous_position - token_start_position + 1);
m_current_token = Token(type, token_start_position, substring);
return m_current_token;
diff --git a/Userland/Libraries/LibRegex/RegexMatch.h b/Userland/Libraries/LibRegex/RegexMatch.h
index d688dcab0f..73b332ac3e 100644
--- a/Userland/Libraries/LibRegex/RegexMatch.h
+++ b/Userland/Libraries/LibRegex/RegexMatch.h
@@ -64,13 +64,13 @@ public:
const StringView& u8view() const
{
- ASSERT(m_u8view.has_value());
+ VERIFY(m_u8view.has_value());
return m_u8view.value();
};
const Utf32View& u32view() const
{
- ASSERT(m_u32view.has_value());
+ VERIFY(m_u32view.has_value());
return m_u32view.value();
};
diff --git a/Userland/Libraries/LibRegex/RegexMatcher.cpp b/Userland/Libraries/LibRegex/RegexMatcher.cpp
index 7d6f6d8e92..970db6bf1c 100644
--- a/Userland/Libraries/LibRegex/RegexMatcher.cpp
+++ b/Userland/Libraries/LibRegex/RegexMatcher.cpp
@@ -104,7 +104,7 @@ RegexResult Matcher<Parser>::match(const Vector<RegexStringView> views, Optional
output.operations = 0;
if (input.regex_options.has_flag_set(AllFlags::Internal_Stateful))
- ASSERT(views.size() == 1);
+ VERIFY(views.size() == 1);
if (c_match_preallocation_count) {
output.matches.ensure_capacity(c_match_preallocation_count);
@@ -130,7 +130,7 @@ RegexResult Matcher<Parser>::match(const Vector<RegexStringView> views, Optional
if (output.matches.size() == input.match_index)
output.matches.empend();
- ASSERT(start_position + state.string_position - start_position <= input.view.length());
+ VERIFY(start_position + state.string_position - start_position <= input.view.length());
if (input.regex_options.has_flag_set(AllFlags::StringCopyMatches)) {
output.matches.at(input.match_index) = { input.view.substring_view(start_position, state.string_position - start_position).to_string(), input.line, start_position, input.global_offset + start_position };
} else { // let the view point to the original string ...
@@ -360,7 +360,7 @@ Optional<bool> Matcher<Parser>::execute(const MatchInput& input, MatchState& sta
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
template<class Parser>
diff --git a/Userland/Libraries/LibRegex/RegexParser.cpp b/Userland/Libraries/LibRegex/RegexParser.cpp
index 6ed5e2e217..eacc306975 100644
--- a/Userland/Libraries/LibRegex/RegexParser.cpp
+++ b/Userland/Libraries/LibRegex/RegexParser.cpp
@@ -313,7 +313,7 @@ ALWAYS_INLINE bool PosixExtendedParser::parse_bracket_expression(ByteCode& stack
// FIXME: Parse collating element, this is needed when we have locale support
// This could have impact on length parameter, I guess.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
consume(TokenType::Period, Error::InvalidCollationElement);
consume(TokenType::RightBracket, Error::MismatchingBracket);
@@ -322,7 +322,7 @@ ALWAYS_INLINE bool PosixExtendedParser::parse_bracket_expression(ByteCode& stack
consume();
// FIXME: Parse collating element, this is needed when we have locale support
// This could have impact on length parameter, I guess.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
consume(TokenType::EqualSign, Error::InvalidCollationElement);
consume(TokenType::RightBracket, Error::MismatchingBracket);
@@ -529,16 +529,16 @@ ALWAYS_INLINE bool PosixExtendedParser::parse_sub_expression(ByteCode& stack, si
} else if (match(TokenType::EqualSign)) { // positive lookahead
consume();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else if (consume("!")) { // negative lookahead
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else if (consume("<")) {
if (match(TokenType::EqualSign)) { // positive lookbehind
consume();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (consume("!")) // negative lookbehind
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
return set_error(Error::InvalidRepetitionMarker);
}
@@ -926,7 +926,7 @@ bool ECMA262Parser::parse_quantifier(ByteCode& stack, size_t& match_length_minim
match_length_minimum *= repeat_min.value();
break;
case Repetition::None:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return true;
@@ -1370,8 +1370,8 @@ bool ECMA262Parser::parse_nonempty_class_ranges(Vector<CompareTypeAndValuePair>&
return false;
}
- ASSERT(!first_atom.value().is_negated);
- ASSERT(!second_atom.value().is_negated);
+ VERIFY(!first_atom.value().is_negated);
+ VERIFY(!second_atom.value().is_negated);
ranges.empend(CompareTypeAndValuePair { CharacterCompareType::CharRange, CharRange { first_atom.value().code_point, second_atom.value().code_point } });
continue;
@@ -1386,7 +1386,7 @@ bool ECMA262Parser::parse_nonempty_class_ranges(Vector<CompareTypeAndValuePair>&
ranges.empend(CompareTypeAndValuePair { CharacterCompareType::TemporaryInverse, 0 });
ranges.empend(CompareTypeAndValuePair { CharacterCompareType::CharClass, (ByteCodeValueType)first_atom.value().character_class });
} else {
- ASSERT(!atom.is_negated);
+ VERIFY(!atom.is_negated);
ranges.empend(CompareTypeAndValuePair { CharacterCompareType::Char, first_atom.value().code_point });
}
}
diff --git a/Userland/Libraries/LibRegex/Tests/Benchmark.cpp b/Userland/Libraries/LibRegex/Tests/Benchmark.cpp
index 0a25ee1847..a17794a7e3 100644
--- a/Userland/Libraries/LibRegex/Tests/Benchmark.cpp
+++ b/Userland/Libraries/LibRegex/Tests/Benchmark.cpp
@@ -24,7 +24,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <AK/TestSuite.h> // import first, to prevent warning of ASSERT* redefinition
+#include <AK/TestSuite.h> // import first, to prevent warning of VERIFY* redefinition
#include <LibRegex/Regex.h>
#include <stdio.h>
diff --git a/Userland/Libraries/LibRegex/Tests/Regex.cpp b/Userland/Libraries/LibRegex/Tests/Regex.cpp
index ffd585e8d3..93bab8d705 100644
--- a/Userland/Libraries/LibRegex/Tests/Regex.cpp
+++ b/Userland/Libraries/LibRegex/Tests/Regex.cpp
@@ -24,7 +24,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <AK/TestSuite.h> // import first, to prevent warning of ASSERT* redefinition
+#include <AK/TestSuite.h> // import first, to prevent warning of VERIFY* redefinition
#include <AK/StringBuilder.h>
#include <LibRegex/Regex.h>
diff --git a/Userland/Libraries/LibSyntax/Highlighter.cpp b/Userland/Libraries/LibSyntax/Highlighter.cpp
index c1463e6537..0fe7706a0f 100644
--- a/Userland/Libraries/LibSyntax/Highlighter.cpp
+++ b/Userland/Libraries/LibSyntax/Highlighter.cpp
@@ -127,7 +127,7 @@ void Highlighter::highlight_matching_token_pair()
void Highlighter::attach(HighlighterClient& client)
{
- ASSERT(!m_client);
+ VERIFY(!m_client);
m_client = &client;
}
diff --git a/Userland/Libraries/LibTLS/ClientHandshake.cpp b/Userland/Libraries/LibTLS/ClientHandshake.cpp
index 39f2193a8e..6051291880 100644
--- a/Userland/Libraries/LibTLS/ClientHandshake.cpp
+++ b/Userland/Libraries/LibTLS/ClientHandshake.cpp
@@ -348,7 +348,7 @@ ssize_t TLSv12::handle_payload(ReadonlyBytes vbuffer)
case ClientHello:
// FIXME: We only support client mode right now
if (m_context.is_server) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
payload_res = (i8)Error::UnexpectedMessage;
break;
@@ -364,7 +364,7 @@ ssize_t TLSv12::handle_payload(ReadonlyBytes vbuffer)
#endif
if (m_context.is_server) {
dbgln("unsupported: server mode");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
payload_res = handle_hello(buffer.slice(1, payload_size), write_packets);
}
@@ -386,7 +386,7 @@ ssize_t TLSv12::handle_payload(ReadonlyBytes vbuffer)
if (m_context.connection_status == ConnectionStatus::Negotiating) {
if (m_context.is_server) {
dbgln("unsupported: server mode");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
payload_res = handle_certificate(buffer.slice(1, payload_size));
if (m_context.certificates.size()) {
@@ -420,7 +420,7 @@ ssize_t TLSv12::handle_payload(ReadonlyBytes vbuffer)
#endif
if (m_context.is_server) {
dbgln("unsupported: server mode");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
payload_res = handle_server_key_exchange(buffer.slice(1, payload_size));
}
@@ -435,7 +435,7 @@ ssize_t TLSv12::handle_payload(ReadonlyBytes vbuffer)
if (m_context.is_server) {
dbgln("invalid request");
dbgln("unsupported: server mode");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
// we do not support "certificate request"
dbgln("certificate request");
@@ -456,7 +456,7 @@ ssize_t TLSv12::handle_payload(ReadonlyBytes vbuffer)
#endif
if (m_context.is_server) {
dbgln("unsupported: server mode");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
payload_res = handle_server_hello_done(buffer.slice(1, payload_size));
if (payload_res > 0)
@@ -491,7 +491,7 @@ ssize_t TLSv12::handle_payload(ReadonlyBytes vbuffer)
#endif
if (m_context.is_server) {
dbgln("unsupported: server mode");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
payload_res = (i8)Error::UnexpectedMessage;
}
@@ -581,7 +581,7 @@ ssize_t TLSv12::handle_payload(ReadonlyBytes vbuffer)
break;
default:
dbgln("Unknown TLS::Error with value {}", payload_res);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
if (payload_res < 0)
@@ -628,7 +628,7 @@ ssize_t TLSv12::handle_payload(ReadonlyBytes vbuffer)
case WritePacketStage::ServerHandshake:
// server handshake
dbgln("UNSUPPORTED: Server mode");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
case WritePacketStage::Finished:
// finished
diff --git a/Userland/Libraries/LibTLS/Exchange.cpp b/Userland/Libraries/LibTLS/Exchange.cpp
index 9f3ea55eb9..26f71e2697 100644
--- a/Userland/Libraries/LibTLS/Exchange.cpp
+++ b/Userland/Libraries/LibTLS/Exchange.cpp
@@ -189,7 +189,7 @@ ByteBuffer TLSv12::build_certificate()
if (m_context.is_server) {
dbgln("Unsupported: Server mode");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
local_certificates = &m_context.client_certificates;
}
diff --git a/Userland/Libraries/LibTLS/Handshake.cpp b/Userland/Libraries/LibTLS/Handshake.cpp
index 1fa0f01fca..88395b4e27 100644
--- a/Userland/Libraries/LibTLS/Handshake.cpp
+++ b/Userland/Libraries/LibTLS/Handshake.cpp
@@ -110,7 +110,7 @@ ByteBuffer TLSv12::build_hello()
if (alpn_length) {
// TODO
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
// set the "length" field of the packet
diff --git a/Userland/Libraries/LibTLS/Record.cpp b/Userland/Libraries/LibTLS/Record.cpp
index 4bdf6f0e9b..f9822dc377 100644
--- a/Userland/Libraries/LibTLS/Record.cpp
+++ b/Userland/Libraries/LibTLS/Record.cpp
@@ -117,7 +117,7 @@ void TLSv12::update_packet(ByteBuffer& packet)
aad_stream.write({ &seq_no, sizeof(seq_no) });
aad_stream.write(packet.bytes().slice(0, 3)); // content-type + version
aad_stream.write({ &len, sizeof(len) }); // length
- ASSERT(aad_stream.is_end());
+ VERIFY(aad_stream.is_end());
// AEAD IV (12)
// IV (4)
@@ -141,7 +141,7 @@ void TLSv12::update_packet(ByteBuffer& packet)
aad_bytes,
ct.bytes().slice(header_size + 8 + length, 16));
- ASSERT(header_size + 8 + length + 16 == ct.size());
+ VERIFY(header_size + 8 + length + 16 == ct.size());
} else {
// We need enough space for a header, iv_length bytes of IV and whatever the packet contains
@@ -161,7 +161,7 @@ void TLSv12::update_packet(ByteBuffer& packet)
memset(buffer.offset_pointer(buffer_position), padding - 1, padding);
buffer_position += padding;
- ASSERT(buffer_position == buffer.size());
+ VERIFY(buffer_position == buffer.size());
auto iv = ByteBuffer::create_uninitialized(iv_size);
AK::fill_with_random(iv.data(), iv.size());
@@ -169,8 +169,8 @@ void TLSv12::update_packet(ByteBuffer& packet)
// write it into the ciphertext portion of the message
ct.overwrite(header_size, iv.data(), iv.size());
- ASSERT(header_size + iv_size + length == ct.size());
- ASSERT(length % block_size == 0);
+ VERIFY(header_size + iv_size + length == ct.size());
+ VERIFY(length % block_size == 0);
// get a block to encrypt into
auto view = ct.bytes().slice(header_size + iv_size, length);
@@ -269,7 +269,7 @@ ssize_t TLSv12::handle_message(ReadonlyBytes buffer)
}
if (is_aead()) {
- ASSERT(m_aes_remote.gcm);
+ VERIFY(m_aes_remote.gcm);
if (length < 24) {
dbgln("Invalid packet length");
@@ -297,7 +297,7 @@ ssize_t TLSv12::handle_message(ReadonlyBytes buffer)
aad_stream.write({ &seq_no, sizeof(seq_no) }); // Sequence number
aad_stream.write(buffer.slice(0, header_size - 2)); // content-type + version
aad_stream.write({ &len, sizeof(u16) });
- ASSERT(aad_stream.is_end());
+ VERIFY(aad_stream.is_end());
auto nonce = payload.slice(0, iv_length());
payload = payload.slice(iv_length());
@@ -333,7 +333,7 @@ ssize_t TLSv12::handle_message(ReadonlyBytes buffer)
plain = decrypted;
} else {
- ASSERT(m_aes_remote.cbc);
+ VERIFY(m_aes_remote.cbc);
auto iv_size = iv_length();
decrypted = m_aes_remote.cbc->create_aligned_buffer(length - iv_size);
diff --git a/Userland/Libraries/LibTLS/Socket.cpp b/Userland/Libraries/LibTLS/Socket.cpp
index 3022b5e17d..3e8b712eaa 100644
--- a/Userland/Libraries/LibTLS/Socket.cpp
+++ b/Userland/Libraries/LibTLS/Socket.cpp
@@ -61,7 +61,7 @@ String TLSv12::read_line(size_t max_size)
auto* start = m_context.application_buffer.data();
auto* newline = (u8*)memchr(m_context.application_buffer.data(), '\n', m_context.application_buffer.size());
- ASSERT(newline);
+ VERIFY(newline);
size_t offset = newline - start;
@@ -106,7 +106,7 @@ bool TLSv12::common_connect(const struct sockaddr* saddr, socklen_t length)
if (Core::Socket::is_connected()) {
if (is_established()) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
Core::Socket::close(); // reuse?
}
diff --git a/Userland/Libraries/LibTLS/TLSPacketBuilder.h b/Userland/Libraries/LibTLS/TLSPacketBuilder.h
index 2994ed27ab..98c3fcf2d9 100644
--- a/Userland/Libraries/LibTLS/TLSPacketBuilder.h
+++ b/Userland/Libraries/LibTLS/TLSPacketBuilder.h
@@ -107,7 +107,7 @@ public:
}
inline void set(size_t offset, u8 value)
{
- ASSERT(offset < m_current_length);
+ VERIFY(offset < m_current_length);
m_packet_data[offset] = value;
}
size_t length() const { return m_current_length; }
diff --git a/Userland/Libraries/LibTTF/Cmap.cpp b/Userland/Libraries/LibTTF/Cmap.cpp
index ce651e5385..5a4993fbaf 100644
--- a/Userland/Libraries/LibTTF/Cmap.cpp
+++ b/Userland/Libraries/LibTTF/Cmap.cpp
@@ -45,7 +45,7 @@ Cmap::Subtable::Platform Cmap::Subtable::platform_id() const
case 4:
return Platform::Custom;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -71,7 +71,7 @@ Cmap::Subtable::Format Cmap::Subtable::format() const
case 14:
return Format::UnicodeVariationSequences;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -89,7 +89,7 @@ Optional<Cmap::Subtable> Cmap::subtable(u32 index) const
u16 platform_id = be_u16(m_slice.offset_pointer(record_offset));
u16 encoding_id = be_u16(m_slice.offset_pointer(record_offset + (u32)Offsets::EncodingRecord_EncodingID));
u32 subtable_offset = be_u32(m_slice.offset_pointer(record_offset + (u32)Offsets::EncodingRecord_Offset));
- ASSERT(subtable_offset < m_slice.size());
+ VERIFY(subtable_offset < m_slice.size());
auto subtable_slice = ReadonlyBytes(m_slice.offset_pointer(subtable_offset), m_slice.size() - subtable_offset);
return Subtable(subtable_slice, platform_id, encoding_id);
}
@@ -128,7 +128,7 @@ u32 Cmap::Subtable::glyph_id_for_codepoint_table_4(u32 codepoint) const
return (codepoint + delta) & 0xffff;
}
u32 glyph_offset = (u32)Table4Offsets::GlyphOffsetConstBase + segcount_x2 * 3 + offset + range + (codepoint - start_codepoint) * 2;
- ASSERT(glyph_offset + 2 <= m_slice.size());
+ VERIFY(glyph_offset + 2 <= m_slice.size());
return (be_u16(m_slice.offset_pointer(glyph_offset)) + delta) & 0xffff;
}
return 0;
@@ -137,7 +137,7 @@ u32 Cmap::Subtable::glyph_id_for_codepoint_table_4(u32 codepoint) const
u32 Cmap::Subtable::glyph_id_for_codepoint_table_12(u32 codepoint) const
{
u32 num_groups = be_u32(m_slice.offset_pointer((u32)Table12Offsets::NumGroups));
- ASSERT(m_slice.size() >= (u32)Table12Sizes::Header + (u32)Table12Sizes::Record * num_groups);
+ VERIFY(m_slice.size() >= (u32)Table12Sizes::Header + (u32)Table12Sizes::Record * num_groups);
for (u32 offset = 0; offset < num_groups * (u32)Table12Sizes::Record; offset += (u32)Table12Sizes::Record) {
u32 start_codepoint = be_u32(m_slice.offset_pointer((u32)Table12Offsets::Record_StartCode + offset));
if (codepoint < start_codepoint) {
diff --git a/Userland/Libraries/LibTTF/Font.cpp b/Userland/Libraries/LibTTF/Font.cpp
index be649dc171..03c6c92cdd 100644
--- a/Userland/Libraries/LibTTF/Font.cpp
+++ b/Userland/Libraries/LibTTF/Font.cpp
@@ -117,7 +117,7 @@ IndexToLocFormat Head::index_to_loc_format() const
case 1:
return IndexToLocFormat::Offset32;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -207,7 +207,7 @@ String Name::string_for_id(NameId id) const
GlyphHorizontalMetrics Hmtx::get_glyph_horizontal_metrics(u32 glyph_id) const
{
- ASSERT(glyph_id < m_num_glyphs);
+ VERIFY(glyph_id < m_num_glyphs);
if (glyph_id < m_number_of_h_metrics) {
auto offset = glyph_id * (u32)Sizes::LongHorMetric;
u16 advance_width = be_u16(m_slice.offset_pointer(offset));
diff --git a/Userland/Libraries/LibTTF/Glyf.cpp b/Userland/Libraries/LibTTF/Glyf.cpp
index 7ad25cd4e1..bf3c01177e 100644
--- a/Userland/Libraries/LibTTF/Glyf.cpp
+++ b/Userland/Libraries/LibTTF/Glyf.cpp
@@ -273,8 +273,8 @@ void Rasterizer::draw_line(Gfx::FloatPoint p0, Gfx::FloatPoint p1)
return;
}
- ASSERT(p0.x() >= 0.0 && p0.y() >= 0.0 && p0.x() <= m_size.width() && p0.y() <= m_size.height());
- ASSERT(p1.x() >= 0.0 && p1.y() >= 0.0 && p1.x() <= m_size.width() && p1.y() <= m_size.height());
+ VERIFY(p0.x() >= 0.0 && p0.y() >= 0.0 && p0.x() <= m_size.width() && p0.y() <= m_size.height());
+ VERIFY(p1.x() >= 0.0 && p1.y() >= 0.0 && p1.x() <= m_size.width() && p1.y() <= m_size.height());
// If we're on the same Y, there's no need to draw
if (p0.y() == p1.y()) {
@@ -356,14 +356,14 @@ Optional<Loca> Loca::from_slice(const ReadonlyBytes& slice, u32 num_glyphs, Inde
u32 Loca::get_glyph_offset(u32 glyph_id) const
{
- ASSERT(glyph_id < m_num_glyphs);
+ VERIFY(glyph_id < m_num_glyphs);
switch (m_index_to_loc_format) {
case IndexToLocFormat::Offset16:
return ((u32)be_u16(m_slice.offset_pointer(glyph_id * 2))) * 2;
case IndexToLocFormat::Offset32:
return be_u32(m_slice.offset_pointer(glyph_id * 4));
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -428,7 +428,7 @@ void Glyf::Glyph::raster_inner(Rasterizer& rasterizer, Gfx::AffineTransform& aff
contour_size = current_contour_end - last_contour_end;
last_contour_end = current_contour_end;
auto opt_item = point_iterator.next();
- ASSERT(opt_item.has_value());
+ VERIFY(opt_item.has_value());
contour_start = opt_item.value().point;
path.move_to(contour_start.value());
contour_size--;
@@ -506,7 +506,7 @@ RefPtr<Gfx::Bitmap> Glyf::Glyph::raster_simple(float x_scale, float y_scale) con
Glyf::Glyph Glyf::glyph(u32 offset) const
{
- ASSERT(m_slice.size() >= offset + (u32)Sizes::GlyphHeader);
+ VERIFY(m_slice.size() >= offset + (u32)Sizes::GlyphHeader);
i16 num_contours = be_i16(m_slice.offset_pointer(offset));
i16 xmin = be_i16(m_slice.offset_pointer(offset + (u32)Offsets::XMin));
i16 ymin = be_i16(m_slice.offset_pointer(offset + (u32)Offsets::YMin));
diff --git a/Userland/Libraries/LibTTF/Glyf.h b/Userland/Libraries/LibTTF/Glyf.h
index c7beb43644..2568001afd 100644
--- a/Userland/Libraries/LibTTF/Glyf.h
+++ b/Userland/Libraries/LibTTF/Glyf.h
@@ -91,7 +91,7 @@ public:
case Type::Composite:
return raster_composite(x_scale, y_scale, glyph_callback);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int ascender() const { return m_ymax; }
int descender() const { return m_ymin; }
diff --git a/Userland/Libraries/LibTar/Tar.h b/Userland/Libraries/LibTar/Tar.h
index 70f1764344..3ca46b3ca2 100644
--- a/Userland/Libraries/LibTar/Tar.h
+++ b/Userland/Libraries/LibTar/Tar.h
@@ -97,7 +97,7 @@ size_t Header::get_tar_field(const char (&field)[N])
if (field[i] == 0)
break;
- ASSERT(field[i] >= '0' && field[i] <= '7');
+ VERIFY(field[i] >= '0' && field[i] <= '7');
value *= 8;
value += field[i] - '0';
}
diff --git a/Userland/Libraries/LibTar/TarStream.cpp b/Userland/Libraries/LibTar/TarStream.cpp
index 533a01e932..30654dc607 100644
--- a/Userland/Libraries/LibTar/TarStream.cpp
+++ b/Userland/Libraries/LibTar/TarStream.cpp
@@ -37,7 +37,7 @@ TarFileStream::TarFileStream(TarStream& tar_stream)
size_t TarFileStream::read(Bytes bytes)
{
// verify that the stream has not advanced
- ASSERT(m_tar_stream.m_generation == m_generation);
+ VERIFY(m_tar_stream.m_generation == m_generation);
if (has_any_error())
return 0;
@@ -52,7 +52,7 @@ size_t TarFileStream::read(Bytes bytes)
bool TarFileStream::unreliable_eof() const
{
// verify that the stream has not advanced
- ASSERT(m_tar_stream.m_generation == m_generation);
+ VERIFY(m_tar_stream.m_generation == m_generation);
return m_tar_stream.m_stream.unreliable_eof()
|| m_tar_stream.m_file_offset >= m_tar_stream.header().size();
@@ -61,7 +61,7 @@ bool TarFileStream::unreliable_eof() const
bool TarFileStream::read_or_error(Bytes bytes)
{
// verify that the stream has not advanced
- ASSERT(m_tar_stream.m_generation == m_generation);
+ VERIFY(m_tar_stream.m_generation == m_generation);
if (read(bytes) < bytes.size()) {
set_fatal_error();
@@ -74,7 +74,7 @@ bool TarFileStream::read_or_error(Bytes bytes)
bool TarFileStream::discard_or_error(size_t count)
{
// verify that the stream has not advanced
- ASSERT(m_tar_stream.m_generation == m_generation);
+ VERIFY(m_tar_stream.m_generation == m_generation);
if (count > m_tar_stream.header().size() - m_tar_stream.m_file_offset) {
return false;
@@ -90,7 +90,7 @@ TarStream::TarStream(InputStream& stream)
m_finished = true;
return;
}
- ASSERT(m_stream.discard_or_error(block_size - sizeof(Header)));
+ VERIFY(m_stream.discard_or_error(block_size - sizeof(Header)));
}
static constexpr unsigned long block_ceiling(unsigned long offset)
@@ -104,7 +104,7 @@ void TarStream::advance()
return;
m_generation++;
- ASSERT(m_stream.discard_or_error(block_ceiling(m_header.size()) - m_file_offset));
+ VERIFY(m_stream.discard_or_error(block_ceiling(m_header.size()) - m_file_offset));
m_file_offset = 0;
if (!m_stream.read_or_error(Bytes(&m_header, sizeof(m_header)))) {
@@ -116,7 +116,7 @@ void TarStream::advance()
return;
}
- ASSERT(m_stream.discard_or_error(block_size - sizeof(Header)));
+ VERIFY(m_stream.discard_or_error(block_size - sizeof(Header)));
}
bool TarStream::valid() const
@@ -126,7 +126,7 @@ bool TarStream::valid() const
TarFileStream TarStream::file_contents()
{
- ASSERT(!m_finished);
+ VERIFY(!m_finished);
return TarFileStream(*this);
}
diff --git a/Userland/Libraries/LibThread/BackgroundAction.cpp b/Userland/Libraries/LibThread/BackgroundAction.cpp
index a2880dfb3f..6bf7d561ba 100644
--- a/Userland/Libraries/LibThread/BackgroundAction.cpp
+++ b/Userland/Libraries/LibThread/BackgroundAction.cpp
@@ -48,7 +48,7 @@ static int background_thread_func()
sleep(1);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
static void init()
diff --git a/Userland/Libraries/LibThread/Lock.h b/Userland/Libraries/LibThread/Lock.h
index 7ab63162c7..5d92c7c304 100644
--- a/Userland/Libraries/LibThread/Lock.h
+++ b/Userland/Libraries/LibThread/Lock.h
@@ -82,8 +82,8 @@ ALWAYS_INLINE void Lock::lock()
inline void Lock::unlock()
{
- ASSERT(m_holder == gettid());
- ASSERT(m_level);
+ VERIFY(m_holder == gettid());
+ VERIFY(m_level);
if (m_level == 1)
m_holder.store(0, AK::memory_order_release);
else
diff --git a/Userland/Libraries/LibThread/Thread.cpp b/Userland/Libraries/LibThread/Thread.cpp
index 7d8fea4af4..4179604647 100644
--- a/Userland/Libraries/LibThread/Thread.cpp
+++ b/Userland/Libraries/LibThread/Thread.cpp
@@ -59,10 +59,10 @@ void LibThread::Thread::start()
},
static_cast<void*>(this));
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
if (!m_thread_name.is_empty()) {
rc = pthread_setname_np(m_tid, m_thread_name.characters());
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
dbgln("Started thread \"{}\", tid = {}", m_thread_name, m_tid);
}
diff --git a/Userland/Libraries/LibVT/Line.cpp b/Userland/Libraries/LibVT/Line.cpp
index 56f776e9cb..6818220e62 100644
--- a/Userland/Libraries/LibVT/Line.cpp
+++ b/Userland/Libraries/LibVT/Line.cpp
@@ -114,7 +114,7 @@ bool Line::has_only_one_background_color() const
void Line::convert_to_utf32()
{
- ASSERT(!m_utf32);
+ VERIFY(!m_utf32);
auto* new_code_points = new u32[m_length];
for (size_t i = 0; i < m_length; ++i) {
new_code_points[i] = m_code_points.as_u8[i];
diff --git a/Userland/Libraries/LibVT/Terminal.cpp b/Userland/Libraries/LibVT/Terminal.cpp
index 6a25ccccfb..6d61c1853f 100644
--- a/Userland/Libraries/LibVT/Terminal.cpp
+++ b/Userland/Libraries/LibVT/Terminal.cpp
@@ -744,8 +744,8 @@ void Terminal::set_cursor(unsigned a_row, unsigned a_column)
unsigned column = min(a_column, m_columns - 1u);
if (row == m_cursor_row && column == m_cursor_column)
return;
- ASSERT(row < rows());
- ASSERT(column < columns());
+ VERIFY(row < rows());
+ VERIFY(column < columns());
invalidate_cursor();
m_cursor_row = row;
m_cursor_column = column;
@@ -755,8 +755,8 @@ void Terminal::set_cursor(unsigned a_row, unsigned a_column)
void Terminal::put_character_at(unsigned row, unsigned column, u32 code_point)
{
- ASSERT(row < rows());
- ASSERT(column < columns());
+ VERIFY(row < rows());
+ VERIFY(column < columns());
auto& line = m_lines[row];
line.set_code_point(column, code_point);
line.attributes()[column] = m_current_attribute;
diff --git a/Userland/Libraries/LibVT/Terminal.h b/Userland/Libraries/LibVT/Terminal.h
index a1e383d109..50090f7dfa 100644
--- a/Userland/Libraries/LibVT/Terminal.h
+++ b/Userland/Libraries/LibVT/Terminal.h
@@ -244,7 +244,7 @@ private:
return;
if (m_history.size() < max_history_size()) {
- ASSERT(m_history_start == 0);
+ VERIFY(m_history_start == 0);
m_history.append(move(line));
return;
}
diff --git a/Userland/Libraries/LibVT/TerminalWidget.cpp b/Userland/Libraries/LibVT/TerminalWidget.cpp
index b315d4185b..ba17011f98 100644
--- a/Userland/Libraries/LibVT/TerminalWidget.cpp
+++ b/Userland/Libraries/LibVT/TerminalWidget.cpp
@@ -590,7 +590,7 @@ VT::Position TerminalWidget::buffer_position_at(const Gfx::IntPoint& position) c
u32 TerminalWidget::code_point_at(const VT::Position& position) const
{
- ASSERT(position.row() >= 0 && static_cast<size_t>(position.row()) < m_terminal.line_count());
+ VERIFY(position.row() >= 0 && static_cast<size_t>(position.row()) < m_terminal.line_count());
auto& line = m_terminal.line(position.row());
if (position.column() == line.length())
return '\n';
@@ -599,7 +599,7 @@ u32 TerminalWidget::code_point_at(const VT::Position& position) const
VT::Position TerminalWidget::next_position_after(const VT::Position& position, bool should_wrap) const
{
- ASSERT(position.row() >= 0 && static_cast<size_t>(position.row()) < m_terminal.line_count());
+ VERIFY(position.row() >= 0 && static_cast<size_t>(position.row()) < m_terminal.line_count());
auto& line = m_terminal.line(position.row());
if (position.column() == line.length()) {
if (static_cast<size_t>(position.row()) == m_terminal.line_count() - 1) {
@@ -614,7 +614,7 @@ VT::Position TerminalWidget::next_position_after(const VT::Position& position, b
VT::Position TerminalWidget::previous_position_before(const VT::Position& position, bool should_wrap) const
{
- ASSERT(position.row() >= 0 && static_cast<size_t>(position.row()) < m_terminal.line_count());
+ VERIFY(position.row() >= 0 && static_cast<size_t>(position.row()) < m_terminal.line_count());
if (position.column() == 0) {
if (position.row() == 0) {
if (should_wrap) {
@@ -747,7 +747,7 @@ void TerminalWidget::paste()
int nwritten = write(m_ptm_fd, text.data(), text.size());
if (nwritten < 0) {
perror("write");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibWeb/Bindings/WindowObject.cpp b/Userland/Libraries/LibWeb/Bindings/WindowObject.cpp
index 2abd1f54f2..1a7bfb2719 100644
--- a/Userland/Libraries/LibWeb/Bindings/WindowObject.cpp
+++ b/Userland/Libraries/LibWeb/Bindings/WindowObject.cpp
@@ -110,7 +110,7 @@ static DOM::Window* impl_from(JS::VM& vm, JS::GlobalObject& global_object)
{
auto* this_object = vm.this_value(global_object).to_object(global_object);
if (!this_object) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return nullptr;
}
if (StringView("WindowObject") != this_object->class_name()) {
@@ -317,7 +317,7 @@ JS_DEFINE_NATIVE_FUNCTION(WindowObject::atob)
// decode_base64() returns a byte string. LibJS uses UTF-8 for strings. Use Latin1Decoder to convert bytes 128-255 to UTF-8.
auto decoder = TextCodec::decoder_for("windows-1252");
- ASSERT(decoder);
+ VERIFY(decoder);
return JS::js_string(vm, decoder->to_utf8(decoded));
}
diff --git a/Userland/Libraries/LibWeb/Bindings/Wrappable.cpp b/Userland/Libraries/LibWeb/Bindings/Wrappable.cpp
index b257a378a6..13d3f662fd 100644
--- a/Userland/Libraries/LibWeb/Bindings/Wrappable.cpp
+++ b/Userland/Libraries/LibWeb/Bindings/Wrappable.cpp
@@ -36,7 +36,7 @@ Wrappable::~Wrappable()
void Wrappable::set_wrapper(Wrapper& wrapper)
{
- ASSERT(!m_wrapper);
+ VERIFY(!m_wrapper);
m_wrapper = wrapper.make_weak_ptr();
}
diff --git a/Userland/Libraries/LibWeb/CSS/Length.cpp b/Userland/Libraries/LibWeb/CSS/Length.cpp
index 08b2ca500f..a2a55c81ba 100644
--- a/Userland/Libraries/LibWeb/CSS/Length.cpp
+++ b/Userland/Libraries/LibWeb/CSS/Length.cpp
@@ -55,7 +55,7 @@ float Length::relative_length_to_px(const Layout::Node& layout_node) const
return max(viewport.width(), viewport.height()) * (m_value / 100);
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -97,7 +97,7 @@ const char* Length::unit_name() const
case Type::Vmin:
return "vmin";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibWeb/CSS/Length.h b/Userland/Libraries/LibWeb/CSS/Length.h
index bce76a059c..78ee24f5de 100644
--- a/Userland/Libraries/LibWeb/CSS/Length.h
+++ b/Userland/Libraries/LibWeb/CSS/Length.h
@@ -143,7 +143,7 @@ public:
case Type::Undefined:
case Type::Percentage:
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibWeb/CSS/Parser/CSSParser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/CSSParser.cpp
index ad5ab28745..87fcde8d6e 100644
--- a/Userland/Libraries/LibWeb/CSS/Parser/CSSParser.cpp
+++ b/Userland/Libraries/LibWeb/CSS/Parser/CSSParser.cpp
@@ -33,11 +33,11 @@
#include <stdlib.h>
#include <string.h>
-#define PARSE_ASSERT(x) \
+#define PARSE_VERIFY(x) \
if (!(x)) { \
dbgln("CSS PARSER ASSERTION FAILED: {}", #x); \
dbgln("At character# {} in CSS: _{}_", index, css); \
- ASSERT_NOT_REACHED(); \
+ VERIFY_NOT_REACHED(); \
}
#define PARSE_ERROR() \
@@ -344,7 +344,7 @@ public:
char consume_one()
{
- PARSE_ASSERT(index < css.length());
+ PARSE_VERIFY(index < css.length());
return css[index++];
};
@@ -424,7 +424,7 @@ public:
if (type != CSS::Selector::SimpleSelector::Type::Universal) {
while (is_valid_selector_char(peek()))
buffer.append(consume_one());
- PARSE_ASSERT(!buffer.is_null());
+ PARSE_VERIFY(!buffer.is_null());
}
auto value = String::copy(buffer);
@@ -593,7 +593,7 @@ public:
break;
simple_selectors.append(component.value());
// If this assert triggers, we're most likely up to no good.
- PARSE_ASSERT(simple_selectors.size() < 100);
+ PARSE_VERIFY(simple_selectors.size() < 100);
}
if (simple_selectors.is_empty())
@@ -682,7 +682,7 @@ public:
continue;
}
if (ch == ')') {
- PARSE_ASSERT(paren_nesting_level > 0);
+ PARSE_VERIFY(paren_nesting_level > 0);
--paren_nesting_level;
buffer.append(consume_one());
continue;
diff --git a/Userland/Libraries/LibWeb/CSS/SelectorEngine.cpp b/Userland/Libraries/LibWeb/CSS/SelectorEngine.cpp
index 5f553e2be0..a1db87f78f 100644
--- a/Userland/Libraries/LibWeb/CSS/SelectorEngine.cpp
+++ b/Userland/Libraries/LibWeb/CSS/SelectorEngine.cpp
@@ -119,7 +119,7 @@ static bool matches(const CSS::Selector::SimpleSelector& component, const DOM::E
case CSS::Selector::SimpleSelector::Type::TagName:
return component.value == element.local_name();
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -134,7 +134,7 @@ static bool matches(const CSS::Selector& selector, int component_list_index, con
case CSS::Selector::ComplexSelector::Relation::None:
return true;
case CSS::Selector::ComplexSelector::Relation::Descendant:
- ASSERT(component_list_index != 0);
+ VERIFY(component_list_index != 0);
for (auto* ancestor = element.parent(); ancestor; ancestor = ancestor->parent()) {
if (!is<DOM::Element>(*ancestor))
continue;
@@ -143,29 +143,29 @@ static bool matches(const CSS::Selector& selector, int component_list_index, con
}
return false;
case CSS::Selector::ComplexSelector::Relation::ImmediateChild:
- ASSERT(component_list_index != 0);
+ VERIFY(component_list_index != 0);
if (!element.parent() || !is<DOM::Element>(*element.parent()))
return false;
return matches(selector, component_list_index - 1, downcast<DOM::Element>(*element.parent()));
case CSS::Selector::ComplexSelector::Relation::AdjacentSibling:
- ASSERT(component_list_index != 0);
+ VERIFY(component_list_index != 0);
if (auto* sibling = element.previous_element_sibling())
return matches(selector, component_list_index - 1, *sibling);
return false;
case CSS::Selector::ComplexSelector::Relation::GeneralSibling:
- ASSERT(component_list_index != 0);
+ VERIFY(component_list_index != 0);
for (auto* sibling = element.previous_element_sibling(); sibling; sibling = sibling->previous_element_sibling()) {
if (matches(selector, component_list_index - 1, *sibling))
return true;
}
return false;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool matches(const CSS::Selector& selector, const DOM::Element& element)
{
- ASSERT(!selector.complex_selectors().is_empty());
+ VERIFY(!selector.complex_selectors().is_empty());
return matches(selector, selector.complex_selectors().size() - 1, element);
}
diff --git a/Userland/Libraries/LibWeb/CSS/StyleResolver.cpp b/Userland/Libraries/LibWeb/CSS/StyleResolver.cpp
index da6f2a6fd9..2ced865baa 100644
--- a/Userland/Libraries/LibWeb/CSS/StyleResolver.cpp
+++ b/Userland/Libraries/LibWeb/CSS/StyleResolver.cpp
@@ -188,7 +188,7 @@ static bool contains(Edge a, Edge b)
static inline void set_property_border_width(StyleProperties& style, const StyleValue& value, Edge edge)
{
- ASSERT(value.is_length());
+ VERIFY(value.is_length());
if (contains(Edge::Top, edge))
style.set_property(CSS::PropertyID::BorderTopWidth, value);
if (contains(Edge::Right, edge))
@@ -201,7 +201,7 @@ static inline void set_property_border_width(StyleProperties& style, const Style
static inline void set_property_border_color(StyleProperties& style, const StyleValue& value, Edge edge)
{
- ASSERT(value.is_color());
+ VERIFY(value.is_color());
if (contains(Edge::Top, edge))
style.set_property(CSS::PropertyID::BorderTopColor, value);
if (contains(Edge::Right, edge))
@@ -214,7 +214,7 @@ static inline void set_property_border_color(StyleProperties& style, const Style
static inline void set_property_border_style(StyleProperties& style, const StyleValue& value, Edge edge)
{
- ASSERT(value.is_string());
+ VERIFY(value.is_string());
if (contains(Edge::Top, edge))
style.set_property(CSS::PropertyID::BorderTopStyle, value);
if (contains(Edge::Right, edge))
diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp
index c6d6b503bf..65905b54d5 100644
--- a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp
+++ b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp
@@ -54,7 +54,7 @@ Color IdentifierStyleValue::to_color(const DOM::Document& document) const
if (id() == CSS::ValueID::LibwebLink)
return document.link_color();
- ASSERT(document.page());
+ VERIFY(document.page());
auto palette = document.page()->palette();
switch (id()) {
case CSS::ValueID::LibwebPaletteDesktopBackground:
diff --git a/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_PropertyID_cpp.cpp b/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_PropertyID_cpp.cpp
index 2b7b2218c7..1fde66eee3 100644
--- a/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_PropertyID_cpp.cpp
+++ b/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_PropertyID_cpp.cpp
@@ -58,8 +58,8 @@ int main(int argc, char** argv)
return 1;
auto json = JsonValue::from_string(file->read_all());
- ASSERT(json.has_value());
- ASSERT(json.value().is_object());
+ VERIFY(json.has_value());
+ VERIFY(json.value().is_object());
StringBuilder builder;
SourceGenerator generator { builder };
@@ -75,7 +75,7 @@ PropertyID property_id_from_string(const StringView& string)
)~~~");
json.value().as_object().for_each_member([&](auto& name, auto& value) {
- ASSERT(value.is_object());
+ VERIFY(value.is_object());
auto member_generator = generator.fork();
member_generator.set("name", name);
@@ -95,7 +95,7 @@ const char* string_from_property_id(PropertyID property_id) {
)~~~");
json.value().as_object().for_each_member([&](auto& name, auto& value) {
- ASSERT(value.is_object());
+ VERIFY(value.is_object());
auto member_generator = generator.fork();
member_generator.set("name", name);
diff --git a/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_PropertyID_h.cpp b/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_PropertyID_h.cpp
index e2f235db62..6391df70f4 100644
--- a/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_PropertyID_h.cpp
+++ b/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_PropertyID_h.cpp
@@ -58,8 +58,8 @@ int main(int argc, char** argv)
return 1;
auto json = JsonValue::from_string(file->read_all());
- ASSERT(json.has_value());
- ASSERT(json.value().is_object());
+ VERIFY(json.has_value());
+ VERIFY(json.value().is_object());
StringBuilder builder;
SourceGenerator generator { builder };
@@ -76,7 +76,7 @@ enum class PropertyID {
)~~~");
json.value().as_object().for_each_member([&](auto& name, auto& value) {
- ASSERT(value.is_object());
+ VERIFY(value.is_object());
auto member_generator = generator.fork();
member_generator.set("name:titlecase", title_casify(name));
diff --git a/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_ValueID_cpp.cpp b/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_ValueID_cpp.cpp
index 4991a4040a..0fb443bcc6 100644
--- a/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_ValueID_cpp.cpp
+++ b/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_ValueID_cpp.cpp
@@ -58,8 +58,8 @@ int main(int argc, char** argv)
return 1;
auto json = JsonValue::from_string(file->read_all());
- ASSERT(json.has_value());
- ASSERT(json.value().is_array());
+ VERIFY(json.has_value());
+ VERIFY(json.value().is_array());
StringBuilder builder;
SourceGenerator generator { builder };
diff --git a/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_ValueID_h.cpp b/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_ValueID_h.cpp
index 7c85ade83f..03b474908c 100644
--- a/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_ValueID_h.cpp
+++ b/Userland/Libraries/LibWeb/CodeGenerators/Generate_CSS_ValueID_h.cpp
@@ -58,8 +58,8 @@ int main(int argc, char** argv)
return 1;
auto json = JsonValue::from_string(file->read_all());
- ASSERT(json.has_value());
- ASSERT(json.value().is_array());
+ VERIFY(json.has_value());
+ VERIFY(json.value().is_array());
StringBuilder builder;
SourceGenerator generator { builder };
diff --git a/Userland/Libraries/LibWeb/CodeGenerators/WrapperGenerator.cpp b/Userland/Libraries/LibWeb/CodeGenerators/WrapperGenerator.cpp
index 5b257c1b0d..7a7449ed0b 100644
--- a/Userland/Libraries/LibWeb/CodeGenerators/WrapperGenerator.cpp
+++ b/Userland/Libraries/LibWeb/CodeGenerators/WrapperGenerator.cpp
@@ -585,7 +585,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
)~~~");
} else {
dbgln("Unimplemented JS-to-C++ conversion: {}", parameter.type.name);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
};
diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp
index d4f2170f1b..242b2924b8 100644
--- a/Userland/Libraries/LibWeb/DOM/Document.cpp
+++ b/Userland/Libraries/LibWeb/DOM/Document.cpp
@@ -89,8 +89,8 @@ Document::~Document()
void Document::removed_last_ref()
{
- ASSERT(!ref_count());
- ASSERT(!m_deletion_has_begun);
+ VERIFY(!ref_count());
+ VERIFY(!m_deletion_has_begun);
if (m_referencing_node_count) {
// The document has reached ref_count==0 but still has nodes keeping it alive.
@@ -121,8 +121,8 @@ void Document::removed_last_ref()
});
for (auto& node : descendants) {
- ASSERT(&node.document() == this);
- ASSERT(!node.is_document());
+ VERIFY(&node.document() == this);
+ VERIFY(!node.is_document());
if (node.parent())
node.parent()->remove_child(node);
}
@@ -299,7 +299,7 @@ void Document::attach_to_frame(Badge<Frame>, Frame& frame)
void Document::detach_from_frame(Badge<Frame>, Frame& frame)
{
- ASSERT(&frame == m_frame);
+ VERIFY(&frame == m_frame);
tear_down_layout_tree();
m_frame = nullptr;
}
diff --git a/Userland/Libraries/LibWeb/DOM/Document.h b/Userland/Libraries/LibWeb/DOM/Document.h
index e789df05a3..30c4c17b32 100644
--- a/Userland/Libraries/LibWeb/DOM/Document.h
+++ b/Userland/Libraries/LibWeb/DOM/Document.h
@@ -259,14 +259,14 @@ private:
void increment_referencing_node_count()
{
- ASSERT(!m_deletion_has_begun);
+ VERIFY(!m_deletion_has_begun);
++m_referencing_node_count;
}
void decrement_referencing_node_count()
{
- ASSERT(!m_deletion_has_begun);
- ASSERT(m_referencing_node_count);
+ VERIFY(!m_deletion_has_begun);
+ VERIFY(m_referencing_node_count);
--m_referencing_node_count;
if (!m_referencing_node_count && !ref_count()) {
m_deletion_has_begun = true;
diff --git a/Userland/Libraries/LibWeb/DOM/Element.cpp b/Userland/Libraries/LibWeb/DOM/Element.cpp
index 10e2bda733..24b063d5cd 100644
--- a/Userland/Libraries/LibWeb/DOM/Element.cpp
+++ b/Userland/Libraries/LibWeb/DOM/Element.cpp
@@ -131,7 +131,7 @@ RefPtr<Layout::Node> Element::create_layout_node()
switch (display) {
case CSS::Display::None:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
case CSS::Display::Block:
return adopt(*new Layout::BlockBox(document(), this, move(style)));
@@ -164,7 +164,7 @@ RefPtr<Layout::Node> Element::create_layout_node()
// FIXME: This is just an incorrect placeholder until we improve table layout support.
return adopt(*new Layout::BlockBox(document(), this, move(style)));
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Element::parse_attribute(const FlyString& name, const String& value)
@@ -214,7 +214,7 @@ static StyleDifference compute_style_difference(const CSS::StyleProperties& old_
void Element::recompute_style()
{
set_needs_style_update(false);
- ASSERT(parent());
+ VERIFY(parent());
auto old_specified_css_values = m_specified_css_values;
auto new_specified_css_values = document().style_resolver().resolve_style(*this);
m_specified_css_values = new_specified_css_values;
diff --git a/Userland/Libraries/LibWeb/DOM/EventDispatcher.cpp b/Userland/Libraries/LibWeb/DOM/EventDispatcher.cpp
index e45b42c23e..1ec7f8b96b 100644
--- a/Userland/Libraries/LibWeb/DOM/EventDispatcher.cpp
+++ b/Userland/Libraries/LibWeb/DOM/EventDispatcher.cpp
@@ -136,7 +136,7 @@ void EventDispatcher::invoke(Event::PathEntry& struct_, Event& event, Event::Pha
return entry.index <= struct_.index && !entry.shadow_adjusted_target.is_null();
});
- ASSERT(last_valid_shadow_adjusted_target.has_value());
+ VERIFY(last_valid_shadow_adjusted_target.has_value());
event.set_target(last_valid_shadow_adjusted_target.value().shadow_adjusted_target);
event.set_related_target(struct_.related_target);
@@ -249,7 +249,7 @@ bool EventDispatcher::dispatch(NonnullRefPtr<EventTarget> target, NonnullRefPtr<
return !entry.shadow_adjusted_target.is_null();
});
- ASSERT(clear_targets_struct.has_value());
+ VERIFY(clear_targets_struct.has_value());
if (is<Node>(clear_targets_struct.value().shadow_adjusted_target.ptr())) {
auto& shadow_adjusted_target_node = downcast<Node>(*clear_targets_struct.value().shadow_adjusted_target);
diff --git a/Userland/Libraries/LibWeb/DOM/EventListener.cpp b/Userland/Libraries/LibWeb/DOM/EventListener.cpp
index eb64bfa503..ad9f0cd3e7 100644
--- a/Userland/Libraries/LibWeb/DOM/EventListener.cpp
+++ b/Userland/Libraries/LibWeb/DOM/EventListener.cpp
@@ -31,7 +31,7 @@ namespace Web::DOM {
JS::Function& EventListener::function()
{
- ASSERT(m_function.cell());
+ VERIFY(m_function.cell());
return *m_function.cell();
}
diff --git a/Userland/Libraries/LibWeb/DOM/Node.cpp b/Userland/Libraries/LibWeb/DOM/Node.cpp
index 26204538bc..d66c33e138 100644
--- a/Userland/Libraries/LibWeb/DOM/Node.cpp
+++ b/Userland/Libraries/LibWeb/DOM/Node.cpp
@@ -54,7 +54,7 @@ Node::Node(Document& document, NodeType type)
Node::~Node()
{
- ASSERT(m_deletion_has_begun);
+ VERIFY(m_deletion_has_begun);
if (layout_node() && layout_node()->parent())
layout_node()->parent()->remove_child(*layout_node());
diff --git a/Userland/Libraries/LibWeb/DOM/Window.cpp b/Userland/Libraries/LibWeb/DOM/Window.cpp
index b6fae82ebf..0b7f66afc4 100644
--- a/Userland/Libraries/LibWeb/DOM/Window.cpp
+++ b/Userland/Libraries/LibWeb/DOM/Window.cpp
@@ -95,7 +95,7 @@ i32 Window::set_timeout(JS::Function& callback, i32 interval)
void Window::timer_did_fire(Badge<Timer>, Timer& timer)
{
// We should not be here if there's no JS wrapper for the Window object.
- ASSERT(wrapper());
+ VERIFY(wrapper());
auto& vm = wrapper()->vm();
// NOTE: This protector pointer keeps the timer alive until the end of this function no matter what.
diff --git a/Userland/Libraries/LibWeb/DOMTreeModel.cpp b/Userland/Libraries/LibWeb/DOMTreeModel.cpp
index 76c0e39769..ad732548d5 100644
--- a/Userland/Libraries/LibWeb/DOMTreeModel.cpp
+++ b/Userland/Libraries/LibWeb/DOMTreeModel.cpp
@@ -79,7 +79,7 @@ GUI::ModelIndex DOMTreeModel::parent_index(const GUI::ModelIndex& index) const
++grandparent_child_index;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
diff --git a/Userland/Libraries/LibWeb/HTML/GlobalEventHandlers.cpp b/Userland/Libraries/LibWeb/HTML/GlobalEventHandlers.cpp
index 46585e80d9..c41be830a8 100644
--- a/Userland/Libraries/LibWeb/HTML/GlobalEventHandlers.cpp
+++ b/Userland/Libraries/LibWeb/HTML/GlobalEventHandlers.cpp
@@ -70,7 +70,7 @@ void GlobalEventHandlers::set_event_handler_attribute(const FlyString& name, HTM
return;
}
auto* function = JS::ScriptFunction::create(self.script_execution_context()->interpreter().global_object(), name, program->body(), program->parameters(), program->function_length(), nullptr, false, false);
- ASSERT(function);
+ VERIFY(function);
listener = adopt(*new DOM::EventListener(JS::make_handle(static_cast<JS::Function*>(function))));
}
if (listener) {
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.cpp
index d2f071314d..4b6462417e 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.cpp
@@ -53,7 +53,7 @@ void HTMLBodyElement::apply_presentational_hints(CSS::StyleProperties& style) co
if (color.has_value())
style.set_property(CSS::PropertyID::Color, CSS::ColorStyleValue::create(color.value()));
} else if (name.equals_ignoring_case("background")) {
- ASSERT(m_background_style_value);
+ VERIFY(m_background_style_value);
style.set_property(CSS::PropertyID::BackgroundImage, *m_background_style_value);
}
});
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp
index 9144211b07..259f88083d 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp
@@ -65,7 +65,7 @@ RefPtr<Layout::Node> HTMLCanvasElement::create_layout_node()
CanvasRenderingContext2D* HTMLCanvasElement::get_context(String type)
{
- ASSERT(type == "2d");
+ VERIFY(type == "2d");
if (!m_context)
m_context = CanvasRenderingContext2D::create(*this);
return m_context;
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp
index 36fff8b52c..73113dd242 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp
@@ -73,7 +73,7 @@ bool HTMLElement::is_editable() const
case ContentEditableState::Inherit:
return parent() && parent()->is_editable();
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -87,7 +87,7 @@ String HTMLElement::content_editable() const
case ContentEditableState::Inherit:
return "inherit";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.cpp
index d4fe2cb37f..06b942e076 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.cpp
@@ -44,7 +44,7 @@ namespace Web::HTML {
HTMLIFrameElement::HTMLIFrameElement(DOM::Document& document, QualifiedName qualified_name)
: HTMLElement(document, move(qualified_name))
{
- ASSERT(document.frame());
+ VERIFY(document.frame());
m_content_frame = Frame::create_subframe(*this, document.frame()->main_frame());
}
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp
index d2005bb4b0..8fcf9edaff 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp
@@ -56,7 +56,7 @@ void HTMLLinkElement::resource_did_fail()
void HTMLLinkElement::resource_did_load()
{
- ASSERT(resource());
+ VERIFY(resource());
if (!resource()->has_encoded_data())
return;
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.cpp
index 9eeaa8b9ec..e3a64bcbb9 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.cpp
@@ -93,7 +93,7 @@ void HTMLScriptElement::execute_script()
document().set_current_script({}, old_current_script);
} else {
- ASSERT(!document().current_script());
+ VERIFY(!document().current_script());
TODO();
}
diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLDocumentParser.cpp b/Userland/Libraries/LibWeb/HTML/Parser/HTMLDocumentParser.cpp
index 8320416d20..fd7a1655a3 100644
--- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLDocumentParser.cpp
+++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLDocumentParser.cpp
@@ -267,7 +267,7 @@ void HTMLDocumentParser::process_using_the_rules_for(InsertionMode mode, HTMLTok
handle_after_after_frameset(token);
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -429,7 +429,7 @@ HTMLDocumentParser::AdjustedInsertionLocation HTMLDocumentParser::find_appropria
return { downcast<HTMLTemplateElement>(last_template.element)->content(), nullptr };
}
if (!last_table.element) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
// Guaranteed not to be a template element (it will be the html element),
// so no need to check the parent is a template.
return { m_stack_of_open_elements.elements().first(), nullptr };
@@ -903,7 +903,7 @@ void HTMLDocumentParser::reconstruct_the_active_formatting_elements()
ssize_t index = m_list_of_active_formatting_elements.entries().size() - 1;
RefPtr<DOM::Element> entry = m_list_of_active_formatting_elements.entries().at(index).element;
- ASSERT(entry);
+ VERIFY(entry);
Rewind:
if (index == 0) {
@@ -912,7 +912,7 @@ Rewind:
--index;
entry = m_list_of_active_formatting_elements.entries().at(index).element;
- ASSERT(entry);
+ VERIFY(entry);
if (!m_stack_of_open_elements.contains(*entry))
goto Rewind;
@@ -920,7 +920,7 @@ Rewind:
Advance:
++index;
entry = m_list_of_active_formatting_elements.entries().at(index).element;
- ASSERT(entry);
+ VERIFY(entry);
Create:
// FIXME: Hold on to the real token!
@@ -1140,7 +1140,7 @@ void HTMLDocumentParser::handle_in_body(HTMLToken& token)
if (m_stack_of_open_elements.elements().size() == 1
|| m_stack_of_open_elements.elements().at(1).local_name() != HTML::TagNames::body
|| m_stack_of_open_elements.contains(HTML::TagNames::template_)) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
return;
}
m_frameset_ok = false;
@@ -1158,7 +1158,7 @@ void HTMLDocumentParser::handle_in_body(HTMLToken& token)
if (m_stack_of_open_elements.elements().size() == 1
|| m_stack_of_open_elements.elements().at(1).local_name() != HTML::TagNames::body) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
return;
}
@@ -1863,7 +1863,7 @@ void HTMLDocumentParser::increment_script_nesting_level()
void HTMLDocumentParser::decrement_script_nesting_level()
{
- ASSERT(m_script_nesting_level);
+ VERIFY(m_script_nesting_level);
--m_script_nesting_level;
}
@@ -1917,7 +1917,7 @@ void HTMLDocumentParser::handle_text(HTMLToken& token)
if (the_script->failed_to_load())
return;
- ASSERT(the_script->is_ready_to_be_parser_executed());
+ VERIFY(the_script->is_ready_to_be_parser_executed());
if (m_aborted)
return;
@@ -1926,13 +1926,13 @@ void HTMLDocumentParser::handle_text(HTMLToken& token)
// FIXME: Handle tokenizer insertion point stuff here too.
- ASSERT(script_nesting_level() == 0);
+ VERIFY(script_nesting_level() == 0);
increment_script_nesting_level();
the_script->execute_script();
decrement_script_nesting_level();
- ASSERT(script_nesting_level() == 0);
+ VERIFY(script_nesting_level() == 0);
m_parser_pause_flag = false;
// FIXME: Handle tokenizer insertion point stuff here too.
@@ -1955,7 +1955,7 @@ void HTMLDocumentParser::clear_the_stack_back_to_a_table_context()
m_stack_of_open_elements.pop();
if (current_node().local_name() == HTML::TagNames::html)
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
}
void HTMLDocumentParser::clear_the_stack_back_to_a_table_row_context()
@@ -1964,7 +1964,7 @@ void HTMLDocumentParser::clear_the_stack_back_to_a_table_row_context()
m_stack_of_open_elements.pop();
if (current_node().local_name() == HTML::TagNames::html)
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
}
void HTMLDocumentParser::clear_the_stack_back_to_a_table_body_context()
@@ -1973,7 +1973,7 @@ void HTMLDocumentParser::clear_the_stack_back_to_a_table_body_context()
m_stack_of_open_elements.pop();
if (current_node().local_name() == HTML::TagNames::html)
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
}
void HTMLDocumentParser::handle_in_row(HTMLToken& token)
@@ -2068,7 +2068,7 @@ void HTMLDocumentParser::handle_in_cell(HTMLToken& token)
}
if (token.is_start_tag() && token.tag_name().is_one_of(HTML::TagNames::caption, HTML::TagNames::col, HTML::TagNames::colgroup, HTML::TagNames::tbody, HTML::TagNames::td, HTML::TagNames::tfoot, HTML::TagNames::th, HTML::TagNames::thead, HTML::TagNames::tr)) {
if (!m_stack_of_open_elements.has_in_table_scope(HTML::TagNames::td) && !m_stack_of_open_elements.has_in_table_scope(HTML::TagNames::th)) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
PARSE_ERROR();
return;
}
@@ -2109,7 +2109,7 @@ void HTMLDocumentParser::handle_in_table_text(HTMLToken& token)
}
for (auto& pending_token : m_pending_table_character_tokens) {
- ASSERT(pending_token.is_character());
+ VERIFY(pending_token.is_character());
if (!pending_token.is_parser_whitespace()) {
// If any of the tokens in the pending table character tokens list
// are character tokens that are not ASCII whitespace, then this is a parse error:
@@ -2401,7 +2401,7 @@ void HTMLDocumentParser::handle_in_select(HTMLToken& token)
if (token.is_end_tag() && token.tag_name() == HTML::TagNames::select) {
if (!m_stack_of_open_elements.has_in_select_scope(HTML::TagNames::select)) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
PARSE_ERROR();
return;
}
@@ -2414,7 +2414,7 @@ void HTMLDocumentParser::handle_in_select(HTMLToken& token)
PARSE_ERROR();
if (!m_stack_of_open_elements.has_in_select_scope(HTML::TagNames::select)) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
return;
}
@@ -2427,7 +2427,7 @@ void HTMLDocumentParser::handle_in_select(HTMLToken& token)
PARSE_ERROR();
if (!m_stack_of_open_elements.has_in_select_scope(HTML::TagNames::select)) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
return;
}
@@ -2459,7 +2459,7 @@ void HTMLDocumentParser::handle_in_caption(HTMLToken& token)
{
if (token.is_end_tag() && token.tag_name() == HTML::TagNames::caption) {
if (!m_stack_of_open_elements.has_in_table_scope(HTML::TagNames::caption)) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
PARSE_ERROR();
return;
}
@@ -2479,7 +2479,7 @@ void HTMLDocumentParser::handle_in_caption(HTMLToken& token)
if ((token.is_start_tag() && token.tag_name().is_one_of(HTML::TagNames::caption, HTML::TagNames::col, HTML::TagNames::colgroup, HTML::TagNames::tbody, HTML::TagNames::td, HTML::TagNames::tfoot, HTML::TagNames::th, HTML::TagNames::thead, HTML::TagNames::tr))
|| (token.is_end_tag() && token.tag_name() == HTML::TagNames::table)) {
if (!m_stack_of_open_elements.has_in_table_scope(HTML::TagNames::caption)) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
PARSE_ERROR();
return;
}
@@ -2634,7 +2634,7 @@ void HTMLDocumentParser::handle_in_template(HTMLToken& token)
if (token.is_end_of_file()) {
if (!m_stack_of_open_elements.contains(HTML::TagNames::template_)) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
stop_parsing();
return;
}
@@ -2849,7 +2849,7 @@ void HTMLDocumentParser::process_using_the_rules_for_foreign_content(HTMLToken&
PARSE_ERROR();
for (ssize_t i = m_stack_of_open_elements.elements().size() - 1; i >= 0; --i) {
if (node == m_stack_of_open_elements.first()) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
return;
}
// FIXME: See the above FIXME
@@ -2870,7 +2870,7 @@ void HTMLDocumentParser::process_using_the_rules_for_foreign_content(HTMLToken&
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void HTMLDocumentParser::reset_the_insertion_mode_appropriately()
@@ -2935,14 +2935,14 @@ void HTMLDocumentParser::reset_the_insertion_mode_appropriately()
}
if (node->local_name() == HTML::TagNames::frameset) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
m_insertion_mode = InsertionMode::InFrameset;
return;
}
if (node->local_name() == HTML::TagNames::html) {
if (!m_head_element) {
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
m_insertion_mode = InsertionMode::BeforeHead;
return;
}
@@ -2952,7 +2952,7 @@ void HTMLDocumentParser::reset_the_insertion_mode_appropriately()
}
}
- ASSERT(m_parsing_fragment);
+ VERIFY(m_parsing_fragment);
m_insertion_mode = InsertionMode::InBody;
}
@@ -2965,7 +2965,7 @@ const char* HTMLDocumentParser::insertion_mode_name() const
ENUMERATE_INSERTION_MODES
#undef __ENUMERATE_INSERTION_MODE
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
DOM::Document& HTMLDocumentParser::document()
diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.cpp b/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.cpp
index 53a2357be5..38652bdb4e 100644
--- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.cpp
+++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.cpp
@@ -55,7 +55,7 @@ String HTMLToken::to_string() const
builder.append("EndOfFile");
break;
case HTMLToken::Type::Invalid:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (type() == HTMLToken::Type::StartTag || type() == HTMLToken::Type::EndTag) {
diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.h b/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.h
index c2246229c6..fcfad6e34b 100644
--- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.h
+++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.h
@@ -75,9 +75,9 @@ public:
u32 code_point() const
{
- ASSERT(is_character());
+ VERIFY(is_character());
Utf8View view(m_comment_or_character.data.string_view());
- ASSERT(view.length() == 1);
+ VERIFY(view.length() == 1);
return *view.begin();
}
@@ -100,19 +100,19 @@ public:
String tag_name() const
{
- ASSERT(is_start_tag() || is_end_tag());
+ VERIFY(is_start_tag() || is_end_tag());
return m_tag.tag_name.to_string();
}
bool is_self_closing() const
{
- ASSERT(is_start_tag() || is_end_tag());
+ VERIFY(is_start_tag() || is_end_tag());
return m_tag.self_closing;
}
bool has_acknowledged_self_closing_flag() const
{
- ASSERT(is_self_closing());
+ VERIFY(is_self_closing());
return m_tag.self_closing_acknowledged;
}
@@ -124,7 +124,7 @@ public:
StringView attribute(const FlyString& attribute_name)
{
- ASSERT(is_start_tag() || is_end_tag());
+ VERIFY(is_start_tag() || is_end_tag());
for (auto& attribute : m_tag.attributes) {
if (attribute_name == attribute.local_name_builder.string_view())
return attribute.value_builder.string_view();
@@ -139,7 +139,7 @@ public:
void adjust_tag_name(const FlyString& old_name, const FlyString& new_name)
{
- ASSERT(is_start_tag() || is_end_tag());
+ VERIFY(is_start_tag() || is_end_tag());
if (old_name == m_tag.tag_name.string_view()) {
m_tag.tag_name.clear();
m_tag.tag_name.append(new_name);
@@ -148,7 +148,7 @@ public:
void adjust_attribute_name(const FlyString& old_name, const FlyString& new_name)
{
- ASSERT(is_start_tag() || is_end_tag());
+ VERIFY(is_start_tag() || is_end_tag());
for (auto& attribute : m_tag.attributes) {
if (old_name == attribute.local_name_builder.string_view()) {
attribute.local_name_builder.clear();
@@ -159,7 +159,7 @@ public:
void adjust_foreign_attribute(const FlyString& old_name, const FlyString& prefix, const FlyString& local_name, const FlyString& namespace_)
{
- ASSERT(is_start_tag() || is_end_tag());
+ VERIFY(is_start_tag() || is_end_tag());
for (auto& attribute : m_tag.attributes) {
if (old_name == attribute.local_name_builder.string_view()) {
attribute.prefix_builder.clear();
@@ -176,7 +176,7 @@ public:
void drop_attributes()
{
- ASSERT(is_start_tag() || is_end_tag());
+ VERIFY(is_start_tag() || is_end_tag());
m_tag.attributes.clear();
}
diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp b/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp
index 6aa94b1163..2b35432a19 100644
--- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp
+++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.cpp
@@ -189,7 +189,7 @@ namespace Web::HTML {
{
#define END_STATE \
- ASSERT_NOT_REACHED(); \
+ VERIFY_NOT_REACHED(); \
break; \
} \
} \
@@ -2610,7 +2610,7 @@ void HTMLTokenizer::create_new_token(HTMLToken::Type type)
HTMLTokenizer::HTMLTokenizer(const StringView& input, const String& encoding)
{
auto* decoder = TextCodec::decoder_for(encoding);
- ASSERT(decoder);
+ VERIFY(decoder);
m_decoded_input = decoder->to_utf8(input);
m_utf8_view = Utf8View(m_decoded_input);
m_utf8_iterator = m_utf8_view.begin();
@@ -2640,7 +2640,7 @@ void HTMLTokenizer::will_emit(HTMLToken& token)
bool HTMLTokenizer::current_end_tag_token_is_appropriate() const
{
- ASSERT(m_current_token.is_end_tag());
+ VERIFY(m_current_token.is_end_tag());
if (!m_last_emitted_start_tag.is_start_tag())
return false;
return m_current_token.tag_name() == m_last_emitted_start_tag.tag_name();
diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.h b/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.h
index 787bc12b46..e0c84271c4 100644
--- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.h
+++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLTokenizer.h
@@ -152,7 +152,7 @@ private:
ENUMERATE_TOKENIZER_STATES
#undef __ENUMERATE_TOKENIZER_STATE
};
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void will_emit(HTMLToken&);
diff --git a/Userland/Libraries/LibWeb/HTML/Parser/StackOfOpenElements.cpp b/Userland/Libraries/LibWeb/HTML/Parser/StackOfOpenElements.cpp
index 2406711bff..502e8e0c6b 100644
--- a/Userland/Libraries/LibWeb/HTML/Parser/StackOfOpenElements.cpp
+++ b/Userland/Libraries/LibWeb/HTML/Parser/StackOfOpenElements.cpp
@@ -45,7 +45,7 @@ bool StackOfOpenElements::has_in_scope_impl(const FlyString& tag_name, const Vec
if (list.contains_slow(node.local_name()))
return false;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool StackOfOpenElements::has_in_scope(const FlyString& tag_name) const
@@ -62,7 +62,7 @@ bool StackOfOpenElements::has_in_scope_impl(const DOM::Element& target_node, con
if (list.contains_slow(node.local_name()))
return false;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool StackOfOpenElements::has_in_scope(const DOM::Element& target_node) const
diff --git a/Userland/Libraries/LibWeb/InProcessWebView.cpp b/Userland/Libraries/LibWeb/InProcessWebView.cpp
index b74cc8828c..7f664b3920 100644
--- a/Userland/Libraries/LibWeb/InProcessWebView.cpp
+++ b/Userland/Libraries/LibWeb/InProcessWebView.cpp
@@ -96,8 +96,8 @@ void InProcessWebView::select_all()
last_layout_node = layout_node;
}
- ASSERT(first_layout_node);
- ASSERT(last_layout_node);
+ VERIFY(first_layout_node);
+ VERIFY(last_layout_node);
int last_layout_node_index_in_node = 0;
if (is<Layout::TextNode>(*last_layout_node))
@@ -114,7 +114,7 @@ String InProcessWebView::selected_text() const
void InProcessWebView::page_did_layout()
{
- ASSERT(layout_root());
+ VERIFY(layout_root());
set_content_size(layout_root()->size().to_type<int>());
}
diff --git a/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp
index bb7def7bb5..2f1c1e96b4 100644
--- a/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp
+++ b/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp
@@ -359,7 +359,7 @@ void BlockFormattingContext::layout_block_level_children(Box& box, LayoutMode la
void BlockFormattingContext::place_block_level_replaced_element_in_normal_flow(Box& child_box, Box& containing_block)
{
- ASSERT(!containing_block.is_absolutely_positioned());
+ VERIFY(!containing_block.is_absolutely_positioned());
auto& replaced_element_box_model = child_box.box_model();
replaced_element_box_model.margin.top = child_box.computed_values().margin().top.resolved_or_zero(containing_block, containing_block.width()).to_px(child_box);
@@ -472,7 +472,7 @@ void BlockFormattingContext::layout_initial_containing_block(LayoutMode layout_m
layout_block_level_children(context_box(), layout_mode);
- ASSERT(!icb.children_are_inline());
+ VERIFY(!icb.children_are_inline());
// FIXME: The ICB should have the height of the viewport.
// Instead of auto-sizing the ICB, we should spill into overflow.
@@ -501,7 +501,7 @@ static Gfx::FloatRect rect_in_coordinate_space(const Box& box, const Box& contex
void BlockFormattingContext::layout_floating_child(Box& box, Box& containing_block)
{
- ASSERT(box.is_floating());
+ VERIFY(box.is_floating());
compute_width(box);
layout_inside(box, LayoutMode::Default);
diff --git a/Userland/Libraries/LibWeb/Layout/Box.cpp b/Userland/Libraries/LibWeb/Layout/Box.cpp
index 190340f13c..0cea9f0b3f 100644
--- a/Userland/Libraries/LibWeb/Layout/Box.cpp
+++ b/Userland/Libraries/LibWeb/Layout/Box.cpp
@@ -156,11 +156,11 @@ StackingContext* Box::enclosing_stacking_context()
auto& ancestor_box = downcast<Box>(*ancestor);
if (!ancestor_box.establishes_stacking_context())
continue;
- ASSERT(ancestor_box.stacking_context());
+ VERIFY(ancestor_box.stacking_context());
return ancestor_box.stacking_context();
}
// We should always reach the Layout::InitialContainingBlockBox stacking context.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
bool Box::establishes_stacking_context() const
@@ -196,7 +196,7 @@ LineBox& Box::add_line_box()
float Box::width_of_logical_containing_block() const
{
auto* containing_block = this->containing_block();
- ASSERT(containing_block);
+ VERIFY(containing_block);
return containing_block->width();
}
diff --git a/Userland/Libraries/LibWeb/Layout/FormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/FormattingContext.cpp
index 11d0c6b7b0..b96fa7d039 100644
--- a/Userland/Libraries/LibWeb/Layout/FormattingContext.cpp
+++ b/Userland/Libraries/LibWeb/Layout/FormattingContext.cpp
@@ -99,7 +99,7 @@ void FormattingContext::layout_inside(Box& box, LayoutMode layout_mode)
context.run(box, layout_mode);
} else {
// FIXME: This needs refactoring!
- ASSERT(is_block_formatting_context());
+ VERIFY(is_block_formatting_context());
run(box, layout_mode);
}
}
diff --git a/Userland/Libraries/LibWeb/Layout/FrameBox.cpp b/Userland/Libraries/LibWeb/Layout/FrameBox.cpp
index f3210ad941..d0c8b432c6 100644
--- a/Userland/Libraries/LibWeb/Layout/FrameBox.cpp
+++ b/Userland/Libraries/LibWeb/Layout/FrameBox.cpp
@@ -45,7 +45,7 @@ FrameBox::~FrameBox()
void FrameBox::prepare_for_replaced_layout()
{
- ASSERT(dom_node().content_frame());
+ VERIFY(dom_node().content_frame());
set_has_intrinsic_width(true);
set_has_intrinsic_height(true);
@@ -90,7 +90,7 @@ void FrameBox::did_set_rect()
{
ReplacedBox::did_set_rect();
- ASSERT(dom_node().content_frame());
+ VERIFY(dom_node().content_frame());
dom_node().content_frame()->set_size(size().to_type<int>());
}
diff --git a/Userland/Libraries/LibWeb/Layout/InitialContainingBlockBox.cpp b/Userland/Libraries/LibWeb/Layout/InitialContainingBlockBox.cpp
index 587c9198c8..fa74a76dda 100644
--- a/Userland/Libraries/LibWeb/Layout/InitialContainingBlockBox.cpp
+++ b/Userland/Libraries/LibWeb/Layout/InitialContainingBlockBox.cpp
@@ -51,11 +51,11 @@ void InitialContainingBlockBox::build_stacking_context_tree()
if (&box == this)
return IterationDecision::Continue;
if (!box.establishes_stacking_context()) {
- ASSERT(!box.stacking_context());
+ VERIFY(!box.stacking_context());
return IterationDecision::Continue;
}
auto* parent_context = box.enclosing_stacking_context();
- ASSERT(parent_context);
+ VERIFY(parent_context);
box.set_stacking_context(make<StackingContext>(box, parent_context));
return IterationDecision::Continue;
});
diff --git a/Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp
index 50430ce843..0e57f6a184 100644
--- a/Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp
+++ b/Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp
@@ -90,10 +90,10 @@ float InlineFormattingContext::available_width_at_line(size_t line_index) const
void InlineFormattingContext::run(Box&, LayoutMode layout_mode)
{
- ASSERT(containing_block().children_are_inline());
+ VERIFY(containing_block().children_are_inline());
containing_block().line_boxes().clear();
containing_block().for_each_child([&](auto& child) {
- ASSERT(child.is_inline());
+ VERIFY(child.is_inline());
if (is<Box>(child) && child.is_absolutely_positioned()) {
layout_absolutely_positioned_element(downcast<Box>(child));
return;
diff --git a/Userland/Libraries/LibWeb/Layout/LayoutPosition.cpp b/Userland/Libraries/LibWeb/Layout/LayoutPosition.cpp
index c1f6aa1db9..c7c1d3995b 100644
--- a/Userland/Libraries/LibWeb/Layout/LayoutPosition.cpp
+++ b/Userland/Libraries/LibWeb/Layout/LayoutPosition.cpp
@@ -55,7 +55,7 @@ LayoutRange LayoutRange::normalized() const
NonnullRefPtr<DOM::Range> LayoutRange::to_dom_range() const
{
- ASSERT(is_valid());
+ VERIFY(is_valid());
auto start = m_start.to_dom_position();
auto end = m_end.to_dom_position();
diff --git a/Userland/Libraries/LibWeb/Layout/Node.cpp b/Userland/Libraries/LibWeb/Layout/Node.cpp
index e62a688513..5c708f42eb 100644
--- a/Userland/Libraries/LibWeb/Layout/Node.cpp
+++ b/Userland/Libraries/LibWeb/Layout/Node.cpp
@@ -114,25 +114,25 @@ HitTestResult Node::hit_test(const Gfx::IntPoint& position, HitTestType type) co
const Frame& Node::frame() const
{
- ASSERT(document().frame());
+ VERIFY(document().frame());
return *document().frame();
}
Frame& Node::frame()
{
- ASSERT(document().frame());
+ VERIFY(document().frame());
return *document().frame();
}
const InitialContainingBlockBox& Node::root() const
{
- ASSERT(document().layout_node());
+ VERIFY(document().layout_node());
return *document().layout_node();
}
InitialContainingBlockBox& Node::root()
{
- ASSERT(document().layout_node());
+ VERIFY(document().layout_node());
return *document().layout_node();
}
@@ -159,7 +159,7 @@ Gfx::FloatPoint Node::box_type_agnostic_position() const
{
if (is<Box>(*this))
return downcast<Box>(*this).absolute_position();
- ASSERT(is_inline());
+ VERIFY(is_inline());
Gfx::FloatPoint position;
if (auto* block = containing_block()) {
block->for_each_fragment([&](auto& fragment) {
diff --git a/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp b/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp
index 23fa3eaf6e..79c5e58784 100644
--- a/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp
+++ b/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp
@@ -115,7 +115,7 @@ void TreeBuilder::create_layout_tree(DOM::Node& dom_node)
if (!m_parent_stack[i]->is_inline() || m_parent_stack[i]->is_inline_block())
return *m_parent_stack[i];
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}();
auto& insertion_point = insertion_parent_for_block_node(nearest_non_inline_ancestor, *layout_node);
insertion_point.append_child(*layout_node);
@@ -260,7 +260,7 @@ static void for_each_sequence_of_consecutive_children_matching(NodeWithStyle& pa
template<typename WrapperBoxType>
static void wrap_in_anonymous(NonnullRefPtrVector<Node>& sequence, Node* nearest_sibling)
{
- ASSERT(!sequence.is_empty());
+ VERIFY(!sequence.is_empty());
auto& parent = *sequence.first().parent();
auto computed_values = parent.computed_values().clone_inherited_values();
static_cast<CSS::MutableComputedValues&>(computed_values).set_display(WrapperBoxType::static_display());
diff --git a/Userland/Libraries/LibWeb/LayoutTreeModel.cpp b/Userland/Libraries/LibWeb/LayoutTreeModel.cpp
index 440b2fce52..b2caa2d6ca 100644
--- a/Userland/Libraries/LibWeb/LayoutTreeModel.cpp
+++ b/Userland/Libraries/LibWeb/LayoutTreeModel.cpp
@@ -78,7 +78,7 @@ GUI::ModelIndex LayoutTreeModel::parent_index(const GUI::ModelIndex& index) cons
++grandparent_child_index;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return {};
}
diff --git a/Userland/Libraries/LibWeb/Loader/FrameLoader.cpp b/Userland/Libraries/LibWeb/Loader/FrameLoader.cpp
index 6dcbaa5434..956fa31295 100644
--- a/Userland/Libraries/LibWeb/Loader/FrameLoader.cpp
+++ b/Userland/Libraries/LibWeb/Loader/FrameLoader.cpp
@@ -227,7 +227,7 @@ void FrameLoader::load_error_page(const URL& failed_url, const String& error)
ResourceLoader::the().load(
error_page_url,
[this, failed_url, error](auto data, auto&) {
- ASSERT(!data.is_null());
+ VERIFY(!data.is_null());
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
auto html = String::format(
String::copy(data).characters(),
@@ -235,12 +235,12 @@ void FrameLoader::load_error_page(const URL& failed_url, const String& error)
escape_html_entities(error).characters());
#pragma GCC diagnostic pop
auto document = HTML::parse_html_document(html, failed_url, "utf-8");
- ASSERT(document);
+ VERIFY(document);
frame().set_document(document);
},
[](auto error) {
dbgln("Failed to load error page: {}", error);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
});
}
@@ -279,7 +279,7 @@ void FrameLoader::resource_did_load()
if (auto* host_element = frame().host_element()) {
// FIXME: Perhaps in the future we'll have a better common base class for <frame> and <iframe>
- ASSERT(is<HTML::HTMLIFrameElement>(*host_element));
+ VERIFY(is<HTML::HTMLIFrameElement>(*host_element));
downcast<HTML::HTMLIFrameElement>(*host_element).content_frame_did_load({});
}
diff --git a/Userland/Libraries/LibWeb/Loader/ImageLoader.cpp b/Userland/Libraries/LibWeb/Loader/ImageLoader.cpp
index 30bfa5ab81..4d049c8d5f 100644
--- a/Userland/Libraries/LibWeb/Loader/ImageLoader.cpp
+++ b/Userland/Libraries/LibWeb/Loader/ImageLoader.cpp
@@ -60,7 +60,7 @@ void ImageLoader::set_visible_in_viewport(bool visible_in_viewport) const
void ImageLoader::resource_did_load()
{
- ASSERT(resource());
+ VERIFY(resource());
if (!resource()->mime_type().starts_with("image/")) {
m_loading_state = LoadingState::Failed;
diff --git a/Userland/Libraries/LibWeb/Loader/Resource.cpp b/Userland/Libraries/LibWeb/Loader/Resource.cpp
index 03f17b34d1..048d500aec 100644
--- a/Userland/Libraries/LibWeb/Loader/Resource.cpp
+++ b/Userland/Libraries/LibWeb/Loader/Resource.cpp
@@ -87,7 +87,7 @@ static String mime_type_from_content_type(const String& content_type)
void Resource::did_load(Badge<ResourceLoader>, ReadonlyBytes data, const HashMap<String, String, CaseInsensitiveStringTraits>& headers)
{
- ASSERT(!m_loaded);
+ VERIFY(!m_loaded);
m_encoded_data = ByteBuffer::copy(data);
m_response_headers = headers;
m_loaded = true;
@@ -128,13 +128,13 @@ void Resource::did_fail(Badge<ResourceLoader>, const String& error)
void Resource::register_client(Badge<ResourceClient>, ResourceClient& client)
{
- ASSERT(!m_clients.contains(&client));
+ VERIFY(!m_clients.contains(&client));
m_clients.set(&client);
}
void Resource::unregister_client(Badge<ResourceClient>, ResourceClient& client)
{
- ASSERT(m_clients.contains(&client));
+ VERIFY(m_clients.contains(&client));
m_clients.remove(&client);
}
@@ -144,7 +144,7 @@ void ResourceClient::set_resource(Resource* resource)
m_resource->unregister_client({}, *this);
m_resource = resource;
if (m_resource) {
- ASSERT(resource->type() == client_type());
+ VERIFY(resource->type() == client_type());
m_resource->register_client({}, *this);
diff --git a/Userland/Libraries/LibWeb/OutOfProcessWebView.cpp b/Userland/Libraries/LibWeb/OutOfProcessWebView.cpp
index 29e3467ceb..df60760b4b 100644
--- a/Userland/Libraries/LibWeb/OutOfProcessWebView.cpp
+++ b/Userland/Libraries/LibWeb/OutOfProcessWebView.cpp
@@ -55,7 +55,7 @@ OutOfProcessWebView::~OutOfProcessWebView()
void OutOfProcessWebView::handle_web_content_process_crash()
{
create_client();
- ASSERT(m_client_state.client);
+ VERIFY(m_client_state.client);
// Don't keep a stale backup bitmap around.
m_backup_bitmap = nullptr;
@@ -337,7 +337,7 @@ void OutOfProcessWebView::request_repaint()
WebContentClient& OutOfProcessWebView::client()
{
- ASSERT(m_client_state.client);
+ VERIFY(m_client_state.client);
return *m_client_state.client;
}
diff --git a/Userland/Libraries/LibWeb/Page/Frame.cpp b/Userland/Libraries/LibWeb/Page/Frame.cpp
index 2dab2252c3..4c90e16fa1 100644
--- a/Userland/Libraries/LibWeb/Page/Frame.cpp
+++ b/Userland/Libraries/LibWeb/Page/Frame.cpp
@@ -277,7 +277,7 @@ String Frame::selected_text() const
}
// End node
- ASSERT(layout_node == selection.end().layout_node);
+ VERIFY(layout_node == selection.end().layout_node);
if (is<Layout::TextNode>(*layout_node)) {
auto& text = downcast<Layout::TextNode>(*layout_node).text_for_rendering();
builder.append(text.substring(0, selection.end().index_in_node));
@@ -289,13 +289,13 @@ String Frame::selected_text() const
void Frame::register_viewport_client(ViewportClient& client)
{
auto result = m_viewport_clients.set(&client);
- ASSERT(result == AK::HashSetResult::InsertedNewEntry);
+ VERIFY(result == AK::HashSetResult::InsertedNewEntry);
}
void Frame::unregister_viewport_client(ViewportClient& client)
{
bool was_removed = m_viewport_clients.remove(&client);
- ASSERT(was_removed);
+ VERIFY(was_removed);
}
}
diff --git a/Userland/Libraries/LibWeb/Painting/StackingContext.cpp b/Userland/Libraries/LibWeb/Painting/StackingContext.cpp
index 7524f4fff9..fc9dbc8d02 100644
--- a/Userland/Libraries/LibWeb/Painting/StackingContext.cpp
+++ b/Userland/Libraries/LibWeb/Painting/StackingContext.cpp
@@ -37,7 +37,7 @@ StackingContext::StackingContext(Box& box, StackingContext* parent)
: m_box(box)
, m_parent(parent)
{
- ASSERT(m_parent != this);
+ VERIFY(m_parent != this);
if (m_parent) {
m_parent->m_children.append(this);
diff --git a/Userland/Libraries/LibWeb/SVG/SVGPathElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGPathElement.cpp
index f812d42dfc..07773c0f72 100644
--- a/Userland/Libraries/LibWeb/SVG/SVGPathElement.cpp
+++ b/Userland/Libraries/LibWeb/SVG/SVGPathElement.cpp
@@ -38,7 +38,7 @@ namespace Web::SVG {
static void print_instruction(const PathInstruction& instruction)
{
- ASSERT(PATH_DEBUG);
+ VERIFY(PATH_DEBUG);
auto& data = instruction.data;
@@ -115,7 +115,7 @@ Vector<PathInstruction> PathDataParser::parse()
while (!done())
parse_drawto();
if (!m_instructions.is_empty() && m_instructions[0].type != PathInstructionType::Move)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return m_instructions;
}
@@ -348,7 +348,7 @@ void PathDataParser::parse_whitespace(bool must_match_once)
matched = true;
}
- ASSERT(!must_match_once || matched);
+ VERIFY(!must_match_once || matched);
}
void PathDataParser::parse_comma_whitespace()
@@ -379,7 +379,7 @@ float PathDataParser::parse_fractional_constant()
while (!done() && isdigit(ch()))
builder.append(consume());
} else {
- ASSERT(builder.length() > 0);
+ VERIFY(builder.length() > 0);
}
if (floating_point)
@@ -398,7 +398,7 @@ float PathDataParser::parse_number()
float PathDataParser::parse_flag()
{
if (!match('0') && !match('1'))
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return consume() - '0';
}
@@ -475,7 +475,7 @@ Gfx::Path& SVGPathElement::get_path()
if (absolute) {
path.move_to(point);
} else {
- ASSERT(!path.segments().is_empty());
+ VERIFY(!path.segments().is_empty());
path.move_to(point + path.segments().last().point());
}
break;
@@ -488,13 +488,13 @@ Gfx::Path& SVGPathElement::get_path()
if (absolute) {
path.line_to(point);
} else {
- ASSERT(!path.segments().is_empty());
+ VERIFY(!path.segments().is_empty());
path.line_to(point + path.segments().last().point());
}
break;
}
case PathInstructionType::HorizontalLine: {
- ASSERT(!path.segments().is_empty());
+ VERIFY(!path.segments().is_empty());
auto last_point = path.segments().last().point();
if (absolute) {
path.line_to(Gfx::FloatPoint { data[0], last_point.y() });
@@ -504,7 +504,7 @@ Gfx::Path& SVGPathElement::get_path()
break;
}
case PathInstructionType::VerticalLine: {
- ASSERT(!path.segments().is_empty());
+ VERIFY(!path.segments().is_empty());
auto last_point = path.segments().last().point();
if (absolute) {
path.line_to(Gfx::FloatPoint { last_point.x(), data[0] });
@@ -610,7 +610,7 @@ Gfx::Path& SVGPathElement::get_path()
path.quadratic_bezier_curve_to(through, point);
m_previous_control_point = through;
} else {
- ASSERT(!path.segments().is_empty());
+ VERIFY(!path.segments().is_empty());
auto last_point = path.segments().last().point();
auto control_point = through + last_point;
path.quadratic_bezier_curve_to(control_point, point + last_point);
@@ -621,7 +621,7 @@ Gfx::Path& SVGPathElement::get_path()
case PathInstructionType::SmoothQuadraticBezierCurve: {
clear_last_control_point = false;
- ASSERT(!path.segments().is_empty());
+ VERIFY(!path.segments().is_empty());
auto last_point = path.segments().last().point();
if (m_previous_control_point.is_null()) {
@@ -650,7 +650,7 @@ Gfx::Path& SVGPathElement::get_path()
// with these path instructions, let's just skip them
continue;
case PathInstructionType::Invalid:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (clear_last_control_point) {
diff --git a/Userland/Libraries/LibWeb/StylePropertiesModel.cpp b/Userland/Libraries/LibWeb/StylePropertiesModel.cpp
index 123337db8e..fde0a4898a 100644
--- a/Userland/Libraries/LibWeb/StylePropertiesModel.cpp
+++ b/Userland/Libraries/LibWeb/StylePropertiesModel.cpp
@@ -58,7 +58,7 @@ String StylePropertiesModel::column_name(int column_index) const
case Column::PropertyValue:
return "Value";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
GUI::Variant StylePropertiesModel::data(const GUI::ModelIndex& index, GUI::ModelRole role) const
diff --git a/Userland/Libraries/LibWeb/TreeNode.h b/Userland/Libraries/LibWeb/TreeNode.h
index 1673a52dc5..c304230e7b 100644
--- a/Userland/Libraries/LibWeb/TreeNode.h
+++ b/Userland/Libraries/LibWeb/TreeNode.h
@@ -39,15 +39,15 @@ class TreeNode : public Weakable<T> {
public:
void ref()
{
- ASSERT(!m_in_removed_last_ref);
- ASSERT(m_ref_count);
+ VERIFY(!m_in_removed_last_ref);
+ VERIFY(m_ref_count);
++m_ref_count;
}
void unref()
{
- ASSERT(!m_in_removed_last_ref);
- ASSERT(m_ref_count);
+ VERIFY(!m_in_removed_last_ref);
+ VERIFY(m_ref_count);
if (!--m_ref_count) {
if constexpr (IsBaseOf<DOM::Node, T>::value) {
m_in_removed_last_ref = true;
@@ -324,7 +324,7 @@ inline void TreeNode<T>::remove_all_children()
template<typename T>
inline NonnullRefPtr<T> TreeNode<T>::remove_child(NonnullRefPtr<T> node)
{
- ASSERT(node->m_parent == this);
+ VERIFY(node->m_parent == this);
if (m_first_child == node)
m_first_child = node->m_next_sibling;
@@ -354,7 +354,7 @@ inline NonnullRefPtr<T> TreeNode<T>::remove_child(NonnullRefPtr<T> node)
template<typename T>
inline void TreeNode<T>::append_child(NonnullRefPtr<T> node, bool notify)
{
- ASSERT(!node->m_parent);
+ VERIFY(!node->m_parent);
if (!static_cast<T*>(this)->is_child_allowed(*node))
return;
@@ -380,8 +380,8 @@ inline void TreeNode<T>::insert_before(NonnullRefPtr<T> node, RefPtr<T> child, b
if (!child)
return append_child(move(node), notify);
- ASSERT(!node->m_parent);
- ASSERT(child->parent() == this);
+ VERIFY(!node->m_parent);
+ VERIFY(child->parent() == this);
if (!static_cast<T*>(this)->is_child_allowed(*node))
return;
@@ -412,7 +412,7 @@ inline void TreeNode<T>::insert_before(NonnullRefPtr<T> node, RefPtr<T> child, b
template<typename T>
inline void TreeNode<T>::prepend_child(NonnullRefPtr<T> node)
{
- ASSERT(!node->m_parent);
+ VERIFY(!node->m_parent);
if (!static_cast<T*>(this)->is_child_allowed(*node))
return;
diff --git a/Userland/Libraries/LibWeb/WebContentClient.cpp b/Userland/Libraries/LibWeb/WebContentClient.cpp
index 56a25cf7f6..ed947be896 100644
--- a/Userland/Libraries/LibWeb/WebContentClient.cpp
+++ b/Userland/Libraries/LibWeb/WebContentClient.cpp
@@ -39,7 +39,7 @@ WebContentClient::WebContentClient(OutOfProcessWebView& view)
void WebContentClient::die()
{
- ASSERT(on_web_content_process_crash);
+ VERIFY(on_web_content_process_crash);
on_web_content_process_crash();
}
diff --git a/Userland/Libraries/LibX86/Instruction.cpp b/Userland/Libraries/LibX86/Instruction.cpp
index c8713e723a..eb24a7db3a 100644
--- a/Userland/Libraries/LibX86/Instruction.cpp
+++ b/Userland/Libraries/LibX86/Instruction.cpp
@@ -195,7 +195,7 @@ static void build(InstructionDescriptor* table, u8 op, const char* mnemonic, Ins
static void build_slash(InstructionDescriptor* table, u8 op, u8 slash, const char* mnemonic, InstructionFormat format, InstructionHandler handler, IsLockPrefixAllowed lock_prefix_allowed = LockPrefixNotAllowed)
{
InstructionDescriptor& d = table[op];
- ASSERT(d.handler == nullptr);
+ VERIFY(d.handler == nullptr);
d.format = MultibyteWithSlash;
d.has_rm = true;
if (!d.slashes)
@@ -206,11 +206,11 @@ static void build_slash(InstructionDescriptor* table, u8 op, u8 slash, const cha
static void build_slash_rm(InstructionDescriptor* table, u8 op, u8 slash, u8 rm, const char* mnemonic, InstructionFormat format, InstructionHandler handler)
{
- ASSERT((rm & 0xc0) == 0xc0);
- ASSERT(((rm >> 3) & 7) == slash);
+ VERIFY((rm & 0xc0) == 0xc0);
+ VERIFY(((rm >> 3) & 7) == slash);
InstructionDescriptor& d0 = table[op];
- ASSERT(d0.format == MultibyteWithSlash);
+ VERIFY(d0.format == MultibyteWithSlash);
InstructionDescriptor& d = d0.slashes[slash];
if (!d.slashes) {
@@ -937,19 +937,19 @@ String MemoryOrRegisterReference::to_string_o32(const Instruction& insn) const
String MemoryOrRegisterReference::to_string_fpu_reg() const
{
- ASSERT(is_register());
+ VERIFY(is_register());
return register_name(reg_fpu());
}
String MemoryOrRegisterReference::to_string_fpu_mem(const Instruction& insn) const
{
- ASSERT(!is_register());
+ VERIFY(!is_register());
return String::format("[%s]", to_string(insn).characters());
}
String MemoryOrRegisterReference::to_string_fpu_ax16() const
{
- ASSERT(is_register());
+ VERIFY(is_register());
return register_name(reg16());
}
@@ -976,7 +976,7 @@ String MemoryOrRegisterReference::to_string_fpu64(const Instruction& insn) const
String MemoryOrRegisterReference::to_string_fpu80(const Instruction& insn) const
{
- ASSERT(!is_register());
+ VERIFY(!is_register());
return String::format("tbyte ptr [%s]", to_string(insn).characters());
}
String MemoryOrRegisterReference::to_string_mm(const Instruction& insn) const
@@ -1824,7 +1824,7 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, const S
String Instruction::mnemonic() const
{
if (!m_descriptor) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return m_descriptor->mnemonic;
}
diff --git a/Userland/Libraries/LibX86/Instruction.h b/Userland/Libraries/LibX86/Instruction.h
index 64505856ff..0473841724 100644
--- a/Userland/Libraries/LibX86/Instruction.h
+++ b/Userland/Libraries/LibX86/Instruction.h
@@ -641,7 +641,7 @@ ALWAYS_INLINE u32 MemoryOrRegisterReference::evaluate_sib(const CPU& cpu, Segmen
base += cpu.ebp().value();
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
break;
@@ -689,7 +689,7 @@ ALWAYS_INLINE void MemoryOrRegisterReference::write32(CPU& cpu, const Instructio
template<typename CPU, typename T>
ALWAYS_INLINE void MemoryOrRegisterReference::write64(CPU& cpu, const Instruction& insn, T value)
{
- ASSERT(!is_register());
+ VERIFY(!is_register());
auto address = resolve(cpu, insn);
cpu.write_memory64(address, value);
}
@@ -727,7 +727,7 @@ ALWAYS_INLINE typename CPU::ValueWithShadowType32 MemoryOrRegisterReference::rea
template<typename CPU>
ALWAYS_INLINE typename CPU::ValueWithShadowType64 MemoryOrRegisterReference::read64(CPU& cpu, const Instruction& insn)
{
- ASSERT(!is_register());
+ VERIFY(!is_register());
auto address = resolve(cpu, insn);
return cpu.read_memory64(address);
}
@@ -864,7 +864,7 @@ ALWAYS_INLINE Instruction::Instruction(InstructionStreamType& stream, bool o32,
m_imm2 = stream.read32();
break;
default:
- ASSERT(imm2_bytes == 0);
+ VERIFY(imm2_bytes == 0);
break;
}
@@ -879,7 +879,7 @@ ALWAYS_INLINE Instruction::Instruction(InstructionStreamType& stream, bool o32,
m_imm1 = stream.read32();
break;
default:
- ASSERT(imm1_bytes == 0);
+ VERIFY(imm1_bytes == 0);
break;
}
@@ -910,7 +910,7 @@ ALWAYS_INLINE void MemoryOrRegisterReference::decode(InstructionStreamType& stre
m_displacement32 = stream.read32();
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
} else {
@@ -925,7 +925,7 @@ ALWAYS_INLINE void MemoryOrRegisterReference::decode(InstructionStreamType& stre
m_displacement16 = stream.read16();
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
@@ -939,7 +939,7 @@ ALWAYS_INLINE void MemoryOrRegisterReference::decode16(InstructionStreamType&)
if ((m_rm & 0x07) == 6)
m_displacement_bytes = 2;
else
- ASSERT(m_displacement_bytes == 0);
+ VERIFY(m_displacement_bytes == 0);
break;
case 0x40:
m_displacement_bytes = 1;
@@ -987,7 +987,7 @@ ALWAYS_INLINE void MemoryOrRegisterReference::decode32(InstructionStreamType& st
m_displacement_bytes = 4;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
diff --git a/Userland/MenuApplets/Audio/main.cpp b/Userland/MenuApplets/Audio/main.cpp
index 0e7e8236c4..4bdcaa7d86 100644
--- a/Userland/MenuApplets/Audio/main.cpp
+++ b/Userland/MenuApplets/Audio/main.cpp
@@ -186,7 +186,7 @@ private:
if (m_audio_volume >= pair.volume_threshold)
return *pair.bitmap;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void reposition_slider_window() { m_slider_window->set_rect(window()->rect_in_menubar().x() - 20, 19, 50, 100); }
diff --git a/Userland/MenuApplets/ClipboardHistory/ClipboardHistoryModel.cpp b/Userland/MenuApplets/ClipboardHistory/ClipboardHistoryModel.cpp
index 9662c64448..2afbeca41a 100644
--- a/Userland/MenuApplets/ClipboardHistory/ClipboardHistoryModel.cpp
+++ b/Userland/MenuApplets/ClipboardHistory/ClipboardHistoryModel.cpp
@@ -47,7 +47,7 @@ String ClipboardHistoryModel::column_name(int column) const
case Column::Size:
return "Size";
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -101,7 +101,7 @@ GUI::Variant ClipboardHistoryModel::data(const GUI::ModelIndex& index, GUI::Mode
case Column::Size:
return AK::human_readable_size(data_and_type.data.size());
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/MenuApplets/ResourceGraph/main.cpp b/Userland/MenuApplets/ResourceGraph/main.cpp
index a7e91ba233..fbb271d164 100644
--- a/Userland/MenuApplets/ResourceGraph/main.cpp
+++ b/Userland/MenuApplets/ResourceGraph/main.cpp
@@ -95,7 +95,7 @@ private:
break;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
set_tooltip(m_tooltip);
update();
@@ -175,7 +175,7 @@ private:
auto file_contents = m_proc_mem->read_all();
auto json = JsonValue::from_string(file_contents);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
auto& obj = json.value().as_object();
unsigned kmalloc_allocated = obj.get("kmalloc_allocated").to_u32();
unsigned kmalloc_available = obj.get("kmalloc_available").to_u32();
diff --git a/Userland/Services/AudioServer/Mixer.cpp b/Userland/Services/AudioServer/Mixer.cpp
index 66a33ed23d..70f791ba8a 100644
--- a/Userland/Services/AudioServer/Mixer.cpp
+++ b/Userland/Services/AudioServer/Mixer.cpp
@@ -125,8 +125,8 @@ void Mixer::mix()
stream << out_sample;
}
- ASSERT(stream.is_end());
- ASSERT(!stream.has_any_error());
+ VERIFY(stream.is_end());
+ VERIFY(!stream.has_any_error());
m_device->write(stream.data(), stream.size());
}
}
diff --git a/Userland/Services/AudioServer/main.cpp b/Userland/Services/AudioServer/main.cpp
index ee7c8ca8fd..ff71b5b6e1 100644
--- a/Userland/Services/AudioServer/main.cpp
+++ b/Userland/Services/AudioServer/main.cpp
@@ -40,7 +40,7 @@ int main(int, char**)
auto server = Core::LocalServer::construct();
bool ok = server->take_over_from_system_server();
- ASSERT(ok);
+ VERIFY(ok);
server->on_ready_to_accept = [&] {
auto client_socket = server->accept();
if (!client_socket) {
diff --git a/Userland/Services/ChessEngine/ChessEngine.cpp b/Userland/Services/ChessEngine/ChessEngine.cpp
index e45965d771..0e9ebc6159 100644
--- a/Userland/Services/ChessEngine/ChessEngine.cpp
+++ b/Userland/Services/ChessEngine/ChessEngine.cpp
@@ -41,10 +41,10 @@ void ChessEngine::handle_uci()
void ChessEngine::handle_position(const PositionCommand& command)
{
// FIXME: Implement fen board position.
- ASSERT(!command.fen().has_value());
+ VERIFY(!command.fen().has_value());
m_board = Chess::Board();
for (auto& move : command.moves()) {
- ASSERT(m_board.apply_move(move));
+ VERIFY(m_board.apply_move(move));
}
}
@@ -52,7 +52,7 @@ void ChessEngine::handle_go(const GoCommand& command)
{
// FIXME: A better algorithm than naive mcts.
// FIXME: Add different ways to terminate search.
- ASSERT(command.movetime.has_value());
+ VERIFY(command.movetime.has_value());
srand(arc4random());
diff --git a/Userland/Services/ChessEngine/MCTSTree.cpp b/Userland/Services/ChessEngine/MCTSTree.cpp
index dc195089fe..a0004e8017 100644
--- a/Userland/Services/ChessEngine/MCTSTree.cpp
+++ b/Userland/Services/ChessEngine/MCTSTree.cpp
@@ -51,13 +51,13 @@ MCTSTree& MCTSTree::select_leaf()
node = &child;
}
}
- ASSERT(node);
+ VERIFY(node);
return node->select_leaf();
}
MCTSTree& MCTSTree::expand()
{
- ASSERT(!expanded() || m_children.size() == 0);
+ VERIFY(!expanded() || m_children.size() == 0);
if (!m_moves_generated) {
m_board.generate_moves([&](Chess::Move move) {
@@ -78,12 +78,12 @@ MCTSTree& MCTSTree::expand()
return child;
}
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
int MCTSTree::simulate_game() const
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
Chess::Board clone = m_board;
while (!clone.game_finished()) {
clone.apply_move(clone.random_move());
@@ -135,7 +135,7 @@ Chess::Move MCTSTree::best_move() const
Chess::Move best_move = { { 0, 0 }, { 0, 0 } };
double best_score = -double(INFINITY);
- ASSERT(m_children.size());
+ VERIFY(m_children.size());
for (auto& node : m_children) {
double node_score = node.expected_value() * score_multiplier;
if (node_score >= best_score) {
diff --git a/Userland/Services/Clipboard/main.cpp b/Userland/Services/Clipboard/main.cpp
index 94efa7a67e..aad3af04b4 100644
--- a/Userland/Services/Clipboard/main.cpp
+++ b/Userland/Services/Clipboard/main.cpp
@@ -48,7 +48,7 @@ int main(int, char**)
auto server = Core::LocalServer::construct();
bool ok = server->take_over_from_system_server();
- ASSERT(ok);
+ VERIFY(ok);
if (pledge("stdio recvfd sendfd accept", nullptr) < 0) {
perror("pledge");
diff --git a/Userland/Services/CrashDaemon/main.cpp b/Userland/Services/CrashDaemon/main.cpp
index b651675864..6b27e3d41b 100644
--- a/Userland/Services/CrashDaemon/main.cpp
+++ b/Userland/Services/CrashDaemon/main.cpp
@@ -40,7 +40,7 @@ static void wait_until_coredump_is_ready(const String& coredump_path)
struct stat statbuf;
if (stat(coredump_path.characters(), &statbuf) < 0) {
perror("stat");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (statbuf.st_mode & 0400) // Check if readable
break;
@@ -92,7 +92,7 @@ int main()
Core::BlockingFileWatcher watcher { "/tmp/coredump" };
while (true) {
auto event = watcher.wait_for_event();
- ASSERT(event.has_value());
+ VERIFY(event.has_value());
if (event.value().type != Core::FileWatcherEvent::Type::ChildAdded)
continue;
auto coredump_path = event.value().child_path;
diff --git a/Userland/Services/DHCPClient/DHCPv4.h b/Userland/Services/DHCPClient/DHCPv4.h
index c5738c6cf7..23ffb446a6 100644
--- a/Userland/Services/DHCPClient/DHCPv4.h
+++ b/Userland/Services/DHCPClient/DHCPv4.h
@@ -269,9 +269,9 @@ public:
void add_option(DHCPOption option, u8 length, const void* data)
{
- ASSERT(m_can_add);
+ VERIFY(m_can_add);
// we need enough space to fit the option value, its length, and its data
- ASSERT(next_option_offset + length + 2 < DHCPV4_OPTION_FIELD_MAX_LENGTH);
+ VERIFY(next_option_offset + length + 2 < DHCPV4_OPTION_FIELD_MAX_LENGTH);
auto* options = peek().options();
options[next_option_offset++] = (u8)option;
diff --git a/Userland/Services/DHCPClient/DHCPv4Client.cpp b/Userland/Services/DHCPClient/DHCPv4Client.cpp
index 74ddb40ee4..8bf421ab81 100644
--- a/Userland/Services/DHCPClient/DHCPv4Client.cpp
+++ b/Userland/Services/DHCPClient/DHCPv4Client.cpp
@@ -126,7 +126,7 @@ DHCPv4Client::DHCPv4Client(Vector<InterfaceDescriptor> ifnames)
if (!m_server->bind({}, 68)) {
dbgln("The server we just created somehow came already bound, refusing to continue");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
for (auto& iface : m_ifnames)
@@ -233,7 +233,7 @@ void DHCPv4Client::process_incoming(const DHCPv4Packet& packet)
case DHCPMessageType::DHCPDecline:
default:
dbgln("I dunno what to do with this {}", (u8)value);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
break;
}
}
diff --git a/Userland/Services/DHCPClient/main.cpp b/Userland/Services/DHCPClient/main.cpp
index 9e77dfb816..722cee2b2d 100644
--- a/Userland/Services/DHCPClient/main.cpp
+++ b/Userland/Services/DHCPClient/main.cpp
@@ -45,7 +45,7 @@ static u8 mac_part(const Vector<String>& parts, size_t index)
static MACAddress mac_from_string(const String& str)
{
auto chunks = str.split(':');
- ASSERT(chunks.size() == 6); // should we...worry about this?
+ VERIFY(chunks.size() == 6); // should we...worry about this?
return {
mac_part(chunks, 0), mac_part(chunks, 1), mac_part(chunks, 2),
mac_part(chunks, 3), mac_part(chunks, 4), mac_part(chunks, 5)
diff --git a/Userland/Services/LaunchServer/Launcher.cpp b/Userland/Services/LaunchServer/Launcher.cpp
index ad6d025035..5b359179ce 100644
--- a/Userland/Services/LaunchServer/Launcher.cpp
+++ b/Userland/Services/LaunchServer/Launcher.cpp
@@ -85,13 +85,13 @@ String Handler::to_details_str() const
Launcher::Launcher()
{
- ASSERT(s_the == nullptr);
+ VERIFY(s_the == nullptr);
s_the = this;
}
Launcher& Launcher::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
diff --git a/Userland/Services/LaunchServer/main.cpp b/Userland/Services/LaunchServer/main.cpp
index 2535d1e8bb..d7e3b768c7 100644
--- a/Userland/Services/LaunchServer/main.cpp
+++ b/Userland/Services/LaunchServer/main.cpp
@@ -48,7 +48,7 @@ int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
}
bool ok = server->take_over_from_system_server();
- ASSERT(ok);
+ VERIFY(ok);
server->on_ready_to_accept = [&] {
auto client_socket = server->accept();
if (!client_socket) {
diff --git a/Userland/Services/LookupServer/DNSPacket.cpp b/Userland/Services/LookupServer/DNSPacket.cpp
index 0d30ac6761..5ff8685742 100644
--- a/Userland/Services/LookupServer/DNSPacket.cpp
+++ b/Userland/Services/LookupServer/DNSPacket.cpp
@@ -41,14 +41,14 @@ void DNSPacket::add_question(const DNSQuestion& question)
{
m_questions.empend(question);
- ASSERT(m_questions.size() <= UINT16_MAX);
+ VERIFY(m_questions.size() <= UINT16_MAX);
}
void DNSPacket::add_answer(const DNSAnswer& answer)
{
m_answers.empend(answer);
- ASSERT(m_answers.size() <= UINT16_MAX);
+ VERIFY(m_answers.size() <= UINT16_MAX);
}
ByteBuffer DNSPacket::to_byte_buffer() const
diff --git a/Userland/Services/LookupServer/DNSPacket.h b/Userland/Services/LookupServer/DNSPacket.h
index bfda9cd5e9..a636e2fa08 100644
--- a/Userland/Services/LookupServer/DNSPacket.h
+++ b/Userland/Services/LookupServer/DNSPacket.h
@@ -69,13 +69,13 @@ public:
u16 question_count() const
{
- ASSERT(m_questions.size() <= UINT16_MAX);
+ VERIFY(m_questions.size() <= UINT16_MAX);
return m_questions.size();
}
u16 answer_count() const
{
- ASSERT(m_answers.size() <= UINT16_MAX);
+ VERIFY(m_answers.size() <= UINT16_MAX);
return m_answers.size();
}
diff --git a/Userland/Services/LookupServer/LookupServer.cpp b/Userland/Services/LookupServer/LookupServer.cpp
index 2185c4fea1..c1523d713c 100644
--- a/Userland/Services/LookupServer/LookupServer.cpp
+++ b/Userland/Services/LookupServer/LookupServer.cpp
@@ -47,13 +47,13 @@ static LookupServer* s_the;
LookupServer& LookupServer::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
LookupServer::LookupServer()
{
- ASSERT(s_the == nullptr);
+ VERIFY(s_the == nullptr);
s_the = this;
auto config = Core::ConfigFile::get_for_system("LookupServer");
@@ -79,7 +79,7 @@ LookupServer::LookupServer()
IPC::new_client_connection<ClientConnection>(socket.release_nonnull(), client_id);
};
bool ok = m_local_server->take_over_from_system_server();
- ASSERT(ok);
+ VERIFY(ok);
}
void LookupServer::load_etc_hosts()
diff --git a/Userland/Services/NotificationServer/main.cpp b/Userland/Services/NotificationServer/main.cpp
index 3d00b380c3..9bf0e11ab1 100644
--- a/Userland/Services/NotificationServer/main.cpp
+++ b/Userland/Services/NotificationServer/main.cpp
@@ -44,7 +44,7 @@ int main(int argc, char** argv)
auto server = Core::LocalServer::construct();
bool ok = server->take_over_from_system_server();
- ASSERT(ok);
+ VERIFY(ok);
server->on_ready_to_accept = [&] {
auto client_socket = server->accept();
if (!client_socket) {
diff --git a/Userland/Services/ProtocolServer/ClientConnection.cpp b/Userland/Services/ProtocolServer/ClientConnection.cpp
index 555c441def..151fbcab27 100644
--- a/Userland/Services/ProtocolServer/ClientConnection.cpp
+++ b/Userland/Services/ProtocolServer/ClientConnection.cpp
@@ -103,7 +103,7 @@ void ClientConnection::did_receive_headers(Badge<Download>, Download& download)
void ClientConnection::did_finish_download(Badge<Download>, Download& download, bool success)
{
- ASSERT(download.total_size().has_value());
+ VERIFY(download.total_size().has_value());
post_message(Messages::ProtocolClient::DownloadFinished(download.id(), success, download.total_size().value()));
diff --git a/Userland/Services/ProtocolServer/Protocol.cpp b/Userland/Services/ProtocolServer/Protocol.cpp
index ee8248dfef..de4a4e8a49 100644
--- a/Userland/Services/ProtocolServer/Protocol.cpp
+++ b/Userland/Services/ProtocolServer/Protocol.cpp
@@ -49,7 +49,7 @@ Protocol::Protocol(const String& name)
Protocol::~Protocol()
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Result<Protocol::Pipe, String> Protocol::get_pipe_for_download()
diff --git a/Userland/Services/ProtocolServer/main.cpp b/Userland/Services/ProtocolServer/main.cpp
index 5969a23c9e..6fdb429674 100644
--- a/Userland/Services/ProtocolServer/main.cpp
+++ b/Userland/Services/ProtocolServer/main.cpp
@@ -63,7 +63,7 @@ int main(int, char**)
[[maybe_unused]] auto https = new ProtocolServer::HttpsProtocol;
auto socket = Core::LocalSocket::take_over_accepted_socket_from_system_server();
- ASSERT(socket);
+ VERIFY(socket);
IPC::new_client_connection<ProtocolServer::ClientConnection>(socket.release_nonnull(), 1);
return event_loop.exec();
}
diff --git a/Userland/Services/SymbolServer/ClientConnection.cpp b/Userland/Services/SymbolServer/ClientConnection.cpp
index 849b87d6da..efa3f1a3e4 100644
--- a/Userland/Services/SymbolServer/ClientConnection.cpp
+++ b/Userland/Services/SymbolServer/ClientConnection.cpp
@@ -82,7 +82,7 @@ OwnPtr<Messages::SymbolServer::SymbolicateResponse> ClientConnection::handle(con
}
auto it = s_cache.find(path);
- ASSERT(it != s_cache.end());
+ VERIFY(it != s_cache.end());
auto& cached_elf = it->value;
if (!cached_elf)
diff --git a/Userland/Services/SymbolServer/main.cpp b/Userland/Services/SymbolServer/main.cpp
index f975f3b37b..da74cc2270 100644
--- a/Userland/Services/SymbolServer/main.cpp
+++ b/Userland/Services/SymbolServer/main.cpp
@@ -63,7 +63,7 @@ int main(int, char**)
}
bool ok = server->take_over_from_system_server();
- ASSERT(ok);
+ VERIFY(ok);
server->on_ready_to_accept = [&] {
auto client_socket = server->accept();
if (!client_socket) {
diff --git a/Userland/Services/SystemMenu/main.cpp b/Userland/Services/SystemMenu/main.cpp
index d5897d3c60..b65fb6bdab 100644
--- a/Userland/Services/SystemMenu/main.cpp
+++ b/Userland/Services/SystemMenu/main.cpp
@@ -190,7 +190,7 @@ NonnullRefPtr<GUI::Menu> build_system_menu()
auto& theme = g_themes[theme_identifier];
dbgln("Theme switched to {} at path {}", theme.name, theme.path);
auto response = GUI::WindowServerConnection::the().send_sync<Messages::WindowServer::SetSystemTheme>(theme.path, theme.name);
- ASSERT(response->success());
+ VERIFY(response->success());
});
if (theme.name == current_theme_name)
action->set_checked(true);
diff --git a/Userland/Services/SystemServer/Service.cpp b/Userland/Services/SystemServer/Service.cpp
index bd21306404..2529dcdd90 100644
--- a/Userland/Services/SystemServer/Service.cpp
+++ b/Userland/Services/SystemServer/Service.cpp
@@ -53,11 +53,11 @@ Service* Service::find_by_pid(pid_t pid)
void Service::setup_socket()
{
- ASSERT(!m_socket_path.is_null());
- ASSERT(m_socket_fd == -1);
+ VERIFY(!m_socket_path.is_null());
+ VERIFY(m_socket_fd == -1);
auto ok = Core::File::ensure_parent_directories(m_socket_path);
- ASSERT(ok);
+ VERIFY(ok);
// Note: we use SOCK_CLOEXEC here to make sure we don't leak every socket to
// all the clients. We'll make the one we do need to pass down !CLOEXEC later
@@ -65,47 +65,47 @@ void Service::setup_socket()
m_socket_fd = socket(AF_LOCAL, SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC, 0);
if (m_socket_fd < 0) {
perror("socket");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (m_account.has_value()) {
auto& account = m_account.value();
if (fchown(m_socket_fd, account.uid(), account.gid()) < 0) {
perror("fchown");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
if (fchmod(m_socket_fd, m_socket_permissions) < 0) {
perror("fchmod");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
auto socket_address = Core::SocketAddress::local(m_socket_path);
auto un_optional = socket_address.to_sockaddr_un();
if (!un_optional.has_value()) {
dbgln("Socket name {} is too long. BUG! This should have failed earlier!", m_socket_path);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
auto un = un_optional.value();
int rc = bind(m_socket_fd, (const sockaddr*)&un, sizeof(un));
if (rc < 0) {
perror("bind");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
rc = listen(m_socket_fd, 16);
if (rc < 0) {
perror("listen");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
void Service::setup_notifier()
{
- ASSERT(m_lazy);
- ASSERT(m_socket_fd >= 0);
- ASSERT(!m_socket_notifier);
+ VERIFY(m_lazy);
+ VERIFY(m_socket_fd >= 0);
+ VERIFY(!m_socket_notifier);
m_socket_notifier = Core::Notifier::construct(m_socket_fd, Core::Notifier::Event::Read, this);
m_socket_notifier->on_ready_to_read = [this] {
@@ -134,7 +134,7 @@ void Service::handle_socket_connection()
void Service::activate()
{
- ASSERT(m_pid < 0);
+ VERIFY(m_pid < 0);
if (m_lazy)
setup_notifier();
@@ -158,7 +158,7 @@ void Service::spawn(int socket_fd)
if (!m_working_directory.is_null()) {
if (chdir(m_working_directory.characters()) < 0) {
perror("chdir");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -167,16 +167,16 @@ void Service::spawn(int socket_fd)
int rc = sched_setparam(0, &p);
if (rc < 0) {
perror("sched_setparam");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (!m_stdio_file_path.is_null()) {
close(STDIN_FILENO);
int fd = open(m_stdio_file_path.characters(), O_RDWR, 0);
- ASSERT(fd <= 0);
+ VERIFY(fd <= 0);
if (fd < 0) {
perror("open");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
dup2(STDIN_FILENO, STDOUT_FILENO);
dup2(STDIN_FILENO, STDERR_FILENO);
@@ -193,14 +193,14 @@ void Service::spawn(int socket_fd)
close(STDERR_FILENO);
int fd = open("/dev/null", O_RDWR);
- ASSERT(fd == STDIN_FILENO);
+ VERIFY(fd == STDIN_FILENO);
dup2(STDIN_FILENO, STDOUT_FILENO);
dup2(STDIN_FILENO, STDERR_FILENO);
}
if (socket_fd >= 0) {
- ASSERT(!m_socket_path.is_null());
- ASSERT(socket_fd > 3);
+ VERIFY(!m_socket_path.is_null());
+ VERIFY(socket_fd > 3);
dup2(socket_fd, 3);
// The new descriptor is !CLOEXEC here.
setenv("SOCKET_TAKEOVER", "1", true);
@@ -226,7 +226,7 @@ void Service::spawn(int socket_fd)
rc = execv(argv[0], argv);
perror("exec");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else if (!m_multi_instance) {
// We are the parent.
m_pid = pid;
@@ -236,8 +236,8 @@ void Service::spawn(int socket_fd)
void Service::did_exit(int exit_code)
{
- ASSERT(m_pid > 0);
- ASSERT(!m_multi_instance);
+ VERIFY(m_pid > 0);
+ VERIFY(!m_multi_instance);
dbgln("Service {} has exited with exit code {}", name(), exit_code);
@@ -271,7 +271,7 @@ void Service::did_exit(int exit_code)
Service::Service(const Core::ConfigFile& config, const StringView& name)
: Core::Object(nullptr)
{
- ASSERT(config.has_group(name));
+ VERIFY(config.has_group(name));
set_name(name);
m_executable_path = config.read_entry(name, "Executable", String::formatted("/bin/{}", this->name()));
@@ -286,7 +286,7 @@ Service::Service(const Core::ConfigFile& config, const StringView& name)
else if (prio == "high")
m_priority = 50;
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
m_keep_alive = config.read_bool_entry(name, "KeepAlive");
m_lazy = config.read_bool_entry(name, "Lazy");
@@ -309,13 +309,13 @@ Service::Service(const Core::ConfigFile& config, const StringView& name)
m_socket_path = config.read_entry(name, "Socket");
// Lazy requires Socket.
- ASSERT(!m_lazy || !m_socket_path.is_null());
+ VERIFY(!m_lazy || !m_socket_path.is_null());
// AcceptSocketConnections always requires Socket, Lazy, and MultiInstance.
- ASSERT(!m_accept_socket_connections || (!m_socket_path.is_null() && m_lazy && m_multi_instance));
+ VERIFY(!m_accept_socket_connections || (!m_socket_path.is_null() && m_lazy && m_multi_instance));
// MultiInstance doesn't work with KeepAlive.
- ASSERT(!m_multi_instance || !m_keep_alive);
+ VERIFY(!m_multi_instance || !m_keep_alive);
// Socket path (plus NUL) must fit into the structs sent to the Kernel.
- ASSERT(m_socket_path.length() < UNIX_PATH_MAX);
+ VERIFY(m_socket_path.length() < UNIX_PATH_MAX);
if (!m_socket_path.is_null() && is_enabled()) {
auto socket_permissions_string = config.read_entry(name, "SocketPermissions", "0600");
diff --git a/Userland/Services/SystemServer/main.cpp b/Userland/Services/SystemServer/main.cpp
index f20728b506..8773dc3b45 100644
--- a/Userland/Services/SystemServer/main.cpp
+++ b/Userland/Services/SystemServer/main.cpp
@@ -88,7 +88,7 @@ static void chown_wrapper(const char* path, uid_t uid, gid_t gid)
{
int rc = chown(path, uid, gid);
if (rc < 0 && errno != ENOENT) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -98,22 +98,22 @@ static void prepare_devfs()
int rc = mount(-1, "/dev", "dev", 0);
if (rc != 0) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
rc = mkdir("/dev/pts", 0755);
if (rc != 0) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
rc = mount(-1, "/dev/pts", "devpts", 0);
if (rc != 0) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
rc = symlink("/dev/random", "/dev/urandom");
if (rc < 0) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
// FIXME: Find a better way to chown without hardcoding the gid!
@@ -140,15 +140,15 @@ static void prepare_devfs()
rc = symlink("/proc/self/fd/0", "/dev/stdin");
if (rc < 0) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
rc = symlink("/proc/self/fd/1", "/dev/stdout");
if (rc < 0) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
rc = symlink("/proc/self/fd/2", "/dev/stderr");
if (rc < 0) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -159,11 +159,11 @@ static void mount_all_filesystems()
if (pid < 0) {
perror("fork");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else if (pid == 0) {
execl("/bin/mount", "mount", "-a", nullptr);
perror("exec");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
wait(nullptr);
}
@@ -176,7 +176,7 @@ static void create_tmp_rpc_directory()
auto rc = mkdir("/tmp/rpc", 01777);
if (rc < 0) {
perror("mkdir(/tmp/rpc)");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
umask(old_umask);
}
@@ -188,7 +188,7 @@ static void create_tmp_coredump_directory()
auto rc = mkdir("/tmp/coredump", 0755);
if (rc < 0) {
perror("mkdir(/tmp/coredump)");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
umask(old_umask);
}
diff --git a/Userland/Services/Taskbar/TaskbarButton.cpp b/Userland/Services/Taskbar/TaskbarButton.cpp
index 69103ca5e0..d40a61c49c 100644
--- a/Userland/Services/Taskbar/TaskbarButton.cpp
+++ b/Userland/Services/Taskbar/TaskbarButton.cpp
@@ -105,7 +105,7 @@ static void paint_custom_progress_bar(GUI::Painter& painter, const Gfx::IntRect&
void TaskbarButton::paint_event(GUI::PaintEvent& event)
{
- ASSERT(icon());
+ VERIFY(icon());
auto& icon = *this->icon();
auto& font = is_checked() ? Gfx::FontDatabase::default_bold_font() : this->font();
auto& window = WindowList::the().ensure_window(m_identifier);
diff --git a/Userland/Services/Taskbar/TaskbarWindow.cpp b/Userland/Services/Taskbar/TaskbarWindow.cpp
index 1b0e344c7f..e1de201504 100644
--- a/Userland/Services/Taskbar/TaskbarWindow.cpp
+++ b/Userland/Services/Taskbar/TaskbarWindow.cpp
@@ -130,7 +130,7 @@ void TaskbarWindow::create_quick_launch_bar()
}
execl(app_executable.characters(), app_executable.characters(), nullptr);
perror("execl");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else {
if (disown(pid) < 0)
perror("disown");
@@ -291,7 +291,7 @@ void TaskbarWindow::wm_event(GUI::WMEvent& event)
} else if (window_owner) {
// check the window owner's button if the modal's window button
// would have been checked
- ASSERT(window.is_modal());
+ VERIFY(window.is_modal());
update_window_button(*window_owner, window.is_active());
}
break;
diff --git a/Userland/Services/TelnetServer/Client.cpp b/Userland/Services/TelnetServer/Client.cpp
index 5e1accf9d1..f063b7ee45 100644
--- a/Userland/Services/TelnetServer/Client.cpp
+++ b/Userland/Services/TelnetServer/Client.cpp
@@ -176,7 +176,7 @@ void Client::send_commands(Vector<Command> commands)
for (auto& command : commands)
stream << (u8)IAC << command.command << command.subcommand;
- ASSERT(stream.is_end());
+ VERIFY(stream.is_end());
m_socket->write(buffer.data(), buffer.size());
}
diff --git a/Userland/Services/TelnetServer/main.cpp b/Userland/Services/TelnetServer/main.cpp
index dc5ddf1a04..3adda4b83a 100644
--- a/Userland/Services/TelnetServer/main.cpp
+++ b/Userland/Services/TelnetServer/main.cpp
@@ -99,7 +99,7 @@ static void run_command(int ptm_fd, String command)
perror("execve");
exit(1);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Services/WebContent/PageHost.cpp b/Userland/Services/WebContent/PageHost.cpp
index f355a8ef2b..b28f98323a 100644
--- a/Userland/Services/WebContent/PageHost.cpp
+++ b/Userland/Services/WebContent/PageHost.cpp
@@ -116,7 +116,7 @@ void PageHost::page_did_change_selection()
void PageHost::page_did_layout()
{
auto* layout_root = this->layout_root();
- ASSERT(layout_root);
+ VERIFY(layout_root);
auto content_size = enclosing_int_rect(layout_root->absolute_rect()).size();
m_client.post_message(Messages::WebContentClient::DidLayout(content_size));
}
diff --git a/Userland/Services/WebContent/main.cpp b/Userland/Services/WebContent/main.cpp
index e6f335e640..bad662ccd8 100644
--- a/Userland/Services/WebContent/main.cpp
+++ b/Userland/Services/WebContent/main.cpp
@@ -54,7 +54,7 @@ int main(int, char**)
}
auto socket = Core::LocalSocket::take_over_accepted_socket_from_system_server();
- ASSERT(socket);
+ VERIFY(socket);
IPC::new_client_connection<WebContent::ClientConnection>(socket.release_nonnull(), 1);
return event_loop.exec();
}
diff --git a/Userland/Services/WebServer/Client.cpp b/Userland/Services/WebServer/Client.cpp
index 9364eada4f..985a27eec0 100644
--- a/Userland/Services/WebServer/Client.cpp
+++ b/Userland/Services/WebServer/Client.cpp
@@ -174,7 +174,7 @@ static String folder_image_data()
static String cache;
if (cache.is_empty()) {
auto file_or_error = MappedFile::map("/res/icons/16x16/filetype-folder.png");
- ASSERT(!file_or_error.is_error());
+ VERIFY(!file_or_error.is_error());
cache = encode_base64(file_or_error.value()->bytes());
}
return cache;
@@ -185,7 +185,7 @@ static String file_image_data()
static String cache;
if (cache.is_empty()) {
auto file_or_error = MappedFile::map("/res/icons/16x16/filetype-unknown.png");
- ASSERT(!file_or_error.is_error());
+ VERIFY(!file_or_error.is_error());
cache = encode_base64(file_or_error.value()->bytes());
}
return cache;
diff --git a/Userland/Services/WebServer/main.cpp b/Userland/Services/WebServer/main.cpp
index 8c326c84a8..f74c0bca8f 100644
--- a/Userland/Services/WebServer/main.cpp
+++ b/Userland/Services/WebServer/main.cpp
@@ -68,7 +68,7 @@ int main(int argc, char** argv)
server->on_ready_to_accept = [&] {
auto client_socket = server->accept();
- ASSERT(client_socket);
+ VERIFY(client_socket);
auto client = WebServer::Client::construct(client_socket.release_nonnull(), real_root_path, server);
client->start();
};
diff --git a/Userland/Services/WindowServer/AppletManager.cpp b/Userland/Services/WindowServer/AppletManager.cpp
index 509d5de3d0..4b7c6d5962 100644
--- a/Userland/Services/WindowServer/AppletManager.cpp
+++ b/Userland/Services/WindowServer/AppletManager.cpp
@@ -49,7 +49,7 @@ AppletManager::~AppletManager()
AppletManager& AppletManager::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
diff --git a/Userland/Services/WindowServer/ClientConnection.cpp b/Userland/Services/WindowServer/ClientConnection.cpp
index 7347eb8a78..9536e1346c 100644
--- a/Userland/Services/WindowServer/ClientConnection.cpp
+++ b/Userland/Services/WindowServer/ClientConnection.cpp
@@ -537,14 +537,14 @@ void ClientConnection::destroy_window(Window& window, Vector<i32>& destroyed_win
for (auto& child_window : window.child_windows()) {
if (!child_window)
continue;
- ASSERT(child_window->window_id() != window.window_id());
+ VERIFY(child_window->window_id() != window.window_id());
destroy_window(*child_window, destroyed_window_ids);
}
for (auto& accessory_window : window.accessory_windows()) {
if (!accessory_window)
continue;
- ASSERT(accessory_window->window_id() != window.window_id());
+ VERIFY(accessory_window->window_id() != window.window_id());
destroy_window(*accessory_window, destroyed_window_ids);
}
diff --git a/Userland/Services/WindowServer/Compositor.cpp b/Userland/Services/WindowServer/Compositor.cpp
index c1a15d32e3..c7125ccaf4 100644
--- a/Userland/Services/WindowServer/Compositor.cpp
+++ b/Userland/Services/WindowServer/Compositor.cpp
@@ -221,15 +221,15 @@ void Compositor::compose()
auto prepare_rect = [&](const Gfx::IntRect& rect) {
dbgln_if(COMPOSE_DEBUG, " -> flush opaque: {}", rect);
- ASSERT(!flush_rects.intersects(rect));
- ASSERT(!flush_transparent_rects.intersects(rect));
+ VERIFY(!flush_rects.intersects(rect));
+ VERIFY(!flush_transparent_rects.intersects(rect));
flush_rects.add(rect);
check_restore_cursor_back(rect);
};
auto prepare_transparency_rect = [&](const Gfx::IntRect& rect) {
dbgln_if(COMPOSE_DEBUG, " -> flush transparent: {}", rect);
- ASSERT(!flush_rects.intersects(rect));
+ VERIFY(!flush_rects.intersects(rect));
for (auto& r : flush_transparent_rects.rects()) {
if (r == rect)
return;
@@ -261,7 +261,7 @@ void Compositor::compose()
auto src_rect = Gfx::FloatRect { rect.x() * hscale, rect.y() * vscale, rect.width() * hscale, rect.height() * vscale };
painter.draw_scaled_bitmap(rect, *m_wallpaper, src_rect);
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
};
@@ -434,7 +434,7 @@ void Compositor::compose()
}
// Check that there are no overlapping transparent and opaque flush rectangles
- ASSERT(![&]() {
+ VERIFY(![&]() {
for (auto& rect_transparent : flush_transparent_rects.rects()) {
for (auto& rect_opaque : flush_rects.rects()) {
if (rect_opaque.intersects(rect_transparent)) {
@@ -649,7 +649,7 @@ bool Compositor::set_wallpaper(const String& path, Function<void(bool)>&& callba
void Compositor::flip_buffers()
{
- ASSERT(m_screen_can_set_buffer);
+ VERIFY(m_screen_can_set_buffer);
swap(m_front_bitmap, m_back_bitmap);
swap(m_front_painter, m_back_painter);
Screen::the().set_buffer(m_buffers_are_flipped ? 0 : 1);
@@ -838,7 +838,7 @@ void Compositor::increment_display_link_count(Badge<ClientConnection>)
void Compositor::decrement_display_link_count(Badge<ClientConnection>)
{
- ASSERT(m_display_link_count);
+ VERIFY(m_display_link_count);
--m_display_link_count;
if (!m_display_link_count)
m_display_link_notify_timer->stop();
@@ -1024,7 +1024,7 @@ void Compositor::recompute_occlusions()
if (!transparency_rects.is_empty())
have_transparent = true;
- ASSERT(!visible_opaque.intersects(transparency_rects));
+ VERIFY(!visible_opaque.intersects(transparency_rects));
// Determine visible area for the window below
if (w.is_opaque()) {
@@ -1089,9 +1089,9 @@ void Compositor::recompute_occlusions()
dbgln(" transparent: {}", r);
}
- ASSERT(!w.opaque_rects().intersects(m_opaque_wallpaper_rects));
- ASSERT(!w.transparency_rects().intersects(m_opaque_wallpaper_rects));
- ASSERT(!w.transparency_wallpaper_rects().intersects(m_opaque_wallpaper_rects));
+ VERIFY(!w.opaque_rects().intersects(m_opaque_wallpaper_rects));
+ VERIFY(!w.transparency_rects().intersects(m_opaque_wallpaper_rects));
+ VERIFY(!w.transparency_wallpaper_rects().intersects(m_opaque_wallpaper_rects));
return IterationDecision::Continue;
});
}
diff --git a/Userland/Services/WindowServer/Cursor.cpp b/Userland/Services/WindowServer/Cursor.cpp
index f5044dc71f..d25130dcc6 100644
--- a/Userland/Services/WindowServer/Cursor.cpp
+++ b/Userland/Services/WindowServer/Cursor.cpp
@@ -125,7 +125,7 @@ Cursor::Cursor(NonnullRefPtr<Gfx::Bitmap>&& bitmap, const CursorParams& cursor_p
, m_rect(m_bitmap->rect())
{
if (m_params.frames() > 1) {
- ASSERT(m_rect.width() % m_params.frames() == 0);
+ VERIFY(m_rect.width() % m_params.frames() == 0);
m_rect.set_width(m_rect.width() / m_params.frames());
}
}
@@ -182,7 +182,7 @@ RefPtr<Cursor> Cursor::create(Gfx::StandardCursor standard_cursor)
case Gfx::StandardCursor::Wait:
return WindowManager::the().wait_cursor();
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Services/WindowServer/EventLoop.cpp b/Userland/Services/WindowServer/EventLoop.cpp
index abee0afc62..30611aa97f 100644
--- a/Userland/Services/WindowServer/EventLoop.cpp
+++ b/Userland/Services/WindowServer/EventLoop.cpp
@@ -52,7 +52,7 @@ EventLoop::EventLoop()
m_mouse_fd = open("/dev/mouse", O_RDONLY | O_NONBLOCK | O_CLOEXEC);
bool ok = m_server->take_over_from_system_server();
- ASSERT(ok);
+ VERIFY(ok);
m_server->on_ready_to_accept = [this] {
auto client_socket = m_server->accept();
@@ -145,7 +145,7 @@ void EventLoop::drain_keyboard()
ssize_t nread = read(m_keyboard_fd, (u8*)&event, sizeof(::KeyEvent));
if (nread == 0)
break;
- ASSERT(nread == sizeof(::KeyEvent));
+ VERIFY(nread == sizeof(::KeyEvent));
screen.on_receive_keyboard_data(event);
}
}
diff --git a/Userland/Services/WindowServer/Menu.cpp b/Userland/Services/WindowServer/Menu.cpp
index 7efe89454c..3cee99bc05 100644
--- a/Userland/Services/WindowServer/Menu.cpp
+++ b/Userland/Services/WindowServer/Menu.cpp
@@ -172,7 +172,7 @@ int Menu::visible_item_count() const
{
if (!is_scrollable())
return m_items.size();
- ASSERT(m_menu_window);
+ VERIFY(m_menu_window);
// Make space for up/down arrow indicators
return m_menu_window->height() / item_height() - 2;
}
@@ -182,8 +182,8 @@ void Menu::draw()
auto palette = WindowManager::the().palette();
m_theme_index_at_last_paint = MenuManager::the().theme_index();
- ASSERT(menu_window());
- ASSERT(menu_window()->backing_store());
+ VERIFY(menu_window());
+ VERIFY(menu_window()->backing_store());
Gfx::Painter painter(*menu_window()->backing_store());
Gfx::IntRect rect { {}, menu_window()->size() };
@@ -297,7 +297,7 @@ MenuItem* Menu::hovered_item() const
void Menu::update_for_new_hovered_item(bool make_input)
{
if (hovered_item() && hovered_item()->is_submenu()) {
- ASSERT(menu_window());
+ VERIFY(menu_window());
MenuManager::the().close_everyone_not_in_lineage(*hovered_item()->submenu());
hovered_item()->submenu()->do_popup(hovered_item()->rect().top_right().translated(menu_window()->rect().location()), make_input);
} else {
@@ -309,8 +309,8 @@ void Menu::update_for_new_hovered_item(bool make_input)
void Menu::open_hovered_item()
{
- ASSERT(menu_window());
- ASSERT(menu_window()->is_visible());
+ VERIFY(menu_window());
+ VERIFY(menu_window()->is_visible());
if (!hovered_item())
return;
if (hovered_item()->is_enabled())
@@ -320,17 +320,17 @@ void Menu::open_hovered_item()
void Menu::descend_into_submenu_at_hovered_item()
{
- ASSERT(hovered_item());
+ VERIFY(hovered_item());
auto submenu = hovered_item()->submenu();
- ASSERT(submenu);
+ VERIFY(submenu);
MenuManager::the().open_menu(*submenu, false, false);
submenu->set_hovered_item(0);
- ASSERT(submenu->hovered_item()->type() != MenuItem::Separator);
+ VERIFY(submenu->hovered_item()->type() != MenuItem::Separator);
}
void Menu::handle_mouse_move_event(const MouseEvent& mouse_event)
{
- ASSERT(menu_window());
+ VERIFY(menu_window());
MenuManager::the().set_current_menu(this);
if (hovered_item() && hovered_item()->is_submenu()) {
@@ -368,7 +368,7 @@ void Menu::event(Core::Event& event)
}
if (event.type() == Event::MouseWheel && is_scrollable()) {
- ASSERT(menu_window());
+ VERIFY(menu_window());
auto& mouse_event = static_cast<const MouseEvent&>(event);
m_scroll_offset += mouse_event.wheel_delta();
m_scroll_offset = clamp(m_scroll_offset, 0, m_max_scroll_offset);
@@ -388,8 +388,8 @@ void Menu::event(Core::Event& event)
if (!(key == Key_Up || key == Key_Down || key == Key_Left || key == Key_Right || key == Key_Return))
return;
- ASSERT(menu_window());
- ASSERT(menu_window()->is_visible());
+ VERIFY(menu_window());
+ VERIFY(menu_window()->is_visible());
// Default to the first enabled, non-separator item on key press if one has not been selected yet
if (!hovered_item()) {
@@ -406,7 +406,7 @@ void Menu::event(Core::Event& event)
}
if (key == Key_Up) {
- ASSERT(m_items.at(0).type() != MenuItem::Separator);
+ VERIFY(m_items.at(0).type() != MenuItem::Separator);
if (is_scrollable() && m_hovered_item_index == 0)
return;
@@ -421,7 +421,7 @@ void Menu::event(Core::Event& event)
return;
} while (hovered_item()->type() == MenuItem::Separator || !hovered_item()->is_enabled());
- ASSERT(m_hovered_item_index >= 0 && m_hovered_item_index <= static_cast<int>(m_items.size()) - 1);
+ VERIFY(m_hovered_item_index >= 0 && m_hovered_item_index <= static_cast<int>(m_items.size()) - 1);
if (is_scrollable() && m_hovered_item_index < m_scroll_offset)
--m_scroll_offset;
@@ -431,7 +431,7 @@ void Menu::event(Core::Event& event)
}
if (key == Key_Down) {
- ASSERT(m_items.at(0).type() != MenuItem::Separator);
+ VERIFY(m_items.at(0).type() != MenuItem::Separator);
if (is_scrollable() && m_hovered_item_index == static_cast<int>(m_items.size()) - 1)
return;
@@ -446,7 +446,7 @@ void Menu::event(Core::Event& event)
return;
} while (hovered_item()->type() == MenuItem::Separator || !hovered_item()->is_enabled());
- ASSERT(m_hovered_item_index >= 0 && m_hovered_item_index <= static_cast<int>(m_items.size()) - 1);
+ VERIFY(m_hovered_item_index >= 0 && m_hovered_item_index <= static_cast<int>(m_items.size()) - 1);
if (is_scrollable() && m_hovered_item_index >= (m_scroll_offset + visible_item_count()))
++m_scroll_offset;
diff --git a/Userland/Services/WindowServer/MenuItem.cpp b/Userland/Services/WindowServer/MenuItem.cpp
index 324724a893..ee0baafbfe 100644
--- a/Userland/Services/WindowServer/MenuItem.cpp
+++ b/Userland/Services/WindowServer/MenuItem.cpp
@@ -81,15 +81,15 @@ void MenuItem::set_default(bool is_default)
Menu* MenuItem::submenu()
{
- ASSERT(is_submenu());
- ASSERT(m_menu.client());
+ VERIFY(is_submenu());
+ VERIFY(m_menu.client());
return m_menu.client()->find_menu_by_id(m_submenu_id);
}
const Menu* MenuItem::submenu() const
{
- ASSERT(is_submenu());
- ASSERT(m_menu.client());
+ VERIFY(is_submenu());
+ VERIFY(m_menu.client());
return m_menu.client()->find_menu_by_id(m_submenu_id);
}
diff --git a/Userland/Services/WindowServer/MenuManager.cpp b/Userland/Services/WindowServer/MenuManager.cpp
index a28dfd5288..214e055fcc 100644
--- a/Userland/Services/WindowServer/MenuManager.cpp
+++ b/Userland/Services/WindowServer/MenuManager.cpp
@@ -44,7 +44,7 @@ static constexpr int s_search_timeout = 3000;
MenuManager& MenuManager::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
@@ -162,7 +162,7 @@ void MenuManager::event(Core::Event& event)
if (key_event.key() == Key_Left) {
auto it = m_open_menu_stack.find_if([&](const auto& other) { return m_current_menu == other.ptr(); });
- ASSERT(!it.is_end());
+ VERIFY(!it.is_end());
// Going "back" a menu should be the previous menu in the stack
if (it.index() > 0)
@@ -229,13 +229,13 @@ void MenuManager::handle_mouse_event(MouseEvent& mouse_event)
if (has_open_menu()) {
auto* topmost_menu = m_open_menu_stack.last().ptr();
- ASSERT(topmost_menu);
+ VERIFY(topmost_menu);
auto* window = topmost_menu->menu_window();
if (!window) {
dbgln("MenuManager::handle_mouse_event: No menu window");
return;
}
- ASSERT(window->is_visible());
+ VERIFY(window->is_visible());
bool event_is_inside_current_menu = window->rect().contains(mouse_event.position());
if (event_is_inside_current_menu) {
@@ -326,7 +326,7 @@ void MenuManager::close_all_menus_from_client(Badge<ClientConnection>, ClientCon
void MenuManager::close_everyone()
{
for (auto& menu : m_open_menu_stack) {
- ASSERT(menu);
+ VERIFY(menu);
if (menu->menu_window())
menu->menu_window()->set_visible(false);
menu->clear_hovered_item();
@@ -440,7 +440,7 @@ void MenuManager::set_current_menu(Menu* menu)
return;
}
- ASSERT(is_open(*menu));
+ VERIFY(is_open(*menu));
if (menu == m_current_menu) {
return;
}
diff --git a/Userland/Services/WindowServer/Screen.cpp b/Userland/Services/WindowServer/Screen.cpp
index 8fed3a44cc..dc909fc181 100644
--- a/Userland/Services/WindowServer/Screen.cpp
+++ b/Userland/Services/WindowServer/Screen.cpp
@@ -43,18 +43,18 @@ static Screen* s_the;
Screen& Screen::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
Screen::Screen(unsigned desired_width, unsigned desired_height, int scale_factor)
{
- ASSERT(!s_the);
+ VERIFY(!s_the);
s_the = this;
m_framebuffer_fd = open("/dev/fb0", O_RDWR | O_CLOEXEC);
if (m_framebuffer_fd < 0) {
perror("failed to open /dev/fb0");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (fb_set_buffer(m_framebuffer_fd, 0) == 0) {
@@ -93,7 +93,7 @@ bool Screen::set_resolution(int width, int height, int new_scale_factor)
on_change_resolution(physical_resolution.pitch, physical_resolution.width, physical_resolution.height, new_scale_factor);
return false;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Screen::on_change_resolution(int pitch, int new_physical_width, int new_physical_height, int new_scale_factor)
@@ -102,14 +102,14 @@ void Screen::on_change_resolution(int pitch, int new_physical_width, int new_phy
if (m_framebuffer) {
size_t previous_size_in_bytes = m_size_in_bytes;
int rc = munmap(m_framebuffer, previous_size_in_bytes);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
int rc = fb_get_size_in_bytes(m_framebuffer_fd, &m_size_in_bytes);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
m_framebuffer = (Gfx::RGBA32*)mmap(nullptr, m_size_in_bytes, PROT_READ | PROT_WRITE, MAP_SHARED, m_framebuffer_fd, 0);
- ASSERT(m_framebuffer && m_framebuffer != (void*)-1);
+ VERIFY(m_framebuffer && m_framebuffer != (void*)-1);
}
m_pitch = pitch;
@@ -122,20 +122,20 @@ void Screen::on_change_resolution(int pitch, int new_physical_width, int new_phy
void Screen::set_buffer(int index)
{
- ASSERT(m_can_set_buffer);
+ VERIFY(m_can_set_buffer);
int rc = fb_set_buffer(m_framebuffer_fd, index);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
void Screen::set_acceleration_factor(double factor)
{
- ASSERT(factor >= mouse_accel_min && factor <= mouse_accel_max);
+ VERIFY(factor >= mouse_accel_min && factor <= mouse_accel_max);
m_acceleration_factor = factor;
}
void Screen::set_scroll_step_size(unsigned step_size)
{
- ASSERT(step_size >= scroll_step_size_min);
+ VERIFY(step_size >= scroll_step_size_min);
m_scroll_step_size = step_size;
}
diff --git a/Userland/Services/WindowServer/Window.cpp b/Userland/Services/WindowServer/Window.cpp
index 29cbc6ea98..0774df0f31 100644
--- a/Userland/Services/WindowServer/Window.cpp
+++ b/Userland/Services/WindowServer/Window.cpp
@@ -153,7 +153,7 @@ void Window::set_title(const String& title)
void Window::set_rect(const Gfx::IntRect& rect)
{
- ASSERT(!rect.is_empty());
+ VERIFY(!rect.is_empty());
if (m_rect == rect)
return;
auto old_rect = m_rect;
@@ -168,7 +168,7 @@ void Window::set_rect(const Gfx::IntRect& rect)
void Window::set_rect_without_repaint(const Gfx::IntRect& rect)
{
- ASSERT(!rect.is_empty());
+ VERIFY(!rect.is_empty());
if (m_rect == rect)
return;
auto old_rect = m_rect;
@@ -232,7 +232,7 @@ void Window::nudge_into_desktop(bool force_titlebar_visible)
void Window::set_minimum_size(const Gfx::IntSize& size)
{
- ASSERT(!size.is_empty());
+ VERIFY(!size.is_empty());
if (m_minimum_size == size)
return;
@@ -265,7 +265,7 @@ void Window::handle_mouse_event(const MouseEvent& event)
m_client->post_message(Messages::WindowClient::MouseWheel(m_window_id, event.position(), (u32)event.button(), event.buttons(), event.modifiers(), event.wheel_delta()));
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -332,7 +332,7 @@ void Window::start_minimize_animation()
// next time we want to start the animation
m_taskbar_rect = w.taskbar_rect();
- ASSERT(!m_have_taskbar_rect); // should remain unset!
+ VERIFY(!m_have_taskbar_rect); // should remain unset!
return IterationDecision::Break;
};
return IterationDecision::Continue;
@@ -421,7 +421,7 @@ void Window::set_resizable(bool resizable)
void Window::event(Core::Event& event)
{
if (!m_client) {
- ASSERT(parent());
+ VERIFY(parent());
event.ignore();
return;
}
@@ -721,7 +721,7 @@ void Window::set_fullscreen(bool fullscreen)
Gfx::IntRect Window::tiled_rect(WindowTileType tiled) const
{
- ASSERT(tiled != WindowTileType::None);
+ VERIFY(tiled != WindowTileType::None);
int frame_width = (m_frame.rect().width() - m_rect.width()) / 2;
int title_bar_height = m_frame.title_bar_rect().height();
@@ -770,7 +770,7 @@ Gfx::IntRect Window::tiled_rect(WindowTileType tiled) const
Screen::the().width() / 2 - frame_width,
(max_height - title_bar_height) / 2);
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -778,7 +778,7 @@ bool Window::set_untiled(Optional<Gfx::IntPoint> fixed_point)
{
if (m_tiled == WindowTileType::None)
return false;
- ASSERT(!resize_aspect_ratio().has_value());
+ VERIFY(!resize_aspect_ratio().has_value());
m_tiled = WindowTileType::None;
@@ -797,7 +797,7 @@ bool Window::set_untiled(Optional<Gfx::IntPoint> fixed_point)
void Window::set_tiled(WindowTileType tiled)
{
- ASSERT(tiled != WindowTileType::None);
+ VERIFY(tiled != WindowTileType::None);
if (m_tiled == tiled)
return;
@@ -851,7 +851,7 @@ void Window::add_accessory_window(Window& accessory_window)
void Window::set_parent_window(Window& parent_window)
{
- ASSERT(!m_parent_window);
+ VERIFY(!m_parent_window);
m_parent_window = parent_window;
if (m_accessory)
parent_window.add_accessory_window(*this);
diff --git a/Userland/Services/WindowServer/WindowFrame.cpp b/Userland/Services/WindowServer/WindowFrame.cpp
index aa27c0c35e..a6ab4fc5ee 100644
--- a/Userland/Services/WindowServer/WindowFrame.cpp
+++ b/Userland/Services/WindowServer/WindowFrame.cpp
@@ -232,7 +232,7 @@ bool WindowFrame::frame_has_alpha() const
void WindowFrame::did_set_maximized(Badge<Window>, bool maximized)
{
- ASSERT(m_maximize_button);
+ VERIFY(m_maximize_button);
m_maximize_button->set_icon(maximized ? *s_restore_icon : *s_maximize_icon);
}
@@ -427,7 +427,7 @@ void WindowFrame::render_to_cache()
if (m_top_bottom && top_bottom_height > 0) {
m_bottom_y = window_rect.y() - total_frame_rect.y();
- ASSERT(m_bottom_y >= 0);
+ VERIFY(m_bottom_y >= 0);
Gfx::Painter top_bottom_painter(*m_top_bottom);
top_bottom_painter.add_clip_rect({ update_location, { frame_rect_to_update.width(), top_bottom_height - update_location.y() - (total_frame_rect.bottom() - frame_rect_to_update.bottom()) } });
@@ -441,7 +441,7 @@ void WindowFrame::render_to_cache()
if (left_right_width > 0) {
m_right_x = window_rect.x() - total_frame_rect.x();
- ASSERT(m_right_x >= 0);
+ VERIFY(m_right_x >= 0);
Gfx::Painter left_right_painter(*m_left_right);
left_right_painter.add_clip_rect({ update_location, { left_right_width - update_location.x() - (total_frame_rect.right() - frame_rect_to_update.right()), window_rect.height() } });
@@ -578,7 +578,7 @@ bool WindowFrame::hit_test(const Gfx::IntPoint& point) const
void WindowFrame::on_mouse_event(const MouseEvent& event)
{
- ASSERT(!m_window.is_fullscreen());
+ VERIFY(!m_window.is_fullscreen());
auto& wm = WindowManager::the();
if (m_window.type() != WindowType::Normal && m_window.type() != WindowType::ToolWindow && m_window.type() != WindowType::Notification)
@@ -657,7 +657,7 @@ void WindowFrame::on_mouse_event(const MouseEvent& event)
{ ResizeDirection::DownLeft, ResizeDirection::Down, ResizeDirection::DownRight },
};
Gfx::IntRect outer_rect = { {}, rect().size() };
- ASSERT(outer_rect.contains(event.position()));
+ VERIFY(outer_rect.contains(event.position()));
int window_relative_x = event.x() - outer_rect.x();
int window_relative_y = event.y() - outer_rect.y();
int hot_area_row = min(2, window_relative_y / (outer_rect.height() / 3));
@@ -675,7 +675,7 @@ void WindowFrame::start_flash_animation()
{
if (!m_flash_timer) {
m_flash_timer = Core::Timer::construct(100, [this] {
- ASSERT(m_flash_counter);
+ VERIFY(m_flash_counter);
invalidate_title_bar();
if (!--m_flash_counter)
m_flash_timer->stop();
@@ -717,7 +717,7 @@ void WindowFrame::paint_simple_rect_shadow(Gfx::Painter& painter, const Gfx::Int
}
// The containing_rect should have been inflated appropriately
- ASSERT(containing_rect.size().contains(Gfx::IntSize { base_size, base_size }));
+ VERIFY(containing_rect.size().contains(Gfx::IntSize { base_size, base_size }));
auto sides_height = containing_rect.height() - 2 * base_size;
auto half_height = sides_height / 2;
diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp
index 9a7e556892..d3901a3131 100644
--- a/Userland/Services/WindowServer/WindowManager.cpp
+++ b/Userland/Services/WindowServer/WindowManager.cpp
@@ -58,7 +58,7 @@ static WindowManager* s_the;
WindowManager& WindowManager::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
@@ -460,7 +460,7 @@ void WindowManager::start_window_resize(Window& window, const Gfx::IntPoint& pos
};
Gfx::IntRect outer_rect = window.frame().rect();
if (!outer_rect.contains(position)) {
- // FIXME: This used to be an ASSERT but crashing WindowServer over this seems silly.
+ // FIXME: This used to be an VERIFY but crashing WindowServer over this seems silly.
dbgln("FIXME: !outer_rect.contains(position): outer_rect={}, position={}", outer_rect, position);
}
int window_relative_x = position.x() - outer_rect.x();
@@ -469,7 +469,7 @@ void WindowManager::start_window_resize(Window& window, const Gfx::IntPoint& pos
int hot_area_column = min(2, window_relative_x / (outer_rect.width() / 3));
m_resize_direction = direction_for_hot_area[hot_area_row][hot_area_column];
if (m_resize_direction == ResizeDirection::None) {
- ASSERT(!m_resize_window);
+ VERIFY(!m_resize_window);
return;
}
@@ -644,7 +644,7 @@ bool WindowManager::process_ongoing_window_resize(const MouseEvent& event, Windo
change_h = diff_y;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
auto new_rect = m_resize_window_original_rect;
@@ -692,7 +692,7 @@ bool WindowManager::process_ongoing_window_resize(const MouseEvent& event, Windo
new_rect.set_right_without_resize(m_resize_window_original_rect.right());
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (new_rect.contains(event.position()))
@@ -772,7 +772,7 @@ auto WindowManager::DoubleClickInfo::metadata_for_button(MouseButton button) con
case MouseButton::Forward:
return m_forward;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -790,7 +790,7 @@ auto WindowManager::DoubleClickInfo::metadata_for_button(MouseButton button) ->
case MouseButton::Forward:
return m_forward;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -816,7 +816,7 @@ void WindowManager::start_menu_doubleclick(Window& window, const MouseEvent& eve
// So, in order to be able to detect a double click when a menu is being
// opened by the MouseDown event, we need to consider the MouseDown event
// as a potential double-click trigger
- ASSERT(event.type() == Event::MouseDown);
+ VERIFY(event.type() == Event::MouseDown);
auto& metadata = m_double_click_info.metadata_for_button(event.button());
if (&window != m_double_click_info.m_clicked_window) {
@@ -835,7 +835,7 @@ void WindowManager::start_menu_doubleclick(Window& window, const MouseEvent& eve
bool WindowManager::is_menu_doubleclick(Window& window, const MouseEvent& event) const
{
- ASSERT(event.type() == Event::MouseUp);
+ VERIFY(event.type() == Event::MouseUp);
if (&window != m_double_click_info.m_clicked_window)
return false;
@@ -850,7 +850,7 @@ bool WindowManager::is_menu_doubleclick(Window& window, const MouseEvent& event)
void WindowManager::process_event_for_doubleclick(Window& window, MouseEvent& event)
{
// We only care about button presses (because otherwise it's not a doubleclick, duh!)
- ASSERT(event.type() == Event::MouseUp);
+ VERIFY(event.type() == Event::MouseUp);
if (&window != m_double_click_info.m_clicked_window) {
// we either haven't clicked anywhere, or we haven't clicked on this
@@ -983,7 +983,7 @@ void WindowManager::process_mouse_event(MouseEvent& event, Window*& hovered_wind
return;
}
- ASSERT(window.hit_test(event.position()));
+ VERIFY(window.hit_test(event.position()));
if (event.type() == Event::MouseDown) {
// We're clicking on something that's blocked by a modal window.
// Flash the modal window to let the user know about it.
@@ -1131,7 +1131,7 @@ Gfx::IntRect WindowManager::arena_rect_for_type(WindowType type) const
case WindowType::Notification:
return Screen::the().rect();
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -1310,8 +1310,8 @@ void WindowManager::set_active_window(Window* window, bool make_input)
{
if (window) {
if (auto* modal_window = window->blocking_modal_window()) {
- ASSERT(modal_window->is_modal());
- ASSERT(modal_window != window);
+ VERIFY(modal_window->is_modal());
+ VERIFY(modal_window != window);
window = modal_window;
make_input = true;
}
@@ -1473,7 +1473,7 @@ Gfx::IntRect WindowManager::maximized_window_rect(const Window& window) const
void WindowManager::start_dnd_drag(ClientConnection& client, const String& text, const Gfx::Bitmap* bitmap, const Core::MimeData& mime_data)
{
- ASSERT(!m_dnd_client);
+ VERIFY(!m_dnd_client);
m_dnd_client = client;
m_dnd_text = text;
m_dnd_bitmap = bitmap;
@@ -1484,7 +1484,7 @@ void WindowManager::start_dnd_drag(ClientConnection& client, const String& text,
void WindowManager::end_dnd_drag()
{
- ASSERT(m_dnd_client);
+ VERIFY(m_dnd_client);
Compositor::the().invalidate_cursor();
m_dnd_client = nullptr;
m_dnd_text = {};
diff --git a/Userland/Services/WindowServer/WindowSwitcher.cpp b/Userland/Services/WindowServer/WindowSwitcher.cpp
index 803887c657..df329aba7f 100644
--- a/Userland/Services/WindowServer/WindowSwitcher.cpp
+++ b/Userland/Services/WindowServer/WindowSwitcher.cpp
@@ -39,7 +39,7 @@ static WindowSwitcher* s_the;
WindowSwitcher& WindowSwitcher::the()
{
- ASSERT(s_the);
+ VERIFY(s_the);
return *s_the;
}
@@ -124,7 +124,7 @@ void WindowSwitcher::on_key_event(const KeyEvent& event)
hide();
return;
}
- ASSERT(!m_windows.is_empty());
+ VERIFY(!m_windows.is_empty());
int new_selected_index;
@@ -135,7 +135,7 @@ void WindowSwitcher::on_key_event(const KeyEvent& event)
if (new_selected_index < 0)
new_selected_index = static_cast<int>(m_windows.size()) - 1;
}
- ASSERT(new_selected_index < static_cast<int>(m_windows.size()));
+ VERIFY(new_selected_index < static_cast<int>(m_windows.size()));
select_window_at_index(new_selected_index);
}
@@ -154,7 +154,7 @@ void WindowSwitcher::select_window_at_index(int index)
{
m_selected_index = index;
auto* highlight_window = m_windows.at(index).ptr();
- ASSERT(highlight_window);
+ VERIFY(highlight_window);
WindowManager::the().set_highlight_window(highlight_window);
redraw();
}
diff --git a/Userland/Services/WindowServer/main.cpp b/Userland/Services/WindowServer/main.cpp
index c7252555ff..6e5898f27c 100644
--- a/Userland/Services/WindowServer/main.cpp
+++ b/Userland/Services/WindowServer/main.cpp
@@ -77,7 +77,7 @@ int main(int, char**)
auto theme_name = wm_config->read_entry("Theme", "Name", "Default");
auto theme = Gfx::load_system_theme(String::formatted("/res/themes/{}.ini", theme_name));
- ASSERT(theme.is_valid());
+ VERIFY(theme.is_valid());
Gfx::set_system_theme(theme);
auto palette = Gfx::PaletteImpl::create_with_anonymous_buffer(theme);
@@ -114,5 +114,5 @@ int main(int, char**)
dbgln("Entering WindowServer main loop");
loop.exec();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
diff --git a/Userland/Shell/AST.cpp b/Userland/Shell/AST.cpp
index 98c1ac8eec..376c3c7f6f 100644
--- a/Userland/Shell/AST.cpp
+++ b/Userland/Shell/AST.cpp
@@ -39,17 +39,17 @@
void AK::Formatter<Shell::AST::Command>::format(FormatBuilder& builder, const Shell::AST::Command& value)
{
if (m_sign_mode != FormatBuilder::SignMode::Default)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_alternative_form)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_zero_pad)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_mode != Mode::Default && m_mode != Mode::String)
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_width.has_value())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (m_precision.has_value())
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
if (value.argv.is_empty()) {
builder.put_literal("(ShellInternal)");
@@ -93,7 +93,7 @@ void AK::Formatter<Shell::AST::Command>::format(FormatBuilder& builder, const Sh
builder.put_i64(close_redir->fd);
builder.put_literal(">&-");
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -831,7 +831,7 @@ RefPtr<Value> ContinuationControl::run(RefPtr<Shell> shell)
else if (m_kind == Continue)
shell->raise_error(Shell::ShellError::InternalControlFlowContinue, {}, position());
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return create<ListValue>({});
}
@@ -900,7 +900,7 @@ RefPtr<Value> DynamicEvaluate::run(RefPtr<Shell> shell)
// Strings are treated as variables, and Lists are treated as commands.
if (result->is_string()) {
auto name_part = result->resolve_as_list(shell);
- ASSERT(name_part.size() == 1);
+ VERIFY(name_part.size() == 1);
return create<SimpleVariableValue>(name_part[0]);
}
@@ -1418,7 +1418,7 @@ void Execute::for_each_entry(RefPtr<Shell> shell, Function<IterationDecision(Non
auto line_end = offset.value();
if (line_end == 0) {
auto rc = stream.discard_or_error(ifs.length());
- ASSERT(rc);
+ VERIFY(rc);
if (shell->options.inline_exec_keep_empty_segments)
if (callback(create<StringValue>("")) == IterationDecision::Break) {
@@ -1429,7 +1429,7 @@ void Execute::for_each_entry(RefPtr<Shell> shell, Function<IterationDecision(Non
} else {
auto entry = ByteBuffer::create_uninitialized(line_end + ifs.length());
auto rc = stream.read_or_error(entry);
- ASSERT(rc);
+ VERIFY(rc);
auto str = StringView(entry.data(), entry.size() - ifs.length());
if (callback(create<StringValue>(str)) == IterationDecision::Break) {
@@ -1515,7 +1515,7 @@ void Execute::for_each_entry(RefPtr<Shell> shell, Function<IterationDecision(Non
if (!stream.eof()) {
auto entry = ByteBuffer::create_uninitialized(stream.size());
auto rc = stream.read_or_error(entry);
- ASSERT(rc);
+ VERIFY(rc);
callback(create<StringValue>(String::copy(entry)));
}
}
@@ -2082,7 +2082,7 @@ void PathRedirectionNode::highlight_in_editor(Line::Editor& editor, Shell& shell
m_path->highlight_in_editor(editor, shell, metadata);
if (m_path->is_bareword()) {
auto path_text = m_path->run(nullptr)->resolve_as_list(nullptr);
- ASSERT(path_text.size() == 1);
+ VERIFY(path_text.size() == 1);
// Apply a URL to the path.
auto& position = m_path->position();
auto& path = path_text[0];
@@ -2521,8 +2521,8 @@ RefPtr<Value> Juxtaposition::run(RefPtr<Shell> shell)
if (left_value->is_string() && right_value->is_string()) {
- ASSERT(left.size() == 1);
- ASSERT(right.size() == 1);
+ VERIFY(left.size() == 1);
+ VERIFY(right.size() == 1);
StringBuilder builder;
builder.append(left[0]);
@@ -2880,7 +2880,7 @@ RefPtr<Value> VariableDeclarations::run(RefPtr<Shell> shell)
{
for (auto& var : m_variables) {
auto name_value = var.name->run(shell)->resolve_as_list(shell);
- ASSERT(name_value.size() == 1);
+ VERIFY(name_value.size() == 1);
auto name = name_value[0];
auto value = var.value->run(shell);
shell->set_local_variable(name, value.release_nonnull());
@@ -3063,7 +3063,7 @@ Vector<String> SimpleVariableValue::resolve_as_list(RefPtr<Shell> shell)
NonnullRefPtr<Value> SimpleVariableValue::resolve_without_cast(RefPtr<Shell> shell)
{
- ASSERT(shell);
+ VERIFY(shell);
if (auto value = shell->lookup_local_variable(m_name))
return value.release_nonnull();
@@ -3150,7 +3150,7 @@ Result<NonnullRefPtr<Rewiring>, String> PathRedirection::apply() const
return check_fd_and_return(open(path.characters(), O_RDWR | O_CREAT, 0666), path);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
PathRedirection::~PathRedirection()
diff --git a/Userland/Shell/AST.h b/Userland/Shell/AST.h
index b0f4e7d5f8..1497f258d2 100644
--- a/Userland/Shell/AST.h
+++ b/Userland/Shell/AST.h
@@ -285,8 +285,8 @@ private:
class JobValue final : public Value {
public:
- virtual Vector<String> resolve_as_list(RefPtr<Shell>) override { ASSERT_NOT_REACHED(); }
- virtual Vector<Command> resolve_as_commands(RefPtr<Shell>) override { ASSERT_NOT_REACHED(); }
+ virtual Vector<String> resolve_as_list(RefPtr<Shell>) override { VERIFY_NOT_REACHED(); }
+ virtual Vector<Command> resolve_as_commands(RefPtr<Shell>) override { VERIFY_NOT_REACHED(); }
virtual ~JobValue();
virtual bool is_job() const override { return true; }
JobValue(RefPtr<Job> job)
@@ -441,7 +441,7 @@ public:
}
virtual const SyntaxError& syntax_error_node() const
{
- ASSERT(is_syntax_error());
+ VERIFY(is_syntax_error());
return *m_syntax_error_node;
}
@@ -449,7 +449,7 @@ public:
Vector<Command> to_lazy_evaluated_commands(RefPtr<Shell> shell);
- virtual void visit(NodeVisitor&) { ASSERT_NOT_REACHED(); }
+ virtual void visit(NodeVisitor&) { VERIFY_NOT_REACHED(); }
virtual void visit(NodeVisitor& visitor) const { const_cast<Node*>(this)->visit(visitor); }
enum class Kind : u32 {
@@ -696,7 +696,7 @@ private:
NODE(CommandLiteral);
virtual void dump(int level) const override;
virtual RefPtr<Value> run(RefPtr<Shell>) override;
- virtual void highlight_in_editor(Line::Editor&, Shell&, HighlightMetadata = {}) override { ASSERT_NOT_REACHED(); }
+ virtual void highlight_in_editor(Line::Editor&, Shell&, HighlightMetadata = {}) override { VERIFY_NOT_REACHED(); }
virtual bool is_command() const override { return true; }
virtual bool is_list() const override { return true; }
@@ -916,7 +916,7 @@ struct HistorySelector {
return selector;
if (kind == Last)
return size - 1;
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
};
struct {
diff --git a/Userland/Shell/Formatter.cpp b/Userland/Shell/Formatter.cpp
index 27a0dc08b1..ea7b6b4019 100644
--- a/Userland/Shell/Formatter.cpp
+++ b/Userland/Shell/Formatter.cpp
@@ -249,7 +249,7 @@ void Formatter::visit(const AST::CloseFdRedirection* node)
void Formatter::visit(const AST::CommandLiteral*)
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Formatter::visit(const AST::Comment* node)
@@ -270,7 +270,7 @@ void Formatter::visit(const AST::ContinuationControl* node)
else if (node->continuation_kind() == AST::ContinuationControl::Continue)
current_builder().append("continue");
else
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
visited(node);
}
diff --git a/Userland/Shell/Job.h b/Userland/Shell/Job.h
index baf0bc3312..f2470b283d 100644
--- a/Userland/Shell/Job.h
+++ b/Userland/Shell/Job.h
@@ -72,12 +72,12 @@ public:
bool signaled() const { return m_term_sig != -1; }
int exit_code() const
{
- ASSERT(exited());
+ VERIFY(exited());
return m_exit_code;
}
int termination_signal() const
{
- ASSERT(signaled());
+ VERIFY(signaled());
return m_term_sig;
}
bool should_be_disowned() const { return m_should_be_disowned; }
diff --git a/Userland/Shell/Parser.cpp b/Userland/Shell/Parser.cpp
index 4fbd8b75a5..9b054fee4a 100644
--- a/Userland/Shell/Parser.cpp
+++ b/Userland/Shell/Parser.cpp
@@ -44,7 +44,7 @@ char Parser::peek()
if (at_end())
return 0;
- ASSERT(m_offset < m_input.length());
+ VERIFY(m_offset < m_input.length());
auto ch = m_input[m_offset];
if (ch == '\\' && m_input.length() > m_offset + 1 && m_input[m_offset + 1] == '\n') {
@@ -326,7 +326,7 @@ RefPtr<AST::Node> Parser::parse_variable_decls()
if (!rest)
return create<AST::VariableDeclarations>(move(variables));
- ASSERT(rest->is_variable_decls());
+ VERIFY(rest->is_variable_decls());
auto* rest_decl = static_cast<AST::VariableDeclarations*>(rest.ptr());
variables.append(rest_decl->variables());
@@ -1368,7 +1368,7 @@ RefPtr<AST::Node> Parser::parse_history_designator()
{
auto rule_start = push_start();
- ASSERT(peek() == '!');
+ VERIFY(peek() == '!');
consume();
// Event selector
@@ -1585,7 +1585,7 @@ RefPtr<AST::Node> Parser::parse_bareword()
{
restore_to(rule_start->offset, rule_start->line);
auto ch = consume();
- ASSERT(ch == '~');
+ VERIFY(ch == '~');
tilde = create<AST::Tilde>(move(username));
}
diff --git a/Userland/Shell/Parser.h b/Userland/Shell/Parser.h
index a3f09b944e..6b8218865a 100644
--- a/Userland/Shell/Parser.h
+++ b/Userland/Shell/Parser.h
@@ -135,10 +135,10 @@ private:
~ScopedOffset()
{
auto last = offsets.take_last();
- ASSERT(last == offset);
+ VERIFY(last == offset);
auto last_line = lines.take_last();
- ASSERT(last_line == line);
+ VERIFY(last_line == line);
}
Vector<size_t>& offsets;
diff --git a/Userland/Shell/Shell.cpp b/Userland/Shell/Shell.cpp
index c13d9922e1..624550c8c7 100644
--- a/Userland/Shell/Shell.cpp
+++ b/Userland/Shell/Shell.cpp
@@ -157,7 +157,7 @@ String Shell::prompt() const
String Shell::expand_tilde(const String& expression)
{
- ASSERT(expression.starts_with('~'));
+ VERIFY(expression.starts_with('~'));
StringBuilder login_name;
size_t first_slash_index = expression.length();
@@ -177,7 +177,7 @@ String Shell::expand_tilde(const String& expression)
const char* home = getenv("HOME");
if (!home) {
auto passwd = getpwuid(getuid());
- ASSERT(passwd && passwd->pw_dir);
+ VERIFY(passwd && passwd->pw_dir);
return String::format("%s/%s", passwd->pw_dir, path.to_string().characters());
}
return String::format("%s/%s", home, path.to_string().characters());
@@ -186,7 +186,7 @@ String Shell::expand_tilde(const String& expression)
auto passwd = getpwnam(login_name.to_string().characters());
if (!passwd)
return expression;
- ASSERT(passwd->pw_dir);
+ VERIFY(passwd->pw_dir);
return String::format("%s/%s", passwd->pw_dir, path.to_string().characters());
}
@@ -515,7 +515,7 @@ Shell::Frame Shell::push_frame(String name)
void Shell::pop_frame()
{
- ASSERT(m_local_frames.size() > 1);
+ VERIFY(m_local_frames.size() > 1);
m_local_frames.take_last();
}
@@ -528,7 +528,7 @@ Shell::Frame::~Frame()
dbgln("Current frames:");
for (auto& frame : frames)
dbgln("- {:p}: {}", &frame, frame.name);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
frames.take_last();
}
@@ -554,7 +554,7 @@ int Shell::run_command(const StringView& cmd, Optional<SourcePosition> source_po
{
// The default-constructed mode of the shell
// should not be used for execution!
- ASSERT(!m_default_constructed);
+ VERIFY(!m_default_constructed);
take_error();
@@ -640,7 +640,7 @@ RefPtr<Job> Shell::run_command(const AST::Command& command)
} else if (rewiring->fd_action == AST::Rewiring::Close::ImmediatelyCloseNew) {
fds.add(rewiring->new_fd);
} else if (rewiring->fd_action == AST::Rewiring::Close::RefreshNew) {
- ASSERT(rewiring->other_pipe_end);
+ VERIFY(rewiring->other_pipe_end);
int pipe_fd[2];
int rc = pipe(pipe_fd);
@@ -652,7 +652,7 @@ RefPtr<Job> Shell::run_command(const AST::Command& command)
rewiring->other_pipe_end->new_fd = pipe_fd[0]; // This fd will be added to the collection on one of the next iterations.
fds.add(pipe_fd[1]);
} else if (rewiring->fd_action == AST::Rewiring::Close::RefreshOld) {
- ASSERT(rewiring->other_pipe_end);
+ VERIFY(rewiring->other_pipe_end);
int pipe_fd[2];
int rc = pipe(pipe_fd);
@@ -795,7 +795,7 @@ RefPtr<Job> Shell::run_command(const AST::Command& command)
tcsetattr(0, TCSANOW, &default_termios);
if (command.should_immediately_execute_next) {
- ASSERT(command.argv.is_empty());
+ VERIFY(command.argv.is_empty());
Core::EventLoop mainloop;
setup_signals();
@@ -816,7 +816,7 @@ RefPtr<Job> Shell::run_command(const AST::Command& command)
jobs.clear();
execute_process(move(argv));
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
close(sync_pipe[0]);
@@ -924,7 +924,7 @@ void Shell::execute_process(Vector<const char*>&& argv)
}
_exit(126);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
void Shell::run_tail(const AST::Command& invoking_command, const AST::NodeWithAction& next_in_chain, int head_exit_code)
@@ -998,7 +998,7 @@ NonnullRefPtrVector<Job> Shell::run_commands(Vector<AST::Command>& commands)
auto close_redir = (const AST::CloseRedirection*)&redir;
dbgln("close fd {}", close_redir->fd);
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
#endif
@@ -1623,7 +1623,7 @@ void Shell::notify_child_event()
#ifdef ENSURE_WAITID_ONCE
// Theoretically, this should never trip, as jobs are removed from
// the job table when waitpid() succeeds *and* the child is dead.
- ASSERT(!s_waited_for_pids.contains(job.pid()));
+ VERIFY(!s_waited_for_pids.contains(job.pid()));
#endif
int wstatus = 0;
@@ -1641,7 +1641,7 @@ void Shell::notify_child_event()
// FIXME: This should never happen, the child should stay around until we do the waitpid above.
child_pid = job.pid();
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
if (child_pid == 0) {
@@ -1985,7 +1985,7 @@ SavedFileDescriptors::SavedFileDescriptors(const NonnullRefPtrVector<AST::Rewiri
auto flags = fcntl(new_fd, F_GETFL);
auto rc = fcntl(new_fd, F_SETFL, flags | FD_CLOEXEC);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
m_saves.append({ rewiring.new_fd, new_fd });
m_collector.add(new_fd);
diff --git a/Userland/Shell/SyntaxHighlighter.cpp b/Userland/Shell/SyntaxHighlighter.cpp
index d202055716..e33e0baeb2 100644
--- a/Userland/Shell/SyntaxHighlighter.cpp
+++ b/Userland/Shell/SyntaxHighlighter.cpp
@@ -64,7 +64,7 @@ private:
offset -= new_line.line_column;
--offset;
- ASSERT(new_line.line_number > 0);
+ VERIFY(new_line.line_number > 0);
--new_line.line_number;
auto line = m_document.line(new_line.line_number);
diff --git a/Userland/Tests/Kernel/bind-local-socket-to-symlink.cpp b/Userland/Tests/Kernel/bind-local-socket-to-symlink.cpp
index 1f9fb5003a..e7efa9aba0 100644
--- a/Userland/Tests/Kernel/bind-local-socket-to-symlink.cpp
+++ b/Userland/Tests/Kernel/bind-local-socket-to-symlink.cpp
@@ -48,7 +48,7 @@ int main(int, char**)
struct sockaddr_un addr;
memset(&addr, 0, sizeof(addr));
addr.sun_family = AF_UNIX;
- ASSERT(strlcpy(addr.sun_path, path, sizeof(addr.sun_path)) < sizeof(addr.sun_path));
+ VERIFY(strlcpy(addr.sun_path, path, sizeof(addr.sun_path)) < sizeof(addr.sun_path));
rc = bind(fd, (struct sockaddr*)(&addr), sizeof(addr));
if (rc < 0 && errno == EADDRINUSE) {
diff --git a/Userland/Tests/Kernel/fuzz-syscalls.cpp b/Userland/Tests/Kernel/fuzz-syscalls.cpp
index c38d6333d5..e71d3ad11a 100644
--- a/Userland/Tests/Kernel/fuzz-syscalls.cpp
+++ b/Userland/Tests/Kernel/fuzz-syscalls.cpp
@@ -63,16 +63,16 @@ static void do_systematic_tests()
}
// This is pure torture
rc = syscall(Syscall::Function(i), 0xc0000001, 0xc0000002, 0xc0000003);
- ASSERT(rc != -ENOSYS);
+ VERIFY(rc != -ENOSYS);
}
// Finally, test invalid syscalls:
dbgln("Testing syscall #{} (n+1)", (int)Syscall::Function::__Count);
rc = syscall(Syscall::Function::__Count, 0xc0000001, 0xc0000002, 0xc0000003);
- ASSERT(rc == -ENOSYS);
+ VERIFY(rc == -ENOSYS);
dbgln("Testing syscall #-1");
rc = syscall(Syscall::Function(-1), 0xc0000001, 0xc0000002, 0xc0000003);
- ASSERT(rc == -ENOSYS);
+ VERIFY(rc == -ENOSYS);
}
static void randomize_from(size_t* buffer, size_t len, const Vector<size_t>& values)
@@ -102,7 +102,7 @@ static void do_weird_call(size_t attempt, int syscall_fn, size_t arg1, size_t ar
// Actually do the syscall ('fake_params' is passed indirectly, if any of arg1, arg2, or arg3 point to it.
int rc = syscall(Syscall::Function(syscall_fn), arg1, arg2, arg3);
- ASSERT(rc != -ENOSYS || is_nosys_syscall(syscall_fn));
+ VERIFY(rc != -ENOSYS || is_nosys_syscall(syscall_fn));
}
static void do_random_tests()
@@ -111,7 +111,7 @@ static void do_random_tests()
{
struct sigaction act_ignore = { { SIG_IGN }, 0, 0 };
int rc = sigaction(SIGALRM, &act_ignore, nullptr);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
// Note that we will also make lots of syscalls for randomness and debugging.
diff --git a/Userland/Tests/Kernel/kill-pidtid-confusion.cpp b/Userland/Tests/Kernel/kill-pidtid-confusion.cpp
index 7c9a03d4ba..0357ccdd23 100644
--- a/Userland/Tests/Kernel/kill-pidtid-confusion.cpp
+++ b/Userland/Tests/Kernel/kill-pidtid-confusion.cpp
@@ -87,7 +87,7 @@ static void sleep_steps(useconds_t steps)
const int rc = usleep(steps * STEP_SIZE);
if (rc < 0) {
perror("usleep");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -143,7 +143,7 @@ static void run_pz()
// Time 3: T1 calls thread_exit()
dbgln("PZ(T1) calls thread_exit");
pthread_exit(nullptr);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
static void* run_pz_t2_wrap(void*)
diff --git a/Userland/Tests/Kernel/setpgid-across-sessions-without-leader.cpp b/Userland/Tests/Kernel/setpgid-across-sessions-without-leader.cpp
index 48471e6db6..d13b83a478 100644
--- a/Userland/Tests/Kernel/setpgid-across-sessions-without-leader.cpp
+++ b/Userland/Tests/Kernel/setpgid-across-sessions-without-leader.cpp
@@ -95,7 +95,7 @@ static void sleep_steps(useconds_t steps)
const int rc = usleep(steps * STEP_SIZE);
if (rc < 0) {
perror("usleep");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -146,7 +146,7 @@ int main(int, char**)
}
exit(1);
}
- ASSERT(rc == 1);
+ VERIFY(rc == 1);
if (buf == 0) {
printf("PASS\n");
return 0;
@@ -171,7 +171,7 @@ static void run_pa1(void*)
int rc = setsid();
if (rc < 0) {
perror("setsid (PA)");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
dbgln("PA1 did setsid() -> PGA={}, SA={}, yay!", rc, getsid(0));
sleep_steps(1);
@@ -210,7 +210,7 @@ static void run_pb1(void* pipe_fd_ptr)
int rc = setsid();
if (rc < 0) {
perror("setsid (PB)");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
dbgln("PB1 did setsid() -> PGB={}, SB={}, yay!", rc, getsid(0));
sleep_steps(1);
@@ -258,7 +258,7 @@ static void run_pb2(void* pipe_fd_ptr)
dbgln("PB2: setgpid SUCCESSFUL! CHANGED PGROUP!");
to_write = 1;
} else {
- ASSERT(rc == -1);
+ VERIFY(rc == -1);
switch (errno) {
case EACCES:
dbgln("PB2: Failed with EACCES. Huh?!");
@@ -286,7 +286,7 @@ static void run_pb2(void* pipe_fd_ptr)
dbgln("PB2 ends with SID={}, PGID={}, PID={}.", getsid(0), getpgid(0), getpid());
int* pipe_fd = static_cast<int*>(pipe_fd_ptr);
- ASSERT(*pipe_fd);
+ VERIFY(*pipe_fd);
rc = write(*pipe_fd, &to_write, 1);
if (rc != 1) {
dbgln("Wrote only {} bytes instead of 1?!", rc);
diff --git a/Userland/Tests/LibC/overlong_realpath.cpp b/Userland/Tests/LibC/overlong_realpath.cpp
index e4ce53f874..890ed7ba84 100644
--- a/Userland/Tests/LibC/overlong_realpath.cpp
+++ b/Userland/Tests/LibC/overlong_realpath.cpp
@@ -100,9 +100,9 @@ int main()
all_good &= check_result("getcwd", expected_str, getcwd(nullptr, 0));
all_good &= check_result("realpath", expected_str, realpath(".", nullptr));
- ASSERT(strlen(PATH_LOREM_250) == 250);
- ASSERT(strlen(TMPDIR_PATTERN) + ITERATION_DEPTH * (1 + strlen(PATH_LOREM_250)) == expected_str.length());
- ASSERT(expected_str.length() > PATH_MAX);
+ VERIFY(strlen(PATH_LOREM_250) == 250);
+ VERIFY(strlen(TMPDIR_PATTERN) + ITERATION_DEPTH * (1 + strlen(PATH_LOREM_250)) == expected_str.length());
+ VERIFY(expected_str.length() > PATH_MAX);
if (all_good) {
printf("Overall: %sPASS%s\n", TEXT_PASS, TEXT_RESET);
diff --git a/Userland/Tests/LibC/scanf.cpp b/Userland/Tests/LibC/scanf.cpp
index da358ddac2..71aeb0a51f 100644
--- a/Userland/Tests/LibC/scanf.cpp
+++ b/Userland/Tests/LibC/scanf.cpp
@@ -126,7 +126,7 @@ static Array<u8, 32> arg_to_value_t(const Argument& arg)
return value;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
#define DECL_WITH_TYPE(ty) \
diff --git a/Userland/Tests/LibC/snprintf-correctness.cpp b/Userland/Tests/LibC/snprintf-correctness.cpp
index 3089419df3..71ec7028bf 100644
--- a/Userland/Tests/LibC/snprintf-correctness.cpp
+++ b/Userland/Tests/LibC/snprintf-correctness.cpp
@@ -76,7 +76,7 @@ static bool test_single(const Testcase& testcase)
ByteBuffer actual = ByteBuffer::create_uninitialized(SANDBOX_CANARY_SIZE + testcase.dest_n + SANDBOX_CANARY_SIZE);
AK::fill_with_random(actual.data(), actual.size());
ByteBuffer expected = actual.isolated_copy();
- ASSERT(actual.offset_pointer(0) != expected.offset_pointer(0));
+ VERIFY(actual.offset_pointer(0) != expected.offset_pointer(0));
actual.overwrite(SANDBOX_CANARY_SIZE, testcase.dest, testcase.dest_n);
expected.overwrite(SANDBOX_CANARY_SIZE, testcase.dest_expected, testcase.dest_expected_n);
// "unsigned char" != "char", so we have to convince the compiler to allow this.
diff --git a/Userland/Tests/LibC/strlcpy-correctness.cpp b/Userland/Tests/LibC/strlcpy-correctness.cpp
index 00c3beeb38..adf56ff09d 100644
--- a/Userland/Tests/LibC/strlcpy-correctness.cpp
+++ b/Userland/Tests/LibC/strlcpy-correctness.cpp
@@ -78,7 +78,7 @@ static bool test_single(const Testcase& testcase)
ByteBuffer actual = ByteBuffer::create_uninitialized(SANDBOX_CANARY_SIZE + testcase.dest_n + SANDBOX_CANARY_SIZE);
AK::fill_with_random(actual.data(), actual.size());
ByteBuffer expected = actual.isolated_copy();
- ASSERT(actual.offset_pointer(0) != expected.offset_pointer(0));
+ VERIFY(actual.offset_pointer(0) != expected.offset_pointer(0));
actual.overwrite(SANDBOX_CANARY_SIZE, testcase.dest, testcase.dest_n);
expected.overwrite(SANDBOX_CANARY_SIZE, testcase.dest_expected, testcase.dest_expected_n);
// "unsigned char" != "char", so we have to convince the compiler to allow this.
diff --git a/Userland/Tests/UserspaceEmulator/write-oob.cpp b/Userland/Tests/UserspaceEmulator/write-oob.cpp
index f75a1e5e46..348fe22998 100644
--- a/Userland/Tests/UserspaceEmulator/write-oob.cpp
+++ b/Userland/Tests/UserspaceEmulator/write-oob.cpp
@@ -58,7 +58,7 @@ static void run_test(void* region, ssize_t offset, size_t bits)
write64(ptr);
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -91,7 +91,7 @@ int main(int argc, char** argv)
run_test(region, offset, 64);
} else {
void* region = mmap(nullptr, size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
- ASSERT(region);
+ VERIFY(region);
run_test(region, offset, bits);
}
diff --git a/Userland/Utilities/arp.cpp b/Userland/Utilities/arp.cpp
index 2be5ce7a26..2f29afbb31 100644
--- a/Userland/Utilities/arp.cpp
+++ b/Userland/Utilities/arp.cpp
@@ -41,7 +41,7 @@ int main()
printf("Address HWaddress\n");
auto file_contents = file->read_all();
auto json = JsonValue::from_string(file_contents);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
json.value().as_array().for_each([](auto& value) {
auto if_object = value.as_object();
diff --git a/Userland/Utilities/base64.cpp b/Userland/Utilities/base64.cpp
index f8e0fc6ff9..030990c286 100644
--- a/Userland/Utilities/base64.cpp
+++ b/Userland/Utilities/base64.cpp
@@ -55,11 +55,11 @@ int main(int argc, char** argv)
STDIN_FILENO,
Core::IODevice::OpenMode::ReadOnly,
Core::File::ShouldCloseFileDescriptor::Yes);
- ASSERT(success);
+ VERIFY(success);
buffer = file->read_all();
} else {
auto result = Core::File::open(filepath, Core::IODevice::OpenMode::ReadOnly);
- ASSERT(!result.is_error());
+ VERIFY(!result.is_error());
auto file = result.value();
buffer = file->read_all();
}
diff --git a/Userland/Utilities/copy.cpp b/Userland/Utilities/copy.cpp
index 90d2e04430..2295703825 100644
--- a/Userland/Utilities/copy.cpp
+++ b/Userland/Utilities/copy.cpp
@@ -60,7 +60,7 @@ static Options parse_options(int argc, char* argv[])
STDIN_FILENO,
Core::IODevice::OpenMode::ReadOnly,
Core::File::ShouldCloseFileDescriptor::No);
- ASSERT(success);
+ VERIFY(success);
auto buffer = c_stdin->read_all();
dbgln("Read size {}", buffer.size());
options.data = String((char*)buffer.data(), buffer.size());
diff --git a/Userland/Utilities/crash.cpp b/Userland/Utilities/crash.cpp
index 188eb690aa..817dbc300e 100644
--- a/Userland/Utilities/crash.cpp
+++ b/Userland/Utilities/crash.cpp
@@ -72,7 +72,7 @@ public:
printf("Unexpected error!\n");
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
};
@@ -84,7 +84,7 @@ public:
pid_t pid = fork();
if (pid < 0) {
perror("fork");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
} else if (pid == 0) {
run_crash_and_print_if_error();
exit(0);
@@ -342,7 +342,7 @@ int main(int argc, char** argv)
if (do_failing_assertion || do_all_crash_types) {
Crash("Perform a failing assertion", [] {
- ASSERT(1 == 2);
+ VERIFY(1 == 2);
return Crash::Failure::DidNotCrash;
}).run(run_type);
}
diff --git a/Userland/Utilities/df.cpp b/Userland/Utilities/df.cpp
index 53a79eb7aa..2ffab267e0 100644
--- a/Userland/Utilities/df.cpp
+++ b/Userland/Utilities/df.cpp
@@ -71,7 +71,7 @@ int main(int argc, char** argv)
auto file_contents = file->read_all();
auto json_result = JsonValue::from_string(file_contents);
- ASSERT(json_result.has_value());
+ VERIFY(json_result.has_value());
auto json = json_result.value().as_array();
json.for_each([](auto& value) {
auto fs_object = value.as_object();
diff --git a/Userland/Utilities/du.cpp b/Userland/Utilities/du.cpp
index fed2898eb4..06f28569a8 100644
--- a/Userland/Utilities/du.cpp
+++ b/Userland/Utilities/du.cpp
@@ -124,7 +124,7 @@ int parse_args(int argc, char** argv, Vector<String>& files, DuOption& du_option
if (exclude_from) {
auto file = Core::File::construct(exclude_from);
bool success = file->open(Core::IODevice::ReadOnly);
- ASSERT(success);
+ VERIFY(success);
if (const auto buff = file->read_all()) {
String patterns = String::copy(buff, Chomp);
du_option.excluded_patterns.append(patterns.split('\n'));
diff --git a/Userland/Utilities/expr.cpp b/Userland/Utilities/expr.cpp
index cfcc8f7ea3..f96a67c8fa 100644
--- a/Userland/Utilities/expr.cpp
+++ b/Userland/Utilities/expr.cpp
@@ -112,7 +112,7 @@ private:
return converted.value();
fail("Not an integer: '{}'", as_string);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
virtual String string() const override
{
@@ -122,7 +122,7 @@ private:
case Type::String:
return as_string;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
virtual Type type() const override { return m_type; }
@@ -176,7 +176,7 @@ private:
return m_left->integer();
return m_right->integer();
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
virtual String string() const override
@@ -191,7 +191,7 @@ private:
return m_left->string();
return m_right->string();
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
virtual Type type() const override
{
@@ -205,7 +205,7 @@ private:
return m_left->type();
return m_right->type();
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
BooleanOperator m_op { BooleanOperator::And };
@@ -264,7 +264,7 @@ private:
case ComparisonOperation::Greater:
return left != right && !(left < right);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
virtual bool truth() const override
@@ -275,7 +275,7 @@ private:
case Type::String:
return compare(m_left->string(), m_right->string());
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
virtual int integer() const override { return truth(); }
virtual String string() const override { return truth() ? "1" : "0"; }
@@ -346,7 +346,7 @@ private:
case ArithmeticOperation::Remainder:
return left % right;
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
virtual String string() const override
{
@@ -399,7 +399,7 @@ private:
if (m_op == StringOperation::Length)
return m_str->string().length();
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
static auto safe_substring(const String& str, int start, int length)
{
diff --git a/Userland/Utilities/fgrep.cpp b/Userland/Utilities/fgrep.cpp
index bf71e54c77..ed8ff4adc6 100644
--- a/Userland/Utilities/fgrep.cpp
+++ b/Userland/Utilities/fgrep.cpp
@@ -42,7 +42,7 @@ int main(int argc, char** argv)
write(1, buf, strlen(buf));
if (feof(stdin))
return 0;
- ASSERT(str);
+ VERIFY(str);
}
return 0;
}
diff --git a/Userland/Utilities/find.cpp b/Userland/Utilities/find.cpp
index 872cf1717e..4f613a980d 100644
--- a/Userland/Utilities/find.cpp
+++ b/Userland/Utilities/find.cpp
@@ -110,7 +110,7 @@ private:
return S_ISSOCK(type);
default:
// We've verified this is a correct character before.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -420,7 +420,7 @@ static NonnullOwnPtr<Command> parse_all_commands(char* argv[])
auto command = parse_complex_command(argv);
if (g_have_seen_action_command) {
- ASSERT(command);
+ VERIFY(command);
return command.release_nonnull();
}
@@ -461,7 +461,7 @@ static const char* parse_options(int argc, char* argv[])
g_follow_symlinks = true;
break;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
}
diff --git a/Userland/Utilities/functrace.cpp b/Userland/Utilities/functrace.cpp
index 01059090f9..34d08d2ab9 100644
--- a/Userland/Utilities/functrace.cpp
+++ b/Userland/Utilities/functrace.cpp
@@ -170,7 +170,7 @@ int main(int argc, char** argv)
}
// FIXME: we could miss some leaf functions that were called with a jump
- ASSERT(instruction.mnemonic() == "CALL");
+ VERIFY(instruction.mnemonic() == "CALL");
++depth;
new_function = true;
diff --git a/Userland/Utilities/grep.cpp b/Userland/Utilities/grep.cpp
index 97d26d49e9..ecf73fb49c 100644
--- a/Userland/Utilities/grep.cpp
+++ b/Userland/Utilities/grep.cpp
@@ -195,7 +195,7 @@ int main(int argc, char** argv)
ssize_t nread = 0;
ScopeGuard free_line = [line] { free(line); };
while ((nread = getline(&line, &line_len, stdin)) != -1) {
- ASSERT(nread > 0);
+ VERIFY(nread > 0);
StringView line_view(line, nread - 1);
bool is_binary = line_view.contains(0);
diff --git a/Userland/Utilities/gron.cpp b/Userland/Utilities/gron.cpp
index 0c1b50eca9..38359d515d 100644
--- a/Userland/Utilities/gron.cpp
+++ b/Userland/Utilities/gron.cpp
@@ -77,7 +77,7 @@ int main(int argc, char** argv)
auto file_contents = file->read_all();
auto json = JsonValue::from_string(file_contents);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
if (use_color) {
color_name = "\033[33;1m";
diff --git a/Userland/Utilities/gunzip.cpp b/Userland/Utilities/gunzip.cpp
index b7081d4a54..8898cbae15 100644
--- a/Userland/Utilities/gunzip.cpp
+++ b/Userland/Utilities/gunzip.cpp
@@ -74,7 +74,7 @@ int main(int argc, char** argv)
if (!keep_input_files) {
const auto retval = unlink(String { input_filename }.characters());
- ASSERT(retval == 0);
+ VERIFY(retval == 0);
}
}
}
diff --git a/Userland/Utilities/ifconfig.cpp b/Userland/Utilities/ifconfig.cpp
index 2a1b000d9b..78ed5ebac0 100644
--- a/Userland/Utilities/ifconfig.cpp
+++ b/Userland/Utilities/ifconfig.cpp
@@ -65,7 +65,7 @@ int main(int argc, char** argv)
auto file_contents = file->read_all();
auto json = JsonValue::from_string(file_contents);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
json.value().as_array().for_each([](auto& value) {
auto if_object = value.as_object();
diff --git a/Userland/Utilities/js.cpp b/Userland/Utilities/js.cpp
index d7b48407fd..b2ee3ae9ef 100644
--- a/Userland/Utilities/js.cpp
+++ b/Userland/Utilities/js.cpp
@@ -323,7 +323,7 @@ static void print_typed_array(const JS::Object& object, HashTable<JS::Object*>&
}
JS_ENUMERATE_TYPED_ARRAYS
#undef __JS_ENUMERATE
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
static void print_primitive_wrapper_object(const FlyString& name, const JS::Object& object, HashTable<JS::Object*>& seen_objects)
@@ -884,7 +884,7 @@ int main(int argc, char** argv)
break;
}
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
return results;
diff --git a/Userland/Utilities/ls.cpp b/Userland/Utilities/ls.cpp
index 4c26dd68c8..3e3f74c75d 100644
--- a/Userland/Utilities/ls.cpp
+++ b/Userland/Utilities/ls.cpp
@@ -372,7 +372,7 @@ static int do_file_system_object_long(const char* path)
while (di.has_next()) {
FileMetadata metadata;
metadata.name = di.next_path();
- ASSERT(!metadata.name.is_empty());
+ VERIFY(!metadata.name.is_empty());
if (metadata.name.ends_with('~') && flag_ignore_backups && metadata.name != path)
continue;
@@ -382,7 +382,7 @@ static int do_file_system_object_long(const char* path)
builder.append('/');
builder.append(metadata.name);
metadata.path = builder.to_string();
- ASSERT(!metadata.path.is_null());
+ VERIFY(!metadata.path.is_null());
int rc = lstat(metadata.path.characters(), &metadata.stat);
if (rc < 0) {
perror("lstat");
diff --git a/Userland/Utilities/lsirq.cpp b/Userland/Utilities/lsirq.cpp
index 8a24308c20..82402cc1b8 100644
--- a/Userland/Utilities/lsirq.cpp
+++ b/Userland/Utilities/lsirq.cpp
@@ -59,7 +59,7 @@ int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
printf("%4s %-10s\n", " ", "CPU0");
auto file_contents = proc_interrupts->read_all();
auto json = JsonValue::from_string(file_contents);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
json.value().as_array().for_each([](auto& value) {
auto handler = value.as_object();
auto purpose = handler.get("purpose").to_string();
diff --git a/Userland/Utilities/lsof.cpp b/Userland/Utilities/lsof.cpp
index 9a9bafa0bd..086d7812ea 100644
--- a/Userland/Utilities/lsof.cpp
+++ b/Userland/Utilities/lsof.cpp
@@ -95,7 +95,7 @@ static Vector<OpenFile> get_open_files_by_pid(pid_t pid)
auto result = parser.parse();
if (!result.has_value()) {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
Vector<OpenFile> files;
@@ -105,7 +105,7 @@ static Vector<OpenFile> get_open_files_by_pid(pid_t pid)
open_file.fd = object.as_object().get("fd").to_int();
String name = object.as_object().get("absolute_path").to_string();
- ASSERT(parse_name(name, open_file));
+ VERIFY(parse_name(name, open_file));
open_file.full_name = name;
files.append(open_file);
diff --git a/Userland/Utilities/lspci.cpp b/Userland/Utilities/lspci.cpp
index 45a3f48932..388e59b55c 100644
--- a/Userland/Utilities/lspci.cpp
+++ b/Userland/Utilities/lspci.cpp
@@ -86,7 +86,7 @@ int main(int argc, char** argv)
auto file_contents = proc_pci->read_all();
auto json = JsonValue::from_string(file_contents);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
json.value().as_array().for_each([db, format](auto& value) {
auto dev = value.as_object();
auto seg = dev.get("seg").to_u32();
diff --git a/Userland/Utilities/man.cpp b/Userland/Utilities/man.cpp
index fc54db06e6..971e075d83 100644
--- a/Userland/Utilities/man.cpp
+++ b/Userland/Utilities/man.cpp
@@ -114,7 +114,7 @@ int main(int argc, char* argv[])
printf("%s(%s)\t\tSerenityOS manual\n", name, section);
auto document = Markdown::Document::parse(source);
- ASSERT(document);
+ VERIFY(document);
String rendered = document->render_for_terminal(view_width);
printf("%s", rendered.characters());
diff --git a/Userland/Utilities/mount.cpp b/Userland/Utilities/mount.cpp
index d9d831d1c1..f475d271ee 100644
--- a/Userland/Utilities/mount.cpp
+++ b/Userland/Utilities/mount.cpp
@@ -145,7 +145,7 @@ static bool print_mounts()
auto content = df->read_all();
auto json = JsonValue::from_string(content);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
json.value().as_array().for_each([](auto& value) {
auto fs_object = value.as_object();
diff --git a/Userland/Utilities/ntpquery.cpp b/Userland/Utilities/ntpquery.cpp
index 07003b4f38..692a5b4d54 100644
--- a/Userland/Utilities/ntpquery.cpp
+++ b/Userland/Utilities/ntpquery.cpp
@@ -74,7 +74,7 @@ const unsigned SecondsFrom1900To1970 = (70u * 365u + 70u / 4u) * 24u * 60u * 60u
static NtpTimestamp ntp_timestamp_from_timeval(const timeval& t)
{
- ASSERT(t.tv_usec >= 0 && t.tv_usec < 1'000'000); // Fits in 20 bits when normalized.
+ VERIFY(t.tv_usec >= 0 && t.tv_usec < 1'000'000); // Fits in 20 bits when normalized.
// Seconds just need translation to the different origin.
uint32_t seconds = t.tv_sec + SecondsFrom1900To1970;
@@ -100,9 +100,9 @@ static String format_ntp_timestamp(NtpTimestamp ntp_timestamp)
struct tm tm;
gmtime_r(&t.tv_sec, &tm);
size_t written = strftime(buffer, sizeof(buffer), "%Y-%m-%dT%T.", &tm);
- ASSERT(written == 20);
+ VERIFY(written == 20);
written += snprintf(buffer + written, sizeof(buffer) - written, "%06d", (int)t.tv_usec);
- ASSERT(written == 26);
+ VERIFY(written == 26);
buffer[written++] = 'Z';
buffer[written] = '\0';
return buffer;
@@ -231,9 +231,9 @@ int main(int argc, char** argv)
}
cmsghdr* cmsg = CMSG_FIRSTHDR(&msg);
- ASSERT(cmsg->cmsg_level == SOL_SOCKET);
- ASSERT(cmsg->cmsg_type == SCM_TIMESTAMP);
- ASSERT(!CMSG_NXTHDR(&msg, cmsg));
+ VERIFY(cmsg->cmsg_level == SOL_SOCKET);
+ VERIFY(cmsg->cmsg_type == SCM_TIMESTAMP);
+ VERIFY(!CMSG_NXTHDR(&msg, cmsg));
timeval kernel_receive_time;
memcpy(&kernel_receive_time, CMSG_DATA(cmsg), sizeof(kernel_receive_time));
diff --git a/Userland/Utilities/ping.cpp b/Userland/Utilities/ping.cpp
index 78bf70ddfa..977b97c929 100644
--- a/Userland/Utilities/ping.cpp
+++ b/Userland/Utilities/ping.cpp
@@ -164,7 +164,7 @@ int main(int argc, char** argv)
bool fits = String("Hello there!\n").copy_characters_to_buffer(ping_packet.msg, sizeof(ping_packet.msg));
// It's a constant string, we can be sure that it fits.
- ASSERT(fits);
+ VERIFY(fits);
ping_packet.header.checksum = internet_checksum(&ping_packet, sizeof(PingPacket));
diff --git a/Userland/Utilities/pmap.cpp b/Userland/Utilities/pmap.cpp
index e0a6a17611..b752ecb3cb 100644
--- a/Userland/Utilities/pmap.cpp
+++ b/Userland/Utilities/pmap.cpp
@@ -70,7 +70,7 @@ int main(int argc, char** argv)
auto file_contents = file->read_all();
auto json = JsonValue::from_string(file_contents);
- ASSERT(json.has_value());
+ VERIFY(json.has_value());
Vector<JsonValue> sorted_regions = json.value().as_array().values();
quick_sort(sorted_regions, [](auto& a, auto& b) {
diff --git a/Userland/Utilities/printf.cpp b/Userland/Utilities/printf.cpp
index bb434e761c..97fe8e64be 100644
--- a/Userland/Utilities/printf.cpp
+++ b/Userland/Utilities/printf.cpp
@@ -205,7 +205,7 @@ template<typename V>
struct ArgvNextArgument<int*, V> {
ALWAYS_INLINE int* operator()(V) const
{
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return nullptr;
}
};
diff --git a/Userland/Utilities/strace.cpp b/Userland/Utilities/strace.cpp
index 64d005cfbb..c43f987e51 100644
--- a/Userland/Utilities/strace.cpp
+++ b/Userland/Utilities/strace.cpp
@@ -105,7 +105,7 @@ int main(int argc, char** argv)
perror("execvp");
exit(1);
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
g_pid = pid;
diff --git a/Userland/Utilities/syscall.cpp b/Userland/Utilities/syscall.cpp
index 1742821acf..f5275f75be 100644
--- a/Userland/Utilities/syscall.cpp
+++ b/Userland/Utilities/syscall.cpp
@@ -143,7 +143,7 @@ static FlatPtr parse_parameter_buffer(ArgIter& iter)
fprintf(stderr, "Error: Unmatched '['?!\n");
exit(1);
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
static FlatPtr parse_from(ArgIter& iter)
diff --git a/Userland/Utilities/tar.cpp b/Userland/Utilities/tar.cpp
index b828e3d8d1..a3ce48d49e 100644
--- a/Userland/Utilities/tar.cpp
+++ b/Userland/Utilities/tar.cpp
@@ -120,7 +120,7 @@ int main(int argc, char** argv)
}
default:
// FIXME: Implement other file types
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
}
@@ -129,7 +129,7 @@ int main(int argc, char** argv)
}
// FIXME: Implement other operations.
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
return 0;
}
diff --git a/Userland/Utilities/test-js.cpp b/Userland/Utilities/test-js.cpp
index 52996c6b93..f5f8489c6e 100644
--- a/Userland/Utilities/test-js.cpp
+++ b/Userland/Utilities/test-js.cpp
@@ -121,7 +121,7 @@ public:
: m_test_root(move(test_root))
, m_print_times(print_times)
{
- ASSERT(!s_the);
+ VERIFY(!s_the);
s_the = this;
}
@@ -201,7 +201,7 @@ static double get_time_in_ms()
{
struct timeval tv1;
auto return_code = gettimeofday(&tv1, nullptr);
- ASSERT(return_code >= 0);
+ VERIFY(return_code >= 0);
return static_cast<double>(tv1.tv_sec) * 1000.0 + static_cast<double>(tv1.tv_usec) / 1000.0;
}
@@ -334,16 +334,16 @@ JSFileResult TestRunner::run_file_test(const String& test_path)
test_json.value().as_object().for_each_member([&](const String& suite_name, const JsonValue& suite_value) {
JSSuite suite { suite_name };
- ASSERT(suite_value.is_object());
+ VERIFY(suite_value.is_object());
suite_value.as_object().for_each_member([&](const String& test_name, const JsonValue& test_value) {
JSTest test { test_name, TestResult::Fail, "" };
- ASSERT(test_value.is_object());
- ASSERT(test_value.as_object().has("result"));
+ VERIFY(test_value.is_object());
+ VERIFY(test_value.as_object().has("result"));
auto result = test_value.as_object().get("result");
- ASSERT(result.is_string());
+ VERIFY(result.is_string());
auto result_string = result.as_string();
if (result_string == "pass") {
test.result = TestResult::Pass;
@@ -352,9 +352,9 @@ JSFileResult TestRunner::run_file_test(const String& test_path)
test.result = TestResult::Fail;
m_counts.tests_failed++;
suite.most_severe_test_result = TestResult::Fail;
- ASSERT(test_value.as_object().has("details"));
+ VERIFY(test_value.as_object().has("details"));
auto details = test_value.as_object().get("details");
- ASSERT(result.is_string());
+ VERIFY(result.is_string());
test.details = details.as_string();
} else {
test.result = TestResult::Skip;
@@ -425,7 +425,7 @@ static void print_modifiers(Vector<Modifier> modifiers)
case CLEAR:
return "\033[0m";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}();
out("{}", code);
}
@@ -625,7 +625,7 @@ JSFileResult Test262ParserTestRunner::run_file_test(const String& test_path)
} else if (dirname.ends_with("pass") || dirname.ends_with("pass-explicit")) {
expecting_file_to_parse = true;
} else {
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
auto start_time = get_time_in_ms();
diff --git a/Userland/Utilities/test-pthread.cpp b/Userland/Utilities/test-pthread.cpp
index 36914f6634..ba56367410 100644
--- a/Userland/Utilities/test-pthread.cpp
+++ b/Userland/Utilities/test-pthread.cpp
@@ -50,7 +50,7 @@ static void test_once()
for (auto& thread : threads)
[[maybe_unused]] auto res = thread.join();
- ASSERT(v.size() == 1);
+ VERIFY(v.size() == 1);
}
int main()
diff --git a/Userland/Utilities/test-web.cpp b/Userland/Utilities/test-web.cpp
index 040eb90a3e..2b918b012c 100644
--- a/Userland/Utilities/test-web.cpp
+++ b/Userland/Utilities/test-web.cpp
@@ -186,7 +186,7 @@ static double get_time_in_ms()
{
struct timeval tv1;
auto return_code = gettimeofday(&tv1, nullptr);
- ASSERT(return_code >= 0);
+ VERIFY(return_code >= 0);
return static_cast<double>(tv1.tv_sec) * 1000.0 + static_cast<double>(tv1.tv_usec) / 1000.0;
}
@@ -230,7 +230,7 @@ void TestRunner::run()
cleanup_and_exit();
}
- ASSERT(m_page_view->document());
+ VERIFY(m_page_view->document());
// We want to keep the same document since the interpreter is tied to the document,
// and we don't want to lose the test state. So, we just clear the document and
@@ -303,7 +303,7 @@ static Optional<JsonValue> get_test_results(JS::Interpreter& interpreter)
JSFileResult TestRunner::run_file_test(const String& test_path)
{
double start_time = get_time_in_ms();
- ASSERT(m_page_view->document());
+ VERIFY(m_page_view->document());
auto& old_interpreter = m_page_view->document()->interpreter();
if (!m_js_test_common) {
@@ -396,16 +396,16 @@ JSFileResult TestRunner::run_file_test(const String& test_path)
test_json.value().as_object().for_each_member([&](const String& suite_name, const JsonValue& suite_value) {
JSSuite suite { suite_name };
- ASSERT(suite_value.is_object());
+ VERIFY(suite_value.is_object());
suite_value.as_object().for_each_member([&](const String& test_name, const JsonValue& test_value) {
JSTest test { test_name, TestResult::Fail, "" };
- ASSERT(test_value.is_object());
- ASSERT(test_value.as_object().has("result"));
+ VERIFY(test_value.is_object());
+ VERIFY(test_value.as_object().has("result"));
auto result = test_value.as_object().get("result");
- ASSERT(result.is_string());
+ VERIFY(result.is_string());
auto result_string = result.as_string();
if (result_string == "pass") {
test.result = TestResult::Pass;
@@ -414,9 +414,9 @@ JSFileResult TestRunner::run_file_test(const String& test_path)
test.result = TestResult::Fail;
m_counts.tests_failed++;
suite.most_severe_test_result = TestResult::Fail;
- ASSERT(test_value.as_object().has("details"));
+ VERIFY(test_value.as_object().has("details"));
auto details = test_value.as_object().get("details");
- ASSERT(result.is_string());
+ VERIFY(result.is_string());
test.details = details.as_string();
} else {
test.result = TestResult::Skip;
@@ -492,7 +492,7 @@ static void print_modifiers(Vector<Modifier> modifiers)
case CLEAR:
return "\033[0m";
}
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
};
printf("%s", code().characters());
}
diff --git a/Userland/Utilities/test.cpp b/Userland/Utilities/test.cpp
index a81c84933c..0cf039e135 100644
--- a/Userland/Utilities/test.cpp
+++ b/Userland/Utilities/test.cpp
@@ -158,7 +158,7 @@ private:
case SymbolicLink:
return S_ISLNK(statbuf.st_mode);
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -193,7 +193,7 @@ private:
case Any:
return access(m_path.characters(), F_OK) == 0;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -272,7 +272,7 @@ private:
case NotEqual:
return m_lhs != m_rhs;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
@@ -325,7 +325,7 @@ private:
case ModificationTimestampGreater:
return statbuf_l.st_mtime > statbuf_r.st_mtime;
default:
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Utilities/test_efault.cpp b/Userland/Utilities/test_efault.cpp
index b063fcfb78..ba46c8f3f0 100644
--- a/Userland/Utilities/test_efault.cpp
+++ b/Userland/Utilities/test_efault.cpp
@@ -62,14 +62,14 @@ int main(int, char**)
// Test a one-page mapping (4KB)
u8* one_page = (u8*)mmap(nullptr, 4096, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
- ASSERT(one_page);
+ VERIFY(one_page);
EXPECT_OK(read, one_page, 4096);
EXPECT_EFAULT(read, one_page, 4097);
EXPECT_EFAULT(read, one_page - 1, 4096);
// Test a two-page mapping (8KB)
u8* two_page = (u8*)mmap(nullptr, 8192, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
- ASSERT(two_page);
+ VERIFY(two_page);
EXPECT_OK(read, two_page, 4096);
EXPECT_OK(read, two_page + 4096, 4096);
@@ -93,7 +93,7 @@ int main(int, char**)
// Test the page just below where the kernel VM begins.
u8* jerk_page = (u8*)mmap((void*)(0xc0000000 - PAGE_SIZE), PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED, 0, 0);
- ASSERT(jerk_page == (void*)(0xc0000000 - PAGE_SIZE));
+ VERIFY(jerk_page == (void*)(0xc0000000 - PAGE_SIZE));
EXPECT_OK(read, jerk_page, 4096);
EXPECT_EFAULT(read, jerk_page, 4097);
diff --git a/Userland/Utilities/test_env.cpp b/Userland/Utilities/test_env.cpp
index ce5467ecf9..f8019cf59b 100644
--- a/Userland/Utilities/test_env.cpp
+++ b/Userland/Utilities/test_env.cpp
@@ -35,11 +35,11 @@ static void assert_env(const char* name, const char* value)
if (!result) {
perror("getenv");
printf("(When reading value for '%s'; we expected '%s'.)\n", name, value);
- ASSERT(false);
+ VERIFY(false);
}
if (strcmp(result, value) != 0) {
printf("Expected '%s', got '%s' instead.\n", value, result);
- ASSERT(false);
+ VERIFY(false);
}
}
@@ -54,7 +54,7 @@ static void test_puttenv()
int rc = putenv(to_put);
if (rc) {
perror("putenv");
- ASSERT(false);
+ VERIFY(false);
}
assert_env("PUTENVTEST", "HELLOPUTENV");
// Do not free `to_put`!
@@ -65,7 +65,7 @@ static void test_settenv()
int rc = setenv("SETENVTEST", "HELLO SETENV!", 0);
if (rc) {
perror("setenv");
- ASSERT(false);
+ VERIFY(false);
}
// This used to trigger a very silly bug! :)
assert_env("SETENVTEST", "HELLO SETENV!");
@@ -73,14 +73,14 @@ static void test_settenv()
rc = setenv("SETENVTEST", "How are you today?", 0);
if (rc) {
perror("setenv");
- ASSERT(false);
+ VERIFY(false);
}
assert_env("SETENVTEST", "HELLO SETENV!");
rc = setenv("SETENVTEST", "Goodbye, friend!", 1);
if (rc) {
perror("setenv");
- ASSERT(false);
+ VERIFY(false);
}
assert_env("SETENVTEST", "Goodbye, friend!");
}
@@ -90,7 +90,7 @@ static void test_settenv_overwrite_empty()
int rc = setenv("EMPTYTEST", "Forcefully overwrite non-existing envvar", 1);
if (rc) {
perror("setenv");
- ASSERT(false);
+ VERIFY(false);
}
assert_env("EMPTYTEST", "Forcefully overwrite non-existing envvar");
}
diff --git a/Userland/Utilities/test_io.cpp b/Userland/Utilities/test_io.cpp
index 316840a8e5..404d76f2b9 100644
--- a/Userland/Utilities/test_io.cpp
+++ b/Userland/Utilities/test_io.cpp
@@ -56,11 +56,11 @@ static void test_read_from_directory()
{
char buffer[BUFSIZ];
int fd = open("/", O_DIRECTORY | O_RDONLY);
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
int rc;
EXPECT_ERROR_3(EISDIR, read, fd, buffer, sizeof(buffer));
rc = close(fd);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
static void test_write_to_directory()
@@ -69,33 +69,33 @@ static void test_write_to_directory()
int fd = open("/", O_DIRECTORY | O_RDONLY);
if (fd < 0)
perror("open");
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
int rc;
EXPECT_ERROR_3(EBADF, write, fd, str, sizeof(str));
rc = close(fd);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
static void test_read_from_writeonly()
{
char buffer[BUFSIZ];
int fd = open("/tmp/xxxx123", O_CREAT | O_WRONLY);
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
int rc;
EXPECT_ERROR_3(EBADF, read, fd, buffer, sizeof(buffer));
rc = close(fd);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
static void test_write_to_readonly()
{
char str[] = "hello";
int fd = open("/tmp/abcd123", O_CREAT | O_RDONLY);
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
int rc;
EXPECT_ERROR_3(EBADF, write, fd, str, sizeof(str));
rc = close(fd);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
static void test_read_past_eof()
@@ -104,7 +104,7 @@ static void test_read_past_eof()
int fd = open("/home/anon/myfile.txt", O_RDONLY);
if (fd < 0)
perror("open");
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
int rc;
rc = lseek(fd, 9999, SEEK_SET);
if (rc < 0)
@@ -115,13 +115,13 @@ static void test_read_past_eof()
if (rc > 0)
fprintf(stderr, "read %d bytes past EOF\n", rc);
rc = close(fd);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
static void test_ftruncate_readonly()
{
int fd = open("/tmp/trunctest", O_RDONLY | O_CREAT, 0666);
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
int rc;
EXPECT_ERROR_2(EBADF, ftruncate, fd, 0);
close(fd);
@@ -130,7 +130,7 @@ static void test_ftruncate_readonly()
static void test_ftruncate_negative()
{
int fd = open("/tmp/trunctest", O_RDWR | O_CREAT, 0666);
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
int rc;
EXPECT_ERROR_2(EINVAL, ftruncate, fd, -1);
close(fd);
@@ -139,7 +139,7 @@ static void test_ftruncate_negative()
static void test_mmap_directory()
{
int fd = open("/tmp", O_RDONLY | O_DIRECTORY);
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
auto* ptr = mmap(nullptr, 4096, PROT_READ, MAP_FILE | MAP_SHARED, fd, 0);
if (ptr != MAP_FAILED) {
fprintf(stderr, "Boo! mmap() of a directory succeeded!\n");
@@ -155,13 +155,13 @@ static void test_mmap_directory()
static void test_tmpfs_read_past_end()
{
int fd = open("/tmp/x", O_RDWR | O_CREAT | O_TRUNC, 0600);
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
int rc = ftruncate(fd, 1);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
rc = lseek(fd, 4096, SEEK_SET);
- ASSERT(rc == 4096);
+ VERIFY(rc == 4096);
char buffer[16];
int nread = read(fd, buffer, sizeof(buffer));
@@ -174,10 +174,10 @@ static void test_tmpfs_read_past_end()
static void test_procfs_read_past_end()
{
int fd = open("/proc/uptime", O_RDONLY);
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
int rc = lseek(fd, 4096, SEEK_SET);
- ASSERT(rc == 4096);
+ VERIFY(rc == 4096);
char buffer[16];
int nread = read(fd, buffer, sizeof(buffer));
@@ -190,12 +190,12 @@ static void test_procfs_read_past_end()
static void test_open_create_device()
{
int fd = open("/tmp/fakedevice", (O_RDWR | O_CREAT), (S_IFCHR | 0600));
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
struct stat st;
if (fstat(fd, &st) < 0) {
perror("stat");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (st.st_mode != 0100600) {
@@ -210,11 +210,11 @@ static void test_unlink_symlink()
int rc = symlink("/proc/2/foo", "/tmp/linky");
if (rc < 0) {
perror("symlink");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
auto target = Core::File::read_link("/tmp/linky");
- ASSERT(target == "/proc/2/foo");
+ VERIFY(target == "/proc/2/foo");
rc = unlink("/tmp/linky");
if (rc < 0) {
@@ -226,10 +226,10 @@ static void test_unlink_symlink()
static void test_eoverflow()
{
int fd = open("/tmp/x", O_RDWR);
- ASSERT(fd >= 0);
+ VERIFY(fd >= 0);
int rc = lseek(fd, INT32_MAX, SEEK_SET);
- ASSERT(rc == INT32_MAX);
+ VERIFY(rc == INT32_MAX);
char buffer[16];
rc = read(fd, buffer, sizeof(buffer));
@@ -246,13 +246,13 @@ static void test_eoverflow()
static void test_rmdir_while_inside_dir()
{
int rc = mkdir("/home/anon/testdir", 0700);
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
rc = chdir("/home/anon/testdir");
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
rc = rmdir("/home/anon/testdir");
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
int fd = open("x", O_CREAT | O_RDWR, 0600);
if (fd >= 0 || errno != ENOENT) {
@@ -260,7 +260,7 @@ static void test_rmdir_while_inside_dir()
}
rc = chdir("/home/anon");
- ASSERT(rc == 0);
+ VERIFY(rc == 0);
}
static void test_writev()
@@ -276,18 +276,18 @@ static void test_writev()
int nwritten = writev(pipefds[1], iov, 2);
if (nwritten < 0) {
perror("writev");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
if (nwritten != 12) {
fprintf(stderr, "Didn't write 12 bytes to pipe with writev\n");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
char buffer[32];
int nread = read(pipefds[0], buffer, sizeof(buffer));
if (nread != 12 || memcmp(buffer, "HelloFriends", 12)) {
fprintf(stderr, "Didn't read the expected data from pipe after writev\n");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
close(pipefds[0]);
@@ -299,7 +299,7 @@ static void test_rmdir_root()
int rc = rmdir("/");
if (rc != -1 || errno != EBUSY) {
warnln("rmdir(/) didn't fail with EBUSY");
- ASSERT_NOT_REACHED();
+ VERIFY_NOT_REACHED();
}
}
diff --git a/Userland/Utilities/unzip.cpp b/Userland/Utilities/unzip.cpp
index d21228c822..d62d1d3d9b 100644
--- a/Userland/Utilities/unzip.cpp
+++ b/Userland/Utilities/unzip.cpp
@@ -101,7 +101,7 @@ static bool unpack_file_for_central_directory_index(off_t central_directory_inde
return false;
auto compression_method = buffer[1] << 8 | buffer[0];
// FIXME: Remove once any decompression is supported.
- ASSERT(compression_method == None);
+ VERIFY(compression_method == None);
if (!seek_and_read(buffer, file, local_file_header_index + LFHCompressedSizeOffset, 4))
return false;
diff --git a/Userland/Utilities/utmpupdate.cpp b/Userland/Utilities/utmpupdate.cpp
index cb18839f7b..17db0f568e 100644
--- a/Userland/Utilities/utmpupdate.cpp
+++ b/Userland/Utilities/utmpupdate.cpp
@@ -96,7 +96,7 @@ int main(int argc, char** argv)
entry.set("login_at", time(nullptr));
json.set(tty_name, move(entry));
} else {
- ASSERT(flag_delete);
+ VERIFY(flag_delete);
dbgln("Removing {} from utmp", tty_name);
json.remove(tty_name);
}
diff --git a/Userland/Utilities/watch.cpp b/Userland/Utilities/watch.cpp
index 1377a7667c..c7e9e3a547 100644
--- a/Userland/Utilities/watch.cpp
+++ b/Userland/Utilities/watch.cpp
@@ -98,7 +98,7 @@ static int run_command(const Vector<const char*>& command)
do {
exited_pid = waitpid(child_pid, &status, 0);
} while (exited_pid < 0 && errno == EINTR);
- ASSERT(exited_pid == child_pid);
+ VERIFY(exited_pid == child_pid);
child_pid = -1;
if (exited_pid < 0) {
perror("waitpid");