Skip to content

Commit 94f8e21

Browse files
committed
Only export user-requests symbols on the Module object. NFC
Some exports are only needed internally and those don't need to be exported on the Module object. This is save some space and avoids unexpected exports on the public-facing Module.
1 parent d0a2910 commit 94f8e21

27 files changed

+156
-65
lines changed

emscripten.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -796,6 +796,10 @@ def make_export_wrappers(exports, delay_assignment):
796796
if name == '__cpp_exception':
797797
continue
798798
mangled = asmjs_mangle(name)
799+
if mangled in building.user_requested_exports or name.startswith('dynCall_'):
800+
lhs = f'{mangled} = Module["{mangled}"]'
801+
else:
802+
lhs = f'{mangled}'
799803
# The emscripten stack functions are called very early (by writeStackCookie) before
800804
# the runtime is initialized so we can't create these wrappers that check for
801805
# runtimeInitialized.
@@ -805,27 +809,27 @@ def make_export_wrappers(exports, delay_assignment):
805809
if delay_assignment:
806810
wrappers.append('''\
807811
/** @type {function(...*):?} */
808-
var %(mangled)s = Module["%(mangled)s"] = createExportWrapper("%(name)s");
809-
''' % {'mangled': mangled, 'name': name})
812+
var %(lhs)s = createExportWrapper("%(name)s");
813+
''' % {'lhs': lhs, 'mangled': mangled, 'name': name})
810814
else:
811815
wrappers.append('''\
812816
/** @type {function(...*):?} */
813-
var %(mangled)s = Module["%(mangled)s"] = createExportWrapper("%(name)s", asm);
814-
''' % {'mangled': mangled, 'name': name})
817+
var %(lhs)s = createExportWrapper("%(name)s", asm);
818+
''' % {'lhs': lhs, 'mangled': mangled, 'name': name})
815819
elif delay_assignment:
816820
# With assertions disabled the wrapper will replace the global var and Module var on
817821
# first use.
818822
wrappers.append('''\
819823
/** @type {function(...*):?} */
820-
var %(mangled)s = Module["%(mangled)s"] = function() {
821-
return (%(mangled)s = Module["%(mangled)s"] = Module["asm"]["%(name)s"]).apply(null, arguments);
824+
var %(lhs)s = function() {
825+
return (%(lhs)s = Module["asm"]["%(name)s"]).apply(null, arguments);
822826
};
823-
''' % {'mangled': mangled, 'name': name})
827+
''' % {'lhs': lhs, 'mangled': mangled, 'name': name})
824828
else:
825829
wrappers.append('''\
826830
/** @type {function(...*):?} */
827-
var %(mangled)s = Module["%(mangled)s"] = asm["%(name)s"]
828-
''' % {'mangled': mangled, 'name': name})
831+
var %(lhs)s = asm["%(name)s"]
832+
''' % {'lhs': lhs, 'mangled': mangled, 'name': name})
829833
return wrappers
830834

831835

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
26202
1+
25730
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
26166
1+
25694
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
31596
1+
31080
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
26356
1+
25708
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
31696
1+
31080
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
26202
1+
25730
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
26698
1+
26111
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9245
1+
8709
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6640
1+
6168

0 commit comments

Comments
 (0)