diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-12-18 07:59:06 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-12-18 07:59:06 -0800 |
commit | 56b65a54cb92d2d4a34535f71dbae08d758d3fc3 (patch) | |
tree | 0220d27388eab38587a8fd12140552e0ce513435 /src/library.js | |
parent | e77d99dac0b1ba58c773b4b8c7d8a223ad008624 (diff) | |
parent | 47bc8ba2c47c67d8824c2b7bf35195a079cbed7c (diff) |
Merge branch 'incoming'
Diffstat (limited to 'src/library.js')
-rw-r--r-- | src/library.js | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/library.js b/src/library.js index 2a4a5e7d..1747155f 100644 --- a/src/library.js +++ b/src/library.js @@ -2111,15 +2111,12 @@ LibraryManager.library = { // TODO: We could in theory slice off the top of the HEAP when // sbrk gets a negative increment in |bytes|... var self = _sbrk; - if (!self.STATICTOP) { - STATICTOP = alignMemoryPage(STATICTOP); - self.STATICTOP = STATICTOP; - self.DATASIZE = 0; - } else { - assert(self.STATICTOP == STATICTOP, "No one should touch the heap!"); + if (!self.called) { + STATICTOP = alignMemoryPage(STATICTOP); // make sure we start out aligned + self.called = true; } - var ret = STATICTOP + self.DATASIZE; - self.DATASIZE += alignMemoryPage(bytes); + var ret = STATICTOP; + if (bytes != 0) Runtime.staticAlloc(bytes); return ret; // Previous break location. }, open64: 'open', @@ -4323,6 +4320,16 @@ LibraryManager.library = { _fputs(str, _stdout); // XXX stderr etc. }, + _ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEi__deps: ['fputs', '$libcxx'], + _ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEi: function(stream, num) { + _fputs(allocate(intArrayFromString(num.toString()), 'i8', ALLOC_STACK), _stdout); + }, + + _ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEPFRS3_S4_E__deps: ['fputc', '$libcxx'], + _ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEPFRS3_S4_E: function(stream, x) { + _fputc('\n'.charCodeAt(0), _stdout); + }, + // glibc _ZNSt8ios_base4InitC1Ev: function() { |