From 290d79f26c0c6cd00a35ae64fb6eecacedbb3937 Mon Sep 17 00:00:00 2001 From: eska Date: Wed, 30 Nov 2016 22:47:19 +0100 Subject: [PATCH] Emit asm.js code into a dedicated file for asm.js export This helps prevent browser lockups during start-up at the cost of having to distribute an extra file. --- platform/javascript/detect.py | 1 + platform/javascript/export/export.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/platform/javascript/detect.py b/platform/javascript/detect.py index 35352becf80..2cb68740007 100644 --- a/platform/javascript/detect.py +++ b/platform/javascript/detect.py @@ -96,6 +96,7 @@ def configure(env): else: env.Append(CPPFLAGS=['-s', 'ASM_JS=1']) env.Append(LINKFLAGS=['-s', 'ASM_JS=1']) + env.Append(LINKFLAGS=['--separate-asm']) if env['javascript_eval'] == 'yes': env.Append(CPPFLAGS=['-DJAVASCRIPT_EVAL_ENABLED']) diff --git a/platform/javascript/export/export.cpp b/platform/javascript/export/export.cpp index 721aef3e505..ab64ffbb455 100644 --- a/platform/javascript/export/export.cpp +++ b/platform/javascript/export/export.cpp @@ -320,6 +320,11 @@ Error EditorExportPlatformJavaScript::export_project(const String& p_path, bool file=p_path.get_file().basename()+".js"; } + if (file=="godot.asm.js") { + + file=p_path.get_file().basename()+".asm.js"; + } + if (file=="godot.mem") { file=p_path.get_file().basename()+".mem";