Skip to content

Commit 6c634b1

Browse files
committed
Micro-optimize access to emscripten_memcpy_big: moving return statement to wasm side saves 6 bytes (reduces JS code by 9 bytes, increases wasm code by only 3 bytes)
1 parent 951464d commit 6c634b1

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

emscripten-version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
"1.38.24"
1+
"1.38.25"

src/library.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -925,7 +925,6 @@ LibraryManager.library = {
925925

926926
emscripten_memcpy_big: function(dest, src, num) {
927927
HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
928-
return dest;
929928
},
930929

931930
memcpy__asm: true,
@@ -945,7 +944,8 @@ LibraryManager.library = {
945944
8192
946945
#endif
947946
) {
948-
return _emscripten_memcpy_big(dest|0, src|0, num|0)|0;
947+
_emscripten_memcpy_big(dest|0, src|0, num|0)|0;
948+
return dest|0;
949949
}
950950

951951
ret = dest|0;

system/lib/libc/emscripten_memcpy.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ void *memcpy(void *restrict dest, const void *restrict src, size_t n)
1919
unsigned char *d_end;
2020

2121
if (n >= 8192) {
22-
return emscripten_memcpy_big(dest, src, n);
22+
emscripten_memcpy_big(dest, src, n);
23+
return dest;
2324
}
2425

2526
d_end = d + n;

0 commit comments

Comments
 (0)