diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-03-12 19:01:48 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-03-12 19:01:48 -0700 |
commit | 7e2e2380a751d6671183016180cc25147736c1fd (patch) | |
tree | e5c5f7f08da2bcbc59b389b25d3e698931aa394e /src | |
parent | eb92e14f7649656e4ec50c7450bd1aa3740256da (diff) |
asmify strncpy
Diffstat (limited to 'src')
-rw-r--r-- | src/library.js | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/library.js b/src/library.js index 185b1187..62ef6db2 100644 --- a/src/library.js +++ b/src/library.js @@ -4350,14 +4350,18 @@ LibraryManager.library = { return pdest + i - 1; }, + strncpy__asm: 'true', + strncpy__sig: 'iiii', strncpy: function(pdest, psrc, num) { - var padding = false, curr; - for (var i = 0; i < num; i++) { - curr = padding ? 0 : {{{ makeGetValue('psrc', 'i', 'i8') }}}; + pdest = pdest|0; psrc = psrc|0; num = num|0; + var padding = 0, curr = 0, i = 0; + while ((i|0) < (num|0)) { + curr = padding ? 0 : {{{ makeGetValueAsm('psrc', 'i', 'i8') }}}; {{{ makeSetValue('pdest', 'i', 'curr', 'i8') }}} - padding = padding || {{{ makeGetValue('psrc', 'i', 'i8') }}} == 0; + padding = padding | ({{{ makeGetValueAsm('psrc', 'i', 'i8') }}} == 0); + i = (i+1)|0; } - return pdest; + return pdest|0; }, strlwr__deps:['tolower'], |