ladybird/Meta/CMake/all_the_debug_macros.cmake

88 lines
2.2 KiB
CMake
Raw Normal View History

set(AUDIO_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(BMP_DEBUG ON)
set(CACHE_DEBUG ON)
set(CALLBACK_MACHINE_DEBUG ON)
set(CANVAS_RENDERING_CONTEXT_2D_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(CRYPTO_DEBUG ON)
set(CSS_LOADER_DEBUG ON)
set(CSS_PARSER_DEBUG ON)
set(CSS_TOKENIZER_DEBUG ON)
set(CSS_TRANSITIONS_DEBUG ON)
set(EDITOR_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(EMOJI_DEBUG ON)
set(FILE_WATCHER_DEBUG ON)
set(FLAC_ENCODER_DEBUG ON)
set(GENERATE_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(GHASH_PROCESS_DEBUG ON)
set(GIF_DEBUG ON)
set(HEAP_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(HIGHLIGHT_FOCUSED_FRAME_DEBUG ON)
set(HTML_SCRIPT_DEBUG ON)
set(HTTPJOB_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(HUNKS_DEBUG ON)
set(ICO_DEBUG ON)
set(IDL_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(IMAGE_DECODER_DEBUG ON)
set(IMAGE_LOADER_DEBUG ON)
set(JOB_DEBUG ON)
set(JS_BYTECODE_DEBUG ON)
2022-01-18 17:47:11 +00:00
set(JS_MODULE_DEBUG ON)
set(LEXER_DEBUG ON)
set(LIBWEB_CSS_ANIMATION_DEBUG ON)
set(LIBWEB_CSS_DEBUG ON)
set(LIBWEB_WASM_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(LINE_EDITOR_DEBUG ON)
set(LZMA_DEBUG ON)
set(LZW_DEBUG ON)
set(MACH_PORT_DEBUG ON)
set(MATROSKA_DEBUG ON)
set(MATROSKA_TRACE_DEBUG ON)
set(NETWORKJOB_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(NT_DEBUG ON)
set(OPENTYPE_GPOS_DEBUG ON)
set(HTML_PARSER_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(PATH_DEBUG ON)
set(PLAYBACK_MANAGER_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(PNG_DEBUG ON)
LibJS: Add initial support for Promises Almost a year after first working on this, it's finally done: an implementation of Promises for LibJS! :^) The core functionality is working and closely following the spec [1]. I mostly took the pseudo code and transformed it into C++ - if you read and understand it, you will know how the spec implements Promises; and if you read the spec first, the code will look very familiar. Implemented functions are: - Promise() constructor - Promise.prototype.then() - Promise.prototype.catch() - Promise.prototype.finally() - Promise.resolve() - Promise.reject() For the tests I added a new function to test-js's global object, runQueuedPromiseJobs(), which calls vm.run_queued_promise_jobs(). By design, queued jobs normally only run after the script was fully executed, making it improssible to test handlers in individual test() calls by default [2]. Subsequent commits include integrations into LibWeb and js(1) - pretty-printing, running queued promise jobs when necessary. This has an unusual amount of dbgln() statements, all hidden behind the PROMISE_DEBUG flag - I'm leaving them in for now as they've been very useful while debugging this, things can get quite complex with so many asynchronously executed functions. I've not extensively explored use of these APIs for promise-based functionality in LibWeb (fetch(), Notification.requestPermission() etc.), but we'll get there in due time. [1]: https://tc39.es/ecma262/#sec-promise-objects [2]: https://tc39.es/ecma262/#sec-jobs-and-job-queues
2021-04-01 20:13:29 +00:00
set(PROMISE_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(REGEX_DEBUG ON)
set(REQUESTSERVER_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(RESOURCE_DEBUG ON)
set(RSA_PARSE_DEBUG ON)
set(SHARED_QUEUE_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(SPAM_DEBUG ON)
set(STYLE_INVALIDATION_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(SYNTAX_HIGHLIGHTING_DEBUG ON)
set(TEXTEDITOR_DEBUG ON)
2023-10-28 22:05:26 +00:00
set(TIFF_DEBUG ON)
set(TIME_ZONE_DEBUG ON)
2021-06-03 17:18:30 +00:00
set(TLS_DEBUG ON)
set(TOKENIZER_TRACE_DEBUG ON)
set(URL_PARSER_DEBUG ON)
set(UTF8_DEBUG ON)
set(VPX_DEBUG ON)
set(WASI_DEBUG ON)
set(WASI_FINE_GRAINED_DEBUG ON)
set(WASM_BINPARSER_DEBUG ON)
set(WASM_TRACE_DEBUG ON)
2021-10-31 22:06:35 +00:00
set(WASM_VALIDATOR_DEBUG ON)
set(WEBDRIVER_DEBUG ON)
set(WEBDRIVER_ROUTE_DEBUG ON)
set(WEBGL_CONTEXT_DEBUG ON)
set(WEBVIEW_PROCESS_DEBUG ON)
2022-10-23 21:15:12 +00:00
set(WEB_FETCH_DEBUG ON)
set(WEB_WORKER_DEBUG ON)
set(WEBP_DEBUG ON)
set(WORKER_THREAD_DEBUG ON)
set(XML_PARSER_DEBUG ON)
# False positive: ANDROID_LOG_DEBUG is a log level, not a debug flag
# set(ANDROID_LOG_DEBUG ON)
# Clogs up build: The BindingsGenerator stuff is run at compile time.
# set(BINDINGS_GENERATOR_DEBUG ON)
# Third-party: skia vcpkg port overlay
# set(gn_defines_DEBUG ON)
# set(gn_include_dirs_DEBUG ON)
# set(gn_ldflags_DEBUG ON)
# set(gn_lib_dirs_DEBUG ON)