diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-01-30 14:07:01 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-01-30 14:07:01 -0800 |
commit | 602d114eaab01aef167159aedba7d5bbfc634eef (patch) | |
tree | 7bfe6bace430590616ee3ef7bdfdcfa8686b3e87 | |
parent | c14cab62df1353f966d4f201d9d0a1c51de784e1 (diff) |
asmify rand_r
-rw-r--r-- | src/library.js | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/library.js b/src/library.js index b4da994e..20cb64f4 100644 --- a/src/library.js +++ b/src/library.js @@ -3452,12 +3452,15 @@ LibraryManager.library = { srand: function(seed) { {{{ makeSetValue('___rand_seed', 0, 'seed', 'i32') }}} }, + rand_r__sig: 'ii', + rand_r__asm: true, rand_r__deps: ['__rand_seed'], - rand_r: function(seedp) { - var val = {{{ makeGetValue('seedp', 0, 'i32') }}}; - val = (Math.imul(val, 31010991) + 0x676e6177)|0; - {{{ makeSetValue('seedp', 0, 'val', 'i32') }}}; - return val; + rand_r: function(seedp) { + seedp = seedp|0; + var val = 0; + val = (Math_imul({{{ makeGetValueAsm('seedp', 0, 'i32') }}}, 31010991)|0) + 0x676e6177 | 0; + {{{ makeSetValueAsm('seedp', 0, 'val', 'i32') }}}; + return val|0; }, rand__deps: ['rand_r'], rand: function() { |