Skip to content

Commit dd190d7

Browse files
authored
Move get/setTemprRet0 from runtime to library JS code. NFC (#17554)
Most users won't see the benefits until we start setting `LEGACY_RUNTIME` by default.
1 parent fad6e48 commit dd190d7

12 files changed

+34
-30
lines changed

emcc.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1903,8 +1903,8 @@ def phase_linker_setup(options, state, newargs, user_settings):
19031903

19041904
if settings.MAIN_MODULE:
19051905
settings.DEFAULT_LIBRARY_FUNCS_TO_INCLUDE += [
1906-
'$getDylinkMetadata',
1907-
'$mergeLibSymbols',
1906+
'$getDylinkMetadata',
1907+
'$mergeLibSymbols',
19081908
]
19091909

19101910
if settings.USE_PTHREADS:
@@ -1914,11 +1914,11 @@ def phase_linker_setup(options, state, newargs, user_settings):
19141914

19151915
if settings.RELOCATABLE:
19161916
settings.DEFAULT_LIBRARY_FUNCS_TO_INCLUDE += [
1917-
'$reportUndefinedSymbols',
1918-
'$relocateExports',
1919-
'$GOTHandler',
1920-
'__heap_base',
1921-
'__stack_pointer',
1917+
'$reportUndefinedSymbols',
1918+
'$relocateExports',
1919+
'$GOTHandler',
1920+
'__heap_base',
1921+
'__stack_pointer',
19221922
]
19231923

19241924
if settings.ASYNCIFY:
@@ -2373,6 +2373,12 @@ def check_memory_setting(setting):
23732373
options.memory_init_file = True
23742374
settings.MEM_INIT_IN_WASM = True
23752375

2376+
if settings.MAYBE_WASM2JS or settings.AUTODEBUG or settings.LINKABLE:
2377+
settings.DEFAULT_LIBRARY_FUNCS_TO_INCLUDE += [
2378+
'$getTempRet0',
2379+
'$setTempRet0',
2380+
]
2381+
23762382
# wasm side modules have suffix .wasm
23772383
if settings.SIDE_MODULE and shared.suffix(target) == '.js':
23782384
diagnostics.warning('emcc', 'output suffix .js requested, but wasm side modules are just wasm files; emitting only a .wasm, no .js')

src/library.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,22 @@ mergeInto(LibraryManager.library, {
2828
// available to native code.
2929
// ==========================================================================
3030

31-
getTempRet0__sig: 'i',
32-
getTempRet0: function() {
33-
return getTempRet0();
31+
$tempRet0: 0,
32+
$getTempRet0__sig: 'i',
33+
$getTempRet0__deps: ['$tempRet0'],
34+
$getTempRet0: function() {
35+
return tempRet0;
3436
},
3537

36-
setTempRet0__sig: 'vi',
37-
setTempRet0: function(val) {
38-
setTempRet0(val);
38+
$setTempRet0__sig: 'vi',
39+
$setTempRet0__deps: ['$tempRet0'],
40+
$setTempRet0: function(val) {
41+
tempRet0 = val;
3942
},
4043

44+
getTempRet0: '$getTempRet0',
45+
setTempRet0: '$setTempRet0',
46+
4147
$ptrToString: function(ptr) {
4248
return '0x' + ptr.toString(16).padStart(8, '0');
4349
},
@@ -3706,5 +3712,7 @@ DEFAULT_LIBRARY_FUNCS_TO_INCLUDE.push(
37063712
'$ccall',
37073713
'$cwrap',
37083714
'$ExitStatus',
3715+
'$getTempRet0',
3716+
'$setTempRet0',
37093717
);
37103718
#endif

src/modules.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,8 +358,6 @@ function exportRuntime() {
358358
'getCompilerSetting',
359359
'print',
360360
'printErr',
361-
'getTempRet0',
362-
'setTempRet0',
363361
'callMain',
364362
'abort',
365363
'keepRuntimeAlive',

src/preamble_minimal.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,6 @@ var tempDouble;
3030
var tempI64;
3131
#endif
3232

33-
var tempRet0 = 0;
34-
var setTempRet0 = (value) => { tempRet0 = value };
35-
var getTempRet0 = () => tempRet0;
36-
3733
#if WASM != 2 && MAYBE_WASM2JS
3834
#if !WASM2JS
3935
if (Module['doWasm2JS']) {

src/support.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ var POINTER_SIZE = {{{ MEMORY64 ? 8 : 4 }}};
1111

1212
#include "runtime_debug.js"
1313

14-
var tempRet0 = 0;
15-
var setTempRet0 = (value) => { tempRet0 = value; };
16-
var getTempRet0 = () => tempRet0;
17-
1814
#if RETAIN_COMPILER_SETTINGS
1915
var compilerSettings = {{{ JSON.stringify(makeRetainedCompilerSettings()) }}} ;
2016

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
31504
1+
31508
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
31604
1+
31608
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
27514
1+
27523
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
22384
1+
22393
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
84062
1+
84080

0 commit comments

Comments
 (0)