diff options
author | Jeff Terrace <jterrace@gmail.com> | 2012-01-18 14:47:39 -0500 |
---|---|---|
committer | Jeff Terrace <jterrace@gmail.com> | 2012-01-18 14:47:39 -0500 |
commit | 34ea7ac199692ffca345f588399c1d91a52e6f87 (patch) | |
tree | a7f90ec06fe3a6996154bf392472a8df5348d5b3 | |
parent | 4d8629effd9b9ca4e4b59f4b0c24ee678cb36919 (diff) |
Add small optimization for allocate when zeroing the array
-rw-r--r-- | src/preamble.js | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/preamble.js b/src/preamble.js index 0b9288c4..5c5c21ea 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -462,9 +462,14 @@ function allocate(slab, types, allocator) { var ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + if (zeroinit) { + _memset(ret, 0, size); + return ret; + } + var i = 0, type; while (i < size) { - var curr = zeroinit ? 0 : slab[i]; + var curr = slab[i]; if (typeof curr === 'function') { curr = Runtime.getFunctionIndex(curr); |