Skip to content

Commit 19c52e0

Browse files
authored
Move keepRuntimeAlive from runtime function to library function. NFC (#20341)
1 parent 8d39444 commit 19c52e0

File tree

46 files changed

+76
-55
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+76
-55
lines changed

src/library.js

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,15 @@ addToLibrary({
5858

5959
#if !MINIMAL_RUNTIME
6060
$exitJS__docs: '/** @param {boolean|number=} implicit */',
61-
$exitJS__deps: ['proc_exit'],
61+
$exitJS__deps: [
62+
'proc_exit',
63+
#if ASSERTIONS || EXIT_RUNTIME
64+
'$keepRuntimeAlive',
65+
#endif
66+
#if PTHREADS_DEBUG
67+
'$runtimeKeepaliveCounter',
68+
#endif
69+
],
6270
$exitJS: (status, implicit) => {
6371
EXITSTATUS = status;
6472

@@ -3262,6 +3270,9 @@ addToLibrary({
32623270
emscripten_force_exit__deps: ['exit',
32633271
#if !EXIT_RUNTIME && ASSERTIONS
32643272
'$warnOnce',
3273+
#endif
3274+
#if !MINIMAL_RUNTIME
3275+
'$runtimeKeepaliveCounter',
32653276
#endif
32663277
],
32673278
emscripten_force_exit__proxy: 'sync',
@@ -3368,7 +3379,14 @@ addToLibrary({
33683379
#endif
33693380
},
33703381

3382+
$runtimeKeepaliveCounter__internal: true,
3383+
$runtimeKeepaliveCounter: 0,
3384+
3385+
$keepRuntimeAlive__deps: ['$runtimeKeepaliveCounter'],
3386+
$keepRuntimeAlive: () => noExitRuntime || runtimeKeepaliveCounter > 0,
3387+
33713388
// Callable in pthread without __proxy needed.
3389+
$runtimeKeepalivePush__deps: ['$runtimeKeepaliveCounter'],
33723390
$runtimeKeepalivePush__sig: 'v',
33733391
$runtimeKeepalivePush: () => {
33743392
runtimeKeepaliveCounter += 1;
@@ -3377,6 +3395,7 @@ addToLibrary({
33773395
#endif
33783396
},
33793397

3398+
$runtimeKeepalivePop__deps: ['$runtimeKeepaliveCounter'],
33803399
$runtimeKeepalivePop__sig: 'v',
33813400
$runtimeKeepalivePop: () => {
33823401
#if ASSERTIONS
@@ -3390,9 +3409,7 @@ addToLibrary({
33903409

33913410
emscripten_runtime_keepalive_push: '$runtimeKeepalivePush',
33923411
emscripten_runtime_keepalive_pop: '$runtimeKeepalivePop',
3393-
// keepRuntimeAlive is a runtime function rather than a library function,
3394-
// so we can't use an alias like we do for the two functions above.
3395-
emscripten_runtime_keepalive_check: () => keepRuntimeAlive(),
3412+
emscripten_runtime_keepalive_check: '$keepRuntimeAlive',
33963413

33973414
// Used to call user callbacks from the embedder / event loop. For example
33983415
// setTimeout or any other kind of event handler that calls into user case
@@ -3421,9 +3438,12 @@ addToLibrary({
34213438
}
34223439
},
34233440

3424-
$maybeExit__deps: ['exit', '$handleException',
3441+
$maybeExit__deps: ['exit', '$handleException', '$keepRuntimeAlive',
34253442
#if PTHREADS
34263443
'_emscripten_thread_exit',
3444+
#endif
3445+
#if RUNTIME_DEBUG
3446+
'$runtimeKeepaliveCounter',
34273447
#endif
34283448
],
34293449
$maybeExit: () => {

src/library_pthread.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,15 @@ var LibraryPThread = {
10711071
#endif
10721072
},
10731073
1074-
$invokeEntryPoint__deps: ['_emscripten_thread_exit'],
1074+
$invokeEntryPoint__deps: [
1075+
'_emscripten_thread_exit',
1076+
#if !MINIMAL_RUNTIME
1077+
'$keepRuntimeAlive',
1078+
#endif
1079+
#if EXIT_RUNTIME && !MINIMAL_RUNTIME
1080+
'$runtimeKeepaliveCounter',
1081+
#endif
1082+
],
10751083
$invokeEntryPoint: (ptr, arg) => {
10761084
#if PTHREADS_DEBUG
10771085
dbg(`invokeEntryPoint: ${ptrToString(ptr)}`);

src/library_wasi.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var WasiLibrary = {
1212
this.message = `Program terminated with exit(${status})`;
1313
this.status = status;
1414
},
15-
proc_exit__deps: ['$ExitStatus'],
15+
proc_exit__deps: ['$ExitStatus', '$keepRuntimeAlive'],
1616
#endif
1717

1818
proc_exit__nothrow: true,

src/modules.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,6 @@ function exportRuntime() {
379379
'err',
380380
'callMain',
381381
'abort',
382-
'keepRuntimeAlive',
383382
'wasmMemory',
384383
'wasmExports',
385384
];

src/preamble.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -196,12 +196,6 @@ var runtimeInitialized = false;
196196
var runtimeExited = false;
197197
#endif
198198

199-
var runtimeKeepaliveCounter = 0;
200-
201-
function keepRuntimeAlive() {
202-
return noExitRuntime || runtimeKeepaliveCounter > 0;
203-
}
204-
205199
function preRun() {
206200
#if ASSERTIONS && PTHREADS
207201
assert(!ENVIRONMENT_IS_PTHREAD); // PThreads reuse the runtime from the main thread.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
25053
1+
25031
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
123488
1+
123502
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
25021
1+
24999
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
123393
1+
123407
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
29186
1+
29164
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
166315
1+
166331
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
24827
1+
24805
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
137108
1+
137124
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
29185
1+
29163
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
221248
1+
221264
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
25053
1+
25031
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
126290
1+
126304
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
12462
1+
12440
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
163621
1+
163635
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19952
1+
19930
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7092
1+
7070
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
23571
1+
23549
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8084
1+
8062
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5746
1+
5724
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5593
1+
5571
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5593
1+
5571
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5559
1+
5537
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
14832
1+
14810
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4381
1+
4343
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5593
1+
5571
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4879
1+
4855
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4938
1+
4904
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5774
1+
5752
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6096
1+
6074
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5502
1+
5468
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5433
1+
5399
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4930
1+
4906
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4938
1+
4904
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4938
1+
4904
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20051
1+
20027
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4579
1+
4555
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3506
1+
3485
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
14259
1+
14214
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
58388
1+
58384
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
31756
1+
31749
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
57102
1+
57098

0 commit comments

Comments
 (0)