Skip to content

remove_PRECISE_I64_MATH - #7935

Merged
juj merged 1 commit into
emscripten-core:incomingfrom
juj:remove_PRECISE_I64_MATH
Jan 27, 2019
Merged

remove_PRECISE_I64_MATH#7935
juj merged 1 commit into
emscripten-core:incomingfrom
juj:remove_PRECISE_I64_MATH

Conversation

@juj

@juj juj commented Jan 27, 2019

Copy link
Copy Markdown
Collaborator

Remove PRECISE_I64_MATH option and delete unused src/long.js. Looks like PRECISE_I64_MATH=0 nor PRECISE_I64_MATH=2 have not actually done anything for a long time.

@juj juj added the code size label Jan 27, 2019
@juj
juj force-pushed the remove_PRECISE_I64_MATH branch 2 times, most recently from f46e740 to f49ce9a Compare January 27, 2019 17:14

@kripken kripken left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm with those fixed.

Comment thread emscripten.py
t = time.time()

# Settings changes
i64_funcs = ['i64Add', 'i64Subtract', '__muldi3', '__divdi3', '__udivdi3', '__remdi3', '__uremdi3']

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I worry some of these might be used by asm.js code, but if tests pass then good.

var signed = next == {{{ charCode('d') }}} || next == {{{ charCode('i') }}};
argSize = argSize || 4;
currArg = getNextArg('i' + (argSize * 8));
#if PRECISE_I64_MATH

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should do the opposite in this file - assume it is always 1, so printing i64s work.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(the default was 1, so this would keep things the same as before)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I started like that, but the code is testing if (typeof i64Math === 'object') which is always false, so I removed this altogether because that condition will never be true. Since src/long.js is never emitted to the code, we do not have a i64Math object ever being generated, so the condition there never passes.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, sounds good then.

…ike PRECISE_I64_MATH has not actually done anything for a long time.
@juj
juj force-pushed the remove_PRECISE_I64_MATH branch from f49ce9a to f6da8ba Compare January 27, 2019 22:34
@juj
juj merged commit 15fd991 into emscripten-core:incoming Jan 27, 2019
@juj
juj deleted the remove_PRECISE_I64_MATH branch February 2, 2019 23:10
DrJosh9000 added a commit to DrJosh9000/pce that referenced this pull request Mar 1, 2019
Hi! I'm a massive fan of your work. Thanks so much for making Macintosh emulation in the browser happen.

I got the following errors in config.log when attempting to `./pcejs_build build macplus`:

shared:ERROR: Invalid command line option -s BINARYEN_METHOD=native-wasm,asmjs: Starting from Emscripten 1.38.23, Emscripten now always builds either to Wasm (-s WASM=1 - default), or to asm.js (-s WASM=0), other methods are not supported (https:#github.com/emscripten-core/emscripten/pull/7836)

shared:ERROR: Invalid command line option -s PRECISE_I64_MATH=0: Starting from Emscripten 1.38.26, PRECISE_I64_MATH is always enabled (https:#github.com/emscripten-core/emscripten/pull/7935)

This patch makes it build, and I get some output in dist/, but I haven't checked if the output works.
th-otto pushed a commit to th-otto/pce that referenced this pull request Nov 25, 2019
Hi! I'm a massive fan of your work. Thanks so much for making Macintosh emulation in the browser happen.

I got the following errors in config.log when attempting to `./pcejs_build build macplus`:

shared:ERROR: Invalid command line option -s BINARYEN_METHOD=native-wasm,asmjs: Starting from Emscripten 1.38.23, Emscripten now always builds either to Wasm (-s WASM=1 - default), or to asm.js (-s WASM=0), other methods are not supported (https:#github.com/emscripten-core/emscripten/pull/7836)

shared:ERROR: Invalid command line option -s PRECISE_I64_MATH=0: Starting from Emscripten 1.38.26, PRECISE_I64_MATH is always enabled (https:#github.com/emscripten-core/emscripten/pull/7935)

This patch makes it build, and I get some output in dist/, but I haven't checked if the output works.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants