aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-01-30 14:07:01 -0800
committerAlon Zakai <alonzakai@gmail.com>2014-01-30 14:07:01 -0800
commit602d114eaab01aef167159aedba7d5bbfc634eef (patch)
tree7bfe6bace430590616ee3ef7bdfdcfa8686b3e87
parentc14cab62df1353f966d4f201d9d0a1c51de784e1 (diff)
asmify rand_r
-rw-r--r--src/library.js13
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() {