-
Notifications
You must be signed in to change notification settings - Fork 272
Conversation
Adding --llvm-lto 1 saves additional 1 MB and seems to work, but emscripten says it has known issues so I left it out. |
Increased vim.js compiled size from 25MB to 44MB. It is disabled by default. Uses builtin emscripten UTF8 functions.
…d) on Chrome. Also tested on Firefox and IE.
…n: configure, make and link. This reduces vim.js from 44MB to 37MB (with multibyte).
var MAX_UTF8_BYTES = 6; | ||
var chars = new Uint8Array(MAX_UTF8_BYTES + 1); // null-terminated | ||
var charLen = stringToUTF8Array(String.fromCharCode(charCode), chars, 0, MAX_UTF8_BYTES); | ||
if (charLen == 1) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this if clause useful?
CPP="gcc -E" \ | ||
CPPFLAGS="$OPTZ -DFEAT_GUI_WEB" \ | ||
CFLAGS="$OPTZ" \ | ||
CPP="emcc -E" \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I remember that emcc -E
does not work well. Did you try this on a fresh clone of vim.js
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. I think it worked. But for emterpreter I had to use emscripten 1.29 for the configure step and the latest version for make and link.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In that case, I think it's better to use gcc
here.
Closing this since #45 now includes it. |
Consistently use -Oz -O3 optimization across all stages of compilation: configure, make and link. This reduces vim.js from 44MB to 37MB (with multibyte).
This patch applies after the other 2.