Skip to content

Enable WASM_BIGINT by default #19156

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 51 commits into from
Closed
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
ee34a80
yolo
kripken Apr 10, 2023
5b5e426
make it work
kripken Apr 10, 2023
520301b
fix
kripken Apr 10, 2023
85793ac
fix closure
kripken Apr 11, 2023
22393a4
Merge remote-tracking branch 'origin/main' into safari.bigint
kripken Apr 11, 2023
9fe22ab
fix wasm2js
kripken Apr 11, 2023
e255dad
fix test
kripken Apr 11, 2023
e1108d6
fix
kripken Apr 11, 2023
314cf8a
fix
kripken Apr 11, 2023
a52372d
cleanup
kripken Apr 11, 2023
c64adf2
more
kripken Apr 11, 2023
e7259ed
fix
kripken Apr 11, 2023
09ea912
fixflake8
kripken Apr 11, 2023
6699531
work
kripken Apr 11, 2023
d907b0e
fix
kripken Apr 12, 2023
af838e7
fix
kripken Apr 12, 2023
9aac743
fix
kripken Apr 12, 2023
5142300
work
kripken Apr 12, 2023
71ca03a
feedback
kripken Apr 12, 2023
d23687e
update test
kripken Apr 13, 2023
83165d1
fix
kripken Apr 13, 2023
0fb2458
try to fix test_dyncall_specific
kripken Apr 13, 2023
08c7170
Merge remote-tracking branch 'origin/main' into safari.bigint
kripken Apr 13, 2023
d1e4aec
fix old node version handling in common.py (maybe)
kripken Apr 13, 2023
2ae89c5
fix
kripken Apr 13, 2023
3f3c561
fix
kripken Apr 13, 2023
bf566aa
fix
kripken Apr 14, 2023
9459701
fix
kripken Apr 14, 2023
8dbb1ae
more test workarounds
kripken Apr 14, 2023
b107f47
Merge remote-tracking branch 'origin/main' into safari.bigint
kripken Apr 14, 2023
6b71f83
Merge remote-tracking branch 'origin/main' into safari.bigint
kripken Apr 17, 2023
6973fea
Merge remote-tracking branch 'origin/main' into safari.bigint
kripken Apr 17, 2023
560120a
fix
kripken Apr 17, 2023
84836b2
fix
kripken Apr 17, 2023
356a840
Explain safari-bigint issue and set version to 15
kripken Apr 17, 2023
00aab91
Merge remote-tracking branch 'origin/main' into safari.bigint
kripken Jun 21, 2023
0ca6930
Merge remote-tracking branch 'origin/main' into safari.bigint
kripken Jun 21, 2023
5985cdd
fix
kripken Jun 21, 2023
8566684
fix
kripken Jun 21, 2023
c35d241
Merge remote-tracking branch 'origin/main' into safari.bigint
kripken Jun 22, 2023
b537cc7
fix
kripken Jun 22, 2023
339b323
fix
kripken Jun 22, 2023
400f01e
fix
kripken Jun 22, 2023
62366ca
clean
kripken Jun 22, 2023
2f8f82c
waka
kripken Jun 22, 2023
8eab1f5
fix
kripken Jun 22, 2023
c93f72f
comment
kripken Jun 22, 2023
568ee40
fix
kripken Jun 22, 2023
fe12dc0
flip
kripken Jun 22, 2023
a42cb9e
remove =1s
kripken Jun 22, 2023
4998ef6
merge [ci skip]
kripken Jun 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -592,7 +592,7 @@ jobs:
other.test_min_node_version
other.test_node_emscripten_num_logical_cores
core2.test_pthread_create
core2.test_i64_invoke_bigint
core2.test_i64_invoke
core2.test_sse2
core2.test_source_map
core2.test_exceptions_wasm
Expand Down
4 changes: 3 additions & 1 deletion emcc.py
Original file line number Diff line number Diff line change
Expand Up @@ -1896,8 +1896,10 @@ def phase_linker_setup(options, state, newargs):
if settings.LZ4:
settings.EXPORTED_RUNTIME_METHODS += ['LZ4']

# WASM_BIGINT defaults to 1 when VMs support it, and when not using wasm2js
default_setting('WASM_BIGINT',
feature_matrix.caniuse(feature_matrix.Feature.JS_BIGINT_INTEGRATION))
feature_matrix.caniuse(feature_matrix.Feature.JS_BIGINT_INTEGRATION) and \
not settings.WASM2JS)

if settings.PURE_WASI:
settings.STANDALONE_WASM = 1
Expand Down
7 changes: 3 additions & 4 deletions test/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -283,14 +283,13 @@ def metafunc(self, with_bigint):
self.skipTest('wasm2js does not support WASM_BIGINT')
if self.get_setting('WASM_BIGINT') is not None:
self.skipTest('redundant in bigint test config')
self.set_setting('WASM_BIGINT')
self.node_args += shared.node_bigint_flags()
f(self)
else:
self.set_setting('WASM_BIGINT', '0')
f(self)

metafunc._parameterize = {'': (False,),
'bigint': (True,)}
metafunc._parameterize = {'no_bigint': (False,),
'': (True,)}
return metafunc


Expand Down
4 changes: 1 addition & 3 deletions test/test_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -2327,11 +2327,9 @@ def test_em_js(self, args, force_c):

@no_wasm2js('WASM_BIGINT is not compatible with wasm2js')
def test_em_js_i64(self):
err = self.expect_fail([EMCC, '-Werror', test_file('core/test_em_js_i64.c')])
err = self.expect_fail([EMCC, '-sWASM=0', '-Werror', test_file('core/test_em_js_i64.c')])
self.assertContained('emcc: error: using 64-bit arguments in EM_JS function without WASM_BIGINT is not yet fully supported: `foo`', err)

self.set_setting('WASM_BIGINT')
self.node_args += shared.node_bigint_flags()
self.do_core_test('test_em_js_i64.c')

def test_em_js_address_taken(self):
Expand Down