[deps] Update google-closure-compiler to 20260429.0.0#26869
[deps] Update google-closure-compiler to 20260429.0.0#26869garymathews wants to merge 2 commits intoemscripten-core:mainfrom
Conversation
a8dfaeb to
20cc03a
Compare
20cc03a to
980d4bc
Compare
| emscripten_atomic_wait_async__deps: ['$atomicWaitStates', '$liveAtomicWaitAsyncs', '$liveAtomicWaitAsyncCounter', '$polyfillWaitAsync', '$callUserCallback'], | ||
| // Closure's Atomics.waitAsync extern incorrectly returns Promise<string>, | ||
| // but the spec returns a result object with async/value fields. | ||
| emscripten_atomic_wait_async__docs: '/** @suppress {missingProperties} */', |
There was a problem hiding this comment.
Can we instead re-declare it with the correct signature somewhere in src/closure-externs?
There was a problem hiding this comment.
Unfortunately, updating the waitAsync signature in closure-externs.js does not override the Closure compilers built in waitAsync signature. This seems to be the only way until the signature in Closure is fixed.
There was a problem hiding this comment.
I've opened a PR for the Closure compiler google/closure-compiler#4317
| "$pthread_mutexattr_setpshared", | ||
| "$pthread_mutexattr_settype", | ||
| "$pthread_rwlockattr_init", | ||
| "$pthread_rwlockattr_setpshared", |
There was a problem hiding this comment.
I think this change perhaps means that you are not running against the tot version of emsdk when you are doing the rebase? Did you do emsdk install tot?
There was a problem hiding this comment.
I just re-ran against tot, only test_codesize_cxx_lto.json was updated
There was a problem hiding this comment.
@sbc100 it seems the current codesize results are not up to date in main. If you --rebaseline on main you'll see a few files are updated including test_codesize_hello_dylink_all.json with this change.
There was a problem hiding this comment.
main should be up-to-date, but this stuff is little sensitive and in constant flux.
Try ./emcc --clear-cache && ./test/runner codesize --rebase after emsdk install tot.
You should see no changes if your run those commands on main, unless it really is out-of-sync, which is unusual.
When main is out-of-sync we run the "Rebaseline tests" github action to create commits like #26884
403cc55 to
93b6b07
Compare
93b6b07 to
d4f3430
Compare
d4f3430 to
de56a93
Compare
sbc100
left a comment
There was a problem hiding this comment.
LGTM!
Sorry for all the codesize churn. I know its a pain to constantly rebase, but I think its worth it in the long run.
Should we perhaps add a ChangeLog entry for this? (Mostly to mention that macOS arm64 users will now get a native closure binaryen).
google-closure-compilerto20260429.0.0closure-externs.jsthat Closure now providesAtomics.waitAsyncWARNING - [JSC_INEXISTENT_PROPERTY] Property value never defined on Promise<string>This is due to https://github.com/google/closure-compiler/blob/master/externs/es6.js#L2691 which does not match the spec https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/waitAsync#return_value
Updateemdawnwebgputo support newer Closure version