diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-01-18 15:21:52 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-01-18 15:21:52 -0800 |
commit | a14d24ce9c880bf0b6e46d8fbb7b1e4dbb9a308e (patch) | |
tree | b594cced802b445b9176c249b0a1873b08919812 /src | |
parent | e36ed341d217b86cdee5c483ce65e9a1208e794c (diff) | |
parent | 233113e07d42ed104eca9fc134e1e9894bc78305 (diff) |
Merge branch 'master' into libcxx
Diffstat (limited to 'src')
-rw-r--r-- | src/library.js | 5 | ||||
-rw-r--r-- | src/preamble.js | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/library.js b/src/library.js index 35466c10..5a429131 100644 --- a/src/library.js +++ b/src/library.js @@ -3184,7 +3184,9 @@ LibraryManager.library = { * mmap. */ if (stream == -1) { - return allocate(num, 'i8', ALLOC_NORMAL); + var ptr = _malloc(num); + _memset(ptr, 0, num); + return ptr; } var info = FS.streams[stream]; if (!info) return -1; @@ -3195,6 +3197,7 @@ LibraryManager.library = { munmap: function(start, num) { _free(start); + return 0; }, // TODO: Implement mremap. 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); |