A worthy commit for r50000.
You've been waiting for this revision, haven't you .... haha.
Ged
-----Original Message-----
From: ros-diffs-bounces(a)reactos.org [mailto:ros-diffs-bounces@reactos.org] On Behalf Of fireball(a)svn.reactos.org
Sent: 10 December 2010 09:33
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [fireball] 50000: [HEAP] - Time has come to get rid of a slightly modified implementation of WINE's heap, which is a hack based on Windows 95's heap implementation, itself a hack of DOS memory mana...
Author: fireball
Date: Fri Dec 10 09:33:20 2010
New Revision: 50000
URL: http://svn.reactos.org/svn/reactos?rev=50000&view=rev
Log:
[HEAP]
- Time has come to get rid of a slightly modified implementation of WINE's heap, which is a hack based on Windows 95's heap implementation, itself a hack of DOS memory management. It supported 3 out of the 18 possible NT Heap Flags, did not support custom allocation/deallocation routines, and was about 50-80x slower with fragmentation rates up to 500x higher when compared to NT's LFH (WINE is lucky because the advanced NT Heap features are used in kernel-mode usually, not in user-mode, and they are crossing their fingers for this being the same). Several high-end SQL/Database applications would significantly benefit from custom heap features provided by NT. Not to say about removing crappy support for a custom Commit routine and crappy support for User-defined flags and the User-defined value.
- So, the glorious moment for a new heap manager, which is (to remind you) a totally new heap manager, resembling real NT heap manager, based on data structures similar to Windows 2003 and Vista+'s heap structures, supporting advanced heap flags (e.g. useful for debugging), having substantially lower fragmentation rates (and thus speed and reliability), having native support for user-defined flags and user-defined values, also native support for a custom commit routine, which is very important for trunk's win32 subsystem. It also reserves, commits, decommits and frees memory on the fly, unlike existing heap manager which prefers to reserve and commit as much as possible, and doesn't decommit when it's no longer necessary. Not to say about support for per process heaps, with a proper lock, and a further support for a special so-called debug heap allocator (to be implemented in heapdbg.c) which will be useful for finding heap corruptions.
Yeah, I'm not a fun person :D
Added:
trunk/reactos/lib/rtl/heap.c
- copied unchanged from r49999, trunk/reactos/lib/rtl/heap_rewrite.c
Removed:
trunk/reactos/lib/rtl/heap_rewrite.c
[This mail would be too long, it was shortened to contain the URLs only.]
Removed: trunk/reactos/lib/rtl/heap_rewrite.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/heap_rewrite.c?rev…
greatlrd(a)svn.reactos.org wrote:
> Sent: 03 December 2010 09:20
> To: ros-diffs(a)reactos.org
> Subject: [ros-diffs] [greatlrd] 49912: all code are in
> ReactOS trunk for ReactX delete the old branch and prepare
> create new one Most of the code will be focus on dxg.sys and
> few part of gdi32.dll in the new branch of ...
Hells bells, it's gratelood!
Good to see you back mate.
Ged.
Hi,
anyone (ie Colin or Christoph?) knows what's wrong with testbot? Since r49761 it can't reach 2nd stage & more. This revision has been reverted in r49767 but testbot keeps being broken. Any clue?
Regards,
P. Schweitzer
>
> I am new to reactos and i want to study it in detail. For that I wish to
> construct it manually. So can u tell me the important files needed to boot
> the reactos.
Thanking you.
Hello,
Why everyone else had been complaining on how we should revert changes that expose compiler bugs, I, on the other hand, have not even been able to build ReactOS anymore starting with recent revisions (probably related to C++ changes).
Anyone want to fix this, please?
[PCH] obj-i386/base/shell/explorer/.gch_explorer/precomp.h.gch
In file included from /usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/localefwd.h:42,
from /usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/string:45,
from base/shell/explorer/utility/utility.h:58,
from base/shell/explorer/precomp.h:33:
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/mingw32/bits/c++locale.h: In function 'int std::__convert_from_v(int* const&, char*, int, const char*, ...)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/mingw32/bits/c++locale.h:74: error: expected primary-expression before ',' token
In file included from /usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/string:46,
from base/shell/explorer/utility/utility.h:58,
from base/shell/explorer/precomp.h:33:
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h: In function 'void std::__ostream_write(std::basic_ostream<_CharT, _Traits>&, const _CharT*, std::streamsize)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:48: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:50: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h: In function 'void std::__ostream_fill(std::basic_ostream<_CharT, _Traits>&, std::streamsize)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:60: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:63: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:66: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h: In function 'std::basic_ostream<_CharT, _Traits>& std::__ostream_insert(std::basic_ostream<_CharT, _Traits>&, const _CharT*, std::streamsize)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:85: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:88: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:92: error: expected primary-expression before ',' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:93: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:94: error: expected primary-expression before ',' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:95: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:96: error: expected primary-expression before ',' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:99: error: expected primary-expression before ',' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:100: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:104: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream_insert.h:108: error: expected primary-expression before '.' token
In file included from /usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/iostream:40,
from base/shell/explorer/utility/utility.h:59,
from base/shell/explorer/precomp.h:33:
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream: In function 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:447: error: expected primary-expression before ',' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream: In function 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:452: error: expected primary-expression before '<<' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:452: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream: In function 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:458: error: expected primary-expression before ',' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream: In function 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:464: error: expected primary-expression before '<<' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream: In function 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:469: error: expected primary-expression before '<<' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream: In function 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:491: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:493: error: expected primary-expression before ',' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream: In function 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:508: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:510: error: expected primary-expression before ',' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream: In function 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:519: error: expected primary-expression before '<<' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream: In function 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:524: error: expected primary-expression before '<<' token
In file included from /usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:565,
from /usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/iostream:40,
from base/shell/explorer/utility/utility.h:59,
from base/shell/explorer/precomp.h:33:
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream.tcc: In function 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)':
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream.tcc:324: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream.tcc:342: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream.tcc:343: error: expected primary-expression before ',' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream.tcc:347: error: expected primary-expression before '.' token
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/bits/ostream.tcc:351: error: expected primary-expression before '.' token
In file included from /usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/iostream:40,
from base/shell/explorer/utility/utility.h:59,
from base/shell/explorer/precomp.h:33:
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream: In function 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with _Traits = std::char_traits<char>]':
base/shell/explorer/utility/xmlstorage.h:2923: instantiated from here
/usr/local/RosBE/i386/lib/gcc/mingw32/4.4.2/include/c++/ostream:512: error: return-statement with no value, in function returning 'std::basic_ostream<char, std::char_traits<char> >&'
make: *** [obj-i386/base/shell/explorer/.gch_explorer/precomp.h.gch] Error 1
-r
Hi,
most of the justifications for r49691 have been included in the commit message. But here are needed addings.
Olaf made buildbot rebuild r49662 and retest it. Testbot manages to pass 3rd stage and to run tests. Then, Olaf retried with r49665, and it failed the same way it was failing earlier.
So, we are reverting to "last good known state", aka r49662. Only two issues have been seen there:
- one with MM: (ARM³::PAGFAULT:751) PAGE TABLES FAULTED IN!
You can find full log here: http://download.myreactos.com/Amine/49662%20testbot%20ouptput-stdio.7z (thanks to Sylvain)
- One with NPFS. Aleksey and Eric are already working on it. You can easily find it on testbot output.
Other issues may also be found as many commits were done while testbot was down.
Please don't start a drama on that revision. Whatever you may think about it, we cannot stay with a broken testbot forever and people keeping on committing. Taking a decision trying to sort out a mess is being professional.
All the help everyone will be able to give will be appreciated!
Thanks.
P. Schweitzer
PS: For ReactOS testbot raw results, don't forget: http://build.reactos.org:8010/
You'll find the tests ran today.
Hi,
finally this commit won't be reverted (unless someone explicitly asks for it) as it brings testman back and shows quite important bugs.
Feel free to find a nice bugfix instead.
WBR,
P. Schweitzer
Hiya
It looks like buildbot has crashed or been shut down. I restarted the master
but have no access to slaves. It will at least gather the build requests,
but the missing ones since last 6 hours need to be forced manually.
Christoph, could you take a look at the slaves??
Regards