From 14d1601a7697e9b0a43d2fcc806d0f558aca755e Mon Sep 17 00:00:00 2001 From: davidot Date: Fri, 4 Feb 2022 23:47:35 +0100 Subject: [PATCH] LibJS: Remove the VERIFY_NOT_REACHED in link_and_eval_module Since the spec does not fully define the entry points of modules what this means is kind of unclear. But it does work in most cases and can be useful. We do print out a warning just to clarify why there could be strange things. --- Userland/Libraries/LibJS/Runtime/VM.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibJS/Runtime/VM.cpp b/Userland/Libraries/LibJS/Runtime/VM.cpp index 5ad68f8d6a..f4e116c96e 100644 --- a/Userland/Libraries/LibJS/Runtime/VM.cpp +++ b/Userland/Libraries/LibJS/Runtime/VM.cpp @@ -766,10 +766,9 @@ ThrowCompletionOr VM::link_and_eval_module(Module& module) if (module_or_end.is_end()) { dbgln_if(JS_MODULE_DEBUG, "[JS MODULE] Warning introducing module via link_and_eval_module {}", module.filename()); - if (m_loaded_modules.size() > 0) { - dbgln("Using link_and_eval module as entry point is not allowed if it is not the first module!"); - VERIFY_NOT_REACHED(); - } + if (m_loaded_modules.size() > 0) + dbgln("Warning: Using multiple modules as entry point can lead to unexpected results"); + m_loaded_modules.empend( &module, module.filename(),